Membuat kelasmu sendiri
Gara memiliki kelas-kelas bawaan seperti Integer
, Kata
, Deret
dan lain sebagainya. Tapi, Gara tidak memiliki kelas seperti Siswa
. Sama halnya, Gara juga tidak memiliki kelas untuk merepresentasikan Guru
, Sekolah
, Buku
, Musium
, dan lain sebagainya.
Kenapa?
Bayangkan apa yang terjadi jika Gara harus mendefinisikan seluruh kelas yang ada di dunia ini:
- Gara menjadi susah dipelajari karena terdapat banyak sekali kelas-kelas yang ada.
- Gara menjadi terlalu besar untuk dapat didownload dan dipakai, karena ia berisi banyak sekali kode yang sebenarnya hanya diperlukan kasus-per-kasus.
- Pembuat Gara harus mengerti seluk beluk hal apapun yang ada didunia. Padahal, tidak ada manusia yang dapat menguasai seluruh cabang ilmu untuk membuat representasi kelas secara akurat.
Oleh karena itu, Gara hanya mendefinisikan kelas-kelas dasar. Namun, Gara menyediakan fasilitas bagi para penggunanya untuk membuat kelas mereka sendiri. Justru dengan cara ini pemrogramn dapat mendefinisikan kelasnya masing-masing sesuai dengan apa yang dibutuhkan.
Sebenarnya, kita telah membuat kelas kita sendiri sebelumnya, saat kita bereksperimen dengan Halo, dunia!
. Untuk membuat suatu kelas, kita menggunakan kata kunci kelas
disusul dengan nama kelas tersebut:
kelas Orang {}
Kita bisa membuat objek dari suatu kelas dengan cara memanggil fungsi baru
:
ada orang = Orang.baru()
Kita bisa mengecek apakah suatu objek itu bertipe suatu kelas menggunakan kata kunci itu
:
cetak(orang itu Orang)
Kode diatas akan menghasilkan nilai logika benar
. Seluruh objek di Gara bisa kita cek tipenya menggunakan itu
:
1 itu Angka
2 itu Angka
"1" itu Kata
benar itu Boolean
Data dalam kelas
Suatu kelas bisa memiliki berbagai data, atau disebut juga sebagai variabel instansi. Katakanlah, setiap Orang
pasti punya nama, sehingga kita bisa menambahkan nama
sebagai variabel instansi di kelas Orang
:
kelas Orang {
ada nama
}
Kita bisa mengisi suatu variabel instansi seperti dalam contoh berikut:
ada orang1 = Orang.baru()
orang1.nama = "Rudi"
ada orang2 = Orang.baru()
orang2.nama = "Ferlin"
Jika kita memberi nilai untuk variabel instansi yang belum kita ada
-kan, tentu akan terjadi masalah:
orang1.umur = 7
Agar kita bisa memberi nilai untuk umur
, kita harus mengadakan umur
terlebih dahulu:
kelas Orang {
ada nama
ada umur
}
Membaca data suatu variabel instansi juga sangat sederhana:
orang1.nama
Penting
Suatu kelas bisa memiliki berbagai data, atau disebut juga sebagai variabel instansi
Tingkah laku kelas
Selain menampung data atau variabel instansi, kelas dapat menampung tingkah laku. Dalam pemrograman berorientasi objek, terdapat suatu konsep bernama enkapsulasi. Konsep ini mengatakan bahwa kelas adalah gabungan data dan tingkah laku yang bisa dilakukan pada data tersebut.
Misal, apa yang bisa dilakukan seseorang? Salah satunya adalah memperkenalkan dirinya sendiri. Sehingga, kita bisa menambahkan tingkah laku perkenalkanDiri
pada kelas Orang
. Untuk mendefinisikan tingkah laku dalam kelas, kita perlu membuat fungsi.
kelas Orang {
ada nama
ada umur
fn perkenalkanDiri() {
cetak("Halo, namaku " + nama + ", aku berumur " + umur + " tahun")
}
}
Sekarang, kelas Orang
bisa memperkenalkan dirinya sendiri:
ada orang1 = Orang.baru()
orang1.nama = "Rudi"
orang1.umur = 7
orang1.perkenalkanDiri()
Kelas-kelas seperti Kata
, Integer
, Deret
dan banyak kelas lainnya juga memiliki data dan tingkah lakunya masing-masing.
Kelas Kata
misalnya, memiliki tingkah laku besar
yang bisa membuat tulisan dalam kata tersebut tercetak dalam huruf besar:
ada namaHurufKecil = "rudi"
ada namaHurufBesar = namaHurufKecil.besar()
Kelas Integer
misalnya, memiliki tingkah laku antara?
untuk mengecek apakah angka tersebut diantara dua angka lainnya:
cetak(5.antara?(1, 10))
cetak(5.antara?(11, 20))
Nah, untuk mengetahui apa saja tingkah laku yang bisa dilakukan oleh suatu kelas, kita bisa mencari tahunya lho, dengan menggunakan metode
:
cetak("adam".metode())
Kode diatas akan mencetak deret yang berisi tingkah laku apa saja yang terdapat dalam kelas. Dan benar, suatu tingkah laku dalam kelas disebut sebagai metode dari kelas tersebut.
Penting
Suatu tingkah laku dalam kelas disebut sebagai metode dari kelas tersebut
Kesimpulan
Jadi suatu kelas dapat memiliki dua hal:
- Variabel instansi untuk mencatat data
- Metode, yakni tingkah laku yang dapat dilakukan suatu kelas terhadap datanya