Sunday - May 18, 2008

Home | Site Map | Channels | Profile | Press Room | Services | Contact 

currently 9 user(s) online

search 

   Latest News

»

sony-ak.com Luncurkan Kamus Teknologi Informasi (May 27, 2006)

»

sony-ak.com Luncurkan IT Event Calendar (May 20, 2006)

»

Web Chat Berbasis AJAX dari sony-ak.com (May 09, 2006)

»

sony-ak.com Advertising Program (May 01, 2006)

»

Sony AK di Tabloid PCplus (April 18, 2006)

news archives » 


   Random Article

»

Teknologi Hardisk - Bagian 2 (7894)

»

Tiga Kunci Utama Membangun Website yang Sukses di Internet (3601)

»

Mengenal KFract (1055)

»

Tiga Peranan Penting Internet bagi Usaha Kecil Menengah (UKM) (5949)

»

Penghargaan Bagi Mereka yang Mau Berbagi (1871)

   Newsletter

Join our newsletter, you will get alert about content updates

powered by Yahoo! Groups















Nedstat Basic - Free web site statistics

 
 
Objek versus Kelas

Author: Ario Sutomo
Published: September 20, 2005
Visits: 2775 - Category: Object Oriented
 
     
 

Dalam konsep berorientasi objek, istilah objek dan kelas merupakan hal yang mendasar. Sulit membedakannya bagi orang yang awam dalam konsep object-oriented. Penulis juga sempat bingung harus memulai dari “siapa”, objek dulu atau kelas dulu. Akhirnya dengan melewati renungan yang panjang (dan eksplorasi beberapa sumber), diputuskan bahwa kita mulai dari objek dulu yang kemudian disusul dengan kelas.

Objek
Secara sederhana, objek merupakan segala sesuatu yang dapat dibedakan satu sama lainnya. Segala sesuatu yang ada di alam semesta ini adalah objek. Contohnya: manusia, mobil, hewan, tumbuhan, tempat, atau bahkan yang tidak bersifat fisik seperti kejadian atau konsep-konsep. Sehingga bisa disimpulkan bahwa objek tidak harus bersifat fisik, karena jika dikaitkan dengan OOP objek akan menjadi bentuk logis.

Dalam dunia nyata, objek memiliki dua karakteristik: keadaan (state) dan sifat (behavior). Contohnya, sapi memiliki keadaan (nama, warna, tanduk, berat, jenis kelamin) dan sifat (bersuara, berjalan, makan). Mobil juga memiliki keadaan (jumlah ban, status gigi, merk, jumlah penumpang) dan sifat (berjalan, belok, berhenti, merubah gigi).

Objek dalam konsep OOP masih memiliki keadaan dan sifat seperti halnya objek di dunia nyata, karena pada dasarnya objek dalam OOP merupakan representasi dari dunia nyata. Objek dalam OOP merepresentasikan keadaan melalui variabel, sedangkan sifatnya direpresentasikan menjadi method. Method merupakan suatu fungsi (sub-routine) yang berhubungan dengan objek.

Definisi: “objek merupakan penggabungan variabel-variabel dan method-method yang berhubungan dengannya.”

Setiap objek bisa dibedakan antara satu dengan yang lainnya. Misalnya, objek mobil bisa dibedakan berdasarkan merknya. Objek hewan bisa dibedakan berdasarkan jenis dan ciri fisiknya. Walaupun objek tersebut bernama sama, tetapi masih tetap bisa dibedakan. Misalnya, objek mobil Kijang bisa dibedakan berdasarkan nomor rangka, warna, tahun keluaran, tipe, nomor polisi, dan sebagainya. Objek kucing bisa dibedakan dari warna dan corak bulunya. Bahkan dua orang yang kembar pun masih bisa dibedakan satu sama lainnya, misalnya dengan nama atau ciri tertentu yang spesifik dan juga sifatnya. Konsep “pembedaan” ini disebut dengan konsep identitas.

Segala sesuatu yang diketahui oleh objek (state) dan yang bisa dilakukannya (behavior) terangkum dalam variabel dan method. Misalnya objek yang memodelkan mobil memiliki variabel yang menandakan keadaan dari objek tersebut, misalnya: jumlah ban ada 4, penumpang ada 5, sedang berjalan dengan kecepatan 60 km/jam, dan giginya sedang pada gigi 4. Variabel-variabel tersebut biasanya disebut dengan variabel instans (instance variable) karena pada dasarnya menjelaskan keadaan tertentu dari objek mobil. Sedangkan objek tertentu tersebut (mobil) dalam terminologi OOP disebut dengan instans (instance).

Seperti halnya variabel, objek mobil juga harus memiliki method untuk mengurangi kecepatan, mengerem, dan merubah gigi. Method ini disebut dengan method instans (instance method) karena method-method tersebut merubah keadaan objek mobil tersebut.

Pada hampir kebanyakan sumber, objek diilustrasikan dalam diagram sebagai berikut.

Pada diagram tersebut tergambarkan bahwa variabel posisinya di tengah-tengah (inti) objek. Method-method mengelilingi dan terkesan menyembunyikan keberadaan inti objek tersebut (variabel) dari objek lain. Pembungkusan variabel-variabel objek yang dijaga oleh methodnya disebut dengan enkapsulasi (encapsulation).

