Jumat, 15 Maret 2013

JAVA - Class dan Objek

Sebelum kita membahas, ada baiknya kita bahas sejenak tentang konsep pemrograman sederhana. Anggaplah kita mencari luas sebuah lingkaran. Rumus mencari luas lingkaran : [ π . r2], dimana "phi" adalah konstanta(variabel yang tdk dapat dirubah dan diisi dari awal), sedangkan "r" adalah sebuah variabel, sehingga karena "π" adalah konstanta(sudah ditentukan dari awal) dan "r" ditentukan oleh user maka "r" adalah yang menentukan besar kecilnya nilai hasilnya.



Nah, di atas adalah contoh sebuah fungsi.
Lihat input dan outputnya dibawah.


Parameter (r)
Fungsi
Nilai balik (Luas)
R=5
22/7 x r^2
78,57
R=3
22/7 x r^2
28,29
R=1
22/7 x r^2
3,14


Dengan tabel di atas kita bisa menyimpulkan bahwa dengan masukkan yang berbeda maka akan mendapakan keluaran yang berbeda-beda pula.

Kelebihan dari cara ini adalah fungsi yang digunakan untuk proses perhitungan hanya ada satu. Kelemahannya adalah jika terjadi perubahan, misal ada pengembangan rumus maka seluruh data akan menerima dampaknya.

Untuk mengatasi kekurangan di atas class adalah solusinya. Jadi kita membuat model objek yang berisi proses perhitungan luas lingkaran. Kita sebut saja objek tersebut objek lingkaran, sebelum membuatnya kita harus membuat strukturnya terlebih dahulu. Ini dikenal dengan istilah membuat class.

Class adalah cetakan untuk membuat objek dengan struktur yang sama tapi juga bisa dengan nilai bahkan prosedur yang berbeda. Sebuah class bisa di-instan menjadi satu atau lebih objek. Sebuah class tidak bisa digunakan untuk menyimpan, memanipulasi dan menyimpan data. Kita hanya bisa melakukan proses tersebut terhadap objek.

Dengan istilah lain :
"Arsitek perumahan membangun sekian banyak rumah derdasarkan satu gambar desain yang dimiliki. Jadi gambarnya hanya ada satu, dan rumah yang diciptakan dari gambar tersebut ada banyak. Kita bisa menempati rumah tersebut tapi tidak bisa menempati gambarnya."

Kesimpulan :
Gambar -> class
Rumah -> objek

Sekian dulu ya, kita lanjutkan tutorialnya dengan membuat contoh class sederhana.
Jika ada hal yang ingin ditanyakan atau ditambahkan silahkan share dengan berkomentar ya.
Terima kasih.

1 komentar: