Upload
taufik-hidayat
View
606
Download
3
Embed Size (px)
Citation preview
Pemrograman Berorientasi
Objek Oleh:Syaiful Anam, S.Si, MT
Mathematics Department – University of Brawijaya [UB]
www.matematika.brawijaya.ac.id
ALASAN DIGUNAKANNYA PBO
PBO diciptakan karena masih dirasakan adanya keterbatasan pada bahasa pemrograman tradisional yang dikenal dengan istilah procedural language seperti C, Pascal dan yang sejenisnya
Konsep procedural programming language yaitu bahwa semua masalah dibagi ke dalam fungsi atau prosedur. Selain itu dalam procedural programming, fungsi dan data terpisah dan tidak menjadi satu kesatuan.
www.matematika.brawijaya.ac.id
Contoh
Contoh kelemahan dari procedural programming adalah bila sebuah perusahaan membuat program General Ledger (Buku kas besar) menggunakan variabel yang bisa diakses oleh fungsi-fungsi lainnya, maka harus dideklarasikan variabel tersebut sebagai variabel global yang letaknya di luar semua fungsi sehingga bisa diakses oleh semua fungsi. Jika suatu saat perusahaan tadi memperkerjakan programmer baru yang belum mengetahui seluk-beluk program general ledger tadi, maka sangat dimungkinkan terjadinya kerusakan data.
Anda juga akan menemukan kesulitan bila Anda ingin membuat tipe data baru dengan bahasa pemrograman tradisional.
www.matematika.brawijaya.ac.id
Pendahuluan Oriented Object Programming ( Pemrograman Berorientasi Objek)
Tujuan PBO– Meningkatkan produktivitas pemrogram dengan
cara meningkatkan efisiensi biaya perawatan perangkat lunak.
www.matematika.brawijaya.ac.id
Pemrograman Berorientasi Objek
Dicetuskan pada tahun 1990-an yaitu memecahkan kebinggungan masalah pemrograman terstruktur dan ERD (Entity Relationship Diagram)
Pemrograman berorientasi objek memungkinkan pengelolaan Data dan Fungsi dalam satu kesatuan yang disebut objek.
Ide PBO diawali oleh ADT (Abstract Data Type) karena banyak kelemahan di sempurnakan menjadi konsep Objek.
www.matematika.brawijaya.ac.id
Karakteristik ciri-ciri PBO Pendekatan lebih pada data bukan fungsi/prosedur Program besar dipecah-pecah menjadi objek-objek. Struktur data dirancang dan menjadi karakteristik
dari objek-objek. Fungsi-fungsi yang mengoperasikan data tergabung
dalam suatu objek yang sama. Data tersembunyi dan terlindung dari fungsi /
prosedur yang ada diluar. Objek-objek dapat saling berkomunikasi dengan
saling mengirim pesan satu sama lain.
www.matematika.brawijaya.ac.id
Konsep PBO adalah bahwa semua pemecahan masalah dibagi ke dalam kelas (class). Dalam PBO data dan fungsi-fungsi yang akan mengoperasikan data digabungkan menjadi satu kesatuan yang bisa disebut sebagai kelas.
www.matematika.brawijaya.ac.id
Bahasa pemrograman untuk OOP
Bahasa pemrograman yang lazim digunakan dalam PBO adalah C++ ( Keluaran Borland disebut Borland C++, sedangkan dari Microsoft disebut Ms C++. Namun yang terakhir kurang poluler ). Demikian pula, jka ada bahasa pemrograman yang menggunakan C++ sebagai landasan utama bagi pengembangannya, maka bahasa tersebut bisa dipakai untuk PBO, seperti Java
www.matematika.brawijaya.ac.id
Karakteristik Utama Pemrograman Berorientasi Objek (PBO). Konsep object oriented memiliki karakteristik utama yaitu :
Enkapsulasi Pewarisan (Inheritance) Polymorphism
www.matematika.brawijaya.ac.id
Enkapsulasi
Fungsi kelas terletak pada fungsi anggota (member function) dalam C++.
Jika Anda ingin membaca data dalam objek maka Anda harus memanggil fungsi anggota (member function) dalam objek. Hanya dengan cara ini Anda bisa mengakses data. Jadi Anda tidak bisa mengakses data secara langsung seperti dalam konsep pemrograman
tradisional. Pengaksesan data seperti pada PBO ini dikenal sebagai pengkapsulan data.
www.matematika.brawijaya.ac.id
Enkapsulasi
Enkapsulasi adalah suatu mekanisme untuk menyembunyikan atau memproteksi suatu proses dari kemungkinan interferensi atau penyalahgunaan dari luar sistem sekaligus menyederhanakan penggunaan system itu sendiri.
Akses ke internal sistem diatur sedemikian rupa melalui seperangkat interface.
www.matematika.brawijaya.ac.id
Komponen PBO Objek Polimorfisme Inheritansi
www.matematika.brawijaya.ac.id
Objek Adalah Entiti logik yang berisi data dan kode
program untuk memanipulasi data tersebut.– Beberapa kode program / data bersifat privat
terhadap objek tersebut. Artinya tidak dapat diakses oleh sesuatu diluar objek tersebut.
– Cara penyatuan data dan program disebut enscapsulasi.
www.matematika.brawijaya.ac.id
Pada dasarnya ada dua karakteristik yang utama pada sebuah objek , yaitu :
Setiap objek memiliki atribut sebagai status yang kemudian akan disebut sebagai state.
Setiap objek memiliki tingkah laku yang kemudian akan disebut sebagai behaviour.
www.matematika.brawijaya.ac.id
Contoh sederhananya adalah : objek sepeda
Sepeda memiliki atribut ( state ) : pedal, roda, jeruji, dan warna.
Sepeda memiliki tingkah laku ( behaviour ) : kecepatannya menaik, kecepatannya menurun, dan perpindahan gigi sepeda.
www.matematika.brawijaya.ac.id
Dalam pengembangan perangkat lunak berorientasi objek, objek dalam perangkat lunak akan menyimpan state-nya dalam variabel dan menyimpan informasi tingkah laku ( behaviour ) dalam method-method atau fungsi-fungsi/prosedur.
www.matematika.brawijaya.ac.id
Attribut
Suatu objek memiliki atribut-atribut. Atribut merupakan deskripsi (data) yang
berhubungan dengan objek. Sebagai contoh, seorang karyawan dapat
mencakup nama, alamat, tanggal lahir, nomor jaminan sosial, dan tanggal awal kerja.
Atribut mirip dengan elemen elemen data.
www.matematika.brawijaya.ac.id
Objek Dapat Dikelompokan menjadi
Objek Konsep: Kinerja Objek Event: Permintaan, Pemesan Objek Organisasi: Departemen akuntansi,dll Objek Manusia: Karyawan, Klien, dll Objek Tempat: Gedung, Toko,dll Sesuatu yang terukur dan Objek
Peralatan:Mobil, Sensor Tekanan– ( Ali Bahrami, 1999)
www.matematika.brawijaya.ac.id
Kelas Kelas Membungkus Objek. Kelas mencakup sifat-sifat umum yang dimiliki
objek. Misal: Kelas Staf : Dosen, Rektor, Dekan, dll Objek dikelompokkan berdasarkan jenis dan
perilaku. Keuntungan: Memungkinkan seseorang
menggunakan suatu komponen yang diciptakan dengan konsep pembungkusan tanpa mengetahui rincian implementasinya.
www.matematika.brawijaya.ac.id
Abstaksi Menemukan hal-hal yang esensial pada
objek dan mengabaikan hal-hal yang sifatnya insidental.
Misal : Atribut-atribut pada objek dan fungsinya.
www.matematika.brawijaya.ac.id
Polimorfisme Adalah sebuah nama yang dapat dipakai
oleh beberapa tujuan yang berhubungan tetapi sedikit berbeda.
Tujuannya adalah untuk mengijinkan sebuah nama dipaikai oleh aksi-aksi yang bersifat umum.
www.matematika.brawijaya.ac.id
Polimorfisme
Polimorfisme berarti kelas-kelas yang berbeda tetapi berasal dari satu orang tua dapat mempunyai metode yang sama tetapi cara pelaksanaannya berbeda-beda. Atau dengan kata lain, suatu fungsi akan memiliki perilaku berbeda jika dilewatkan ke kelas yang berbeda-beda.
www.matematika.brawijaya.ac.id
Contoh
Contoh: kelas untuk input sound system. Sebuah tape recorder dan CD player memiliki tombol PLAY yang berfungsi untuk memainkan musik yang dikehendaki. Tape recorder mengimplementasikan tombol PLAY dengan membaca isyarat-isyarat yang terekam di pita magnetis kaset, sedangkan CD player menggunakan sinar laser untuk membaca bit-bit digital yang terekam di permukaan CD.
www.matematika.brawijaya.ac.id
Inheritansi Adalah proses yang menyebabkan sebuah
objek mengenali objek yang lain. Mengijinkan objek-objek pada suatu kelas
mengakses peubah-peubah dan fungsi pada objek yang telah didefinisikan lebih dahulu, tanpa melakukan pendefinisian kembali.
www.matematika.brawijaya.ac.id
Inheritansi
Dari konsep penurunan ini suatu kelas bisa diturunkan menjadi kelas baru yang masih mewarisi sifat-sifat kelas orangtuanya.
Hal ini dapat dianalogikan dengan kelas manusia. Manusia merupakan turunan dari orang tuanya dan sifat-sifat orang tua diwarisi olehnya.
Bisa ditarik kesimpulan bahwa semua kelas di dunia selalu memiliki hirarki yang menggambarkan silsilah kelas tersebut.
www.matematika.brawijaya.ac.id
Contoh
Masing-masing kendaraan bermotor ini memiliki beberapa data yang sama, seperti posisi gigi persnelling, kecepatan putaran mesin, kecepatan linear kendaraan, dan sebagainya. Namun masing-masing kelas turunan ini memiliki beberapa data dan metode yang berlainan.
www.matematika.brawijaya.ac.id
Kelas dan kelas turunan kendaraan bermotor.
Contoh: kelas sepeda motor mungkin masih dibagi lagi menjadi dua kelas, yaitu sepeda motor 2 tak dan 4 tak. Sepeda motor 2 tak mungkin masih dibagi lagi menurut pabrik pembuatnya, seperti Honda, Suzuki, Yamaha, dan seterusnya. Masing-masing pabrik mungkin masih mempunyai beberapa kelas turunan lagi, seperti Honda Astrea Star, Honda Astrea Grand, dan seterusnya,
www.matematika.brawijaya.ac.id
Sharing Berbagi data / perilaku :
– Metoda dan peubah yang bersifat privat– Metoda dan peubah yang bersifat protected– Metoda dan peubah yang bersifat friend– Metoda dan peubah yang bersifat public