Kamis, 06 Desember 2018

RIVIEW 11


PERTEMUAN 11
KONSEP PEMROGRAMAN BERORIENTASI OBJEK

A.    Pengenalan Pemrograman Berorientasi Objek
OOP/PBO merupakan paradigma pemrograman yang popular saat ini yang telah menggantikan teknik pemrograman berbasis prosedur. Object Oriented Programing yang berarti pula Pemrograman Beorientasi Objek sudah ditemukan sekitar tahun 1960 dan dikembangkan pada permulaan tahun 1970.
Pemrograman Berorientasi Objek (Object Oriented Programming/OOP) merupakan pemrograman yang berorientasikan kepada objek, dimana semua data dan fungsi dibungkus dalam class-class atau object-object. Setiap object dapat menerima pesan, memproses data, mengirim, menyimpan dan memanipulasi data. Beberapa object berinteraksi dengan saling memberikan informasi satu terhadap yang lainnya. masing-masing object harus berisikan informasi mengenai dirinya sendiri dan dapat dihubungkan dengan Object yang lain. Pemrograman berorientasi objek berbeda dengan pemrograman prosedural yang hanya menggunakan satu halaman kebawah untuk mengerjakan banyak perintah atau statement. Penggunaan pemrograman berorientasi objek sangat benyak sekali, contoh : java, php, perl, c#, cobol, dan lainnya. 
    1. Definisi Object 
Object merupakan sesuatu yang memiliki identitas (nama), pada umumnya juga memiliki data tentang dirinya maupun object lain dan mempunyai kemampuan untuk melakukan sesuatu dan bisa bekerja sama dengan objek lainnya. Pada dasarnya semua benda yang ada di dunia dapat dianggap sebagai sebuah object. Rumah, mobil, sepeda motor, meja, dan komputer merupakan contoh-contoh object yang ada di dunia nyata. Object adalah implementasi dari class. Secara sederhananya, dapat dikatakan terdiri dari property (atribut) dan method.Pemahaman singkatnya:
1.      Objek merupakan sebuah objek khusus yang digunakan untuk mengakses anggota objek (atribut atau method) dari dalam objek itu sendiri.
2.      Apabila terdapat variabel lain yang memiliki nama yang sama dengan   nama  atribut di dalam objek, “this” dapat digunakan untuk merujuk ke atribut objek.
2. Definisi class
Class merupakan model yang berisi kumpulan attribute dan method dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh class manusia memiliki attribute berat, tinggi, usia kemudian memiliki method makan, minum, tidur. Method dalam sebuah class dapat merubah attribute yang dimiliki oleh class tersebut. Sebuah class merupakan dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Class adalah template untuk pembuatan objek. Class juga memiliki anggota, diantaranya : atribut dan method.
          3. Struktur class
Perbedaan sebuah kelas dengan sebuah struktur adalah sebuah kelas dapat berdiri sendiri dan dapat digunakan untuk berbagai keperluan kelas-kelas yang lain, sedangkan sebuah struktur tidak dapat berdiri sendiri. Sebuah kelas lebih fleksibel untuk digunakan oleh kelas lain tanpa harus membongkar kode program utama, sedangkan jika digunakan struktur maka kode program harus dibongkar unuk disalin bagian strukturnya ke kode program utama yang lain
       4. Karakteristik object
Setiap object memiliki dua karakteristik yang utama yaitu atribut dan behavior
1.      Atribut merupakan status object dan behavior merupakan tingkah laku dari object tersebut.Contoh sederhana adalah sepeda. Object sepeda memiliki atribut : pedal, roda, dan gigi, kecepatan serta memiliki tingkah laku seperti pacu dan rem. Sama seperti penggambaran di dunia nyata, pengembangan program dengan konsep OOP juga menggunakan model object yang akan menyimpan atributnya dalam variabel dan tingkah lakunya dalam method atau fungsi-fungsi/prosedur. Deskripsinya : Contoh objek sepeda
·         Sepeda memiliki atribut ( state ) : pedal, roda, jeruji, dan warna.
·         Sepeda memiliki tingkah laku ( behaviour ) : kecepatannya menaik, kecepatannya menurun, dan perpindahan gigi sepeda.
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.
                         1)  Definisi Atribut
Atribut dari sebuah kelas adalah variabel global yang dimiliki sebuah kelas, Atribut dapat memiliki hak akses private, public maupun protected. Sebuah atribut yang dinyatakan sebagai private hanya dapat diakses secara langsung oleh kelas yang membungkusnya, sedangkan kelas lainnya tidak dapat mengakses atribut ini secara langsung. Sebuah atribut yang dinyatakan sebagai public dapat diakses secara langsung oleh kelas lain di luar kelas yang membungkusnya. Sebuah atribut yang dinyatakan sebagai protected tidak dapat diakses secara langsung oleh kelas lain di luar kelas yang membungkusnya, kecuali kelas yang mengaksesnya adalah kelas turunan dari kelas yang membungkusnya.  Atribut juga biasa disebut state/ properties/ field merupakan bagian yang dimiliki oleh sebuah class yang tidak melakukan operasi, tetapi kepadanya dilakukan operasi sehingga dapat merubah nilai dari attribute tersebut
T               2) Tingkah Laku (Behavior)
Tingkah laku/behavior adalah hal-hal yang bisa dilakukan oleh objek dari suatu class. digunakan untuk mengubah nilai atribut suatu objek, menerima informasi dari objek lain, dan mengirim informasi ke obyek lain untuk melakukan suatu task. Dalam class, behavior disebut juga sebagai methods. Contoh: mobil,   akseleration, stop, turn, break . Method adalah fungsi atau prosedur yang dibuat oleh seorang programmer didalam suatu Class. Dengan kata lain, method pada sebuah kelas hampir sama dengan fungsi atau prosedur pada pemrograman prosedural.Cara objek berkomunikasi dengan objek lain adalah dengan menggunakan method
       5. Responsibility
