Apa sih arti perancangan berorientasi object ?? kamu tau ?
Perancangan adalah penggambaran, perencanaan dan pembuatan sketsa atau pengaturan dari beberapa elemen yang terpisah ke dalam satu kesatuan yang utuh dan berfungsi sebagai perancangan sistem dapat dirancang dalam bentuk bagan/diagram alir sistem (system flowchart). Diagram alir adalah sebuah jenis diagram yang mewakili algoritme, alir kerja atau proses, yang menampilkan langkah-langkah dalam bentuk simbol-simbol grafis, dan urutannya dihubungkan dengan panah.
Object atau Objek adalah hasil cetak dari class, atau hasil ‘konkrit’ dari class. Jika menggunakan analogi class laptop, maka objek dari class laptop bisa berupa: laptop_andi, laptop_anto, laptop_duniailkom, dan lain-lain. Objek dari class laptop akan memiliki seluruh ciri-ciri laptop, yaitu property dan method-nya.
Konsep dari Perancangan Berorientasi Objeknya sndri meliputi :
1. Objek mengenkapsulasi data
2. Operasi (aksi yang diaplikasikan untuk merubah atribut)
3. Objek lain (objek komposit dapat ditentukan)
Enkapsulasi berarti semua informasi dikemas di bawah satu nama dan dapat digunakan lagi sebagai satu spesifikasi atau komponen program
Definisi berorientasi objek menurut Coad dan Tourdon :
Berorentasi objek = objek + klasifikasi + pewarisan +komunikasi
Kelas & Objek
Kelas adalah konsep OO yang mengenkapsulasi data dan abtraksi prosedural yang diperlukan untuk menggambarkan isi serta tingkah laku berbagai entitas dunia nyata.
Kelas dapat didefinisikan juga sebagai suatu deskripsi tergeneralisir (template,pola,cetak biru).
Objek yang ada pada suatu kelas mewarisi atribut dan operasi nya yang dapat diperoleh untuk memanipulasi atribut tersebut.
Superkelas adalah sekumpulan kelas.
Subkelas adalah kejadian dari suatu kelas
Atribut
Entitas kehidupan nyata sering digambarkan dengan kata – kata yang mengindikasikan keadaan yang stabil . Sebagian besar objek fisik memiliki keadaan seperti potongan, berat, warna dan tipe material.Manusia memiliki keadaan, termasuk data kelahiran, orang tua, nama dan warna mata.
Pada konsep pemograman berorientasi objek ada beberapa istilah yang biasa dijumpai, diantaranya objek, class, inheritance, encapsulation, dan polymorphism. Berikut ini adalah penjelasan dari istilah-istilah tersebut.
1. Objek merupakan suatu komponen/entitas yang terlibat didalam penyelesaian masalah Pada contoh permasalahan manajer tersebut, kita definisikan dua objek yang terlibat yaitu manajer, dan petugas administrasi. Sebetulnya kita bisa mendefinisikan jumlah objek yang terlibat lebih dari dua. Semua itu tergantung sudut pandang kita terhadap suatu masalah.
Seperti yang telah kita singgung sebelumnya, objek itu dapat berupa representasi dari benda nyata, fungsi, atau suatu hal abstrak yang terdapat pada sistem seperti event, database, dsb. Semua itu bergantung dari permasalahan yang kita hadapi. Apabila suatu permasalahan itu diibaratkan sebagai suatu kejadian gawat darurat yang perlu penanganan, maka objek dapat dianggap sebagai aktor yang terlibat dan bertugas melakukan penanganan tersebut.
Dalam konteks pemograman berorientasi objek, sebuah objek pada dasarnya memiliki dua komponen utama attribut dan behavior. Attribut biasanya direpresentasikan dalam bentuk variabel yang menyimpan state (kondisi) sebuah objek. Sebagai contoh, ada sebuah mobil berwarna merah. Apabila mobil dianggap sebagai sebuah objek, maka warna merah dapat dianggap sebagai state dari objek tersebut. Behavior adalah tingkah laku yang dimiliki oleh sebuah objek. Sebagai contoh, sebuah mobil akan mengeluarkan bunyi begitu tombol klaksonnya ditekan. Keluarnya bunyi adalah behavior mobil tersebut ketika tombol klaksonnya ditekan. Behavior itu sendiri biasanya direpresentasikan dalam bentuk method-method atau fungsi-fungsi yang dikandung oleh sebuah objek.
2. Class/kelas dalam konsep pemograman berorientasi objek, didefinisikan sebagai prototipe atau cetak biru dari objek. Kita ambil contoh permasalahan manajer pada contoh sebelumnya. Pada contoh tersebut kita mendefinisikan dua objek yang telibat pada penyelesaian masalah yaitu manajer, dan petugas bagian administrasi. Petugas bagian administrasi berasal dari divisi administrasi, dimana setiap petugas yang berada dibagian tersebut memiliki job-desc yang relatif seragam. Dengan demikian untuk mengambil data yang diperlukan, sang manajer dapat pula meminta tolong petugas lain dari bagian yang sama. Manajer dapat pula meminta dua orang petugas administrasi yang berbeda, untuk mengambilkan data administrasi yang berbeda. Class dapat diibaratkan sebagai divisi administrasi yang terdapat pada perusahaan tersebut, dan petugas yang berasal dari divisi administrasi dapat diibaratkan sebagai objek yang dibentuk dari class divisi administrasi.
Class menyimpan komponen-komponen berupa variabel dan method yang diperlukan agar objek dapat melaksanakan fungsinya. Object yang dibentuk dari suatu class, dapat memiliki variabel dan method yang telah didefinisikan pada class tepatnya berasal. Seperti dua petugas yang berasal dari divisi administrasi, dapat mengambil data administrasi. Setiap object yang dibentuk dapat memiliki state yang berbeda, bergantung kepada nilai yang diisikan kedalam variabel pada setiap object.
Itulah mengapa class dikatakan sebagai cetak biru dari objek, karena objek dibentuk dari class yang variabel dan methodnya sudah didefinisikan sebelumnya
3. Inheritance adalah sebuah konsep pewarisan variabel dan method yang terkandung didalam suatu class kepada class lain. Class yang mewarisi disebut sebagai Super Class, dan class yang diwarisi disebut sebagai Sub Class. Keuntungan konsep ini beberapa persamaan yang dimiliki oleh beberapa class dapat disatukan kedalam class induk. Dengan demikian kita dapat memanfaatkan kode yang terdapat pada class induk tanpa perlu menuliskan ulang kembali kode tersebut pada sub class yang dibentuk. Dengan kata lain kode yang dituliskan pada class induk bersifat reusable (dapat digunakan kembali).
4. Encapsulation adalah konsep pembungkusan variabel dan method yang terdapat pada suatu objek. Interaksi yang dilakukan terhadap objek tersebut, hanya dapat dilakukan melalui interface yang telah kita buat. Dengan demikian, variabel dan method yang terdapat pada objek tersebut dapat kita lindungi terhadap cara pengaksesan yang tidak layak. Disamping itu, enkapsulasi juga akan mereduksi kemungkinan terjadinya efek diluar perencanaan.
5. Polymorphism secara harfiah dapat diartikan sesuatu yang memiliki banyak bentuk. Pada umumnya polymorfism terjadi sebagai akibat dari adanya pewarisan. Misal, kita membentuk kelas bernama BidangGeometri, didalam kelas tersebut terdapat method hitungLuas(). Disisi lain kita juga membentuk kelas BidangSegitiga, BidangBujurSangkar, BidangLingkaran sebagai turunan dari kelas BidangGeometri. Method hitungLuas() yang terdapat pada kelas BidangGeometri, sudah barang tentu harus memiliki implementasi yang berbeda pada setiap kelas turunannya.
Terdapat beberapa konsep dalam OOAD, yaitu :
– Objek (object)
-
Objek adalah benda secara fisik dan konseptual yang ada di sekitar kita. Sebuah objek memiliki keadaan sesaat yang disebut state.
-
State dari sebuah objek adalah kondisi dari objek atau himpunan keadaan yang menggambarkan objek tersebut. State dinyatakan dengan nilai dari atribut objeknya.
-
Atribut adalah nilai internal suatu objek yang mencerminkan karakteristik objek, kondisi sesaat, koneksi dengan objek lain dan identitas.
-
Behaviour (perilaku objek) mendefinisikan bagaimana sebuah objek bertindak dan memberi reaksi. Behaviour ditentukan oleh himpunan semua atau beberapa operasi yang dapat dilakukan oleh objek tersebut, yang dicerminkan oleh interface, service, dan method dari objek tersebut.
-
Interface adalah pintu untuk mengakses service dari objek
-
Service adalah fungsi yang dapat dikerjakan oleh sebuah objek
-
Method adalah mekanisme internal objek yang mencerminkan perilaku objek tersebut
– Kelas (class)
Class adalah himpunan objek yang sejenis yaitu mempunyai sifat (atribut), perilaku umum (operasi), relasi umum dengan objek lain dan semantik umum. Class adalah abstraksi dari objek dalam dunia nyata. Class menetapkan spesifikasi perilaku dan atribut dari objek tersebut.
– Kotak Hitam (black boxes)
Sebuah objek adalah kotak hitam. Konsep ini menjadi dasar implementasi objek. Dalam operasi OO hanya developer yang dapat memahami detail proses yang ada didalam kotak tersebut, sedangkan user tidak perlu mengetahui apa yang dilakukan yang penting mereka dapat menggunakan objek untuk memproses kebutuhan mereka. Kotak hitam berisi kode dan data.
-
Encapsulation, yaitu proses menyembunyikan detail implementasi sebuah objek. Untuk mengakses data objek tersebut adalah melalui interface. Untuk berkomunikasi dengan objek digunakan message.
-
Message adalah permintaan agar objek menerima untuk membawa metode yang ditunjukkan oleh perilaku dan mengembalikan result dari aksi tersebut kepada objek pengirim (sender)
– Asosiasi dan Agregasi
-
Asosiasi adalah hubungan yang mempunyai makna antara sejumlah objek. Asosiasi digambarkan dengan sebuah garis penghubung diantara objeknya. Contohnya : Asosiasi karyawan dengan unit kerja. Setiap karyawan bekerja di satu unit kerja, sedangkan unit kerja dapat memiliki beberapa karyawan.
-
Agregasi adalah bentuk khusus sebuah asosiasi yang menggambarkan seluruh bagian pada suatu objek merupakan bagian dari objek yang lain. Contohnya : Kopling dan piston adalah bagian dari mesin, sedangkan mesin, roda, body merupakan bagian dari sebuah mobil.