BAB 4 - Pemrograman Dasar : TIPE DATA ARRAY

Share:

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 ArrayIndexOutOfBoundsExceptionini 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];




Untuk lihat versi lengkapnya klik link dibawah ini:

Lihat Selengkapnya


Semoga Bermanfaat salam : Arif Andrian

No comments