Suatu objek bisa juga spesialisasikan menjadi objek yang lebih rendah tingkatnya (spesialisasi/specialization) atau bisa digeneralisasikan menjadi objek yang lebih tinggi tingkatnya (generalisasi/generalization). Untuk lebih jelasnya bisa dilihat pada gambar 3.

Mobil bisa dispesifikasikan menjadi mobil Toyota Kijang, Honda Jazz, Daihatsu Xenia, dan Hyundai Atoz. Selain itu mobil juga bisa digeneralisasi bersama-sama dengan objek pesawat terbang dan kapal laut menjadi objek alat transportasi. Begitu juga dengan manusia, hewan, dan tumbuhan bisa dikelompokkan menjadi objek mahluk hidup.



Gambar 3. Contoh generalisasi/spesialisasi

Konsep generalisasi dan spesifikasi (gen-spec) hanyalah masalah dari mana kita “membaca” suatu objek. Gambar 2a bisa juga disebut generalisasi jika kita membacanya dari bawah ke atas.

Generalisasi sering disebut juga dengan klasifikasi, dan klasifikasi inilah yang akan mengantarkan kita pada konsep kelas yang akan kita bahas di bagian berikutnya.

Kelas (Class)
Kelas merupakan suatu konsep yang lebih tinggi lagi hierarkinya dari objek yang dihasilkan dari proses generalisasi objek-objek yang memiliki beberapa ciri yang sama. Dalam OOP, kelas merupakan suatu hasil pemodelan fakta-fakta dari suatu objek yang berguna bagi suatu aplikasi yang diprogram. Proses pemodelan fakta-fakta tersebut disebut dengan abstraksi.

Proses abstraksi sangat penting ketika kita melakukan analisa sesuatu dari dunia nyata agar bisa dimodelkan menjadi bentuk logis yang dimengerti oleh aplikasi/komputer. Misalnya, untuk memodelkan mahasiswa, kita cukup memasukkan nama, alamat, tempat lahir, tanggal lahir, telepon, orang tua, dan sebagainya.

Perlu dicatat bahwa proses abstraksi hanya memasukkan fakta-fakta yang berguna (penting) saja bagi aplikasi yang bersangkutan. Misalnya pada objek mahasiswa tadi, kita belum tentu perlu memasukkan warna mata, berat badan, ukuran sepatu, bentuk wajah, bentuk hidung, warna kulit, dan lain-lain yang tidak ada hubungannya dengan kegiatan perkuliahan nantinya di universitas yang bersangkutan.

Fakta-fakta yang dimodelkan bisa berupa ciri dan fungsi dari suatu objek. Pada kelas hasil abstraksi, ciri-ciri tadi akan berubah menjadi data yang memiliki tipe, dan fungsi akan lebih sering disebut sebagai method. Kadang-kadang data juga disebut dengan variabel instan.

Sehingga bisa ditarik kesimpulan sederhana, bahwa kelas merupakan suatu metode logis yang mengorganisir/menggabung data dan method pada struktur yang sama.

Perbedaan Objek dan Kelas
Setelah melalui penjelasan tentang objek dan kelas di atas, kita bisa simpulkan perbedaan antara keduanya.

Kelas adalah sesuatu yang menjelaskan ciri-ciri secara umum dari suatu objek, termasuk apa-apa yang bisa dilakukan objek tersebut. Sedangkan objek adalah keadaan tertentu dari suatu kelas, atau sering juga disebut dengan instans dari kelas.

Mari kita simak kalimat singkat berikut untuk lebih memperdalam pemahaman kita tentang objek dan kelas:

“Seekor kucing Persia memiliki empat ekor anak.”

Kalimat tersebut mengisyaratkan bahwa kucing Persia merupakan kelasnya, sedangkan anak-anaknya merupakan objek. Dengan kata lain, jika seekor kucing Persia tersebut memiliki empat anak, berarti dia telah membuat empat buah objek (instans) dari kelas kucing Persia. Setiap anak kucing memiliki cirinya tersendiri. Ada yang berbulu putih, kuning, hitam, atau campuran hitam kuning. Selain itu ada yang memiliki ekor panjang sempurna, panjang bengkok, pendek, ekor “keriting”, dan sebagainya. Dan jenis kelaminnya juga ada beberapa yang jantan dan ada juga yang betina. Tetapi walaupun berbeda dalam hal ciri-ciri fisiknya, harus diingat bahwa semuanya tetaplah kucing Persia.

Semoga dengan tulisan yang singkat ini bisa memperdalam pemahaman Anda mengenai objek dan kelas.

Demikian tulisan mengenai objek dan kelas dalam dunia object oriented. Semoga bermanfaat bagi Anda semuanya. Jika ada saran atau komentar bisa dilayangkan ke arioss@softhome.net. Untuk membaca tulisan menarik lainnya silakan menuju ke situs Sony AK Knowledge Center dengan alamat di www.sony-ak.com.

Terima kasih.




 Recommended articles
 

»

Menampilkan Kotak Dialog Autentikasi Pada phpMyAdmin (4116)

»

Membuat Web Counter Sederhana Dengan PHP dan Text File (4336)

»

Mengetahui Besarnya Ukuran File Menggunakan PHP (2294)

»

Group Support System (GSS) (3383)

»

Beberapa Situs Penyedia IT Knowledge Gratis di Indonesia (5067)

 Send your comments or suggestions
Full Name :
E-mail :
Comments :
 
 

  Privacy | Site Map | Advertise

  Copyright © 2003 - 2006 Sony AK Knowledge Center - all rights reserved

  info@sony-ak.com