Selasa, 18 Oktober 2016

Opening Urban Place Cafe and Resto

Hai hai hai semuaaaa..!! 
Gue balik lagi nih, gue mau sedikit curhat tapi bukan tentang diri gue sendiri siiih. Gue mau cerita tentang Soft Opening sebuah cafe and resto baru yang terletak di Kelapa Gading, namanya Urban Place Cafe and Resto.

Nah! Cafe ini cocok banget buat anak muda jaman sekarang yang suka banget nongkrong ditempat yang asik, nyaman dan yang pasti harga makanan minumannya terjangkau lah yaaa. Jadi Urban Place Cafe and Resto ini merupakan Kafe Semi Lounge gitu, cukup mudah dijangkau karena terletak dalam komplek Gading Bukit Indah blok N nomor 26-27. Patokannya itu belakang Mal Artha Gading, dan persis di belakang My Place Spa.

Bangunannya terdiri dari beberapa lantai. Yang gue tau sih lantai dasar itu Reseptionist, lantai duanya baru Cafe, lantai seterusnya gue gak tau karena malu mau muter muter cuma buat liat liat hahaha.
Yang gue tau di are itu nanti bakal dijadiin hotel dengan sekitar 41 kamar/Room. Saat gue kesana suasananya nyaman dan cozy lah yaa. Pelayanannya juga bagus dan staffnya ramah-ramah.


Kemudian melihat ke sudut bangunan yang coba di perlihatkan dari Urban Place bergaya sedikit retro modern, minibar yang lumayang apik dan ditambah beberapa ruangan yang bisa kita pilih sesuai selera. Kalo kalian ingin suasana yang lebih privat tersedia resto kecil, selain itu juga ada ruangan meeting dan karaoke. Recommended kaaaan?!!

Untuk harga tenaaaang! Selain harganya terjangkau, saat ini masih ada diskon-diskon dan promo yang cocok banget buat isi dompet. Ayoo buruan kesana!!  Btw, saran aja sih yaa, kalo bisa kesananya jangan disaat jam sibuk untuk menikmati suasana cafe yang cozy hehehe.

Untuk foto-fotonya kalian bisa liat di instagram milik @lyalaye karena gue gak sempet foto :D

Kamis, 15 September 2016

Tugas Akhir Pengontrol Lampu melalui Web Server (Curhat)

Pada postingan kali ini, gue mau berbagi cerita tentang tugas akhir gue yang sifatnya baru buat gue tp demi "S.Kom" apa pun gue lakuin.
Curhat dikit bisa kali yaa?? bisa laaah.. orang ini blog gue, kalo ga suka yo gak usah dibaca.. Gitu aja kok repot...
Jadi gini, awalnya itu gue mau bikin skripsi yang nyambung sama judul PKL gue yaitu tentang aplikasi Inventory. Tapiiii setelah difikir-fikir nih yaa pasti ditolak sama penguji karena aplikasi inventory itu yaa you know lah yaa berserakan digoogle buat didownload walaupun gak gratis semuanya sih.
Pusing lah gue mikirin mau buat tema apa.
Saat imlekan Januari kemarin, kan kumpul keluarga tuh di salah satu mall di dekat Tomang, karena rumah ortu bokap di Tomang dan kebetulan ada ii(tante) yang baru dari sana nengokin Aqiu(paman) gue, jadilah kita janjian di mall itu.
Pas lagi nunggu i yuyun (adik bokap yang terakhir) dateng, gue nimbrung ke obrolan bokap sama koko handi(kaka sepupu). Kebetulan mereka lagi ngomongin masalah controlling jarak jauh gitu. Nah... saat itulah ide gue untuk pake Arduino sebagai tema tugas akhir gue tercipta.
Bokap pernah ngomong ke gue, dia punya teman OrKay punya perusahaan menara seluler gitu. Pas bokap lagi diajak jalan-jalan kerumah singgahnya yang di pinggiran jakarta, si Om OrKay ini suka ngontrol genset dikantornya pake Tablet. Awalnya gue gak terlalu tertarik karena fikir gue pasti puyeng kalo project tugas akhirnya tentang itu.
Dan entah kenapa saat bokap lagi ngobrol sama si Koko Handi, otak gue langsung rajin mikir dan sesampainya dirumah langsung lah gue searching tentang microcontroller. Setelah puyeng2 searching dan mikir alat apa yang mau digunakan dengan budget yang pas-pasan, dapatlah itu alat bernama Arduino Uno.
Bener aja, pas gue sidang proposal ada dosen yang nyaranin pake Arduino, dan karena gue masih awam banget sama yang namanya Microcontroller, akhirnya dospem(dosen pembimbing) ngenalin gue ke mahasiswa yang emang makanan sehari harinya Arduino. Alhamdulillah kebantu banget walaupun sempet cekcok sana sini, ambek ambekan gak karuan, begadang gak kelar kelar, adanya masalah perasaan personal dalam project team yang bikin gue "eugh!" banget, gonta ganti judul tiap seminar tugas akhir, IC Arduinonya konslet 2 hari sebelum sidang, aplikasi Android yang error terus dan berbagai macam hal yang bikin gue rasanya mau ngelempar itu alat-alat ke air! tapi akhirnya terselesaikan juga dengan nilai tugas akhir yang lumayan lah memuaskan.
So.. Judul skripsi gue adalah "Pengembangan Sistem Pengontrol Lampu Berbasis Arduino Menggunakan Android dan Modem ADSL".
Thanks to Dad and my family member, Ka Adam (My Partner in Crime), BangJi (My Suuperrr Instuctor) and My K-Pop Bias BTS and Monsta X!! I love you!!
soooo, this is my jurnal = Jurnal.docx
Jangan lupa untuk tinggalkan jejak guys&gils!