Responsibility adalah sebuah kontrak atau sebuah obligasi dari sebuah class. Saat sebuah class dibuat, semua objek dalam class tersebut memiliki keadaan dan tingkah laku yang sama Saat sebuah class dimodelkan, awal yang baik adalah menspesifikasikan responsibilities sesuatu dalam sebuah kamus teknik seperti CRC card (Class Responsibility Collaboration) dan use case dapat membantu.
I     6. Konstruktor
Konstruktor adalah proses instansiasi objek dari kelas dilakukan pada operasi khusus atau sekumpulan instruksi konstruktor menetapkan nilai awal untuk atribut objek baru konstruktor biasanya memiliki nama yang sama dengan kelasnya. Konstruktor memungkinkan :
1.      Memiliki parameter yang menginisilisasi atribut dengan nilai spesifik. Contoh : Create mobil as new Car (”Ford”, ”Falcon”, 4, 300, 6, ”Biru”, 0); atau  
2.      Tidak memiliki parameter. Objek baru dengan nilai default untuk semua atributnya.

J    7.   Aksesor Dan Mutator
Aksesor adalah nama operasi yang mengakses nilai. Nama aksesor dimulai dengan kata GET seperti getPaySlip(), Mutator adalah nama operasi yang merubah nilai atribut. Operasi mutator  memungkinkan objek eksternal untuk mengubah nilai yang tersimpan dalam atribut. Nama mutator diawali dengan kata SET seperti setPayRate().
       8. Visibiliy
Visibility merupakan kemampuan suatu obyek untuk melihat atau berhubungan dengan obyek lain, Atribut dan metoda dapat memiliki salah satu sifat visibility berikut:
1.      Private (-), tidak dapat dipanggil dari luar class yang bersangkutan
2.      Protected (#), hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya
3.      Public (+), dapat dipanggil oleh siapa saja
   
9      9. Pengirim Pesan/Messaging
1.      Objek-objek bekerjasama dengan mengirimkan pesan dari satu objek ke objek lainnya
2.      Suatu obyek mengirimkan pesan ke objek lain untuk melakukan sebuah operasi
3.      Suatu objek juga dapat menerima pesan dari objek lain untuk melakukan operasi lainnya.
4.      Kunci dalam pemrograman berorientasi objek adalah bahwa setiap objek itu sendiri bertanggung jawab untuk melaksanakan tugas.
5.      Ini termasuk interaksi dan komunikasi dengan benda-benda lainnya
6.      Objek mengirim pesan ke objek lainnya. Pesan mungkin menyampaikan informasi tambahan melalui parameter untuk benda-benda penerima. Contohnya sebagai berikut: Mobil yang diparkir di depan rumah hanya sepotong logam yang dengan sendirinya tidak mampu melakukan aktivitas apapun. Pengemudi harus menyalakan mobil, menggunakan rem, dll

        10.  Karakteristik OOP
1.      Abstraksi merupakan kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari “pelaku” abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
2.      Enkapsulasi merupakan suatu mekanisme untuk menyembunyikan atau memproteksi suatu proses dari kemungkinan interferensi atau penyalahgunaan dari luar sistem dan sekaligus menyederhanakan penggunaan sistem tersebut. Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak. Hanya metode dalam objek tersebut yang diberi ijin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.
3.      Inheritansi merupakan konsep mewariskan attribute dan method yang dimiliki oleh sebuah class kepada class turunannya. Dengan konsep ini class yang dibuat cukup mendefinisikan attribute dan method yang spesifik didalamnya, sedangkan attribute dan method yang lebih umum akan didapatkan dari class yang menjadi induknya.
4.      Polimorfisme Merupakan konsep yang memungkinkan digunakannya suatu interface yang sama untuk memerintah suatu object agar melakukan suatu tindakan yang mungkin secara prinsip sama tetapi secara proses berbeda. Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan, dengan metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesan tersebut dikirim. 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. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.
                Tahapan Perancang Program Berorientasi Objek
1.      Identifikasi kelas, atribut, responsibility dan operasi
2.      Menentukan hubungan antar objek dan kelas
3.      Perancangan algoritma untuk operasi menggunakan desain struktur
4.      Mengembangkan tes algoritma
 




Tidak ada komentar:

Posting Komentar