23
LAPORAN PRAKTIKUM PEMROGRAMAN DASAR PROGRAM TEKNOLOGI INFORMASI DAN ILMU KOMPUTER UNIVERSITAS BRAWIJAYA BAB : TIPE DATA ARRAY NAMA : IGNATIUS SURYO W NIM : 155150200111231 TANGGAL : 18/12/2015 ASISTEN : - RIZKA HUSNUN ZAKIYYAH - TIMOTHY NATANIEL MAGAT 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 Pariwisat a 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 1 2 3 import java.util.Scanner; public class Array1 {

Laporan Pemdas

  • Upload
    ign

  • View
    348

  • Download
    23

Embed Size (px)

DESCRIPTION

Array

Citation preview

Page 1: Laporan Pemdas

LAPORAN PRAKTIKUM PEMROGRAMAN DASARPROGRAM TEKNOLOGI INFORMASI DAN ILMU KOMPUTERUNIVERSITAS BRAWIJAYA

BAB : TIPE DATA ARRAYNAMA : IGNATIUS SURYO WNIM : 155150200111231TANGGAL : 18/12/2015ASISTEN : - RIZKA HUSNUN ZAKIYYAH - TIMOTHY NATANIEL MAGAT

A. DEFINISI MASALAH1. Buatlah program dengan pilihan menu yang terus berulang, dan menu akan

berhenti jika user akan menginputkan angka “ 7 ”. Pilihan menunya adalah :1. Input Data2. Lihat Data3. Average4. Sum5. Max6. Min7. KeluarMasukkan 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 TiketMasukkan nilai :

B. SOURCE CODE12345678910111213141516

import java.util.Scanner;public class Array1 {

public static void main(String[] args) { Scanner input = new Scanner(System.in); boolean cek= true; int pilih,n=0; String a; int [] A = new int [n]; do{ System.out.println("Program Array 1 Dimensi "); 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");

Page 2: Laporan Pemdas

17181920212223242526

27282930

3132333435363738394041

42434445464748495051525354555657585960616263646566676869707172

System.out.println("6. Min"); System.out.println("7. Exit"); System.out.print("Masukan pilihan anda :"); pilih = input.nextInt(); switch(pilih){ case 1 : System.out.println("\n==============================="); System.out.print("Masukan panjang indeks array :"); n = input.nextInt(); A = new int[n]; for(int i=0;i<A.length;i++){ System.out.print("Masukan nilai indeks ke-"+i+" : "); A[i]=input.nextInt(); } System.out.println("===============================\n"); break; case 2 : System.out.println("\n==============================="); for(int i=0;i<A.length;i++){ System.out.println("Nilai indeks ke-"+i+" : "+A[i]); } System.out.println("===============================\n"); break; case 3 : double total = 0; System.out.println("\n==============================="); for(int i=0;i<A.length;i++){ total+=A[i]; } double average = total/A.length; System.out.printf("Average : %.2f\n",average); System.out.println("===============================\n"); break; case 4 : int sum = 0; System.out.println("\n==============================="); for(int i=0;i<A.length;i++){ sum+=A[i]; } System.out.println("Sum : "+sum); System.out.println("===============================\n"); break;

Page 3: Laporan Pemdas

737475767778798081828384858687888990919293949596979899100101102103104105106107108109

case 5 : int Max = A[0]; System.out.println("\n==============================="); for(int i=0;i<A.length;i++){ if(A[i]>Max) Max=A[i]; } System.out.println("Max : "+Max); System.out.println("===============================\n"); break; case 6 : int Min = A[0]; System.out.println("\n==============================="); for(int i=0;i<A.length;i++){ if(A[i]<Min) Min=A[i]; } System.out.println("Min : "+Min); System.out.println("===============================\n"); break; case 7 : cek = false;break; default : System.out.println("Menu tidak tersedia"); } }while(cek==true); System.out.println("\nExit"); } }

Source Code 2123456789

1011

import java.util.Scanner;public class Array2 {

public static void main(String[] args) { Scanner input = new Scanner(System.in); Scanner input2 = new Scanner(System.in); int pilihan, penumpang = 0, tarifAwal, bangku; double discount, total = 0; String pilihKereta = null, stKeberangkatan = null,stTujuan = null, konfirmasi;

String array[][] = {{"Jenis\t\t", "Harga\t\t", "Diskon\t\t", "AC\t\t", "Colokan\t"}, {"Ekonomi\t\t", "50000\t\t","2%\t\t","Tidak Ada\t", "Tidak Ada\t"},

Page 4: Laporan Pemdas

1213141516

17

18192021222324252627

28293031323334

35363738

3940

41424344454647484950

5152535455

{"Bisnis\t\t", "100000\t\t","5%\t\t","Ada\t\t", "Tidak Ada\t"}, {"Eksekutif\t", "200000\t\t","7%\t\t","Ada\t\t", "Tidak Ada\t"}, {"Pariwisata\t","300000\t\t","10%\t\t", "Ada\t\t","Ada\t\t"}};

do { System.out.println("MENU"); 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 pilihan menu : "); pilihan = input.nextInt();

switch (pilihan) { case 1: System.out.println("\nDAFTAR KERETA API"); System.out.println("_______________________________________________________________________________"); for (int i=0; i<array.length;i++) { for (int j=0; j<array.length; j++) { System.out.print(array[i][j] + " "); } System.out.println(""); System.out.println("_______________________________________________________________________________"); } System.out.println(""); break; case 2: System.out.println("\nDAFTAR KERETA API YANG ADA AC"); System.out.println("_______________________________________________________________________________"); for (int i=0; i< array.length;i++) { if (i == 1) { continue; } for (int j=0; j<array.length; j++) { System.out.print(array[i][j]+" "); } System.out.println(""); System.out.println("_______________________________________________________________________________"); } System.out.println(""); break; case 3: System.out.println("\nDAFTAR KERETA API YANG

Page 5: Laporan Pemdas

5657

58596061626364656667

68697071727374

7576

7778

7980

81828384858687

88

89

909192

9394

9596979899100101102103

ADA COLOKAN"); System.out.println("_______________________________________________________________________________"); for (int i = 0; i < array.length;i++) { if (i>0 && i<4) { continue; } for (int j = 0; j <array.length; j++) { System.out.print(array[i][j] + " "); } System.out.println(""); System.out.println("_______________________________________________________________________________"); } System.out.println(""); break; case 4: System.out.println("\nPROGRAM PEMESANAN TIKET KERETA API"); System.out.print("Masukkan jenis kereta api (Ekonomi/Bisnis/Eksekutif/Pariwisata) : "); pilihKereta = input2.next(); System.out.print("Masukkan jumlah penumpang\t: "); penumpang = input2.nextInt(); System.out.print("Masukkan stasiun keberangkatan\t: "); stKeberangkatan = input2.next(); System.out.print("Masukkan stasiun tujuan\t\t: "); stTujuan = input2.next(); if (pilihKereta.equalsIgnoreCase("ekonomi")) { pilihKereta = array[1][0]; tarifAwal = 50000; discount = 0.98; total = (tarifAwal * penumpang *discount); System.out.print("Total harga\t\t\t: " +total + "\n"); System.out.print("Konfirmasi tiket (ya/tidak)\t: "); konfirmasi = input2.next(); if (konfirmasi.equalsIgnoreCase("ya")) { System.out.println("Pemesanan Selesai\n"); } else { System.out.println("Pemesanan dibatalkan\n"); System.exit(0); } } else if (pilihKereta.equalsIgnoreCase ("bisnis")) { pilihKereta = array[2][0]; tarifAwal = 100000;

Page 6: Laporan Pemdas

104105

106107

108109110

111112113114115

116

117118119120

121

122

123124125

126127

128129130131132133134135136137138

139

140141142

143144

145146147148

discount = 0.95; total = (tarifAwal * penumpang * discount); System.out.print("Total harga\t\t\t: " + total + "\n"); System.out.print("Konfirmasi tiket(ya/tidak)\t: "); konfirmasi = input2.next(); if (konfirmasi.equalsIgnoreCase("ya")) { System.out.println("Pemesanan Selesai\n"); } else { System.out.println("Pemesanan dibatalkan\n"); System.exit(0); } } else if (pilihKereta.equalsIgnoreCase("eksekutif")) { pilihKereta = array[3][0]; tarifAwal = 200000; discount = 0.97; total = (tarifAwal * penumpang * discount); System.out.print("Total harga\t\t\t: " + total + "\n"); System.out.print("Konfirmasi tiket (ya/tidak)\t: "); konfirmasi = input2.next(); if (konfirmasi.equalsIgnoreCase("ya")) { System.out.println("Pemesanan Selesai\n"); } else { System.out.println("Pemesanan dibatalkan\n"); System.exit(0); } } else if (pilihKereta.equalsIgnoreCase ("pariwisata")) { pilihKereta = array[4][0]; tarifAwal = 300000; discount = 0.9; total = (tarifAwal * penumpang * discount); System.out.print("Total harga\t\t\t: " + total + "\n"); System.out.print("Konfirmasi tiket (ya/tidak)\t: "); konfirmasi = input2.next(); if (konfirmasi.equalsIgnoreCase("ya")) { System.out.println("Pemesanan Selesai\n"); } else { System.out.println("Pemesanan dibatalkan\n"); System.exit(0); } }

Page 7: Laporan Pemdas

149150151152153154155

156

155157

158

159160

161162163164165166167

else { System.out.println("Input salah"); System.exit(0); } break; case 5: System.out.println("\n_______________________________________________________________________________________"); System.out.println("Jenis Kereta\tStasiun Keberangkatan\tStasiun Tujuan\tJumlah Penumpang\tTotal Harga"); System.out.println("_________________________________________________________________________________________"); System.out.println(pilihKereta + stKeberangkatan+"\t\t\t"+ stTujuan + "\t\t" +penumpang + "\t\t\t" +total); System.out.println("_________________________________________________________________________________________"); break; default: System.exit(0); } } while (pilihan != 6); }}

C. PEMBAHASANPerhitungan Dengan Array

1256789101112131415161718192022232526272829

Memanggil atau memasukan kelas Scanner dari java.util untuk melakukan input dataDeklarasi kelas dengan nama Array1Deklarasi objek Scanner dengan nama inputInisialisasi variabel cek bertipe data Boolean dengan nilai trueDeklarasi variabel pilih dengan tipe data int, dan inisialisasi variabel n dengan nilai 0Deklarasi variabel a dengan tipe data StringDeklarasi array 1 dimensi dengan nama ADeklarasi perintah perulangan doProses mencetak “Program Array 1 Dimensi “Proses mencetak “1. Input Data “Proses mencetak “2. Lihat Data “Proses mencetak “3. Average “Proses mencetak “4. Sum “Proses mencetak “5. Max “Proses mencetak “6. Min “Proses mencetak “7. Exit “Proses mencetak “Masukan pilihan anda : “Memberi atau memasukan (menginput) nilai pada variabel pilihDeklarasi switch dengan parameter pilihDeklarasi case 1Proses mencetak “========================================“Proses mencetak “Masukan panjang indeks array : “Memberi atau memasukan (menginput) nilai pada variabel nInisialisasi panjang indeks array A dengan nilai dari variabel nDeklarasi perulangan for dengan kondisi (int i=0;i<A.length;i++)

Page 8: Laporan Pemdas

3031343537394041

4445474850515254

555758606163646567697072737576777880828385868889909193959698

100105106

Proses mencetak “Masukan nilai indeks ke-: “ dan mencetak nilai pada variabel iMemberi atau memasukan (menginput) nilai pada array AProses mencetak “========================================“Deklarasi breakDeklarasi case 2Proses mencetak “========================================“Deklarasi perulangan for dengan kondisi (int i=0;i<A.length;i++)Proses mencetak “Nilai indeks ke-: “ dan mencetak nilai pada variabel I serta mencetak nilai pada array A[i]Proses mencetak “========================================“Deklarasi breakDeklarasi case 3Inisialisasi variabel total bertipe data double dengan nilai 0Proses mencetak “========================================“Deklarasi perulangan for dengan kondisi (int i=0;i<A.length;i++)Proses perhitungan total = total + nilai dari A[i]Deklarasi variabel average dengan tipe data Boolean dan diberi nilai dari proses perhitungan total / A.length (panjang indeks array A)Proses mencetak “Average“ dan mencetak nilai dari variabel averageProses mencetak “========================================“Deklarasi breakDeklarasi case 4Inisialisasi variabel sum bertipe data double dengan nilai 0Proses mencetak “========================================“Deklarasi perulangan for dengan kondisi (int i=0;i<A.length;i++)Proses perhitungan total = total + nilai dari A[i]Proses mencetak “Sum“ dan mencetak nilai dari variabel sumProses mencetak “========================================“Deklarasi breakDeklarasi case 5Inisialisasi variabel Max bertipe data int dengan nilai dari array A[0]Proses mencetak “========================================“Deklarasi perulangan for dengan kondisi (int i=0;i<A.length;i++)Deklarasi percabangan if dengan kondisi (A[i]>Max)Memberi nilai variabel Max dengan nilai dari A[i]Proses mencetak “Max“ dan mencetak nilai dari variabel maxProses mencetak “========================================“Deklarasi breakDeklarasi case 6Inisialisasi variabel Min bertipe data int dengan nilai dari array A[0]Proses mencetak “========================================“Deklarasi perulangan for dengan kondisi (int i=0;i<A.length;i++)Deklarasi percabangan if dengan kondisi (A[i]<Min)Memberi nilai variabel Min dengan nilai dari A[i]Proses mencetak “Min“ dan mencetak nilai dari variabel minProses mencetak “========================================“Deklarasi breakDeklarasi case 7, dan memberi nilai pada variabel cek dengan false, serta deklarasi breakDeklarasi default, dan proses mencetak “Menu tidak tersedia “Deklarasi while dengan kondisi (cek==true)Proses mencetak “Exit”

Page 9: Laporan Pemdas

Tiket Kerat Api1

56789

11

13141516171819202123242527282930343637384041424345465053545557585960626367707172

Memanggil atau memasukan kelas Scanner dari java.util untuk melakukan input dataDeklarasi kelas dengan nama ArrayDeklarasi objek Scanner dengan nama inputDeklarasi objek Scanner dengan nama input2Deklarasi variabel pilihan, penumpang, tarifAwal, dan bangku dengan tipe data intDeklarasi variabel discount, dan total dengan tipe data doubleDeklarasi variabel pilihKereta, stKeberangkatan, stTujuan, dan konfirmasi dengan tipe data StringInisialisasi array 2 dimensi dengan nama array bertipe data String (String array [][])yang diberi data sesuai dengan yang terdapat pada modulDeklarasi perulangan doProses mencetak “MENU“Proses mencetak “1. Melihat Daftar Kereta Api“Proses mencetak “2. Melihat Daftar Kereta Api yang ada AC“Proses mencetak “3. Melihat Daftar Kereta Api yang ada Colokan“Proses mencetak “4. Memesan Tiket Kereta Api“Proses mencetak “5. Melihat Pesanan Tiket “Proses mencetak “Masukan pilihan menu : “Memberi atau memasukan (menginput) nilai pada variabel pilihanDeklarasi switch dengan kondisi (pilihan)Deklarasi case 1Proses mencetak “DAFTAR KERETA API”Proses mencetak “____________________________________________________”Deklarasi perulangan for dengan kondisi (int i=0;i<array.length;i++)Deklarasi nested perulangan for dengan kondisi (int j=0;j<array.length;j++)Proses mencetak nilai dari array 2 dimensi array[i][j]Proses mencetak “____________________________________________________”Deklarasi breakDeklarasi case 2Proses mencetak “DAFTAR KERETA API YANG ADA AC”Proses mencetak “____________________________________________________”Deklarasi perulangan for dengan kondisi (int i=0;i<array.length;i++)Deklarasi percabangan if dengan kondisi (i==1)Deklarasi continueDeklarasi nested perulangan for dengan kondisi (int j=0;j<array.length;j++)Proses mencetak nilai dari array 2 dimensi array[i][j]Proses mencetak “____________________________________________________”Deklarasi breakDeklarasi case 3Proses mencetak “DAFTAR KERETA API YANG ADA COLOKAN”Proses mencetak “____________________________________________________”Deklarasi perulangan for dengan kondisi (int i=0;i<array.length;i++)Deklarasi percabangan if dengan kondisi (i>0 && i<4)Deklarasi continueDeklarasi nested perulangan for dengan kondisi (int j=0;j<array.length;j++)Proses mencetak nilai dari array 2 dimensi array[i][j]Proses mencetak “____________________________________________________”Deklarasi breakDeklarasi case 4Proses mencetak “PROGRAM PEMESANAN TIKET KERETA API”

Page 10: Laporan Pemdas

74

757677787980818284858687888990919293949598

100101102103

105107108109110111112114116

117118119120

121122123124125126127128131

Proses mencetak “Masukan jenis kereta api (Ekonomi/Bisnis/Eksekutif/Pariwisata) : ”Memberi atau memasukan (menginput) nilai pada variabel pilihKeretaProses mencetak “Masukan jumlah penumpang : ”Memberi atau memasukan (menginput) nilai pada variabel penumpangProses mencetak “Masukan stasiun keberangkatan : ”Memberi atau memasukan (menginput) nilai pada variabel stKeberangkatanProses mencetak “Masukan stasiun tujuan : ”Memberi atau memasukan (menginput) nilai pada variabel stTujuanDeklarasi percabangan if dengan kondisi (pilihKreta.equalsIgnoreCase(“ekonomi”))Memberi nilai variabel pilihKereta dengan nilai dari array A[1][0]Memberi nilai variabel tarifAwal dengan nilai 50000Memberi nilai variabel discount dengan nilai 0.98Memberi nilai variabel total dengan nilai dari perhitungan tarifAwal x penumpangProses mencetak “Total harga : ” dan mencetak nilai dari variabel totalProses mencetak “Konfirmasi tiket (ya/tidak) : ”Memberi atau memasukan (menginput) nilai pada variabel konfirmasiDeklarasi percabangan if dengan kondisi (konfirmasi.equalsIgnoreCase(“ya”))Proses mencetak “Pemesanan Selesai : ”Deklarasi elseProses mencetak “Pemesanan dibatalkan : ”Proses keluar dari sistemDeklarasi percabangan else if dengan kondisi (pilihKreta.equalsIgnoreCase(“bisnis”))Memberi nilai variabel pilihKereta dengan nilai dari array A[2][0]Memberi nilai variabel tarifAwal dengan nilai 100000Memberi nilai variabel discount dengan nilai 0.95Memberi nilai variabel total dengan nilai dari perhitungan tarifAwal x penumpang x discountProses mencetak “Total harga : ” dan mencetak nilai dari variabel totalProses mencetak “Konfirmasi tiket (ya/tidak) : ”Memberi atau memasukan (menginput) nilai pada variabel konfirmasiDeklarasi percabangan if dengan kondisi (konfirmasi.equalsIgnoreCase(“ya”))Proses mencetak “Pemesanan Selesai : ”Deklarasi elseProses mencetak “Pemesanan dibatalkan : ”Proses keluar dari sistemDeklarasi percabangan else if dengan kondisi (pilihKreta.equalsIgnoreCase(“eksekutif”))Memberi nilai variabel pilihKereta dengan nilai dari array A[3][0]Memberi nilai variabel tarifAwal dengan nilai 200000Memberi nilai variabel discount dengan nilai 0.97Memberi nilai variabel total dengan nilai dari perhitungan tarifAwal x penumpang x discountProses mencetak “Total harga : ” dan mencetak nilai dari variabel totalProses mencetak “Konfirmasi tiket (ya/tidak) : ”Memberi atau memasukan (menginput) nilai pada variabel konfirmasiDeklarasi percabangan if dengan kondisi (konfirmasi.equalsIgnoreCase(“ya”))Proses mencetak “Pemesanan Selesai : ”Deklarasi elseProses mencetak “Pemesanan dibatalkan : ”Proses keluar dari sistemDeklarasi percabangan else if dengan kondisi

Page 11: Laporan Pemdas

133134135136137

138139140141142143144145148149150152153155156

157158

160161162163165

(pilihKreta.equalsIgnoreCase(“pariwisata”))Memberi nilai variabel pilihKereta dengan nilai dari array A[4][0]Memberi nilai variabel tarifAwal dengan nilai 300000Memberi nilai variabel discount dengan nilai 0.9Memberi nilai variabel total dengan nilai dari perhitungan tarifAwal x penumpang x discountProses mencetak “Total harga : ” dan mencetak nilai dari variabel totalProses mencetak “Konfirmasi tiket (ya/tidak) : ”Memberi atau memasukan (menginput) nilai pada variabel konfirmasiDeklarasi percabangan if dengan kondisi (konfirmasi.equalsIgnoreCase(“ya”))Proses mencetak “Pemesanan Selesai : ”Deklarasi elseProses mencetak “Pemesanan dibatalkan : ”Proses keluar dari sistemDeklarasi elseProses mencetak “Inputan Salah ”Proses keluar dari sistemDeklarasi breakDeklarasi case 5Proses mencetak “____________________________________________________”Proses mencetak “Jenis kereta, Stasiun Keberangkatan, Stasiun Tujuan, Jumlah Penumpang, Total Harga”Proses mencetak “____________________________________________________”Proses mencetak nilai dari variabel pilihKereta, stKeberangkatan, stTujuan, penumpang, dan totalProses mencetak “____________________________________________________”Deklarasi breakDeklarasi defaultProses keluar dari systemDeklarasi perulangan while dengan kondisi (pilihan!=6)

D. SCREENSHOT PROGRAMPerhitungan dengan Array

Page 12: Laporan Pemdas

Tiket Kereta Api

Page 13: Laporan Pemdas

E. PRAKTIKUMA. Array1

1. Jalankan kelas Array1 dan benahi jika menemukan kesalahan! Terdapat kesalahan, yaitu pada baris ke-5. Syntax yang ada berupa:

for (i=0;i<=9;i+){Sedangkan seharusnya, Syntax yang benar berupa:for (i=0;i<=9;i++){

2. Pada baris ketiga, hapus angka ‘10’ kemudian amati apa yang terjadi dan jelaskan! Terjadi error karena disaat array bil didefinisikan, dimensi array tidak

terdefinisikan secara eksplisit.3. Pada baris 5, kode tersebut diubah menjadi for (i=2;i<=8;i++) kemudian amati

apa yang terjadi dan jelaskan! Program akan tetap mencetak array sebanyak 10 kali, namun pada

array[0], array[1], dan array[9] program hanya mencetak angka 0. Hal ini diakibatkan adanya batasan yang memprogram array mulai dari indeks ke-2 hingga indeks ke-8 saja.

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!

Pada baris tersebut program akan mencetak array dengan menggunakan perulangan. Sedangkan proses yang akan dikerjakannya berupa keluaran angka random dari 1-100. Jika syntax diubah menjadi bil[i] = 1 + (Math.random() * 100; Maka akan terjadi error karena fungsi Math.random akan memanggil bilangan double secara acak, sedangkan array bil bertipe int yang nantinya terjadi ketidak cocokan.

5. Pada baris 8, kode tersebut diubah menjadi for (i=0;i<=10;i++) kemudian amati apa yang terjadi dan jelaskan! Akan terjadi error karena program mencetak array lebih dari dimensi atau

indeks yang tersedia

B. Array21. Jalankan kelas Array2 dan benahi jika menemukan kesalahan!

Terdapat kesalahan yaitu variabel i dan j belum diberikan tipe datanya.2. Pada baris 5, syntax “int[][] coba” diganti “int coba[][]” amati yang terjadi

dan jelaskan!

Page 14: Laporan Pemdas

Tidak terjadi perubahan karena keduanya merupakan cara yang sama untuk mendeklarasikan sebuah array dengan tipe datanya.

3. Pada baris 6, syntax “double[][] bank” diganti “float bank[]” dan amati apa yang terjadi, jelaskan! Akan terjadi error karena double tidak dapat dikonversikan ke float secara

langsung4. 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!1234

567891011

121314151617181920212223242526

27

public static void main(String args[]) { Scanner in = new Scanner(System.in); String nama[] = new String[10]; int coba[][] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12}}; int i, j; double[][] bank = new double[2][3]; double nilaiRata2 = 0; System.out.println(" i j coba[i][j]"); for (i = 0; i < 4; i++) { for (j = 0; j < 3; j++) { System.out.printf("%2d %2d %3d\n", i,j, coba[i][j]); nilaiRata2 += coba[i][j]; } } for (i = 0; i <= 1; i++) { for (j = 0; j < 3; j++) { bank[i][j] = i * 0.5 + j * 0.25; } } for (i = 0; i <= 1; i++) { for (j = 0; j < 3; j++) { System.out.print(bank[i][j] + " "); } } nilaiRata2 = nilaiRata2 / 12; System.out.println("\nNilai rata-rata adalah : " + nilaiRata2); }

Page 15: Laporan Pemdas

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!1234

567

891011

12131415161718192021222324252627

28

29

30

public static void main(String args[]) { Scanner in = new Scanner(System.in); String nama[] = new String[10]; int coba[][] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12}}; int i, j; double[][] bank = new double[2][3]; double nilaiRata2 = 0, nilaiMax=coba[0][0], nilaiMin = coba[0][0]; System.out.println(" i j coba[i][j]"); for (i = 0; i < 4; i++) { for (j = 0; j < 3; j++) { System.out.printf("%2d %2d %3d\n", i,j, coba[i][j]); nilaiRata2 += coba[i][j];}} for (i = 0; i <= 1; i++) { for (j = 0; j < 3; j++) { bank[i][j] = i * 0.5 + j * 0.25; if (nilaiMax < bank[i][j]) { nilaiMax = bank[i][j];} if (nilaiMin > bank[i][j]) { nilaiMin = bank[i][j];}} } for (i = 0; i <= 1; i++) { for (j = 0; j < 3; j++) { System.out.print(bank[i][j] + " "); } } nilaiRata2 = nilaiRata2 / 12; System.out.println("\nNilai rata-rata adalah : " + nilaiRata2); System.out.println("Nilai terbesar array bank : " + nilaiMax); System.out.println("Nilai terkecil array bank : " + nilaiMin); }

