• Tidak ada hasil yang ditemukan

MODUL PRAKTIKUM DASAR DASAR PEMROGRAMAN

N/A
N/A
Protected

Academic year: 2018

Membagikan "MODUL PRAKTIKUM DASAR DASAR PEMROGRAMAN"

Copied!
76
0
0

Teks penuh

(1)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 1

MODUL PRAKTIKUM

DASAR-DASAR PEMROGRAMAN JAVA

Versi 1.2

Copyleft By:

Gianto Widodo, S.Kom

JURUSAN TEKNIK INFORMATIKA

UIN MALIKI MALANG

(2)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 2 KATA PENGANTAR

Alhamdulillah, Segala Puji Hanya untuk Allah Tuhan Yang Maha Berilmu. Atas petunjukNya-lah

kami dapat menyelesaikan Diktat Praktikum Dasar-dasar pemrograman ini. Diharapkan dengan adanya

diktat ini, mahaMahasiswa mendapatkan panduan dalam mengikuti Praktikum Dasar-dasar pemrograman

pada Jurusan Teknik Informatika UIN Malang.

Materi yang ditulis dalam buku ini berisi sebanyak 10 modul praktikum. Di dalamnya berisi

tentang pemahaman dan konsep dasar pemrograman yang ditulis dengan menggunakan bahasa

pemrograman Java. Isi buku disusun mulai dari teori penunjang/dasar teori, tugas pendahuluan yang

berisi konsep yang harusdiketahui mahaMahasiswa sebelum melaksanakan praktikum serta percobaan

dan latihan. Dengan mengacu pada diktat praktikum ini mahaMahasiswa diharapkan dapat memahami

dan mengerti akan konsep dasar serta logika dalam pemrograman Java. Yang diharapkan nantinya bisa

menjadi bekal untuk menjadi programmer yang handal dimasa mendatang.

Sekalipun buku ini telah dikerjakan dengan proses yang cukup panjang, akan tetapi kami masih

tidak menutup adanya kekurangan akan buku ini. Segala masukan, kritik dan review sangat kami

harapkan untuk semakin menyempurnakannya pada kesempatan mendatang.

Malang, 09 Februari 2011

(3)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 3 PETUNJUK PRAKTIKUM

1. Mahasiswa wajib menyelesaikan tugas pendahuluan sebelum pelaksanaan praktikum.

2. Tugas pendahuluan dikumpulkan 1 hari sebelum pelaksanaan praktikum pada assisten praktikum pada

waktu yang telah disepakati

3. Assisten praktikum akan memeriksa dan menguji pemahaman Mahasiswa tentang materi yang akan

dipraktekkan keesokan harinya

4. Mahasiswa yang tidak dapat mengikuti praktikum bila :

a. Mahasiswa tidak mengumpulkan tugas pendahuluan

b. Tugas Pendahuluan adalah hasil Copy dari milik praktikan lainnya

c. Mahasiswa tidak dapat menjawab pertanyaan assisten praktikum

d. Tugas pendahuluan yang dikerjakan tidak lengkap atau dibuat seadanya

e. Dan sebab lain-lain yang telah disepakati bersama diantara dosen,assisten dan Mahasiswa

5. Dilarang membawa piranti penyimpanan seperti flaskdisk, hardisk eksternal selama praktikum

berlangsung

6. Selama praktikum Mahasiswa mengerjakan sendiri programnya, jaringan computer,hubungan internet

dimatikan sementara

7. Dosen dan assisten praktikum tidak membetulkan kesalahan program Mahasiswa karena sintaks

melainkan hanya membantu menjelaskan/memberikan konsep dari program yang akan dibuat.

8. Tiga puluh menit sebelum praktikum berakhir dosen dan assisten praktikum akan memeriksa hasil

program Mahasiswa

9. Akhir praktikum Mahasiswa mengumpulkan hasil pengamatan program

10. Seminggu setelah praktikum/Pada saat praktikum berikutnya Mahasiswa mengumpulkan laporan

akhir dari praktikum terakhir sesuai format yang telah dicantumkan permodul.

11. Mahasiswa/Praktikan Tidak diijinkan mengikuti praktikum jika terlambat lebih dari 20 menit.

12. Pakaian Ketika praktikum adalah baju putih bukan kaos dan celana hitam kain untuk putra dan rok

hitam untuk putri. Jika memakai pakaian yang melanggar tidak ada peringatan dan langsung di

persilahkan meninggalkan praktikum atau ganti pakaian. Diperbolehkan jika memakai jas almamater

dan bukan jaket.

(4)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 4

DAFTAR ISI

KATA PENGANTAR ...

DAFTAR ISI ...

PETUNJUK PRAKTIKUM...

MODUL 1 Pengenalan Java, Editor Dan Pembuatan Class ...

MODUL 2 Tipe Data, Keyword, Variabel, Operator Dan Teknik Konfersi ...

MODUL 3 Input Dari Keyboard Dan Struktur Kontrol ...

MODUL 4 Perulangan/Loopingdan Break Continue ...

MODUL 5 Array/Larik (1 Dimensi) dan (Multidimensi) ...

MODUL 6 Algoritma Sorting ...

MODUL 7 Exception Handling dan Method Dasar ...

MODUL 8 Dasar Aplikasi GUI (Graphical User Interface) Dasar ...

MODUL 9 Event Handling ...

MODUL 10 Pemrograman Database Dasar...

(5)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 5

MODUL 1

PENGENALAN JAVA, EDITOR DAN SINTAKS JAVA

A. Target Pembelajaran

1. Mengenal bahasa pemrograman JAVA.

2. Mampu membuat kelas sederhana dengan bahasa pemrograman JAVA.

3. Mengerti penggunaan komentar dalam bahasa pemrograman JAVA.

4. Mengetahui cara menggunakan Netbeans.

5. Mengetahui Penggunaan Character Literal.

B. Materi Dasar

1. Pengenalan JAVA

Java adalah salah satu bahasa pemrograman yang bersifat open source yang merupakan produk dari

Sun Microsystem dan sekarang di pegang oleh oracle.

Bahasa Java adalah bahasa modern yang telah diterima masyarakat komputasi dunia. Hampir semua

perusahaan perangkat lunak dan komputer besar mendukung dan mengembangkan aplikasi sistem

berbasis Java.

Java adalah salah satu bahasa pemrogaman Multiplatform (Bisa berjalan di berbagai macam sistem

operasi) karena pada dasarnya java mempunyai Jre (java runtime environment) atau dapat kita artikan

sebagai mesin tersendiri untuk mengeksekusi binary code hasil dari compilasi program yang telah kita

buat, bereda dengan bahasa pemrograman vb, c++ yang memanfaatkan komponen sistem dalam

Windows untuk mengeksekusi binary code hasil kompilasi program..

Pada Tahun 1996, Sun Microsystem secara resmi merilis versi awal Java yang kemudian terus

berkembang hingga muncul JDK 1.1 (Java Development Kit versi 1.1). Perkembangan terus dilakukan

hingga muncul versi baru yang disebut Java 2. Perubahan utama antara versi sebelumnya adalah adanya

Swing yang merupakan teknologi Graphical User Interface (GUI) yang mampu menghasilkan aplikasi

desktop yang benar-benar baik.

Untuk mengembangkan aplikasi berbasis java, kita memerlukan Java Development Kit(JDK), saat ini

java telah mencapai versi 2 yang kenal dengan java 2 platform. Java 2 platform, dibagi menjadi tiga

kategori yaitu:

1. Java 2 Standart Edition (J2SE)

2. Java 2 Enterprice Edition(J2EE)

