modul praktikum pbo

39
Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak Modul Praktikum I Instalasi Java 2 System Development Kit (J2SDK1.4) Tujuan : Untuk mengetahui cara instalasi J2SDK1.4 Melakukan setting pada file AUTOEXEC.BAT Pendahuluan : Untuk memprogram Java dan melakukan kompilasi terhadap program Java menjadi Java bytecode, perangkat lunak yang digunakan adalah J2SDK versi 1.4 dari Sun Microsystems. Setelah program tersebut diinstal pada platform Windows, maka lakukan setting pada file autoexec.bat dengan cara mengetikan: edit autoexec.bat - pada prompt DOS, kemudian ketikan pada file autoexec.bat seperti yang ditunjukkan pada gambar 1.1. Gambar 1.1. Setting path j2sdk pada file autoexec.bat Setelah melakukan setting pada file tersebut, jalankan file autoexec.bat dengan cara mengetikkan nama file tersebut pada prompt DOS, contoh : C:\autoexec.bat Lakukan pengujian terhadap hasil instalasi dengan membuat sebuah program java yang sederhana seperti berikut ini : 1 Contoh program 1.1 nama file : test.java class test { public static void main(String[] args) { System.out.println(“Installation Status : OK”); } }

Upload: -k-g

Post on 19-Jun-2015

1.080 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Modul Praktikum PBO

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

Modul Praktikum I

Instalasi Java 2 System Development Kit (J2SDK1.4)

Tujuan :Untuk mengetahui cara instalasi J2SDK1.4Melakukan setting pada file AUTOEXEC.BAT

Pendahuluan :Untuk memprogram Java dan melakukan kompilasi terhadap program Java menjadi Java bytecode, perangkat lunak yang digunakan adalah J2SDK versi 1.4 dari Sun Microsystems. Setelah program tersebut diinstal pada platform Windows, maka lakukan setting pada file autoexec.bat dengan cara mengetikan: edit autoexec.bat - pada prompt DOS, kemudian ketikan pada file autoexec.bat seperti yang ditunjukkan pada gambar 1.1.

Gambar 1.1. Setting path j2sdk pada file autoexec.bat

Setelah melakukan setting pada file tersebut, jalankan file autoexec.bat dengan cara mengetikkan nama file tersebut pada prompt DOS, contoh :

C:\autoexec.bat

Lakukan pengujian terhadap hasil instalasi dengan membuat sebuah program java yang sederhana seperti berikut ini :

Praktikum :1. Melakukan Instalasi Java 2 System Development Kit (J2SDK1.4). Perangkat lunak Java

yang akan diinstal harus disesuaikan dengan platform sistem operasi yang digunakan. Pada pengantar praktikum ini, J2SDK1.4 versi Windows yang digunakan.

2. Melakukan setting PATH dan CLASS PATH, pada file AUTOEXEC.BAT3. Melakukan pengujian terhadap hasil instalasi.

1

Contoh program 1.1nama file : test.java

class test { public static void main(String[] args) { System.out.println(“Installation Status : OK”); }}

Page 2: Modul Praktikum PBO

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

Modul Praktikum II

Variabel dan Tipe Data

Tujuan :Mengetahui pendeklarasian Variabel dan Tipe Data

Pendahuluan : Keyword dalam bahasa Java tidak boleh digunakan sebagai nama variabel (pengenal),

tabel 2.1 memperlihatkan daftar kata-kata kunci bahasa Java.

Tabel 2.1 Daftar Keyword pada Java

abstractbooleanbreakbytecasecatchcharclassconstcontinuedodouble

Elseextendsfinalfinallyfloatforgotoifimplementsimportinstanceofint

Interfacelongnativenewnullpackageprivateprotectedpublicreturnshortstatic

superswitchsyncronizedthisthrowthrowstransienttryvoidvolatilewhile

Pendeklarasian variabel dan tipe data dalam Java

Variabel dalam bahasa pemrograman berfungsi untuk menyimpan suatu nilai dengan tipe data tertentu. Begitu juga dalam bahasa java, memungkinkan untuk mendeklarasikan suatu variabel. Variabel merupakan tempat penyimpanan data atau informasi dengan tipe data tertentu yang ada di memori. Pada dasarnya ada 2 macam tipe variabel data dalam bahasa Java, yaitu tipe data primitif dan tipe data reference. Tabel 2.2 menunjukkan jenis-jenis tipe data primitif.

Tabel 2.2 Tipe Data Primitif, terdiri dari :

Nama Type Data Ukuran Range Nilai Keteranganbyte 8 bit -128 sampai 127 Tipe data bilangan bulatshort 16 bit -32.768 sampai 32.767 Tipe data bilangan bulatint 32 bit -2.147.483.648 sampai

2.147.483.647Tipe data bilangan bulat

long 64 bit -9.223.372.036.854.775.808 sampai

9.223.372.036.854.775.807

Tipe data bilangan bulat

float 32 bit IEEE 754 Tipe data bilangan realdouble 64 bit IEEE 754 Tipe data bilangan realchar 16 bit 0…..65535 Tipe data sebuah karakterboolean Tipe data yang memuat status

true atau false

Untuk mendeklarasikan variabel dalam java, sintaksnya adalah :

2

tipe-data nama_variabel;

Page 3: Modul Praktikum PBO

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

contoh : int tahun;byte usia;char jenis_kelamin;

Berikut contoh penggunaan tipe data primitif pada Java seperti pada program 2.1 di bawah ini.

Sedangkan jenis tipe data reference pada bahasa Java adalah ; tipe class, array, dan interface. Tipe data referensi digunakan untuk mengacu suatu objek. Di mana variabel objek tersebut dapat digunakan untuk mengakses nilai variabel instant yang biasanya berupa tipe data primitif. Program Java 2.2 menunjukkan contoh penggunaan tipe data referensi.

3

contoh program 2.1nama file : usevariabel.java

class usevariabel { public static void main(String[] args) { byte byteData = 100; short shortData = 501; int intData = 999; char charData = 'A'; float floatData = 99.99; double doubleData = 99.999; boolean booleanData1 = true; boolean booleanData2 = false;

System.out.println("Contoh tipe data byte = "+byteData); System.out.println("Contoh tipe data short = "+shortData); System.out.println("Contoh tipe data integer = "+intData); System.out.println("Contoh tipe data char = \'"+charData+"\'"); System.out.println("Contoh tipe data float = "+floatData); System.out.println("Contoh tipe data double = "+doubleData); System.out.println("Contoh tipe data boolean = "+booleanData1); System.out.println("Contoh tipe data boolean = "+booleanData2); }}

// contoh program 2.2nama file : tipedataReferensi.java

class tipedataReferensi { int rescue; // pendeklarasian variabel dgn tipe data int public static void main(String[] args) { tipedataReferensi mengacu_ke; // pendeklarasian variabel dgn tipe data class mengacu_ke = new tipedataReferensi(); // instansiasi tipe data class menjadi objek

mengacu_ke.rescue = 911; // mengakses objek -> tipedataReferensi melalui variabel objek 'mengacu_ke'

System.out.println("Variabel objek \'mengacu_ke\' bernilai -> "+mengacu_ke.rescue); }}

Page 4: Modul Praktikum PBO

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

Tabel 2.3 Kode karakter khusus (karakter escape) pada Java

Kode Keterangan

\n New line (baris baru)

\t Tab

\b Backspace

\r Carriage Return

\f Form feed01

