Anda di halaman 1dari 44

PANDUAN PRAKTIKUM ALGORITMA & PEMROGRAMAN 1

Menggunakan Bahasa Pemrograman JAVA

Disusun oleh: ADRI GABRIEL SOOAI,MT.

PROGRAM STUDI TEKNIK INFORMATIKA UNIVERSITAS KATOLIK WIDYA MANDIRA KUPANG 2009

Disusun Oleh Adri Gabriel Sooai.MT.

KATA PENGANTAR
Panduan praktikum Algoritma dan Pemrograman I ini disusun untuk membantu para mahasisiswa memantapkan pengetahuan dan keterampilan dalam hal pemrograman. Bahasa pemrograman yang dipakai dalam praktikum ini adalah JAVA. Untuk lebih memudahkan dalam berbagai latihan, hendaknya para mahasiswa memiliki buku text atau buku panduan pemrograman JAVA yang banyak terdapat pada Toko Buku. Beberapa judul yang dapat dijadikan acuan terdapat pada DAFTAR PUSTAKA di akhir panduan praktikum ini. Panduan praktikum ini disusun untuk 8(delapan) kali pertemuan, setiap pertemuan terdiri dari 3(tiga) bagian, yaitu Tugas Pendahuluan, Latihan Praktikum, dan Tugas Praktikum. Tugas Pendahuluan dan Tugas Praktikum harus dikumpulkan sebelum memasuki praktikum. Lulus atau tidaknya mahasiswa dalam mengikuti praktikum ini ditentukan oleh nilai Tugas Pendahuluan, Latihan Praktikum, Tugas Praktikum dan Ujian Praktikum. Nilai praktikum ini sangat berpengaruh pada Nilai Kuliah Algoritma & Pemrograman I, jika mahasiswa tidak lulus Praktikum, maka secara otomatis juga dinyatakan tidak lulus Mata Kuliah Algoritma & Pemrograman I. Bagi mahasiswa yang tidak memiliki komputer di rumah untuk berlatih, tidak perlu berkecil hati, sebab SEMUA BAHASA PEMROGRAMAN KOMPUTER DAPAT DILATIH TANPA MENGGUNAKAN KOMPUTER, anda hanya membutuhkan lembaran kertas putih dan pena / pensil, kemudian mulailah menyalin contoh-contoh program yang ada. Selamat Berlatih.

Kupang, 14 Februari 2009

Adri Gabriel Sooai,MT.

Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

Disusun Oleh Adri Gabriel Sooai.MT.

DAFTAR ISI
KATA PENGANTAR .................................................................................................................. 2 DAFTAR ISI................................................................................................................................. 3 PERTEMUAN I VARIABEL....................................................................................................... 4 TUGAS PENDAHULUAN I VARIABEL .............................................................................. 5 LATIHAN PRAKTIMUM I VARIABEL................................................................................ 5 TUGAS PRAKTIKUM I VARIABEL..................................................................................... 6 PERTEMUAN II INPUT DARI KEYBOARD............................................................................ 8 TUGAS PENDAHULUAN II INPUT DARI KEYBOARD.................................................. 10 LATIHAN PRAKTIMUM II INPUT DARI KEYBOARD................................................... 10 TUGAS PRAKTIKUM II INPUT DARI KEYBOARD ........................................................ 12 PERTEMUAN III OPERASI STRING ...................................................................................... 13 TUGAS PENDAHULUAN III OPERASI STRING.............................................................. 13 LATIHAN PRAKTIKUM III OPERASI STRING................................................................ 13 TUGAS PRAKTIKUM III OPERASI STRING .................................................................... 15 PERTEMUAN IV PERCABANGAN IF & CASE .................................................................... 17 TUGAS PENDAHULUAN IV PENCABANGAN IF & CASE............................................ 19 LATIHAN PRAKTIKUM IV PENCABANGAN IF & CASE.............................................. 20 TUGAS PRAKTIKUM IV PENCABANGAN IF & CASE .................................................. 23 PERTEMUAN V PENGULANGAN / LOOP ........................................................................... 23 TUGAS PENDAHULUAN V PENGULANGAN / LOOP ................................................... 24 LATIHAN PRAKTIKUM V PENGULANGAN / LOOP ..................................................... 25 TUGAS PRAKTIKUM V PENGULANGAN ....................................................................... 27 PERTEMUAN VI ARRAY........................................................................................................ 28 TUGAS PENDAHULUAN VI ARRAY................................................................................ 29 LATIHAN PRAKTIKUM VI ARRAY.................................................................................. 29 TUGAS PRAKTIKUM VI ARRAY ...................................................................................... 32 PERTEMUAN VII FUNGSI & PROCEDURE ......................................................................... 33 TUGAS PENDAHULUAN VII FUNGSI & PROCEDURE ................................................. 34 LATIHAN PRAKTIMUM VII FUNGSI & PROCEDURE .................................................. 34 TUGAS PRAKTIKUM VII FUNGSI & PROCEDURE........................................................ 38 PERTEMUAN VIII SORTING & SEARCHING...................................................................... 39 TUGAS PENDAHULUAN VIII SORTING & SEARCHING.............................................. 40 LATIHAN PRAKTIKUM VIII SORTING & SEARCHING................................................ 40 TUGAS PRAKTIKUM VIII SORTING & SEARCHING .................................................... 42 UJIAN PRAKTIKUM ................................................................................................................ 43 DAFTAR PUSTAKA ................................................................................................................. 44

Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

Disusun Oleh Adri Gabriel Sooai.MT.

PERTEMUAN I VARIABEL
Variabel adalah suatu tempat dalam memory computer yang digunakan untuk menampung data. Data yang ditampung dalam variable memiliki berbagai Tipe. Tipe Data dalam Bahasa Pemrograman JAVA antara lain:

