Rekayasa Perangkat Lunak
195
8.8.1. Pembuatan Kelas
Pada Java kelas didefinisikan dengan kata kunci class. Bentuk umum untuk mendefinisikan kelas adalah sebagai berikut:
class NamaKelas tipe
data1; tipe
data2; …
tipe
dataN; tipe method1 daftar parameter {
blok kode untuk method1 }
tipe method2 daftar parameter { blok kode untuk method2
} …
tipe methodN daftar parameter { blok kode untuk methodN
} }
Data atau variabel yang didefinisikan di dalam kelas sering disebut sebagai instance variable. Nilai-nilai variabel ini akan dibaca melalui method-method
yang tersedia. Dengan demikian method digunakan sebagai antarmuka interface antara pemakai kelas dengan data yang ada di dalam kelas tersebut.
I ngat kembali prinsip encapsulation di awal bab. Perhatikan contoh kelas
berikut. Contoh 8.22. Membuat kelas sederhana.
class Siswa {
String name; String alamat;
int usia;
}
Pada kode di atas kita membuat class dengan nama Siswa. Ada tiga data yang ada pada class tersebut yaitu nama, alamat dan usia. Kita belum
menambahkan method di sini. Melalui kode di atas sebenarnya kita telah mendefinisikan tipe data baru yaitu Siswa. Kode program di atas hanyalah
sebuah template. Artinya kalau jalankan program di atas tidak akan menghasilkan apa-apa. Kita perlu membuat obyek aktual berdasarkan kelas di
atas. Dengan cara sebagai berikut.
Contoh 8.23. Menggunakan kelas.
class Siswa { String nama;
String alamat; int usia;
}
Di unduh dari : Bukupaket.com
196
Rekayasa Perangkat Lunak
public class DataSiswa { public static void mainString[] args {
Siswa siswa1 = new Siswa; siswa1.nama
= Roni;
siswa1.alamat = Mergosono Gg. 1 No. 34; siswa1.usia
= 23;
System.out.printlnNama : + siswa1.nama; System.out.printlnAlamat : + siswa1.alamat;
System.out.printlnUsia : + siswa1.usia; }
}
Kode program di atas harus kita simpan dengan nama file DataSiswa.java, buka Siswa.java. Hal ini karena
method main berada pada class DataSiswa. Pada kode di atas kelas Siswa kita gunakan pada kelas DataSiswa. Kita
membuat obyek aktual dari kelas Siswa dengan cara mengetikkan
Siswa siswa1 = new Siswa;.
Siswa1 adalah nama obyek aktual dari kelas Siswa. Setelah itu baru kita dapat menggunakan variabel atau data yang ada
pada kelas siswa. Kalau dijalankan, kode program di atas akan menghasilkan output seperti pada Gambar 8.13.
Gambar 8.13. Hasil eksekusi terhadap class DataSiswa. Sekarang kita akan buat kelas menjadi sedikit lebih kompleks dengan
mengikutkan method pada kelas tersebut. Perhatikan contoh berikut. Contoh 8.23. Pembuatan kelas yang mempunyai method.
class Siswa { String nama;
String alamat; int usia;
double nilaiMatematika; double nilaiBhsInggris;
double nilaiBhsIndonesia; double rerata;
Menghasilkan nama dari Siswa public String getNama{
return nama; }
Di unduh dari : Bukupaket.com
Rekayasa Perangkat Lunak
197
Mengubah nama siswa public void setNama String temp {
nama = temp; }
Menghitung rata – rata nilai public double getRerata{
rerata =
nilaiMatematika+nilaiBhsInggris+nilaiBhsIndonesia 3; return
rerata; }
} public class DataSiswa {
public static void mainString[] args { Siswa siswa1 = new Siswa;
siswa1.setNamaRony; siswa1.nilaiMatematika
= 67;
siswa1.nilaiBhsInggris =
87; siswa1.nilaiBhsIndonesia
= 59;
System.out.printlnNama :
+ siswa1.getNama;
System.out.printlnNilai Matematika : + siswa1.nilaiMatematika;
System.out.printlnNilai Bahasa Inggris : + siswa1.nilaiBhsInggris;
System.out.printlnNilai Bahasa Indonesia : + siswa1.nilaiBhsIndonesia;
System.out.printlnRerata
: +
siswa1.getRerata; }
}
Pada kode di atas kita memperluas kelas Siswa dengan menambahkan empat variabel yaitu nilaiMatematika, nilaiBhsI nggris, nilaiBhsI ndonesia dan
rerata. Kita juga menambahkan tiga buah method yaitu getNama, setNama dan
getRerata. getNama merupakan method untuk menampilkan isi dari variabel nama. setNama adalah
method untuk memberi nilai pada variabel nama. getRerata adalah
method untuk menghitung rata-rata nilai dari tiga pelajaran dan menampilkan isi dari hasil perhitungan. Perhatikan bagaimana method ini
digunakan pada kelas DataSiswa. Apabila dijalankan maka kita akan memperoleh output seperti pada Gambar 8.14.
Di unduh dari : Bukupaket.com
198
Rekayasa Perangkat Lunak
Gambar 8.14. Eksekusi pada class yang mempunyai method. Ada beberapa tipe
method di dalam class, yaitu method yang tidak mengembalikan nilai,
method yang mengembalikan nilai dan method khusus yaitu constructor. Secara umum
method ini boleh kita samakan dengan prosedur atau fungsi lihat kembali Bab 6 dan 7. Perhatikan contoh-contoh
berikut ini. Contoh 8.24. Pembuatan method tanpa pengembalian nilai.
Class Bangun { double panjang;
double lebar;
Mendefinisikan method void tidak mengembalikan nilai void cetakLuas {
System.out.println“Luas bangun = “ + panjang lebar;
}
} class pakaiBangun {
public static void mainString[] args { Bangun b1, b2;
instansiasi objek b1 = new Bangun;
b2 = new Bangun;
mengisi data untuk objek b1 b1.panjang = 4;
b1.lebar = 3;
mengisi data untuk objek b2 b2.panjang = 6;
b2.lebar = 5;
memanggil method cetakLuas untuk masing-masing objek
b1.cetakLuas; b2.cetakLuas;
}
Di unduh dari : Bukupaket.com
Rekayasa Perangkat Lunak
199
}
Pada kode di atas, class Bangun mempunyai satu method yaitu cetakLuas.
Method ini tidak mengembalikan nilai. Hasil akhir dari method ini akan tersimpan pada
method tersebut. Bandingkan dengan contoh berikut. Contoh 8.25. Pembuatan method dengan pengembalian nilai.
Class Bangun { double panjang;
double lebar;
Mendefinisikan method yang mengembalikan nilai double hitungLuas {
double luas = panjang lebar; return luas;
} }
class pakaiBangun { public static void mainString[] args {
Bangun b1, b2;
instansiasi objek b1 = new Bangun;
b2 = new Bangun;
mengisi data untuk objek b1 b1.panjang = 4;
b1.lebar = 3;
mengisi data untuk objek b2 b2.panjang = 6;
b2.lebar = 5;
memanggil method hitungLuas untuk masing-masing objek
System.out.println“Luas b1 = “ + b1.hitungLuas; System.out.println“Luas b2 = “ + b2.hitungLuas;
}
}
Pada contoh 8.25 ini kita membuat metode hitungLuas yang
mengembalikan nilai. Perhatikan deklarasi method tidak lagi menggunakan void
tetapi menggunakan double yang merupakan tipe data nilai yang dikembalikan.
Untuk mengembalikan nilai digunakan kata kunci return. Perhatikan cara
pemanggilan method dari contoh 8.24 dan 8.25, apa yang berbeda? Method dapat juga memiliki argumen seperti halnya pada fungsi atau
prosedur. Perhatikan contoh berikut.
Di unduh dari : Bukupaket.com
200
Rekayasa Perangkat Lunak
Contoh 8.26. Pembuatan method dengan argumen.
class Bangun { double panjang;
double lebar;
method dengan argumen void isiDatadouble p, double l {
panjang = p; lebar = l;
} method yang mengembalikan nilai
double hitungLuas {
double luas = panjang lebar; return luas;
} }
class pakaiBangun { public static void mainString[] args {
Bangun b; instansiasi obyek
b = new Bangun; memanggil method isiData dan mengisi argumennya
b.isiData6,8; memanggil method hitungLuas untuk objek b