BAB4 PEMROGRAMAN DASAR TIPE DATA ARR

LABORATORIUM PEMBELAJARAN ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA
BAB
NAMA
NIM
TANGGAL
ASISTEN

: TIPE DATA ARRAY
: PURBANING DHARMA SHANTI HANDOYO
: 165150401111009
: 02/12/2016
: - M. FANDY FAHREZA
- STEFANUS ANUGRAH PRIBADI

A. DEFINISI MASALAH
1. Buatlah program dengan pilihan menu yang terus berulang, dan menu akan
berhenti jika user akan menginputkan huruf “G”. Pilihan menunya adalah :
A. Input Data
B. Lihat Data

C. Average
D. Sum
E. Max
F. Min
G. Exit
Masukkan Pilihan :

2. Buatlah program dengan pilihan menu yang terus berulang, dan menu akan
berhenti jika user akan menginputkan angka selain yang diminta. Program ini
memiliki array 2D untuk menyimpan data Pesawat Terbang.
Kelas
Ekonomi
Bisnis
Eksekutif
Pariwisata

Harga
170000
250000
370000

700000

Potongan
3%
9%
8%
11%

Snack
Tidak Dapat
Dapat
Dapat
Dapat

Pilihan menunya adalah :
1. Melihat Daftar Pesawat
2. Melihat Daftar Pesawat yang mendapat Snack
3. Melihat Daftar Pesawat yang ada Hiburan
4. Memesan Tiket Pesawat
5. Melihat Pesanan Tiket

Masukkan Pilihan :

Hiburan
Tidak Ada
Ada
Tidak Ada
Ada

B. SOURCE CODE
- SOURCE CODE 1
1
2
3
4
5
6
7
8
9
10

11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47