Page 16: Laporan Pemdas

C. Array31. Jalankan kelas Array3 dan benahi jika menemukan kesalahan!

Tidak terdapat kesalahan2. Jelaskan maksud dari statement baris ke-7!

Inisialisasi array c[ ] pada memory dengan alokasi panjang array = nilai maksimal dari dua array a[ ] dan b[ ]

3. Jelaskan perbedaan indeks array dan panjang array! Berikan contoh di kelas Array3.1234567

891011

121314151617181920

public static void main(String args[]) { int a[] = {2, 7, 6, 8, 1}; int b[] = {3, 4, 2, 8, 9, 7, 2, 7, 5}; int pjg; pjg = Math.max(a.length, b.length);

/*Dibawah ini adalah contoh pendeklarasian panjang array*/ int c[] = new int[pjg]; for (int i = 0; i < pjg; i++) { if (a.length < i + 1) { /*Sedangkan dibawah ini adalah contoh indeks array yaitu array c dan b indeks ke-i*/ c[i] = b[i]; } else if (b.length < i + 1) { c[i] = a[i]; } else { c[i] = a[i] + b[i]; } System.out.print(c[i] + " "); } }

4. Tambahkan variabel dengan nama jumlahGenap dan jumlahGanjil yang bertipe data integer kemudian lakukan penambahan untuk bilangan genap dan ganjil!1234567891011

