OBJECTORIENTED PROGRAMMING OOP Sejarah OOP Tahun 1960 ditemukan
OBJECT-ORIENTED PROGRAMMING (OOP) 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 suatu OOP : metode dalam pembuatan program bertujuan untuk menyelesaikan kompleksnya berbagai masalah program yang terus meningkat.
OBJECT-ORIENTED PROGRAMMING (OOP) • Hewan adalah suatu objek yang memiliki data-data berupa nama jenis hewan, jenis kelamin hewan, berat badan, jenis makanan dan yang lainnya. • Sedangkan untuk methodnya, hewan memiliki cara berkembangbiak, cara mencari makanan, cara bertahan hidup dan sebagainya. • Objek dalam pemrograman berorientasi objek diabstraksikan menjadi sebuah kelas.
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 DATA FUNGSI ANGGOTA OBJEK
Contoh objek : Dept. penjualan objek 1 Data Fungsi anggota 1 Fungsi anggota 2 Data penjualan Manajer Sekretaris Dept. akunting Data Personalia Manajer Staff objek 2 Data Fungsi anggota 1 Fungsi anggota 2
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 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
Pewarisan (Inheritance) Lanj. • Class induk (class dosen) memiliki atribut nama, nik dan jurusan, memiliki turunan berupa kelas rektor, kelas dekan dan kelas kalab. • Method yang dimiliki oleh class dosen adalah view(). • Class turunan dari class dosen ada tiga class. • Pada class rektor, terdapat tambahan atribut berupa th_mulai dan jabatan_ke, serta method view. Rektor(). • Pada class dekan terdapat tambahan atribut fakultas, dan method view. Dekan(). • Pada class kalab terdapat tambahan atribut laboratorium, dan method view. Kalab().
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 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. public class Makhluk{ public void bernafas(){ } public void bertumbuh(){ } public void berreproduksi(){ } 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 Makhluk. Hidup{ 2. public void bernafas(){ 3. } 4. public void bertumbuh(){ 5. } 6. public void berreproduksi(){ 7. } 8. public void bergerak(){ 9. } 10. } 1. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. public class Manusia extends Makhluk. Hidup{ 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 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. public class Hewan extends Makhluk. Hidup{ public void bergerak(int kaki){ System. out. println("Hewan berjalan dengan kaki "+kaki); } public void bergerak(String bukan. Kaki){ System. out. println("Hewan bergerak dengan menggunakan "+bukan. Kaki); } public void makan(){ } public void minum(){ } } 13. 14. 15. 16. 17. public class Utama{ public static void main (String arg[]){ Manusia m = new Manusia(); m. bergerak(2); 18. Hewan h = new Hewan(); h. bergerak(4); h. bergerak("sirip"); 19. 20. 21. } 22. 23. }
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.
- Slides: 14