Sabtu, 04 April 2015

Aspek Tinjauan Pelanggaran IT dari Aspek Informasi

Isu Isu Dalam Kode Etik Profesi IT
Isu-isu Pokok dalam Etika Teknologi Informasi :
1. Cyber Crime
Merupakan kejahatan yang dilakukan seseorang atau kelompok orang dengan menggunakan komputer sebagai basis teknologinya.
a) Hacker : seseorang yang mengakses komputer / jaringan secara ilegal
b) Cracker : seseorang yang mengakses komputer / jaringan secara ilegal dan memiliki niat buruk
c) Script Kiddie : serupa dengan cracker tetapi tidak memilki keahlian teknis
d) CyberTerrorist : seseorang yang menggunakan jaringan / internet untuk merusak dan menghancurkan komputer / jaringan tersebut untuk alasan politis.
Contoh pekerjaan yang biasa dihasilkan dari para cyber crime ini adalah berkenaan dengan keamanan, yaitu :
1. Malware
Virus : program yang bertujuan untuk mengubah cara bekerja komputer tanpa seizin pengguna
Worm : program-program yang menggandakan dirinya secara berulang-ulang di komputer sehingga menghabiskan sumber daya
Trojan : program / sesuatu yang menyerupai program yang bersembunyi di dalam program komputer kita.

2. Denial Of Service Attack
Merupakan serangan yang bertujuan untuk akses komputer pada layanan web atau email. Pelaku akan mengirimkan data yang tak bermanfaat secara berulang-ulang sehingga jaringan akan memblok pengunjung lainnya.
a) BackDoor : program yang memungkinkan pengguna tak terotorisasi bisa masuk ke komputer tertentu.
b) Spoofing : teknik untuk memalsukan alamat IP komputer sehingga dipercaya oleh jaringan.

3. Penggunaan Tak Terotorisasi
Merupakan penggunaan komputer atau data-data di dalamnya untuk aktivitas illegal atau tanpa persetujuan
4. Phishing / pharming
Merupakan trik yang dilakukan pelaku kejahatan untuk mendapatkan informasi rahasia. Jika phishing menggunakan email, maka pharming langsung menuju ke web tertentu.
5. Spam
Email yang tidak diinginkan yang dikirim ke banyak penerima sekaligus.
6. Spyware
Program yang terpasang untuk mengirimkan informasi pengguna ke pihak lain.

2. Cyber Ethic
Dampak dari semakin berkembangnya internet, yang didalamnya pasti terdapat interaksi antar penggunanya yang bertambah banyak kian hari, maka dibutuhkan adanya etika dalam penggunaan internet tersebut.

3. Pelanggaran Hak Cipta
Merupakan masalah tentang pengakuan hak cipta dan kekayaan intelektual, dengan kasus seperti pembajakan, cracking, illegal software. Berdasarkan laporan Bussiness Software Alliance (BSA) dan International Data Corporation (IDC) dalam Annual Global Software Piracy 2007, dikatakan Indonesia menempati posisi 12 sebagai negara terbesar dengan tingkat pembajakan software.
4. Tanggung Jawab Profesi TI
Sebagai tanggung jawab moral, perlu diciptakan ruang bagi komunitas yang akan saling menghormati di dalamnya, Misalnya IPKIN (Ikatan Profesi Komputer & Informatika) semenjak tahun 1974.

