BAB 4 Pemrograman Dasar TIPE DATA ARRA

LAPORAN PRAKTIKUM PEMROGRAMAN
DASAR
PROGRAM TEKNOLOGI INFORMASI DAN ILMU
KOMPUTER
UNIVERSITAS BRAWIJAYA
BAB
NAMA
NIM

: TIPE DATA ARRAY
: MOH. ARIF ANDRIAN
: 156150600111002

A. DEFINISI MASALAH
1. Buatlah program dengan pilihan menu yang terus berulang, dan menu akan
berhenti jika user akan menginputkan angka “ 7 ”. Pilihan menunya adalah :
1. Input Data
2. Lihat Data
3. Average
4. Sum
5. Max

6. Min
7. Keluar
Masukkan nilai :
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 Kereta Api.
Jenis
Ekonomi
Bisnis
Eksekutif
Pariwisata

Harga
50000
100000
200000
300000

Diskon
2%

5%
7%
10 %

Pilihan menunya adalah :
1. Melihat Daftar Kereta Api
2. Melihat Daftar Kereta Api yang ada AC
3. Melihat Daftar Kereta Api yang ada Colokan
4. Memesan Tiket Kereta Api
5. Melihat Pesanan Tiket
Masukkan nilai :

AC
Tidak Ada
Ada
Ada
Ada

Colokan
Tidak Ada

Tidak Ada
Tidak Ada
Ada

B. SOURCE CODE
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

