Pada kesempatan kali ini mari kita membahas tentang OOP khususnya pada bagian pengertian object dan class, OOP merupakan suatu teknik pemrograman yang mengarah kepada pembentukan objek. Semua data dan fungsi dibuat dalam kelas-kelas dan objek-objek. Sudah jelas akan berbeda dengan logika pemrograman terstruktur, karena setiap objek dapat memproses data, mengirim dan menerima pesan ke objek lainnya.
Pengertian Object dan Class
Dalam kehidupan sehari-hari kita selalu melakukan pengelompokan. Misalkan kita mengatakan “Murid SMP tawuran” atau “Wisatawan ke Indonesia menurun drastis”. Kalimat “murid SMP” dan kata “Wisatawan” adalah kelompok atau Class.
Joni dan Andi adalah Class yang memiliki anggota, anggota dari class murid SMP, atau John Smith adalah anggota dari class Wisatawan. Wisatawan dapat dikategorikan lagi menjadi wisatawan Asia, wisatawan Eropa.
Dengan demikian dapat dikatakan, wisatawan Asia, Wisatawan Eropa adalah subclass dari Wisatawan atau inheritance dari Wisatawan. Inheritance mengandung arti “Menurunkan”, sehingga Wisatawan Asia dan Wisatawan Eropa merupakan turunan dari class Wisatawan.
Oleh karena turunan, maka Class Wisatawan Asia dan Class Wisatawan Eropa harus mempunyai ciri yang sama dari turunannya. Ciri yang diturunkan adalah Attribute dan Operation. Oleh karena itu, subclass sering disebut juga spesialisasi dari class diatasnya.
Di atas disebutkan tentang Attribute dan Operation. Dari situ dapat diambil kesimpulan bahwa setiap class itu mempunyai identitas, attribute dan operation. Identitas merupakan nama Class. Attribute digunakan untuk menyimpan data dan state dari class, seperti pada class Alat transport yang mempunyai attribute Kapasitas muatan dan kecepatan.
Operation merupakan apa yang dilakukan oleh class tersebut seperti pada Alat transport yang mempunyai operation bongkar, muat, jalan, parkir. Subclass dari Alat transport juga mempunyai operation yang sama dari Alat transport.
Masing-masing subclass dapat mempunyai attribute maupun operation tambahan, disamping attribute dan operation yang diturunkan dari class-nya. Object dimulai dari Class, sehingga setiap object dapat lahir dan berakhir/mati dari class. Contoh, class Tahapan; apabila Joni membuka rekening Tahapan, artinya object rekening Tahapan Joni lahir, sedangkan pada saat Joni menutup rekening tahapannya maka rekening tersebut dikatakan mati atau berakhir. Kesimpulannya, object itu mempunyai umur.
Di atas sempat disinggung mengenai State. State ini yang menunjukkan keadaan dari suatu object. Apabila Joni sudah membuka tahapan, itu berarti state/keadaan tahapan Joni adalah aktif, dan kalau tahapan itu aktif, maka Joni dapat menabung dan mengambil uang di tahapan. State setiap object di dalam satu class dapat berbeda-beda.
Perubahan state dapat dilakukan karena adanya suatu event di dalam class tersebut. Pada tahapan tadi event yang dapat dilakukan adalah membuka tahapan, menabung, mengambil dan menutup tahapan.
Mungkin anda tertarik untuk mengunjugi tutorial ” Cara Menentukan Kualitas Software / Aplikasi Web “.
Cara Menentukan Object dan Class
Ciri Object atau Class adalah kata benda. Semua kata benda yang ada dicari pada dokumen kebutuhan user. Setelah dikumpulkan, kata benda tersebut disebut sebagai class candidate. Selanjutnya dianalisa class candidate mana yang berperan dalam sistem, mungkin juga ada kata yang memiliki maksud sama tetapi diungkapkan dengan kata benda yang berbeda.
Berikut ini ada kasus yang dapat dijadikan bahan latihan untuk membuat sistem penjualan toko besi. Sebuah toko bangungan “Maju Jaya” menjual bahan bangunan, seperti semen, paku, pasir, cat, dan lain-lain.
Class Candidates | Class |
---|---|
Toko bangunan | Bahan Bangunan |
Bahan Bangunan | Nota Penjualan |
Paku | Pelanggan |
Pasir | Kasir |
Semen | Supplier |
Cat | Nota Pembelian |
Penjualan | Item Sold |
Pelanggan | Item Purchased |
Nota Penjualan | |
Pembayaran | |
Penjaga Toko | |
Kasir | |
Supplier | |
Pembelian Barang |
Nota penjualan dibuat setiap kali melakukan penjualan. Pembayaran pun dilakukan secara tunai. Penjaga toko akan melayani pelanggan dan pembayaran diberikan pada kasir. Pembelian barang pada supplier juga dilakukan secara tunai.
Kesimpulan
Terkadang kita jumpai bahwa beberapa bahasa pemrograman tertentu dapat membuat class, sehingga kita menganggap bahwa pemrograman tersebut sudah berbasis objek. Padahal hal tersebut belum tentu benar, untuk lebih jelasnya silahkan kunjungi tutorial ” Cara Menentukan Pemrograman Berbasis Objek “.
Demikian totorial Pengertian Object dan Class Belajar OOP, semoga dapat memberikan gambaran yang detail tentang apa itu object dan class. Artikel ini merupakan salinan dari rubrik asuhan Indra Sosrodjojo, beliau merupakan Direktur Andal Software dan sekaligus pengajar Pasca Sarjana UBINUS.
Sumber Wiki : Pemrograman berorientasi objek
Happy Nyekrip!
oke gan, sebagai bekal dalam pemrograman. materi bagus gan
thanks juga gan, semoga bermanfaat :)
Mantap Gan.
sharing aja gan khawatir saya yang salah.
Maaf gan saya kurang mengerti dalam tabelnya. kalau menurut saya class merupakan object umum dari sebuah benda kemudian candidate class adalah varian dari object yang dikemukakan tadi. hal ini kenapa perlu kita pahami untuk menentukan logika pemrograman terstruktur, karena setiap objek dapat memproses data, mengirim dan menerima pesan ke objek lainnya.
Kalau kita menggunakan kaidah “konfigurasi sistem” atau kaidah ” hierarki system”
Kenapa saya perlu jelaskan ini karena untuk menghindari transaksi yang mengandung gharar/ penipuan
Table di atas seharusnya untuk superclass seharusnya hanya toko bangunan.
A. Toko Bangunan sebagai Superclass (karena kaidahnya setiap superclass hanya ada satu strata yaitu pada strata tertinggi)
kemudian yang kita breakdown menjadi class
1. Bahan bangunan
adapun bangunan kita breakdown lagi menjadi candidate class/object class:
a. Paku,
b.Pasir,
c. Semen,
d. Cat
atau dengan kata lain candidate class/object class/barang yang akan dijual
2 Penjualan.
adapun Penjualan kita breakdown lagi menjadi candidate class/object class:
a. Nota Penjualan/ Faktur
b. Kasir
c. Nota Pembelian
d. Item Sold out
e. Item Purchased
3. Pelanggan
4. Pembayaran
Jika tidak ada barang(saya sarankan menggunakan akad istisna dengan syarat sang pemilik online membuat kesepakatan kepada pemilik barang untuk menjadi wakil dari toko online tersebut)
dapat menggunakan sistem
a. paypal/ tetap menggunakan akad istisna dalam syariat islam/ pesan dulu
b. kontra bon/ tetap menggunakan akad istisna dalam syariat islam/pesan dulu
jika tidak ada barang ya jangan jualan dulu, gunakan saja sistem pemesanan dengan tempo waktu tertentu.
5. Penjaga toko
biasanya berupa identitas pelayan dan contact person yang dapat memberikan umpan balik kepada costumers
6.Stock barang
adapun sisanya yang ada dalam table candidat class tidak kita anggap dulu karena tidak ada kaitanya secara langsung atau bentuknya tidak jelas atau faktor eksternal seperti Suplier dan pembelian barang.
seperti itu juga bisa, karena dasarnya hanya pada intansinya aja :)