(6)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 6

2. Instalasi JDK

Sebelum anda membuat aplikasi dengan java maka anda harus menginstal software bahasa

pemrograman java. java dapat anda dapatkan dengan cara download di alamat link berikut

http://java.sun.com. Kemudian setelah anda mendownloadnya maka mulai dengan menginstall, pada

dasarnya proses insalasi java sangat mudah yaitu dengan cara mengklik ganda pada file master java

kemudian ikuti prosedur yang diperintahkan.

3. Editor Java

Ada banyak editor yang bisa kita gunakan untuk menuliskan soce code bahasa pemrograman java,

bahkan semua editor dimungkinkan selama editor tersebut mampu menyimpan file dengan ekstensi .java

yang merupakan ekstensi dari file untuk menyimpan source code bahasa pemrograman java. Beberapa

contoh editr yang bias kita pakai misalnya :

- Netbens

- Notepad

- Eclips

- dll

4. Program Java Pertama

Kita akan coba untuk menganalisa program Java pertama pada contoh berikut:

public class Hello

{

/**

* My first java program

*/

public static void main(String[] args) {

System.out.println("Hello world!");

}

}

Baris pertama kode :

public class Hello

Menandakan nama class yaitu Hello. Dalam Java semua kode seharusnya ditempatkan didalam deklarasi

(7)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 7

Baris berikutnya yaitu yang terdiri atas kurung kurawal { menandakan awal blok. kita dapat juga

meletakkan kurung kurawal ini setelah baris pertama dari kode yang kita tulis. Jadi, kita dapat menulis

kode kita sebagai berikut :

public class Hello

{ } atau

public class Hello { }

Tiga baris selanjutnya menandakan adanya komentar Java. Komentar adalah sesuatu yang digunakan

untuk mendokumentasikan setiap bagian dari kode yang ditulis. Komentar bukan merupakan bagian

dari program itu sendiri, tetapi digunakan untuk tujuan dokumentasi. Komentar itu sendiri dapat

ditambahkan pada kode yang Anda tulis sebagai petunjuk yang dapat membantu proses pembelajaran

pemrograman yang baik.

/**

* My first java program */

Komentar dinyatakan dengan tanda “/*” dan “*/”. Segala sesuatu yang ada diantara tanda

tersebut diabaikan oleh compiler Java, dan mereka hanya dianggap sebagai komentar sedangkan untuk

membuat sebuah atau satu baris komentar dengan cara berikut ini

// ini adalah program pertamaku. Semua tulisan yang berada satu baris dengan tan da // akan diabaikan

oleh compiler.

Baris selanjutnya,

public static void main(String[] args) { } atau dapat juga ditulis sebagai berikut, public static void main(String[] args) { }

mengindikasikan nama suatu method dalam class Hello yang bertindak sebagai method utama.

Method utama adalah titik awal dari suatu program Java. Semua program kecuali applet yang ditulis

dalam bahasa Java dimulai dengan method utama. Yakinkan untuk mengikuti kaidah penulisan

(8)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 8

MODUL 2

TIPE DATA, KEYWORD, VARIABEL, OPERATOR

DAN TEKNIK KONFERSI

A. Target Praktikum

- Mahasiswa mengetahui berbagai macam tipe data dan penggunaannya

- Mahasiswa mengetahui berbagai macam keyword

- Mahasiswa mengetahui cara pembuatan variable dan penggunaannya.

- Mahasiswa mengetahui konfersi tipe data

- Mahasiswa mampu menyelesaikan permasalahan terkait penggunaan variable dan tipe data

- Mahasiswa mengetahui berbagai macam operator java dan penggunaannya

- Mahasiswa mampu menyelesaikan permasalahan terkait penggunaan operator

B. Materi Dasar

1. Keyword dalam Java

Kata kunci adalah identifier yang telah dipesan untuk didefinisikan sebelumnya oleh Java untuk

tujuan tertentu. Anda tidak dapat menggunakan keyword sebagai nama variabel, class, method.

Berikut Ini Keyword Java :

abstract default if private throws

boolean do import public try

break double int return void

byte else static short while

case extends long super const

catch final native switch for

char finally new this continue

class float package throw transient

2. Tipe Data Primitif

Bahasa pemrograman Java mendefinisikan delapan tipe data primitif. Mereka diantaranya adalah

boolean (untuk bentuk logika), char (untuk bentuk tekstual), byte, short, int, long (integral), double

and float (floating point).

(9)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 9

Variabel adalah item yang digunakan data untuk menyimpan pernyataan objek. Variabel memiliki tipe

data dan nama. Tipe data menandakan tipe nilai yang dapat dibentuk oleh variabel itu sendiri.

Nama variabel harus mengikuti aturan untuk identifier.

Berikut Aturan penamaan variable :

• Diawali dengan

▫ huruf/abjad

▫ karakter mata uang

▫ underscore ( _ )

• Terdiri dari huruf/abjad, angka dan underscore

• Tidak boleh mengandung karakter khusus atau spasi

• Tidak boleh diawali dengan angka

3.1 Deklarasi dan Inisialisasi Variabel

Untuk deklarasi variabel adalah sebagai berikut,

<data tipe> <name> [=initial value];

Nilainya berada diantara <> adalah nilai yang disyaratkan, sementara nilai dalam tanda [] bersifat optional

sesuai dengan tipe data yang dipakai untuk deklarasi variabel.

3.2 Menampilkan Data Variabel

Untuk mengeluarkan nilai dari variabel yang diinginkan, kita dapat menggunakan perintah sebagai

berikut, System.out.println() atau System.out.print()

Contoh variabel :

a. public class ContohVariabel1

{

public static void main(String args[])

{

int a=0; // local variable

boolean b=true; // local variable

float c=23; // local variable

System.out.println(a);

System.out.println(b);

System.out.println(c);

}

(10)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 10

b. public class ContohVariabel2

{

static int a; // member variable

static boolean b; // member variable

static float c; // member variable

public static void main(String args[])

{

System.out.println(a);

System.out.println(b);

System.out.println(c);

}

}

4. Teknik Konfersi Data

Konfersi adalah cara untuk memberikan nilai suatu data dari satu tipe data ke tipe data yang lain.

Contoh, perhatikan class berikut :

class konversi

{

public static void main(String[]args)

{

int a=50;

double b=40.5;

String konfersi_a =String.valueOf(a); // konfersi dari integer ke string

String konfersi_b =String.valueOf(b);//konfersi dari double ke string

int pindah_keinteger =Integer.parseInt(konfersi_a);// konfersi dari string ke integer

double pindah_kedouble =Double.parseDouble(konfersi_b); // konfersi dari string ke

double

}

}

Yang perlu diketahui, bahwa konfersi data dilakukan jika kita membutuhkan suatu tipe data yang sama

untuk menjalankan sebuah proses, jika data tersebut sudah sama tipe datanya maka tidak perlu dilakukan

proses konfersi data.

(11)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 11

1. Dua tipe data yang kompatibel

2. tipe data awal lebih kecil dibandingkan dengan tipe data tujuan.

Jika dua syarat tersebut tidak terpenuhi maka bisa dilakukan teknik casting, yaitu melakukan perubahan

tipe data dengan cara dipaksa. Casting ini bisa langsung dilakukan otomotis oleh java dengan cara

menambahkan tipe data cating dikurung kemudian dilanjutkan dengan proses yang mau dijalankan,

contoh : int a=4; int b=5; double c=(double)a/b;

5. Operator

Dalam Java, ada beberapa tipe operator. Ada operator aritmatika, operator relasi, operator logika, dan

operator kondisi. Operator ini mengikuti bermacam-macam prioritas yang pasti sehingga compilernya

akan tahu yang mana operator untuk dijalankan lebih dulu dalam kasus beberapa operator yang

dipakai bersama-sama dalam satu pernyataan.

5.1 Operator Aritmatika

perator aritmatika merupakan operator yang berhubungan dengan fungsi matematika.

contoh Nama Hasil

public static void main(String args[])

(12)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 12

float b = 7f;

System.out.println("x= "+ x + ", y = "+y);

System.out.println("x + y ="+ (x + y));

System.out.println("x - y ="+ (x - y));

System.out.println("x / y ="+ (x / y));

System.out.println("x % y ="+ (x % y));

System.out.println("a = "+ a + ", b = "+b);

System.out.println("a / b ="+ (a / b));

System.out.println("x / b ="+ (x / b));

System.out.println("b / x ="+ (b / x));

}

}