Tugas Praktikum 4.1
package Praktikum4;
import java.util.Scanner;
public class Tugas1 {
public static void main(String[] args) {
int data[] = new int[0];
int pilihan;

do {
System.out.println("\nMENU ");
System.out.println("1. Input Data");
System.out.println("2. Lihat Data");
System.out.println("3. Average");
System.out.println("4. Sum");
System.out.println("5. Max");
System.out.println("6. Min");
System.out.println("7. Keluar");
System.out.print("Masukkan pilihan : ");
Scanner in = new Scanner(System.in);
pilihan = in.nextInt();
switch (pilihan) {
case 1:
System.out.print("Banyaknya Data : ");
int n = in.nextInt();
data = new int[n];
for (int i = 0; i < n; i++) {
System.out.print("Data ke-" + (i + 1)
+ " : ");

data[i] = in.nextInt();
}
break;
case 2:
LihatData(data);
break;
case 3:
System.out.println(Average(data));
break;
case 4:
System.out.println(Sum(data));
break;
case 5:
System.out.println(Max(data));
break;
case 6:
System.out.println(Min(data));
break;
case 7:
System.out.println("Terima Kasih...");

break;
default:

48

System.out.println("Inputan Anda tidak
sesuai...");

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
86
87
88
89
90
91
92

break;
}
} while (pilihan != 7 && pilihan 0);
}
public static void LihatData(int data[]) {
for (int i = 0; i < data.length; i++) {
System.out.print(data[i] + " ");

}
System.out.println("");
}
public static double Average(int data[]) {
int sum = 0;
for (int i = 0; i < data.length; i++) {
sum += data[i];
}
double average = (double) sum / data.length;
return average;
}
public static int Sum(int data[]) {
int sum = 0;
for (int i = 0; i < data.length; i++) {
sum += data[i];
}
return sum;
}
public static int Max(int data[]) {
int max = data[0];
for (int i = 0; i < data.length; i++) {
if (data[i] > max) {
max = data[i];
}
}
return max;
}
public static int Min(int data[]) {
int min = data[0];
for (int i = 0; i < data.length; i++) {
if (data[i] < min) {
min = data[i];
}
}
return min;
}
}

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

Tugas Praktikum 4.2
package Praktikum4;
import java.util.Scanner;
public class Tugas2 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String[][] kereta = new String[][]{
{"Jenis", "Harga", "Diskon", "AC", "Colokan"},
{"Ekonomi", "50000", "2 %", "Tidak ada", "Tidak
ada"},
{"Bisnis", "100000", "5 %", "Ada", "Tidak ada"},
{"Eksekutif", "200000", "7 %", "Ada", "Tidak
ada"},
{"Pariwisata", "300000", "10 %", "Ada", "Ada"}
};
int harga[] = {50000, 100000, 200000, 300000};
int diskon[] = {2, 5, 7, 10};
int[] tiket = new int[10];
String[] nama = new String[10];
String[] no = new String[10];
int counter = 0;
int total[] = new int[10];
int sumTotal = 0;
for (int i = 0; i == 0;) {
System.out.println("1. Melihat Daftar Kereta
Api");
System.out.println("2. Melihat Daftar Kereta Api
yang Ada AC");
System.out.println("3. Melihat Daftar Kereta Api
yang Ada Colokan");
System.out.println("4. Memesan Tiket Kereta Api");
System.out.println("5. Melihat Pesanan Tiket");
System.out.print("Masukkan nilai: ");
int pilihan = in.nextInt();
System.out.println("");
switch (pilihan) {
case 1:
DataKereta(kereta);
break;
case 2:
KeretaAC(kereta);
break;
case 3:
KeretaColokan(kereta);
break;
case 4:
System.out.println("Daftar Kereta :");
System.out.println("1. Ekonomi");
System.out.println("2. Bisnis");
System.out.println("3. Eksekutif");
System.out.println("4. Pariwisata");

46

System.out.print("Masukkan pilihan tiket:
");

47
48
49
50
51

tiket[counter] = in.nextInt();
in.nextLine();
System.out.print("Masukkan nama: ");
nama[counter] = in.nextLine();
System.out.print("Masukkan nomer
identitas: ");

52
53
54

no[counter] = in.nextLine();
int j = tiket[counter] - 1;
total[counter] = harga[j] - ((harga[j] *
diskon[j]) / 100);

55
56
57
58
59
60

sumTotal += total[counter];
counter++;
System.out.println("");
break;
case 5:
System.out.println("Tiket yang Anda
Pesan : ");

61
62

for (int k = 0; k < counter; k++) {
System.out.println("Tiket ke-" + (k +
1));

63

64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85

System.out.print(kereta[tiket[k]][0] +
" atas nama (" + nama[k] + ") dengan No. identitas (" + no[k]
+ "), \n");
System.out.println("Harga : Rp." +
harga[tiket[k] - 1]);
System.out.println("Diskon : " +
diskon[tiket[k] - 1] + " %");
System.out.println("Harga setelah
diskon : Rp." + total[k]);
}
System.out.println("\nTotal Bayar : Rp." +
sumTotal);
System.out.println("\n");
break;
default:
System.exit(0);
}
}
}
public static void DataKereta(String kereta[][]) {
for (int j = 0; j < 5; j++) {
for (int k = 0; k < 5; k++) {
System.out.printf("%-11s", kereta[j][k]);
}
System.out.println("");
}
System.out.println("");
}
public static void KeretaAC(String kereta[][]) {

86
87
88
89
90
91
92
93
94
95
96
97
98
99
10
0
10
1
10
2
10
3
10
4
10
5
10
6
10
7
10
8
10
9
11
0
11
1

for (int j = 0; j < kereta.length; j++) {
for (int k = 0; k < kereta.length; k++) {
if (j != 1) {
System.out.printf("%-11s", kereta[j][k]);
}
}
if (j != 1) {
System.out.println("");
}
}
System.out.println("");
}
public static void KeretaColokan(String kereta[][]) {
for (int j = 0; j < kereta.length; j++) {
for (int k = 0; k < kereta.length; k++) {
if (j == 0 || j == 4) {
System.out.printf("%-11s", kereta[j][k]);
}
}
if (j == 0 || j == 4) {
System.out.println("");
}
}
System.out.println("");
}
}

C. PEMBAHASAN

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

Tugas Praktikum 4.1
Deklarasi dari package yang bernama Praktikum4.
Melakukan import dari package Scanner, untuk menggunakan fungsi scanner pada
program.
Deklarasi dari class yang bernama Tugas1.
Deklarasi dari method/fungsi main, untuk menjalankan program.
Deklarasi dari variabel array yang bernama data yang diinisialisai dengan nilai awal
pendeklarasian 0.
Deklarasi dari variabel yang bernama pilihan dengan tipe data integer untuk
menjalankan proses iterasi do-while pada program.
Proses perulangan dengan menggunakan fungsi do-while.
Menampilkan “MENU ”
Menampilkan “1. Input Data”
Menampilkan “2. Lihat Data”
Menampilkan “3. Average”
Menampilkan “4. Sum”
Menampilkan “5. Max”
Menampilkan “6. Min”
Menampilkan “7. Keluar”
Deklarasi variabel Scanner dengan nama variabel in.
Menampilkan perintah untuk memasukan nilai ke variabel pilihan berdasarkan opsi
yang telah di berikan di atas.
Melakukan proses penyimpanan nilai yang telah di masukkan ke variabel pilihan.
Memilih tindakan yang akan dijalankan sesuai dengan input yang dimasukkan pada
variabel pilihan.
Menjalankan perintah yang ada pada kondisi 1 apabila nilai dari variabel pilihan
sama dengan 1.
Menampilkan perintah untuk memasukkan nilai banyak data yang disimpan ke
variabel n.
Melakukan proses penyimpanan nilai yang telah di masukkan ke variabel n.
Pembaruan pendeklarasian variabel array data dengan panjang element sesuai
dengan nilai variabel n.
Melakukan peroses perulangan untuk mengisikan nilai-nilai kedalam indeks elemen
array, dimana variabel (i) diincremen dan proses akan berhenti jika variabel
pengubah (i) yang diinisialisakan dengan nilai 0 mencapai kondisi nilai n-1.
Menampilkan perintah untuk memasukan nilai ke indeks array data.
Melakukan proses penyimpanan nilai ke dalam indeks array data sesuai dengan
nomor indeks yag didapat dari proses perulangan.
Akhir dari statement for untuk mengisikan data ke indeks array data.
Menghentikan proses yang terjadi apabila perintah untuk eksekusi telah dilaksanakan
atau batasan dari kondisi pilihan sama dengan 1.
Menjalankan perintah yang ada pada kondisi 2 apabila nilai dari variabel pilihan
sama dengan 2.
Melakukan pemanggilan method LihatData dengan memberikan parameter variabel

31
32
33

34
35
36

37
38
39

40
41
42

43
44
45
46
47
48
49
50

data yang di butuhkan oleh method tersebut untuk menampilka proses/informasi
yang ada pada method LihatData. Informasi data pada masing-masing indeks array
data.
Menghentikan proses yang terjadi apabila perintah untuk eksekusi telah dilaksanakan
atau batasan dari kondisi pilihan sama dengan 2.
Menjalankan perintah yang ada pada kondisi 3 apabila nilai dari variabel pilihan
sama dengan 3.
Melakukan pemanggilan method Average dengan memberikan parameter variabel
data yang di butuhkan oleh method tersebut untuk menampilkan nilai yang
dihasilkan pada proses method Average. Yaitu rata-rata dari penghitungan nilai
indeks element array data.
Menghentikan proses yang terjadi apabila perintah untuk eksekusi telah dilaksanakan
atau batasan dari kondisi pilihan sama dengan 3.
Menjalankan perintah yang ada pada kondisi 4 apabila nilai dari variabel pilihan
sama dengan 4.
Melakukan pemanggilan method Sum dengan memberikan parameter variabel data
yang di butuhkan oleh method tersebut untuk menampilkan nilai yang dihasilkan
pada proses method Sum. Yaitu hasil penjumlahan dari penghitungan nilai indeks
element array data.
Menghentikan proses yang terjadi apabila perintah untuk eksekusi telah dilaksanakan
atau batasan dari kondisi pilihan sama dengan 4.
Menjalankan perintah yang ada pada kondisi 5 apabila nilai dari variabel pilihan
sama dengan 5.
Melakukan pemanggilan method Max dengan memberikan parameter variabel data
yang di butuhkan oleh method tersebut untuk menampilkan nilai yang dihasilkan
pada proses method Max. Yaitu nilai terbesar dari semua indeks element array data.
Menghentikan proses yang terjadi apabila perintah untuk eksekusi telah dilaksanakan
atau batasan dari kondisi pilihan sama dengan 5.
Menjalankan perintah yang ada pada kondisi 6 apabila nilai dari variabel pilihan
sama dengan 6.
Melakukan pemanggilan method Min dengan memberikan parameter variabel data
yang di butuhkan oleh method tersebut untuk menampilkan nilai yang dihasilkan
pada proses method Min. Yaitu nilai terkecil dari semua indeks element array data.
Menghentikan proses yang terjadi apabila perintah untuk eksekusi telah dilaksanakan
atau batasan dari kondisi pilihan sama dengan 6.
Menjalankan perintah yang ada pada kondisi 7 apabila nilai dari variabel pilihan
sama dengan 7.
Menampilkan “ Terima Kasih...”, artinya jika user memilih kondisi ini maka
program akan dihentikan.
Menghentikan proses yang terjadi apabila perintah untuk eksekusi telah dilaksanakan
atau batasan dari kondisi pilihan sama dengan 7.
Jika pilihan yang dimasukkan tidak ada yang memenuhi kriteria dari masing-masing
kondisi maka statement yang berada pada default akan diproses.
Menampilkan “Inputan anda tidak sesuai...”.
Menghentikan proses yang terjadi apabila perintah untuk eksekusi telah dilaksanakan
atau batasan dari kondisi pilihan yang ada tidak memenuhi masing-masing kondisi.

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

Akhir dari statement fungsi switch-case.
Perulangan akan tetap berjalan kondisi pilihan tidak sama dengan 7 dan pilihan
kurang dari sama dengan 7 serta jika pilihan lebih besar dari 0.
Menutup deklarasi methode main.
Deklarasi dari method/fungsi LihatData, untuk mengetahui masing-masing data yang
telah di masukkan pada array.
Melakukan peroses perulangan untuk menampilkan nilai-nilai dalam indeks elemen
array, dimana variabel (i) diincremen dan proses akan berhenti jika variabel
pengubah (i) yang diinisialisakan dengan nilai 0 mencapai kondisi sesuai banyaknya
data array.
Menampilkan nilai yang ada pada indeks array.
Akhir dari statement perulangan.
Menampilkan perintah ganti baris setelah proses looping selesai.
Akhir dari deklarasi method LihatData.
Deklarasi dari method/fungsi Average, untuk mengetahui rata-rata dari data yang
telah di masukkan pada array.
Deklarasi dari variabel sum yang bertipe data integer yang di inisialisasi dengan nilai
awal 0.
Melakukan peroses perulangan untuk menjumlahkan nilai-nilai dalam indeks elemen
array, dimana variabel (i) diincremen dan proses akan berhenti jika variabel
pengubah (i) yang diinisialisakan dengan nilai 0 mencapai kondisi sesuai banyaknya
data array.
Melakukan perhitungan dimana nilai dari variabel sum akan terus diperbarui dan
ditambahkan semua nilai yang ada pada indeks array sampai proses looping
mencapai statement kondisi berhenti.
Akhir dari statement perulangan.
Deklarasi dari variabel average yang nilai inisialisasinya adalah hasil dari
perhitungan variabel sum dibagi jumlah data pada array. Sebelum dihitung variabel
sum dilakukan pengcastingan ke tipe data yang sesuai.
Mengembalikan nilai dari variabel average, dimana nilai ini adalah nilai yang akan
di panggil pada method yang ada pada case ke-3.
Akhir dari pendeklarasian method Average.
Deklarasi dari method/fungsi Sum, untuk mengetahui total penjumlahan dari semua
data yang telah di masukkan pada array.
Deklarasi dari variabel sum yang bertipe data integer yang di inisialisasi dengan nilai
awal 0.
Melakukan peroses perulangan untuk menjumlahkan nilai-nilai dalam indeks elemen
array, dimana variabel (i) diincremen dan proses akan berhenti jika variabel
pengubah (i) yang diinisialisakan dengan nilai 0 mencapai kondisi sesuai banyaknya
data array.
Melakukan perhitungan dimana nilai dari variabel sum akan terus diperbarui dan
ditambahkan semua nilai yang ada pada indeks array sampai proses looping
mencapai statement kondisi berhenti.
Akhir dari statement perulangan.
Mengembalikan nilai dari variabel sum, dimana nilai ini adalah nilai yang akan di
panggil pada method yang ada pada case ke-4.

76

77
78
79
80
81
82
83
84
85

86
87
88
89
90
91
92

1
2
3
4
5
6
7

Akhir dari pendeklarasian method Sum.
Deklarasi dari method/fungsi Max, untuk mengetahui nilai terbesar dari semua data
yang telah di masukkan pada array.
Deklarasi dari variabel max yang bertipe data integer yang di inisialisasi dengan nilai
awal dari indeks ke-0 array.
Melakukan peroses perulangan untuk menjumlahkan nilai-nilai dalam indeks elemen
array, dimana variabel (i) diincremen dan proses akan berhenti jika variabel
pengubah (i) yang diinisialisakan dengan nilai 0 mencapai kondisi sesuai banyaknya
data array.
Melakukan proses pengecekan statemen kondisi jika data pada indeks array lebih
besar dari nilai variabel max,
Maka nilai dari variabel max sama dengan data array pada indeks tersebut.
Akhir dari statement kondisi
Akhir dari statement perulangan.
Mengembalikan nilai dari variabel max, dimana nilai ini adalah nilai yang akan di
panggil pada method yang ada pada case ke-5.
Akhir dari pendeklarasian method Max.
Deklarasi dari method/fungsi Min, untuk mengetahui nilai terkecil dari semua data
yang telah di masukkan pada array.
Deklarasi dari variabel min yang bertipe data integer yang di inisialisasi dengan nilai
awal dari indeks ke-0 array.
Melakukan peroses perulangan untuk menjumlahkan nilai-nilai dalam indeks elemen
array, dimana variabel (i) diincremen dan proses akan berhenti jika variabel
pengubah (i) yang diinisialisakan dengan nilai 0 mencapai kondisi sesuai banyaknya
data array.
Melakukan proses pengecekan statemen kondisi jika data pada indeks array lebih
kecil dari nilai variabel min,
Maka nilai dari variabel min sama dengan data array pada indeks tersebut.
Akhir dari statement kondisi
Akhir dari statement perulangan.
Mengembalikan nilai dari variabel min, dimana nilai ini adalah nilai yang akan di
panggil pada method yang ada pada case ke-6.
Akhir dari pendeklarasian method Min.
Akhir deklarasi class Tugas1.
Tugas Praktikum 4.2
Deklarasi dari package yang bernama Praktikum4.
Melakukan import dari package Scanner, untuk menggunakan fungsi scanner pada
program.
Deklarasi dari class yang bernama Tugas2.
Deklarasi dari method/fungsi main, untuk menjalankan program.
Deklarasi variabel Scanner dengan nama variabel in.
Deklarasi dari variabel array yang bernama kereta bertipe data String.
Inisalisasi dari variabel array kereta yang diisikan secara langsung pada saat
pendeklarasian variabel. Yang berisikan data kereta yaitu : jenis, harga, diskon, AC
dan colokan.

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

Pengisian data pada array kereta.
Pengisian data pada array kereta.
Pengisian data pada array kereta.
Pengisian data pada array kereta.
Akhir dari inisialisasi data pada array kereta.
Deklarasi dari variabel array yang bertipe integer yang bernama harga yang di
inisialisasi langsung dengan beberapa nilai yang disimpan pada masing-masing
indeks array.
Deklarasi dari variabel array yang bertipe integer yang bernama diskon yang di
inisialisasi langsung dengan beberapa nilai yang disimpan pada masing-masing
indeks array.
Deklarasi dari variabel array yang bertipe integer yang bernama tiket yang
didefinisikan panjangnya sama dengan 10.
Deklarasi dari variabel array yang bertipe String yang bernama nama yang
didefinisikan panjangnya sama dengan 10.
Deklarasi dari variabel array yang bertipe String yang bernama no yang didefinisikan
panjangnya sama dengan 10.
Deklarasi variabel dengan nama counter yang diinisilisasi dengan nilai awal 0.
Deklarasi dari variabel array yang bertipe integer yang bernama total yang
didefinisikan panjangnya sama dengan 10.
Deklarasi variabel dengan nama sumTotal yang diinisilisasi dengan nilai awal 0.
Melakukan peroses perulangan agar program tetap terus berjalan. Dimana nilai dari
variabel i di biarkan tetap.
Menampilkan “1. Melihat Daftar Kereta Api”
Menampilkan “2. Melihat Daftar Kereta Api yang ada AC”
Menampilkan “3. Melihat Daftar Kereta Api yang ada Colikan”
Menampilkan “4. Memesan Tiket Kereta Api”
Menampilkan “5. Melihat Pesanan Tiket”
Menampilkan perintah untuk memasukan nilai ke variabel pilihan berdasarkan opsi
yang telah di berikan di atas.
Melakukan proses penyimpanan nilai yang telah di masukkan ke variabel pilihan.
Melakukan perintah ganti baris.
Memilih tindakan yang akan dijalankan sesuai dengan input yang dimasukkan pada
variabel pilihan.
Menjalankan perintah yang ada pada kondisi 1 apabila nilai dari variabel pilihan
sama dengan 1.
Melakukan pemanggilan method DataKereta dengan memberikan parameter variabel
kereta yang dibutuhkan oleh method tersebut untuk menampilka proses/informasi
yang ada pada method DataKereta. Informasi yang di tampilkan adalah list dari data
kereta yang telah dimasukkan pada variabel array kereta.
Menghentikan proses yang terjadi apabila perintah untuk eksekusi telah dilaksanakan
atau batasan dari kondisi pilihan sama dengan 1.
Menjalankan perintah yang ada pada kondisi 2 apabila nilai dari variabel pilihan
sama dengan 2.
Melakukan pemanggilan method KeretaAC dengan memberikan parameter variabel
kereta yang dibutuhkan oleh method tersebut untuk menampilka proses/informasi

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

yang ada pada method KeretaAC. Informasi yang di tampilkan adalah list dari data
kereta yang ACnya.
Menghentikan proses yang terjadi apabila perintah untuk eksekusi telah dilaksanakan
atau batasan dari kondisi pilihan sama dengan 2.
Menjalankan perintah yang ada pada kondisi 3 apabila nilai dari variabel pilihan
sama dengan 3.
Melakukan pemanggilan method KeretaAC dengan memberikan parameter variabel
kereta yang dibutuhkan oleh method tersebut untuk menampilka proses/informasi
yang ada pada method KeretaAC. Informasi yang di tampilkan adalah list dari data
kereta yang Colokannya.
Menghentikan proses yang terjadi apabila perintah untuk eksekusi telah dilaksanakan
atau batasan dari kondisi pilihan sama dengan 3.
Menjalankan perintah yang ada pada kondisi 4 apabila nilai dari variabel pilihan
sama dengan 4.
Menampilkan “Daftar Tiket :”
Menampilkan “1. Ekonomi”
Menampilkan “2. Bisnis”
Menampilkan “3. Eksekutif”
Menampilkan “4. Pariwisata”
Menampilkan perintah untuk memasukan nilai ke variabel array tiket berdasarkan
opsi yang telah di berikan di atas.
Melakukan proses penyimpanan nilai yang telah di masukkan ke variabel array tiket
sesuai indeks yang mengikuti variabel pengubah counter.
Memisah setiap setelah pengisian nilai pada dat array/
Menampilkan perintah untuk memasukan nilai ke variabel array nama.
Melakukan proses penyimpanan nilai yang telah di masukkan ke variabel array nama
sesuai indeks yang mengikuti variabel pengubah counter.
Menampilkan perintah untuk memasukan nilai ke variabel array no.
Melakukan proses penyimpanan nilai yang telah di masukkan ke variabel array no
sesuai indeks yang mengikuti variabel pengubah counter.
Deklarasi variabel j bertipe integer yang inisialisasinya adalah data pada array tiket
dikurangi satu.
Inisialisasi dari variabel array total(per kereta) dimana harga awal tiket dikurangi
diskon sesuai dengan daftar dari masing-masing kereta.
Inisialisasi dari variabel sumTotal dimana nilainya adalah total dari pembelian tiket.
Melakukan incremet pada variabel counnter.
Menampilkan perintah ganti baris.
Menghentikan proses yang terjadi apabila perintah untuk eksekusi telah dilaksanakan
atau batasan dari kondisi pilihan sama dengan 4.
Menjalankan perintah yang ada pada kondisi 5 apabila nilai dari variabel pilihan
sama dengan 5.
Menampilkan “Tiket yang Anda Pesan : “
Melakukan peroses perulangan untuk menampilkan data-data yang ada dalam indeks
elemen array, dimana variabel (k) diincremen dan proses akan berhenti jika variabel
pengubah (k) yang diinisialisakan dengan nilai 0 akan berhenti jika mencapai kondisi
melebihi nilai variabel counter.

62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77

78

79
80
81
82
83
84
85
86

87

88
89
90
91

Menampilkan tiket pesanan ke-1 dst.
Menampilkan keterangan tiket yang dipesan dengan atas nama dan nomor identitas
sesuai data yang telah dimasukkan.
Menampilkan harga dari tiket kerata api yang telah di pesan.
Menampilkan jumlah diskon dari tiket yang di pesan.
Menampilkan harga setelah didiskon tiket kereta.
Akhir dari statement perulangan.
Menampilkan total yang harus dibayar dari keseluruan pembelian tiket.
Menampilkan perintah ganti baris.
Menghentikan proses yang terjadi apabila perintah untuk eksekusi telah dilaksanakan
atau batasan dari kondisi pilihan sama dengan 5.
Jika pilihan yang dimasukkan tidak ada yang memenuhi kriteria dari masing-masing
kondisi maka statement yang berada pada default akan diproses.
Fungsi untuk menghentikan atau keluar dari program.
Akhir dari statement fungsi switch-case.
Akhir dari statement perulangan.
Akhir dari deklarasi method main.
Deklarasi dari method/fungsi DataKereta, untuk mengetahui daftrar masing-masing
kereta dari data yang telah di masukkan pada array.
Melakukan peroses perulangan untuk menampilkan data-data dalam indeks elemen
array, dimana variabel (j) diincremen dan proses akan berhenti jika variabel
pengubah (j) yang diinisialisakan dengan nilai 0 perulangan akan berhenti jika (j)
melebihi 5.
Cabang dari perulangan pertama, Melakukan peroses perulangan untuk
menampilkan data-data dalam indeks elemen array, dimana variabel (k) diincremen
dan proses akan berhenti jika variabel pengubah (k) yang diinisialisakan dengan nilai
0 perulangan akan berhenti jika (k) melebihi 5.
Menampilkan data dari element array kereta.
Akhir dari perulang cabang.
Menampilkan perintah ganti baris, statement perulangan (j).
Akhir dari perulanhan (j).
Menampilkan ganti baris.
Akhir dari deklarasi method DataKereta.
Deklarasi dari method/fungsi KeretaAC, untuk mengetahui daftrar masing-masing
kereta yang ada AC dari data yang telah di masukkan pada array.
Melakukan peroses perulangan untuk menampilkan data-data dalam indeks elemen
array, dimana variabel (j) diincremen dan proses akan berhenti jika variabel
pengubah (j) yang diinisialisakan dengan nilai 0 perulangan akan berhenti jika (j)
melebihi banyak data pada data array kereta.
Cabang dari perulangan pertama, Melakukan peroses perulangan untuk
menampilkan data-data dalam indeks elemen array, dimana variabel (k) diincremen
dan proses akan berhenti jika variabel pengubah (k) yang diinisialisakan dengan nilai
0 perulangan akan berhenti jika (k) melebihi banyak data pada data array kereta.
Seleksi kondisi jika j negasi satu,
Maka akan menampilkan data pada indeks array selain indeks 1.
Akhir dari statement kondisi.

92
93
94
95
96
97
98
99

100

101
102
103
104
105
106
107
108
109
110
111

Akhir dari looping nested(k).
Seleksi kondisi jika j negasi satu,
Maka menampilkan ganti baris.
Akhir dari statemen kondisi.
Akhir dari perulangan (j).
Menampilkan ganti baris.
Akhir dari deklarasi method KeretaAC.
Deklarasi dari method/fungsi KeretaColokan, untuk mengetahui daftrar masingmasing kereta yang ada Colokan dari data yang telah di masukkan pada array.
Melakukan peroses perulangan untuk menampilkan data-data dalam indeks elemen
array, dimana variabel (j) diincremen dan proses akan berhenti jika variabel
pengubah (j) yang diinisialisakan dengan nilai 0 perulangan akan berhenti jika (j)
melebihi banyak data pada data array kereta.
Cabang dari perulangan pertama, Melakukan peroses perulangan untuk
menampilkan data-data dalam indeks elemen array, dimana variabel (k) diincremen
dan proses akan berhenti jika variabel pengubah (k) yang diinisialisakan dengan nilai
0 perulangan akan berhenti jika (k) melebihi banyak data pada data array kereta.
Statemen Seleksi kondisi jika j = 0 atau 4,
Maka menampilkan akan menampilkan data dari indeks array selain 1 dan 4.
Akhir dari statement kondisi.
Akhir dari perulangan (k).
Statemen Seleksi kondisi jika j = 0 atau 4,
Maka menampilkan ganti baris.
Akhir dari statement kondisi.
Akhir dari perulangan (j).
Menampilkan ganti baris.
Akhir dari deklarasi method KeretaColokan.
Akhir deklarasi class Tugas2.

D. SCREENSHOT PROGRAM
Tugas Praktikum 4.1

Tugas Praktikum 4.2

E. PRAKTIKUM
Data dan Analisis hasil percobaan :
A. Array1
1. Jalankan kelas Array1 dan benahi jika menemukan kesalahan!
Jawaban :
Ada kesalahan pada deklarasi class (Array 1) dimana penamaan kelas
seharusnya tidak boleh menggunakan spasi (Array1). Dan juga ada kesalahan
saat pendeklarasian interasi untuk fungsi incremen seharusnya menggunakan
tanda plus ganda(i++).
2. Pada baris ketiga, hapus angka ‘10’ kemudian amati apa yang terjadi dan
jelaskan!
Jawaban :
Maka program akan error karna pada dasarnya Array dalam pendeklarasianya
harus ada inisialisasi jumlah elementnya.
Sintaks pendeklarasian Array :
Tipe_Data[] Nama_Array=new Tipe_Data[Jumlah_Elemen];
3. Pada baris 5, kode tersebut diubah menjadi for(i=2;i