bab 2 - kegiatan belajar 2 - class, object, dan method
TRANSCRIPT
5/11/2018 BAB 2 - Kegiatan Belajar 2 - Class, Object, Dan Method - slidepdf.com
http://slidepdf.com/reader/full/bab-2-kegiatan-belajar-2-class-object-dan-method 1/1
BAB II
CLASS, OBJECT DAN METHOD
PENDAHULUAN
Pada bab sebelumnya telah dibahas tentang konsep dan paradigma
pemrograman berorientasi objek. Pemrograman berorientasi objek tidak lepas dari
penggunaan class sebagai template atau pencetak objek. Objek memiliki
attribute / properties / field sebagai sifat atau karakteristik yang dimiliki oleh objek,
dan method sebagai aksi atau tindakan yang dapat dilakukan oleh suatu objek
terhadap dirinya atau ruang lingkupnya. Pada bab ini akan membahas lebih jauh
tentang class, object , attribute, dan method .
KEGIATAN BELAJAR 2
CLASS, OBJECT DAN METHOD
Hasil Pembelajaran
Setelah menyelesaikan bahasan ini dan mengerjakan soal-soal latihan yang ada,
Anda dapat :
1. Menjelaskan karakteristik class
2. Menjelaskan karakteristik object
3. Menjelaskan apa yang dinamakan attribute dan method
4. Menjelaskan tentang kontrol akses (access specifier )
Kriteria Penilaian
Keberhasilan Anda dalam menguasai bab ini diukur berdasarkan kriteria
kemampuan sebagai berikut :
1. Menjelaskan perbedaan antara class dengan object
2. Menjelaskan perbedaan attribut dengan method
3. Menjelaskan perbedaan dari masing-masing kontrol akses
72
5/11/2018 BAB 2 - Kegiatan Belajar 2 - Class, Object, Dan Method - slidepdf.com
http://slidepdf.com/reader/full/bab-2-kegiatan-belajar-2-class-object-dan-method 2/1
73 BAB VI CLASS, OBJECT DAN METHOD
4. Dapat membuat suatu class lengkap dengan attribute dan method serta dapat
membuat instance (object ) dari class tersebut
5. Dapat menggunakan kontrol akses dengan benar dalam program Java
Sumber Pustaka
1. Abdul Kadir, 2005, Dasar Pemrograman Java™ 2, Andi, Yogyakarta.
2. Herbert Schildt, 2005, Java™ : A Beginner’s Guide, Third Edition, McGraw-
Hill/Osborne, United States of America.
3. Herbert Schildt, Patrick Naughton , 1999, Java™ 2 : The Complete Reference,
Fourth Edition, McGraw-Hill/Osborne, United States of America.
4. Indrajani, S.Kom., MM., Martin, S.Kom., 2007, Pemrograman Berorientasi
Objek dengan Bahasa Java, PT. Elex Media Komputindo, Jakarta.
6.1. Class
Class merupakan komponen penting dalam pemrograman berorientasi
objek, dimana Java salah satu bahasa pemrograman berorientasi objek yang
programnya dibuat dalam bentuk class-class. Class merupakan template atau
cetakan yang dapat membuat sejumlah objek dengan karakteristik yang sama
dengan class tersebut.
Objek1 Objek2
class
Objek3
Gambar 6.1 Class sebagai cetakan untuk objek
Secara umum, struktur dasar class dibentuk oleh sekumpulan atribut dalam
bentuk variabel-variabel dan sekumpulan method . Berikut ini adalah bentuk
umum pendeklarasian struktur dasar class :
Suheri, ST – Pemrograman 3 (Pemrograman Berorientasi Objek)
5/11/2018 BAB 2 - Kegiatan Belajar 2 - Class, Object, Dan Method - slidepdf.com
http://slidepdf.com/reader/full/bab-2-kegiatan-belajar-2-class-object-dan-method 3/1
74 BAB VI CLASS, OBJECT DAN METHOD
[public] class NamaClass {
//area deklarasi variabel milik class
tipe_data namaVariabel1;
tipe_data namaVariabel2;
...
tipe_data namaVariabelke-n;
//area deklarasi method
[kontrol_akses] void namaMethod1() {
//pernyataan-pernyataan
}
[kontrol_akses] void namaMethod1(parameter) {
//pernyataan-pernyataan
}
[
[kontrol_akses] tipe_data namaMethod2() {
//pernyataan-pernyataan
return suatuNilai;
}
[kontrol_akses] tipe_data namaMethod2(parameter) {
//pernyataan-pernyataan
return suatuNilai;
}
[kontrol_akses] namaMethodke-n() {
//pernyataan-pernyataan
}
}
Berdasarkan bentuk umum struktur dasar class di atas, terdapat bagian-
bagian yang membentuk suatu class, yaitu : kontrol_akses, NamaClass,
tipe_data, dan namaVariabel, namaMethod, dan parameter.
Di dunia nyata, terdapat objek Manusia dengan karakteristik nama, jenis
kelamin, warna kulit, warna rambut dan Aksi yang dapat dilakukan adalah makan,
berjalan, menangis. Untuk menterjemahkannya ke dalam suatu class, karakteristik
yang dimiliki akan menjadi atribut/variabel/properti, sedangkan aksi akan menjadi
method . Berikut ini adalah kode programnya :
Langkah 1 : Jalankan Text Editor Notepad
Ketiklah kode program di bawah ini pada text editor notepad :
class Manusia {
private String nama;
String jenisKelamin;
//konstruktor yang digunakan untuk menciptakan objek
public Manusia(String nama, String jenisKelamin) {
//inisialisai objek
this.nama = nama;
this.jenisKelamin = jenisKelamin;
Suheri, ST – Pemrograman 3 (Pemrograman Berorientasi Objek)
5/11/2018 BAB 2 - Kegiatan Belajar 2 - Class, Object, Dan Method - slidepdf.com
http://slidepdf.com/reader/full/bab-2-kegiatan-belajar-2-class-object-dan-method 4/1
75 BAB VI CLASS, OBJECT DAN METHOD
}
void makan() {
//misalnya menampilkan teks "Makan" ke layar
System.out.println("Makan");
}
void berjalan() {
//misalnya menampilkan teks "Berjalan" ke layar
System.out.println("Berjalan");
}
void menangis() {
//misalnya menampilkan teks "Menangis" ke layar
System.out.println("Menangis");
}
//method untuk mengambil nilai nama
String getNama() {
return nama;
}
}
Langkah 2 : Simpan Program Java
Simpanlah kode program di atas dengan nama Manusia.java pada
direktori C:\PBO\ .
6.2. Object
Seperti yang telah dipaparkan sebelumnya bahwa class digunakan sebagai
cetakan untuk membuat sejumlah objek. Implementasi pada program Java, untuk
dapat menggunakan suatu objek dari suatu class, hal pertama yang harus
dilakukan adalah dengan mendeklarasikan suatu variabel yang tipe datanya adalah
class yang akan dibuatkan objeknya. Setelah itu, membuat objek itu sendiri
dengan menggunakan keyword new yang diikut dengan nama konstruktornya.
Berdasarkan class Manusia yang telah dipaparkan di atas, berikut ini adalah cara
membuat dan mengakses objek Manusia :
Langkah 1 : Jalankan Notepad
Ketiklah kode program di bawah ini pada notepad :
class DemoManusia {
public static void main(String args[]) {
//deklarasi variabel untuk menampung objek Manusia
Manusia manusia1;
Manusia manusia2;
//membuat objek manusia
manusia1 = new Manusia("Anton","Pria");
Suheri, ST – Pemrograman 3 (Pemrograman Berorientasi Objek)
5/11/2018 BAB 2 - Kegiatan Belajar 2 - Class, Object, Dan Method - slidepdf.com
http://slidepdf.com/reader/full/bab-2-kegiatan-belajar-2-class-object-dan-method 5/1
76 BAB VI CLASS, OBJECT DAN METHOD
manusia2 = new Manusia("Cantik","Wanita");
//menampilkan ke layar
System.out.println("Manusia 1");
System.out.println("Nama "+manusia1.ambilNama);
System.out.println("Jenis Kelamin "+manusia1.jenisKelamin);
System.out.print("Aksi yang dilakukan : ");
//memanggil aksi/method menangis yang
//dimiliki oleh objek manusia
manusia1.menangis();
System.out.println("Manusia 2");
System.out.println("Nama "+manusia2.ambilNama);
System.out.println("Jenis Kelamin "+manusia2.jenisKelamin);
System.out.print("Aksi yang dilakukan : ");
//memanggil aksi/method makan yang
//dimiliki oleh objek manusia
manusia2.makan();
}
}
Langkah 2 : Simpan Program Java
Simpanlah kode program di atas dengan nama DemoManusia.java pada
direktori C:\PBO\ .
Langkah 3 : Lakukan Kompilasi dan Jalankan ProgramLakukan kompilasi dan jalankan program di atas seperti pada gambar
berikut ini :
Gambar 6.2 Kompilasi dan Menjalankan Program DemoManusia.java
Suheri, ST – Pemrograman 3 (Pemrograman Berorientasi Objek)
5/11/2018 BAB 2 - Kegiatan Belajar 2 - Class, Object, Dan Method - slidepdf.com
http://slidepdf.com/reader/full/bab-2-kegiatan-belajar-2-class-object-dan-method 6/1
77 BAB VI CLASS, OBJECT DAN METHOD
6.3. Method
Method merupakan aksi atau tindakan yang dapat dilakukan oleh suatuobjek. Berdasarkan contoh class Manusia¸ manusia memiliki method makan,
berjalan, menangis, dan ambilNama. Dari definisi method-method tersebut, ada
yang menggunakan keyword void dan ada juga yang tidak menggunakan void
tetapi menggunakan salah satu tipe data, dalam hal ini adalah tipe data String.
Definisi method seperti ini memiliki perbedaan. Jika suatu method didefinisikan
sebagai void, maka method tersebut tidak akan menghasilkan suatu nilai apapun.
Biasanya method ini berfungsi untuk memberikan nilai terhadap variabel ataumerubahnya. Sedangkan method yang didefinisikan dengan menetapkan tipe data,
jika method tersebut dipanggil, maka akan menghasil suatu nilai yang tipe data
dari nilai tersebut sama dengan tipe data yang mendefinisikan method tersebut.
Biasanya method ini berfungsi untuk mengambil/memperoleh nilai dari suatu
atribut/variabel/properti dari objeknya.
6.3.1. Overloading Method
Overloading method merupakan bentuk method yang memiliki nama yang
sama, namun memiliki parameter yang berbeda, baik nama maupun jumlah
parameternya. Bentuk method seperti ini biasa digunakan untuk menerapkan
konsep polymorphism, yang mana suatu objek dapat melakukan banyak aksi
dengan nama aksi yang sama.
6.3.2. Overriding Method
Overriding method merupakan bentuk method yang dimiliki oleh subclass
yang mana nama method dan parameter serta jumlah parameternya sama dengan
method yang dimiliki oleh superclass-nya. Bentuk method seperti ini biasa
digunakan untuk menerapkan konsep polymorphism.
6.4. Kontrol Akses (Access Specifier)
Pada dasarnya, kontrol akses atau access specifier digunakan dalam suatu
hubungan antar class. Kontrol akses berfungsi untuk menetapkan apakah atribut
Suheri, ST – Pemrograman 3 (Pemrograman Berorientasi Objek)
5/11/2018 BAB 2 - Kegiatan Belajar 2 - Class, Object, Dan Method - slidepdf.com
http://slidepdf.com/reader/full/bab-2-kegiatan-belajar-2-class-object-dan-method 7/1
78 BAB VI CLASS, OBJECT DAN METHOD
atau method yang dimiliki oleh suatu class dapat di akses oleh class lainnya.
Adapun kontrol akses yang dikenal oleh Java adalah public, private dan
protected.
6.4.1. public
Kontrol akses public digunakan untuk mendefinisikan suatu atribut atau
method yang dimiliki oleh suatu class, agar dapat diakses oleh class lain yang
berasal dari package yang sama maupun dari package yang berbeda.
6.4.2. private
Jika atribut atau method yang dimiliki oleh suatu class didefinisikan
sebagai priavate, maka atribut atau method tersebut tidak akan dapat diakses oleh
class lainnya.
6.4.3. protected
Jika atribut atau method yang dimiliki oleh suatu class didefinisikan
sebagai protected, maka atribut atau method tersebut hanya dapat diakses oleh
class lain yang berada dalam package yang sama.
Berikut ini adalah contoh penggunaan kontrol akses public, private, dan
protected di dalam program :
Langkah 1 : Jalankan Texte Editor Notepad
Ketiklah kode program di bawah ini pada text edito notepad :
class ManusiaSuper {//deklarasi variabel
public String nama;
public String kekuatan;
private String kelemahan;
//konstruktor
public ManusiaSuper(String nama, String kekuatan,
String kelemahan) {
this.nama = nama;
this.kekuatan = kekuatan;
this.kelemahan = kelemahan;
}
};
Suheri, ST – Pemrograman 3 (Pemrograman Berorientasi Objek)
5/11/2018 BAB 2 - Kegiatan Belajar 2 - Class, Object, Dan Method - slidepdf.com
http://slidepdf.com/reader/full/bab-2-kegiatan-belajar-2-class-object-dan-method 8/11
79 BAB VI CLASS, OBJECT DAN METHOD
class DemoManusiaSuper {
public static void main(String args[]) {
ManusiaSuper mSuper;
mSuper = new ManusiaSuper("Superman","Kebal","Kripton");
System.out.println("Manusia super");
System.out.println("Nama : "+mSuper.nama);
System.out.println("Kekuatan : "+mSuper.kekuatan);
System.out.println(“Kelemahan : “+mSuper.kelemahan);
}
}
Langkah 2 : Simpan Program Java
Simpanlah kode program di atas dengan nama DemoManusiaSuper.java
pada direktori C:\PBO\ .
Langkah 3 : Lakukan Kompilasi dan Jalankan Program
Lakukan kompilasi terhadap kode program di atas, maka Anda akan
mendapatkan pesan kesalahan seperti gambar berikut ini :
Gambar 6.3 Pesan kesalahan ketika melakukan kompilasi program
DemoManusiaSuper.java
Perhatikan kesalahan yang terjadi pada gambar di atas. Kesalahan terjadi
karena variabel kelemahan yang dimiliki oleh class ManusiaSuper memiliki
kontrol akses private. Sehingga class luar, yaitu class DemoManusiaSuper tidak
akan dapat mengakses variabel tersebut. Jika kita menginginkan class
DemoManusiaSuper dapat mengakses variabel kelemahan milik class
ManusiaSuper, maka ubah kontrol akses pada variabel kelemahan menjadi public
atau protected. Sehingga program akan dapat dikompilasi dan dijalankan seperti
gambar berikut ini :
Suheri, ST – Pemrograman 3 (Pemrograman Berorientasi Objek)
5/11/2018 BAB 2 - Kegiatan Belajar 2 - Class, Object, Dan Method - slidepdf.com
http://slidepdf.com/reader/full/bab-2-kegiatan-belajar-2-class-object-dan-method 9/1
80 BAB VI CLASS, OBJECT DAN METHOD
Gambar 6.4 Kompilasi dan Menjalankan Program DemoManusiaSuper.java
Rangkuman
1. Class merupakan komponen penting dalam pemrograman berorientasi objek,
dimana Java salah satu bahasa pemrograman berorientasi objek yang
programnya dibuat dalam bentuk class-class.
2. Class merupakan template atau cetakan yang dapat membuat sejumlah objek
dengan karakteristik yang sama dengan class tersebut.
3. Attribute merupakan karakteristik yang dimiliki oleh suatu objek yang
membedakan antara satu objek dengan objek lainnya.
4. Method merupakan aksi atau tindakan yang dapat dilakukan oleh suatu objek.
5. Method dibagi menjadi dua bentuk, yaitu overloading dan overriding method .
6. Overloading method merupakan bentuk method yang memiliki nama yang
sama, namun memiliki parameter yang berbeda, baik nama maupun jumlah
parameternya.
7. Overriding method merupakan bentuk method yang dimiliki oleh subclass
yang mana nama method dan parameter serta jumlah parameternya sama
dengan method yang dimiliki oleh superclass-nya.
8. Suatu class dapat berhubungan dengan class lainnya melalui kontrol akses
yang diberikan terhadap masing-masing class. Kontrol akses yang dapat
digunakan adalah public, protected, dan private.
9. Kontrol akses public digunakan untuk mendefinisikan suatu atribut atau
method yang dimiliki oleh suatu class, agar dapat diakses oleh class lain yang
berasal dari package yang sama maupun dari package yang berbeda. Jika
Suheri, ST – Pemrograman 3 (Pemrograman Berorientasi Objek)
5/11/2018 BAB 2 - Kegiatan Belajar 2 - Class, Object, Dan Method - slidepdf.com
http://slidepdf.com/reader/full/bab-2-kegiatan-belajar-2-class-object-dan-method 10/
81 BAB VI CLASS, OBJECT DAN METHOD
atribut atau method yang dimiliki oleh suatu class didefinisikan sebagai
priavate, maka atribut atau method tersebut tidak akan dapat diakses oleh
class lainnya. Jika atribut atau method yang dimiliki oleh suatu class
didefinisikan sebagai protected, maka atribut atau method tersebut hanya
dapat diakses oleh class lain yang berada dalam package yang sama.
Soal-soal Latihan
1. Apa yang terjadi jika variabel dalam suatu class didefinisikan sebagai private,
jelaskan!
2. Apa yang terjadi jika variabel dalam suatu class didefinisikan sebagai
protected, jelaskan!
3. Apa yang terjadi jika method dalam suatu class didefinisikan sebagai public,
jelaskan!
4. Buatlah sebuah class dengan nama Televisi, yang mempunyai property :
a. deskripsi : untuk menyimpan nama/deskripsi dari televisi. Property ini
hanya dapat di-set saat objek dibuat, dapat dibaca namun tidak dapat
diubah setelahnya.
b. jumlahChannel : untuk menyimpan banyaknya channel yang dapat
disimpan oleh televisi. Property ini hanya dapat di-set pada saat objek
dibuat, dapat dibaca namun tidak dapat diubah setelahnya.
c. channels : untuk menyimpan data-data channel yang telah di-set. Property
ini dapat dibaca dan diubah kapan saja.
d. channelAktif : untuk menyimpan nomor channel yang sedang aktif saat
ini. Property ini dapat dibaca dan diubah kapan saja.
e. volume : untuk menyimpan informasi besarnya volume televisi yang
sedang aktif saat ini. Propery ini dapat dibaca dan diubah kapan saja.
Selain itu, objek Televisi tersebut juga harus mendukung operasi berikut ini :
a. Mengeset channel stasiun televisi yang diinginkan. Ini sama halnya jika
kita membeli televisi baru, hal pertama kali yang dilakukan tentunya
mendaftarkan semua channel stasiun televisi yang ada ke dalam televisi.
Sehingga berikutnya jika kita ingin menonton stasiun televisi yang kita
Suheri, ST – Pemrograman 3 (Pemrograman Berorientasi Objek)
5/11/2018 BAB 2 - Kegiatan Belajar 2 - Class, Object, Dan Method - slidepdf.com
http://slidepdf.com/reader/full/bab-2-kegiatan-belajar-2-class-object-dan-method 11/
82 BAB VI CLASS, OBJECT DAN METHOD
Suheri, ST – Pemrograman 3 (Pemrograman Berorientasi Objek)
inginkan, kita cukup memasukkan nomor channel dari stasiun tersebut
yang telah terdaftar pada televisi tersebut. Kita juga tidak boleh mengeset
channel lebih banyak dari jumlah channel yang dapat ditampung oleh
televisi.
b. Mengganti channel stasiun yang sedang aktif. Jika nomor channel yang
diinginkan ternyata belum di-set ke stasiun televisi manapun, tampilkan
informasi yang memberitahukan hal tersebut.
c. Mengubah volume suara.
d. Menampilkan deskripsi dari televisi.
Class Televisi yang dibuat tersebut harus dapat digunakan oleh program
berikut ini :
public class User {
public static void main (String args[]) {
Televisi tv = new Televisi(“TV Sederhana, 14 inches”,10);
String[] semuaChannel = {“RCTI”,”SCTV”,”INDOSIAR”,”LA TV”,
“METRO TV”,”TRANS TV”,”TPI”,”TV 7”,”TVRI”,”ANTEVE”};
String[] channelFavorit = {“RCTI”,”SCTV”,”INDOSIAR”};
System.out.println(“Televisi yang baru saya beli : “+
tv.getDeskripsi());
tv.getChannels();
//set daftar channel
tv.setChannels(semuaChannel);
//set ulang daftar channel
tv.setChannels(channelFavorit);
tv.setChannelAktif(3);
tv.setVolume(10);
tv.setChannelAktif(10);
tv.setChannelAktif(1);
}
}
Dengan output hasil eksekusi sebagai berikut :
Televisi yang baru saya beli : TV Sederhana, 14 inches
Belum ada channel yang diset!
Maaf, TV ini hanya dapat menyimpan 10 channel
Informasi channel berhasil diupdate!
Pindah channel ke : LA TV
Intensitas volume sekarang : 10
Channel yang Anda inginkan belum diset!
Pindah channel ke : SCTV