Perlunya Kode Etik
Kode etik yang mengikat semua anggota profesi perlu ditetapkan bersama. Tanpa kode etik, maka setia individu dalam satu komunitas akan memiliki tingkah laku yang berdeda beda yang nilai baik menurut anggapanya dalam berinteraksi dengan masyarakat lainnya. Tidak dapat dibayangkan betapa kacaunya apabila setiap orang dibiarkan dengan bebas menentukan mana yang baik mana yang buruk menurut kepentinganya masing masing, atau menipu dan berbohong dianggap perbuatan baik, atau setiap orang diberikan kebebasan untuk berkendaraan di sebelah kiri dan kanan sesuai keinginanya. Oleh karena itu nilai etika atau kode etik diperlukan oleh masyarakat, organisasi, bahkan negara agar semua berjalan dengan tertib, lancar dan teratur.

Dilema Etika
Dalam hidup bermasyarakat perilaku etis sangat penting, karena interaksi antar dan di dalam masyarakat itu sendiri sangat dipengaruhi oleh nilai-nilai etika. Pada dasarnya dapat dikatakan bahwa kesadaran semua anggota masyarakat untuk berperilaku secara etis dapat membangun suatu ikatan dan keharmonisan bermasyarakat. Namun demikian, kita tidak bisa mengharapkan bahwa semua orang akan berperilaku secara etis. Terdapat dua faktor utama yang mungkin menyebabkan orang berperilaku tidak etis, yakni:
a) Standar etika orang tersebut berbeda dengan masyarakat pada umumnya. Misalnya, seseorang menemukan dompet berisi uang di bandar udara (bandara). Dia mengambil isinya dan membuang dompet tersebut di tempat terbuka. Pada kes empatan berikutnya, pada saat bertemu dengan keluarga dan teman-temannya, yang bersangkutan dengan bangga bercerita bahwa dia telah menemukan dompet dan mengambil isinya.
b) Orang tersebut secara sengaja bertindak tidak etis untuk keuntungan diri sendiri. Misalnya, seperti contoh di atas, seseorang menemukan dompet berisi uang di bandara. Dia mengambil isinya dan membuang dompet tersebut di tempat tersembunyi dan merahas iakan kejadian tersebut.
Dorongan orang untuk berbuat tidak etis mungkin diperkuat oleh rasionalisasi yang dikembangkan sendiri oleh yang bersangkutan berdasarkan pengamatan dan pengetahuannya. Rasionalisasi tersebut mencakup tiga hal sebagai berikut:
a) Setiap orang juga melakukan hal (tidak etis) yang sama. Misalnya, orang mungkin berargumen bahwa tindakan memalsukan perhitungan pajak, menyontek dalam ujian, atau menjual barang yang cacat tanpa memberitahukan kepada pembelinya bukan perbuatan yang tidak etis karena yang bersangkutan berpendapat bahwa orang lain pun melakukan tindakan yang sama.
b) Jika sesuatu perbuatan tidak melanggar hukum berarti perbuatan tersebut tidak melanggar etika. Argumen tersebut didas arkan pada pemikiran bahwa hukum yang sempurna harus sepenuhnya dilandaskan pada etika. Misalnya, seseorang yang menemukan barang hilang tidak wajib mengembalikannya kec uali jika pemiliknya dapat membuktikan bahwa barang yang ditemukannya tersebut benar-benar milik orang yang kehilangan tersebut.
c) Kemungkinan bahwa tindakan tidak etisnya akan diketahui orang lain serta sanksi yang harus ditanggung jika perbuatan tidak etis tersebut diketahui orang lain tidak signifikan. Misalnya penjual yang secara tidak sengaja terlalu besar menulis harga barang mungkin tidak akan dengan kesadaran mengoreksinya jika jumlah tersebut sudah dibayar oleh pembelinya. Dia mungkin akan memutus kan untuk lebih baik menunggu pembeli protes untuk mengoreksinya, sedangkan jika pembeli tidak menyadari dan tidak protes maka penjual tidak perlu memberitahu.

Jumat, 16 Januari 2015

Langkah untuk membuat Aplikasi Java ME Sound and Image


Langkah-langkah untuk memulai membuat aplikasi Java berbasis ME dalam NetBeans IDE 7.1.2 :
 
Setelah Finish, maka akan muncul tampilan seperti ini jika anda pilih Tab “Source”
Kemudian, ketikan atau jika memang malas mengetik langsung saja Copy Paste Source Code pada Tab Source tersebut.

Gambar dibawah ini merupakan contoh project yang telah dibuat, didalam project terdapat 2 aplikasi yang telah dibuat.


