Modul Praktikum I
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.
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.BAT
3. Melakukan pengujian terhadap hasil instalasi.
1
Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak
Modul Praktikum II
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.
tipe-data nama_variabel;
2
Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak
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;
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.
class tipedataReferensi {
int rescue; // pendeklarasian variabel dgn tipe data int
3
Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak
Contoh penggunaan kode karakter khusus seperti yang ditunjukkan pada listing program
2.3.
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.
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
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();
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.
2. Operator Relasional
Operator relasional berfungsi untuk membandingkan antara dua nilai variabel. Tabel 3.3
menunjukkan operator relasional.
3. Operator Kondisional
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.
Tugas Praktikum :
Buat kode program yang melakukan berbagai macam penggunaan operator relasional,
kondisional, assignment.
Modul Praktikum IV
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) { if (kondisi) {
……..statement……. ……..statement1…….
}
atau } else {
……..statement2…….
}
7
Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak
if (kondisi1) { if (kondisi1) {
……..statement1……. ……..statement1…….
atau
} else if (kondisi2) { } else if (kondisi2) {
……..statement2……. ……..statement2…….
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 :
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.
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);
}
}
}
9
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 - 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
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.
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 Pertama : Dengan menggunakan kata kunci new, sintaksnya adalah sebagai berikut :
new tipe-data[range];
11
Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak
Variabel array dapat diketahui panjangnya dengan mengakses kata ; length, sintaknya :
nama_variabel_array.length;
Contoh : nama_mahasiswa.length;
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 :
class Array {
public static void main(String[] args) {
String[] lifestyle; // membuat array/larik
lifestyle = new String[7];
12
Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak
class Larik {
public static void main(String args[]) {
boolean ketemu = false;
int[] arrayInt = new int[7];
char[] arrayChar = {'X','Y','Z'};
Tugas Praktikum :
Buatlah kode program dengan menggunakan variabel array
Modul Praktikum VI
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.
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
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()
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”);
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
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.
class aHero {
String name, nationality;
16
Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak
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.
17
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.
class mahasiswa_baru {
private int nim;
private String nama;
public int usia=18;
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 :
18
Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak
Contoh :
class orang_tua {
String nama_ayah = “Paijo”;
String mother = “Lissa”;
}
class orang_tua {
String nama_ayah = "Paijo";
String mother = "Lissa";
void data_anak() {
System.out.println("Nama Anak : "+nama_anak);
System.out.println("TTL : "+ttl);
System.out.println("Usia : "+usia);
}
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.
class orangtua {
private String nama_ayah, nama_ibu;
void data_anak() {
super.data_ortu(); // pemanggilan method superkelas dgn mengg. kt.kunci super
System.out.println("Nama Anak : "+nama_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.
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
package nama_paket;
package menu;
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
package menu;
public void paketjumbo(String Makanan, String Minuman, String Bonus, int Harga) {
this.makanan=Makanan;
this.minuman=Minuman;
this.bonus=Bonus;
this.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;
if (choice==0) {
System.out.println("Terima Kasih, Byeee....");
break;
} 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 :
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 :
karena public abstract tidak harus dideklarasikan, maka dapat ditulis menjadi :
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
Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak
Namun berbeda dengan class, suatu interface dapat mewarisi lebih dari satu interface.
Sehingga pendeklarasiannya adalah sebagai berikut :
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 ");
} else {
System.out.println("Payah....mesinnya mogok, perbaiki dulu..!");
}
}
}
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.
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;
………………..;
}
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.
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
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 {
………………..;
}
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
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.
28
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 :
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.*;
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.*;
class input {
public static void main(String[] args) throws IOException{
System.out.print("Masukkan sembarang karakter dari 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
Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak
import java.io.*;
class demoIO {
public static void main(String[] args) throws IOException {
byte[] data = new byte[7];
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