0% menganggap dokumen ini bermanfaat (0 suara)
109 tayangan16 halaman

Pemrograman Dasar - BAB4

Dokumen tersebut berisi dua program Java yang menggunakan array. Program pertama membuat menu interaktif untuk mengolah data integer yang disimpan dalam array satu dimensi. Program kedua menyimpan data kereta api dalam array dua dimensi dan memberikan pilihan menu untuk mengelolanya.

Diunggah oleh

AfiAfiKhairunnisa
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
109 tayangan16 halaman

Pemrograman Dasar - BAB4

Dokumen tersebut berisi dua program Java yang menggunakan array. Program pertama membuat menu interaktif untuk mengolah data integer yang disimpan dalam array satu dimensi. Program kedua menyimpan data kereta api dalam array dua dimensi dan memberikan pilihan menu untuk mengelolanya.

Diunggah oleh

AfiAfiKhairunnisa
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 16

LABORATORIUM PEMBELAJARAN ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER


UNIVERSITAS BRAWIJAYA

BAB : TIPE DATA ARRAY


NAMA : AFIFAH KHAIRUNNISA
NIM : 185150400111028
TANGGAL : 01/11/2018
ASISTEN : - ADITYA PUTRA PRATAMA
- SANTI YUNIKA SUFIANA

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
Bab4no1.java
1 import java.util.Scanner;
2 public class bab4no1 {
3 public static void main(String[] args) {
4 Scanner nu = new Scanner(System.in);
5 int i = 0, j;
6 int[] data = new int[0];
7 int counter = 0, total = 0;
8 double average = 0;
9 while (i != 7) {
10 System.out.println("1. Input data");
11 System.out.println("2. Lihat data");
12 System.out.println("3. Average");
13 System.out.println("4. Sum");
14 System.out.println("5. Max");
15 System.out.println("6. Min");
16 System.out.println("7. Keluar");
17 System.out.print("Masukkan nilai: ");
18 i = nu.nextInt();
19 switch (i) {
20 case 1:
21 System.out.print("Banyak data yang akan
22 dimasukkan: ");
23 int bykdata = nu.nextInt();
24 data = new int[bykdata];
25 for (j = 0; j < bykdata; j++) {
26 System.out.print("Masukkan data " +
27 (j+1) + ": ");
28 data[j] = nu.nextInt();
29 }
30 break;
31 case 2:
32 for (j = 0; j < data.length; j++) {
33 System.out.print(data[j] + " ");
34 }
35 break;
36 case 3:
37 for (j = 0; j < data.length; j++) {
38 total += data[j];
39 }
40 average = (double) total / data.length;
41 System.out.println("Rata-rata: " +
42 average);
43 break;
44 case 4:
45 for (j = 0; j < data.length; j++) {
46 total += data[j];
47 }
48 System.out.println("Total: " + total);
49 break;
50 case 5:
51 int nilaimax = 0;
52 for (j = 0; j < data.length; j++) {
53 if (data[j] > data[0]) {
54 nilaimax = data[j];
55 }
56 }
57 System.out.println("Nilai max: " +
58 nilaimax);
59 break;
60 case 6:
61 int nilaimin = data[0];
62 for (j = 0; j < data.length; j++) {
63 if (data[j] < data[0]) {
64 nilaimin = data[j];
65 }
66 }
67 System.out.println("Nilai min: " +
68 nilaimin);
68 break;
70 case 7:
71 System.out.println("Anda telah keluar dari
72 program");
73 break;
74 default:
75 System.out.println("Maaf, pilihan anda
76 tidak tersedia");
77 }
78 }
79 }
80 }
81

Bab4no2.java
1 import java.util.Scanner;
2 public class bab4no2 {
3 public static void main(String[] args) {
4 Scanner input = new Scanner(System.in);
5 int opt = 0;
6 String [][] pesan = new String [2][99];
7 int jml = 0;
8 String[][] kereta ={ {"Jenis", "Harga", "Diskon", "AC",
9 "Colokan"},
10 {"Ekonomi", "50000", "2%", "Tidak ada", "Tidak
11 ada"},
12 {"Bisnis", "100000", "5%", "Ada", "Tidak ada"},
13 {"Eksekutif", "200000", "7%", "Ada", "Tidak ada"},
14 {"Pariwisata", "300000", "10%", "Ada", "Ada"}
15 };
16 while (opt < 6){
17 System.out.println("1. Melihat Daftar Kereta Api");
18 System.out.println("2. Melihat Daftar Kereta Api yang
19 ada AC");
20 System.out.println("3. Melihat Daftar Kereta Api yang
21 ada colokan");
22 System.out.println("4. Memesan Tiket Kereta Api");
23 System.out.println("5. Melihat Pesanan Tiket");
24 System.out.print("Masukkan pilihan Anda: ");
25 opt = input.nextInt();
26 switch (opt){
27 case 1:
28 System.out.println("Daftar Kereta Api: ");
29 for (int i = 0; i < kereta.length; i++){
30 for (int j = 0; j<kereta[i].length; j++){
31 System.out.printf("%15s" , kereta[i]
32 [j]);
33 }
34 System.out.println(" ");
35 }
36 break;
37 case 2:
38 System.out.println("Kereta Api yang ada
39 AC:\n");
40 for (int i = 0; i < kereta.length; i++){
41 if (kereta[i][3] == "Ada" || kereta[i][3]
42 == "AC")
43 for (int j = 0; j < kereta[i].length;
44 j++){
45 System.out.printf("%15s", kereta[i]
46 [j]);
47 }
48 System.out.println("");
49 }
50
51 break;
52 case 3:
53 System.out.print("Kereta Api yang ada
54 Colokan\n");
55 for (int i = 1; i < kereta.length; i++){
56 if (kereta[i][4] == "Ada" || kereta[i][4]==
57 "Colokan")
58 for (int j = 0; j < kereta[i].length;
59 j++){
60 System.out.printf("%15s", kereta[i]
61 [j]);
62 }
63 }
64 System.out.println("");
65 break;
66 case 4:
67 System.out.print("Masukkan nama Anda : ");
68 pesan[0][jml] = input.next();
69 System.out.print("Pilih jenis Kereta : ");
70 pesan[1][jml] = input.next();
71 jml++;
72 break;
73 case 5:
74 System.out.println("Pesanan anda:");
75 System.out.println("Daftar Pesanan Anda");
76 for (int i = 0; i < jml; i++) {
77 System.out.println((i + 1) + ". Pemesan : "
78 + pesan[0][i] + "\n Jenis Kereta : " + pesan[1][i]);
79 }
80 break;
81 default:
82 System.out.println("Anda telah keluar dari
83 program ini);
84 }
85 }
86 }
87 }
88
89
90
91

C. PEMBAHASAN
bab4no1.java
1 Proses import Scanner pada java
2 Deklarasi class dengan nama bab4no1
4 Instansiasi Scanner
5 Deklarasi dan inisiasi untuk variabel I, dan deklarasi untuk variabel j yang bertipe
integer
6 Deklarasi sekaligus inisiasi variabel data (array)
7 Deklarasi sekaligus inisiai variabel counter dan total yang bertipe integer
8 Deklarasi dan inisiasi variabel average
9 Perulangan jika i tidak sama dengan 7
10 Proses mencetak “1. Input data” dengan enter
11 Proses mencetak “2. Lihat data” dengan enter
12 Proses mencetak “3. Average” dengan enter
13 Proses mencetak “4. Sum” dengan enter
14 Proses mencetak “5. Max” dengan enter
15 Proses mencetak “6. Min” dengan enter
16 Proses mencetak “7. Keluar” dengan enter
17 Proses mencetak “Masukkan nilai: ” tanpa enter
18 User memasukkan nilai yang akan disimpan dalam variabel i bertipe integer
19 Switch case untuk variabel i
20 Jika variabel i = 1, menjalankan perintah untuk variabel i = 1
21 Proses mencetak “Banyak data yang akan dimasukkan” tanpa enter
23 User memasukkan nilai banyak data yang disimpan dalam variabel bykdata bertipe
integer
24 Inisiasi variabel data yang jumlah datanya sama dengan nilai variabel bykdata
25 Proses melakukan perulangan dengan j = 0 sebagai Initializaion expression, j <
bykdata sebagai Loop condition, dan j++ sebagai Step Expression
26 Proses mencetak “Masukkan data” yang diikuti dengan j+1 dan “: “
28 User memasukkan nilai bertipe integer ke dalam variabel data
29 Penutup for
30 Break
31 Menjalankan perintah jika nilai variabel 2
32 Proses melakukan perulangan dengan j = 0 sebagai Initializaion expression, j <
bykdata sebagai Loop condition, dan j++ sebagai Step Expression
33 Proses mencetak nilai variabel data [j] dan spasi
35 Break
36 Menjalankan perintah jika nilai variabel 3
37 Proses melakukan perulangan dengan j = 0 sebagai Initializaion expression, j <
data.length sebagai Loop condition, dan j++ sebagai Step Expression
38 Proses menjumlahkan nilai variabel total dengan variabel array data
39 Penutup for
40 Inisialisasi variabel average yang didapat dari total/data.length bertipe double
41 Proses mencetak “Rata-rata: ” yang diikuti dengan nilai variabel average
43 Break
44 Menjalankan perintah jika nilai variabel 4
45 Proses melakukan perulangan dengan j = 0 sebagai Initializaion expression, j <
data.length sebagai Loop condition, dan j++ sebagai Step Expression
46 Proses menjumlahkan nilai variabel total dengan variabel array data
47 Penutup for
48 Proses mencetak “Total: “ diikuti dengan nilai variabel total
49 Break
50 Menjalankan perintah jika nilai variabel 5
51 Deklarasi dan inisiasi variabel nilaimax bertipe integer
52 Proses melakukan perulangan dengan j = 0 sebagai Initializaion expression, j <
data.length sebagai Loop condition, dan j++ sebagai Step Expression
53 Seleksi kondisi data[j] > data [0]
54 Nilai variabel nilaimax = data[j] jika seleksi kondisi bernilai benar
55 Penutup if
56 Penutup for
57 Proses mencetak “Nilai max: “ diikuti dengan nilai variabel nilaimx bertipe integer
59 Break
60 Menjalankan perintah jika nilai variabel 6
61 Deklarasi dan inisialisasi variabel nilaimin bertipe integer
62 Proses looping dengan j = 0 sebagai Initialization Expression, j < data.length sebagai
Loop Condition, j++ sebagai Step Expression
63 Seleksi kondisi data[j]<data[0]
64 Nilai variabel nilaimin = data[j] jika seleksi kondisi bernilai benar
65 Penutup seleksi kondisi
66 Penutup for
67 Proses mencetak “Nilai min: “ diikuti dengan nilai variabel nilaimin
69 Break
70 Menjalankan perintah jika nilai variabel 7
72 Proses mencetak “Anda telah keluar dari program” dengan enter
74 Break
75 Fungsi default
76 Proses mencetak “Maaf, pilihan anda tidak tersedia” dengan enter
78 Penutup switch case
79 Penutup while

bab4no2.java
1 Proses import Scanner pada java
2 Deklarasi class dengan nama bab4no2
4 Instansiasi Scanner
5 Deklarasi dan inisiasi untuk variabel opt
6 Deklarasi sekaligus inisiasi variabel pesan (array)
7 Deklarasi sekaligus inisiai variabel jml yang bertipe integer
8 Pembuatan array dua dimensi dalam variabel kereta
9 Perulangan jika i tidak sama dengan 7
16 Proses looping while jika opt < 6
17 Proses mencetak “1. Melihat daftar kereta api” dengan enter
18 Proses mencetak “2. Melihat daftar kereta api yang ada AC” dengan enter
20 Proses mencetak “3. Melihat daftar kereta api yang ada colokan” dengan enter
22 Proses mencetak “4. Memesan tiket kereta api” dengan enter
23 Proses mencetak “5. Melihat pesanan tiket” dengan enter
24 Proses mencetak “Masukkan pilihan Anda: ” tanpa enter
25 User memasukkan nilai yang akan disimpan dalam variabel opt bertipe integer
26 Switch case untuk variabel opt
27 Menjalankan perintah untuk opt bernilai 1
28 Proses mencetak “Daftar kereta api: ” dengan enter
29 Proses looping, di mana int i=0 sebagai Initialization Expression, i<kereta.length
sebagai Loop Condition, dan i++ sebagai Step Condition
30 Proses looping, di mana int j=0 sebagai Initialization Expression, j<kereta[i].length
sebagai Loop Condition, dan j++ sebagai Step Condition
31 Proses mencetak nilai variabel kereta[i][j] dengan format tertentu
33 Penutup for kedua
34 Proses mencetak spasi dengan enter
35 Penutup for pertama
36 Break
37 Menjalankan perintah jika nilai variabel opt = 2
38 Proses mencetak “Kereta api yang ada” dengan enter
40 Proses melakukan perulangan dengan int i = 0 sebagai Initializaion expression, i <
kereta.length sebagai Loop condition, dan i++ sebagai Step Expression
41 Proses melakukan seleksi kondisi
43 Proses melakukan perulangan dengan int j = 0 sebagai Initializaion expression, j <
kereta[i].length sebagai Loop condition, dan j++ sebagai Step Expression
45 Proses mencetak nilai array kereta[i][j] dengan format
Inisialisasi variabel average yang didapat dari total/data.length bertipe double
47 Penutup for kedua (yang di dalam if)
48 Mencetak baris baru
49 Penutup for
51 Break
52 Menjalankan perintah jika nilai variabel opt = 3
53 Proses mencetak “Kereta Api yang ada Colokan” dengan enter
55 Proses melakukan perulangan dengan int i = 0 sebagai Initializaion expression, i <
kereta.length sebagai Loop condition, dan i++ sebagai Step Expression
56 Seleksi kondisi
58 Proses melakukan perulangan dengan int j = 0 sebagai Initializaion expression, j <
kereta[i].length sebagai Loop condition, dan j++ sebagai Step Expression
60 Proses mencetak nilai array kereta[i][j] dengan format
61 Deklarasi dan inisiasi variabel nilaimax bertipe integer
62 Penutup for kedua
63 Penutup for pertama
64 Proses mencetak baris baru
65 Break
66 Menjalankan perintah jika nilai variabel opt = 4
67 Proses mencetak “Masukkan nama Anda: ” tanpa enter
68 User memasukkan nilai bertipe String ke dalam array pesan[0][jml]
69 Proses mencetak “Pilih jenis kereta: ” tanpa enter
70 User memasukkan nilai bertipe String ke dalam array pesan[1][jml]
72 Break
73 Menjalankan perintah jika nilai variabel opt = 5
74 Proses mencetak “Pesanan Anda: “ dengan enter
75 Proses mencetak “Daftar Pesanan Anda: “ dengan enter
76 Proses melakukan perulangan dengan int i = 0 sebagai Initializaion expression, i <
jml sebagai Loop condition, dan i++ sebagai Step Expression
77 Proses mencetak nilai variabel I+1 diikuti dengan “Pemesanan:” dan nilai array
pesan [0][i] serta “Jenis kereta: “ dan array pesan[1][i]
79 Penutup for
80 Break
81 Fungsi default
82 Proses mencetak “Anda keluar dari program” dengan enter
84 Penutup switch case
85 Penutup while

D. SCREENSHOT PROGRAM
1. Bab4no1.java
2. Bab4no2.java
E. PRAKTIKUM
A. Array1
1. Jalankan kelas Array1 dan benahi jika menemukan kesalahan!
Jawab:
Terdapat kesalahan, yaitu i+ yang seharusnya i++
Setelah dibenahi:

2. Pada baris ketiga, hapus angka ‘10’ kemudian amati apa yang terjadi dan
jelaskan!
Jawab:

Terjadi error dikarenakan tidak ada jumlah yang terdapat dalam kurung siku
yang menandakan banyak data yang ingin dimasukkan.

3. Pada baris 5, kode tersebut diubah menjadi for (i=2;i<=8;i++) kemudian amati
apa yang terjadi dan jelaskan!
Jawab:
Saat program dijalankan, output yang dihasilkan adalah angka-angka seperti
di atas. Pada index angka ke-0, ke-1, dan ke-9 bernilai 0. Hal tersebut
disebabkan karena pada proses perulangan di atas, index yang diisi dimulai
dari index ke-2 (i = 2) sampai index ke-8 (i = 8).

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!
Jawab:
Arti kode baris 5-7: Perulangan yang berfungsi untuk mengisi nilai variabel
bil dari index 0-9. Nilai variabel array tersebut diisi dengan 1 + angka acak.

5. Pada baris 8, kode tersebut diubah menjadi for (i=0;i<=10;i++) kemudian


amati apa yang terjadi dan jelaskan!
Jawab:
Ada error saat program dijalankan yang dikarenakan jumlah data yang
dideklarasikan, yaitu tertulis “ArrayIndexOutofBoundsException: 10” yang
berarti index pada array melebihh batas index yang telah dideklarasikan di
awal.

B. Array 2
1. Jelaskan kelas Array2 dan benahi jika menemukan kesalahan!
Jawab:
Terjadi kesalahan.
Setelah dibenahi:

2. Pada baris 5, syntax “int[][] coba” diganti “int coba[][]” amati yang terjadi
dan jelaskan!
Jawab:
Tidak ada perubahan yang terjadi dan program tetap dapat dijalankan dengan
baik, karena pendeklarasian array dapat dilakukan dengan banyak cara.

3. Pada baris 6, syntax “double[][] bank” diganti “float bank[]” dan amati apa
yang terjadi, jelaskan!
Jawab:
Terjadi error karena deklarasi array tidak sesuai dengan inisialisasi array.

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!
Jawab:

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!
Jawab:

C. Array 3
1. Jelaskan kelas Array3 dan benahi jika menemukan kesalahan!
Jawab:
Tidak ada kesalahan.
2. Jalankan maksud dari statement baris ke-7!
Jawab:
Maksudnya adalah panjang array variabel c sama dengan nilai variabel pjg
3. Jelaskan perbedaan index array dan panjang array! Berikan contoh di kelas
Array3!
Jawab:
Index array menunjukkan variabel array yang menyimpan nilai dan dimulai
dari 0.
Contoh:
c[0] = 5
c[1] = 11
Angka 0 dan 1 menunjukkan index array.
Sedangkan panjang array adalah berapa banyak data yang dapat disimpan ke
dalam variabel array tersebut.
Contoh:
int a [] = {2, 7, 6, 8, 1};
Panjang array tersebut adalah lima.
4. Tambahkan variabel dengan nama jumlahGenap dan jumlahGanjil yang
bertipe data integer kemudian lakukan penambahan untuk bilangan genap dan
ganjil!
Jawab:

Output:
F. KESIMPULAN
Array adalah suatu variabel yang menyimpan beberapa data yang bertipe sama.
Setiap data yang disimpan dalam array memiliki indeks yang dimulai dari angka 0.
Indeks ini berguna untuk mengakses data yang disimpan dalam array.
Dalam bahasa Java, array dideklarasikan dengan cara:
Tipe_data [ ] nama_variabel;

Sedangkan untuk mengisi nilai array dapat dilakukan dengan dua cara, yaitu
dengan menginisialisasi banyak data yang akan disimpan dalam array (contoh: int [
] i = new int [10]) atau dengan langsung mengisi array tanpa menginisialisasi
banyak data yang akan disimpan dalam array(contoh: int [ ] i = {5, 4, 3,
6}).

Array memiliki dimensi, diantaranya yaitu array 1 dimensi dan array 2 dimensi.
Array 1 dimensi adalah array yang menyimpan nilai bertipe sama, dan tersusun dalam
satu baris. Pengaksesannya dapat dilakukan secara langsung dengan menggunakan
indeks array. Array 2 dimensi adalah array yang menyimpan tipe data yang sama,
namun terdiri atas baris dan kolom. Jumlah indeks baris dan kolom array dua dimensi
dapat berbeda. Salah satu contoh penggunaan array 2 dimensi yaitu pada matriks.

Anda mungkin juga menyukai