Gambar dibawah ini merupakan contoh aplikasi yang telah dirunning


Gambar dibawah ini merupakan contoh Caption yang telah di isikan.
 

import java.io.IOException;
import java.util.Date;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;

public class UTSJavaME extends MIDlet implements CommandListener{

        private Form form;
        private Command nextCmd, exitCmd, saveCmd;
        private Display display;
        private DateField dateField;
        private TextField txtField;
        private int photoIndex;
        private ImageItem imageItem;
    private Image png;

        public UTSJavaME(){
            display = Display.getDisplay(this);
            form = new Form("Photo Viewer");
            nextCmd = new Command("Next", Command.SCREEN,1);
            exitCmd = new Command("Exit", Command.EXIT, 3);
            saveCmd = new Command("Save", Command.SCREEN,1);
            txtField = new TextField("Caption :","",32, TextField.ANY);
            dateField = new DateField("Date", DateField.DATE);
            dateField.setDate(new Date());photoIndex = 0;
            imageItem = new ImageItem(null, getImage(),
            ImageItem.LAYOUT_CENTER,"Photo Viewer");
            form.append(imageItem);form.append(txtField);
            form.append(dateField);
            form.addCommand(nextCmd);
            form.addCommand(saveCmd);
            form.addCommand(exitCmd);
            form.setCommandListener(this);
            display.setCurrent(form);
    }
    private Image getImage(){
        photoIndex++;
        String photoname = "/photo"+photoIndex+".png";
        try {
        png = Image.createImage("/pooh.png");
        }
        catch(IOException ioe){}
        return null;
    }
    private void nextImage(){imageItem.setImage(getImage());}
   
    public void commandAction(Command cmd,Displayable d){
        if(cmd==exitCmd)notifyDestroyed();
        else if(cmd==nextCmd){nextImage();}
        else{/*Save Image attributes */}
        }
public void startApp(){}
public void pauseApp(){}
public void destroyApp(boolean d){}
}



Sound :

import javax.microedition.lcdui.*;
import javax.microedition.media.Manager;
import javax.microedition.media.Player;
import javax.microedition.midlet.MIDlet;

public class AudioPlayer extends MIDlet implements CommandListener {
   private Player midiPlayer = null;
   private Command cmdplay, cmdstop, cmdback;
   private Display tampilkan;
   
    private Command  exitCommand = new Command("Exit", Command.EXIT, 1);
    private Command  playCommand = new Command("Play", Command.ITEM, 1);
    private Display  display;
    private Form AudioPlayer;
    private Command d;

    public void AudioPlayer() {
        AudioPlayer = new Form( "Audio Player" );
        play(); //memanggil metod dari class putar
       
        AudioPlayer.addCommand(cmdstop); //menambahkan tombol perintah berhenti pada form Suara
        AudioPlayer.addCommand(cmdback); //menambahkan tombol perintah kembali pada form Suara
       
        AudioPlayer.setCommandListener(this); //menampilkan semua komponen perintah tombol yang di munculkan ke dalam form Suara
        tampilkan.setCurrent(AudioPlayer); //menampilkan form Suara
    }

    private void play() {
        try {
            //mendapatkan file suara dari direktori
            midiPlayer = Manager.createPlayer(getClass().getResourceAsStream("/song4.wav"), "audio/midi");
            midiPlayer.start(); //file suara di putar
            midiPlayer.realize();
           
            AudioPlayer.addCommand(cmdstop); //menambahkan tombol perintah berhenti pada form Suara
            AudioPlayer.removeCommand(cmdplay); //menghilangkan tombol perintah putar pada form Suara
            }   catch (Exception e) {
        }
    }
   
    public void stop(){ //membuat class baru berhenti
       
        //memberhentikan file suara yang sedang di putar
        if(midiPlayer != null){
            midiPlayer.close();
            midiPlayer = null;
           
            AudioPlayer.addCommand(cmdplay); //menambahkan tombol perintah putar pada form Suara
            AudioPlayer.removeCommand(cmdstop); //menghilangkan tombol perintah berhenti pada form Suara
        }
    }

    public void startApp() {
                display  = Display.getDisplay(this);
                display.setCurrent(AudioPlayer);
    }


    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
    }
   
    public void commandAction(Command c) {
        if (d == exitCommand) {
            destroyApp(true);
            notifyDestroyed();
       } else if(c == cmdback){ //membuat fungsi tombol perintah kembali
            }
        else if(c == cmdstop){ //membuat fungsi tombol perintah berhenti
            stop();
        }
        else if(c == cmdplay){ //membuat fungsi tombol perintah putar
            play();
        }
       }

    public void commandAction(Command c, Displayable d) {
        throw new UnsupportedOperationException("Not supported yet.");
    }
}