5.2 Operator Relasi

Operator Relasi membandingkan dua nilai dan menentukan keterhubungan diantara nilai-

nilai tersebut. Hasil keluarannya berupa nilai boolean yaitu true atau false.

contoh Nama Hasil

a == b sama dengan benar jikaa sama dengan b

a != b tidak sama benar jika a tidak sama dengan b

a < b lebih kecil benar jika a lebih kecil b

a > b lebih besar benar jika a lebih besar b

a <= b lebih kecil atau

sama dengan

benar jika a lebih kecil atau sama dengan b

a >= b lebih besar atau

sama dengan

benar jikaa lebih besar atau sama dengan b

Contoh Operator Relasi :

public class operator {

public static void main(String args[])

{

int a = 4;

int b = 3;

System.out.println(a==b);

System.out.println(a!=b);

System.out.println(a<b);

(13)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 13

System.out.println(a<=b);

System.out.println(a>=b);

}

}

5.3 Operator Tambahan dan Pengurangan

Tabel operator Increment/decrement adalah :

Operator Operasi Contoh

++a Pre-increment Nilai a ditambah satu, kemudian operasi

berjalan

a++ Post-increment Operasi dilaksananakan, kemudian a

ditambah satu

--a Pre-decrement Nilai a dikurang satu, kemudian operasi

dilaksanakan satu

a-- Post-decrement Operasi dilaksanakan, kemudian a

dikurangi satu

Contoh Operator Tambahan dan Pengurangan :

public class IncrementDecrement

