Top Banner
1 BAB I PENGENALAN BAHASA PEMROGRAMAN BERORIENTASI OBJEK ( JAVA ) I. Tujuan - Memperkenalkan java - menunjukkan cara meng-compile dan menjalankan program pada java - Menunjukkan perintah-perintah dasar Java II. Alat dan Bahan - Jdk1.5 - Notepad III. Skill yang diharapkan - Mahasiswa mengenal Java - Mahasiswa mampu menggunakan java untuk membuat program - Mahasiswa mampu membuat program sederhana IV. Teori 1. Tipe Data Apabila anda mendeklarasikan variabel pada Java, anda harus menentukan tipe datanya. Tipe data ini menentukan nilai yang dapat disimpan oleh variable tersebut dan operator – operator yang dapat dikenakan padanya. Java memiliki tipe data yang dapat dikategorikan menjadi dua kelompok, yaitu tipe data primitif dan referensi. 1. Tipe data primitif Ada 8 tipe data primitif dalam bahasa Java. a. Integer (Bilangan Bulat) Integer merupakan tipe data numerik yang digunakan apabila tidak berurusan dengan pecahan atau bilangan desimal. Tipe data numerik yang termasuk integer ditunjukkan pada table 1.1.
39

MODUL PBO

Jan 30, 2016

Download

Documents

Saka Asa

sfdgs tsvbbbbbbbbbbbbbbbbbbbbbbbbbvv,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,c,
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: MODUL PBO

1

BAB I

PENGENALAN BAHASA PEMROGRAMAN BERORIENTASI OBJEK

( JAVA )

I. Tujuan

- Memperkenalkan java

- menunjukkan cara meng-compile dan menjalankan program pada java

- Menunjukkan perintah-perintah dasar Java

II. Alat dan Bahan

- Jdk1.5

- Notepad

III. Skill yang diharapkan

- Mahasiswa mengenal Java

- Mahasiswa mampu menggunakan java untuk membuat program

- Mahasiswa mampu membuat program sederhana

IV. Teori

1. Tipe Data

Apabila anda mendeklarasikan variabel pada Java, anda harus menentukan tipe

datanya. Tipe data ini menentukan nilai yang dapat disimpan oleh variable tersebut

dan operator – operator yang dapat dikenakan padanya. Java memiliki tipe data yang

dapat dikategorikan menjadi dua

kelompok, yaitu tipe data primitif dan referensi.

1. Tipe data primitif

Ada 8 tipe data primitif dalam bahasa Java.

a. Integer (Bilangan Bulat)

Integer merupakan tipe data numerik yang digunakan apabila tidak

berurusan dengan pecahan atau bilangan desimal. Tipe data numerik yang

termasuk integer ditunjukkan pada table 1.1.

Page 2: MODUL PBO

2

Table 1.1 : Tipe data bilangan Bulat

Jenis Data Ukuran Minimum Maksimum

byte 8-bit -127 128

short 16-bit -32768 32767

int 32-bit -2147483648 2147483647

long 64-bit -9223372036854775808 9223372036854775807

b. Floating Point (Bilangan Pecahan)

Floating Point digunakan untuk menangani bilangan decimal atau

perhitungan yang lebih detail dibanding integer. Tipe data ini ada dua

macam, yaitu float dan double, seperti yang ditunjukkan pada table 2.3.

Tabel 2.3 : Tipe Data Pecahan

Jenis Data Ukuran Minimum Maksimum

float 32-bit 1.40129846432481707e-45 3.40282346638528860e+38

double 64-bit 4.94065645841246544e-324 1.79769313486231570e+308

c. Char (Karakter)

Char adalah Char adalah karakter tunggal yang didefinisikan dengan diawali

dan diakhiri dengan tanda ‘ ( petik tunggal ). Tipe ini memiliki ukuran 16

bit. Tipe char mengikuti aturan unicode, sehingga dapat menggunakan kode

/u kemudian diikuti bilangan dari 0 sampai 65535, tetapi yang biasa

digunakan adalah bilangan heksadesimal dari 0000 sampai FFFF.

d. Boolean

Boolean adalah tipe data yang hanya mempunyai dua kemungkinan, yaitu

true dan false. Biasanya tipe data ini digunakan untuk perbandingan.

Boolean sangat penting dalam mengevaluasi suatu kondisi, dan sering

digunakan untuk menentukan alur program.

Page 3: MODUL PBO

3

2. Percabangan

Dalam Java, disediakan dua buah struktur percabangan :

1. Struktur IF … ELSE

Sintaks penggunaannya adalah :

if (kondisi)

{statement yang dijalankan jika kondisi bernilai benar}

atau :

if (kondisi)

{ statement1, yang dijalankan jika kondisi bernilai benar }

else

{ statement2, yang dijalankan jika kondisi bernilai salah }

atau :

if (kondisi1)

{ statement1, yang dijalankan jika kondisi1 bernilai benar }

else if (kondisi2)

