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 :
Contoh program 1.1 nama file : test.java class test { public static void main(String[] args) { System.out.println(“Installation Status : OK”); } }

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.BAT 3. Melakukan pengujian terhadap hasil instalasi.

1

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 abstract boolean break byte case catch char class const continue do double Else extends final finally float for goto if implements import instanceof int Interface long native new null package private protected public return short static super switch syncronized this throw throws transient try void volatile while

 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
byte short int long float double char boolean

Ukuran
8 bit 16 bit 32 bit 64 bit 32 bit IEEE 754 64 bit IEEE 754 16 bit

Range Nilai
-128 sampai 127 -32.768 sampai 32.767 -2.147.483.648 sampai 2.147.483.647 -9.223.372.036.854.775.808 sampai 9.223.372.036.854.775.807

Keterangan
Tipe data bilangan bulat Tipe data bilangan bulat Tipe data bilangan bulat Tipe data bilangan bulat Tipe data bilangan real Tipe data bilangan real Tipe data sebuah karakter Tipe data yang memuat status true atau false

0…..65535

Untuk mendeklarasikan variabel dalam java, sintaksnya adalah :
tipe-data nama_variabel;

2

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.
contoh program 2.1 nama 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); } }

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.

// contoh program 2.2 nama file : tipedataReferensi.java class tipedataReferensi { int rescue; // pendeklarasian variabel dgn tipe data int // pendeklarasian variabel dgn tipe data class // instansiasi tipe data class menjadi objek

