Beranda > ADBO > Ciri-Ciri Sistem berorientasi Objek

Ciri-Ciri Sistem berorientasi Objek

Definisi Sistem Berorientasi Objek

  • Sebuah sistem yang dibangun dengan berdasarkan metode berorientasi objek adalah sebuah sistem yang komponennva dibungkus (dienkapsulasi) menjadi kelompok data dan fungsi.
  • Setiap komponen dalam sistem tersebut dapat mewarisi atribut dan sifat dan komponen lainnva. dan dapat berinteraksi satu sama lainnya

Analisis dan disain berorientasi objek adalah cara baru dalam suatu masalah dengan menggunakan model yang dibuatmenurut konsep sekitar dunia nyata. Dasar pembuatan adalah objek, yang merupakan kombinasi antara struktur data dan perilaku dalamsatu entitas.

Pengertian “berorientasi objek” berarti bahwa kita mengorganisasi perangkat lunak sebagai kumpulan dari objek tertentu yang memiliki struktur data dan perilakunya.

Karakteristik (Ciri) Dasar Pemodelan Berorientasi Objek

Sistem berorientasi objek berfokus untuk menangkap struktur dan perilaku dari sistem informasi dalam modul kecil yang mencakup baik data dan proses. Modul-modul kecil ini dikenal sebagai objek. Metodologi pengembangan sistem berorientasi objek mempunyai tiga karakteristik utama : Enkapsulasi, Inheritance dan Polmorfisme

  • Enkapsulasi
    • Encapsulation merupakan dasar untuk pembatasan ruang lingkup program terhadap data yang diproses.
    • Data dan prosedur atau fungsi dikemas bersama-sama dalam suatu objek, sehingga prosedur atau fungsi lain dari luar tidak dapat mengaksesnya.
    • Data terlindung dari prosedur atau objek lain, kecuali prosedur yang berada dalam objek itu sendiri.

Dalam sebuah objek yang mengandung variabel-variabel dan method-method, dapat ditentukan hak akses pada sebuah variabel atau method dari objek. Pembungkusan variabel dan method dalam sebuah objek dalam bagian  yang terlindungi inilah yang disebut dengan enkapsulasi. Jadi, enkapsulasi dapat diartikan sebagai bungkusan ( wrapper ) pelindung program dan data yang sedang diolah. Pembungkus ini mendefinisikan perilaku dan melindungi program dan data yang sedang diolah agar tidak diakses sembarangan oleh program lain.

Manfaat dari proses enkapsulasi adalah :

  • Modularitas: kode sumber dari sebuah objek dapat dikelola secara independen dari kode sumber objek yang lain.
  • Information Hiding:karena kita dapat menentukan hak akses sebuah variabel/method dari objek, dengan demikian kita bisa menyembunyikan informasi yang tidak perlu diketahui objek lain.

Enkapsulasi 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.

Contoh Enkapsulasi:

Misal  NRP dari siswa-siswaI T2 : range 1-10.

•Jika NRP tidak dienkapsulasi:

  • Siswa dapat memasukkan sembarang nilai, sehingga perlu melakukan penyembunyian informasi (nformation hiding) thd atribut nrp, sehingga nrp tidak bisa diakses secara langsung.

•Lalu, kalauatributnrptersebutdisembunyikan,

Bagaimana cara mengakses atribut nrp itu untuk memberikan atau mengubah nilai?.

  • Perlu suatu interface untuk mengakses data, yang berupa method dimana didalamnya terdapat implementasi untuk mengakses data nrp.
  • Ø Inheritance (Pewarisan)

