bab 2 - kegiatan belajar 2 - class, object, dan method

11
  BAB II CLASS, OBJECT DAN METHOD PENDAHULUAN Pada bab sebelumnya telah dibahas tentang konsep dan paradigma  pemrograman berorientasi objek. Pemrograman berorientas i 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

Upload: ucuandy

Post on 11-Jul-2015

193 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB 2 - Kegiatan Belajar 2 - Class, Object, Dan Method

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

Page 2: BAB 2 - Kegiatan Belajar 2 - Class, Object, Dan Method

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) 

Page 3: BAB 2 - Kegiatan Belajar 2 - Class, Object, Dan Method

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) 

Page 4: BAB 2 - Kegiatan Belajar 2 - Class, Object, Dan Method

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) 

Page 5: BAB 2 - Kegiatan Belajar 2 - Class, Object, Dan Method

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) 

Page 6: BAB 2 - Kegiatan Belajar 2 - Class, Object, Dan Method

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) 

Page 7: BAB 2 - Kegiatan Belajar 2 - Class, Object, Dan Method

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) 

Page 8: BAB 2 - Kegiatan Belajar 2 - Class, Object, Dan Method

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) 

Page 9: BAB 2 - Kegiatan Belajar 2 - Class, Object, Dan Method

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) 

Page 10: BAB 2 - Kegiatan Belajar 2 - Class, Object, Dan Method

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) 

Page 11: BAB 2 - Kegiatan Belajar 2 - Class, Object, Dan Method

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