public static void main(String[] args) { tipedataReferensi mengacu_ke; mengacu_ke = new tipedataReferensi(); mengacu_ke.rescue = 911;

// mengakses objek -> tipedataReferensi melalui variabel objek 'mengacu_ke' System.out.println("Variabel objek \'mengacu_ke\' bernilai -> "+mengacu_ke.rescue); } }

3

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

Tabel 2.3 Kode karakter khusus (karakter escape) pada Java Kode \n \t \b \r \f \\ \’ \” \ddd \xdd \udddd Keterangan New line (baris baru) Tab Backspace Carriage Return Form feed01 Backslash Tanda kutip tunggal Tanda kutip ganda Bilangan Oktal Bilangan Heksadesimal Karakter Unicode

Contoh penggunaan kode karakter khusus seperti yang ditunjukkan pada listing program 2.3.
contoh program 2.3 nama file : charkhusus.java class charkhusus { public static void main(String[] args) { System.out.println(“Java\nLanguage”); System.out.println(“\n”); System.out.println(“\’Programming\’”); } }

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 Aritmatika Operator Relasional Operator Kondisional Operator 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

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

Tabel 3.1 Operator Aritmatika dalam Java Operator + * / % Pemakaian Operan1 + Operan2 Operan1 - Operan2 Operan1 * Operan2 Operan1 / Operan2 Operan1 % Operan2 Keterangan Menambahkan Operan1 dengan Operan2 Mengurangkan Operan1 dengan Operan2 Mengalikan Operan1 dengan Operan2 Membagi Operan1 dengan Operan2 Memberikan sisa hasil bagi antara Operan1 dengan Operan2

Berikut ini adalah contoh penggunaan operator aritmatika dalam program :
// 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); } } }

5

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 Operan++ ++Operan Operan---Operan -Operan Keterangan Menaikkan nilai operan sebanyak 1 setelah dilakukan operasi terhadap operan tersebut. Menaikkan nilai operan sebanyak 1 sebelum dilakukan operasi terhadap operan tersebut. Menurunkan nilai operan sebanyak 1 setelah dilakukan operasi terhadap operan tersebut. Menaikkan nilai operan sebanyak 1 sebelum dilakukan operasi terhadap operan tersebut. Merubah nilai operan menjadi negasinya (jika operan positif menjadi negatif, begitu juga sebaliknya).

2. Operator Relasional Operator relasional berfungsi untuk membandingkan antara dua nilai variabel. Tabel 3.3 menunjukkan operator relasional. Tabel 3.3 Operator Relasional Operator > < >= <= == != Pemakaian Operan1 > Operan2 Operan1
<

Operan2

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

Operan2

Keterangan Menghasilkan nilai true jika Operan1 lebih besar dari Operan2 Menghasilkan nilai true jika Operan1 lebih kecil dari Operan2 Menghasilkan nilai true jika Operan1 lebih besar atau sama dengan Operan2 Menghasilkan nilai true jika Operan1 lebih kecil atau sama dengan Operan2 Menghasilkan nilai true jika Operan1 sama dengan Operan2 Menghasilkan nilai true jika Operan1 tidak sama dengan Operan2

3. Operator Kondisional Tabel 3.4 Operator Kondisional Operator && || ! & | ^ Pemakaian Operan1 && Operan2 Operan1
||

Operan2

!Operan1 Operan1 Operan1 Operan1
& | ^

Operan2 Operan2 Operan2

Keterangan Menghasilkan true jika Operan1 dan Operan2, keduanya bernilai boolean true. Menghasilkan true jika Operan1 atau Operan2, keduanya bernilai boolean true. Menghasilkan true jika Operan1 bernilai boolean false. Menghasilkan true jika Operan1 dan Operan2 bernilai true (bitwise AND) Menghasilkan true jika Operan1 atau Operan2 salah satunya bernilai true (bitwise OR). Menghasilkan true jika salah satu diantara Operan1 atau Operan2 bernilai true, tetapi tidak keduanya.

6

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 += Operan1 Operan2 -= Operan1 Operan2 *= Operan1 Operan2 /= Operan1 Operan2 Operan1 %= Operan2 Operan1 &= Operan2 |= Operan1 Operan2 ^= Operan1 Operan2 Operan1 >>= Operan2 Operan1 <<= Operan2 Operan1 >>>= Operan2 Ekivalen Dengan Operan1 = Operan1 + Operan2 Operan1 = Operan1 = Operan2 Operan1 = Operan1 * Operan2 Operan1 = Operan1 / Operan2 Operan1 = Operan1 % Operan2 Operan1 = Operan1 & Operan2 Operan1 = Operan1 | Operan2 Operan1 = Operan1 ^ Operan2 Operan1 = Operan1 >> Operan2 Operan1 = 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 – else switch – case for loop while 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

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 :
switch (ekspresi) { case (kondisi1): …..statement1; break; case (kondisi2): …..statement2; break; case (kondisi3): …..statement3; break; case (kondisin): …..statementn; break; default: …..default statement; break; }

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 :
for (inisialisasi; terminasi; increment) { …….statement; }

4. Statement while, mempunyai bentuk sebagai berikut :
while (ekspresi) { …….statement; }

8

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

5. Statement do – while,
do { …….statement; } while (ekspresi) { }

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.
// 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); } }

9

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

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

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 - Memuaskan nilai > 70<=80 mendapat nilai = B. keterangan Lulus - Baik nilai >60 <=70 mendapat nilai = C. keterangan Lulus - Cukup nilai >50 <=60 mendapat nilai = D. keterangan Tidak Lulus – Tidak Memuaskan

10

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 :

Cara I : atau Cara II :

tipe-data[] nama_variabel; tipe-data nama_variabel[];

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 :

Cara I : atau Cara II :

tipe-data[][] nama_variabel; tipe-data nama_variabel[][];

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 :

new tipe-data[range];

11

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 :

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

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 :

nama_variabel_array.length;

Contoh : nama_mahasiswa.length; Sedangkan untuk mengacu ke salah satu elemen array. Menggunakan sintaks :
nama_variabel_array[nomor_index];

Contoh : nim[9]; Contoh lengkap dari penggunaan array atau larik dapat dilihat pada program 5.1 dan 5.2 di bawah ini :
// contoh program 5.1 // nama file : Array.java class Array { public static void main(String[] args) { String[] lifestyle; lifestyle = new String[7]; lifestyle[0] = "Sederhana"; lifestyle[1] = "Parlente"; lifestyle[2] = "Glamour"; lifestyle[3] = "Nebeng Glamour - Necis"; lifestyle[4] = "Kosmo"; lifestyle[5] = "Matre"; lifestyle[6] = "Electronic-Live Style";

// membuat array/larik // cara mengisi elemen array

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

12

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

// 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]); } } }

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 :
public abstract final class nama_kelas extends nama super_kelas implements nama_interface { statements……… statements……… }

13

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

Namun, contoh sederhana atau berdasarkan keperluan kita dalam pendefinisian atau penciptaan sebuah kelas adalah sebagai berikut :
class nama_kelas { statements…………. } Contoh : class Mahasiswa { int nim; String nama; }

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 :

// contoh program 6.1 // nama file : mahasiswa.java class mahasiswa { int nim; String nama; double ipk; public static void main(String[] args) { mahasiswa mhs1 = new mahasiswa(); mhs1.nim = 1725; mhs1.nama = "Abraham Lincoln"; mhs1.ipk = 9.11; System.out.println("nim : "+mhs1.nim); System.out.println("nama : "+mhs1.nama); System.out.println("ipk : "+mhs1.ipk); } } // pembuatan kelas

// pendeklrasian program utama // pendefinisian objek

// namaVariabelObjek.namaVariabelInstant

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 :

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

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

14

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 :
nama_variabelObjek.namaMethod()

3. Untuk menciptakan Objek yang merupakan bagian terpenting dalam konsep pemrograman berorientasi objek dalam bahasa Java, adalah dengan 2 cara, yang masingmasing menggunakan kata kunci new :
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 lengkap dari penjelasan poin 2 dan 3 adalah sebagai berikut :
// contoh program 6.2 // nama file : oldmahasiswa.java class oldmahasiswa { int nim; String nama; double ipk; void data_mahasiswa(int Nim, String Nama, double IPK) { nim = Nim; nama = Nama; ipk = IPK; } void show_data() { 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(); mhs.data_mahasiswa(1725,"Abraham Lincoln",9.11); mhs.show_data(); } } // pembuatan kelas

// pendeklarasian method

// pendeklarasian method

// pendefinisian objek
// namaVariabelObjek.namaMethod( ,“…”, ); // namaVariabelObjek.namaMethod();

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 :
public nama_konstruktor(parameter1, parameter2, …….. parameter-n) { statement……….. }

15

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.
// contoh program 6.3 // nama file : aHero.java class aHero { String name, nationality; public aHero(String Name, String from) { name = Name; nationality = from; } void show_data() { System.out.println("Name : "+name); System.out.println("From : "+nationality); } public static void main(String[] args) { aHero leader = new aHero("Cak Nur", "Indonesia"); leader.show_data(); } } // Konstruktor

// pendeklarasian method

// lihat perbedaannya dengan prog.5.2

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 public Keterangan Ini berarti kelas tersebut dapat digunakan oleh kelas lain tanpa memperdulikan apakah kelas lain yang menggunakannya berasal dari paket yang sama atau berbeda. Berarti kelas tersebut tidak dapat diinstansiasi menjadi sebuah objek. Maka kelas tersebut tidak dapat diturunkan lagi menjadi kelas turunan. Berarti kelas tersebut dapat diakses oleh kelas yang berbeda yang berada dalam paket yang sama.

abstract final tanpa penentu akses

16

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

Tabel 5.2 Penentu Akses pada Variabel Instan Penentu Akses public Keterangan 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. Suatu variabel hanya dapat diakses di dalam kelas. Ini berarti variabel tersebut tidak dapat diakses dari luar kelas. Menjadikan variabel instan hanya bisa diakses oleh objek itu sendiri atau objek lain yang menjadi subkelasnya Menjadikan variabel bersifat tetap (konstanta) – tidak dapat diubah Variabel dapat diakses oleh kelas yang berbeda yang berada dalam paket yang sama. Tabel 5.3 Penentu Akses pada Method Penentu Akses public Keterangan Suatu method dapat diakses oleh kelas lain yang berbeda. Dengan lain kata, fungsi/method tersebut dapat diakses dari luar kelas. Suatu method hanya dapat diakses di dalam kelas itu sendiri, tidak dapat diakses dari luar kelas. Menjadikan function atau method hanya bisa diakses oleh objek itu sendiri atau objek lain yang menjadi sub-kelasnya Menunjukkan bahwa function/method hanya bisa diakses oleh objek itu sendiri atau kelas lain yang berada dalam paket yang sama Method akan bernilai tetap seperti pendeklarasian kelas. Membuat suatu method pada kelas induk menjadi unik (baik nama maupun parameter) tidak boleh sama (tidak dapat dioverride) oleh sub kelasnya. Method hanya dapat diakses oleh method dalam kelas yang sama atau kelas lain yang berada dalam paket yang sama

private protected final tanpa penentu akses

private protected package

static final

tanpa penentu akses

Contoh penggunaan akses specifier pada variabel :
class Mahasiswa { public int nim; private String nama; }

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 :
private void dataMahasiswa (int Nim, String Nama) { nim = Nim; nama = Nama; }

17

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

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

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

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 objek Untuk 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 :

class nama_kelas_turunan extends nama_kelas_induk { ………statement; }

18

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

Contoh : class orang_tua { String nama_ayah = “Paijo”; String mother = “Lissa”; } class anak extends orang_tua { ………statement; }

Berikut adalah contoh program Java implementasi dari konsep pewarisan.

// 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(); } }

19

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 :
super.nama_method(); digunakan untuk memanggil method biasa atau super(argumen1, argumen2, ……argumentn); digunakan untuk memanggil method konstruktor

Berikut adalah contoh program Java yang menunjukkan dua cara dalam penggunaan kata kunci super tersebut.
// 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(); } }

20

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. Polymorphism Dalam 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

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

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

Contoh :

package hemat; package jumbo; package data_mahasiswa;

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.
// 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); } }

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

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

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

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.
// contoh program 7.3 ; file location = f:\praktikum\jenispaket.class import 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); } } }

23

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

 Interface Pada 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 :
public interface nama_interface { // ……pendekalrasian variabel konstanta……; // ……pendeklarasian method………; }

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 :
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”; }

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 :
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(); }