{

public static void main(String args[])

{

int i = 1;

System.out.println("i : " + i );

// Pre-increment

System.out.println("++i : " + ++i );

// Post-increment

System.out.println("i++ : " + i++ );

System.out.println("i : " + i );

// Pre-decrement

System.out.println("--i : " + --i );

// Post-decrement

System.out.println("i-- : " + i-- );

System.out.println("i : " + i );

}

(14)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 14

5.4 Operator Logika

Operator logika memiliki satu atau lebih operand boolean yang menghasilkan nilai boolean. Terdapat

enam operator logika yaitu: && (logika AND), & (boolean logika AND), || (logika OR), | (boolean

logika inclusive OR), ^ (boolean logika exclusive OR), dan ! (logika NOT).

contoh Nama Hasil

a &&b AND benar jika a dan b benar

a || b OR benar jika a atau b benar

a ^b XOR benar jika a atau b benar tetapi tidak keduanya

Contoh Operator Logika:

public class operator {

public static void main(String args[])

{

System.out.println(a&&b);

System.out.println(a||b);

System.out.println(a^b);

System.out.println(a&b);

System.out.println(a|b);

System.out.println(a!=b);

}

}

Operator Perbandingan/Kondisi

Operator perbandingan ini digunakan pada struktur kontrol program, seperti if, elseif, di mana dilakukan

perbandingan antar dua nilai.

contoh Nama Hasil

a == b sama dengan benar jikaa sama dengan b

a != b tidak sama benar jika a tidak sama dengan b

a < b lebih kecil benar jika a lebih kecil b

a > b lebih besar benar jika a lebih besar b

a <= b lebih kecil atau

sama dengan

benar jika a lebih kecil atau sama dengan b

a >= b lebih besar atau

sama dengan

(15)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 15

MODUL 3

INPUT DARI KEYBOARD DAN STRUKTUR KONTROL

A. Target Praktikum

- Membuat program Java yang interaktif yang bisa mendapatkan input dari keyboard

- Menggunakan class BufferedReader untuk mendapatkan input dari keyboard melalui layar console

- Menggunakan class JOptionPane untuk mendapatkan input dari keyboard menggunakan GUI

- Menggunakan struktur kontrol pemilihan (if, else, switch) yang digunakan untuk memilih blok

kode yang akan dieksekusi

B. Materi Dasar

Setelah kita mempelajari konsep dasar pada Java dan menulis beberapa program sederhana.

Sekarang kita akan mencoba membuat program kita lebih interaktif dengan menggunakan input dari

keyboard. Pada bab ini, kita akan mempelajari dua cara memberikan input, yang pertama adalah

menggunakan class BufferedReader dan melalui GUI (Graphical User Interface) dengan menggunakan

class JOptionPane

1. Menggunakan BufferedReader

Pada bagian ini, kita akan menggunakan class BufferedReader yang berada di package java.io untuk

mendapatkan input dari keyboard.

Berikut ini adalah langkah-langkah yang diperlukan untuk mendapatkan input dari keyboard:

1. Tambahkan library tambahan di bagian paling atas code Anda:

import java.io.*;

2. Tambahkan statement berikut:

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

3. Deklarasikan variabel String temporary untuk mendapatkan input, dan gunakan fungsi

readLine() untuk mendapatkan input dari keyboard. Anda harus mengetikkannya di dalam

blok try-catch:

try {

String temp = dataIn.readLine(); } catch( IOException e ){

System.out.println(“Error in getting input”); }

Berikut ini adalah contoh source code lengkapnya:

(16)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 16

import java.io.InputStreamReader;

import java.io.IOException;

public class GetInputFromKeyboard

{

public static void main( String[] args ){

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

String name = "";

System.out.print("Silahkan Masukkan Nama Anda:");

try{

name = dataIn.readLine();

}catch( IOException e ){

System.out.println("Error!");

}

System.out.println("Hallo " + name +"Anda Berhasil Membuatnya!!");

}

}

Berikutnya akan penjelasan setiap baris dari code tersebut:

- Statement,

import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException;

menjelaskan bahwa kita akan menggunakan class BufferedReader, InputStreamReader dan

IOException yang berada di java.io package. Java Application Programming Interface (API)

berisi ratusan class yang sudah didefinisikan sebelumnya yang dapat digunakan untuk program

Anda. Class-class tersebut dikumpulkan di dalam packages.

- blok di bawah ini merupakan try-catch block,

try{

name = dataIn.readLine(); }catch( IOException e ){ System.out.println("Error!"); }

Pada baris ini menjelaskan bahwa kemungkinan terjadi error pada pernyataan,

(17)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 17

akan ditangkap. Kita akan membahas tentang penanganan exception pada bab selanjutnya dari

pembahasan ini, tetapi untuk sekarang, Anda cukup mencatat bahwa Anda perlu menambahkan

kode ini untuk menggunakan method readLine() dari BufferedReader untuk mendapatkan input

dari user.

- pernyataan,

name = dataIn.readLine();

method diatas memanggil dataIn.readLine(), mendapatkan input dari user dan memberikan

sebuah nilai String. Nilai ini akan disimpan ke dalam variabel name, yang akan kita gunakan pada

statement akhir untuk menyambut user,

System.out.println("Hello " + name + "!");

2. JOptionPane

Cara selanjutnya untuk mendapatkan input dari user adalah dengan menggunakan class

JoptionPane yang didapatkan dari javax.swing package. JoptionPane memudahkan memunculkan

dialog box standard yang memberikan kepada user sebuah nilai atau menginformasikan sesuatu.

Berikut Contoh Kode yang digunakan :

import javax.swing.JOptionPane;

public class GetInputFromKeyboard2 {

public static void main( String[] args )

{

String name = "";

name = JoptionPane.showInputDialog("Please enter your name");

String msg = "Hello " + name + "!";

JOptionPane.showMessageDialog(null, msg);

}

}

Berikut penjelasannya

- Statement pertama,

import javax.swing.JOptionPane;

Menjelaskan bahwa kita mengimpor class JoptionPane dari package javax.swing.

Bisa juga ditulis seperti,

import javax.swing.*;

- Pernyataan,

(18)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 18

membuat sebuah input dialog JOptionPane, yang akan menampilkan dialog dengan

sebuah pesan, sebuah textfield dan tombol OK seperti pada gambar. Hasil dari dialog

tersebut adalah String dan disimpan ke dalam variabel name. Sekarang kita membuat pesan selamat

datang, yang akan disimpan ke dalam variabe msg,

String msg = "Hello " + name + "!";

Baris selanjutnya adalah menampilkan sebuah dialog yang berisi sebuah pesan dan

tombol OK,

JOptionPane.showMessageDialog(null, msg);

3. Struktur Kontrol

Pada bagian ini, kita akan mempelajari tentang struktur kontrol dimana kita dapat mengubah

cara eksekusi pada pernyataan yang dibuat di program kita.

Struktur kontrol adalah pernyataan dari Java yang mengijinkan user untuk memilih dan

mengeksekusi blok kode spesifik dan mengabaikan blok kode yang lain.

3.1 Statement if

Pernyataan if akan menentukan sebuah pernyataan (atau blok kode) yang akan eksekusi jika dan hanya

jika persyaratan bernilai benar(true).

Contoh Program Dengan Statement If :

public class Logika_if {

public static void main (String args[]){

int targetnilai=60;

boolean lulus=false;

(19)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 19

if (nilaianda > targetnilai){

lulus = true;

}

System.out.println("Status kelulusan :"+lulus);

}

}

3.2 Statement if-else

Pernyataan if-else digunakan apabila kita ingin mengeksekusi beberapa pernyataan dengan kondisi

true dan pernyataan yang lain dengan kondisi false.

Contoh Program Dengan Statement If Else:

public class Statement_If_Else {

public static void main (String args[]) {

int targetnilai=60;

String hadiah="";

int nilaianda=50;

if (nilaianda > targetnilai){

hadiah = "ponsel";

} else{

hadiah = "radio FM";

System.out.println("Jenis hadiah :"+hadiah);

}

}

(20)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 20

3.3 Statement if-else-if

Pernyataan pada bagian kondisi else dari blok if-else dapat menjadi struktur if-else yang lain.

Kondisi struktur seperti ini mengijinkan kita untuk membuat seleksi

persyaratan yang lebih kompleks.

Bentuk statement if-else if, if( boolean_expression1 ) statement1;

else if( boolean_expression2 ) statement2;

else statement3

Contoh Program Dengan Ststement If Else If :

import javax.swing.*;

public class Statement_If_Else_if {

public static void main(String args[]) {

String input=JOptionPane.showInputDialog("Nilai anda ?");

int nilai=Integer.parseInt(input); String grade=" ";

if(nilai>85){

grade="A";

}else if(nilai>75){

grade="B";

}else{

(21)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 21

}

System.out.println("Nilai Anda : "+nilai);

System.out.println("Grade Anda : "+grade);

System.exit(0);

}

}

3.4 Statement switch

Cara lain untuk membuat cabang adalah dengan menggunakan kata kunci switch. Switch

mengkonstruksikan cabang untuk beberapa kondisi dari nilai.

Bentuk statement switch,

switch( switch_expression ) {

case case_selector1: statement1; break;

case case_selector2: statement2; break;

default: statement3; break;

}

switch_expression adalah ekspresi integer atau karakter dan case_selector1, case_selector2 dan

(22)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 22

Contoh Program Dengan Ststement Switch Case:

import javax.swing.*;

public class AlurSwitch {

public static void main(String args[]) {

String pilihan=JOptionPane.showInputDialog("Menu :\n1. Sate Kambing\n2.

Gule\n3. Sop Kaki Kambing\n4. Tongseng");

int menu=Integer.parseInt(pilihan);

switch(menu)

{

case 1: System.out.println("pilih sate kambing");

break;

case 2: System.out.println("pilih gule");

break;

case 3: System.out.println("pilih sop kaki kambing");

break;

case 4: System.out.println("pilih tongseng");

break;

default: System.out.println("Maaf, menu tidak ada");

break;

} System.exit(0);

}

(23)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 23

MODUL 4

PERULANGAN/LOOPING

A. Target Praktikum

- Mahasiswa mengetahui struktur dasar statement perulangan(looping)

- Mahasiswa mengetahui cara pengoperasian statement perulangan

- Mahasiswa mampu menyelesaikan permasalahan terkait penggunaan statement perulangan

B. Materi Dasar

pengulangan adalah berupa pernyataan dari Java yang mengijinkan kita untuk mengeksekusi blok code

berulang-ulang sesuai dengan jumlah tertentu yang diinginkan. Ada tiga macam jenis dari

struktur pengulangan yaitu while, do-while, dan for-loops.

1. while loop

Pernyataan while loop adalah pernyataan atau blok pernyataan yang diulang-ulang sampai mencapai

kondisi yang cocok.

Bentuk pernyataan while,

while( boolean_expression ) {

statement1; statement2; }

Pernyataan di dalam while loop akan dieksekusi berulang-ulang selama kondisi boolean_expression

bernilai benar (true). Contoh, pada kode dibawah ini,

public class contoh_while {

public static void main(String args[]) {

int i = 4;

while( i > 0 ){

System.out.print(i);

i--;

}

} }

(24)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 24

2. do-while loop

Do-while loop mirip dengan while-loop. Pernyataan di dalam do-while loop

akan dieksekusi beberapa kali selama kondisi bernilai benar(true).

Perbedaan antara while dan do-while loop adalah dimana pernyataan di dalam do-while loop akan

dieksekusi sedikitnya satu kali.

Perbedaan antara while dan do-while loop adalah dimana pernyataan di dalam do-while loop akan

dieksekusi sedikitnya satu kali.

Bentuk pernyataan do-while,

do{ statement1; statement2;

}while( boolean_expression );

Pernyataan di dalam do-while loop akan dieksekusi pertama kali, dan akan dievaluasi kondisi dari

boolean_expression. Jika nilai pada boolean_expression tersebut bernilai true, pernyataan di dalam

do-while loop akan dieksekusi lagi.

Berikut ini beberapa contoh do-while loop:

Contoh 1:

public class contoh_while {

public static void main(String args[]) {

int i = 4;

do{

System.out.print(i);

i--;

}while( i > 0 );}

}

Contoh ini akan memberikan output 4321 pada layar.

3. for loop

Pernyataan for loop memiliki kondisi hampir mirip seperti struktur pengulangan sebelumnya

yaitu melakukan pengulangan untuk mengeksekusi kode yang sama sebanyak jumlah yang telah

ditentukan.

Bentuk dari for loop,

(25)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 25

statement2; }

- InitializationExpression – inisialisasi dari variabel loop.

- LoopCondition - membandingkan variabel loop pada nilai batas tertentu

- StepExpression - melakukan update pada variabel loop.

Berikut ini adalah contoh dari for loop,

public class cthfor {

public static void main(String args[]){

for(int i=4;i>=0;i--)

{

System.out.print(i);

}

}

}

Pada contoh ini, pernyataan i=4 merupakan inisialisasi dari variabel. Selanjutnya, kondisi

i>=0 diperiksa. Jika kondisi bernilai true, pernyataan di dalam for loop dieksekusi.

Kemudian, ekspresi i-- dieksekusi, lalu akan kembali pada bagian pemeriksaan terhadap kondisi

i>=0 lagi. Kondisi ini akan dilakukan berulang-ulang sampai mencapai nilai yang salah (false).

4. Percabangan dalam Perulangan

Pernyataan percabangan mengijinkan kita untuk mengatur aliran eksekusi program. Java

memberikan tiga bentuk pernyataan percabangan: break, continue dan return.

4.2 Pernyataan break

Pernyataan break memiliki dua bentuk: tidak berlabel (unlabeled) dan berlabel (labeled).

4.2.1 Pernyataan break tidak berlabel

Pernyataan break tidak berlabel (unlabeled) digunakan untuk menghentikan jalannya pernyataan

switch. Selain itu pernyataan break unlabeled juga bisa digunakan untuk menghentikan

pernyataan-pernyataan for, while atau do-while loop.

for( int i=0; i< 5; i++ ){

if( i==3){

System.out.println(i);

break;

}

(26)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 26

Dari pernyataan diatas didapatka jika i berposisi pada nilai maka perulangan akan dihentikan. Dan akan

melakukan pencetakan angka i, yaitu angka 3.

4.2.2 Pernyataan break berlabel

Bentuk label dari pernyataan break akan menghentikan pernyataan di luarnya, dimana

sebelumnya harus diberikan label yang sudah di spesifikasikan pada program pada pernyataan

break. Ketika sebuah nilai ditemukan, break akan menghentikan pernyataan yang diberi label

searchLabel yang terletak di luar pernyataan for loop.

searchLabel:

for( int i=0; i<6; i++ )

{

if(i==5 )

{

System.out.println(i);

break searchLabel;

}

}

Pernyataan break menghentikan pernyataan yang diberi label; dan tidak menjalankan

aliran kontrol apapun pada label. Aliran kontrol pada label akan diberikan secara otomatis

pada pernyataan yang terletak dibawah label. Jadi jika pernyataan yang tidak dibawahnya maka tidak

akan mengenali label yang telah dituliskan.

4.3 Pernyataan Continue

Pernyataan continue memiliki dua bentuk: berlabel dan tidak berlabel. Anda dapat menggunakan

pernyataan continue untuk melanjutkan pengulangan yang sedang dijalankan oleh pernyataan for,

while, atau do- while loop.

4.3.1 Pernyataan continue tidak berlabel

Bentuk pernyataan continue tidak berlabel (unlabeled) akan melewati bagian pernyataan setelah

pernyataan ini dituliskan dan memeriksa eksepresi logika (boolean) yang mengkontrol

pengulangan. Jika ekspresi logika (boolean) masih bernilai true, maka pengulangan tetap dilanjutkan.

Pada dasarnya pernyataan ini akan melanjutkan bagian pengulangan pada pernyataan loop.

for( int i=0; i<6; i++ ){

(27)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 27 public class nested{

public static void main(String[]args){ for(int i=0;i<4;i++){

for(int j=0;j<5;j++){ System.out.print(j); }

System.out.println(); }

} }

continue;

}

System.out.println(i);

}

4.3.2 Pernyataan continue berlabel

Bentuk pernyataan continue berlabel (labeled) akan melanjutkan pengulangan yang sedang terjadi

dan dilanjuti ke pengulangan berikutnya dari pernyataan pengulangan yang diberi label (tanda).

search:

for( int i=0; i<6; i++ ) {

if(i==3 ){

continue search;

}

System.out.println(i);

}

4.4 Pernyataan Return

Pernyataan return digunakan untuk keluar dari sebuah method. Pernyataan return memiliki dua

bentuk: memberikan sebuah nilai, dan tidak memberikan nilai.

Untuk memberikan sebuah nilai, cukup berikan nilai (atau ekspresi yang menghasilkan sebuah nilai)

sesudah kata return. Contohnya,

return ++count; atau return "Hello";

Tipe data dari nilai yang diberikan harus sama dengan tipe dari method yang dibuat.

Ketika sebuah method void dideklariskan, gunakan bentuk return yang tidak memberikan nilai.

Contohnya, return;

4.5 Nested Loop

Nested Loop adalah suatu bentuk perulangan didalam perulangan,Perhatikan contoh berikut ini untuk

(28)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 28

MODUL 5

ARRAY/LARIK (1 Dimensi) dan (Multidimensi)

A. Target Praktikum

- Mahasiswa mengetahui struktur dasar Array

- Mahasiswa mengetahui cara pengoperasian Array

- Mahasiswa mampu menyelesaikan permasalahan terkait penggunaan Array

B. Materi Dasar

Dalam bab ini, kita akan mendiskusikan mengenai array dalam Java. Pertama, kita akan

mendefinisikan apa yang dimaksud dengan array, kemudian kita juga akan mendiskusikan

bagaimana mendeklarasikannya dan menggunakannya dalam Java.

Array adalah suatu type data yang mampu diisi dengan lebih dari satu nilai. Dan untuk pengaksesan

nilai pada array ini digunakan indeks atau berdasarkan letak nilai tersebut pada array. Yang harus anda

perhatikan adalah bahwa data yang berada dalam suatu array mempunyai tipe yang sama.

B.1 Array satu dimensi

Yaitu array yang hanya mempunyai 1 baris yang didalamnya terdapat data yang mempunyai type sama.

Atau dapat diartikan sejumlah data yang ditampung oleh suatu variable yang mempunyai type yang sama

dalam satu baris dan satu kolom.

1. Pendeklarasian Array

Array harus dideklarasikan seperti layaknya sebuah variabel. Pada saat mendeklarasikan array, anda

harus membuat sebuah daftar dari tipe data, yang diikuti oleh sepasang tanda kurung [], lalu diikuti oleh

nama identifier-nya. Sebagai contoh,

int []usia;

atau Anda dapat menempatkan sepasang tanda kurung [] sesudah nama identifier. Sebagai contoh,

int usia[];

Setelah pendeklarasian array , kita harus membuat array dan menentukan berapa panjangnya

dengan sebuah konstruktor. Proses ini di Java disebut sebagai instantiation (istilah

(29)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 29

Sebagai catatan bahwa ukuran dari array tidak dapat diubah setelah anda menginisialisasinya.

Sebagai contoh,

int ages[]; //deklarasi

ages = new int[100]; //instantiate obyek

Selain menggunakan sebuah pernyataan new untuk meng-instantiate array, Anda juga

dapat mendeklarasikan, membangun, kemudian memberikan sebuah nilai pada array sekaligus dalam

sebuah pernyataan.

Sebagai contoh,

boolean results[] ={ true, false, true, false }; double []grades = {100, 90, 80, 75};

String days[] = { “Mon”, “Tue”, “Wed”, “Thu”, “Fri”, “Sat”, “Sun”};

2. Pengaksesan elemen array

Untuk mengakses sebuah elemen dalam array, atau mengakses sebagian dari array, Anda

harus menggunakan indeks atau subscript.

“ Nilai indeks selalu dalam tipe integer, dimulai dari angk a nol dan dilanjutkan ke angka berikutnya sampai akhir array. Sebagai catatan bahwa indeks didalam array dimulai dari 0 sampai dengan (ukuranArray-1).”

Berikut ini adalah contoh kode untuk mencetak seluruh elemen didalam array. Dalam

contoh ini digunakanlah pernyataan for loop, sehingga kode kita menjadi lebih pendek.

public class ArraySample

{

public static void main( String[] args )

{

int[] ages = new int[100];

for( int i=0; i<100; i++ )

{

System.out.print( ages[i] );

}

}

(30)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 30

3. Panjang Array

Untuk mengetahui berapa banyak elemen didalam sebuah array, Anda dapat menggunakan atribut

length dari array. Atribut ini akan mengembalikan ukuran dari array itu sendiri. Sebagai contoh,

NamaArray.length

Pada contoh sebelumnya, kita dapat menuliskannya kembali seperti berikut ini,

public class ArraySample

{

public static void main( String[] args )

{

int[] ages = new int[100];

for( int i=0; i<ages.length; i++ )

{

System.out.print( ages[i] );

}

}

}

B.2 Array Multidimensi

Array multidimensi diimplementasikan sebagai array yang terletak di dalam array. Array

multidimensi dideklarasikan dengan menambahkan jumlah tanda kurung setelah nama array. Sebagai

contoh,

// Elemen 512 x 128 dari integer array int[][] twoD = new int[512][128];

// karakter array 8 x 16 x 24

char[][][] threeD = new char[8][16][24];

// String array 4 baris x 2 kolom

String[][] dogs = {{ "terry", "brown" }, { "Kristin", "white" }, { "toby", "gray"}, { "fido", "black"} };

Untuk mengakses sebuah elemen didalam array multidimensi, sama saja dengan mengakses array satu

dimensi. Misalnya saja, untuk mengakses element pertama dari baris pertama didalam array dogs, kita

akan menulis,

(31)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 31

Kode diatas akan mencetak String “terry” di layar

Contoh :

public class contoh2d

{

int[][] A={{3,7,5},{2,8,6}};

public void cetak()

{

System.out.println(" Matrik A: ");

for(int i=0;i<A.length;i++)

{

for(int j=0;j<A[0].length;j++)

{

System.out.print(A[i][j]+" ");

}

System.out.println();

}

}

public static void main(String args[])

{

contoh2d jm=new contoh2d();

jm.cetak();

}

(32)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 32

MODUL 6

PERULANGAN LANJUTAN ( ALGORITMA SORTING )

A. Target Praktikum

- Mahasiswa mampu menguasai berbagai macam algoritma sorting yaitu insertion sort,

selection sort, buble sort.

- Mampu mengimplementasikan berbagai macam algoritma sorting.

B. Materi Dasar

1. Algoritma Sorting

Sorting adalah proses menyusun elemen – elemen dengan tata urut tertentu dan proses tersebut

terimplementasi dalam bermacam aplikasi. Pengaplikasian sorting banyak kita jumpai diberbagai

aktifitas, missal mengurutkan NIM, Nama negara, Kota dan Lain sebagainya

Ada beberapa macam algoritma sorting yang nantinya akan kita pelajari dalam praktikum ini misalnya :

- Insertion Sort

- Selection sort

- Buble Sort

Penjelasan mengenai keempat algoritma sorting bisa anda baca dibawah ini:

1.1 Insertion Sort

Insertion sort adalah sebuah algoritma pengurutan yang membandingkan dua elemen data pertama,

mengurutkannya, kemudian mengecek elemen data berikutnya satu persatu dan membandingkannya

dengan elemen data yang telah diurutkan.

Cara pengurutan dalam Insertion Sort:

a. Membandingkan dua elemen data pertama dan mengurutkannya.

b. Mengambil satu elemen data berikutnya dan membandingkannya dengan dua elemen data

pertama yang telah terurut, kemudian mengurutkannya. Elemen data ketiga ini bisa diletakkan

sebelum elemen data pertama, setelah elemen data kedua, atau disisipkan diantara elemen data

pertama dan kedua.

c. Mengulang langkah kedua hingga seluruh elemen data dalam daftar sudah diurutkan.

(33)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 33

1.2 Selection Sort

Algoritma sorting dengan selection sort merupakan pengurutan dengan cara mencari nilai terbesar atau

terkecil dari sekumpulan nilai pada sebuah data.

Pengururutan ini mempunyai jalan sebagai berikut :

a. Mencari nilai max atau min (opsional, pilih salah satu) pada semua elemen array dan pertukarkan

dengan elemen array yang seharusnya (min di pertama atau max di akhir) . kemudian elemen

array tersebut di isolasi (tidak diganggu gugat).

b. Temukan elemen array bernilai min/max dari array index kedua dari awal jika minimum atau

kedua dari akhir jika maksimum, kemudian pertukarkan dengan elemen array di posisi (indeks)

kedua (dari awal atau dari akhir tergantung penggunaan maksimum atau minimum). Lalu

isolasi elemen array tersebut ditambah elemen sebelumnya.

c. Ulangi langkah di atas untuk elemen berikutnya hingga elemen terakhir.

Perhatikan contoh kode berikut ini : public class insertion {

public static void main(String args[]) {

int a[]={8,5,9,6,3,4,2,1,7,5}; for(int i=0;i<a.length;i++) {

int min=a[i]; int j=i;

while((j>0)&&(min<a[j-1])) {

a[j]=a[j-1]; j--;

}

a[j]=min; }

// mencetak hasil

for(int h=0;h<a.length;h++) {

System.out.println(a[h]+","); }

(34)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 34

1.2 Bubble Sort

Bubble sort merupakan metode yang memiliki proses pengurutan yang diawali dengan membandingkan

elemen pertama guna memperoleh elemen terbesar. Kemudian elemen tersebut ditempatkan pada posisi

terakhir.

Berikut ini urutan dalam Bubble Sort :

a. Lakukan pengulangan (pass) pada array, kemudian tukar elemen yang bersebelahan jika

diperlukan (perbandingan nilainya tidak sesuai); jika tidak ada pertukaran nilai maka array

sudah terurut.

b. . Dalam pass pertama, temukan elemen dengan nilai tertinggi (maksimal) dalam array dan

tukarkan dengan elemen di sebelah kanannya dan seterusnya sampai dengan mencapai posisinya

di ujung array sebelah kanan. public class selection {

public static void main(String args[]) {

int a[]={8,5,9,6,3,4,2,1,7,5};

int i=0;

while(i<a.length-1){

int tmp=i;

for(int j=i+1;j<a.length;j++){

if(a[j]<a[tmp])

tmp=j;

}

int hlp=a[i];

a[i]=a[tmp];

a[tmp]=hlp;

i++;

}

// mencetak hasil

for(int h=0;h<a.length;h++){

System.out.println(a[h]+",");

}

}

(35)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 35

c. Kemudian dalam pass kedua, nilai tertinggi kedua dalam array akan ditempatkan dalam

posisinya (di sebelah kiri elemen dengan nilai tertinggi/maksimal).

d. Teruskan untuk pass ketiga dan seterusnya sampai pass n-1

e. Jika sebelum pass n-1 sudah tidak ada pertukaran data maka pertukaran langsung dihentikan.

Perhatikan Kode Berikut :

public class bubble {

public static void main(String args[]) {

int a[]={8,5,9,6,3,4,2,1,7,5}; for(int i=1;i<a.length;i++) {

for(int h=0;h<a.length-1;h++) {

if(a[h+1]<a[h]) {

int tmp=a[h+1]; a[h+1]=a[h]; a[h]=tmp; }

} }

// mencetak hasil

for(int h=0;h<a.length;h++) {

System.out.println(a[h]+","); }

(36)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 36

MODUL 7

EXCEPTION HANDLING DAN METHOD

A. Target Praktikum

- Mendefinisikan exception

- Menangani exception menggunakan blok try-catch-finally

- Memahami Tentang Method dan penggunaannya didalam pemrograman

- Mampu mengaplikasikan method dalam pembuatan program.

B. Materi Dasar

1. ExceptionHandling

Dalam bagian ini, kita akan mempelajari teknik yang dipakai dalam Java dalam menangani kondisi yang

tidak bisaa dalam menjalankan operasi normal dalam program. Teknik ini dinamakan exception

handling.

- Event yang terjadi ketika suatu kesalahan terjadi saat program dijalankan.

- Sering digunakan untuk akses sumberdaya non memori seperti akses file dan koneksi database

1.1 Apa itu Exception?

Exception adalah sebuah peristiwa yang menjalankan alur proses normal pada program. Peristiwa ini

bisaanya berupa kesalahan(error) dari beberapa bentuk. Ini disebabkan program kita berakhir tidak

normal.

1.2 Menangani Exception

Untuk menangani exception dalam Java, kita gunakan blok try-catch-finally. Apa yang kita

lakukan dalam program kita adalah kita menempatkan pernyataan yang mungkin menghasilkan exception

dalam blok ini.

Bentuk umum dari blok try-catch-finally adalah,

Try

{

//tulis pernyataan yang dapat mengakibatkan exception //dalam blok ini

}

catch( <exceptionType1> <varName1> ) {

(37)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 37

}

catch( <exceptionTypen> <varNamen> ){

//tulis aksi apa dari program Anda yang dijalankan jika ada //exception tipe tertentu terjadi

}

finally{ //tambahkan kode terakhir di sini }

Exception dilemparkan selama eksekusi dari blok try dapat ditangkap dan ditangani dalam blok catch.

Kode dalam blok finally selalu di-eksekusi.

Berikut ini adalah aspek kunci tentang sintak dari konstruksi try-catch-finally:

- Notasi blok bersifat perintah

- Setiap blok try, terdapat satu atau lebih blok catch, tetapi hanya satu blok finally.

- Blok catch dan blok finally harus selalu muncul dalam konjungsi dengan blok try, dan diatas urutan

- Blok try harus diikuti oleh paling sedikit satu blok catch ATAU satu blok finally, atau

keduanya.

- Setiap blok catch mendefinisikan sebuah penanganan exception. Header dari blok catch harus

membawa satu argumen, dimana exception pada blok tersebut akan ditangani.

1.3 Contoh Exception

a. ArithmeticException

public class cobaException

{

public static void main(String args[])

{

int bil = 10;

System.out.println(bil/0);

}

}

(38)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 38

Disana muncul adanya kesalahan aritmetika, pesan kesalahan tersebut tampil karena adanya proses

perhitungan yang salah. karena di java secara otomatis akan menangkap exception ketika ada kode

program yang salah.

b. Struktur Blok Try Catch

try{

kode program yang mungkin menghasilkan exception

}

catch(Exception xx){

}

catch(Exception xx){

}

Contoh Penggunaan Blok Try-Catch

public class contoh_try

{

public static void main(String args[]){

try{

int bil = 10;

System.out.println(bil/0);

}

catch(Exception xx){

System.out.println(xx.getMessage());

}

}

}

2. Method/Function

2.1 Konsep Dasar

- Fungsi adalah bagian dari kode program yang mempunyai tugas spesifik.

- Reusable : Bisa dipanggil ke program utama atau fungsi yg lain lebih dari 1 kali bila dibutuhkan.

- Sebuah fungsi bisaanya digunakan untuk menangani suatu proses tertentu yang ada di dalam sebuah

program. Dan bila ada kesalahan cukup memperbaiki bagian method yang salah

2.2 Bentuk penulisan fungsi/method

Kita bisa menuliskan fungsi atau method dengan beberapa cara, dan method juga mempunyai beberapa

(39)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 39

Dari beberapa tipe method diatas semua harus mempunya nilai kembalian (return typedata) kecuali

method yang bertipe void.

Dalam beberapa kasus kita membutuhkan suatu method yang mempunyai nilai kembalian, misalnya

untuk penanganan proses tertentu yang membutuhkan sebuah nilai untuk digunakan proses selanjutnya,

missal ingin menghitung bangun seperti tabung, kerucut dimana kedua bangun tersebut mengandung

lingkaran, maka penanganan perhitungan lingkaran bisa ditangan oleh satu method dengan nilai

kembalian, kemudian hasil perhitungan lingkaran digunakan untuk menghitung volume tabung dan

kerucut.

Berikut ini cara untuk menuliskan fungsi/method :

1. method yang tidak mempunyai parameter

void hitung() {

// Statement atau perintah yang dikerjakan }

2. method yang mempunyai parameter

void hitung2(int a,int b) { // Method yang mempunyai parameter // Statement atau perintah yang dikerjakan

}

2.3 Contoh Aplikasi

a. Program yang tidak menggunakan fungsi/method

public class faktorial {

public static void main(String args[]){

int nilai=1;

int data=4;

if(data==0||data==1){

nilai=1;

}

else{

for(int i=1; i<=data; i++){

nilai*=i;

}

}

System.out.println(data+" ! = "+nilai);

}

(40)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 40

b. Program yang menggunakan fungsi/method

public class faktorial5

{

public void test(int data){ // Fungsi atau method

int nilai=1;

if(data==0||data==1){

nilai=1;

}

else{

for(int i=1; i<=data; i++){

nilai*=i;

}

}

System.out.println(data+"! = "+nilai);

}

public static void main(String args[]){

faktorial5 f5=new faktorial5();

f5.test(4);

f5.test(5);

}

}

Dapat anda perhatikan bahwa program “a” yang tidak menggunakan fungsi, maka proses yang berjalan

hanya sekali dan angka yang dihitung nilai faktorialnya cenderung statis.

Berbeda dengan program “b” yang menggunaka fungsi, proses yang berjalan bisa lebih satu kali, yaitu

kita bisa melakukan pemanggilan fungsi tersebut secara berulang dengan nilai angka yang parameter

faktorialnya dapat diubah dengan lebih dinamis.

2.4 Function Rekursif

Sebuah fungsi yang menggunakan dirinya sendiri untuk mengerjakan suatu tugas. Rekursif adalah

sebuah metodologi yang penting karena beberapa algoritma bisa diekspresikan dengan lebih baik

menggunakan rekursif.

Contoh :

public class metodx {

(41)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 41

if(sisa>0) {

System.out.println("Belajar Rekursif Java"); tampilString(sisa-1);

} }

public static void main(String args[]) {

metodx r1=new metodx(); r1.tampilString(5); }

}

Contoh : Faktorial Dengan Rekursif

public class FaktorialRekursif {

public int FaktorialRekursif(int n) {

public static void main(String args[]) {

FaktorialRekursif fr=new FaktorialRekursif(); int data=fr.FaktorialRekursif(5);

System.out.println("5 ! = "+data); }

}

3. Object Oriented Programing(OOP/Pemrograman Berorientasi Objek)

Java Merupakan salah satu bahasa pemrograman yang berorientasi objek. OOP Atau Object Oriented

Programing Adalah merupakan model pemrograman yang berorientasikan kepada objek. Semua data

dan fungsi di dalam model pemrograman ini dibungkus dalam objek. Bandingkan dengan logika

pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke

objek lainnya. Model pemrograman ini merupakan model pemrograman yang mudah untuk

dikembangkan dan di maintenance.

Ada berbagai macam konsep yang dipakai dalam model pemrograman berbasis OOP diantaranya :

Kelas, Objek, Abstrak, Polimorfisme, Enkapsulasi

Dalam praktikum dasar pemrograman ini, kita akan pelajari Kelas dan Objek serta beberapa macam

(42)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 42

3.1 Kelas

Kelas adalah sekumpulan data dan fungi dalam satu kesatuan untuk tujuan tertentu.

Dalam contoh misalnya ada kelas “pensil” dimana kelas pensil ini merupakan turunan dari kelas

alat_tulis, perhatikan kode berikut :

public class alat_tulis{

public class pensil extends alat_tulis{ String harga;

String harga(String hrg){ harga=hrg;

return harga; }

public static void main (String[]args) { pensil pl=new pensil();

pl.nama="Pensil"; pl.merek="Standart"; pl.harga="5000";

System.out.println("Nama "+pl.nama); System.out.println("Merek "+pl.merek); System.out.println("Harga "+pl.harga); }

}

Dari Kode tersebut bias anda lihat kelas pensil bias memberikan nilai pada nama, merek padahal

didalam kelas tersebut tidak mempunyai variabel itu, hal ini dikarenakan kelas pensil tersebut

merupakan kelas turunan dari kelas alat tulis.

3.2 Objek

Objek bisa kita ibaratkan sebagai pembungkus suatu fungsi,data yang ada dalam pemrograman

berorientasi objek. Contohnya adalah setiap komponen, variabel, fungsi di dalam java selalu diwakili

oleh sebuah objek, perhatikan kode berikut :

Variabel : int[]angka=new int[5] angka merupakan objek variabel

Kelas : pensil pl =newm pensil(); pl merupakan objek kelas

3.3 Akses Modifier

Akses modifier merupakan hak akses yang diberikan kepada data/variabel, fungsi atau kelas dalam

pemrograman berorientasi objek. Ada beberapa macam akses modifier yang harus anda ketahui

(43)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 43

1. Public : Akses modifier yang mengijinkan semua kelas mengakses var,fungsi yang memliki tipe

akses modifier ini.

2. Private : Akses modifier yang hanya bias diakses dalam satu kelas

3. Protected : Akses modifier yang hanya mengijinkan kelas turunan untuk mengakses var,fungsi

yang memliki tipe akses modifier ini.

4. Static : Bukan akses modifier, Sebuah variabel atau fungsi yang mempunyai nilai kembalian

yang nilaix akan tetap terjaga selama tidak ada perubahan nilai dalam var, dan fungsi tersebut

selama aplikasi berjalan.

public class alat_tulis {

static private String info="Informasi Alat Tulis";

public class pensil extends alat_tulis{ String harga;

String harga(String hrg){ harga=hrg;

return harga; }

public static void main (String[]args){ pensil pl=new pensil();

pl.nama("Pensil"); pl.merek("Standart"); pl.harga("5000");

System.out.println("Nama "+pl.info);// Menampilkan variabel Static

System.out.println("Nama "+pl.nama); System.out.println("Merek "+pl.merek); System.out.println("Harga "+pl.harga); }

}

Dari contoh diatas jika anda runnig programnya maka variabel info di kelas alat_tulis tidak dapat diakses

(44)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 44

MODUL 8

DASAR GUI (Graphical User Interface)

A. Target Praktikum

- Memahami persamaan dan perbedaan antara AWT dan Swing

- Perbedaan antara komponen dan kontainer.

- Mendesain aplikasi GUI menggunakan AWT.

- Mendesain aplikasi GUI menggunakan Swing.

- Menjelaskan tentang flow layout, border layout, dan grid layout dalam komponen GUI

- Membuat tampilan yang komplek dalam mendesain aplikasi GUI.

B. Materi Dasar

Tanpa mempelajari tentang grapichal user interface (GUI) API, Anda masih tetap bisa membuat

suatu program. Tetapi, program Anda akan kelihatan tidak menarik dan tidak nyaman digunakan bagi

para user. Memiliki GUI yang baik dapat memberi efek pada penggunaan aplikasi. Java menyediakan

banyak tool seperti Abstract Windowing Toolkit dan Swing untuk mengembangkan aplikasi GUI yang

interaktif.

AWT dan Swing menyediakan komponen GUI yang dapat digunakan dalam membuat aplikasi Java

dan applet. Tidak seperti beberapa komponen AWT yang menggunakan native code, keseluruhan Swing

ditulis menggunakan bahasa pemrograman Java. Swing menyediakan implementasi

platform-independent dimana aplikasi yang dikembangkan dengan platform yang berbeda dapat memiliki tampilan

yang sama. Begitu juga dengan AWT menjamin tampilan look and feel pada aplikasi yang dijalankan

pada dua mesin yang berbeda menjadi terlihat sama. Swing API dibangun dari beberapa API yang

mengimplementasikan beberapa jenis bagian dari AWT. Kesimpulannya, komponen AWT dapat

digunakan bersama dengan komponen Swing.

1. Beberapa komponen AWT

Berikut ini adalah daftar dari kontrol AWT. Kontrol adalah komponen seperti tombol atau textfield

yang mengijinkan user untuk berinteraksi dengan aplikasi GUI. Berikut ini semua subclass dari class

Components.

(45)

M o d u l D a s p r o - C o p y l e f t b y : G i a n t o W i d o d o , S . K o m Page 45

import javax.swing.*;

import java.awt.*;

class cekBok extends JFrame

{

Checkbox cb1 = new Checkbox("Cex Box");

TextField txt = new TextField("Text Field");

Button bt = new Button("Tombol/Button");

cekBok()

{

super("PROGRAM GUIKU");

setLocation(200,100);

setSize(400,350);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

void objek()

{

getContentPane().setLayout(null);

getContentPane().add(cb1);

getContentPane().add(txt);

getContentPane().add(bt);

cb1.setBounds(30,90,150,20);

txt.setBounds(30,120,150,20);

bt.setBounds(30,150,150,20);

setVisible(true);

}

public static void main(String args[])

{

cekBok ZZ=new cekBok();

ZZ.objek();

}

}

2. Layout Manager

Posisi dan ukuran suatu komponen ditentukan oleh layout manager. Layout manager

Gambar

Tabel operator Increment/decrement adalah :

Referensi

Dokumen terkait

Banyak kerangka kerja yang sudah dibangun oleh programmer yang tentunya sudah sangat ahli pada bahasa pemrograman tersebut, dengan keunggulan-keunggulan dan

Kata polimorfisme yang berarti satu objek dengan banyak bentuk yang berbeda, adalah konsep sederhana dalam bahasa pemrograman berorientasi objek yang berarti

E-learning yang bertujuan untuk membantu mempelajari bahasa pemrograman Java tentu akan sangat berguna terutama kepada mahasiswa yang ingin belajar pemrograman

Java merupakan bahasa pemprograman yang dikembangkan oleh Sun Microsystem, dan dirancang sedemikian rupa agar program yang dibuat menggunakan Java dapat berjalan pada semua

Menuliskan program Bahasa C untuk menginput suatu data dan mencari apakah data tersebut ada di dalam array atau tidak1. Memahami dan memanipulasi program Bahasa C

Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source Hak Cipta © 2007

Manusia  Manusia : bahasa Manusia  Komputer : bahasa pemrograman => Untuk Berkomunikasi Bahasa Pemrograman : memberikan perintah, supaya komputer melakukan apa yg diinginkan

Dokumen ini membahas tentang beberapa konsep dasar dalam pemrograman