OBJECT-ORIENTED PROGRAMMING ( O O P ) Sejarah OOP : Tahun 1960, ditemukan suatu pembuatan program yang terstuktur (structured programming). Metode ini dikembangkan dari bahasa C dan Pascal. Dengan program yang terstruktur inilah untuk pertama kalinya kita mampu menulis program yang begitu sulit dengan lebih mudah. Definisi OOP : suatu metode dalam pembuatan program bertujuan untuk menyelesaikan kompleksnya berbagai masalah program yang terus meningkat.
Contoh kasus OOP 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 memerintahkan petugas bagian 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
Object dan Class Ide dasar pada OOP : Mengkombinasikan data dan fungsi (atribute & method) untuk mengakses data menjadi sebuah kesatuan unit yang dikenal dengan nama objek (Object) Class adalah blue-print yang akan menghasilkan objek, kumpulan dari beberapa objek yang memiliki kesamaan FUNGSI ANGGOTA DATA OBJEK
Contoh objek : Dept. penjualan objek 1 Data Fungsi anggota1 Dept. akunting objek 2 Data Fungsi anggota1 Fungsi anggota2 Data penjualan Manajer Sekretaris Data Personalia Manajer Staff Data Fungsi anggota1 Fungsi anggota2
Konsep dasar OOP : Pewarisan (Inheritance) Pengkapsulan (Encapsulation) Polimorfisme
Pengkapsulan (Encapsulation) “Penyembunyian Informasi” Dapat diartikan juga pengemasan data dan method dalam wadah bernama objek Konsep public dan private akan senantiasa digunakan dalam pengkapsulan Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek, dengan cara yang tidak layak Hanya method dalam objek tersebut yang diberi ijin untuk mengakses keadaannya
Pewarisan (Inheritance) Merupakan sifat dalam bahasa berorientasi objek yang memungkinkan sifat-sifat dari suatu Class diturunkan ke Class lain Single Inheritance Pewarisan terhadap sebuah Class child yang berasal dari sebuah Class parent Multiple Inheritance Pewarisan terhadap sebuah Class child yang berasal dari lebih dari satu Class parent
Polimorfisme Istilah ini sendiri berasal dari Bahasa Yunani, yang berarti “mempunyai banyak bentuk” Merupakan suatu konsep yang menyatakan sesuatu yang sama dapat memiliki berbagai bentuk dan perilaku yang berbeda 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.
Contoh public class Makhluk{ public void bernafas(){ } public void bertumbuh(){ public void bereproduksi(){ public void belajar(){ public void bekerja(){ public void berfikir(){ public void istirahat(){ public void bergerak(int kaki){ System.out.println("berjalan dengan kaki "+kaki); public void makan(){ public void minum(){
Contoh public class MakhlukHidup{ public void bernafas(){ } public void bertumbuh(){ public void bereproduksi(){ public void bergerak(){ public class Manusia extends MakhlukHidup{ public void belajar(){ public void bekerja(){ public void berfikir(){ public void istirahat(){ public void bergerak(int kaki){ System.out.println("Manusia berjalan dengan kaki "+kaki);
Contoh public class Hewan extends MakhlukHidup{ public void bergerak(int kaki){ System.out.println("Hewan berjalan dengan kaki "+kaki); } public void bergerak(String bukanKaki){ System.out.println("Hewan bergerak dengan menggunakan "+bukanKaki); public void makan(){ public void minum(){ public class Utama{ public static void main (String arg[]){ Manusia m = new Manusia(); m.bergerak(2); Hewan h = new Hewan(); h.bergerak(4); h.bergerak("sirip");
Kesimpulan 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.