Jika Anda sedang belajar mengenai pemrograman atau teknologi informasi, pasti sudah tidak asing lagi dengan istilah instance. Namun, apa sebenarnya yang dimaksud dengan instance?
Pengertian Instance
Secara sederhana, instance dapat diartikan sebagai sebuah objek atau salinan dari sebuah kelas. Dalam konsep pemrograman berorientasi objek, kelas dianggap sebagai blueprint atau rancangan dari sebuah objek yang akan dibuat. Sedangkan instance merupakan hasil dari pembuatan objek berdasarkan rancangan kelas tersebut.
Untuk lebih memahami konsep ini, mari kita ambil contoh sebuah kelas “Mobil. Di dalam kelas ini, terdapat atribut-atribut seperti “merk”, “warna”, dan “tahun produksi”. Selain itu, terdapat pula method atau fungsi-fungsi seperti “menyalakan mesin”, “mematikan mesin”, dan “bergerak ke depan”.
Dari rancangan kelas “Mobil” tersebut, Anda dapat membuat beberapa instance mobil dengan merk, warna, dan tahun produksi yang berbeda-beda. Setiap instance mobil tersebut memiliki atribut-atribut yang berbeda-beda, tetapi memiliki method yang sama dengan kelas “Mobil”.
Jenis-Jenis Instance
Secara umum, terdapat dua jenis instance, yaitu:
1. Instance dari Class
Instance dari class merupakan objek yang dibuat berdasarkan rancangan kelas yang telah dibuat sebelumnya. Setiap instance memiliki atribut-atribut yang berbeda-beda, tetapi memiliki method yang sama dengan kelas tersebut.
Contoh:
class Mobil:def __init__(self, merk, warna, tahun_produksi):self.merk = merkself.warna = warnaself.tahun_produksi = tahun_produksidef jalan(self):print("Mobil", self.merk, "bergerak ke depan")mobil1 = Mobil("Toyota", "Merah", 2010)mobil2 = Mobil("Honda", "Biru", 2015)mobil1.jalan() # Output: Mobil Toyota bergerak ke depanmobil2.jalan() # Output: Mobil Honda bergerak ke depan
Pada contoh di atas, terdapat sebuah kelas “Mobil” yang memiliki atribut-atribut “merk”, “warna”, dan “tahun_produksi”, serta method “jalan”. Kemudian, terdapat dua instance mobil, yaitu “mobil1” dan “mobil2”. Setiap instance memiliki atribut-atribut yang berbeda-beda, tetapi memiliki method “jalan” yang sama dengan kelas “Mobil”.
2. Instance dari Objek Lain
Instance dari objek lain merupakan objek yang dibuat berdasarkan objek lain yang telah dibuat sebelumnya. Dalam hal ini, instance baru akan memiliki semua atribut dan method dari objek yang menjadi dasarnya.
Contoh:
class Mobil:def __init__(self, merk, warna, tahun_produksi):self.merk = merkself.warna = warnaself.tahun_produksi = tahun_produksidef jalan(self):print("Mobil", self.merk, "bergerak ke depan")mobil1 = Mobil("Toyota", "Merah", 2010)mobil2 = mobil1mobil1.jalan() # Output: Mobil Toyota bergerak ke depanmobil2.jalan() # Output: Mobil Toyota bergerak ke depanmobil2.merk = "Honda"print(mobil1.merk) # Output: Hondaprint(mobil2.merk) # Output: Honda
Pada contoh di atas, terdapat sebuah kelas “Mobil” yang memiliki atribut-atribut “merk”, “warna”, dan “tahun_produksi”, serta method “jalan”. Kemudian, terdapat instance mobil “mobil1”. Selanjutnya, instance baru “mobil2” dibuat dengan mengacu pada instance “mobil1”.
Setelah itu, nilai atribut “merk” pada instance “mobil2” diubah menjadi “Honda”. Kemudian, saat nilai atribut “merk” pada instance “mobil1” diakses, nilainya juga berubah menjadi “Honda”. Hal ini terjadi karena instance “mobil2” dibuat berdasarkan instance “mobil1”, sehingga keduanya memiliki nilai atribut yang sama.
Keuntungan Menggunakan Instance
Penggunaan instance dalam pemrograman berorientasi objek memiliki beberapa keuntungan, antara lain:
1. Modularitas
Dengan menggunakan instance, Anda dapat membagi program menjadi beberapa bagian yang saling terpisah dan independen. Setiap bagian dapat memiliki instance-nya sendiri, sehingga membuat program lebih modular dan mudah dipelihara.
2. Reusabilitas
Dalam konsep pemrograman berorientasi objek, kelas dapat digunakan kembali di beberapa bagian program yang berbeda. Anda hanya perlu membuat instance baru dari kelas tersebut, tanpa perlu membuat ulang kelasnya.
3. Polimorfisme
Polimorfisme merupakan kemampuan sebuah objek untuk berperilaku berbeda-beda dalam situasi yang berbeda. Dalam pemrograman berorientasi objek, instance dari kelas yang berbeda dapat memiliki method yang sama, sehingga memungkinkan untuk melakukan polimorfisme.
Kesimpulan
Instance merupakan objek atau salinan dari sebuah kelas dalam konsep pemrograman berorientasi objek. Terdapat dua jenis instance, yaitu instance dari class dan instance dari objek lain. Penggunaan instance memiliki beberapa keuntungan, seperti modularitas, reusabilitas, dan polimorfisme.