You are on page 1of 11

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

BAB VI CLASS, OBJECT DAN METHOD

73

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 Beginners Guide, Third Edition, McGrawHill/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.

class

Objek1

Objek2

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)

BAB VI CLASS, OBJECT DAN METHOD

74

[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 bagianbagian 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)

BAB VI CLASS, OBJECT DAN METHOD

75

} 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)

BAB VI CLASS, OBJECT DAN METHOD

76

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 Program Lakukan 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)

BAB VI CLASS, OBJECT DAN METHOD

77

6.3.

Method
Method merupakan aksi atau tindakan yang dapat dilakukan oleh suatu

objek. 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 atau merubahnya. 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)

BAB VI CLASS, OBJECT DAN METHOD

78

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)

BAB VI CLASS, OBJECT DAN METHOD

79

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)

BAB VI CLASS, OBJECT DAN METHOD

80

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)

BAB VI CLASS, OBJECT DAN METHOD

81

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)

BAB VI CLASS, OBJECT DAN METHOD

82

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

Suheri, ST Pemrograman 3 (Pemrograman Berorientasi Objek)

You might also like