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.


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

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

nama

Latih
5.
simpan
OepratorPenambahan.java

nama

dengan

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;

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

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 {

Panduan Praktikum Algoritma & Pemrograman I


Teknik Informatika Universitas Katolik Widya Mandira

public static void main(String[] args) {

13

Disusun Oleh Adri Gabriel Sooai.MT.


sbuf.append("Belajar Java");

byte data[] = new byte[6];


data[0] = 64;
data[1] = 65;
data[2] = 66;
data[3] = 67;
data[4] = 68;
data[5] = 69;

System.out.println("Isi: " +
sbuf.toString());
System.out.println("Kapasitas: " +
sbuf.capacity());
System.out.println("Panjang: " +
sbuf.length());

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

sbuf.setLength(7);
System.out.println("Isi: " +
sbuf.toString());
System.out.println("Kapasitas: " +
sbuf.capacity());
System.out.println("Panjang: " +
sbuf.length());

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

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

sbuf.append((double) 76.8999999);
sbuf.append('\n');

}
import java.util.StringTokenizer;

sbuf.append((float) 76.8999999);
sbuf.append('\n');
System.out.println("Isi sbuf: ");
System.out.println(sbuf.toString());

public class PrintToken2 {


public static void main(String[] args) {
String info =
"11245|Ali Mashudi|Akunting|3500000";

}
StringTokenizer st =
new StringTokenizer(info, "|");
while(st.hasMoreTokens())
System.out.println(st.nextToken());

}
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: " +

14

Disusun Oleh Adri Gabriel Sooai.MT.


st.toUpperCase());
System.out.println("tanpa trim: " +
'[' + st + ']');
System.out.println("dengan trim: " +
'[' +
st.trim() +
']');

int hasil;
boolean logika;

System.out.println(
"Karakter dengan indeks 4: " +
st.charAt(4));

hasil = st.compareTo("YOGYA");
System.out.println(hasil);

System.out.println("compareTo");
hasil = st.compareTo("yogya");
System.out.println(hasil);

hasil = st.compareTo("Yogya");
System.out.println(hasil);

System.out.println("Posisi 12 : " +
st.indexOf("12"));
System.out.println("Jumlah karakter: " +
st.length());

System.out.println(
"equals dan equalsIgnoreCase");
logika = st.equals("yogya");
System.out.println(logika);

System.out.println("substring(2,5): " +
st.substring(2,5));
}

logika = st.equalsIgnoreCase("yogya");
System.out.println(logika);

}
public class CompareStr {
public static void main(String[] args) {
String st = "Yogya";

}
}

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{
}
else if(hari == 2){

public static void main(String[] args){


boolean ketemu = true;
if(ketemu == true){

// proses
System.out.println ("hari selasa");
}
else if(hari == 3){

// proses
System.out.println("nilai variabel ketemu : " +
ketemu);

// proses
System.out.println ("hari rabu");

}
}
}

}
else if(hari == 4){

class If2{
// proses
System.out.println ("hari kamis");

public static void main(String[] args){


boolean ketemu = false;
if(ketemu == true){

}
else if(hari == 5){

// proses
System.out.println("(if) nilai variabel ketemu :" +
ketemu);

// proses
System.out.println ("hari jumat");
}
else if(hari == 6){

}
else{

// proses
System.out.println ("hari sabtu");

// proses
System.out.println("(else) nilai variabel ketemu :"
+ ketemu);

}
else if(hari == 7){

}
}
}

// proses
System.out.println ("hari minggu");
}
else{

class Ifn{
public static void main(String[] args){
int hari = 5;

// proses
System.out.println("tidak ada hari ke : " + hari);
}

if(hari == 1){
// proses
System.out.println("hari senin");

}
}

import javax.swing.*;
Panduan Praktikum Algoritma & Pemrograman I
Teknik Informatika Universitas Katolik Widya Mandira

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;

i = i + 1;
} while((i < 2) && (ketemu != true));
}
}
class While{

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

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

// iterasi

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 static void main(String[] args) {
int i = 0, j = 0;

public class BilanganGenap {


public static void main(String[] args) {
int bilangan = 0;

labelWhile:
while (i < 5) {
System.out.print(i + " : ");
j = 0;
while (j < 5){
if (i + j == 5) {
i++;
System.out.println("");
continue labelWhile;
}

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;

System.out.print(j + " ");


j++;
}

selesai:
while (i < 3) {
j = 0;
while (j < 5) {
if (j == 3)
break selesai;

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

System.out.println("i = " + i +
" j = " + j);
j++;
}

public class EfekBreak {


public static void main(String[] args) {
int bil;
for (bil = 1; bil <= 10 ; bil++) {
if (bil == 5)
break;

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;

}
}
}
public class EksekusiSekali {
public static void main(String[] args) {
int bilangan = 10;
do {
System.out.println("Java");

System.out.println("i = " + i +
" j = " + j);
j++;

bilangan--;
} while (bilangan <= 8);

}
}
i++;

}
}
}

public class KondisiWhileSalah {


public static void main(String[] args) {
int bilangan = 40;

public class ContinueBerlabel {


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

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

Anda mungkin juga menyukai