{ statement2, yang dijalankan jika kondisi1 bernilai salah dan kondisi 2

bernilai benar }

else if (kondisi3)

{ statement3, yang dijalankan jika kondisi1 dan kondisi 2 bernilai salah,

kondisi 3 bernilai benar}

else if (kondisi4)

{ statement4, yang dijalankan jika kondisi1, kondisi2, kondisi 3 bernilai

salah dan kondisi 4 bernilai benar }

………………………

2. Struktur SWITCH … CASE

SWITCH … CASE merupakan peluasan dari struktur IF. Karena kalau dalam

struktur IF hanya disediakan dua pilihan (berdasarkan kondisi logikanya) maka

dalam struktur ini dimungkinkan untuk memilih satu pilihan di antara banyak

pilihan yang ada. Sintaks penggunaannya adalah :

Page 4: MODUL PBO

4

3. Perulangan

Dalam Java, disediakan tiga buah struktur perulangan :

1. For

Sintaks penggunaannya adalah :

For (inisialisasi ; kondisi; step)

{statement yang dijalankan secara berulang selama kondisi bernilai benar}

2. While

Sintaks penggunaannya adalah :

while (kondisi)

{statement yang dijalankan secara berulang selama kondisi bernilai benar}

3. Do-while

Sintaks penggunaannya adalah :

do

{statement yang dijalankan secara berulang selama kondisi bernilai benar}

while (kondisi);

V. Kegiatan / Aktivitas

1. Program Sederhana

