Variabel di dalam OOP python jika ditinjau dari jumlah copy-nya, maka ia terbagi menjadi 2: yang pertama adalah static variable, dan yang kedua adalah instance variable. Show Keduanya sama-sama variabel seperti umumnya. Bedanya, variabel statis hanya memiliki satu copy saja di dalam memory selama aplikasi berjalan, sedangkan instance variable bisa memiliki banyak copy sesuai dari banyaknya instan. Instance VariableDinamakan instance variable karena variabel tersebut adalah milik dari tiap instance/objek dari suatu kelas. Artinya, jika sebuah kelas memiliki instance variable dengan nama Di dalam python, setiap variabel yang didefinisikan di dalam fungsi pada sebuah kelas (lewat variabel 0), maka ia dikatakan instance variable.Perhatikan contoh berikut:
Pada contoh di atas, kelas 1 memiliki atribut 2 yang dilekatkan ke dalam objek 0. Itu artinya: setiap instance/objek dari kelas 1 akan memiliki variabel 2 dengan nilainya masing-masing.Sekarang, buat dua instance dari kelas 1:
Pada kode program di atas: instance dengan nama 7 dan 8 masing-masing memiliki atribut/variabel 2 dengan nilai yang berbeda.Pertanyaannya adalah: ada berapa copy dari variabel 2 selama program dijalankan?Jawabannya: ada 2 copy. Karena variabel 2 adalah instance variable dan jumlah copy-nya sama dengan jumlah instance dari kelas yang bersangkutan.Mari kita tampilkan masing-masing nilai dari variabel 2:
Output:
Static Variable atau Class VariableSeperti yang telah disinggung di atas bahwasanya static variable adalah variabel statis yang jumlah copy-nya hanya ada satu saja selama aplikasi dijalankan. Misal kita memiliki sebuah kelas, dan kelas tersebut memiliki seratus instance, tetap saja static variable dari kelas tersebut hanya ada satu saja di memori. Oleh karena itu, static variable juga sering dikenal dengan istilah class variable. Perhatikan contoh berikut:
Pada kode di atas, terdapat dua buah variabel. Yang pertama adalah variabel 3 yang merupakan variabel static –di mana ia disandarkan langsung kepada kelas 1–. Dan yang kedua adalah variabel 2 yang mana ia disandarkan kepada objek 0 alias kepada instance yang bersangkutan.Kita bisa mengakses langsung variabel 3 tanpa harus membuat objek, akan tetapi kita tidak bisa mengakses variabel 2 tanpa membuat sebuah objek.Perhatikan contoh berikut:
Variabel statis juga bisa kita akses melalui instance dari suatu kelas:
Kalau kita ingin mengubah isi dari variabel statis, kita harus mengubahnya lewat nama kelas tersebut secara langsung dan bukan melalui objek dari kelas yang bersangkutan. Perhatikan contoh berikut:
KesimpulanDari pertemuan kali ini bisa kita simpulkan bahwa variabel dalam konteks OOP pada python, jika ditinjau dari jumlah copy-nya terbagi menjadi dua: static variable dan instance’s variable. Static variable hanya memiliki satu copy saja sedangkan instance variable memiliki jumlah copy yang sama sesuai dengan jumlah instan yang ada. Variable static didefinisikan secara langsung di dalam blok kode 9, berbeda dengan instance variable yang mana ia disandarkan ke dalam objek 0 pada method sebuah 9.Kode Program LengkapUntuk kode program lengkap pada pertemuan kali ini, kalian bisa mendapatkannya di sini. Pertemuan SelanjutnyaPada pertemuan selanjutnya insyaallah kita akan membahas tentang static method pada python. Ia hampir sama dengan static variable, yaitu sebuah fungsi/method yang bersifat statis dan bisa dipanggil tanpa harus membuat sebuah instan. Apa itu instance di Python?Variabel kelas didefinisikan di dalam kelas, tapi di luar metode-metode yang ada dalam kelas tersebut. Instance – Instance adalah istilah lain dari objek suatu kelas. Sebuah objek yang dibuat dari prototipe kelas Lingkaran misalnya disebut sebagai instance dari kelas tersebut.
Apa itu objek dalam python?Objek pada python adalah kumpulan dari variabel-variabel (dinamakan atribut) dan kumpulan dari fungsi-fungsi (dinamakan perilaku). Atas definisi itu, maka semua hal di dalam python adalah sebuah Objek. Objek dan Kelas dalam python bermakna sama.
Apa itu atribut pada python?Atribut adalah data anggota (variabel kelas dan variabel contoh) dan metode, diakses melalui notasi titik. Sebuah variabel yang dibagi oleh semua contoh kelas. Variabel kelas didefinisikan dalam kelas tapi di luar metode kelas manapun.
Apa itu instance dalam OOP?Instance bisa diartikan sebagai wujud dari class. Class berisi definisi variabel dan fungsi yang menggambarkan sebuah objek.
|