Seperti halnya class, suatu interface dapat juga mewarisi dari interface yang lain, contoh :
public interface anak extends orang_tua { String nama_anak = “Alya”; }

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

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

Namun berbeda dengan class, suatu interface dapat mewarisi lebih dari satu interface. Sehingga pendeklarasiannya adalah sebagai berikut :
public interface nama_interface extends interface1, interface2 { ………statement…….; }

Berikut adalah contoh program Java dengan menggunakan interface
contoh program 7.4 ; nama file : balapan.java interface 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(); } }

25

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 Java Memahami kegunaan Blok Try, Catch dan Finally Memahami 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.
try { statemen-statement yang akan ditangkap jika terjadi eksepsi; ………………..; } catch (parameter) { statemen yang akan dijalankan jika terjadi eksepsi; ………………..; }

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

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.
contoh program 8.1 nama 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.........\");"); } }

2.
try { statemen-statement yang akan ditangkap jika terjadi eksepsi; ………………..; } finally { statemen yang akan dijalankan jika terjadi/tidak terjadi suatu eksepsi; ………………..; }

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

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

contoh program 8.2 nama 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...."); } }

Bentuk lain dalam penulisan statemen try adalah :
try { ………………..; } catch (Exception x) { ………………..; } catch (Exception x) { ………………..; } catch (Exception x) { ………………..; finally { ………………..; }

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 Pendahuluan Kelas 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. Kelas System disediakan oleh Java, agar programmer Java bisa mengakses sumber daya sistem, seperti properti sistem, standar input/output dengan lebih mudah. 28

Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak

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 :
System.in System.out System.err

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 :
import.java.io.*; BufferedReader masukan = new BufferedReader(new InputStreamReader(System.in));

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.
// 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); } }

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

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

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

Sign up to vote on this title
UsefulNot useful