\\ Backslash

\’ Tanda kutip tunggal

\” Tanda kutip ganda

\ddd Bilangan Oktal

\xdd Bilangan Heksadesimal

\udddd Karakter Unicode

Contoh penggunaan kode karakter khusus seperti yang ditunjukkan pada listing program 2.3.

Praktikum :1. Buatlah program yang mendeklarasikan berbagai jenis tipe data serta tampilkan nilai/data

dari variabel tersebut.2. Buatlah contoh program yang menggunakan berbagai macam jenis karakter khusus.

Modul Praktikum III

Dasar-Dasar Pemrograman Bahasa Java

Tujuan : Memahami berbagai macam tipe operator, meliputi :Operator AritmatikaOperator RelasionalOperator KondisionalOperator Assignment

Pendahuluan :1. Operator Aritmatika, digunakan untuk memanipulasi nilai variabel yang bersifat numerik.

Macam-macam bentuk operator aritmatika dapat dilihat pada Tabel 3.1 dan Tabel 3.2 di bawah ini :

4

contoh program 2.3nama file : charkhusus.java

class charkhusus { public static void main(String[] args) { System.out.println(“Java\nLanguage”); System.out.println(“\n”); System.out.println(“\’Programming\’”); }}

Page 5: Modul Praktikum PBO

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

Tabel 3.1 Operator Aritmatika dalam Java

Operator Pemakaian Keterangan+ Operan1 + Operan2 Menambahkan Operan1 dengan Operan2- Operan1 - Operan2 Mengurangkan Operan1 dengan Operan2* Operan1 * Operan2 Mengalikan Operan1 dengan Operan2/ Operan1 / Operan2 Membagi Operan1 dengan Operan2

% Operan1 % Operan2 Memberikan sisa hasil bagi antara Operan1 dengan Operan2

Berikut ini adalah contoh penggunaan operator aritmatika dalam program :

5

// contoh program 3.1// nama file : operatoraritmatika.java

import java.io.*;

class operatoraritmatika { public static void main(String[] args) { int operan1, operan2, angka_pilihan = -1; try { while (true) { System.out.println("\nPenggunaan Operator Aritmatika"); System.out.println("=============================="); System.out.println("0. K e l u a r"); System.out.println("1. Penambahan (+)"); System.out.println("2. Pengurangan (-)"); System.out.println("3. Perkalian (*)"); System.out.println("4. Pembagian (/)"); System.out.println("5. Hasil Bagi/Modulo (%)"); System.out.println("\n"); System.out.print("Silahkan pilih 1-5, 0 untuk keluar : "); angka_pilihan = (new Integer((new BufferedReader(new InputStreamReader(System.in))).readLine())).intValue(); if (angka_pilihan==0) { System.out.println("Bye..bye....."); break; } else if (angka_pilihan > 5 || angka_pilihan < 0) { System.out.print("\n"); System.out.print("Angka yang bisa anda masukkan adalah 1-5 \n"); } else { System.out.print("Masukkan operan 1 : "); operan1 = (new Integer((new BufferedReader(new InputStreamReader(System.in))).readLine())).intValue();

System.out.print("Masukkan operan 2 : "); operan2 = (new Integer((new BufferedReader(new InputStreamReader(System.in))).readLine())).intValue();

switch(angka_pilihan) { case 1: System.out.println(operan1 + " + " + operan2 + " = " +(operan1+operan2)); break;

case 2: System.out.println(operan1 + " - " + operan2 + " = " +(operan1-operan2)); break;

case 3: System.out.println(operan1 + " x " + operan2 + " = " +(operan1*operan2)); break;

case 4: System.out.println(operan1 + " / " + operan2 + " = " +(operan1/operan2)); break;

case 5: System.out.println(operan1 + " % " + operan2 + " = " +(operan1%operan2)); break; } System.out.println("\n"); } } }catch(IOException e) { System.out.println("Error I/O"); System.exit(0); } }}

Page 6: Modul Praktikum PBO

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

Selain operator di atas, operator-operator yang ditunjukkan pada Tabel 3.2 juga termasuk dalam operator aritmatika.

Tabel 3.2 Operator Aritmatika

Operator Pemakaian Keterangan++ Operan++ Menaikkan nilai operan sebanyak 1 setelah dilakukan

operasi terhadap operan tersebut.++ ++Operan Menaikkan nilai operan sebanyak 1 sebelum dilakukan

operasi terhadap operan tersebut.-- Operan-- Menurunkan nilai operan sebanyak 1 setelah dilakukan

operasi terhadap operan tersebut.-- --Operan Menaikkan nilai operan sebanyak 1 sebelum dilakukan

operasi terhadap operan tersebut.- -Operan Merubah nilai operan menjadi negasinya (jika operan

positif menjadi negatif, begitu juga sebaliknya).

2. Operator RelasionalOperator relasional berfungsi untuk membandingkan antara dua nilai variabel. Tabel 3.3 menunjukkan operator relasional.

Tabel 3.3 Operator Relasional

Operator Pemakaian Keterangan> Operan1 > Operan2 Menghasilkan nilai true jika Operan1 lebih besar

dari Operan2< Operan1 < Operan2 Menghasilkan nilai true jika Operan1 lebih kecil

dari Operan2>= Operan1 >= Operan2 Menghasilkan nilai true jika Operan1 lebih besar

atau sama dengan Operan2<= Operan1 <= Operan2 Menghasilkan nilai true jika Operan1 lebih kecil

atau sama dengan Operan2== Operan1 == Operan2 Menghasilkan nilai true jika Operan1 sama

dengan Operan2!= Operan1 != Operan2 Menghasilkan nilai true jika Operan1 tidak sama

dengan Operan2

3. Operator Kondisional

Tabel 3.4 Operator Kondisional

Operator Pemakaian Keterangan&& Operan1 && Operan2 Menghasilkan true jika Operan1 dan Operan2,

keduanya bernilai boolean true.|| Operan1 || Operan2 Menghasilkan true jika Operan1 atau Operan2,

keduanya bernilai boolean true.! !Operan1 Menghasilkan true jika Operan1 bernilai boolean

false.& Operan1 & Operan2 Menghasilkan true jika Operan1 dan Operan2

bernilai true (bitwise AND)| Operan1 | Operan2 Menghasilkan true jika Operan1 atau Operan2

salah satunya bernilai true (bitwise OR).^ Operan1 ^ Operan2 Menghasilkan true jika salah satu diantara

Operan1 atau Operan2 bernilai true, tetapi tidak keduanya.

6

Page 7: Modul Praktikum PBO

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

4. Operator Assignment, digunakan untuk memberikan nilai dari suatu hasil operasi ke sebuah variabel, umumnya diberikan kepada variabel yang sama.

Tabel 3.5 Operator Assignment

Operator Pemakaian Ekivalen Dengan+= Operan1 += Operan2 Operan1 = Operan1 + Operan2-= Operan1 -= Operan2 Operan1 = Operan1 = Operan2*= Operan1 *= Operan2 Operan1 = Operan1 * Operan2/= Operan1 /= Operan2 Operan1 = Operan1 / Operan2

%= Operan1 %= Operan2 Operan1 = Operan1 % Operan2&= Operan1 &= Operan2 Operan1 = Operan1 & Operan2|= Operan1 |= Operan2 Operan1 = Operan1 | Operan2^= Operan1 ^= Operan2 Operan1 = Operan1 ^ Operan2