Setelah semua Source Code telah dimasukan kedalam Source, jangan lupa untuk di Build. Jika sudah tidak ada masalah lanjutkan dengan mengklik "Run" dan liat hasil yang telah anda buat.

Untuk yang ingin mengunduh Source Code, silahkan klik link dibawah ini.
Download Source Code Image+Sound, Click here!


Thanks! ^_^

Selasa, 01 Juli 2014

Penjelasan Pemrograman Berorientasi Objek beserta Contohnya


Pemrograman berorientasi objek (Inggris: object-oriented programmingdisingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelasatau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya,
Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat

Konsep dasar
  • Kelas : kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.
  • Objek : membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.
  • Abstraksi : Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
  • Enkapsulasi : Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi izin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.
  • Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsionalyang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.
  • Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.
Bahasa Pemrograman
Bahasa pemrograman yang mendukung OOP antara lain:
  1. Visual Foxpro
  2. Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Bahasa ini awalnya dibuat oleh James Gosling saat masih bergabung di Sun Microsystems saat ini merupakan bagian dari Oracle dan dirilis tahun 1995. Bahasa ini banyak mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan sintaksis model objek yang lebih sederhana serta dukungan rutin-rutin aras bawah yang minimal. Aplikasi-aplikasi berbasis java umumnya dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM). Java merupakan bahasa pemrograman yang bersifat umum/non-spesifik (general purpose), dan secara khusus didisain untuk memanfaatkan dependensi implementasi seminimal mungkin. Karena fungsionalitasnya yang memungkinkan aplikasi java mampu berjalan di beberapa platform sistem operasi yang berbeda, java dikenal pula dengan slogannya, "Tulis sekali, jalankan di mana pun". Saat ini java merupakan bahasa pemrograman yang paling populer digunakan, dan secara luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak aplikasi ataupun aplikasi berbasis web.
  3. C++ adalah bahasa pemrograman komputer yang di buat oleh (Bjarne Stroustrup) merupakan perkembangan dari bahasa C dikembangkan di Bell Labs (Dennis Ritchie) pada awal tahun 1970-an, Bahasa itu diturunkan dari bahasa sebelumnya, yaitu BCL, Pada awalnya, bahasa tersebut dirancang sebagai bahasa pemrograman yang dijalankan pada sistem Unix, Pada perkembangannya, versi ANSI (American National Standart Institute) Bahasa pemrograman C menjadi versi dominan, Meskipun versi tersebut sekarang jarang dipakai dalam pengembangan sistem dan jaringan maupun untuk sistem embedded, Bjarne Stroustrup pada Bel labs pertama kali mengembangkan C++ pada awal 1980-an, Untuk mendukung fitur-fitur pada C++, dibangun efisiensi dan sistem support untuk pemrograman tingkat rendah (low level coding). Pada C++ ditambahkan konsep-konsep baru seperti class dengan sifat-sifatnya seperti inheritance dan overloading. Salah satu perbedaan yang paling mendasar dengan bahasa C adalah dukungan terhadap konsep pemrograman berorientasi objek (Object Oriented Programming). Perbedaan Antara Bahasa pemrograman C dan C++ meskipun bahasa-bahasa tersebut menggunakan sintaks yang sama tetapi mereka memiliki perbedaan, C merupakan bahasa pemrograman prosedural, dimana penyelesaian suatu masalah dilakukan dengan membagi-bagi masalah tersebut kedalam su-submasalah yang lebih kecil, Selain itu, C++ merupakan bahasa pemrograman yang memiliki sifat Pemrograman berorientasi objek, Untuk menyelesaikan masalah, C++ melakukan langkah pertama dengan menjelaskan class-class yang merupakan anak class yang dibuat sebelumnya sebagai abstraksi dari object-object fisik, Class tersebut berisi keadaan object, anggota-anggotanya dan kemampuan dari objectnya, Setelah beberapa Class dibuat kemudian masalah dipecahkan dengan Class.
  4. Pascal (bahasa pemrograman) adalah bahasa pemrograman yang pertama kali di buat oleh Profesor Niklaus Wirth, seorang anggota International Federation of Information Processing (IFIP) pada tahun 1971. Dengan mengambil nama dari matematikawan Perancis, Blaise Pascal, yang pertama kali menciptakan mesin penghitung, Profesor Niklaus Wirth membuat bahasa Pascal ini sebagai alat bantu untuk mengajarkan konsep pemrograman komputer kepada mahasiswanya. Selain itu, Profesor Niklaus Wirth membuat Pascal juga untuk melengkapi kekurangan-kekurangan bahasa pemrograman yang ada pada saat itu.
  5. SIMULA
  6. Smalltalk adalah bahasa pemrograman berorientasi objek yang dikembangkan oleh Xerox PARC.
  7. Ruby
  8. Python adalah bahasa pemrograman interpretatif multiguna dengan filosofi perancangan yang berfokus pada tingkat keterbacaan kode. Python diklaim sebagai bahasa yang menggabungkan kapabilitas, kemampuan, dengan sintaksis kode yang sangat jelas, dan dilengkapi dengan fungsionalitas pustaka standar yang besar serta komprehensif. Python mendukung multi paradigma pemrograman, utamanya; namun tidak dibatasi; pada pemrograman berorientasi objek, pemrograman imperatif, dan pemrograman fungsional. Salah satu fitur yang tersedia pada python adalah sebagai bahasa pemrograman dinamis yang dilengkapi dengan manajemen memori otomatis. Seperti halnya pada bahasa pemrograman dinamis lainnya, python umumnya digunakan sebagai bahasa skrip meski pada praktiknya penggunaan bahasa ini lebih luas mencakup konteks pemanfaatan yang umumnya tidak dilakukan dengan menggunakan bahasa skrip. Python dapat digunakan untuk berbagai keperluan pengembangan perangkat lunak dan dapat berjalan di berbagai platform sistem operasi.
  9. PHP adalah bahasa skrip yang dapat ditanamkan atau disisipkan ke dalam HTML. PHP banyak dipakai untuk memrogram situs web dinamis. PHP dapat digunakan untuk membangun sebuah CMS.
  10. C#
  11. Delphi adalah sebuah Lingkungan pengembangan terpadu (IDE) untuk mengembangkan aplikasi konsol, desktop, web, ataupun perangkat mobile. Produk ini pada awalnya dikembangkan oleh CodeGear sebagai divisi pengembangan perangkat lunak milik Embarcadero, divisi tersebut sebelumnya adalah milik Borland. Bahasa Delphi, atau dikenal pula sebagai object pascal(pascal dengan ekstensi pemrograman berorientasi objek (PBO/OOP)) pada mulanya ditujukan hanya untuk Microsoft Windows, namun saat ini telah mampu digunakan untuk mengembangkan aplikasi untuk Mac OS X, iOS, Microsoft .NET framework (lihat di bawah). Pada tanggal 8 Februari 2006, Borland mengumumkan akan melepas seluruh jajaran produk pengembangan aplikasi komputernya termasuk di antaranya Delphi, untuk itulah Borland membentuk perusahaan baru dengan nama CodeGear sehingga terpisah dari Borland. Saat ini Delphi menjadi bagian dari jajaran IDE milik Embarcadero Technologies setelah Embarcadero Technologies mengakuisisi CodeGear. Hal ini disebabkan karena kerugian yang terus menerus selama 2006 rugi bersih sebesar $53.1 juta, 2007 rugi bersih $61 juta. Sehingga pada tahun 2008 saat CodeGear menderita rugi bersih $22.3 maka CodeGear dijual ke Embarcadero seharga $23 juta untuk menutupi rugi bersih ini.
  12. Eiffel
  13. Perl adalah bahasa pemrograman untuk segala keperluan, dikembangkan pertama kali oleh Larry Wall di mesin Unix. Perl dirilis pertama kali pada tanggal 18 Desember 1987 ditandai dengan keluarnya Perl 1. Pada versi-versi selanjutnya, Perl tersedia pula untuk berbagai sistem operasi varian Unix (SunOS, Linux, BSD, HP-UX), juga tersedia untuk sistem operasi seperti DOS, Windows, PowerPC, BeOS, VMS, EBCDIC, dan PocketPC. Dukungan terhadap pemrograman berbasis obyek (object oriented programming/OOP) ditambahkan pada Perl 5, yang pertama kali dirilis pada tanggal 31 Juli 1993. Proyek pengembangan Perl 6 dimulai pada tahun 2000, dan masih berlangsung hingga kini tanpa tanggal yang jelas kapan mau dirilis. Ini dikatakan sendiri oleh Larry Wall dalam satu pidatonya yang dikenal dengan seri The State of the Onion. Dua di antara karakteristik utama Perl adalah penanganan teks dan berbagai jalan pintas untuk menyelesaiakn persoalan-persoalan umum. Tidak heran jika Perl sangat populer digunakan dalam program-program CGI (Common Gateway Interface) dan berbagai protokol Internet lainnya. Seperti diketahui, TCP/IP sebagai basis bagi semua protokol Internet yang dikenal sekarang ini menggunakan format teks dalam komunikasi data. Seperti juga bahasa populer lainnya, Perl menerima banyak kritikan. Meski banyak di antaranya hanya berupa mitos, atau berlebih-lebihan, tapi terdapat juga sejumlah kritikan yang valid. Salah satunya adalah, sintaksnya susah dibaca, karena banyak menggunakan simbol-simbol yang bukan huruf dan angka.
  14. Adobe Flash AS 3.0


