1.introductionto objectorientedprogramming

Post on 25-May-2015

603 views 3 download

Transcript of 1.introductionto objectorientedprogramming

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