import java.util.Scanner;
public class No1 {

public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String pilihan;
int[] data = new int[100];
int i = 0, jum = 0, sum = 0, jmlh = 0, max = 0;
double ave;
do
{
System.out.println("==============MENU============
==");
System.out.println("A. Input Data");
System.out.println("B. Lihat Data");
System.out.println("C. Average");
System.out.println("D. Sum");
System.out.println("E. Max");
System.out.println("F. Min");
System.out.println("G. Exit");
System.out.print("Masukkan Pilihan\t: ");
pilihan = in.next();
System.out.println("================================");

switch (pilihan) {
case "A":
System.out.println("-----------Input
Data-----------");
System.out.print("Jumlah Data\t\t: ");
jum = in.nextInt();
for (i = 0; i < jum; i++) {
System.out.print("Data indeks ke - " +
i + "\t: ");
data[i] = in.nextInt();
}
System.out.println("--------------------------------");
break;
case "B":
System.out.println("-----------Lihat
Data-----------");
for (i = 0; i < jum; i++) {
System.out.println("Data indeks ke - "
+ i + "\t: " + data[i]);
}

System.out.println("--------------------------------");
break;
case "C":
System.out.println("------------ Average
-----------");
for (i = 0; i < jum; i++) {
jmlh = jmlh + data[i];
}
ave = (double) jmlh / jum;
System.out.printf("%s %.2f", "Average dari
data\t: ", ave);
System.out.println("\n--------------------------------");

48
49
50
51
52
53
54

55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74

75
76
77
78
79
80
81
82
83

84
85

break;
case "D":
System.out.println("-------------SUM---------------");
for (i = 0; i < jum; i++) {
sum = sum + data[i];
}
System.out.println("SUM dari data\t\t: " +

sum);
System.out.println("--------------------------------");
break;
case "E":
System.out.println("-------------MAX---------------");
for (i = 0; i < jum; i++) {
if (data[i] > max) {
max = data[i];
}
}
System.out.println("Nilai Maksimum dari
data: " + max);
System.out.println("--------------------------------");
break;
case "F":
System.out.println("-------------MIN---------------");
int min = data[0];
for (i = 0; i < jum; i++) {
if (min > data[i]) {
min = data[i];
}
}
System.out.println("Nilai Minimum dari data
: " + min);
System.out.println("--------------------------------");
break;
case "G":
System.out.println("------------EXIT---------------");
break;
default:
System.out.println("-------MENU TIDAK
TERSEDIA------"); break;
}
} while ("A".equalsIgnoreCase(pilihan) ||
"B".equalsIgnoreCase(pilihan) || "C".equalsIgnoreCase(pilihan)
|| "D".equalsIgnoreCase(pilihan) ||
"E".equalsIgnoreCase(pilihan) || "F".equalsIgnoreCase(pilihan)
|| "".equalsIgnoreCase(pilihan));
}
}

1
2
3
4
5
6
7
8
9
1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
3
0
3

SOURCE CODE 2

import java.util.Scanner;
public class No2 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int pilihan, id = 0, no = 1, banyak = 1, harga = 0,
diskon, bayar;
String nama = "";
String[][] data
= {
{"Ekonomi\t", "Tidak Ada", "Tidak Ada"},
{"Bisnis\t", "Dapat", "\tAda"},
{"Eksekutif", "Dapat", "\tTidak Ada"},
{"Pariwisata", "Dapat", "\tAda"}
};
int[][] angka
= {
{170000, 3},
{250000, 9},
{370000, 8},
{700000, 11}
};
do {
System.out.println("MENU");
System.out.println("1. Melihat Daftar Pesawat");
System.out.println("2. Melihat Daftar Pesawat yang
mendapat Snack");
System.out.println("3. Melihat Daftar Pesawat yang
ada Hiburan");
System.out.println("4. Memesan Tiket Pesawat");
System.out.println("5. Melihat Pesanan Tiket");
System.out.print("Masukkan Pilihan\t: ");
pilihan = in.nextInt();
System.out.println("");
switch (pilihan) {
case 1:
System.out.println("\t\tDaftar Pesawat");
System.out.println("No.\tPesawat\t\tHarga\tDiskon\tSnack\t\tHibu
ran");
for (int i = 0; i < data.length; i++) {
System.out.println((i + 1) + ".\t" +
data[i][0] + "\t" + angka[i][0] + "\t" + angka[i][1] + "%\t" +
data[i][1] + "\t" + data[i][2]);
}
System.out.println("");break;
case 2:
System.out.println("\tDaftar Pesawat
mendapat Snack");
System.out.println("No.\tPesawat\t\tHarga\tDiskon\tSnack\t\tHibu
ran");
for (int i = 0; i < data.length; i++) {
if ((data[i][1]) == "Dapat") {
System.out.println((i + 1) + ".\t" +
data[i][0] + "\t" + angka[i][0] + "\t" + angka[i][1] + "%\t" +
data[i][1] + "\t" + data[i][2]);
}

1
3
2
3
3
3
4
3
5
3
6
3
7
3
8
3
9
4
0
4
1
4
2
4
3
4
4
4
5
4
6
4
7
4
8
4
9
5
0
5
1
5
2
5
3
5
4
5
5
5
6

}
System.out.println("");break;
case 3:
System.out.println("\tDaftar Pesawat ada

Hiburan");
System.out.println("No.\tPesawat\t\tHarga\tDiskon\tSnack\t\tHibu
ran");
for (int i = 0; i < data.length; i++) {
if ((data[i][2] == "\tAda")) {
System.out.println((i + 1) + ".\t" +
data[i][0] + "\t" + angka[i][0] + "\t" + angka[i][1] + "%\t" +
data[i][1] + "\t" + data[i][2]);
}
}
System.out.println("");break;
case 4:
System.out.println("\t\tPesan Tiket");
System.out.println("\t\tISI DATA");
System.out.print("NAMA\t\t\t:
");in.nextLine();
nama = in.nextLine();
System.out.print("ID (KTP/SIM/PASSPORT)\t:
");
id = in.nextInt();
System.out.print("NO PESAWAT\t\t: ");
no = in.nextInt();
System.out.print("JUMLAH TIKET\t\t: ");
banyak = in.nextInt();
System.out.println("");break;
case 5:
System.out.println("\t\tPesanan Tiket");
System.out.println("Nama\t\t\t: " + nama);
System.out.println("Nomor ID\t\t: " + id);
System.out.println("Pesawat\t\t\t: " +
data[no - 1][0]);
System.out.println("Jumlah Tiket\t\t: " +
banyak + " tiket");
System.out.println("Harga Tiket\t\t: Rp. " +
angka[no - 1][0] * banyak);
System.out.println("Diskon\t\t\t: " +
angka[no - 1][1] + " %");
harga = (banyak * angka[no - 1][0]) ((banyak * angka[no - 1][0]) * angka[no - 1][1] / 100);
System.out.println("Total Bayar\t\t: Rp. " +
harga);
break;
default:
System.out.println("PILIH MENU KEMBALI");
System.out.println(""); break;
}
} while (pilihan > 0 && pilihan != 5);
}
}

5
7
5
8
5
9
6
0
6
1
6
2
6
3
6
4
6
5
6
6
6
7
6
8
6
9
7
0
7
1
7
2
7
3
7
4
7
5
7
6
7
7
7
8
7
9
8
0
8
1
8
2
8

3
8
4
8
5
8
6

C. PEMBAHASAN
Source Code 1 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

Menggunakan import dari package Scanner, untuk menggunakan fungsi scanner
pada program.
Deklarasi dari class dengan nama No1.
Deklarasi dari method/fungsi main, untuk menjalankan program.
Pendeklarasian variabel Scanner dengan nama variabel in.
Pendeklarasian variabel pilihan dengan tipe data String.
Pendeklarasian array berdimensi satu dengan tipe data integer, nama variabel data
dan jumlah elemen samadengan 100.
Pendeklarasian variabel dengan tipe data integer, variabel i dengan inisialisasi awal
0, variabel jum dengan inisialisasi awal 0, variabel sum dengan inisialisasi awal 0,
variabel jmlh dengan inisialisasi awal 0, variabel max dengan inisialisasi awal 0.
Pendeklarasian variabel ave dengan tipe data double.
Pendeklarasian variabel do untuk perulangan.
Menampilkan “==============MENU==============”.
Menampilkan “A. Input Data”.
Menampilkan “B. Lihat Data”.
Menampilkan “C. Average”.
Menampilkan “D. Sum”.
Menampilkan “E. Max”.
Menampilkan “F. Min”.
Menampilkan “G. Exit”.
Menampilkan perintah untuk memasukkan nilai pilihan.
Melakukan proses penyimpanan nilai yang telah dimasukkan ke dalam variabel
pilihan
Menampilkan “================================”.
Pendeklarasian kondisi variabel pilihan untuk case – case selanjutnya.
Pendeklarasian case A bila nilai dari variabel pilihan adalah A.
Menampilkan “-----------Input Data-----------”.
Menampilkan perintah untuk memasukkan nilai jumlah data.
Melakukan proses penyimpanan nilai yang telah dimasukkan ke dalam variabel jum.
Pernyataan for untuk variabel i dengan nilai awal = 0 dengan batas i kurang dari
variabel jum, dan i akan betambah nilai.

27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69

Menampilkan perintah untuk memasukkan Data indeks ke –, lalu menampilkan
variabel i.
Melakukan proses penyimpanan nilai yang telah dimasukkan ke dalam variabel
data[i].
Akhir dari pernyataan for variabel i.
Menampilkan “--------------------------------”.
Pendeklarasian proses pemberhentian case A jika/apabila kondisi sudah terpenuhi.
Pendeklarasian case B bila nilai dari variabel pilihan adalah B.
Menampilkan “-----------Lihat Data-----------”.
Pernyataan for untuk variabel i dengan nilai awal = 0 dengan batas i kurang dari
variabel jum, dan i akan betambah nilai.
Menampilkan Data indeks ke -, lalu menampilkan variabel i dan variabel data[i].
Akhir dari pernyataan for variabel i.
Menampilkan “--------------------------------”.
Pendeklarasian proses pemberhentian case B jika/apabila kondisi sudah terpenuhi.
Pendeklarasian case C bila nilai dari variabel pilihan adalah C.
Menampilkan “------------ Average -----------“.
Pernyataan for untuk variabel i dengan nilai awal = 0 dengan batas i kurang dari
variabel jum, dan i akan betambah nilai.
Melakukan proses perhitungan variabel jmlh + variabel data[i] dan disimpan dalam
variabel jmlh.
Akhir dari pernyataan for variabel i.
Melakukan proses perhitungan variabel jmlh dibagi dengan variabel jum dengan tipe
data double dan disimpan dalam variabel ave.
Menampilkan “Avergae dari data”, lalu menampilkan variabel ave.
Menampilkan “--------------------------------”.
Pendeklarasian proses pemberhentian case C jika/apabila kondisi sudah terpenuhi.
Pendeklarasian case D bila nilai dari variabel pilihan adalah D.
Menampilkan “--------------SUM---------------“.
Pernyataan for untuk variabel i dengan nilai awal = 0 dengan batas i kurang dari
variabel jum, dan i akan betambah nilai.
Melakukan proses perhitungan variabel sum ditambah dengan data[i] dan simpan
dalam variabel sum.
Akhir dari pernyataan for variabel i.
Menampilkan Sum dari data, lalu menampilkan variabel sum.
Menampilkan “--------------------------------”.
Pendeklarasian proses pemberhentian case D jika/apabila kondisi sudah terpenuhi.
Pendeklarasian case E bila nilai dari variabel pilihan adalah E.
Menampilkan “--------------MAX---------------“.
Pernyataan for untuk variabel i dengan nilai awal = 0 dengan batas i kurang dari
variabel jum, dan i akan betambah nilai.
Pengunaan if dengan syarat data[i] lebih dari max.
Variabel max samadengan variabel data[i].
Akhir dari pernyataan if.
Akhir dari pernyataan for variabel i.
Menampilkan Nilai maksimum dari data, lalu menampilkan variabel max.
Menampilkan “--------------------------------”.
Pendeklarasian proses pemberhentian case E jika/apabila kondisi sudah terpenuhi.
Pendeklarasian case F bila nilai dari variabel pilihan adalah F.
Menampilkan “--------------MIN---------------“.
Pendeklarasian variabel min sama dengan variabel data[0] dengan tipe data integer.
Pernyataan for untuk variabel i dengan nilai awal = 0 dengan batas i kurang dari
variabel jum, dan i akan betambah nilai.

70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85

Pengunaan if dengan syarat min lebih besar dari data[i].
Variabel min samadengan variabel data[i].
Akhir dari pernyataan if.
Akhir dari pernyataan for variabel i.
Menampilkan Nilai minimum dari data, lalu menampilkan variabel min.
Menampilkan “--------------------------------”.
Pendeklarasian proses pemberhentian case F jika/apabila kondisi sudah terpenuhi.
Pendeklarasian case G bila nilai dari variabel pilihan adalah G.
Menampilkan -------------EXIT---------------“.
Pendeklarasian proses pemberhentian case “G” jika/apabila kondisi sudah terpenuhi.
Deklarasi case default bila nilai dari variabel pilihan lebih dari pilihan.
Menampilkan "MENU TIDAK TERSEDIA".
Akhir dari kondisi variabel pilihan.
Fungsi While untuk melakukan perulangan.
Akhir dari method/fungsi main.
Akhir dari class No1.

Source Code 2 :
1
2
3
4
5

6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

Menggunakan import dari package Scanner, untuk menggunakan fungsi scanner
pada program.
Deklarasi dari class dengan nama No2.
Deklarasi dari method/fungsi main, untuk menjalankan program.
Pendeklarasian variabel Scanner dengan nama variabel in.
Pendeklarasian variabel dengan tipe data integer, variabel pilihan, variabel id dengan
inisialisasi awal 0, variabel no dengan inisialisasi 1, variabel banyak dengan
inisialisasi 1, variabel harga dengan inisialisasi 0, variabel diskon, dan variabel
bayar.
Pendeklarasian variabel nama dengan tipe data String.
Pendeklarasian array berdimensi dua dengan tipe data String, nama variabel data.
Awal dari penginisialisasi array data
[0][0] = Ekonomi, [0][1] = Tidak Dapat, [0][2] = Tidak Ada
[1][0] = Bisnis, [1][1] = Dapat, [1][2] = Ada
[2][0] = Eksekutif, [2][1] = Dapat, [2][2] = Tidak Ada
[3][0] = Pariwisata, [3][1] = Dapat, [3][2] = Ada
Akhir dari penginisialisasi array data.
Pendeklarasian array berdimensi dua dengan tipe data integer, nama variabel angka.
Awal dari penginisialisasi array angka.
[0][0] = 170000, [0][1] = 3
[1][0] = 250000, [1][1] = 9
[2][0] = 370000, [2][1] = 8
[3][0] = 700000, [3][1] = 11
Akhir dari penginisialisasi array angka.
Pendeklarasian variabel do untuk perulangan.
Menampilkan “MENU”.
Menampilkan “1. Melihat Daftar Pesawat”.
Menampilkan “2. Melihat Daftar Pesawat yang mendapat Snack”.
Menampilkan “3. Melihat Daftar Pesawat yang ada Hiburan”.
Menampilkan “4. Memesan Tiket Pesawat”.
Menampilkan “5. Melihat Pesanan Tiket”.
Menampilkan perintah untuk memasukkan nilai pilihan.
Melakukan proses penyimpanan nilai yang telah dimasukkan ke dalam variabel
pilihan

30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74

Menampilkan baris kosong.
Pendeklarasian kondisi variabel pilihan untuk case – case selanjutnya.
Pendeklarasian case 1 bila nilai dari variabel pilihan adalah 1.
Menampilkan “Daftar Pesawat“.
Menampilkan “No. Pesawat Harga Diskon Snack Hiburan.”
Pernyataan for dengan tipe data integer untuk variabel i dengan nilai awal = 0
dengan batas i kurang dari variabel panjang data, dan i akan betambah nilai.
Menampilkan nilai variabel dari i + 1, data[i][0], angka[i][0], angka[i][1], data[i][1],
data[i][2].
Akhir dari pernyataan for variabel i.
Pendeklarasian proses pemberhentian case 1 jika/apabila kondisi sudah terpenuhi.
Pendeklarasian case 2 bila nilai dari variabel pilihan adalah 2.
Menampilkan “Daftar Pesawat mendapat Snack“.
Menampilkan “No. Pesawat Harga Diskon Snack Hiburan”
Pernyataan for dengan tipe data integer untuk variabel i dengan nilai awal = 0
dengan batas i kurang dari variabel panjang data, dan i akan betambah nilai.
Pengunaan if degan syarat variabel data[i][1] samadengan “Dapat”.
Menampilkan nilai variabel dari Menampilkan nilai variabel dari i + 1, data[i][0],
angka[i][0], angka[i][1], data[i][1], data[i][2].
Akhir dari pernyataan if.
Akhir dari pernyataan for variabel i.
Pendeklarasian proses pemberhentian case 2 jika/apabila kondisi sudah terpenuhi.
Pendeklarasian case 3 bila nilai dari variabel pilihan adalah 3.
Menampilkan “Daftar Pesawat ada Hiburan”.
Menampilkan “No. Pesawat Harga Diskon Snack Hiburan “.
Pernyataan for dengan tipe data integer untuk variabel i dengan nilai awal = 0
dengan batas i kurang dari variabel panjang data, dan i akan betambah nilai.
Pengunaan if degan syarat variabel data[i][2] samadengan “Ada”.
Menampilkan nilai variabel dari Menampilkan nilai variabel dari i + 1, data[i][0],
angka[i][0], angka[i][1], data[i][1], data[i][2].
Akhir dari pernyataan if.
Akhir dari pernyataan for variabel i.
Pendeklarasian proses pemberhentian case 3 jika/apabila kondisi sudah terpenuhi.
Pendeklarasian case 4 bila nilai dari variabel pilihan adalah 4.
Menampilkan “Pesan Tiket”.
Menampilkan “ISI DATA”.
Menampilkan perintah untuk memasukkan nilai nama.
Melakukan proses penyimpanan nilai yang telah dimasukkan ke dalam variabel
nama.
Menampilkan perintah untuk memasukkan nilai ID.
Melakukan proses penyimpanan nilai yang telah dimasukka ke dalam variabel id.
Menampilkan perintah untuk memasukkan nilai no pesawat.
Melakukan proses penyimpanan nilai yang telah dimasukka ke dalam variabel no.
Menampilkan perintah untuk memasukkan nilai jumlah tiket.
Melakukan proses penyimpanan nilai yang telah dimasukka ke dalam variabel
banyak.
Pendeklarasian proses pemberhentian case 4 jika/apabila kondisi sudah terpenuhi.
Pendeklarasian case 5 bila nilai dari variabel pilihan adalah 5.
Menampilkan “Pesanan Tiket”.
Menampilkan “Nama : ” lalu menampilkan variabel nama.
Menampilkan “Nomor ID : ” lalu menampilkan variabel id.
Menampilkan “Pesawat : ” lalu menampilkan variabel data[no-1][0].
Menampilkan “Jumlah Tiket : ” lalu menampilkan variabel banyak dan String “tiket”

75
76
77
78
79
80
81
82
83
84
85
86

Menampilkan “Harga Tiket : ” lalu menampilkan variabel angka[no-1][0] dikali
variabel banyak.
Menampilkan “Diskon : ” lalu menampilkan variabel angka[no-1][1] dan String “%”
Melakukan proses perhitungan variabel harga = (banyak * angka[no-1][0]) ((banyak * angka[no-1][0]) * angka[no-1][1] / 100)
Menampilkan “Total Bayar : Rp. ” lalu menampilkan variabel harga.
Pendeklarasian proses pemberhentian case “5” jika/apabila kondisi sudah terpenuhi.
Deklarasi case default bila nilai dari variabel pilihan lebih dari pilihan.
Menampilkan "PILIH MENU KEMBALI"
Pendeklarasian proses pemberhentian case default jika/apabila kondisi sudah
terpenuhi.
Dan akhir dari kondisi variabel pilihan.
Fungsi While yang diikuti dengan variabel pilihan lebih dari 0 dan pilihan tidak
samadengan 5.
Akhir dari method/fungsi main
Akhir dari class No2.

D. SCREENSHOT PROGRAM
1

2

E. PRAKTIKUM
A. Array1
1. Jalankan kelas Array1 dan benahi jika menemukan kesalahan!
Jawab:

Terjadi kesalahan pada baris ke 5, karena “Uncompilable source code - not a
statement” karena tidak sesuai dengan bentuk umum penulisan perulangan for,
pada bagian StepExpression, pembetulan pada baris 5 yaitu “for (i =
0; i