>>= Operan1 >>= Operan2 Operan1 = Operan1 >> Operan2<<= Operan1 <<= Operan2 Operan1 = Operan1 << Operan2

>>>= Operan1 >>>= Operan2 Operan1 = Operan1 >>> Operan2

Tugas Praktikum :Buat kode program yang melakukan berbagai macam penggunaan operator relasional, kondisional, assignment.

Modul Praktikum IV

Control Flow Pada Java

Tujuan :Memahami Control Flow dalam Java dan macamnya, meliputi :if – elseswitch – casefor loopwhile loop, do – while loop

Pendahuluan :Secara garis besar, pengendalian eksekusi dapat dibagi menjadi beberapa bagian, yaitu seleksi kondisi (if dan switch – case), perulangan atau iterasi (for, while, dan do while).Ada 2 kata kunci (keywords) yang digunakan untuk melakukan seleksi suatu kondisi, yaitu if dan switch – case.

1. Statement if – else, akan membandingkan suatu operand yang apabila memenuhi suatu kondisi tertentu, maka blok program di dalamnya akan dieksekusi. Sintaks statementnya adalah sebagai berikut :

if (kondisi) {……..statement…….}

atau

if (kondisi) {……..statement1…….} else {……..statement2…….}

7

Page 8: Modul Praktikum PBO

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

if (kondisi1) {……..statement1…….

} else if (kondisi2) {……..statement2…….

} else if (kondisi3) {……..statement3…….

} else if (kondisin) {……..statementn…….

}

atau

if (kondisi1) {……..statement1…….

} else if (kondisi2) {……..statement2…….

} else if (kondisi3) {……..statement3…….

} else if (kondisin) {……..statementn…….

} else {……..default statement…….}

2. Statement switch – case, digunakan untuk percabangan yang berjumlah lebih dari satu, penggunaannya mirip dengan penggunaan if bertingkat. Sintaks penggunaannya sebagai berikut :

Dengan adanya penggunaan iterasi, dapat menghindai terjadinya penulisan statement secara berulang-ulang.

3. Statement for, digunakan untuk mengeksekusi sebuah blok secara berulang-ulang selama kondisinya memenuhi. Sintaks adalah sebagai berikut :

4. Statement while, mempunyai bentuk sebagai berikut :

8

switch (ekspresi) {case (kondisi1):

…..statement1;break;

case (kondisi2):…..statement2;break;

case (kondisi3):…..statement3;break;

case (kondisin):…..statementn;break;

default:…..default statement;break;

}

for (inisialisasi; terminasi; increment) {…….statement;

}

while (ekspresi) {…….statement;

}

Page 9: Modul Praktikum PBO

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

5. Statement do – while,

Program 4.1 menunjukkan bagaimana menyusun kendali dengan if. Program 4.2 merupakan contoh bagaimana menggunakan statement switch. Sedangkan program 4.3 menunjukkan bagaimana menggunakan struktur perulangan for.

9

do {…….statement;

} while (ekspresi) {

}

// contoh program 4.1// nama file : ifelse.java

public class ifelse { public static void main(String[] args) { double a=4; double b=-13; double c=-12; double d=b*b - 4*a*c; double x1,x2;

System.out.println("Persamaan Kuadrat a*x^2+b*x+c=0, dimana : "); System.out.println("a = "+a); System.out.println("b = "+b); System.out.println("c = "+c); System.out.println("Dengan menerapkan rumus ABC diketahui bahwa : ");

if (d<0) { System.out.println("Akar-akar persamaan imaginer."); } else if (d==0) { System.out.println("Akar-akar persamaan nyata tetapi kembar."); x1 = -b/(2*a); System.out.println("x1 = x2 = "+x1); } else { System.out.println("Akar-akar persamaan nyata dan berbeda"); x1 = (-b+Math.sqrt(d))/(2*a); x2 = (-b-Math.sqrt(d))/(2*a); System.out.println("x1 = "+x1 + " x2 = "+x2); } }}

// contoh program 4.2// nama file : switchcase.java

public class switchcase { public static void main(String[] args) { char inisial='F'; String nama = null; switch (inisial) { case 'J' : nama = "John"; break; case 'F' : nama = "JFK"; break; case 'K' : nama = "Kennedy"; break; default : nama = "unknown object"; } System.out.println("Nama inisial anda : "+nama); }}

Page 10: Modul Praktikum PBO

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

Tugas Praktikum :1. Buat contoh program dengan menggunakan statement if, while, switch-case, dan for.2. Buatlah kode program dengan menggunakan statement if, yang menampilkan nilai yang

dimasukkan dan memberikan keterangan terhadap nilai tersebut. dengan ketentuan sebagai berikut :nilai >80 mendapat nilai = A, keterangan : Lulus - Memuaskannilai > 70<=80 mendapat nilai = B. keterangan Lulus - Baiknilai >60 <=70 mendapat nilai = C. keterangan Lulus - Cukupnilai >50 <=60 mendapat nilai = D. keterangan Tidak Lulus – Tidak Memuaskan

10

// contoh program 4.3// nama file : contohfor.java

public class contohfor { public static void main(String args[]) { int bil=7; int sum=2;

for (int iterasi=2; iterasi<=bil; iterasi++) { System.out.print(sum + " * " + iterasi + " = "); sum *= iterasi; System.out.println(sum); } System.out.println(bil + " ! = "+sum); }}

// contoh program 4.4// nama file : contohwhile.java

public class contohwhile { public static void main(String args[]) { int bil=7; int i=2; int sum=2;

while (i<=bil) { System.out.print(sum + " * " + i + " = "); sum = sum * i; System.out.println(sum); i++; } System.out.println(bil + " ! = "+sum); }}

Page 11: Modul Praktikum PBO

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

Modul Praktikum V

Array / Larik

Tujuan : Memahami Variabel Array

Pendahuluan :Seperti yang telah kita ketahui bahwa kita harus mendeklarasikan suatu variabel sebelum kita hendak menggunakannya. Variabel array atau larik merupakan variabel yang mampu menyimpan sejumlah data dengan nama variabel yang sama. Misalkan kita memerlukan 100 buah variabel bertipe String untuk menyimpan sebanyak 100 nama mahasiswa. Tentu sangat tidak efisien apabila kita mendeklarasikan pula sebanyak 100 variabel satu persatu (misalkan; nama_mhs1, nama_mhs2, ……sampai 100). Kita cukup mendeklarasikannya satu kali dengan mengunakan variabel bertipe array dengan range sebanyak 100). Di sinilah kegunaan dari variabel bertipe array tersebut.

Untuk mendeklarasikan variabel bertipe array digunakan cara seperti berikut :

Contoh : int[] nim;String[] nama_mahasiswa;float IPK[];

Pendeklarasian array dengan menggunakan “Cara I” seperti di atas merupakan cara yang paling sering digunakan. Contoh di atas merupakan bentuk pendeklarsian array berdimensi satu. Adapun bentuk pendeklasian array multidimensi, seperti berikut :

Contoh : String[][] myheartCondition = {

{“angry”,”happy”,”sad”,”bad”,”alone”,”relax”},{“laugh”,”grumble”,”fresh”,”good”,”ok”,},{“ready”,”ill”,”jealous”,”glum”,”busy”,”werrrr”}

};Setelah mendeklarasikan array dengan cara di atas, langkah selanjutnya adalah melakukan inisialisasi atau menciptakan objek dari variabel array tersebut. Ada 2 cara yang umum digunakan, yaitu :