public static void main(String args[]) { int a[] = {2, 7, 6, 8, 1}; int b[] = {3, 4, 2, 8, 9, 7, 2, 7, 5}; int pjg, jumlahGenap = 0, jumlahGanjil = 0; pjg = Math.max(a.length, b.length); int c[] = new int[pjg]; for (int i = 0; i < pjg; i++) { if (a.length < i + 1) { c[i] = b[i]; } else if (b.length < i + 1) { c[i] = a[i];

Page 17: Laporan Pemdas

12131415161718192021222324

25

26

} else { c[i] = a[i] + b[i]; } System.out.print(c[i] + " "); } for (int j = 0; j < a.length; j++) { if (a[j] % 2 == 0) { jumlahGenap += a[j]; } else { jumlahGanjil += a[j]; } } System.out.println("\nTotal penjumlahan bilangan genap array a[] : " + jumlahGenap); System.out.println("Total penjumlahan bilangan anjil array a[] : " + jumlahGanjil); }

F. KESIMPULANArray merupakan sekumpulan nilai data homogin yang disimpan dalam suatu

struktur, sedemikian rupa sehingga elemen-elemen di dalam struktur tersebut dapat diolah secara kelompok ataupun secara individu.

Cara pendeklarasian array adalah sebagai berikut Sintaks :