Contoh definisi class dan objekkasus : class Cat
• Class dan Objek merupakan paradigma dasar dari OOP (Object Oriented Programming)
• Class : suatu frame yang merupakan definisi yang memuat data dan metod pengolah data
• Objek : Bentuk konkrit dari class yang dengannya data dan metod dapat direalisasikan
• Contoh class : Cat
• Contoh data : warna, umur , harga
definisi data : menggunakan sintak : tipe_data nama_var;atau : tipe_data nama_var=nilai_data;
• Contoh metod : bark(), sleep() definisi metod : [public/static] return_value nama_metod(parameter){ … } { isi metod}
Definisi class Cat
class Cat
{ private String nama="Noname";
private int umur = 0;
public Cat(String nnm, int um){nama=nnm;
umur=um;}
public void bark()
{System.out.println("meong...meong...!");}
public void sayHello()
{System.out.println("Hello my name "+nama+ " I am
a "+umur+"years old");
}
}


Membuat instant (objek)
Membuat objek pada dasarnya sama dengan mendefinisikan data dan mengisi nilai datanya.
Contoh :
Mendifinisikan data :
String nama;
Mendefinisikan data sekaligus mengisi data :
String nama=“manis”;
Mendefinisikan objek : (nama objek adalah MyCat, merupakan objek dari class Cat)
Cat MyCat;
Mendefinisikan objek sekalligus menginisialisasi nilai objek.


Memanggil method dari objek
•Berikut ini class yang memuat program utama dan memanggil method bark() danseyHello().
•Rumus memanggil metod adalah :