Inheritance adalah proses pewarisan data dan method dari suatu kelas kepada kelas yang lain. Pewarisan ini bersifat menyeluruh, sehingga semua data dan method yang dimiliki oleh kelas asalnya akan diturunkan kepada kelas baru. Kelas yang mewarisi disebut kelas “SUPER (super class)” dan kelas yang diwarisi disebut “SUBKELAS (sub class)”. Class dapat didefinisikan dengan referensi pada class yang lain yang telah terdefinisi. Inheritance merupakan pewarisan atribut dan method pada sebuah class yang diperoleh dari class yang telah terdefinisi tersebut. Setiap subclass akan mewarisi state ( variabel-variabel ) dan behaviour ( methodmethod) dari superclass-nya. Subclass kemudian dapat menambahkan state dan behaviour baru yang spesifik dan dapat pula memodifikasi ( override ) state dan behaviour yang diturunkan oleh superclass-nya.

Contoh Inheritance:

  • Sedan dan Sepeda Motor adalah subkelas dari Kendaraan Bermotor.
  • Kedua subkelas mewarisi sifat yang dimiliki oleh Kendaraan Bermotor, yaitu mempunyai mesin dan dapat berjalan.
  • Kedua subkelas mempunyai sifat masing-masing yang berbeda, misalnya jumlah roda, dan kemampuan untuk berjalan mundur yang tidak dimiliki oleh sepeda motor.

Keuntungan dari inheritance adalah :

ü      Subclass menyediakan state/behaviour yang spesifik yang membedakannya dengan superclass, hal ini akan memungkinkan programmer Java untuk menggunakan ulang source code dari superclass yang telah ada.

ü      Programmer Java dapat mendefinisikan superclass khusus yang bersifat generik, yang disebut abstract class, untuk mendefinisikan class dengan behaviour dan state secara umum.

Istilah dalam inheritance yang perlu diperhatikan :

  • Extends

Keyword ini harus kita tambahkan pada definisi class yang menjadi subclass.

  • Superclass

Superclass digunakan untuk menunjukkan hirarki class yang berarti class dasar dari subclass/class anak.

  • Subclass

Subclass adalah class anak atau turunan secara hirarki dari superclass.

  • Super

Keyword ini digunakan untuk memanggil konstruktor dari superclass atau menjadi variabel yang mengacu pada superclass.

  • Methode Overriding

Pendefinisian ulang method yang sama pada subclass.

Inheritas Mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada – objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa haru mengimplementasi ulang perilaku tersebut (bahasa berbasis-objek tidak selalu memiliki inheritas).

  • Polimorfisme

Kata polimorfisme yang berarti satu objek dengan banyak bentuk yang berbeda, adalah konsep sederhana dalam bahasa pemrograman berorientasi objek yang berarti kemampuan dari suatu variabel referensi objek untuk memiliki aksi berbeda bila method yang sama dipanggil, dimana aksi method tergantung dari tipe objeknya. Kondisi yang harus dipenuhi supaya polimorfisme dapat diimplementasikan adalah :

  • Method yang dipanggil harus melalui variabel dari basis class atau superclass.
  • Method yang dipanggil harus juga menjadi method dari basis class.
  • Signature method harus sama baik pada superclass maupun subclass.
  • Method access attribute pada subclass tidak boleh lebih terbatas dari basis class.

Polimorfisme merupakan dua kelas yang diturunkan dari satu kelas mempunyai metode sama tetapi implementasinya berbeda. Polimorfisme  Merupakan kemampuan suatu objek untuk mengungkap banyak hal melalui satu cara yang sama. Sebagai contoh, terdapat kelas A yang diturunkan menjadi kelas B,C dan D. Dengan konsep polimorfisme, kita dapat menjalankan method-method yang terdapat pada kelas B,C dan D hanya dari objek yang di instansiasi dengan kelas A. Polimorfisme sering dinamakan dengan dynamic binding, late binding, maupun runtime binding.

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. Dibanding dengan pemograman tradisional lainnya, OOP memiliki keunggulan yaitu objek bisa digunakan berulang-ulang pada aplikasi yang berbeda dan oleh teknologi yang berbeda.

  1. Belum ada komentar.
  1. No trackbacks yet.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: