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
|
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
|
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 :
B. SOURCE CODE
|
Tugas Praktikum 4.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
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
86
87
88
89
90
91
92
|
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:
System.out.println("Inputan Anda tidak sesuai...");
break;
}
} while (pilihan != 7 &&
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;
}
}
|
|
Tugas Praktikum 4.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
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
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");
System.out.print("Masukkan
pilihan tiket: ");
tiket[counter] =
in.nextInt();
in.nextLine();
System.out.print("Masukkan nama: ");
nama[counter] =
in.nextLine();
System.out.print("Masukkan nomer identitas: ");
no[counter] = in.nextLine();
int j = tiket[counter] -
1;
total[counter] = harga[j]
- ((harga[j] * diskon[j]) / 100);
sumTotal +=
total[counter];
counter++;
System.out.println("");
break;
case 5:
System.out.println("Tiket yang Anda Pesan : ");
for (int k = 0; k <
counter; k++) {
System.out.println("Tiket ke-" + (k + 1));
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[][]) {
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
|
Tugas Praktikum 4.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
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
86
87
88
89
90
91
92
|
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 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.
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.
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
|
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
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
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.
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 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.
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.
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 masing-masing
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<=8;i++) kemudian
amati apa yang terjadi dan jelaskan!
Jawaban :
Maka pada index element ke-0,ke-1 dan ke-9 akan bernilai
0 karna tidak masuk statement pada proses iterasi(looping) program yang gunanya
untuk menginisialisasi value dari index array.
4.
Pada baris 5 – 7, jelaskan arti dari kode tersebut dan
bila kode tersebut diubah menjadi bil[i]=1+(Math.random()*100); kemudian
amati apa yang terjadi dan jelaskan!
Jawaban :
Maka pada saat program dijalakan akan menampilkan error “incompatible types:
possible lossy conversion from double to int”. Karena Math.random adalah bertipe data double
untuk menjumlahkanya haruslah dilakukan pengcastingan variabel. Dengan
menambahkan (int) pada baris program.
5.
Pada baris 8, kode tersebut diubah menjadi for(i=0;i<=10;i++) kemudian
amati apa yang terjadi dan jelaskan!
Jawaban :
Maka akan terdapat pemberitahuan error pada saat program
dijalankan “ArrayIndexOutOfBoundsException”
ini artinya index pada array melebihi dari batas dari awal pendeklarasian.
B.
Array2
1.
Jalankan kelas Array2 dan benahi jika menemukan kesalahan!
Jawaban :
Ada kesalahan pendeklarasian variabel i dan j tidak ada
dan seharusnya tidak usah melakukan instansiasi fungsi Scanner karna pada
progam tidak ditunjukan adanya permintaan program meminta inputan dari user.
2.
Pada baris 5, syntax “int[][] coba” diganti “int coba[][]” amati yang
terjadi dan jelaskan!
Jawaban :
Maka tidak akan terjadi apa-apa ataupun pesan error dari
program, karna pada dasarnya pendeklarasian array dapat dilekukan dengan banyak
cara salah satunya adalah yang dicontohkan pada soal.
3.
Pada baris 6, syntax “double[][] bank” diganti “float bank[]” dan amati apa
yang terjadi, jelaskan!
Jawaban :
Maka program akan error karna pendeklarasian array tidak
kompatibel dengan inisialisasi array, pada pendeklarasian terlihat adalh array
1D sedangkan pada inisialisasinya di isi dengan array 2D.
4.
Tambahkan variabel dengan nama nilaiRata2 yang bertipe
data double dan diberi nilai awal 0 kemudian carilah nilai rata – rata dari
array coba dan dicetak di akhir program!
Jawaban :
5.
Tambahkan variabel dengan nama nilaiMax dan nilaiMin yang
bertipe data double kemudian lakukan pencarian nilai minimal dan maksimal dari
array bank lalu cetaklah di akhir program!
Jawaban :
C.
Array3
1.
Jalankan kelas Array3 dan benahi jika menemukan kesalahan!
Jawaban :
Tidak ada kesalahan.
2.
Jelaskan maksud dari statement baris ke-7!
Jawaban :
int c[] = new int[pjg];
maksud dari statemen berikut adalah pendeklarasian array
1D dengan inisialisasi panjang index sesuai dengan value dari variabel pjg.
3.
Jelaskan perbedaan indeks array dan panjang array!
Berikan contoh di kelas Array3.
Jawaban :
Indeks array adalah sama halnya dengan variabel untuk
menyimpan nilai yang diidentitaskan dengan angka yang dimulai dari 0.
Contoh :
0, 1, dan 2 adalah indeks array.
Sedangkan panjang array adalah definisi banyak indeks
yang dapat di muat dalam array tersebut.
Contoh :
5 adalah panjang array.
4.
Tambahkan variabel dengan nama jumlahGenap dan
jumlahGanjil yang bertipe data integer kemudian lakukan penambahan untuk
bilangan genap dan ganjil!
Jawaban :
F. KESIMPULAN
Array adalah suatu variabel yang
terdiri dari sekumpulan data dimana data-data tersebut mempunyai tipe data yang
sama. Setiap data disimpan dalam alamat memori yang berbeda-beda dan disebut
dengan elemen array. Setiap elemen mempunyai nilai indek sesuai dengan
urutannya. Melalui indek inilah kita dapat mengakses data-data tersebut. Indek
dari elemen array ini, dimulai dari 0 bukan 1.
Tipe_Data[] Nama_Array =
new Tipe_Data [Jumlah_Elemen];
Dalam bahasa Java pendeklarasian
array lebih variarif. Selain dengan kode seperti di atas, Java juga dapat
mendeklarasikan array dalam bentuk :
int[ ] a;
Kemudian setelah mendeklarasikan array, baik dengan kode
yang pertama maupun yang kedua, Java harus menciptakan (membuat) objek terlebih
dahulu sebelum array dapat digunakan karena dalam Java array merupakan sebuah
Class. Cara menciptakan objek array dalam Java adalah :
a = new int[10];
Dalam Java pendeklarasian array dan pembuatan objek array
dapat dilakukan dalam satu sintak, yaitu :
int[ ] a = new int[10]; atau
int a[ ] =
new int[10];
Inisialisasi array adalah pemberian nilai default pada
array. Pemberian nilai default ini dilakukan pada saat array dideklarasikan.
Bentuk umum dari inisialisasi array ini adalah sebagai berikut :
tipe_data nama_array[jumlah_elemen] =
{nilai1,nilai2,…,nilaiN};
Nilai didalam kurung kurawal disebut dengan
Initialization List.
Contoh :
int a[10] = { 0, 3, 6, 9, 12, 15, 18, 21,
24, 27 };
Untuk mengakses elemen array, misalnya elemen ke-10 dari
array dan kemudian menampung nilainya dalam sebuah variabel x, maka sintaknya
adalah :
x = a[9];
Untuk memasukkan data ke dalam array, sintak yang
digunakan adalah :
a[nomor_elemen] = data;
a[0] = 5;
a[1] = 6;
a[2] = 7;
dan seterusnya.
Agar lebih efisien dan efektif, maka pemasukan data dalam
array dapat menggunakan perulangan seperti berikut ini :
for (i=0; i<jumlah_data; i++) {
System.out.print(“a[“ + i + “] = “);
int
data=input.nextInt();
a[i] = data;
}
Kegunaan array 1 dimensi adalah
sebuah variabel yang menyimpan sekumpulan data yang memiliki tipe sama dan
elemen yang diakses hanya melalui 1 indeks atau subskrip. Sedangkan keguanaan
Array 2 dimensi adalah suatu array yang mempunyai lebih dari satu subskrip.
Array 2 dimensi ini aplikasinya antara lain untuk matrik.
Bentuk umum array 1 dimensi :
tipe_data nama_var[jml_elemen];
Bentuk umum array 2 dimensi :
tipe_data nama_var[baris][kolom];
Lihat Selengkapnya
Semoga Bermanfaat salam : Arif Andrian
No comments