Tipe_Data[] Nama_Array = new Tipe_Data [Jumlah_Elemen]; Contoh :

int [ ] A = new int [ 7 ]; float [ ] nilai = new float [ 10 ];

Cara mengakses elemen dari variabel array sebagai berikut: namaArray[indeks]Contoh:

Diinginkan untuk mengakses sebuah variabel array bernama a dengan indeks I, maka dapat dituliskan: a[i]

Indeks i hanya dapat bernilai 0 atau positip dengan nilai maksimumnya adalah: (jumlah_elemen - 1).

Contoh cara mengisi array adalah sebagai berikut int A[] = {1,2,3,4,5,6,7};

Page 18: Laporan Pemdas

int A[] = new int[3];A[0] = 1;A[1] = 3;A[2] = 5;

Array merupakan struktur data yang sering digunakan dalam pemrograman untuk menyimpan data yang akan diolah atau di proses seperti proses sorting.Array adalah struktur data yang terdiri dari kumpulan variable yang bertipe sama.Beberapa bahasa pemrograman mendukung struktur array statis dan dinamis. Pada C/C++ array yang didukung adalah array statis.Pada C/C++ array merupakan pointer yang mempunyai alokasi memory tetap (pointerconstant).Array adalah suatu tipe data terstuktur yang berupa sejumlah data sejenis (bertipe data sama) yangjumlahnya tetap dan diberi suatu nama tertentu. Elemen-elemen array tersusun secara sekuensial didalam memori sehingga memiliki alamat yang berdekatan. Array dapat berupa array 1 dimensi, 2 dimensi, bahkan n-dimensi. Elemen-elemen array bertipe data sama tapi bisa bernilai sama atauberbeda-beda. Array digunakan untuk menyimpan data-data yang diinputkan masing-masing kedalammemory komputer. Jadi jumlah datanya banyak namun satu jenis. Array 1 dimensi dengan 2 dimensi masing-masing memiliki kegunaan yang sama, perbedaannya hanya terletak pada proses dan outputnya.