switch <variabel> of {

case nilai1 : statement1; break;

case nilai2 : statement2; break;

case nilai3 : statement3; break;

case nilai4 : statement4; break;

…………………………….

default : statement_default;

Page 5: MODUL PBO

5

Dalam pembuatan program dengan bahasa Java, kita harus tahu dimana akan

menuliskan code program, bagaimana meng-compile code tersebut dan bagaimana

cara menjalankannya.

Langkah-langkah pembuatan program sederhana

1. Buka Notepad pada computer.

2. Salinlah listing program berikut, kemudian simpanlah di C:\Program

Files\Java\jdk1.6.0\bin dengan nama SelamatBelajar.java

public class SelamatBelajar

{

public static void main (String [] args)

{

System.out.println ("Selamat Belajar Java");

}

}

3. klik tombol start dan kemudian pilih Run…. Setelah itu akan muncul kotak

dialog Run seperti ditunjukkan pada gambar 1.1. Dalam kotak dialog Run,

ketikkan cmd kemudian klik tombol OK.

Gambar 1.1 : Run

4. Ketika prompt DOS muncul, maka berikan perintah untuk masuk menuju tempat

file SelamatBelajar.java berada, seperti ditunjukkan gambar 1.2

Page 6: MODUL PBO

6

Gambar 1.2 : cmd

5. Kemudian anda lakukan proses kompile. Dalam hal ini, kompiler javac akan

menghasilkan berkas bernama SelamatBelajar.class. Berkas inilah yang

dimaksud berkas bytecode. Jika tidak ada kesalahan, anda akan menjumpai pesan

seperti ditunjukkan pada gambar 1.3.

Gambar 1.3 : Kompile berhasil

Jika anda menjumpai kesalahan (akan muncul pesan kesalahan pada layar) maka

bukalah kembali program SelamatBelajar.java dengan menggunakan editor yang

anda sukai dan kemudian betulkan serta simpanlah. Selanjutnya kompilasi

kembali sampai tidak ada kesalahan.

6. Berkas SelamatBelajar.class dapat segera dijalankan dengan menggunakan

interpreter java. Perintah yang perlu diberikan:

Java <nama-class-java>

dalam hal ini,

java SelamatBelajar

Gambar 1.4 : output SelamatBelajar.java

Latihan :

Page 7: MODUL PBO

7

- Buatlah program untuk menampilkan tulisan “SAYA BELAJAR JAVA”

2. Deklarasi Variabel dan Tipe Data

Penggunaan variabel dengan tipe data yang tepat sangat penting dalam pembuata

program.

Salinlah program dibawah ini, kemudian compile-lah.

public class penjumlahan

{

public static void main (String [] args)

{

a = 4;

b = 6;

c = a + b;

System.out.println ("Hasil penjumlahannya adalah "+c);

}

}

Apakah program tersebut dapat ter-compile dengan sukses?

Cobalah tambahkan deklarasi variabel berikut di atas baris a = 4; yaitu dengan

int a, b, c;

kemudian compile dan jalankan program tersebut.

Latihan

- Buatlah program untuk menghitung volume balok dengan panjang = 58, lebar =

88 dan tinggi =7.

- Buatlah program untuk menghitung luas segitiga dengan panjang alas = 98 dan

tinggi 57. (gunakan tipe data yang tepat, lihat daftar tipe data pada bagian teori

bab ini).

3. Penggunaan percabangan

Cermatilah contoh kasus berikut dan program untuk menyelesaikan kasus tersebut :

Disuatu supermarket terdapat aturan sebagai berikut :

Page 8: MODUL PBO

8

“Jika pembeli berbelanja lebih dari 100.000, maka mendapat diskon 10%, jika

pembeli berbelanja antara 75.001 dan 100.000, maka maka mendapat diskon 8%, jika

pembeli berbelanja antara 50.001 dan 75.000, maka maka mendapat diskon 5%, jika

pembeli berbelanja antara 25.001 dan 50.000, maka maka mendapat diskon 3%, jika

pembeli berbelanja kurang dari atau sama dengan 25.000 maka pembeli tidak

mendapatkan diskon”

Penyelesaian programnya :

public class ContohIfBersarang

{

public static void main (String [] args)

{

int belanja = 90000;

int diskon = 0;

if ( belanja >100000)

{diskon = belanja/10;}

else if ( belanja >75000)

{diskon = belanja*8/100;}

else if ( belanja >50000)

{diskon = belanja*5/100;}

else if ( belanja >25000)

{diskon = belanja*3/100;}

else

{diskon = 0;}

System.out.println("diskon = "+diskon);

}

}

Dari contoh di atas, buatlah program konversi nilai :

Nilai angka Nilai

nilai >= 90 A

80<= nilai < 90 B

60<= nilai < 80 C

40<= nilai < 60 D

40<= nilai E

Page 9: MODUL PBO

9

4. Penggunaan perulangan

Cermatilah contoh kasus berikut dan program untuk menyelesaikan kasus tersebut :

Kasus :

Mengetahui hasil factorial dari suatu nilai, misalkan 5.

Program penyelesaiannya :

Dengan Menggunakan perulangan For

public class faktorialFor

{

public static void main (String [] args)

{

int nilai = 5;

long hasil=1;

for ( int i=1; i<= nilai; i++)

{

hasil = hasil * i;

}

System.out.println (nilai+" faktorial adalah "+hasil);

}

}

Dengan Menggunakan perulangan while

public class faktorialwhile

{

public static void main (String [] args)

{

int nilai = 5;

long hasil=1;

int i = 1;

while ( i <= nilai)

{

hasil = hasil * i;

i += 1;

}

System.out.println (nilai+" faktorial adalah "+hasil);

}

}

Dengan Menggunakan perulangan do-while

public class faktorialdo

{

public static void main (String [] args)

Page 10: MODUL PBO

10

{

int nilai = 5;

long hasil=1;

int i = 1;

do {

hasil = hasil * i;

i += 1;

} while (i <= nilai);

System.out.println (nilai+" faktorial adalah "+hasil);

}

}

Latihan :

Dari contoh kasus diatas, buatlah program, Buat program perpangkatan dengan

menggunakan perulangan for, while dan do..while.

Page 11: MODUL PBO

11

BAB II

PENGGUNAAN NETBEANS ( JAVA )

I. Tujuan

- Memperkenalkan Netbeans

- menunjukkan cara meng-compile dan menjalankan program pada netbeans

II. Alat dan Bahan

- netbeans

III. Skill yang diharapkan

- Mahasiswa mengenal netbeans

- Mahasiswa mampu menggunakan netbeans untuk membuat program

IV. Teori

V. Aktivitas / Kegiatan

1. Memulai menggunakan Netbeans

Langkah-langkah :

1.1.Membuka Netbeans

Untuk membuka Netbeans, silahkan anda mencari shortcut Netbeans yang ada

pada computer anda.

1.2.Membuat project baru

1.2.1. Klik File | New Project… setelah itu, akan muncul kotak dialog seperti pada

gambar 2.1.

Page 12: MODUL PBO

12

Gambar 2.1 Choose project

1.2.2. Pilih General pada Categories dan Java application pada Project, kemudian

pilih tombol next, sehingga muncul kotak dialog seperti pada gambar 2.2.

Gambar 2.2

1.2.3. Isi Project Name sesuai dengan kebutuhan, misalkan kita isi dengan

latihan_pertama (tidak diperbolehkan menggunakan spasi atau karakter

simbul lain selain garis bawah ( _ ).

1.2.4. Klik Finish, maka akan muncul halaman seperti pada gambar 2.3.

Page 13: MODUL PBO

13

Gambar 2.3 Halaman Main

1.3.Menuliskan program

Penulisan program bisa dilakukan ditempat yang sudah disediakan, seperti

ditunjukkan pada gambar 2.4.

Page 14: MODUL PBO

14

Gambar 2.4 Tempat penulisan program

Latihan :

Coba anda buat program penjumlahan dan tulis pada bagian tersebut :

1.4.Meng-compile

Setelah selesai menulis program, cara meng-compilenya adalah sebagai berikut :

Klik kanan pada nama class, kemudian pilih compile seperti ditunjukkan pada

gambar 2.5.

Bila compile sukses dijalankan, makan akan muncul pesan seperti pada gambar

2.6.

Page 15: MODUL PBO

15

Gambar 2.5 tempat nama class

Gambar 2.6 Compile sukses

Page 16: MODUL PBO

16

1.5.Menjalankan program

Untuk menjalankan program, caranya hampir sama dengan cara meng-compile,

perbedaannya adalah, setelah klik kanan pada nama klas, kemudian pilih run.

2. Membuat class baru

2.1.Klik File | New File… setelah itu, akan muncul kotak dialog seperti pada gambar

2.7.

Gambar 2.7 Choose File Type

2.2.Pilih Java Classes pada Categories dan Java Class pada Project, kemudian pilih

tombol next, sehingga muncul kotak dialog seperti pada gambar 2.8.

Gambar 2.8 Name and Location

Page 17: MODUL PBO

17

2.3.Isi Class Name sesuai dengan kebutuhan, misalkan kita isi dengan class_pertama

(tidak diperbolehkan menggunakan spasi atau karakter simbul lain selain garis

bawah ( _ ).

2.4.Klik Finish, maka akan muncul halaman seperti pada gambar 2.9. Class sudah

terbentuk

Gambar 2.9 Class

Page 18: MODUL PBO

18

BAB III

CLASS ( JAVA )

I. Tujuan

- Memperkenalkan class

- Memperkenalkan membuat suatu class

II. Alat dan Bahan

- Netbeans

III. Skill yang diharapkan

- Mahasiswa mampu menentukan attribute dan method pada suatu class

- Mahasiswa mampu membuat class

IV. Teori

Class merupakan konsep pokok di bahasa pemrograman berorientasi objek. Class

merupakan bentukan yang menjadi landasan bangun seluruh bahasa berorientasi objek.

Class mendefinisikan bentuk dan perilaku objek. (Objek adalah entitas dalam system

yang mewakili suatu entitas dalam dunia nyata).

Penggunaan terpenting class adalah dalam pendefinisian type baru, class adalah

template/protototype yang mendefinisikan type objek. Class merupakan sarana

pengkapsulan kumpulan data dan method-method yang beroperasi pada kumpulan data.

Data dan method digunakan untuk mendefinisikan isi dan kemampuan objek. Dalam kata

lain, class adalah cetakan objek. Objek-objek dari class yang sama mempunyai data

sendiri namun berbagi implementasi method dengan objek-objek lain di satu class.

Class tersusun atas attribute dan method. Attribut merupakan pembeda antara objek satu

dengan objek yang lain pada class yang sama, sedangkan method merupakan prilaku

yang dapat dilakukan oleh setiap objek.

Page 19: MODUL PBO

19

V. Kegiatan / Aktivitas

Kegiatan/Aktifitas di bawah ini akan dilakukan berdasar studi kasus berikut ini:

Studi kasus :

Buatlah program untuk menghitung luas dan keliling lingkaran bila diketahui jari-jarinya!

Gunakan konsep Pemrograman Berorientasi Objek!

1. Membuat Class

Dalam sebuah class, kata kunci “class” harus selalu digunakan, baru kemudian diikuti

oleh nama class. Nama class tidak boleh menggunakan spasi. Sebagai pengganti

spasi, bisa digunakan huruf besar untuk mengawali setiap kata atau menggantinya

dengan menggunakan garis bawah ( _ ).

Langkah-langkah pembuatan class :

1. Tentukan objeknya.

Bila terdapat suatu permasalahan, jangan terburu-buru berfikir untuk

menyelesaikan permasalahan tersebut, namun pikirkan dulu apa objek dari

permasalahan tersebut. Dari studi kasus di atas, dapat didapatkan bahwa objek

yang dibutuhkan di dalam program adalah objek Lingkaran.

2. Tentukan attributnya

Setiap lingkaran pasti memiliki jari-jari. Oleh karena itu atribut dari objek

lingkaran adalah jari-jari lingkaran.

3. Tentukan methodnya

Sebuah objek lingkaran dapat diketahui luas dan kelilingnya dari perhitungan

menggunakan jari-jari lingkaran. Maka kita dapatkan 2 method yaitu getLuas dan

getKeliling. Kedua method di atas sekaligus dapat memenuhi requirement dari

kasus yang ada, yaitu mencari luas dan keliling lingkaran dari jari-jari lingkaran.

Selain kedua method di atas, diperlukan method tambahan untuk menampilkan

objek lingkaran saat dipanggil menggunakan perintah System.out.println, yaitu

method toString.

4. Dari langkah 1-3 dapat diambil kesimpulan bahwa akan dibangun kelas sesuai

dengan tabel berikut.

Page 20: MODUL PBO

20

Tabel Objek Lingkaran

Lingkaran

jari2

getLuas()

getKeliling()

toString()

5. Coding

a. Membuat class baru bernama sama dengan nama objek, yaitu class

Lingkaran.

b. Deklarasikan atribut-atribut milik Lingkaran. Karena Lingkaran hanya

memiliki satu atribut yaitu jari-jari yang memiliki tipe double, maka

syntax berikut ini digunakan untuk mendeklarasikan atribut milik

Lingkaran.

double jari2;

c. Membuat constructor

Constructor adalah method yang dipanggil saat sebuah instance class

diciptakan. Nama constructor harus sama dengan nama class. Constructor

bisa memiliki parameter input (berupa atribut objek yang harus

dimasukkan ketika membuat instance baru), bisa tidak memiliki parameter

input, bisa keduanya. Hal itu dimungkinkan karena dalam satu class bisa

memiliki lebih dari 1 constructor, asalkan tiap constructor memiliki

parameter input yang berbeda-beda.

Dari studi kasus ini, constructor yang akan dibuat memiliki 1 buah

parameter input yaitu jari2 yang bertipe double. Oleh karena itu, dibuatlah

syntax pembuatan constructor seperti di bawah ini.

public lingkaran (double jari2){

this.jari2 = jari2;

}

Page 21: MODUL PBO

21

d. Membuat method

Method getKeliling dan getLuas merupakan method yang melakukan

penghitungan keliling dan luas lingkaran. Hasil dari penghitungan tersebut

dijadikan nilai return. Maka dibuatlah method getKeliling dan getLuas

sebagai berikut.

public double getKeliling(){

return 2 * 3.14 * jari2;

}

public double getLuas(){

return 3.14 * jari2 * jari2;

}

Method toString digunakan untuk menampilkan objek saat perintah

System.out.println dijalankan, maka tampilkan informasi mengenai objek

seperlunya. Method toString untuk objek Lingkaran dituliskan sebagai

berikut.

public String toString(){

return “segiempat ini memiliki:”+

“panjang “ +panjang+

“lebar “ +lebar+

“keliling “ +this.getKeliling()+

“luas” +this.getLuas();

}

Hasil dari keseluruhan langkah 5 (coding) menghasilkan syntax berikut ini.

class Lingkaran{

double jari2;

public lingkaran (double jari2){

this.jari2 = jari2;

}

public double getKeliling(){

return 2 * 3.14 * jari2;

}

Page 22: MODUL PBO

22

public double getLuas(){

return 3.14 * jari2 * jari2;

}

public String toString(){

return “segiempat ini memiliki:”+

“panjang “ +panjang+

“lebar “ +lebar+

“keliling “ +this.getKeliling()+

“luas” +this.getLuas();

}

}

2. Menciptakan Instance baru

Instance baru diciptakan dengan cara memanggil constructor yang sudah dibuat di

dalam class. Di dalam kasus ini, instance baru akan dibuat di dalam method public

static void main (String [] args) pada class Main. Pembuatan instance baru dilakukan

dengan syntax berikut:

Lingkaran L1 = new lingkaran (4);

Syntax di atas berarti, kita membuat instance dari class Lingkaran bernama L1

dengan jari-jari 4.

3. Menampilkan objek atau atribut objek

Untuk menampilkan informasi/mencetak instance yang baru saja dibuat, dilakukan

dengan syntax berikut:

System.out.println(L1);

Syntax di atas secara otomatis memanggil method toString yang sudah dioverride

oleh class Lingkaran. Jadi jika method toString belum dibuat, syntax tersebut tidak

akan berjalan dengan baik. Sebagai penggantinya, dapat digunakan syntax seperti di

bawah ini.

System.out.println(“lingkaran L1 memiliki:”);

System.out.println(“jari-jari: “L1.jari2);

System.out.println(“keliling: “L1.getKeliling());

System.out.println(“luas: “L1.getLuas());

Page 23: MODUL PBO

23

Perintah di atas secara langsung memanggil atribut jari2 milik Lingkaran. Walaupun

secara syntax itu benar, tapi secara konsep itu tidak benar karena beresiko terhadap

keamanan data (dalam hal ini data jari2 lingkaran). Untuk lebih jelasnya akan

dijelaskan pada bab encapsulation.

Latihan : buatlah class untuk persegi panjang, segitiga, balok dan tabung.

Page 24: MODUL PBO

24

BAB IV

ENCAPSULATION

I. Tujuan

- Memperkenalkan teori mengenai encapsulation

- Memperkenalkan pengaplikasian encapsulation pada pemrograman berorientasi

objek

II. Alat dan Bahan

- Netbeans

III. Skill yang diharapkan

- Mahasiswa mampu menerapkan encapsulation dalam pembuatan program

berorientasi objek

IV. Teori

Encapsulation adalah proses pemaketan data bersama metode-metodenya. Manfaat

utama encapsulation adalam menyembunyikan rincian-rincian implementasi dari

pemakai. Penyusunan seperti ini menjaga bagian internal objek dari pengaksesan

eksternal yang tidak diinginkan.

Encapsulation memiliki 2 manfaat utama, antara lain

1. Penyembunyian informasi (information hiding)

Penyembunyian implementasi mengacu pada perlindungan implementasi

internal objek. Objek disusun dari antarmuka public dan bagian private yang

merupakan kombinasi data dan metode internal. Hal ini memungkinkan bagian

internal dapat berubah tanpa mempengaruhi bagian-bagian program lain.

2. Modularitas (modularity)

Modularitas berarti objek dapat dikelola secara independen. Karena kode sumber

bagian internal objek dikelola secara terpisah dari antarmuka, maka modifikasi

Page 25: MODUL PBO

25

dapat dilakukan tanpa menyebabkan maslaah pada bagian-bagian lain pada

program.

Encapsulation pada Java dilakukan dengan pembentukan class. Sedangkan

penyembunyian informasi dilakukan dengan kendali pengaksesan berupa modifier

default, private, protected dan public.

V. Kegiatan

Kegiatan/Aktifitas di bawah ini akan dilakukan berdasar studi kasus pada bab class

(pembuatan class Lingkaran).

1. Melindungi atribut dari pengaksesan di luar kelas dengan menggunakan modifier.

Cobalah tulis syntax berikut pada Main.java kemudian jalankan Main.java.

L1.jari2 += 5;

System.out.println(“jari-jari L1 menjadi “+ L1.jari2);

Yang baru saja dilakukan oleh syntax di atas adalah merubah data jari-jari milik

objek lingkaran. Bagaimana bila data tersebut adalah data penting yang bila terjadi

perubahan nilai sedikit saja bisa merusak jalannya system? Dari situlah pentingnya

ada perlindungan data. Salah satu cara untuk melindungi data (dalam hal ini atribut

milik objek) dari pengaksesan di luar kelas adalah dengan memberikan modifier

private pada atribut tersebut. Dengan modifier private, hanya class tempat atribut itu

berada lah yang dapat mengakses atribut tersebut. Modifier private dapat dituliskan

pada saat deklarasi variabel pada class seperti pada syntax berikut ini.

private double jari2;

setelah atribut diberi modifier seperti di atas, cobalah kembali mengakses atribut

tersebut dari Main.java dengan perintah berikut ini.

L1.jari2 += 5;

System.out.println(“jari-jari L1 menjadi “+ L1.jari2);

Pesan error apakah yang ditampilkan pada baris pertama di atas?

Kesimpulan apakah yang dapat Anda buat berdasarkan percobaan di atas?

Page 26: MODUL PBO

26

2. Mengakses data yang sudah dilindungi dari luar kelas

Cobalah tampilkan data jari-jari milik L1 dengan syntax berikut:

System.out.println(“lingkaran L1 memiliki:”);

System.out.println(“jari-jari: “L1.jari2);

Apakah program tetap dapat dijalankan?

Perintah di atas tidak bermaksud untuk merubah data jari2 milik L1, hanya sebatas

ingin menampilkan nilainya saja. Bagaimana hal tersebut dapat dilakukan?

Permasalahan di atas adalah salah satu contoh bahwa data yang sudah dilindungi

dengan modifier seperti di atas sangat mungkin masih dibutuhkan di class lain. Hal

ini masih bisa diatasi dengan membuat method yang memungkinkan data dilihat,

namun tidak dapat diubah. Method seperti ini berfungsi sebagai interface atau

perantara objek. Dengan demikian, objek masih bisa berinteraksi dengan objek lain,

saling memberi informasi, dan lain sebagainya namun objek luar masih tetap

memiliki akses yang terbatas. Contoh method yang dapat digunakan adalah sebagai

berikut.

public double getJari2(){

return jari2;

}

Dengan adanya method di atas, jika ada class lain yang ingin sebatas menampilkan

data saja bisa dilakukan dengan syntax sebagai berikut.

System.out.println(“lingkaran L1 memiliki:”);

System.out.println(“jari-jari: “L1.getJari2);

Dengan demikian, class di luar class Lingkaran masih memungkinkan melihat data

jari2 miiik objek Lingkaran namun tetap terbatas hanya melihat, tidak dapat

melakukan perubahan data, sehingga keamanan data terhadap perubahan yang tidak

diinginkan dapat terjaga.

Page 27: MODUL PBO

27

BAB V

PEWARISAN

I. Tujuan

- Memperkenalkan konsep pewarisan

- Menunjukkan cara penulisan sintak pewarisan

II. Alat dan Bahan

- Notepad

III. Skill yang diharapkan

- Mahasiswa mengerti konsep pewarisan

- Mahasiswa mampu mengimplementasikan konsep pewarisan

IV. Teori

Inheritance merupakan pewarisan attribut dan method pada sebuah class yang

diperoleh dari superclass-nya. Setiap subclass akan mewarisi atribut dan behaviour (

method-method) dari superclass-nya. Subclass kemudian dapat menambahkan attribute

dan behaviour baru yang spesifik dan dapat pula memodifikasi ( override ) attribute dan

behaviour yang diturunkan oleh superclass-nya.

Dalam hirarki kelas, jika kelas C merupakan turunan kelas B, dan kelas B

merupakan turunan kelas A, maka otomatis attribute dan method kelas A juga diwariskan

kelas C.

Bentukpewarisan :

[modifier] class namaSubKelas extends namaKelasSuper {

// classBody

}

Page 28: MODUL PBO

28

Manfaat pewarisan

Subclass menyediakan attribute/behaviour yang spesifik yang membedakannya dengan

superclass, hal ini akan memungkinkan programmer Java untuk menggunakan ulang

source code dari superclass yang telah ada. Programmer Java dapat mendefinisikan

superclass khusus yang bersifat generik, yang disebut abstract class, untuk

mendefinisikan class dengan behaviour dan attribute secara umum.

Istilah dalam inheritance yang perlu diperhatikan :

Extends

Keyword ini harus kita tambahkan pada definisi class yang menjadi

subclass.

Superclass

Superclass digunakan untuk menunjukkan hirarki class yang berarti

class dasar dari subclass/class anak.

Subclass

Subclass adalah class anak atau turunan secara hirarki dari superclass.

Super

Keyword ini digunakan untuk memanggil konstruktor dari superclass

atau menjadi variabel yang mengacu pada superclass.

Methode Overriding

Pendefinisian ulang method yang sama pada subclass. Dalam inheritance, method

overriding berbeda dengan method overloading. Overriding adalah mendefinisikan

Page 29: MODUL PBO

29

kembali method yang sama, baik nama method maupun signature atau parameter yang

diperlukan dalam subclass, sedangkan overloading adalah mendefinisikan method yang

memiliki nama yang sama, tetapi dengan signature yang berbeda dalam definisi class

yang sama.

V. Kegiatan

1. Mengimplementasikan pewarisan

Buatlah class Lingkaran, yang memiliki attribute jari-jari method getLuas() dan

getKeliling(). Kemudian dari class tersebut akan dibuat class Tabung yang

merupakan turunan dari class Lingkarang dengan attribute jari-jari, tinggi, dan

method getVolume.

Pertama anda harus membuat class Lingkaran yang menjadi superclass. Kode class

Lingkaran seperti dibawah ini

public class Lingkaran{

private int jari;

public Lingkaran(int r){

this.jari = r;

}

public int getJari(){

return this.jari;

}

public double getLuas(){

return this.jari * this.jari * 3.14;

}

}

Selanjutnya buatlah class Tabung. Kode untuk class Tabung seperti berikut.

public class Tabung extends Lingkaran{

Page 30: MODUL PBO

30

private int tinggi;

public Tabung(int r , int t){

super(r);

this.tinggi = t;

}

public double getVolume(){

return super.getLuas() * this.tinggi;

}

}

Selanjutnya buatlah program utama, untuk mencoba class Tabung dan class

Lingkarang yang telah dibuat sebelumnya. Misal kita namakan class Driver, berikut

kodenya.

public class Driver{

public static void main(String args[]){

Tabung x = new Tabung(10,7);

System.out.println("Volume Tabung adalah "+ x.getVolume());

}

}

Apabila kode diatas dijalankan apakah yang akan tercetak pada layar?

VI. Latihan

1. Keuntungan apa yang diperoleh dengan melakukan pewarisan dan kapan digunakan ?

2. Buatlah method getKeliling pada class Tabung!

Page 31: MODUL PBO

31

BAB VI

POLIMORFISME

I. Tujuan

• Memperkenalkan konsep Polimorfisme

• Menunjukkan contoh program yang menerapkan Polimorfisme

II. Alat dan Bahan

• Netbeans

III. Skill yang diharapkan

• Mahasiswa mengerti konsep Polimorfisme

• Mahasiswa mampu mengimplementasikan konsep Polimorfisme

IV. Teori

Kata polimorfisme yang berarti satu objek dengan banyak bentuk yang berbeda, adalah

konsep sederhana dalam bahasa pemrograman berorientasi objek yang berarti

kemampuan dari suatu variabel referensi objek untuk memiliki aksi berbeda bila method

yang sama dipanggil, dimana aksi method tergantung dari tipe objeknya.

V. Kegiatan

1. Mengimplementasikan Polimorfisme

Kita akan membuat program ekspresi wajah, dimana class EkspresiWajah sebagai

superclass nya. Berikut kode dari class Ekspresi wajah.

Page 32: MODUL PBO

32

Sebagai subclass nya adalah class Sedih, Marah dan Gembira. Berikut adalah kode

dari masing-masing subclass.

Selain superclass dan subclass masih terdapat satu class lagi, yaitu class

MainEkspresiWajah yang berperan sebagai class client untuk mencoba program

ekspresi wajah yang kita buat.

Page 33: MODUL PBO

33

Apabila kode diatas dijalankan apakah yang akan tercetak pada layar?

VI. Latihan

1. Berikan contoh program yang dapat mewakili penjelasan tentang Polimorfisme dan

jelaskan program tersebut ?

Page 34: MODUL PBO

34

BAB VII

KELAS ABSTRACT DAN INTERFACE

I. Tujuan

• Memperkenalkan kelas abstract dan interface

• Menunjukkan contoh program yang menggunakan kelas abstract dan interface

II. Alat dan Bahan

• Netbeans

III. Skill yang diharapkan

• Mahasiswa mengerti kelas abstract dan interface

• Mahasiswa mengerti perbedaan kelas abstract dan interface

• Mahasiswa mampu mengimplementasikan kelas abstract dan interface

IV. Teori

Kelas abstract adalah kelas murni yang tidak boleh memiliki objek, dan satu/lebih

method-methodnya yang abstract harus diimplementasikan (override) oleh kelas

turunannya.

Bentuk umum :

[modifier] abstract class NamaKelas {

// deklarasi attribute

// definisi/prototype method

}

Page 35: MODUL PBO

35

Pada Java juga dikenal konsep interface, yang merupakan device yang digunakan untuk

komunikasi antar objek berbeda yang tidak memiliki hubungan apapun. Interface bisa

dikatakan sebagai protokol komunikasi antar objek tersebut.

[modifier] interface NamaInterface {

// deklarasi konstanta

// deklarasi method

} // catatan : modifier static tidak boleh digunakan dalam interface

Interface vs Abstract Class

Interface dan kelas abstract memilki kesamaan sama-sama tidak boleh instansiasi objek.

Perbedaan interface dangan kelas abstract adalah sebagai berikut :

komponen interface abstract class

attribute hanya berupa konstanta bebas memilki tipe

data apa saja

method berupa deklarasi boleh deklarasi,

boleh berupa method

lengkap

syntax seluruhnya abstract (berupa

deklarasi)

sebagian abstract

V. Kegiatan

1. Penggunaan kelas abstract

Page 36: MODUL PBO

36

Abstract class merupakan class yang memiliki minimal satu method abstract. Contoh

kasusnya adalah class Hewan. Class Hewan memiliki method abstract bersuara ,

Method bersuara dibuat sebagai method abstract karena method bersuara ini tidak

dapat ditentukan oleh class Hewan, dikarenakan bersuara Hewan tergantung dari jenis

hewannya. Tentunya bersuaranya sapi tidak sama dengan bersuaranya perkutut

bukan.

Untuk lebih jelasnya ikutilah langkah-langkah berikut ini. Pertama kita buat dulu

class Hewan sebagai abstract class nya. Berikut adalah kode dari class Hewan.

Perhatikan class Hewan diatas, terdapat abstract void bersuara yang tidak ada isinya.

Method bersuara inilah yang dikenal dengan absctract method. Method bersuara ini

wajib di implementasikan oleh turunan dari class Hewan. Contoh kita akan membuat

class Perkutut, maka class Perkutut harus mengimplementasikan method bersuara.

Tulis dan perhatikan class Perkutut dibawah ini.

Page 37: MODUL PBO

37

Selain class Perkutut sebagai turunan class Hewan, misal kita akan membuat satu

turunan dari class Hewan lagi. Yaitu class Sapi. Seperti halnya class Perkutut class

Sapi juga harus mengimplementasikan method bersuara, dan tentunya implementasi

method bersuara pada class Perkutut dan class Sapi tidak sama. Berikut adalah class

Sapi.

Untuk mencoba dari class-class yang telah kita buat. Maka kita harus membuat

sebuah program utama sebagai tester. Misal class Utama nya sebagai berikut ini

Page 38: MODUL PBO

38

Apabila program diatas dijalankan, apakah keluaran yang tercetak pada layar?

2. Penggunaan interface

Interface merupakan abstract class yang paling abstract, karena dia tidak boleh

memiliki attribute selain konstanta dan tidak boleh memiliki method yang memiliki

implementasi. Dengan kata lain semua method yang terdapat pada interface adalah

abstract.

Pada kasus ini, misal kita akan membuat interface manusia dimana manusia memiliki

abstract method menyanyi dan ketawa. Berikut adalah contoh interface manusia.

Selanjutnya kita buat class SpongeBob yang merupakan implements dari interface

Manusia. Class SpongeBob harus mengimplementasikan semua abstract method yang

ada pada interface manusia. Pada kasus ini adalah method menyanyi dan ketawa.

Berikut adalah contoh kode dari class SpongeBob.

Page 39: MODUL PBO

39

Setelah class SpongeBob selesai kita harus membuat program utama yang digunakan

untuk mengetes dari interface Manusia dan class SpongeBob yang merupakan

implements dari class manusia. Berikut adalah contoh kode dari class Utama .

Class utama diatas hanya membuat object SpongeBob, kemudian hanya menjalankan

abstract method yang telah diimplementasikan oleh class SpongeBob. Apabila program

diatas dijalankan, apakah keluaran yang tercetak pada layar?

Latihan

1. Berikan contoh sebuah program yang mengimplementasikan kelas abstract dan

interface ?

2. Apakah sebuah class dimungkinkan untuk menjadi implements lebih dari 1 interface?

Jika mungkin, maka buatlah sebuah program yang mengimplementasikan hal

tersebut.