      nama_class.nama_metod()
public class CatRun
  { public static void main (String[] arg)
{ Cat myCat = new Cat ("Meong",3);
  myCat.bark();
  myCat.sayHello();
  System.out.println("Kenalkan kucingku :");
myCat.sayHello();
}
}
Edit program dengan NotePad dan kompilasi dengan javac.exe, eksekusi dengan java.exe


Selanjutnya
• Setelah selesai edit disimpan dalam file :DogRUn.java
• Saat dikompilasi dengan :
• >javac CatRun.java
 Akan terbentuk dua file class, yiatu :DogRun.class dan Dog.class
 Saat dieksekusi dengan :
• >java CatRun, hasilnya sbb:

2. Modifier public , void, static, private
• Modifier public :
• Pada definisi class, merupakan class yang memuat metod main(), dan nama file disimpan dengan nama class public
• Pada definisi metod, bermakna bahwa metod tersebut dapat diases dari luar class yang bersangkutan
• Pada daefinisi data, bermakna data tersebut dapat diases dari luar class
• Modifier void pada metod: berarti Metod tersebut tidak ada return valuenya
• Modifier static pada metod : berarti metod tersebut dapat dipanggil hanya dari dalam class yang sama
• Modifier private pada data : berarti data hanya dapat diases dari class yang sama
• Modifier protected paad metod : dapat diases dari class turunannya

Construktur
• Construktor adalah jenis metod yang akan otomatis dipanggil jika suatu objekdibuat
• Construktor didefinisikan secara public dan namanya sama dengan nama classnya
• Construktor dapat didefinisikan lebih dari satu definisi