int integer (bilangan bulat) nilainya (1, 2, 3...dst) float nilai pecahan (3.14159) double nilai pecahan (3.14159) char nilai karakter (a, b, c...) String gabungan berbagai karakter (a..z, A..Z, 0..9, * / + -, ?! <>@#$%&)

Di dalam bahasa pemrograman JAVA, sebuah variable mempunyai nama, tipe dan harga. Dalam deklarasi variable setidaknya dibutuhkan nama dan tipe. Penulisan program menggunakan JAVA bersifat case sensitive, artinya terdapat perbedaan antara huruf besar dan kecil, sebagai contoh jika sebuah variable diberi nama X maka variable lain yang juga bernama x akan dibedakan, misal X = 10 dan x = 5, untuk itu dibutuhkan ketelitian dalam penulisan. Jika pada penulisan variable pertama sudah menggunakan huruf besar maka gunakan terus huruf besar untuk variable yang sama, demikian juga sebaliknya. Menulis sebuah program dalam bahasa pemrograman JAVA dapat menggunakan berbagai Text Editor antara lain Notepad dan Wordpad (dalam Sistem Operasi Windows) atau KWord, Vi (dalam Sistem Operasi LINUX). Editor lainnya yang dilengkapi dengan fasilitas kompilasi antara lain: JCreator, Netbeans, Eclipse. Sebelum mulai membuat program menggunakan JAVA, anda membutuhkan JAVA System Development Kit, tanpa JAVA SDK, anda tidak akan dapat melakukan kompilasi / menjalankan program aplikasi yang anda buat menggunakan JAVA pada komputer. JAVA SDK dapat anda download dari situs dengan URL / Uniform Resorce Locator http://www.sun.com/java/download Dalam penulisan program menggunakan JAVA, anda dapat memberikan catatan pada baris program untuk memudahkan menelusuri alur program, pemberian catatan pada badan program dilakukan dengan memberikan tanda // atau /* diakhiri */. Misal: // --------- ini adalah awal program /* program ini dibuat oleh frida lidwina */
Contoh Program 1. BelajarJAVA.java import java.io.*; Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

Disusun Oleh Adri Gabriel Sooai.MT. public class BelajarJAVA { public static void main(String[] args){ // ------- pendefinisian variabel -----------int NIM = 23109001; String NAMA = "Frida Lidwina"; char GOL = 'A'; float BERAT = 40; double TINGGI = 168.5;

// ------- mencetak isi variable -------------System.out.println("Nomor Induk Mahasiswa : "+NIM); System.out.println("Nama Mahasiswa : "+NAMA); System.out.println("Golongan Darah : "+GOL); System.out.println("Berat Badan : "+BERAT); System.out.println("Tinggi Badan : "+TINGGI); } }

TUGAS PENDAHULUAN I VARIABEL


Sebelum masuk praktikum I, hendaknya anda membuat terlebih dahulu tugas pendahuluan berikut ini, tanpa tugas pendahuluan ini anda tidak diperkenankan masuk ke LAB Komputer untuk mengikuti Praktikum. TUGAS HARUS DITULIS TANGAN. 1. 2. 3. 4. 5. 6. Apa yang dimaksudkan dengan Variabel? Sebutkan beberapa tipe data dalam JAVA. Apa yang dimaksudkan dengan case sensitive? Bagaimana cara membuat catatan dalam baris program JAVA? Dimana alamat URL untuk mendownload JAVA System Development Kit? Tuliskan sebuah program yang akan menampilkan informasi tentang teman anda, informasi yang harus ditampilkan adalah: Nomor HP, Nama, Alamat, Umur, Hobby, Jenis Kelamin(L/P), Jenis SIM / Surat Ijin Mengemudi (A/B/C)

LATIHAN PRAKTIMUM I VARIABEL


Kerjakan beberapa Latihan berikut ini di LAB Komputer, waktu anda 120 menit.
Latih 1. simpan dengan nama Komentar.java public class Komentar { public static void main(String[] args) { final double PI = 3.14; // Definisi konstanta double radius = 30; // Deklarasi variabel System.out.println("Keliling = " + 2 * PI * radius); } } Latih 2. simpan dengan nama LiteralBulat.java Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira public class LiteralBulat { public static void main(String[] args) { System.out.println(17); System.out.println(017); System.out.println(0x17); } } Latih 3. simpan dengan nama LiteralString.java public class LiteralString {

Disusun Oleh Adri Gabriel Sooai.MT. public static void main(String[] args) { System.out.println("abc\ndef"); System.out.println("abc\tdef"); System.out.println("\"Halo\""); } } Latih 6. simpan dengan nama OperatorBit.java Latih 4. simpan dengan OperatorAritmetika.java public class OperatorAritmetika { public static void main(String[] args) { System.out.println("1 + 2 * 3 = " + (1 + 2 * 3)); System.out.println("13 % 5 = " + (13 % 5)); System.out.println("13 % 5.2 = " + (13 % 5.2)); System.out.println("13 / 5 = " + (13 / 5)); System.out.println("13 / 5.2 = " + (13 / 5.2)); } } Latih 5. simpan OepratorPenambahan.java dengan nama public class OperatorBit { public static void main(String[] args) { System.out.println("9 & 10 = " + (9 & 10)); System.out.println("29 & 7 = " + (29 & 7)); System.out.println("9 | 10 = " + (9 | 10)); System.out.println("29 | 7 = " + (29 | 7)); System.out.println("~185 = " + (~185)); System.out.println("-29 & 7 = " + (-29 & 7)); System.out.println("29 << 1 = " + (29 << 1)); System.out.println("29 >> 1 = " + (29 >> 1)); System.out.println("-29 >> 1 = " + (-29 >> 1)); System.out.println("29 >>> 1 = " + (29 >>> 1)); System.out.println("-29 >>> 1 = " + (-29 >>> 1)); } } Latih 7. simpan dengan nama TypeCast.java public class TypeCast { public static void main(String[] args) { int i = 65; char hasil = (char) i; System.out.println("Hasil: " + hasil); } } System.out.println("Contoh 4:"); System.out.println("x = " + x + " y = " + y); } }

nama

public class OperatorPenambahan { public static void main(String[] args) { int x, y; x = 5; y = 8 - x++; System.out.println("Contoh 1:"); System.out.println("x = " + x + " y = " + y); x = 5; y = 8 - ++x; System.out.println("Contoh 2:"); System.out.println("x = " + x + " y = " + y); x = 5; y = 8 - x--; System.out.println("Contoh 3:"); System.out.println("x = " + x + " y = " + y); x = 5; y = 8 - --x;

TUGAS PRAKTIKUM I VARIABEL


Tugas praktikum I, dikerjakan di rumah, dan dikumpulkan untuk diperiksa Asisten LAB sebelum masuk praktikum II. TUGAS PRAKTIKUM II HARUS DITULIS TANGAN.
Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

Disusun Oleh Adri Gabriel Sooai.MT.

1. Tulislah program dalam bahasa pemrograman JAVA untuk semua rumus matematika di bawah ini:
Luas_Segi_4 = P x L Luas_Kubus= S x S Luas_Segi_3 = x A x T Luas_Trapesium = (A + At) x T Vol_Kotak = P x L x T Vol_Kubus = S x S x S Vol_Prisma_Segi3 = x A x T x P Vol_Trapesium = (A + At) x T x P Kel_Lingkaran = 2 x Pi x R Luas_Lingkaran = Pi x R x R Vol_Tabung = Pi x R x R x P Kel_JajaranGenjang = 2 x (A + B) Luas_JajaranGenjang = A x B Kel_BelahKetupat = 4 x A Luas_ BelahKetupat = A x T Kel_Segi3_sembarang = A + B + C Luas_Segi3_Sembarang = x C x T Kel_Layang2 = A + B + C + D Kel_Segi_6_Beraturan = 6 x A

Total 19 (sembilan belas) program

Selamat Bekerja, Buktikan ANDA ADALAH PROGRAMMER !!!

Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

Disusun Oleh Adri Gabriel Sooai.MT.

PERTEMUAN II INPUT DARI KEYBOARD


Setelah mempelajari variable, kini anda akan mempelajari cara mengisi variable melalui input keyboard. JAVA menggunakan iostream (komponen siap pakai untuk input output) untuk melakukan proses ini. Komponen Stream dipanggil menggunakan perintah import, perintah import selalu diletakkan di awal program misal:
import java.io.BufferedReader; import java.io.InputStreamReader; public class MasukkanData{ public static void main(String[] args){ BufferedReader baca = new BufferedReader(new InputStreamReader(System.in) } }

baca disiapkan sebagai variable yang akan menampung semua Stream / Ketikkan yang akan dimasukkan dari keyboard. Setiap data yang dimasukkan menggunakan Stream akan bertipe data String, untuk itu khusus bagi data yang seharusnya bertipe Interger, Float atau Double harus dikonversi dari tipe String ke angka menggunakan masing-masing fungsi konversi yaitu ParseInt, ParseFloat dan ParseDouble. JAVA mengharuskan anda menggunakan Error Trap / Perangkap kesalahan, untuk mencegah kesalahan pengisian data yang tidak sesuai dengan Tipe, misal anda seharusnya mengisi data bertipe Integer tetapi anda mengisi dengan data bertipe String: diminta memasukkan umur berupa angka 17, tetapi anda memasukkan 17 Tahun. Untuk itu Error Trap yang harus digunakan adalah try..catch, jadi sebelum perintah membaca data dari keyboard, awali dengan perintah try{ . Proses input dari keyboard .. akhiri dengan perintah }catch(Exception e){}. Untuk mudahnya perhatikan contoh berikut ini:
Contoh 2 MemasukkanData.java import java.io.BufferedReader; import java.io.InputStreamReader; public class MasukkanData{

Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

Disusun Oleh Adri Gabriel Sooai.MT. public static void main(String[] args){ // ------- pendefinisian stream baca --------BufferedReader baca = new BufferedReader(new InputStreamReader(System.in)); // ------- pendefinisian variabel -----------int NIM = 0; String NAMA = ""; String GOL = ""; float BERAT = 0; double TINGGI = 0.0; // ------- membaca dari keyboard ------------try{ System.out.print("Nomor Induk Mahasiswa : "); NIM = Integer.parseInt(baca.readLine()); System.out.print("Nama Mahasiswa : "); NAMA = baca.readLine(); System.out.print("Golongan Darah : "); GOL = baca.readLine(); System.out.print("Berat Badan : "); BERAT = Float.parseFloat(baca.readLine()); System.out.print("Tinggi Badan : "); TINGGI = Double.parseDouble(baca.readLine()); }catch(Exception e){} // ------- mencetak isi variable -------------System.out.println("------HASIL INPUT KEYBOARD---------"); System.out.println("Nomor Induk Mahasiswa : "+NIM); System.out.println("Nama Mahasiswa : "+NAMA); System.out.println("Golongan Darah : "+GOL); System.out.println("Berat Badan : "+BERAT); System.out.println("Tinggi Badan : "+TINGGI); } } Jika program diatas dijalankan pada computer hasilnya seperti berikut : Nomor Induk Mahasiswa : 23109001 Nama Mahasiswa : FRIDA LIDWINA Golongan Darah : AB Berat Badan : 42 Tinggi Badan : 168.9 ------HASIL INPUT KEYBOARD--------Nomor Induk Mahasiswa : 23109001 Nama Mahasiswa : FRIDA LIDWINA Golongan Darah : AB Berat Badan : 42.0 Tinggi Badan : 168.9 Press any key to continue...

Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

Disusun Oleh Adri Gabriel Sooai.MT.

TUGAS PENDAHULUAN II INPUT DARI KEYBOARD


Sebelum masuk praktikum II, hendaknya anda membuat terlebih dahulu tugas pendahuluan berikut ini, tanpa tugas pendahuluan ini anda tidak diperkenankan masuk ke LAB Komputer untuk mengikuti Praktikum. TUGAS HARUS DITULIS TANGAN. 1. 2. 3. 4. 5. Komponen stream apa saja yang digunakan untuk proses membaca data? Bagaimana cara mendefinisiakan variable baca? Apa fungsi Error Trap? Tuliskan perintah Error Trap? Apa saja fungsi konversi dari String ke angka

LATIHAN PRAKTIMUM II INPUT DARI KEYBOARD


Kerjakan beberapa Latihan berikut ini di LAB Komputer, waktu anda 120 menit.
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; // --------- Model 1 Input dari Keyboard -------------public class masukkan{ public static void main(String args[]){ BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Masukkan pekerjaan anda : "); try { String pekerjaan = reader.readLine(); System.out.print("Pekerjaan anda : "+pekerjaan+"\n"); } catch (IOException e){ e.printStackTrace(); } } } // --------- Model 2 Input dari Keyboard -------------public class masukkan{ public static void main(String args[]){ BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); try { System.out.print("Masukkan Nama anda : "); String nama = reader.readLine(); System.out.print("Masukkan pekerjaan anda : "); String pekerjaan = reader.readLine(); System.out.print("Masukkan umur anda : "); String umur = reader.readLine(); System.out.print("Nama anda : "+nama+"\n"); System.out.print("Pekerjaan anda : "+pekerjaan+"\n"); System.out.print("Umur anda : "+umur+"\n"); } catch (IOException e){ e.printStackTrace(); }

Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

10

Disusun Oleh Adri Gabriel Sooai.MT. } } // --------- Model 3 Input dari Keyboard -------------public class masukkan{ public static void main(String args[]){ String nama, pekerjaan, umur; BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); try { System.out.print("Masukkan Nama anda : "); nama = reader.readLine(); System.out.print("Masukkan pekerjaan anda : "); pekerjaan = reader.readLine(); System.out.print("Masukkan umur anda : "); umur = reader.readLine(); System.out.print("Nama anda : "+nama+"\n"); System.out.print("Pekerjaan anda : "+pekerjaan+"\n"); System.out.print("Umur anda : "+umur+"\n"); } catch (IOException e){ e.printStackTrace(); } } } // --------- Model 4 Input dari Keyboard -------------import java.io.BufferedReader; import java.io.DataInputStream; import java.io.IOException; import java.io.InputStreamReader; public class angka{ public static void main(String args[]){ System.out.print("Masukkan nama anda : "); DataInputStream dis = new DataInputStream(System.in); String nama; try { nama = dis.readLine(); System.out.print("Nama anda : "+nama+"\n"); } catch (IOException e){ e.printStackTrace(); } BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Masukkan pekerjaan anda : "); try { String pekerjaan = reader.readLine(); System.out.print("Pekerjaan anda : "+pekerjaan+"\n"); } catch (IOException e){ e.printStackTrace(); } } }

Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

11

Disusun Oleh Adri Gabriel Sooai.MT. //------------------ Model 5 memasukkan data dan menghitung -----------import java.io.*; public class Hitung_Rata{ public static void main(String args[]){ float Num1=0, Num2=0, Num3=0, Rata=0; String Nama=""; DataInputStream in = new DataInputStream(System.in); System.out.print("Masukkan Nama Anda : "); try{Nama = in.readLine();} catch (Exception e) {} System.out.print("Masukkan Angka 1 : "); try{Num1 = Integer.parseInt(in.readLine());} catch(Exception e) {} System.out.print("Masukkan Angka 2 : "); try{Num2 = Integer.parseInt(in.readLine());} catch(Exception e) {} System.out.print("Masukkan Angka 3 : "); try{Num3 = Integer.parseInt(in.readLine());} catch(Exception e) {} Rata = (Num1 + Num2 + Num3) / 3; System.out.println("Rata - rata = "+Rata); } }

TUGAS PRAKTIKUM II INPUT DARI KEYBOARD


Tugas praktikum II, dikerjakan di rumah, dan dikumpulkan untuk diperiksa Asisten LAB sebelum masuk praktikum III. TUGAS PRAKTIKUM II HARUS DITULIS TANGAN. 1. Buatlah program seperti contoh latihan Model 5, gunakan BufferedReader 2. Tuliskan sebuah program menggunakan BufferedReader untuk menginput dan menampilkan informasi tentang teman anda, informasi yang harus ditampilkan adalah: Nomor HP, Nama, Alamat, Umur, Hobby, Jenis Kelamin(L/P), Jenis SIM / Surat Ijin Mengemudi (A/B/C)

Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

12

Disusun Oleh Adri Gabriel Sooai.MT.

PERTEMUAN III OPERASI STRING


Pada pertemuan kali ini, anda akan belajar bagaimana melakukan operasi String. Operasi String adalah segala manipulasi yang dapat dilakukan terhadap isi variable bertipe string antara lain, menggabungkan, memotong, mencari sebuah karakter dalam sekumpulan string, mengubah huruf besar ke kecil dan sebaliknya, dan berbagai macam fungsi string lainnya. Perhatikan contoh berikut ini:
import java.io.*; public class satu{ public static void main(String[] args){ String nama = "Informatika"; // 01234567890 System.out.println(nama); System.out.println("01234567890"); System.out.println("Panjang String = "+nama.length()); System.out.println("Left 4 = "+nama.substring(0,4)); System.out.println("Midle 4 = "+nama.substring(4,7)); System.out.println("Right 4 = "+nama.substring(7,11)); System.out.println("Right 4 = "+nama.substring(7,nama.length())); } } /* ----- Hasilnya --------Informatika 01234567890 Panjang String = 11 Left 4 = Info Midle 4 = rma Right 4 = tika Right 4 = tika Press any key to continue... */ dari contoh program diatas, anda dapat melihat bagaiamana sebuah kata Informatika dapat di manipulasi dengan cara dipotong-potong, fungsi untuk memotong string adalah substring. Penggunaannya harus selalu didahului oleh nama variable yang menampung string yang akan dimanipulasi / dioperasi.

TUGAS PENDAHULUAN III OPERASI STRING


Sebelum masuk praktikum III, hendaknya anda membuat terlebih dahulu tugas pendahuluan berikut ini, tanpa tugas pendahuluan ini anda tidak diperkenankan masuk ke LAB Komputer untuk mengikuti Praktikum. TUGAS HARUS DITULIS TANGAN. 1. Tuliskan semua fungsi operasi string yang ada dalam contoh latihan praktikum III

LATIHAN PRAKTIKUM III OPERASI STRING


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

Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

13

Disusun Oleh Adri Gabriel Sooai.MT. byte data[] = new byte[6]; data[0] = 64; data[1] = 65; data[2] = 66; data[3] = 67; data[4] = 68; data[5] = 69; String s1 = "Selamat pagi"; String s2 = new String("Good morning"); String s3 = new String(data); String s4 = new String(data, 2, 3); System.out.println("s1 = " + s1); System.out.println("s2 = " + s2); System.out.println("s3 = " + s3); System.out.println("s4 = " + s4); } } public class StrInsert { public static void main(String[] args) { StringBuffer sbuf = new StringBuffer("ABCDEFGH" ); sbuf.insert(3, "123"); System.out.println("Isi sbuf: "); System.out.println(sbuf.toString()); } } public class StrAppend { public static void main(String[] args) { StringBuffer sbuf = new StringBuffer( "Baris 1\n" ); sbuf.append(true); sbuf.append('\n'); sbuf.append((double) 76.8999999); sbuf.append('\n'); sbuf.append((float) 76.8999999); sbuf.append('\n'); System.out.println("Isi sbuf: "); System.out.println(sbuf.toString()); } } public class StrBuf { public static void main(String[] args) { StringBuffer sbuf = new StringBuffer(25); } System.out.println("Isi: " + sbuf.toString()); System.out.println("Kapasitas: " + sbuf.capacity()); System.out.println("Panjang: " + sbuf.length()); sbuf.append("Selamat "); Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira public class MetodeString { public static void main(String[] args) { String st = " Tes, Tes, tes ... 123 "; System.out.println("toLowerCase: " + st.toLowerCase()); System.out.println("toUpperCase: " + StringTokenizer st = new StringTokenizer(info, "|"); while(st.hasMoreTokens()) System.out.println(st.nextToken()); } sbuf.append("Belajar Java"); System.out.println("Isi: " + sbuf.toString()); System.out.println("Kapasitas: " + sbuf.capacity()); System.out.println("Panjang: " + sbuf.length()); sbuf.setLength(7); System.out.println("Isi: " + sbuf.toString()); System.out.println("Kapasitas: " + sbuf.capacity()); System.out.println("Panjang: " + sbuf.length()); } } import java.util.StringTokenizer; public class PrintToken { public static void main(String[] args) { String puisi = "Anginpun menyapa\nSelamat Pagi\n" + "diwarnai kehangatan sinar mentari"; StringTokenizer st = new StringTokenizer(puisi); while(st.hasMoreTokens()) System.out.println(st.nextToken()); } } import java.util.StringTokenizer; public class PrintToken2 { public static void main(String[] args) { String info = "11245|Ali Mashudi|Akunting|3500000";

14

Disusun Oleh Adri Gabriel Sooai.MT. st.toUpperCase()); System.out.println("tanpa trim: " + '[' + st + ']'); System.out.println("dengan trim: " + '[' + st.trim() + ']'); System.out.println( "Karakter dengan indeks 4: " + st.charAt(4)); System.out.println("Posisi 12 : " + st.indexOf("12")); System.out.println("Jumlah karakter: " + st.length()); System.out.println("substring(2,5): " + st.substring(2,5)); } } public class CompareStr { public static void main(String[] args) { String st = "Yogya"; } } logika = st.equalsIgnoreCase("yogya"); System.out.println(logika); int hasil; boolean logika; System.out.println("compareTo"); hasil = st.compareTo("yogya"); System.out.println(hasil); hasil = st.compareTo("YOGYA"); System.out.println(hasil); hasil = st.compareTo("Yogya"); System.out.println(hasil); System.out.println( "equals dan equalsIgnoreCase"); logika = st.equals("yogya"); System.out.println(logika);

TUGAS PRAKTIKUM III OPERASI STRING


Tugas praktikum III, dikerjakan di rumah, dan dikumpulkan untuk diperiksa Asisten LAB sebelum masuk praktikum IV. TUGAS PRAKTIKUM II HARUS DITULIS TANGAN. 1. Tuliskan sebuah program menggunakan BufferedReader untuk menginput dan menampilkan informasi tentang teman anda, informasi yang harus ditampilkan adalah: Nomor HP, Nama, Alamat, Umur, Hobby, Jenis Kelamin(L/P), Jenis SIM / Surat Ijin Mengemudi (A/B/C), Kemudian ubahlah semua variable yang ada menjadi bertipe string dan potonglah setiap variable string yang ada dalam program itu menjadi dua bagian lalu cetaklah hasil potongannya. 2. Kerjakan dua program dibawah ini, kumpul dalam tulisan tangan
import java.io.*; public class OperasiMat { public static void main(String[] args) { System.out.println("E = " + Math.E); System.out.println("PI = " + Math.PI); System.out.println("ln 20 = " + Math.log(20.0)); System.out.println("ceil(-5.6) = " + Math.ceil(-5.6)); System.out.println("floor(-5.6) = " + Math.floor(-5.6)); System.out.println("round(-5.6) = " + Math.round(-5.6)); Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

15

Disusun Oleh Adri Gabriel Sooai.MT. System.out.println("sqrt(25) = " + Math.sqrt(25)); System.out.println("pow(25, 0.5) = " + Math.pow(25, 0.5)); } } import java.io.*; public class Lintasan { public static void main(String[] args) throws IOException { BufferedReader dataBaris = new BufferedReader( new InputStreamReader(System.in)); System.out.println( "Menghitung jarak jatuh peluru"); System.out.print("Sudut tembakan: "); String st = dataBaris.readLine(); double derajat = Double.valueOf(st).intValue(); double radian = derajat * Math.PI / 180; System.out.print("Sudut tembakan: "); st = dataBaris.readLine(); double kecepatan = Double.valueOf(st).doubleValue(); double jarak = 2 * Math.pow(kecepatan, 2) * Math.sin(radian) * Math.cos(radian) / 9.8; System.out.println("Peluru jatuh pada jarak: " + jarak); } }

Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

16

Disusun Oleh Adri Gabriel Sooai.MT.

PERTEMUAN IV PERCABANGAN IF & CASE


Pada pertemuan kali ini, anda akan belajar bagaimana menggunakan pencabangan IF dan Case dalam pemrograman. Pencabangan berfungsi untuk memisahkan dua atau lebih proses berdasarkan kondisi yang diberikan, misal terdapat sebuah kasus sebagai berikut: Jika hujan, maka siapkan payung Jika tidak hujan, maka siapkan topi Dari pernyataan diatas dapat dituliskan program JAVA sebagai berikut:
import java.io.*; public class pencabangan{ public static void main(String[] args){ String cuaca = ""; BufferedReader baca = new BufferedReader(new InputStreamReader(System.in)); try{ cuaca = baca.readLine(); }catch(Exception e){} if(cuaca.equals("hujan")){ System.out.println("siapkan payung"); }else{ System.out.println("siapkan topi"); } } }

Jika cuaca gerimis, maka siapkan payung Jika cuaca hujan, maka siapkan jas hujan Jika cuaca banjir, maka siapkan sepatu boot Jika cuaca petir, maka jangan keluar rumah Jika tidak semuanya, maka bisa piknik
import java.io.*; public class pencabangan{ public static void main(String[] args){ String cuaca = ""; BufferedReader baca = new BufferedReader(new InputStreamReader(System.in)); try{ cuaca = baca.readLine(); }catch(Exception e){} if(cuaca.equals("gerimis")){ System.out.println("siapkan payung"); }else if(cuaca.equals("hujan")){ System.out.println("siapkan jas hujan"); }else if(cuaca.equals("banjir")){ System.out.println("siapkan perahu"); }else if(cuaca.equals("petir")){ System.out.println("jangan keluar rumah"); }else{ System.out.println("bisa piknik"); Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

17

Disusun Oleh Adri Gabriel Sooai.MT. } } }

untuk kondisi terakhir yaitu jika tidak semuanya, tidak perlu diberi if. Untuk tipe data angka yaitu integer, float atau double maka operator pembanding pada IF menggunakan tanda
> lebih besar < lebih kecil >= lebih besar sama dengan <= lebih kecil dama dengan == sama dengan != tidak sama dengan import java.io.*; public class pencabangan{ public static void main(String[] args){ double nilai = 0.0; BufferedReader baca = new BufferedReader(new InputStreamReader(System.in)); try{ nilai = Double.parseDouble(baca.readLine()); }catch(Exception e){} if(nilai >= 80 ){ System.out.println("A"); }else if(nilai >= 70){ System.out.println("B"); }else if(nilai >= 60){ System.out.println("C"); }else if(nilai >= 50){ System.out.println("D"); }else{ System.out.println("E"); } } }

sedangkan operator logika menggunakan: && || operator AND operator OR

jika cuaca hujan dan suhu dingin, maka mendingan tidur jika tidak, maka bisa pesiar
import java.io.*; public class pencabangan{ public static void main(String[] args){ String cuaca = " "; String suhu = " "; BufferedReader baca = new BufferedReader(new InputStreamReader(System.in)); try{ cuaca = baca.readLine(); suhu = baca.readLine(); }catch(Exception e){} Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

18

Disusun Oleh Adri Gabriel Sooai.MT. if(cuaca.equals("hujan") && (suhu.equals("dingin")) ) { System.out.println("mendingan tidur"); } else { System.out.println("bisa pesiar"); } } }

Pencabangan juga dapat menggunakan Switch Case, setiap pernyataan harus diakhiri dengan kata kunci break, hal ini untuk mengehentikan proses setelah keadaan yang diinginkan ditemukan / tercapai, perhatikan contoh berikut ini :
import java.io.*; public class pencabangan{ public static void main(String[] args){ int hari = 0; BufferedReader baca = new BufferedReader(new InputStreamReader(System.in)); try{ hari = Integer.parseInt(baca.readLine()); }catch(Exception e){} switch(hari){ case 1: { case 2: { case 3: { case 4: { case 5: { case 6: { case 7: { default : { } } }

System.out.println("Minggu"); break; } System.out.println("Senin"); break; } System.out.println("Selasa"); break; } System.out.println("Rabu"); break; } System.out.println("Kamis"); break; } System.out.println("Jumat"); break; } System.out.println("Sabtu"); break; } System.out.println("-----"); break; }

TUGAS PENDAHULUAN IV PENCABANGAN IF & CASE


Sebelum masuk praktikum IV, hendaknya anda membuat terlebih dahulu tugas pendahuluan berikut ini, tanpa tugas pendahuluan ini anda tidak diperkenankan masuk ke LAB Komputer untuk mengikuti Praktikum. TUGAS HARUS DITULIS TANGAN. 1. Apa manfaat pencabangan? 2. Sebutkan macam pencabangan? 3. Berikan sebuah contoh pencabangan yang memiliki kondisi JIKA lebih dari 5 a. (tulis dalam bentuk JIKA .. MAKA ..) b. (tulislah juga programnya dalam JAVA, program tidak boleh mengambil contoh diatas)

Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

19

Disusun Oleh Adri Gabriel Sooai.MT.

4. Berikan sebuah contoh pencabangan menggunakan SWITCH CASE yang memiliki kondisi JIKA sebanyak 5 a. (tulis dalam bentuk JIKA .. MAKA ..) b. (tulislah juga programnya dalam JAVA, program tidak boleh mengambil contoh diatas)

LATIHAN PRAKTIKUM IV PENCABANGAN IF & CASE


class If1{ public static void main(String[] args){ boolean ketemu = true; if(ketemu == true){ // proses System.out.println("nilai variabel ketemu : " + ketemu); } } } class If2{ public static void main(String[] args){ boolean ketemu = false; if(ketemu == true){ // proses System.out.println("(if) nilai variabel ketemu :" + ketemu); } else{ // proses System.out.println("(else) nilai variabel ketemu :" + ketemu); } } } class Ifn{ public static void main(String[] args){ int hari = 5; if(hari == 1){ // proses System.out.println("hari senin"); import javax.swing.*; Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira } } // proses System.out.println ("hari kamis"); } else if(hari == 5){ // proses System.out.println ("hari jumat"); } else if(hari == 6){ // proses System.out.println ("hari sabtu"); } else if(hari == 7){ // proses System.out.println ("hari minggu"); } else{ // proses System.out.println("tidak ada hari ke : " + hari); } } else if(hari == 2){ // proses System.out.println ("hari selasa"); } else if(hari == 3){ // proses System.out.println ("hari rabu"); } else if(hari == 4){

20

Disusun Oleh Adri Gabriel Sooai.MT. public class NomorHP{ public static void main(String[] args){ /* ---------- PENJELASAN OPERASI STRING PADA JAVA ----------* index 012345678901 * +62811234567 * banyak 123456789012 * * +62 -> index 0 banyak 3 maka potong x.substring(0,3) * * 811 -> index 3 banyak 6 maka potong x.substring(3,6) * * index 012345678901 * 0811234567 * banyak 123456789012 * * 811 -> index 1 banyak 4 maka potong x.substring(1,4) * */ int y; String x = JOptionPane.showInputDialog(null,"Masukkan No HP"); String a = "+62"; String b = x.substring(0,3); if (a.equals(b)) { y = Integer.parseInt(x.substring(3,6)); } else { y = Integer.parseInt(x.substring(1,4)); } String z = ""; switch (y) { case 811 : z = "Telkomsel";break; case 812 : z = "Telkomsel";break; case 813 : z = "Telkomsel";break; case 852 : z = "Telkomsel AS";break; case 815 : z = "Indosat Mentari";break; case 816 : z = "Indosat Mentari / Matrix";break; case 856 : z = "Indosat IM3";break; case 857 : z = "Indosat IM3";break; case 817 : z = "XL";break; case 818 : z = "XL";break; case 819 : z = "XL";break; case 878 : z = "XL";break; case 888 : z = "Fren";break; default : z = "Belum diketahui operatornya";break; } JOptionPane.showMessageDialog(null,x,"Nomor Yang dimasukkan",0); JOptionPane.showMessageDialog(null,z,"Operatornya",0); } } import javax.swing.*; public class NomorHP2{ public static void main(String[] args){ Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

21

Disusun Oleh Adri Gabriel Sooai.MT. int y=0; String x = JOptionPane.showInputDialog(null,"Masukkan No HP"); // ---------- diamankan menggunakan try catch exception try{ if (x.substring(0,3).equals("+62")) { y = Integer.parseInt(x.substring(3,6)); } else { y = Integer.parseInt(x.substring(1,4)); } }catch(Exception e) { JOptionPane.showMessageDialog(null,"Teks yang dimasukkan adalah : \n"+x,"Kesalahan ",2); } //----------------------------------------------------String z = ""; switch (y) { case 811 : z = "Telkomsel";break; case 812 : z = "Telkomsel";break; case 813 : z = "Telkomsel";break; case 852 : z = "Telkomsel AS";break; case 815 : z = "Indosat Mentari";break; case 816 : z = "Indosat Mentari / Matrix";break; case 856 : z = "Indosat IM3";break; case 857 : z = "Indosat IM3";break; case 817 : z = "XL";break; case 818 : z = "XL";break; case 819 : z = "XL";break; case 878 : z = "XL";break; case 888 : z = "Fren";break; default : z = "Belum diketahui operatornya";break; } JOptionPane.showMessageDialog(null,x,"Nomor Yang dimasukkan",0); JOptionPane.showMessageDialog(null,z,"Operatornya",0); } }

Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

22

Disusun Oleh Adri Gabriel Sooai.MT.

TUGAS PRAKTIKUM IV PENCABANGAN IF & CASE


1. Berdasarkan contoh diatas, tulislah program JAVA untuk menentukan sebuah kendaraan berasal dari daerah mana dengan cara membaca plat nomor kendaraan tersebut, nomor polisi / plat nomor harus dimasukkan lengkap misal B 123 X, maka hasil harus menampilkan JAKARTA, jika dimasukkan DH 123 VH, maka hasil harus menampilkan KUPANG. Dibawah ini beberapa kota dengan kodenya masing-masing sebagai acuan: B JAKARTA D BANDUNG N MALANG L SURABAYA DH KUPANG EB ENDE ED WAINGAPU S LAMONGAN W SIDOARJO

PERTEMUAN V PENGULANGAN / LOOP


Dalam perograman JAVA terdapat 3(tiga) bentuk pengulangan (a) for (b) do while (c) while. Perintah pengulangan bermanfaat untuk mengerjakan tugas-tugas / perintah yang membutuhkan banyak sekali proses. Misal: dibutuhkan perintah untuk mencetak kata selamat pagi sebanyak 5 kali, maka dengan mudah dapat dituliskan : System.out.println(Selamat Pagi); System.out.println(Selamat Pagi); System.out.println(Selamat Pagi); System.out.println(Selamat Pagi); System.out.println(Selamat Pagi); Tetapi bagaimana jika diminta mencetak kata selamat pagi sebanyak 1000 kali, maka perintah diatas tentu tidak efisien, perintah mencetak Selamat Pagi sebanyak 1000 kali dapat disederhanakan menggunakan perintah pengulangan, sbb: // bentuk pertama menggunakan for
int ulang = 0; String ucapan = Selamat Pagi; for (ulang=0;ulang<=999;ulang++) { System.out.println(ucapan); }

// bentuk kedua menggunakan do..while


int ulang = 0; String ucapan = Selamat Pagi; do{ System.out.println(ucapan); ulang = ulang + 1; Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

23

Disusun Oleh Adri Gabriel Sooai.MT. }while(ulang<=999);

// bentuk ketiga menggunakan while


int ulang = 0; String ucapan = Selamat Pagi; while (ulang<=999) { System.out.println(ucapan); ulang = ulang + 1; } Beberapa model pengulangan dapat anda lihat pada Contoh berikut ini: class For{ public static void main(String[] args) { int fak = 5; int i; int hasil = 1; for(i=2;i<=fak;i++){ hasil = hasil * i; System.out.println("nilai variabel penghitung : " + i); } System.out.println("hasil faktorial : " + hasil); } } class Repeat{ public static void main(String[] args) { // inisialisasi int i = 1; boolean ketemu = false; do{ // proses System.out.println("nilai variabel i : " + i + ", nilai variabel ketemu : " + ketemu); // iterasi i = i + 1; } while((i < 2) && (ketemu != true)); } } class While{ public static void main(String[] args) { // inisialisasi int i = 1; boolean ketemu = false; while((i <= 9) && (ketemu == false)){ // proses System.out.println("nilai variabel i : " + i + ", nilai variabel ketemu : " + ketemu); // iterasi i = i + 1; // kondisi terminasi if((i == 10) && (ketemu == false)){ ketemu = true; } } } }

TUGAS PENDAHULUAN V PENGULANGAN / LOOP


1. Apa kegunaan pengulangan dalam pemrograman komputer 2. Sebutkan beberapa perintah pengulangan yang ada 3. Jika anda memperoleh uang saku sebanyak Rp.150.000,- dalam sebulan, berapakah uang saku anda selama kuliah 8 semester ? buatlah dalam program, badan program harus terdapat input dari keyboard untuk membaca besar uang saku, proses menggunakan pengulangan untuk menghitung total uang saku dan output untuk menampilkan hasil perhitungan.

Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

24

Disusun Oleh Adri Gabriel Sooai.MT.

LATIHAN PRAKTIKUM V PENGULANGAN / LOOP


public class BilanganGenap { public static void main(String[] args) { int bilangan = 0; while (bilangan <= 20) { System.out.println(bilangan); bilangan += 2; // Menaikkan nilai sebesar 2 } } } public class BreakBerlabel { public static void main(String[] args) { int i = 0, j = 0; selesai: while (i < 3) { j = 0; while (j < 5) { if (j == 3) break selesai; } System.out.println("i = " + i + " j = " + j); j++; } i++; } } } System.out.println(bil); public class BreakBersarang { public static void main(String[] args) { int i = 0, j = 0; while (i < 3) { j = 0; while (j < 5) { if (j == 3) break; System.out.println("i = " + i + " j = " + j); j++; } } i++; } } } public class ContinueBerlabel { Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira public class KondisiWhileSalah { public static void main(String[] args) { int bilangan = 40; } } } } public class EksekusiSekali { public static void main(String[] args) { int bilangan = 10; do { System.out.println("Java"); bilangan--; } while (bilangan <= 8); public class EfekBreak { public static void main(String[] args) { int bil; for (bil = 1; bil <= 10 ; bil++) { if (bil == 5) break; public static void main(String[] args) { int i = 0, j = 0; labelWhile: while (i < 5) { System.out.print(i + " : "); j = 0; while (j < 5){ if (i + j == 5) { i++; System.out.println(""); continue labelWhile; } System.out.print(j + " "); j++; } System.out.println(""); i++; } }

25

Disusun Oleh Adri Gabriel Sooai.MT. while (bilangan <= 20) { System.out.println(bilangan); bilangan += 2; // Menaikkan nilai sebesar 2 } } } public class PernyataanContinue { public static void main(String[] args) { int i = 0; while (i < 5) { if (i == 3){ i++; continue; } System.out.println(i); i++; } } } public class PernyataanFor { public static void main(String[] args) { for (int bil = 1; bil < 13; bil++) System.out.println(bil); } } public class PernyataanWhile { public static void main(String[] args) { int jumlah = 1; while (jumlah <= 5) { System.out.println("Java"); jumlah++; // Menaikkan nilai sebesar 1 } } }

Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

26

TUGAS PRAKTIKUM V PENGULANGAN


1. Buatlah program untuk menghitung seluruh biaya yang akan dikeluarkan oleh orang tua anda selama anda kuliah 8 semester di Universitas Katolik Widya Mandira Program Studi Teknik Informatika. Perhatikan petunjuk dibawah ini: a. Input : Nama Anda, Nomor Mahasiswa, Uang Saku, Uang Transport, Uang Pulsa, Uang Foto Copy, Uang Beli Buku Cetak, Uang Beli Buku Catatan dan Alat Tulis, Uang Registrasi, Uang SPP, Uang SKS, Uang Mata Kuliah, Uang Kos, Uang Makan. b. Proses: semua uang yang diteima / dikeluarkan bulanan, harus dihitung untuk 8 semester. Gunakan for atau while atau do while. c. Output: cetak hasilnya ke layar menggunakan System.out.println

Disusun Oleh Adri Gabriel Sooai.MT.

PERTEMUAN VI ARRAY
Array atau Larik atau Matriks, adalah variabel yang berfungsi menampung data dalam jumlah yang banyak, misal dibutuhkan sebuah variabel untuk menampung semua nama hari dalam seminggu maka perintahnya adalah:
String[] NamaHari = {Minggu,Senin,Selasa,Rabu,Kamis,Jumat,Sabtu };

Setiap data yang terdapat dalam variabel array NamaHari memiliki index atau nomor urut, nomor urut nya dimulai dari angka nol [0]
NamaHari[0] NamaHari[1] NamaHari[2] NamaHari[3] NamaHari[4] NamaHari[5] NamaHari[6]

Jadi isi dari Array NamaHari[3] adalah Rabu Perhatikan contoh berikut ini:
public class ContohArray { public static void main(String[] args) { // deklarasi variabel array String[] kota; kota = new String[5]; // Mengisi elemen array kota[0] = "Kupang"; kota[1] = "Larantuka"; kota[2] = "Baa"; kota[3] = "Waingapu"; kota[4] = "Ruteng"; // Menampilkan elemen array System.out.println(kota[0]); System.out.println(kota[1]); System.out.println(kota[2]); System.out.println(kota[3]); System.out.println(kota[4]); } }

bagian pertama pendeklarasian variabel array, bagian kedua mengisi array, bagian ketiga menampilkan isi array ke layar. Array juga dapat diisi melalui input keyboard dan menggunakan pengulangan / looping untuk mengisi dan menampilkannya.
import java.io.*; public class ContohArray4 { public static void main(String[] args) { Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

28

Disusun Oleh Adri Gabriel Sooai.MT. // Deklarasi Variabel Array String[] kota; kota = new String[5]; int i=0; //pencacah untuk pengulangan // Deklarasi variabel input BufferedReader baca = new BufferedReader(new InputStreamReader(System.in)); // Mengisi elemen array try{ for(i=0;i<=4;i++) { System.out.println("Kota ke "+i+" = "); kota[i] = baca.readLine(); } }catch(Exception e){} // Menampilkan elemen array menggunakan Looping for for(i=0;i<=4;i++){ System.out.println(kota[i]); } } } selain tipe data String, tipe data lainnya juga dapat digunakan pada Array. Misal array bertipe integer sebagai berikut: int[] array = {0, 0, 7}; array juga dapat memiliki dimensi, contoh array berdimensi 2 dan 3 dapat anda lihat pada latihan praktikum.

TUGAS PENDAHULUAN VI ARRAY


1. buatlah program untuk memasukkan sepuluh buah bilangan menggunakan array

LATIHAN PRAKTIKUM VI ARRAY


public class ArrayDimensiDua { public static void main(String[] args) { int[][] piksel = new int[5][3]; // Mengisi elemen tertentu piksel[0][1] = 70; piksel[1][1] = 18; piksel[1][2] = 45; piksel[2][1] = 75; piksel[3][1] = 66; piksel[4][0] = 89; // Menampilkan elemen array int i, j; for (i = 0; i < 5; i++){ for (j = 0; j < 3; j++) System.out.print(piksel[i][j] + " "); System.out.println(""); // Pindah baris Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

29

Disusun Oleh Adri Gabriel Sooai.MT. } } } public class ArrayTangga { public static void main(String[] args) { // Mengalokasikan array dimensi dua // yang mengandung 4 baris int[][] sel = new int[4][]; // Mengalokasikan kolom untuk // masing-masing baris int i, j; for (i = 0; i < sel.length; i++) sel[i] = new int[i+1]; // Mengisi masing-masing elemen for (i = 0; i < sel.length; i++) for (j = 0; j < sel[i].length; j++) sel[i][j] = i+j; // Menampilkan isi semua elemen array for (i = 0; i < sel.length; i++) { for (j = 0; j < sel[i].length; j++) System.out.print(sel[i][j] + " "); System.out.println(""); // Pindah baris } } } public class LatihanArray1 { public static void main (String[] args) { int [][] test = {{1, 2}, {2, 3, 4}}; int [][] testJuga = test; System.out.println(testJuga.length); } } public class LatihanArray2 { public static void main(String[] args) { int[] arrayOfInteger; //sangat dianjurkan String arrayOfString[]; //benar namun tidak dianjurkan int[][] matriks2D; //array 2 dimensi String[] array3D[][]; //benar namun tidak dianjurkan arrayOfInteger = new int[10]; /* membuat array dan mengalokasikan memori untuk 10 integer */ arrayOfString = new String[4]; Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

30

Disusun Oleh Adri Gabriel Sooai.MT. /* membuat array dan mengalokasikan memori untuk 4 String */ matriks2D = new int[2][2]; /* membuat array 2 dimensi berukuran 2 x 2 */ array3D = new String[3][][]; /* membuat array 3 dimensi, berukuran 3 x ? x ? */ System.out.println(arrayOfInteger.length); System.out.println(arrayOfString.length); System.out.println(matriks2D.length); System.out.println(array3D.length); } } public class LatihanArray3 { public static void main(String[] args) { String[][][] array3D = {{{"Harso", "Ricto", "Murwoko"}}, {{"James Bond"}, {"Wong Fei Hung"}, {"Pangeran Diponegoro"}}, {{"Hiksma", "Wisnu", "Widiarta"}}}; String[][][] alias = new String[array3D.length][][]; alias[0] = new String[1][];//elemen 1 berisi 1 array of String (A) alias[1] = new String[3][];//elemen 2 berisi 3 array of String (B) alias[2] = new String[1][];//elemen 3 berisi 1 array of String (C) alias[0][0] = new String[3];//elemen 1 dari A berisi 3 String alias[1][0] = new String[1];//elemen 1 dari B berisi 1 String alias[1][1] = new String[1];//elemen 2 dari B berisi 1 String alias[1][2] = new String[1];//elemen 3 dari B berisi 1 String alias[2][0] = new String[3];//elemen 1 dari C berisi 3 String for (int i=0; i<3; i++) { alias[0][0][i] = array3D[0][0][i]; System.out.println(alias[0][0][i]); }//menyalin semua isi array A alias[1][0][0] = array3D[1][0][0];//menyalin isi B pertama alias[1][1][0] = array3D[1][1][0];//menyalin isi B kedua alias[1][2][0] = array3D[1][2][0];//menyalin isi B ketiga System.out.println(alias[1][0][0]); System.out.println(alias[1][1][0]); System.out.println(alias[1][2][0]); for (int i=0; i<3; i++) { alias[2][0][i] = array3D[2][0][i]; System.out.println(alias[2][0][i]); }//menyalin semua isi array C } } Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

31

Disusun Oleh Adri Gabriel Sooai.MT. /* * Mengisi array Integer dan String * oleh : Adri Gabriel Sooai * Rabu 19 September 2007 09:12 AM GMT + 8 */ import java .io.*; public class array { public static void main (String [] args ){ int[] nilai ; String [] nama ; int i = 0; DataInputStream in = new DataInputStream (System .in); nilai = new int[2]; nama = new String [2]; for(i=0;i<=1;i++){ System .out.print ("Nilai ke "+i+" : "); try{nilai [i]= Integer .parseInt (in.readLine ()); }catch (Exception e){} System .out.print ("Nama ke : "); try{nama [i] = in.readLine (); }catch (Exception e){} } for(i=0;i<=1;i++){ System .out.println ("Nama : "+nama [i]+" Nilai : "+nilai [i]); } } }

TUGAS PRAKTIKUM VI ARRAY


1. Gunakan contoh terakhir sebagai panduan untuk membuat tugas praktikum berikut ini, buatlah program untuk mendata 5 orang mahasiswa dengan variabel sebagai berikut : Nomor mahasiswa, Nama, Alamat, Umur, Nomor HP, Hobby, Berat Badan

Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

32

Disusun Oleh Adri Gabriel Sooai.MT.

PERTEMUAN VII FUNGSI & PROCEDURE


Fungsi dan procedure dalam bahasa pemrograman bertujuan untuk mengolompokkan satu atau lebih proses dalam bentuk yang terpisah dari program utama, hal ini bermanfaat untuk memudahkan penelusuran program jika terjadi kesalahan ataupun dibutuhkan pengembangan lebih lanjut. Disamping itu kelompok proses tadi dapat juga dimanfaatkan oleh proses lainnya yang membutuhkan atau dengan kata lain menghemat penulisan source code. Bentuk penulisan fungsi sebagai berikut: [sifat] [tipe] [nama] ([tipe data untuk parameter] [nama parameter/variabel]) { return [variabel pengirim hasil] }
static double cel_fah(double c){ double hasil; hasil = c + 273.15; return hasil;

sifat = static tipe = double nama = cel_fah singkatan dari celcius ke fahrenheit tipe data parameter = double variabel = c variabel pengirim hasil = hasil Sifat fungsi lainnya dapat anda lihat pada buku panduan JAVA pada daftar lampiran. fungsi yang tidak memiliki variabel pengirim hasil disebut dengan procedure, sintaksnya sebagai berikut: [sifat] [nama] () { }
static void hitung(){ double jumlah; int a = 10; double b = 10.15; jumlah = a + b ; System.out.print(jumlah); }

sifat = static void nama = hitung

Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

33

Disusun Oleh Adri Gabriel Sooai.MT.

Dalam latihan anda akan melihat contoh pemanfaatan fungsi untuk menghitung nilai, berbagai perintah dari latihan sebelumnya dimasukkan dalam contoh program ini seperti input, output, pengulangan, pencabangan.

TUGAS PENDAHULUAN VII FUNGSI & PROCEDURE


1. Buatlah program menggunakan fungsi untuk menghitung rumus-rumus berikut ini, tempatkan tiap rumus dalam sebuah fungsi
Luas_Segi_4 = P x L Luas_Kubus= S x S Luas_Segi_3 = x A x T Luas_Trapesium = (A + At) x T Vol_Kotak = P x L x T Vol_Kubus = S x S x S Vol_Prisma_Segi3 = x A x T x P Vol_Trapesium = (A + At) x T x P Kel_Lingkaran = 2 x Pi x R Luas_Lingkaran = Pi x R x R Vol_Tabung = Pi x R x R x P Kel_JajaranGenjang = 2 x (A + B) Luas_JajaranGenjang = A x B Kel_BelahKetupat = 4 x A Luas_ BelahKetupat = A x T Kel_Segi3_sembarang = A + B + C Luas_Segi3_Sembarang = x C x T Kel_Layang2 = A + B + C + D Kel_Segi_6_Beraturan = 6 x A

LATIHAN PRAKTIMUM VII FUNGSI & PROCEDURE


import java.io.*; public class fungsi{ static double cel_fah(double c){ double hasil; hasil = c + 273.15; return hasil; } static double cel_kel(double c){ double hasil; hasil = (9/5 * c)+32; return hasil; } static double cel_rea(double c){ double hasil; hasil = (4/5 * c); return hasil; } Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

34

Disusun Oleh Adri Gabriel Sooai.MT. // program utama public static void main(String[] args){ double cc=0; int pil=0; BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); try{ System.out.print("Derajat : "); cc = Double.parseDouble(in.readLine()); System.out.println("Pilih Konversi 1 Fahrenheit : "); System.out.println("Pilih Konversi 2 Kelvin : "); System.out.println("Pilih Konversi 3 Reamur : "); pil = Integer.parseInt(in.readLine()); }catch(Exception e){ }//end try switch (pil) { case 1: System.out.println(cc + " Derajat C ke F = "+cel_fah(cc)); break; case 2: System.out.println(cc + " Derajat C ke K = "+cel_kel(cc)); break; case 3: System.out.println(cc + " Derajat C ke R = "+cel_rea(cc)); break; default : System.out.println("Salah Pilih"); } }//end main }//end class

/** * Adri Gabriel Sooai,MT * Selasa 14 Oktober 2008 21:44 gmt+8 * Editor : J Creator V3 * Topik Membuat Menu Sederhana menggunakan while */ import java.io.*; public class while_fungsi { public static void main(String[] args) { double n = 0; String lagi ="Y"; while (lagi.equals("Y")) { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); try

Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

35

Disusun Oleh Adri Gabriel Sooai.MT. { System.out.print("Masukkan Nilai : "); n = Double.parseDouble(in.readLine()); } catch (Exception e) { } System.out.println("Hasilnya = " + hitung(n)); try { System.out.print("Lagi ? Y / y : "); lagi = in.readLine().toUpperCase(); } catch (Exception e) { } } } static String hitung(double nn) { String hasil=""; if(nn < 40){hasil = "E"; } else if (nn < 59) { hasil = "D"; } else if (nn < 69) { hasil = "C"; } else if (nn < 79) { hasil = "B"; } else { hasil = "A"; } return hasil; } }

/** * Adri Gabriel Sooai,MT * Selasa 14 Oktober 2008 22:57 gmt+8 * Editor : J Creator V3 * Topik Membuat Menu Sederhana menggunakan do_while */ import java.io.*; public class do_while_fungsi{ public static void main(String[] args){ int n = 0; String lagi ="y"; BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); do{ System.out.println("+--Penjualan Tiket UNWIRA AIRLINES-+"); System.out.println("| Airbus A 320 / B 737-900 ER |"); System.out.println("| 1. Kupang - SoE |"); System.out.println("| 2. Kupang - Atambua |"); System.out.println("| 3. Kupang - Kefa |"); System.out.println("| 0. Mendarat |"); System.out.println("+----------------------------------+"); try { System.out.print("Pilih : "); n = Integer.parseInt(in.readLine()); }catch (Exception e) { } switch (n) { case 1 : System.out.println(satu(n)) ;break;

Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

36

Disusun Oleh Adri Gabriel Sooai.MT. case 2 : System.out.println(dua(n)) ;break; case 3 : System.out.println(tiga(n)) ;break; case 0 : System.out.println(nol(n)) ;break; default : System.out.println(kacau(n));break; } try {

System.out.print("Lagi ? Y / y : "); lagi = in.readLine(); }catch (Exception e) { } }while (lagi.equals("Y") || lagi.equals("y")); }//end main

// ---------- Berbagai fungsi yang akan dipanggil dari switch ... case -----static String satu(int nn) { String hasil=""; hasil = "Anda memilih rute penerbangan "+nn+" singgah di camplong"; return hasil; } static String dua(int nn) { String hasil=""; hasil = "Anda memilih rute penerbangan "+nn+" singgah di lurasik"; return hasil; } static String tiga(int nn) { String hasil=""; hasil = "Anda memilih rute penerbangan "+nn+" sorry gak ada pesawat"; return hasil; } static String nol(int nn) { String hasil=""; hasil = "Anda memilih rute penerbangan "+nn+" mendarat di pulau kera"; return hasil; } static String kacau(int nn) { String hasil=""; hasil = "Anda memilih rute penerbangan "+nn+" bisa baca gak sih?"; return hasil; } }//end class

Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

37

Disusun Oleh Adri Gabriel Sooai.MT.

TUGAS PRAKTIKUM VII FUNGSI & PROCEDURE


1. Buatlah program sederhana untuk menampilkan menu makanan di restoran Pizza Hut, program utama memiliki 7 buah menu yaitu: a. American Faforite, b. Cheese Circle, c. Sosis Circle, d. Tuna Cheese in between, e. Coconut Shower f. Cocolate Shower g. Delicious Macaroni, tiap menu mempunyai harga dan menu bonus, jadi ketika anda memilih menu (c) Sosis Circle maka procedure sosiscirlce akan dipanggil dan menampilkan:
Anda memilih Sosis Circle Harga Rp. 45.000,Bonus Coca Cola 2 Gelas Bonus Roti Garlic

Untuk harga silahkan tentukan sendiri. Untuk bonus gunakan daftar dibawah ini : Bonus: Coca Cola, Sprite, Lemon Juice, Ice Tea, Garlic Bread, Fruit Salad, Roast Sosis, Slice Beef, Croasant Bread, Green Forest Cocolate, Kurang lebih tampilan program sebgai berikut:
Selamat datang di Pizza Hut ------------Menu -------------1. American Faforite, 2. Cheese Circle, 3. Sosis Circle, 4. Tuna Cheese in between, 5. Coconut Shower 6. Cocolate Shower 7. Delicious Macaroni, ---------------------------------Pilihan anda : _ (misal anda memilih 6, maka akan tampil) Anda memilih Cocolate Shower Harga Rp. 65.000,Bonus Green Forest Cocolate Bonus Lemon Juice

Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

38

Disusun Oleh Adri Gabriel Sooai.MT.

PERTEMUAN VIII SORTING & SEARCHING


Misal anda diminta membuat program untuk mencari sebuah angka dari sekumpulan angka yang diberikan, katakanlah mencari angka 7 dari kumpulan angka 1,4,5,9,2,3,8,10,0,7,14,11,16. anda dapat dengan mudah menemukan angka tersebut, tetapi tidak demikian dengan komputer, anda harus membuat program untuk membandingan apakah angka yang anda cari sama dengan angka pertama, kedua, ketiga dan seterusnya. Untuk itu dibutuhkan proses pencabangan dan pengulangan bagi penyelesaian hal di atas. Misal sebuah variabel diberi nama cari, kemudian variabel cari diisi angka 7, langkah selanjutnya adalah masukkan selurh angka kedalam array, lalu anda harus memabandingkan cari dan array pertama, kedua, ketiga dst sampai cari == array yang ke []
import java.io.*; public class cari_angka{ public static void main(String[] args){ int[] angka={1,4,5,9,2,3,8,10,0,7,14,11,16}; int cari = 7; int i = 0; for(i=0;i<=12;i++){ if (cari == angka[i]) { System.out.println("Angka yang dicari pada posisi ke "+i); } } } } sedangkan untuk proses pengurutan dibutuhkan array untuk membandingkan, menukar posisi dan memasukkan hasil pembandingan ke array. Dibawah ini adalah contoh hasil program pengurutan lima buah angka:
index i angka ke i index j 0 5 1 2 3 4 4 3 2 1 i+1 i+2 i+3 i+4

Masukkan angka ke 0 = 5 Masukkan angka ke 1 = 4 Masukkan angka ke 2 = 3 Masukkan angka ke 3 = 2 Masukkan angka ke 4 = 1 Angka yang dimasukkan adalah 5 4 3 2 1, akan diurutkan menjadi 1 2 3 4 5 5 4 3 2 1 Apakah 5 lebih besar dari 4 Jika Ya tukar posisi 4 5 3 2 1 Apakah 4 lebih besar dari 3 Jika Ya tukar posisi 3 5 4 2 1 Apakah 3 lebih besar dari 2 Jika Ya tukar posisi 2 5 4 3 1 Apakah 2 lebih besar dari 1 Jika Ya tukar posisi 1 5 4 3 2 Apakah 5 lebih besar dari 5 Jika Ya tukar posisi 1 5 4 3 2 Apakah 5 lebih besar dari 4 Jika Ya tukar posisi 1 4 5 3 2 Apakah 4 lebih besar dari 3 Jika Ya tukar posisi 1 3 5 4 2 Apakah 3 lebih besar dari 2 Jika Ya tukar posisi 1 2 5 4 3 Apakah 5 lebih besar dari 5 Jika Ya tukar posisi 1 2 5 4 3 Apakah 5 lebih besar dari 4 Jika Ya tukar posisi 1 2 4 5 3 Apakah 4 lebih besar dari 3 Jika Ya tukar posisi 1 2 3 5 4 Apakah 5 lebih besar dari 5 Jika Ya tukar posisi Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

39

Disusun Oleh Adri Gabriel Sooai.MT. 1 2 3 5 4 Apakah 5 lebih besar dari 4 Jika Ya tukar posisi 1 2 3 4 5 hasil yang diinginkan terurut dari kecil ke besar potongan program pengurutannya sbb : for(i=0;i<=3;i++){ for(j=i+1;j<=4;j++){ if(angka[i] > angka[j]){ // proses membandingkan tampung = angka[i]; angka[i] = angka[j]; proses menukar posisi angka[j] = tampung; } } }

TUGAS PENDAHULUAN VIII SORTING & SEARCHING


1. apa saja perintah pemrograman yang digunakan untuk melakukan proses pengurutan 2. apa saja perintah pemrograman yang digunakan untuk proses pencarian 3. sebutkan apa saja data di sekitar anda yang sering diurutkan 4.

LATIHAN PRAKTIKUM VIII SORTING & SEARCHING


/* * DOSEN Adri Gabriel Sooai, MT * Program Mencari Nilai Terbesar & Mengurutkan angka * 25 Oktober 2008 07:46 gmt +8 */ import java.io.*; public class cari{ public static void main(String[] args){ int i=0; //--------------- MENU --------------------BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); do{ try{ System.out.print("Pilih \n 1.Besar Kecil \n 2.Urutkan \n 0.Keluar \n"); i = Integer.parseInt(in.readLine()); }catch(Exception e){} switch (i){ case 1: besar();break; case 2: urut();break; case 0: System.exit(0);break; default : System.out.println("Error");break; } }while(i!=0); } // end main // ------------------- procedure besar kecil -------------------static void besar(){ int i; int besar,kecil; int[] angka; angka = new int[10]; Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

40

Disusun Oleh Adri Gabriel Sooai.MT. BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); //-------- masukkan angka pertama ------------try{ System.out.print("Masukkan angka ke "+0+" = "); angka[0] = Integer.parseInt(in.readLine()); }catch(Exception e) {} besar = angka[0]; kecil = angka[0]; // ------ masukkan angka selanjutnya ---------for(i=1;i<=9;i++){ try{ System.out.print("Masukkan angka ke "+i+" = "); angka[i] = Integer.parseInt(in.readLine()); }catch(Exception e) {} // -------- membandingkan ------------if (besar < angka[i]){besar = angka[i];} if (kecil > angka[i]){kecil = angka[i];} }// end for System.out.println("Angka Terbesar adalah = "+besar); System.out.println("Angka Terkecil adalah = "+kecil); }// end besar // ------------------- procedure pengurutan ------------------static void urut(){ int i,j; int tampung; int[] angka; angka = new int[10]; BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); i = 0; // ----------- masukkan angka --------------do{ try{ System.out.print("Masukkan angka ke "+i+" = "); angka[i] = Integer.parseInt(in.readLine()); }catch(Exception e) {} i++; }while(i<=9);// end do ... while // ------ pengurutan, pilih jika pake while maka for dihilangkan--i = 0; j = 1; while(i<=8){ while(j<=9){ if(angka[i] > angka[j]){ tampung = angka[i]; angka[i] = angka[j]; angka[j] = tampung; } // end if j++; }// end while j j=i+1; i++; }//end while i // ------ pengurutan, pilih jika pake for maka while dihilangkan--/* Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

41

Disusun Oleh Adri Gabriel Sooai.MT. for(i=0;i<=8;i++){ for(j=i+1;j<=9;j++){ if(angka[i] > angka[j]){ tampung = angka[i]; angka[i] = angka[j]; angka[j] = tampung; } } } */ // ------------ cetak hasil pengurutan -----------------------i=0; do{ System.out.print(angka[i]+" "); i++; }while(i<=9); System.out.print("\n"); } // end urut }// end class

TUGAS PRAKTIKUM VIII SORTING & SEARCHING


1. Cari dari berbagai sumber, program dalam bahasa BASIC/VB, PASCAL/Delphi, C, C++ untuk mengurutkan data menggunakan metoda Bubble Sort, QuickSort, Radix Sort, Insertion Sort, dan Searching. 2. Terjemahkanlah program mengurutkan dari berbagai Bahasa Pemrograman BASIC/VB, PASCAL/Delphi, C, C++ ke dalam Bahasa pemrograman JAVA. Semua Tugas Baik, Pendahuluan maupun Tugas Praktikum HARUS DITULIS TANGAN.

Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

42

Disusun Oleh Adri Gabriel Sooai.MT.

UJIAN PRAKTIKUM

Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

43

Disusun Oleh Adri Gabriel Sooai.MT.

DAFTAR PUSTAKA
Abdul Kadir, Dasar Pemrograman JAVA, Penerbit Andi, Jogjakarta, 2003. Irawan, 7 Jam Belajar Interaktif JAVA untuk orang awam, Maxicom, Palembang, 2007. Miftakul-Cuk-Bunafit,Membuat Aplikasi Penjualan dengan JAVA dan MySQL,Elec Media Komputindo, Jakarta, 2008. Salahudin, C++ dan JAVA, Informatika, Bandung, 2007. Suarga,Ph.D,Algoritma Pemrograman,Penerbit Andi, Jagjakarta, 2006. Wisnu Widiarta, dari PASCAL ke JAVA, Informatika, Bandung, 2007.

Yuniar Supandi.Ir, Sistem Informasi Penjualan dengan JAVA, Elex Media Komputindo, Jakarta, 2008.

Panduan Praktikum Algoritma & Pemrograman I Teknik Informatika Universitas Katolik Widya Mandira

44