Cara Pertama : Dengan menggunakan kata kunci new, sintaksnya adalah sebagai berikut :

11

Cara I : tipe-data[] nama_variabel;

atauCara II : tipe-data nama_variabel[];

Cara I : tipe-data[][] nama_variabel;

atau

Cara II : tipe-data nama_variabel[][];

new tipe-data[range];

Page 12: Modul Praktikum PBO

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

Contoh : nim = new int[100]nama_mahasiswa = new String[75]IPK = new float[75]

Cara Kedua : Dengan langsung memberikan nilai awal :

Contoh : nim = {1,9,25,55,75,95,101};nama_mahasiswa = {Scott, Jane, Ann, Smith, Armstrong};

Variabel array dapat diketahui panjangnya dengan mengakses kata ; length, sintaknya :

Contoh : nama_mahasiswa.length;

Sedangkan untuk mengacu ke salah satu elemen array. Menggunakan sintaks :

Contoh : nim[9];

Contoh lengkap dari penggunaan array atau larik dapat dilihat pada program 5.1 dan 5.2 di bawah ini :

12

nama_variabel = {nilai_data1, nilai_data2, …..nilai_data-n};

nama_variabel_array.length;

nama_variabel_array[nomor_index];

// contoh program 5.1// nama file : Array.java