 Contoh : untuk Dog ditambah definisi construktor tanpa parameter, menjadi :public Cat( ) { }public Cat(String
Misalkan dalam class CatRun didefinisikan objek yourDog
Cat yourCat=new Cat();
Maka jika dalam class DogRun dipanggil :
yourCat.sayHello();
Outputnya : (nilai nama dan umur digunakan nilai default)
   Hello my name is Noname I’am a 0 years old

               3. Data primitive dan operator
Data primitive : Data-data dasar java, yang hampir sama dengan C++ Data Integer :
• int              4 byte kisaran nilai :-2.147.486.648 s/d 2.147.486.647
• short          2 byte kisaran nilai :-32.768 s/d 32.767
• long           8 byte kisaran nilai :-9.223.372.036.854.775.808L s/d 9.223.372.036.854.775.807L
• byte           1 byte kisaran nilai :-128 s/d 127

Data floating point :
• float        4 byte kisaran nilai :+3.40282347E+38F (7 digit ignifikan)
• double    8 byte kisaran nilai :+1.79769313486231570E+308 (15 digit signifikan)

karakter dan boolean
• char         1 byte1 karakter
• boolean    bernilai true, false

Operator
Operator aritmatik :
• +, -, * dan / untuk : penambahan, pengurangan, perkalian dan pembagian
• += , yakni : x+=4 ekivalen dengan operasi : x=x+4• -= ; *= dan /= memiliki ekivalensi yang sama dengan -=
• ++ yaitu : n++ ekivalen dengan n=n+1 (increment by one)• --yaitu : n-- ekivalen dengan n=n-1 (decrement by one)
•       % untuk MODULO, yaitu : 5 % 3 sama dengan 2

Operator relational dan logika
• < , > , <= dan >= adalah : lebih kecil, lebih besar, lebih kecil atau sama dan lebih besa atau sama
• == untuk SAMA DENGAN
• != untuk TIDAK SAMA DENGAN
• && untuk operator AND
• || untuk operator OR

Contoh program dengan data dan operator :
class OperasiDATA
public static void main (String args[])
  {int a; float b; double c; String d;
  a=(int)1/3;b=(float)1/3 ; c=(double)1/3 ;
  d="JON SHOLEH";System.out.println("a = "
    +a);
  System.out.println("b = " +b);
  System.out.println("c = "+c);
  System.out.println("d = " +d);
  System.out.println(“jumlah data d = "
        +d.length());
  System.out.println("d.substring(0,3) = "
       +d.substring(0,3));
}
}
Output program :
a =0
b = 0.333333
c = 0.333333
d = JON SHOLEH
d.length() = 10
 d.substring(0,3) =JON

Encaptulation
• Encaptulation: konsep dalam OOP yang bertujuan membungkus (mang-kapsul) data dan metode dalam suatu class sehingga data dan metode yang tersembunyi dalam class tidak dapat diases dari luar class.
• Encaptulation direalisir dengan modifier : private
• Data yang dapat diases dari luar diberi modifier dengan public


Contoh :
class Dataku
{ public int N_umum=0;
private int N_khusus=0;
public void Cetak1(){System.out.println("N_umum="+N_umum);}
public void setN_Khusus(int n){N_khusus=n;}
public void Cetak2()
{System.out.println("N_khusus="+N_khusus);}
}


Ases data public
              Jika dimiliki program utama :                                                     maka hasilnya :
Jika di program utama : dituliskan Dt.N_khusus = 78; maka hasilnya :

Mengases data private
• Jika suatu data dideklarasikan secara private biasanya disediakan mekanisme metode public untuk mengasesnya
• Metode ases public itu umumnya didefinisikan dengan set().Dalam contoh diatas jika nilai N_khusus akan diubah digunakan
setN_khusus(n)
• Contoh :
 Program diubah menjadi :                                                                       hasil program :


4. String sebagai class
• String merupakan nama khusus class java yang masih mempertahankan kompatibilitas dengan tipe data primitif yang lama sebagaimana int, long, float dan lain-lain
• Definisi string dapat digunakan cara luwes, seperti deklarasi data primitif atau seperti deklarasi poembuatan objekl string.
Contoh :Deklarasi seperti data primitive
Contructor dan Beberapa fungsi String

• String memiliki beberapa konstruktor :
String(String s ) : argumen string s
String(byte [ ] b ) : argumen berupa array of byte b
String(char [ ] c ) : argumen berupa array of char
• length() : mengetahui panjang string
• substring(n,m) : mengambil substring dari string sebanyak m mulai dari posisi n
• equals(s) : untuk mengetahui apakah suatu string s nilainya sama denganstring tersebut
• charAt(n) : mengambil satu data char dari string pada posisi n

Contah contractor dan pemanggilan metod String


Rangkuman
1.   Class adalah frame dari suatu data yang berisi definisi data,  dan metod pengolah data .
2.   Objek adalah bentuk konkrit dari data dimana ia didefinisikan untuk mengisi data, mengaktifkan metod dan operasi data sebanarnya
3.   Operasi data java hampir semua sama dengan operasi data dalam C++
4.   Dalam definisi metod ada metod khusus yang otomatis dipanggil yaitu construktor
5.   Konsep OOP yang disebut encaptulation memungkinkan programmer menyembunyikan data yang tidak diperlukan dengan mendefinisikan secara private
6.   Data dan metod yang berkomunikasi keluar didefinisikan secara publik