Pemrograman Berorientasi Objek Dian wahyuningsih, S.Kom., MMSI
Kontrak Kuliah Informasi Umum Nama Matakuliah : Pemrograman Berorientasi Objek Kode Matakuliah : MKB0-5148, MKB0-3156, MKB0-5234 Bobot : 2 Semester : II Pengampu : Dian Wahyuningsih, S.Kom., MMSI Email : dian.wahyuningsih02@gmail.com HP/ wa : 085.755.482.039
Pelaksanaan perkuliahan Hari : Kamis, pukul 08:00 – 09:30 Toleransi : 15 menit Tata tertib : Berdoa sebelum dan selesai perkuliahan, dipimpin oleh ketua kelas Jika terjadi keterlambatan : Boleh masuk tanpa presensi, atau review matkul minggu lalu selama durasi terlambatnya dan boleh melakukan presensi
Sistem penilaian Nilai UTS : Kehadiran : 35 % Keaktifan : 15 % Quiz : 30 % Nilai UTS : 20 % 100 % Nilai UAS : Kehadiran : 35 % Keaktifan : 15 % Quiz : 30 % Nilai UAS : 20 % 100 % Nilai Akhir = (10% Tugas 1 + 40% UTS) dan (10% Tugas 2 + 40% UAS) Tugas terdapat 2 jenis : individu dan kelompok
Bentuk Ujian dan tugas Tugas 1 : Tugas Individu Tugas 2 : Tugas Kelompok UTS : Dilaksanakan di laboratorium dengan sifat buka buku, buka file dan buka internet UAS : Dilaksanakan di laboratorium dengan sifat buka buku, buka file dan buka internet
Organisasi materi Kelas dan Method Tiga pilar OOP : Enkapsulasi, Pewarisan dan Polimorphisme Kelas Inner, Abstrak dan Interface Generic programming dan collection Relasi pada diagram kelas dan penerapannya Exception dan error handling Sistem basis data Java GUI : Membuat aplikasi dengan basis data
Setuju???
Review kelas dan method Objek unit terkecil dalam OOP adalah kesatuan entitas (benda), baik yang berwujud nyata atau suatu sistem atau konsep yang memiliki sifat karakteristik dan fungsi. Pena, kursi, monyet adalah contoh objek nyata, pembayaran tagihan melalui Internet, sistem antrian tiket bioskop adalah contoh objek meskipun bukan merupakan benda nyata. Kelas adalah pemodelan dari objek yang berisi informasi (aturan) tentang sifat karakteristik (data) dan tingkah laku (method) yang dimiliki oleh objek tersebut.
Hubungan kelas dan objek Resep kue Resep kue adalah kelas sedangkan kue adalah objek nya. Sebelum membuat kue kita harus membaca dan mempelajari resepnya, dalam resep disebutkan bahan-bahan dan fungsinya dan bagaimana cara membuatnya agar menjadi kue yang siap disajikan. Dalam OOP kita tidak hanya dapat membuat kue sesuai resep namun juga bisa mengembangkannya menjadi resep kue yang baru sesuai selera.
Berorientasi objek Dalam ilmu pemrograman, terdapat dua cara pandang umum untuk menyelesaikan masalah pemrograman yaitu Prosedural dan Berorientasi Objek. Pemrograman berorientasi objek merupakan sebuah paradigma pemrograman yang menekannkan pada penciptaan objek yang didalamnya terdapat atribut (bentuk variabel) dan method (berbentuk prosedur atau fungsi).
method Atau biasa disebut dengan prosedur atau fungsi adalah prosedur atau fungsi yang dimiliki oleh sebuah objek . Karena pada dasarnya merupakan prosedur/fungsi maka method ini akan mengolah atau mengubah data/variabel yang ad didalam objek sesuai dengan operasi yang telah ditentukan. Dari proses tersebut akan terjadi tiga kemungkinan yaitu: Mengembalikan suatu nilai akhir Mengembalikan nilai yang bersifat sementara untuk kemudian diumpankan ke method lain Tidak mengembalikan nilai sama sekali
Perbedaan PBO dan Prosedural juga terletak pada sifat yang dimiliki oleh PBO, yaitu: Enkapsulasi Pewarisan Polimorphisme
enkapsulasi Adalah sebuah proses penggabungan atribut dan method kedalam sebuah kelas. Biasanya atribut dan method dideskripsikan secara terpisah pada pemrograman prosedural. Selain itu enkapsulasi juga dihubungkan dengan pemberian hak akses pada kelas ataupun anggota dari sebuah kelas (atribut dan method) Contoh: Kucing (kelas) memiliki atribut (ciri-ciri) beratBadan dan ras. Dan memiliki method (kegiatan) bersuara(), jenisKelamin()
Selain itu pemberian hak akses juga merupakan bagian penting dari proses enkapsulasi. Hak akses diberikan pada tiga hal yaitu pada kelas, atribut dan method. Hak akses di Java: Public : digunakan apabila atribut atau method ingin bisa diakses dikelas yang lain (bukan kelas pemilik atribut dan method tersebut). (+) Private : digunakan apabila atribut atau method hanya ingin diakses pada kelas pemilik. (-) Protected : digunakan pada konsep pewarisan. Apabila variabel dan method dari kelas pemilik ingin diwariskan untuk kelas turunan/ sub class dari kelas pemilik maka bisa menggunakan hak akses ini. Pewarisan variabel atau method hanya berlaku untuk kelas turunannya dan tidak dapat digunakan pada kelas lain. (#)
pewarisan Sifat PBO memungkinkan sebuah kelas menurunkan variabel atau method kepada kelas turunannya. Konsep ini memungkinkan penggunaan kembali (code reuse) perintah-perintah yang ada di dalam sebuah kelas. Pada konsep ini dikenal dua istilah yaitu kelas orang tua / parent class atau biasa disebut super class, dan kelas anak / child class atau biasa disebut sub class.
contoh Pada gambar di atas atribut “nama”, “tanggalLahir” dan “jenisKelamin” akan diwariskan dari kelas Manusia ke kelas “Siswa” dan “Pegawai”. Dalam pengimplementasian di Java, kelas Siswa dan Pegawai tidak perlu mendeklarasikan ulang atribut yang diwariskan oleh kelas Manusia. Kedua kelas tersebut bisa langsung menggunakan ketiga atribut dalam kelas masing-masing. Manusia #nama: String #tanggalLahir: Date #jenisKelamin: String Siswa -NIS: String Pegawai -NIP: String
polimorphisme Sifat ini memungkinkan method yang diwariskan dari super class memiliki isi perintah yang berbeda ketika diimplementasikan pada sub class. Contoh: kelas “Binatang” memiliki method “bersuara()” maka ketika method ini diwariskan ke kelas “Bebek” akan berisi kwek-kwek dan ketika diwariskan ke kelas “Anjing” akan berisi guk-guk. Binatang bersuara() Bebek kwek-kwek Anjing guk-guk Kucing meong