class Array { public static void main(String[] args) { String[] lifestyle; // membuat array/larik lifestyle = new String[7];

lifestyle[0] = "Sederhana"; // cara mengisi elemen array lifestyle[1] = "Parlente"; lifestyle[2] = "Glamour"; lifestyle[3] = "Nebeng Glamour - Necis"; lifestyle[4] = "Kosmo"; lifestyle[5] = "Matre"; lifestyle[6] = "Electronic-Live Style";

System.out.println("Macam-macam gaya hidup : "); System.out.println(lifestyle[0]); System.out.println(lifestyle[1]); System.out.println(lifestyle[2]); System.out.println(lifestyle[3]); System.out.println(lifestyle[4]); System.out.println(lifestyle[5]); System.out.println(lifestyle[6]); // menampilkan elemen array }}

Page 13: Modul Praktikum PBO

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

Tugas Praktikum :Buatlah kode program dengan menggunakan variabel array

Modul Praktikum VI

Konsep Pemrograman Berorientasi Objek

Tujuan :Mengimplementasikan konsep pemrograman berorientasi objek dalam bahasa Java :– Kelas– Objek– Encapsulation (Pembungkusan)– Inheritance (Pewarisan)– Polymorfism

Pendahuluan :1. Dalam bahasa pemrograman java, pendefinisian kelas dilakukan dengan menggunakan

kata kunci (keyword) class. Sintax dari pembuatan kelas, secara lengkap adalah sebagai berikut :

13

publicabstractfinal

class nama_kelasextends nama super_kelas

implements nama_interface {

statements………statements………

}

// contoh program 5.2// nama file : Larik.java

class Larik { public static void main(String args[]) { boolean ketemu = false; int[] arrayInt = new int[7]; char[] arrayChar = {'X','Y','Z'}; for (int i=0; i<arrayInt.length; i++) { arrayInt[i] = i+1; System.out.println("Elemen ke "+(i-7)+"="+arrayInt[i]); }

for (int i=0; i<arrayChar.length; i++) { arrayInt[i] = i+1; System.out.println("Elemen ke "+(i+8)+"="+arrayChar[i]); } }}

Page 14: Modul Praktikum PBO

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

Namun, contoh sederhana atau berdasarkan keperluan kita dalam pendefinisian atau penciptaan sebuah kelas adalah sebagai berikut :

Dari contoh di atas menunjukkan ; kelas tersebut bernama Mahasiswa dan mempunyai 2 buah variabel yaitu nim dan nama yang masing-masing bertipe integer dan string. Kedua variabel ini sering disebut variabel instan atau field atau disebut juga atribut.

Contoh lengkap dari pendeklarasian ‘class mahasiswa’ di atas sebagai berikut :

2. Sebuah kelas pada Java biasanya terdiri dari beberapa variabel instant dan method untuk menciptakan sebuah objek. Method terkadang disebut juga fungsi (function) atau prosedur dimana biasanya fungsi tersebut dibuat berdasarkan sifat yang melekat dari suatu objek. Pendeklarasian method diletakkan pada blok dari suatu kelas. Contoh method dalam Java :

atau

14

class nama_kelas {statements………….

}

Contoh :class Mahasiswa {

int nim;String nama;

}

void dataMahasiswa (int Nim, String Nama) {nim = Nim;nama = Nama;

}

void tampilDataMahasiswa() {System.out.println(“No. Induk Mahasiswa : ”+nim);System.out.println(“Nama Mahasiswa : ”+nama);

}

// contoh program 6.1// nama file : mahasiswa.java

class mahasiswa { // pembuatan kelas int nim; String nama; double ipk;

public static void main(String[] args) { // pendeklrasian program utama mahasiswa mhs1 = new mahasiswa(); // pendefinisian objek mhs1.nim = 1725; mhs1.nama = "Abraham Lincoln"; mhs1.ipk = 9.11;

System.out.println("nim : "+mhs1.nim); // namaVariabelObjek.namaVariabelInstant

System.out.println("nama : "+mhs1.nama); System.out.println("ipk : "+mhs1.ipk); }}

Page 15: Modul Praktikum PBO

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

Setelah method dideklarasikan, maka method dapat digunakan dengan cara memanggil nama method tersebut. Sintaks untuk memanggil method tersebut adalah :

3. Untuk menciptakan Objek yang merupakan bagian terpenting dalam konsep pemrograman berorientasi objek dalam bahasa Java, adalah dengan 2 cara, yang masing-masing menggunakan kata kunci new :

Contoh lengkap dari penjelasan poin 2 dan 3 adalah sebagai berikut :

Untuk menerapkan cara kedua dalam menciptakan objek, kita harus menggunakan suatu methode yang disebut metode konstruktor yang selanjutnya cukup disebut konstruktor saja. Untuk membuat metode konstruktor konstruktor, gunakanlah sintaks sebagai berikut :

15

nama_variabelObjek.namaMethod()

Cara Pertama :

nama_kelas namavariabelObjek = new nama_kelas();

contoh : Mahasiswa siswa1 = new Mahasiswa();

Cara Kedua :

nama_kelas namavariabelObjek = new nama_kelas(argumen1,argumen2,…argumen-n);

contoh : Mahasiswa siswa1 = new Mahasiswa (212, “Wiro Sableng”);

// contoh program 6.2// nama file : oldmahasiswa.java

class oldmahasiswa { // pembuatan kelas int nim; String nama; double ipk;

void data_mahasiswa(int Nim, String Nama, double IPK) { // pendeklarasian method nim = Nim; nama = Nama; ipk = IPK; }

void show_data() { // pendeklarasian method System.out.println("nim : "+nim); System.out.println("nama : "+nama); System.out.println("ipk : "+ipk); }

public static void main(String[] args) { oldmahasiswa mhs = new oldmahasiswa(); // pendefinisian objek mhs.data_mahasiswa(1725,"Abraham Lincoln",9.11); // namaVariabelObjek.namaMethod( ,“…”, );

mhs.show_data(); // namaVariabelObjek.namaMethod();

}}

public nama_konstruktor(parameter1, parameter2, …….. parameter-n) {statement………..

}

Page 16: Modul Praktikum PBO

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

di mana suatu konstruktor mempunyai sifat ; nama konstruktor harus sama/sesuai dengan nama kelas, tidak memiliki nilai balik (tidak boleh ada kata kunci void). Contoh program 5.3 menunjukkan penggunaan konstruktor.

Access Specifier (Penentu Akses)Dalam konsep pemrograman berorientasi objek khususnya bahasa java, terdapat beberapa penentu akses yang menentukan kelas, variabel atau method tersebut boleh diakses baik di dalam kelas itu sendiri maupun dikelas yang berbeda atau pada paket yang berbeda. Ada beberapa penentu akses dalam bahasa Java, tabel 5.1 menunjukkan perbedaan masing-masing penentu akses tersebut.

Tabel 5.1 Penentu Akses pada Kelas

Penentu Akses Keteranganpublic Ini berarti kelas tersebut dapat digunakan oleh kelas lain

tanpa memperdulikan apakah kelas lain yang menggunakannya berasal dari paket yang sama atau berbeda.

abstract Berarti kelas tersebut tidak dapat diinstansiasi menjadi sebuah objek.

final Maka kelas tersebut tidak dapat diturunkan lagi menjadi kelas turunan.

tanpa penentu akses Berarti kelas tersebut dapat diakses oleh kelas yang berbeda yang berada dalam paket yang sama.

16

// contoh program 6.3// nama file : aHero.java

class aHero { String name, nationality;

public aHero(String Name, String from) { // Konstruktor name = Name; nationality = from; }

void show_data() { // pendeklarasian method System.out.println("Name : "+name); System.out.println("From : "+nationality); }

public static void main(String[] args) { aHero leader = new aHero("Cak Nur", "Indonesia"); // lihat perbedaannya dengan prog.5.2

leader.show_data(); }}

Page 17: Modul Praktikum PBO

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

Tabel 5.2 Penentu Akses pada Variabel Instan

Penentu Akses Keteranganpublic Suatu variabel dapat diakses oleh kelas lain yang berbeda

yang menggunakan kelas tersebut atau kelas lain pada paket yang berbeda. Ini berarti pengaksesan suatu variabel dapat dilakukan dari luar kelas.

private Suatu variabel hanya dapat diakses di dalam kelas. Ini berarti variabel tersebut tidak dapat diakses dari luar kelas.

protected Menjadikan variabel instan hanya bisa diakses oleh objek itu sendiri atau objek lain yang menjadi subkelasnya

final Menjadikan variabel bersifat tetap (konstanta) – tidak dapat diubah

tanpa penentu akses Variabel dapat diakses oleh kelas yang berbeda yang berada dalam paket yang sama.

Tabel 5.3 Penentu Akses pada Method

Penentu Akses Keterangan

public Suatu method dapat diakses oleh kelas lain yang berbeda. Dengan lain kata, fungsi/method tersebut dapat diakses dari luar kelas.

private Suatu method hanya dapat diakses di dalam kelas itu sendiri, tidak dapat diakses dari luar kelas.

protected Menjadikan function atau method hanya bisa diakses oleh objek itu sendiri atau objek lain yang menjadi sub-kelasnya

package Menunjukkan bahwa function/method hanya bisa diakses oleh objek itu sendiri atau kelas lain yang berada dalam paket yang sama

static Method akan bernilai tetap seperti pendeklarasian kelas.

final Membuat suatu method pada kelas induk menjadi unik (baik nama maupun parameter) tidak boleh sama (tidak dapat di-override) oleh sub kelasnya.

tanpa penentu akses Method hanya dapat diakses oleh method dalam kelas yang sama atau kelas lain yang berada dalam paket yang sama

Contoh penggunaan akses specifier pada variabel :

Contoh di atas menunjukkan bahwa variabel instan nim dapat diakes oleh kelas lain yang berbeda sedangkan variabel instan nama hanya dapat diakes oleh kelas Mahasiswa.

Contoh penggunaan akses specifier pada method :

17

private void dataMahasiswa (int Nim, String Nama) {nim = Nim;nama = Nama;

}

class Mahasiswa {public int nim;private String nama;

}

Page 18: Modul Praktikum PBO

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

Contoh di atas menunjukkan bahwa method tersebut hanya dapat diakses oleh method-method yang terdapat di dalam kelas itu sendiri yaitu misalnya class Mahasiswa. Program 5.4 menunjukkan contoh penggunaan akses spesifier.

Pewarisan (Inheritance)Salah satu konsep terpenting dari konsep pemrograman berorientasi objek adalah pewarisan. Pewarisan memungkinkan untuk membuat suatu kelas (kelas turunan / sub kelas / kelas anak) berdasarkan kelas yang sudah ada (kelas induk / super kelas), sehingga dapat mewariskan atribut-atribut maupun method-methodnya. Sehingga dengan demikian penulisan suatu bahasa pemrograman secara berulang-ulang dapat dihindari. Hal inilah yang merupakan salah satu keunggulan dari konsep pemrograman berorientasi objekUntuk mewariskan suatu kelas ke kelas yang menjadi turunannya adalah dengan memberikan kata kunci extends di antara nama_kelas_turunan dan nama_kelas_induk. Sintaksnya sebagai berikut :

18

class nama_kelas_turunan extends nama_kelas_induk {

………statement;}

// contoh program 6.4// nama file : mhs.java

class mahasiswa_baru { private int nim; private String nama; public int usia=18;

public void data(int Nim, String Nama) { nim = Nim; nama = Nama; }

protected int nimparadigm() { return this.nim; }

public String namaparadigm() { return this.nama; }}

public class mhs { public static void main(String[] args) { mahasiswa_baru maba = new mahasiswa_baru(); maba.data(331,"Siti Fadila");

System.out.println("Nim : "+maba.nimparadigm());

// System.out.println("Nama : "+maba.nama); System.out.println("Nama : "+maba.namaparadigm()); System.out.println("Usia : "+maba.usia); }}

Page 19: Modul Praktikum PBO

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

Berikut adalah contoh program Java implementasi dari konsep pewarisan.

19

Contoh :class orang_tua {

String nama_ayah = “Paijo”;String mother = “Lissa”;

}

class anak extends orang_tua {………statement;

}

// contoh program 6.5// nama berkas : orang_tua.java;

class orang_tua { String nama_ayah = "Paijo"; String mother = "Lissa";

public void data_orangtua() { System.out.println("Nama Ayah : "+nama_ayah); System.out.println("Nama Ibu : "+mother); }}

// contoh program 6.6// nama berkas : anak.java

class anak extends orang_tua { String nama_anak, ttl, usia;

public anak(String NamaAnak, String Ttl, String Usia) { nama_anak=NamaAnak; ttl=Ttl; usia=Usia; }

void data_anak() { System.out.println("Nama Anak : "+nama_anak); System.out.println("TTL : "+ttl); System.out.println("Usia : "+usia); }

public static void main (String[] args) { anak anakPertama = new anak("Peter Man","Samarinda, 9 Sept 0000","2005th"); anakPertama.data_orangtua(); anakPertama.data_anak(); }}

Page 20: Modul Praktikum PBO

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

Pada pemrograman di atas, ‘class anak’ merupakan kelas turunan dari kelas induk yaitu ‘class orang_tua’. Pada program tersebut ‘class orang_tua’ mewariskan methodnya yaitu; data_orangtua, dimana method tersebut dipanggil dari class anak.

Pada tingkat pemrograman, untuk menggunakan method yang terdapat pada kelas induk sebagai perwujudan dari konsep pewarisan, maka sintaks yang digunakan adalah menggunakan kata kunci super yang diikuti nama method, yaitu :

Berikut adalah contoh program Java yang menunjukkan dua cara dalam penggunaan kata kunci super tersebut.

20

super.nama_method();digunakan untuk memanggil method biasa

atau

super(argumen1, argumen2, ……argumentn);digunakan untuk memanggil method konstruktor

// contoh program 6.7// nama berkas : anak.java

class orangtua { private String nama_ayah, nama_ibu;

public orangtua(String Ayah, String Ibu) { this.nama_ayah = Ayah; this.nama_ibu = Ibu; }

public void data_ortu() { System.out.println("Nama Ayah : "+nama_ayah); System.out.println("Nama Ibu : "+nama_ibu); }}

class anak extends orangtua { String nama_anak;

public anak(String Anak, String Ayah, String Ibu) { super(Ayah,Ibu); // pemanggilan method konstruktor milik superkelas this.nama_anak = Anak; }

void data_anak() { super.data_ortu(); // pemanggilan method superkelas dgn mengg. kt.kunci super System.out.println("Nama Anak : "+nama_anak); }

public static void main(String[] args) { anak anakPertama = new anak("Peter Man","Paijo","Lissa"); anakPertama.data_anak(); }}

Page 21: Modul Praktikum PBO

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

Penjelasan :Super(Ayah,Ibu); adalah cara penulisan yang berarti perintah tersebut memanggil konstruktor yang berada di super kelas. Untuk memanggil konstruktor milik superkelas harus memenuhi kriteria : hanya untuk memanggil method yang bertipe konstruktor dan pemanggilan diletakkan sebagai pernyataan pertama dalam konstruktor subkelas. Perhatikan kembali contoh program anak.java di atas.

PolymorphismDalam OOP, konsep ini memungkinkan digunakannya suatu interface yang sama untuk memerintah suatu objek agar melakukan suatu aksi / tindakan yang mungkin secara prinsip sama tetapi secara proses berbeda.Polymorfisme seringkali disebut juga dalam istilah satu interface banyak aksi. Sebagai contoh kita mengetahui jika kita menginjak pedal gas, maka mobil akan melaju lebih cepat. Tetapi bagaimana proses ini terjadi, dapat berbeda-beda untuk setiap jenis mobil. Implementasi dari konsep polymorfisme dapat dilihat pada program 7.4.

Tugas Praktikum :1. Buat sebuah program yang menunjukkan sebuah kelas merupakan turunan (subkelas) dari

suatu kelas yang lain (superkelas). Sehingga, secara otomatis semua anggota variabel dan method dari superkelas akan diturunkan ke subkelasnya. Untuk membuktikan suatu turunan, buatlah beberapa variabel dan method pada superkelas, di mana variabel dan method tersebut akan digunakan / dipanggil melalui subkelas-nya.

2. Dalam pewarisan, apa yang terjadi (pada saat kompilasi) jika suatu variabel atau method dari superkelas dideklarasikan sebagai private? Buatkan contoh programmnya.

Modul Praktikum VII

Java Package & Import Interface

Tujuan :Memahami Package dan Import.Memahami Interface.Mengimplemetasikan pembuatan package dan import serta interface dalam bahasa Java.

Pendahuluan : Package

Beberapa kelas (program-program yang telah dibuat) dapat dikelompokkan dalam suatu unit yang disebut Package (yang selanjutnya kita sebut Paket). Paket berbentuk suatu direktori atau sub direktori dimana di dalam direktori tersebut terdapat beberapa kelas yang umumnya saling berhubungan (sinergi) di dalam suatu wadah yang disebut paket. Nama paket tersebut biasanya disesuaikan dengan fungsi dan tujuan dari program atau pembuatan paket tersebut. Dengan lain kata, Java Package digunakan untuk membungkus kelas-kelas java ke dalam grup-grup tertentu ke dalam suatu direktori, sehingga terjadinya konflik penamaan, hak akses bisa dicegah. Di samping itu, dengan menggunakan fasilitas paket dalam Java, akan semakin mempermudah dalam mencari dan menggunakan kelas-kelas Java.Pengkasesannya melalui suatu kelas (yang dideklarasikan sebagai public) dengan disertai penyebutan nama paketnya. Sehingga dengan demikian kelas-kelas (program-program) yang berada di dalam paket tersebut dapat digunakan.

21

Page 22: Modul Praktikum PBO

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

Pendeklarasian Package (Paket), yaitu dengan menggunakan kata kunci package :

Contoh penggunaan paket adalah sebagai berikut :Buatlah sebuah direktori yang bernama menu. Kemudian ketikkan dan simpanlah file di bawah ini dengan nama pahe.java di dalam direktori tersebut.

Kemudian ketikkan pula seperti contoh file di bawah ini dan simpanlah file tersebut dengan nama jumbo.java di dalam direktori menu yang telah dibuat sebelumnya, sehingga di dalam direktori menu terdapat dua file, masing-masing ; pahe.java dan jumbo.java. Kemudian kompilasilah kedua file tersebut.

22

package nama_paket;

Contoh : package hemat;

package jumbo;

package data_mahasiswa;

// contoh program 7.1// file location = f:\praktikum\menu\pahe.java

package menu;

public class pahe { String makanan, minuman; int harga; public void pakethemat(String Makanan, String Minuman, int Harga) { this.makanan=Makanan; this.minuman=Minuman; this.harga=Harga; }

public void info() { System.out.println("Pilihan Anda Paket Hemat"); System.out.println("--------------------------------"); System.out.println("Makanan : "+makanan); System.out.println("Minuman : "+minuman); System.out.println("Harga : "+harga); }}

Page 23: Modul Praktikum PBO

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

Setelah selesai mengkompilasi kedua file tersebut, ketikkan source code program java seperti di bawah ini dan simpanlah file tersebut dengan nama jenispaket.java pada direktori induk (dimana direktori menu merupakan sub dari direktori utama), misalnya f:\menu_paket_utama. Setelah itu, kompilasilah file tersebut, kemudian silahkan anda eksekusi.

23

// contoh program 7.2// file location = f:\praktikum\menu\jumbo.java

package menu;

public class jumbo { String makanan, minuman, bonus; int harga; public void paketjumbo(String Makanan, String Minuman, String Bonus, int Harga) { this.makanan=Makanan; this.minuman=Minuman; this.bonus=Bonus; this.harga=Harga; }

public void info() { System.out.println("Pilihan Anda Paket Jumbo"); System.out.println("--------------------------------"); System.out.println("Makanan : " +makanan); System.out.println("Minuman : " +minuman); System.out.println("Bonus : " +bonus); System.out.println("Harga : " +harga); }}

// contoh program 7.3 ; file location = f:\praktikum\jenispaket.classimport java.io.*;import menu.pahe;import menu.jumbo;

public class jenispaket { public static void main(String[] args) { int choice = -1; try { while(true) { System.out.println("Pilih Paket Menu yang Anda inginkan :"); System.out.println("=================================== :"); System.out.println("1. Paket Hemat"); System.out.println("2. Paket Jumbo"); System.out.println("0. Keluar"); System.out.println("\n"); System.out.print("Pilihan Menu 1-2 Saja # 0 untuk keluar, yang manakah pilihan Anda? "); BufferedReader answer = new BufferedReader(new InputStreamReader(System.in)); choice = (new Integer(answer.readLine())).intValue();

if (choice==0) { System.out.println("Terima Kasih, Byeee...."); break;

} else if (choice > 2 || choice < 0) { System.out.println("Pilihan Anda Salah!"); System.out.println("\n");

} else { if (choice == 1) { pahe pkthemat = new pahe(); pkthemat.pakethemat("Nasi + Paha Ayam","Coca Cola",5900); pkthemat.info();

} else if (choice == 2) { jumbo pktjumbo = new jumbo(); pktjumbo.paketjumbo("Nasi, Paha & Dada Ayam, Sambel Terasi+Lalapan","Pepsi Cola","Tusuk Gigi",11500); pktjumbo.info(); } System.out.println("\n"); } } }catch(IOException e) { System.out.println("Error I/O"); System.exit(0); } }}

Page 24: Modul Praktikum PBO

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

InterfacePada Java, dikenal konsep interface, digunakan untuk komunikasi antar objek yang berbeda yang tidak memiliki hubungan apa pun. Dengan interface, memungkinkan berbagi variabel konstanta atau menentukan metode-methode (method-method) yang dapat digunakan oleh beberapa kelas.Pendeklrasian interface mirip dengan pendeklarasian kelas, yaitu dengan menggunakan kata kunci interface sebagai ganti dari kata kunci class. Sintaksnya adalah sebagai berikut :

Penentu akses yang diperkenankan dalam pendeklarasian variabel pada interface adalah public static final. Apabila penentu akses tersebut tidak dideklarasikan, maka Java akan secara otomatis menetapkan variabel tersebut sebagai public static final. Contoh :

Begitu juga pada pendeklarasian method, penentu akses yang digunakan juga ; public abstract yang menyatakan metode bertipe abstrak. Penulisan atau pendeklrasian dalam program adalah sebagai berikut :

Seperti halnya class, suatu interface dapat juga mewarisi dari interface yang lain, contoh :

Sehingga interface anak tidak hanya memiliki konstanta nama_anak, tetapi juga memiliki konstanta nama_ayah dan nama_ibu yang diwariskan oleh interface orang_tua.

24

public interface nama_interface {// ……pendekalrasian variabel konstanta……;// ……pendeklarasian method………;

}

public interface orang_tua {public static final String nama_ayah = “Nain”;public static final String nama_ibu = “Zubaidah”;

}

dengan demikian dapat disingkat penulisannya menjadi :

public interface orang_tua {String nama_ayah = “Nain”;String nama_ibu = “Zubaidah”;

}

public interface anak {public abstract void baca();public abstract void tulis();

}

karena public abstract tidak harus dideklarasikan, maka dapat ditulis menjadi :

public interface anak {void baca();void tulis();

}

public interface anak extends orang_tua {String nama_anak = “Alya”;

}

Page 25: Modul Praktikum PBO

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

Namun berbeda dengan class, suatu interface dapat mewarisi lebih dari satu interface. Sehingga pendeklarasiannya adalah sebagai berikut :

Berikut adalah contoh program Java dengan menggunakan interface

25

public interface nama_interface extends interface1, interface2 {

………statement…….;}

contoh program 7.4 ; nama file : balapan.javainterface tambahkecepatan { public static final int mesinhidup = 1; public abstract void putargas();}

class balapan implements tambahkecepatan { private int kondisimesin = 0;

public void putargas() { if (this.kondisimesin==0) { this.kondisimesin=mesinhidup; System.out.println("\nMesin siap balapan\n"); int a,b,c,d; if (mesinhidup==1) { System.out.println("Tekan tuas kopling, masukkan gigi 1"); System.out.print("Putar gas sampai kecepatan maksimum "); for (a=0; a<=80; a++) { if (a==80) System.out.print(a+"km/jam\n"); } System.out.println("\n"); System.out.println("Gigi 1 sudah mencapai kecepatan maksimum "+a+"km/jam"); System.out.println("Tekan tuas kopling, masukkan gigi 2"); System.out.print("Putar gas sampai kecepatan maksimum "); for (b=80; b<=150; b++) { if (b==150) System.out.print(b+"km/jam\n"); } System.out.println("\n"); System.out.println("Gigi 2 sudah mencapai kecepatan maksimum "+b+"km/jam"); System.out.println("Tekan tuas kopling, masukkan gigi 3"); System.out.print("Putar gas sampai kecepatan maksimum "); for (c=150; c<=250; c++) { if (c==250) System.out.print(c+"km/jam\n"); } System.out.println("\n"); System.out.println("Gigi 3 sudah mencapai kecepatan maksimum "+c+"km/jam"); System.out.println("Tekan tuas kopling, masukkan gigi 4"); System.out.print("Putar gas sampai kecepatan maksimum "); for (d=250; d<=350; d++) { if (d==350) System.out.print(d+"km/jam\n"); } System.out.println("\n"); System.out.println("Gigi 4 sudah mencapai kecepatan maksimum "+d+"km/jam"); System.out.println("Garis Finish 1 meter didepan, lakukan jumping ban belakang..!!!"); }

} else { System.out.println("Payah....mesinnya mogok, perbaiki dulu..!"); } } }

public class balapmotor { public static void main (String[] args) { balapan balapanmotor = new balapan(); balapanmotor.putargas(); }}

Page 26: Modul Praktikum PBO

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

Tugas Praktikum :1. Buatlah contoh program java yang mengimplementasikan penggunaan package.2. Buatlah contoh program java yang mengimplementasikan penggunaan Interface.

Modul Praktikum VIII

Exception Handling

Tujuan :Memahami Exception dalam JavaMemahami kegunaan Blok Try, Catch dan FinallyMemahami kegunaan keyword Throw dan Throws

Pendahuluan :Exception Handling adalah event yang terjadi ketika program menemui kesalahan saat instruksi program dijalankan. Kesalahan yang mungkin terjadi bisa bermacam-macam, misalnya pada saat pembacaan sebuah file, tetapi program tersebut gagal membuka sebuah file yang diinginkan, crash pada hardisk sehingga program-program tidak bisa mengakses file-file tertentu yang berada pada bad sector misalnya, melakukan pembagian sebuah bilangan dengan angka 0, pengisian elemen array dengan di luar jumlah elemen array yang ditentukan, dan lain sebagainya.Untuk mengatasi kesalahan pada saat program sedang dieksekusi, Java menyediakan suatu mekanisme penanganan kesalahan atau disebut juga exception handling. Ketika terjadi kesalahan, secara otomatis akan dilemparkan sebuah objek yang disebut exception. Proses pelemparan exception tersebut dikenal dengan istilah throwing exception, sedangkan proses penerimaan exception disebut catch exception.Agar kesalahan karena eksepsi dapat dikendalikan, eksepsi tersebut perlu “ditangkap”. Untuk menangkap sebuah eksepsi, java menyediakan pernyataan try. Pernyataan ini memiliki 2 bentuk.

1.

Pada block catch ; merupakan statement-statement yang akan digunakan atau dijalankan jika hanya terjadi kesalahan pada saat blok try dijalankan. Sedangkan parameter pada blok catch; merupakan nama kelas yang berhubungan dengan penanganan eksepsi yang mungkin terjadi dan diikuti dengan nama parameter tersebut.Pada contoh program 8.1, parameter yang digunakan adalah r yang berkelas RuntimeException. Bagian ini akan dijalankan hanya jika statemen yang terletak di dalam blok try mengalami eksespsi. Parameter tersebut dapat berupa :

– Throwable t– Error e – Exception e– IOException e– RuntimeException r.

26

try {statemen-statement yang akan ditangkap jika terjadi eksepsi;………………..;

} catch (parameter) {statemen yang akan dijalankan jika terjadi eksepsi;………………..;

}

Page 27: Modul Praktikum PBO

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

Java menyediakan berbagai kelas untuk menangani suatu eksepsi. Kelas tertinggi yaitu Throwable. Dari kelas tersebut terdapat subkelas dengan nama Error dan Exception. Subkelas Error umumnya digunakan untuk menangani kesalahan yang terjadi pada penggunaan memori, seperti penggunaan memori di luar kapasitas yang telah ditentukan (OutOfMemoryError). Sedangkan subkelas Exception mempunyai subkelas IOException dan RuntimeException. IOException digunakan untuk menangani kesalahan yang mungkin terjadi pada saat penggunaan alat-alat input/output. Sedangkan subkelas RuntimeException digunakan untuk menangani eksepsi seperti penggunaan index array yang melebihi kapasitas yang telah ditentukan atau kesalahan yang mungkin terjadi pada operasi aritmatika.

Berikut adalah contoh penulisan program java untuk menangani eksepsi yang terjadi dengan menggunakan bentuk try-catch.

2.

Pada blok finally, statemen yang ada di dalam blok finally tetap akan dijalankan – tidak tergantung apakah statemen yang terdapat pada blok try mengalami eksepsi atau tidak. Contoh programnya dapat dilihat pada program 8.2.

27

try {statemen-statement yang akan ditangkap jika terjadi eksepsi;………………..;

} finally {statemen yang akan dijalankan jika terjadi/tidak terjadi suatu eksepsi;………………..;

}

contoh program 8.1nama file : handlingeksepsi.java

class handlingeksepsi { public static void main(String[] args) { try { for (int i=0; i<=9; i++) { System.out.println("Nilai i = "+i); if (i==5) { System.out.println(i/0); } } } catch (RuntimeException r) { System.err.println("Terjadi kesalahan pembagian dengan nilai 0"); } System.out.println("System.out.println(\"Dengan menggunakan try, kesalahan yang mungkin \n terjadi tidak mengakibatkan deadlock (eksekusi tidak dihentikan), \n buktinya statement ini dijalankan.........\");"); }}

Page 28: Modul Praktikum PBO

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

Bentuk lain dalam penulisan statemen try adalah :

Tugas Praktikum :1. Tulis program penanganan eksepsi dengan menggunakan try-catch bertingkat.2. Buatlah kode sumber dengan menggunakan keyword throw & throws untuk menangani

exeception yang mungkin terjadi.

Modul Praktikum IX

Kelas java.lang.System dan Runtime

Tujuan :Mengetahui standar input/output, property sistem pada bahasa Java

PendahuluanKelas java.lang.system merupakan kelas yang sangat penting dalam Java. Pada modul-modul sebelumnya, Anda sebenarnya telah menggunakan kelas ini, yakni untuk mencetak data ke layar dengan pemanggilan System.out.println.

28

contoh program 8.2nama file : tryfinally.java

class tryfinally { public static void main(String[] args) {

try { for (int i=0; i<=9; i++) { System.out.println("Nilai i = "+i); if (i==5) System.out.println(i/0); } } finally { System.out.println("Terjadi kesalahan pembagian dengan nilai 0, "); } System.out.println("Tetapi statemen di dalam blok finally tetap dijalankan...."); }}

try {………………..;

} catch (Exception x) {………………..;

} catch (Exception x) {………………..;

} catch (Exception x) {………………..;

finally {………………..;

}

Page 29: Modul Praktikum PBO

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

Kelas System disediakan oleh Java, agar programmer Java bisa mengakses sumber daya sistem, seperti properti sistem, standar input/output dengan lebih mudah.Berbeda dengan kelas-kelas yang lain pada umumnya, untuk menggunakan kelas ini Anda tidak perlu melakukan instansiasi variabel bertipe objek System dengan operator new. Anda langsung mengacu ke fungsi atau member variabel dari kelas ini, seperti :

Salah satu member variabel dari kelas ini yang sudah sering Anda pakai adalah System.out, yaitu member variabel ini memiliki fungsi untuk mencetak data ke layar, yaitu System.out.println() atau System.out.print(), namun tidak langsung diakhiri dengan karakter Enter. Fungsi ini bisa mengandung parameter dengan tipe data apapun yang ada dalam Java.System.err merupakan variabel yang menjadi standar error, variabel ini digunakan untuk mencetak pesan kesalahan ke layar. Fungsi umum yang digunakan sama persis dengan fungsi pada System.out, yaitu System.err.println() dan System.err.print().

System.in merupakan variabel yang menjadi standar input, penggunaan input stream cenderung lebih sukar dari pada untuk mencetak data ke layar. Penggunaan umumnya adalah sebagai berikut :

Tampak pada penggunaan di atas, Anda bisa menggunakan variabel input yang memiliki fungsi readLine() untuk membaca sebaris masukan. Perlu diperhatikan bahwa, ketika melakukan pembacaan dari standar input ini, Anda harus mengimpor paket java.io.* dan method menggunakan pembacaan ini harus throws IOException.Berikut adalah contoh program sederhana yang menggunaan kelas java.lang.System yang berfungsi untuk membaca data yang dimasukkan oleh user melalui keyboard.

import java.io.*, digunakan untuk mengimpor paket java.io.* yang diperlukan untuk proses pembacaan data yang dimasukkan melalui keyboard. Jadi penulisan import.java.io.* harus dideklarasikan (harus ada), apabila program yang kita buat menangani proses pemasukan data.

Statemen throws IOException berfungsi untuk menangani kesalahan I/O yang mungkin terjadi pada saat pemasukan data oleh user yang nantinya kesalahan tersebut akan dilemparkan ke bagian exception.

29

System.inSystem.outSystem.err

import.java.io.*;

BufferedReader masukan = new BufferedReader(new InputStreamReader(System.in));

// contoh program 9.1// nama file : input.java

import java.io.*;

class input { public static void main(String[] args) throws IOException{ System.out.print("Masukkan sembarang karakter dari keyboard : "); BufferedReader bacadata = new BufferedReader(new InputStreamReader(System.in)); String input = bacadata.readLine(); System.out.println("Data yang Anda masukkan adalah : "+input); }}

Page 30: Modul Praktikum PBO

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

Sedangkan statement String input = bacadata.readLine(), berfungsi membaca masukan dari standar input, kemudian data tersebut disimpan dalam variabel input yang bertipe String.

Berikut contoh lain dari penggunaan kelas java.lang.system :

Contoh lain dari penggunaan kelas java.lang.System seperti pada contoh program 3.1 yang sebenarnya telah ternah kita gunakan pada modul-modul sebelumnya.

Tugas Praktikum :Buatlah contoh program yang lain yang menangani proses pemasukan data seperti : data nama, alamat tempat tanggal lahir dan sebagainya.

30

// contoh program 9.2// nama file : demoIO.java

import java.io.*;

class demoIO { public static void main(String[] args) throws IOException { byte[] data = new byte[7];

System.out.println("Masukkan 7 buah karakter "); System.in.read(data);

System.out.print("Karakter yang anda masukkan : "); for (int i=0; i<data.length; i++) { System.out.print((char)data[i]); } }}