Laporan Praktikum Pemrograman Dasar Fa

11 {"Pariwisata", "300000", "10 ", "Ada", "Ada"} 12 }; 13 int harga[] = {50000, 100000, 200000, 300000}; 14 int diskon[] = {2, 5, 7, 10}; 15 int[] tiket = new int[10]; 16 String[] nama = new String[10]; 17 String[] no = new String[10]; 18 int counter = 0; 19 int total[] = new int[10]; 20 int sumTotal = 0; 21 for (int i = 0; i == 0;) {.

===

LAPORAN PRAKTIKUM

  PEMROGRAMAN DASAR

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

  BAB

  : PROGRAM INPUT, OUTPUT DAN PROSES

  NAMA

  : MOH. ARIF ANDRIAN

  NIM

  TANGGAL : 29092015 ASISTEN

  : - PUJO PRASETYO AJI

- FADHILATUR RAHMAH

A. DEFINISI MASALAH

  1. Program operasi Aritmatika dengan tampilan sebagai berikut :

  Masukkan operator pertama

  Masukkan operator kedua

  Hasil penjumahan

  Hasil pengurangan

  Hasil perkalian

  Hasil pembagian

  2. Program untuk menghitung pemakaian daya listrik dirumah tangga secara sederhana. Tampilan program sebagai berikut :

  Program penghitung pemakaian listrik sederhana

B. SOURCE CODE

  Tugas Praktikum 1.1

  1 package Paktikum1; 2 import java.util.Scanner; 3 public class Tugas1 {

  4 public static void main(String[] args) { 5 Scanner input = new Scanner(System.in); 6 int operator1, operator2;

  7 System.out.print("Masukkan operator pertama\t: "); 8 operator1 = input.nextInt();

  9 System.out.print("Masukkan operator kedua \t: "); 10 operator2 = input.nextInt(); 11 int tambah = operator1+operator2;

  12 System.out.println("Hasil Penjumlahan \t\t: "+tambah); 13 int kurang = operator1-operator2;

  14 System.out.println("Hasil Pengurangan \t\t: "+kurang); 15 int kali = operator1operator2;

  16 System.out.println("Hasil Perkalian \t\t: "+kali); 17 double bagi = (double)operator1operator2;

  18 System.out.println("Hasil Pembagian \t\t: "+bagi);

  19 }

  20

  Tugas Praktikum 1.2

  1 package Paktikum1;

  24 int Pakai = akhirKwh-awalKwh; 25 System.out.println("Pemakaian bulan ini \t: "+Pakai+"

  Kwh Meter");

  26 int Tarif = PakaiBiaya; 28 System.out.println("Tarif listrik \t\t: Rp "+Tarif+",-

  ");

  29 int Pajak = Tarif ppj100; 30 System.out.println("PPJ "+ppj+" \t\t: RP "+Pajak+",-"); 31 int Bayar = Tarif + Pajak; 32 System.out.println("Total Bayar \t\t: Rp "+Bayar+",-");

  System.out.println("============================================ ");

  33 }

  34

C. PEMBAHASAN

  Tugas Praktikum 1.1

  1 Deklarasi dari package yang bernama Praktikum1.

  2 Melakukan import dari package Scanner, untuk menggunakan fungsi scanner pada program.

  3 Deklarasi dari class yang bernama Tugas1.

  4 Deklarasi dari methodfungsi main, untuk menjalankan program.

  5 Deklarasi variabel Scanner dengan nama variabel input.

  Tugas Praktikum 1.2

  Deklarasi dari package yang bernama Praktikum1. Melakukan import dari package Scanner, untuk menggunakan fungsi scanner pada program. Deklarasi dari class yang bernama Tugas2. Deklarasi dari methodfungsi main, untuk menjalankan program. Deklarasi variabel Scanner dengan nama variabel input. Menampilkan kalimat “Program penghitung pemakaian listrik sederhana”. Pendeklarasian 2 variabel yang bertipe String. Pendeklarasian 4 variabel yang bertipe integer. Menampilkan perintah untuk memasukan nilai berupa String ke variabel Nama. Melakukan proses penyimpanan nilai yang telah di masukan ke variabel Nama. Menampilkan perintah untuk memasukan nilai berupa String ke variabel Kelurahan. Melakukan proses penyimpanan nilai yang telah di masukan ke variabel Kelurahan. Menampilkan perintah untuk memasukan nilai berupa integer ke variabel awalKwh. Melakukan proses penyimpanan nilai yang telah di masukan ke variabel awalKwh. Menampilkan perintah untuk memasukan nilai berupa integer ke variabel akhirKwh. Melakukan proses penyimpanan nilai yang telah di masukan ke variabel akhirKwh. Menampilkan perintah untuk memasukan nilai berupa integer ke variabel Biaya. Melakukan proses penyimpanan nilai yang telah di masukan ke variabel Biaya. Menampilkan perintah untuk memasukan nilai berupa integer ke variabel ppj. Melakukan proses penyimpanan nilai yang telah di masukan ke variabel ppj. Menampilkan “================= PLN Java =================” .

D. SCREENSHOT PROGRAM

  Tugas Praktikum 1.1

  Tugas Praktikum 1.2

E. PRAKTIKUM

  Data dan Analisis hasil percobaan :

  A. Output

  1. Jalankan kelas Output1 – Output4 dan benahi jika menemukan kesalahan! Jawaban : Tidak ada kesalahan.

  2. Pada Kelas Output2 baris keempat hapus tanda + kemudian amati apa yang terjadi dan jelaskan! Jawaban : Akan muncul pemberitahuan error yang di tunjukan adanya tanda seru(!) merah di baris tersebut. Namun program masih dapat di jalankan tapi output tidak sesuai yang diharapkan.

  Pada code ini akan menghasilkan output biasa s untuk “Pemrograman Java” dan c untuk “|”, tanpa ada penambahan karakter baru.

  System.out.printf("30sc\n","Pemrograman Java",'|'); 30s disini berarti panjang String akan di tambah 30 karakter, bertambah dengan karakter Spasi sebelum String awal(“Pemrograman Java”).

  System.out.printf("-30sc\n","Pemrograman Java",'|'); 30s disini berarti panjang String akan di tambah 30 karakter, bertambah dengan karakter Spasi setelah String awal(“Pemrograman Java”).

  System.out.printf("30.5sc\n","Pemrograman Java",'|'); 30.5s disini berarti panjang String akan di tambah 30 karakter sebelum String awal, dan bentuk String yang akan di tampilkan hanya 5 karakter saja menjadi(“Pemro”).

  4. Pada kelas output3 baris 3 ganti karakter ‘|’ menjadi ‘ab’ amati dan jelaskan! Jawaban: Akan muncul pemberitahuan error yang di tunjukan adanya tanda seru(!) merah di baris tersebut.

  System.out.printf("-30.8sc\n","Pemrograman Java",'|');

  -30.8s disini berarti panjang String akan di tambah 30 karakter setelah String awal, dan bentuk String yang akan di tampilkan hanya 8 karakter saja menjadi(“Pemrogra”).

  6. Pada kelas Output4 tambahkan kode program yang mencentak nilai x dengan format 2 angka dibelakang koma! Jawaban : System.out.printf(".2f\n",x); 6. Pada kelas Output4 tambahkan kode program yang mencentak nilai x dengan format 2 angka dibelakang koma! Jawaban : System.out.printf(".2f\n",x);

  

  8. Dari ketiga jenis output tersebut simpulkan dan temukan perbedaannya! Jawaban :

  System.out.println(); Melakukan cetak di baris baru, memanjang ke bawah. System.out.print(); Melakukan cetak memanjang ke samping.

  2. Setelah baris 5 tambahkan syntax untuk mengurangkan nilai dari variabel nilai dan nilai_2, amati yang terjadi dan jelaskan! (benahi jika menemukan kesalahan). Jawaban :

  Nilai dari variabel hasil akan berubah berkurang yang awalnya 15,3 menjadi

  Akan muncul pemberitahuan “incompatible types” karena tipe data char hanya dapat digunakan untuk karakter saja bukan digunakan untuk memberikan nilai berupa kata maupun kalimat.

  4. Tambahkan variabel dengan nama nilai3 yang bertipe data integer dan diberi nilai awal 100 kemudian lakukan pembagian yang disimpan pada variabel hasil kemudian cetak menggunakan kelas System! Jawaban :

  6. Jelaskan perbedaan antara no 4 dan no 5! Jawaban : Perbedaannya hanya pada penulisan syntax pada statemen atau perintah System.out.print(); saja. Kalau di no 4 kita hanya tinggal memangil variabel hasil saja. Sedangkan pada no 5 kita harus menuliskan operasi pembagian antara variabel nilai_2 dengan nilai si perintah System.out.println();. Untuk output yang di hasilkan akan sama saja.

  C. Input

  1. Jalankan kelas Input dan benahi jika menemukan kesalahan! Jawaban :

  Akan muncul pemberitahuan “incompatible types” karena pada pendeklarasian awal variabel nilai1 menggunaka tipe data integer. Sedangkan inputnya menggunakan nextDouble() maka akan terjadi ketidak cocokan.

  3. Tambahkan perintah untuk memasukkan nama dan NIM user dan ditampilkan pada akhir program! Jawaban :

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

  BAB

  : SELEKSI KONDISI

  NAMA

  : MOH. ARIF ANDRIAN

  NIM

  : 156150600111002

  TANGGAL : 13102015 ASISTEN

  : - PUJO PRASETYO AJI

- FADHILATUR RAHMAH

A. DEFINISI MASALAH

  1. Buatlah program sebagai berikut dengan menggunakan metode switch case Menu :

  1. menghitung luas dan keliling persegi panjang

  2. menghitung luas dan keliling lingkaran

  3. menghitung luas dan keliling segitiga

  Pilihan anda

  :3

  Masukkan a

  :3

  Masukkan b

  :4

  Masukkan r

  :5

  Keliling segitiga : 12 cm Luas segitiga

  : 6 cm2

  Pilihan anda

  : 10

  Berat badan (kg)

  Tinggi badan (m)

  IMT = 29,08

  Termasuk gemuk

  3. Susun program untuk masalah pengajian sebagai berikut : Masukan yang dibutuhkan oleh program adalah : jumlah jam kerja tiap minggu.Keluaran program adalah : total upah dari pegawai tertentu. Aturan yang diterapkan adalah : -

  Batas kerja maksimal adalah 60 jam minggu, dengan upah Rp. 5000,- jam. Kelebihan jam kerja dari batas maksimum akan dianggap sebagai lembur dengan upah Rp. 6000,- jam.

  Batas kerja minimal adalah 50 jam minggu. Apabila pegawai mempunyai jam kerja di bawah batas kerja minimal ini, maka akan dikenakan denda sebesar Rp. 1000,- jam.

  Contoh tampilan :

  Jam kerja : 55 Upah

  --------------------- Total

  = Rp. 275000

A. SOURCE CODE

  Tugas Praktikum 2.1

  1 package Praktikum2; 2 import java.util.Scanner; 3 public class Tugas1 {

  4 public static void main(String[] args) {

  5 Scanner input = new Scanner(System.in); 6 System.out.println("Menu : "); 7 System.out.println("1. menghitung luas dan keliling

  persegi panjang");

  8 System.out.println("2. menghitung luas dan keliling lingkaran");

  9 System.out.println("3. menghitung luas dan keliling segitiga");

  10 System.out.print("Masukkan pilihan : "); 11 int pilihan = input.nextInt(); 12 float luas, keliling; 13 switch(pilihan){

  14 case 1 :

  15 System.out.println("Menghitung Luas dan Keliling Persegi Panjang");

  16 System.out.print("Masukkan panjang : "); 17 float panjang = input.nextInt();

  18 System.out.print("Masukkan Lebar : "); 19 float lebar = input.nextInt();

  39 System.out.print("Masukkan tinggi : "); 40 float tinggi = input.nextFloat(); 41 System.out.print("Masukkan Sisi miring : "); 42 float sm = input.nextInt(); 43 luas = (float) (0.5(alastinggi)); 44 keliling = alas+tinggi+sm; 45 System.out.printf("Luas Segitiga : .0f

  cm\n",luas);

  46 System.out.printf("Keliling Segitiga : .0f

  cm2\n",keliling);

  47 break; 48 default :

  49 System.out.println("Data tak ditemukan, program

  Tugas Praktikum 2.2 1 package Praktikum2;

  2 import java.util.Scanner; 3 public class Tugas2 {

  4 public static void main(String[] args) {

  5 Scanner input = new Scanner(System.in); 6 System.out.println("Index Massa Tubuh (IMT)"); 7 System.out.print("Berat Badan (kg) : ");

  Tugas Praktikum 2.3 1 package Praktikum2; 2 import java.util.Scanner; 3 public class Tugas3 {

  4 public static void main(String[] args) {

  5 Scanner input = new Scanner(System.in); 6 System.out.print("Jam Kerja : "); 7 int jamkerja = input.nextInt(); 8 int max = 60; 9 int min = 50; 10 int jam, upah ,lembur ,denda ,total; 11 upah=0; lembur=0; denda=0; 12 if (jamkerja>max){

  13 jam = jamkerja - max; 14 upah = max5000; 15 lembur = jam6000;

  16 } 17 else if (jamkerja>=min jamkerja<=max){

  18 upah = jamkerja5000; 19 } 20 else if (jamkerja

  21 jam = min - jamkerja; 22 denda = jam1000; 23 upah = jamkerja5000;

  24 } 25 total = upah+lembur-denda;

  10 Menampilkan perintah untuk memasukan nilai ke variabel pilihan berdasarkan opsi yang telah di berikan di atas.

  11 Melakukan proses penyimpanan nilai yang telah di masukkan ke variabel pilihan.

  12 Deklarsi dari dua variabel yang bertipe data float yang bernama luas dan keliling.

  13 Memilih tindakan yang akan dijalankan sesuai dengan input yang dimasukkan pada variabel pilihan.

  14 Menjalankan perintah yang ada pada kondisi 1 apabila nilai dari variabel pilihan sama dengan 1.

  15 Menampilkan “Menghitung Luas dan Keliling Persegi Panjang”.

  16 Menampilkan perintah untuk memasukkan nilai ke variabel panjang.

  17 Melakukan proses penyimpanan nilai yang telah di masukkan ke variabel panjang.

  18 Menampilkan perintah untuk memasukan nilai ke variabel lebar.

  19 Melakukan proses penyimpanan nilai yang telah di masukkan ke variabel lebar.

  20 Melakukan proses perkalian antara variabel panjang dan lebar(sesuai rumus luas persegi panjang) yang disimpan pada varibel luas.

  21 Melakukan proses penghitungan variabel panjang ditambah lebar lalu di kalikan dua(sesuai rumus keliling persegi panjang) yang di simpan pada variabel keliling.

  22 Menampilkan nilai dari variabel luas. Di mana .0f digunakan untuk menampilkan tipe data yang berbentuk float dan menghilangkan nilai koma di belakangnya.

  23 Menampilkan nilai dari variabel keliling.

  24 Digunakan untuk menghentikan proses yang terjadi apabila perintah untuk eksekusi telah dilaksanakan atau batasan dari masing-masing kondisi.

  25 Menjalankan perintah yang ada pada kondisi 2 apabila nilai dari variabel pilihan sama

  42 Melakukan proses penyimpanan nilai yang telah di masukkan ke variabel sm.

  43 Melakukan proses penghitungan variabel alas dikalikan tinggi dibagi 0,5(sesuai rumus luas Segitiga), yang disimpan pada variabel luas.

  44 Melakukan proses perhitungan variabel alas ditambah tinggi ditambah sm, yang di simpan pada variabel keliling.

  45 Menampilkan nilai dari variabel luas. Di mana .0f digunakan untuk menampilkan tipe data yang berbentuk float dan menghilangkan nilai koma di belakangnya.

  46 Menampilkan nilai dari variabel keliling.

  47 Digunakan untuk menghentikan proses yang terjadi apabila perintah untuk eksekusi telah dilaksanakan atau batasan dari masing-masing kondisi.

  48 Jika pilihan yang dimasukkan tidak ada yang memenuhi kriteria dari masing-masing kondisi maka statement yang berada pada default akan diproses.

  49 Menampilkan “Data tak ditemukan, program dihentikan ...”.

  50 Menutup kondisi fungsi switch-case.

  51 Menutup deklarasi methode main.

  52 Menutup deklarasi class Tugas1.

  Tugas Praktikum 2.2

  1 Deklarasi dari package yang bernama Praktikum2.

  2 Melakukan import dari package Scanner, untuk menggunakan fungsi scanner pada program.

  3 Deklarasi dari class yang bernama Tugas2.

  4 Deklarasi dari methodfungsi main, untuk menjalankan program.

  Tugas Praktikum 2.3

  1 Deklarasi dari package yang bernama Praktikum2.

  2 Melakukan import dari package Scanner, untuk menggunakan fungsi scanner pada program.

  3 Deklarasi dari class yang bernama Tugas2.

  4 Deklarasi dari methodfungsi main, untuk menjalankan program.

  5 Deklarasi variabel Scanner dengan nama variabel input.

  6 Menampilkan perintah untuk memasukkan nilai ke variabel jamkerja.

  7 Melakukan proses penyimpanan nilai yang telah di masukkan ke variabel jamkerja.

  8 Deklarasi dan inisialisasi variabel yang bernama max yang bertipe integer dimana nilai dari variabel ini adalah batas jam kerja maksimal(60 jam) selama seminggu.

  9 Deklarasi dan inisialisasi variabel yang bernama min yang bertipe integer dimana nilai dari variabel ini adalah batas jam kerja minimal(50 jam) selama seminggu.

  10 Deklarasi lima variabel yang bertipe integer yang bernama jam, upah, lembur, denda

  11 dan total. Inisialisasi variabel upah, lembur dan denda dengan nilai awal sama dengan 0.

  12 Jika kondisi jamkerja lebih besar dari max, maka

  13 Melakukan proses penghitungan variabel jam sama dengan jamkerja dikurangi max.

  14 Melakukan proses penghitungan variabel upah sama dengan max dikali 5000(upah per jamnya).

  15 Melakukan proses penghitungan variabel lembur sama dengan jam dikali 6000(upah lembur per jamnya).

C. SCREENSHOT PROGRAM

  Tugas Praktikum 2.1

  Tugas Praktikum 2.3

D. PRAKTIKUM

  Data dan Analisis hasil percobaan :

A. Conditional Assignment

  1. Jalankan file constAss.java dan benahi jika menemukan kesalahan! Jawaban : Tidak ada kesalahan.

  2. Ubah kode diatas pada baris ke empat dengan merubah type data String menjadi int, amati yang terjadi kemudian jelaskan!

  Jawaban :

  Source code.

  Jika inputan Nama salah.

  Jika inputan NIM salah.

  2. Masukkan nilai 30, 60 dan 80 saat program dijalankan, dan jawablah dengan screenshot hasil keluaran dari program! Jawaban :

  3. Pada

  baris

  ubahlah

  kode

  program

  menjadi

  C. Nested If

  1. Jalankan file seleksi2.java dan benahi jika menemukan kesalahan! Jawaban : Tidak ada kesalahan.

  Pada kondisi pertama ditanya apakah nilai di kalikan 2 kurang dari 50, jika iya maka nilai akan di tambah dengan angka 10, jika tidak maka akan langsung menuju kondisi ke dua. Karena 5 x 2 = 10, dan 10 kurang 50 maka disini 5 di tambahkan dengan angka 10 jadi nilai sekarang = 15.

  Pada kondisi kedua di tanya apakah nilai <= 20 jika iya maka cetak “Filkom”, jika tidak maka cetak “PTIIK”. Karena nilai = 15 dan 15 kurang dari

  20, maka akan tercetak “Filkom”.

  Pada kondisi selanjutnya di tanya apakah nilai jika di modulus 2 hasilnya = 1. Jika iya maka cetak “UB”, jika tidak cetak “Brawijaya”. Karena nilai = 15 dan 15 di modulus 2 = 1, maka akan tercetak “UB”.

  Pada kondisi pertama ditanya apakah nilai di kalikan 2 kurang dari 50, jika iya maka nilai akan di tambah dengan angka 10, jika tidak maka akan langsung menuju kondisi ke dua. Karena 20 x 2 = 40, dan 40 kurang 50 maka disini 20 di tambahkan dengan angka 10 jadi nilai sekarang = 30.

  Pada kondisi kedua di tanya apakah nilai <= 20 jika iya maka cetak “Filkom”, jika tidak maka cetak “PTIIK”. Karena nilai = 30 dan 30 lebih dari

  3. Ubah kode diatas dengan memanfaatkan operasi and! Jawaban :

  D. Switch case

  1. Jalankan file seleksi3.java dan benahi jika menemukan kesalahan! Jawaban : Tidak ada kesalahan.

  2. Pada baris 18,22,26,30 dan 34 hapus kode break, pengaruh apa yang terjadi setelah pengubahan kode tersebut! Jawaban :

  3. Apa perbedaan seleksi kondisi dengan menggunakan switch case dan if-else, dan kapan kita harus menggunakan if-else dan kapan menggunakan switch case? Jawaban : switch-case : percabangan yang digunakan saat kita memiliki banyak kondisi (lebih dari 2) dan banyak pernyataan (lebih dari 2). Sebenarnya switch-case ini hampir sama dengan else if, hanya saja sintaksnya yang berbeda. If-else : Percabangan if else digunakan saat kita memiliki dua pernyataan dengan syarat tertentu.

E. KESIMPULAN

  Percabangan adalah suatu pilihan atau opsi dengan kondisi tertentu. Jika kondisi yang menjadi syarat terpenuhi, maka opsi atau pilihan dijalankan, jika tidak maka sebaliknya. Dalam java terdapat 4 macam jenis percabangan, if, if-else, else- if, dan juga switch. Keempat jenis ini memiliki penggunaan masing-masing. Berikut penjelasan mengenai penggunaan tiap-tiap percabangan :  if :

  Percabangan if ini digunakan jika kita hanya memiliki satu pernyaatan yang akan dijalankan dengan syarat tertentu. Sintaks if seperti berikut : Contoh :

  } Output : program akan menampilkan nilai a = 0, karena kondisi if bernilai benar,

  jika pada inisialisasi nilai a tidak bernilai 0, maka program akan menampilkan nilai

  a = 1.  else -if :

  percabangan yang digunakan saat kita memiliki banyak kondisi (lebih dari 2) dan banyak pernyataan (lebih dari 2). Sintaks dari else-if seperti berikut : Contoh : public class coba{ public static void main (String [] args){ int a=2; if (a==0)

  System.out.println("Nilai a = 0"); else if(a==1)

  System.out.println("Nilai a = 1"); else if(a==2)

  System.out.println("Nilai a = 2");

  } Output : Program akan menampilkan nilai a = 2 saja, karena pada else-if yang

  ketiga atau dengan pernyataan a==2 bernilai benar, sedangkan pernyataan yang lain tidak dijalankan karena kondisi tidak memenuhi.

   switch-case :

  pernyataan akan dijalankan. Break digunakan untuk keluar dari switch-case saat 1 pernyataan sudah dijalankan.

  Operator digunakan untuk melakukan operasi, perintah perhitungan, dan segala aksi yang ingin dimasukkan ke dalam program.

1. Operator Aritmatika

  (+) Operator penjumlahan (juga sebagai penyambung string) (-) Operator pengurangan () Operator perkalian () Operator pembagian () Operator sisa pembagian Operator aritmatika digunakan untuk melakukan operasi matematika, seperti penambahan, pengurangan, pembagian, dan modulo (sisa pembagian). Contoh penggunaan:

  Simbol Nama Operator

  Contoh Penggunaan

  +

  Penjumlahan

  n=n+1;

  -

  Pengurangan

  n=n-1;

  Perkalian

  n=n1;

  Simbol Nama

  Menyatakan nilai positif

  Menyatakan nilai negatif

  angka = -1;

  Kenaikan Menambah bilangan dengan 1 angka =++angka;

  Penurunan Mengurangi bilangan dengan 1 angka = --angka;

  Lawan

  Membalik nilai suatu boolean ok = !true

3. Operator Pembanding, Boolean, dan Kondisi

  Operator kondisi (conditional operator) menghasilkan nilai true atau false tergantung dari variabelnya, dalam hal ini operasinya dilakukan pada dua operand. Operator boolean adalah operator kondisi yang kedua operandnya berupa nilai boolean (true atau false), sedangkan Operator Pembanding membandingkan 2 nilai seperti pada operasi matematika.

  Pada program tugas praktikum satu di situ kita belajar bagaimana penggunaan switch-case dan penerapanya pada pemecahan masalah yang di berikan. Kita dapat melakukan tiga bentuk pemecahan masalah 1)menghitung luas dan keliling persegi panjang. 2) menghitung luas dan keliling lingkaran. 3) menghitung luas dan keliling Segitiga. Dengan membaginya dalam case atau pilihan sehingga tiga masalah tersebut bisa digabungkan dalam sebuah program.

  Sedangkan pada tugas peraktikum dua kita belajar bagaimana penggunan if-else untuk memecah beberapa kondisi yang telah di tentukan pada masalah(soal) yang telah di berikan. Program tugas praktikum dua berkaitan dengan menetukan kriteria IMT (Indeks Massa Tubuh) di mana ada penentuan empat kriteria yamg sudah dijelaskan pada soal dan kita membuat implementasiannya dalam sebuah progaram yaitu menggunakan fungsi if-else.

  Untuk tugas praktikum tiga sama halnya seperti tugas praktikum dua yaitu menggunakan fungsi if-else. Di sini kita diharuskan untuk membuat program pemecahan masalah sistem penggajian di mana ada penghitungan uang lembur dan uang denda dengan kondisi yang telah ditentukan pada soal.

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

  BAB

  : PERULANGAN

  NAMA

  : MOH. ARIF ANDRIAN

  NIM

  TANGGAL : 17112015 ASISTEN

  : - PUJO PRASETYO AJI

- FADHILATUR RAHMAH

A. DEFINISI MASALAH

  1. Buatlah program dengan tampilan sebagai berikut :

  Masukkan nilai n = 4

  2. Buatlah looping yang menuliskan nama anda secara vertikal, dengan huruf yang sesuai dengan huruf yang di tulisan Contoh menuliskan A :

  A

A. SOURCE CODE

  Tugas Praktikum 3.1

  1 package Praktikum3; 2 import java.util.Scanner; 3 public class Tugas1 {

  4 public static void main(String[] args) {

  5 Scanner in = new Scanner(System.in); 6 System.out.print("Masukkan nilai n : "); 7 int n = in.nextInt(); 8 for (int baris = 1; baris <= n; baris++) {

  9 for (int spasi = n-1; spasi >= baris; spasi--) {

  10 System.out.print(" "); 11 } 12 for (int bintang = 1; bintang <= baris;

  bintang++){

  13 System.out.print(" "); 14 } 15 System.out.println(" ");

  16 }

  17 18

  Tugas Praktikum 3.2 1 package Praktikum3;

  26 for (baris = 0; baris < n; baris++) {

  27 for (huruf = 0; huruf < n; huruf++) {

  28 if (huruf == 0 || huruf == (baris) || huruf ==

  5) {

  29 System.out.print(" N"); 30 } else { 31 System.out.print(" "); 32 }

  33

  34 System.out.println(""); 35 } 36 System.out.println(""); 37 Huruf D 38 for (baris = 0; baris < n; baris++) {

  39 for (huruf = 0; huruf < n; huruf++) { 40 if (huruf == 0) { 41 System.out.print(" "); 42 }

  43

  44 for (huruf = 0; huruf < n - 2; huruf++) {

  45 if (baris == n - 1 || baris == n - 6) {

  46 System.out.print(" D"); 47 }

  48

  49 for (huruf = 0; huruf < n; huruf++) {

  50 if (huruf == 0 || huruf == 4) {

  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

  } System.out.println("");

  } System.out.println(""); Huruf I for (baris = 0; baris < n; baris++) {

  for (huruf = 0; huruf < n; huruf++) { if (huruf == 3) { System.out.print("I"); } else { System.out.print(" "); }

  System.out.println(""); } System.out.println(""); huruf A for (baris = 0; baris < n; baris++) {

  for (spasi = 0; spasi < (n - baris); spasi++) {

  System.out.print(" "); } for (huruf = 0; huruf < ((2 baris) + 1);

  huruf++) {

  if (baris == 0 || baris == (n - 3)) {

  System.out.print("A");

  Tugas Praktikum 3.3 1 package Praktikum3;

  2 import java.util.Scanner; 3 public class Tugas3 {

  4 public static void main(String[] args) {

  5 int pilihan; 6 do {

  7 System.out.println("\nMENU :"); 8 System.out.println("0. KELUAR"); 9 System.out.println("1. HITUNG VOLUME BALOK"); 10 System.out.println("2. HITUNG VOLUME BOLA"); 11 System.out.println("3. HITUNG VOLUME KERUCUT"); 12 System.out.println("4. HITUNG VOLUME SILINDER"); 13 System.out.println("5. HITUNG VOLUME LIMAS

  SEGITIGA");

  14 System.out.print(" MASUKKAN PILIHAN ANDA : "); 15 Scanner in = new Scanner(System.in); 16 pilihan = in.nextInt(); 17 if (pilihan == 0) {

  18 System.out.println("\nTerima Kasih..."); 19 break;

  20 } else if (pilihan == 1) {

  21 System.out.println("\nMENGHITUNG VOLUME BALOK

  ");

  22 System.out.print("Masukkan panjang : ");

  43 double t = in.nextDouble(); 44 double volume = (double) (phi Math.pow(r, 2)

  t) 3;

  45 System.out.println("Volume : " + volume + "

  cm3");

  46 } else if (pilihan == 4) {

  47 System.out.println("\nMENGHITUNG VOLUME

  SILINDER ");

  48 double phi = (double) 3.14; 49 System.out.print("Masukkan Radius : "); 50 double r = in.nextDouble(); 51 System.out.print("Masukkan tinggi : "); 52 double t = in.nextDouble(); 53 double volume = (double) (phi Math.pow(r, 2)

  t);

  54 System.out.println("Volume : " + volume + "

  cm3");

  55 } else if (pilihan == 5) {

  56 System.out.println("\nMENGHITUNG VOLUME LIMAS

  SEGITIGA ");

  57 System.out.print("Masukkan panjang : "); 58 int p = in.nextInt(); 59 System.out.print("Masukkan Lebar : "); 60 int l = in.nextInt(); 61 System.out.print("Masukkan tinggi : "); 62 int t = in.nextInt();

  nilai yang telah di masukkan ke variabel n.

  8 Melakukan proses perulangan dengan variabel baris sebagai InitializationExpression, Di mana loopCondition nya jika baris <= n, dan setelah pengecekan kondisi variabel baris akan di incrementkan atau stepExpresentnya. Pada dasarnya proses loop ini hanya untuk proses ganti baris pada program.

  9 Proses perulangan kedua untuk mencetak spasi atau daerah kosong berbentuk segitiga siku-siku terbalik dengan variabel spasi sebagai pusat loop. Deklarasi awal variabel baris = n-1, dengan loopCodition spasi >= n, karna mencetaknya berbentuk terbalik maka stepExpresentnya didecrementkan.(antara loop pertama dan kedua adalah loop bersarang).

  10 Menampilkan spasi statement dari loop ke dua.

  11 Akhir dari looping kedua.

  12 Proses looping ketiga adalah untuk mencetak bintang dengan bentuk segitiga siku- siku, dengan variabel bintang sebagai pusat proses loop. Deklarasi awal variabel bintang = 1, dengan loopCondition bintang <= baris, setelah itu variabel bintang di incrementkan.(antara loop pertama dan ketiga adalah loop bersarang, sedangkan loop kedua dengan ketiga adalah loop bertingkat.

  13 Menampilkan bintang statement dari loop ketiga.

  14 Akhit=r dari looping ketiga.

  15 Statement dari loop pertama untuk setiap pergantian baris.

  16 Akhir dari loop pertama.

  17 Menutup deklarasi methode main.

  18 Menutup deklarasi class Tugas1.

  12 Kondisi jika pada saat perulangan baris = 0 atau baris = n-3, maka akan melakukan statemen di bawahnya.

  13 Menampilkan huruf “A”.

  14 Kondisi selanjutnya jika selain baris = 0 atau baris = n-3, maka akan melakukan statement di bawahnya.

  15 Disini terdapat statement kondisi lagi jika huruf = 0 atau huruf =2x baris, maka akan melakukan statemen dibawah ini.

  16 Menampilkan huruf “A”.

  17 Selain kondisi diatas maka program kan mencetak statement di bawah ini.

  18 Menampilkan spasiarea kosong.

  19 Akhir dari statement kondisi nested if.

  20 Akhir dari kondisi else.

  21 Akhir dari loop huruf.

  22 Statement dari loop baris untuk setiap pergantian baris.

  23 Akhir dari loop baris.

  24 Melakukan perintah ganti baris.

  25 Komentar yang menunjukan huruf apa yang akan di cetak.

  26 Melakukan proses perulangan dengan variabel baris sebagai InitializationExpression, Di mana loopCondition nya jika baris < n, dan setelah pengecekan kondisi variabel baris akan di incrementkan atau stepExpresentnya. Pada dasarnya proses loop ini hanya untuk proses ganti baris pada program.

  27 Loop keduabersarang untuk mebentuk huruf N. Variabel huruf sebagai pusat loop, deklarasi variabel huruf = 0, dengan looCondition huruf < n, perintah increment untuk

  44 Loop ketigabersarang untuk mebentuk huruf D. Variabel huruf sebagai pusat loop, deklarasi variabel huruf = 0, dengan looCondition huruf < n-2, perintah increment untuk melakukan proses loop.

  45 Jika baris=n-1 atau baris=n-6 maka program akan melakukan statement dibawah ini.

  46 Menampilkan “ D”.

  47 Akhir statement.

  48 Akhir loop ketiga.

  49 Loop ketigabersarang untuk mebentuk huruf D. Variabel huruf sebagai pusat loop, deklarasi variabel huruf = 0, dengan looCondition huruf < n, perintah increment untuk melakukan proses loop.

  50 Jika huruf=0 atau huruf=4 maka kan melakukan statement dibawahnya.

  51 Percabangan dari if pertama, jika baris=0 atau baris=5, maka program akan melakukan perintah di bawahnya.

  52 Menampilkan spasiarea kosong. Akhir dari statemen kondisi.

  53 Jika selain kondisi if cabang diatas maka program akan melakukan perintah ini.

  54 Menampilkan huruf “ D”.

  55 Akhir dari kondisi

  56 Else untuk if pertama, jika selain pada kondisi di if pertama maka program akan melakukan statement di bawah ini.

  57 Menampilkan spasiarea kosong.

  58 Akhir dari kondisi else.

  59 Akhir loop huruf.

  60 Perintah untuk ganti baris.

  76 Akhir dari loop ketiga.

  77 Perintah untuk hganti baris.

  78 Akhir dari loop huruf.

  79 Perintah untuk ganti baris.

  80 Komentar yang menunjukan huruf apa yang akan di cetak.

  81 Melakukan proses perulangan dengan variabel baris sebagai InitializationExpression, Di mana loopCondition nya jika baris < n, dan setelah pengecekan kondisi variabel baris akan di incrementkan atau stepExpresentnya. Pada dasarnya proses loop ini hanya untuk proses ganti baris pada program.

  82 Loop keduabersarang untuk mebentuk huruf I. Variabel huruf sebagai pusat loop, deklarasi variabel huruf = 0, dengan looCondition huruf < n, perintah increment untuk melakukan proses loop.

  83 Jika huruf = 3 , maka

  84 Menampilkan huruf “I”. Sekaligus akhir kondisi.

  85 Selain kondisi diatas maka

  86 Menampilkan spasiarea kosong.

  87 Akhir kondisi else.

  88 Akhir dari loop kedua.

  89 Perintah untuk ganti baris.

  90 Akhir dari loop pertama.

  91 Perintah untuk ganti baris.

  92 Komentar yang menunjukan huruf apa yang akan di cetak.

  93 Melakukan proses perulangan dengan variabel baris sebagai InitializationExpression,

  105 Akhir dari statement kondisi nested if. 106 Akhir dari kondisi else. 107 Akhir dari loop huruf. 108 Statement dari loop baris untuk setiap pergantian baris. 109 Akhir dari loop baris. 110 Melakukan perintah ganti baris. 111 Komentar yang menunjukan huruf apa yang akan di cetak. 112 Melakukan proses perulangan dengan variabel baris sebagai InitializationExpression,

  Di mana loopCondition nya jika baris < n, dan setelah pengecekan kondisi variabel baris akan di incrementkan atau stepExpresentnya. Pada dasarnya proses loop ini hanya untuk proses ganti baris pada program.

  113 Loop keduabersarang untuk mebentuk huruf N. Variabel huruf sebagai pusat loop,

  deklarasi variabel huruf = 0, dengan looCondition huruf < n, perintah increment untuk melakukan proses loop.

  114 Disini terdapat statement kondisi jika huruf = 0 atau huruf = baris atau huruf=5, maka

  akan melakukan statemen dibawah ini. 115 Menampilkan huruf “ N”. 116 Jika selain kondisi diatas, maka program akan melakukan statement di bawah ini. 117 Menampilkan spasiarea kosong. 118 Akhir dari statement else. 119 Akhir dari loop huruf. 120 Statement dari loop baris untuk setiap pergantian baris. 121 Akhir dari loop baris.

  17 Kondisi jika pilihan = 0, maka program akan menjalankan stetement pada kondisi ini atau perintah untuk keluar dari program.

  18 Menampilkan “Terima kasih...”

  19 Perintah untuk mengakhiri program, sekaligus akhir dari statement kondisi pertama.

  20 Kondisi kedua jika pilihan = 1, maka program akan menjalankan stetement pada kondisi ini.

  21 Menampilkan “MENGHITUNG VOLUME BALOK”.

  22 Menampilkan perintah untuk memasukkan nilai ke variabel p.

  23 Melakukan proses penyimpanan nilai yang telah di masukkan ke variabel p.

  24 Menampilkan perintah untuk memasukkan nilai ke variabel l.

  25 Melakukan proses penyimpanan nilai yang telah di masukkan ke variabel l.

  26 Menampilkan perintah untuk memasukkan nilai ke variabel t.

  27 Melakukan proses penyimpanan nilai yang telah di masukkan ke variabel t.

  28 Deklarsai dari variabel volume dengan inisialisasi nilai dari perkalian variabel p,l,t. Sesuai dengan rumus Balok.

  29 Menampilkan nilai dari variabel volume, sekaligus akhir dari statement kondisi.

  30 Kondisi kedua jika pilihan = 2, maka program akan menjalankan stetement pada kondisi ini.

  31 Menampilkan “MENGHITUNG VOLUME BOLA”.

  32 Deklarasi dari variabel phi yang bertipe double dengan inisialisasi nilai 3,14.

  33 Menampilkan perintah untuk memasukkan nilai ke variabel radius.

  34 Melakukan proses penyimpanan nilai yang telah di masukkan ke variabel radius.

  35 Deklarsai dari variabel volume dengan inisialisasi nilai dari perkalian variabel

  54 Menampilkan nilai dari variabel volume. sekaligus akhir dari statement kondisi

  55 Kondisi kelima jika pilihan = 5, maka program akan menjalankan stetement pada kondisi ini.

  56 Menampilkan “MENGHITUNG VOLUME LIMAS SEGITIGA”.

  57 Menampilkan perintah untuk memasukkan nilai ke variabel p.

  58 Melakukan proses penyimpanan nilai yang telah di masukkan ke variabel p.

  59 Menampilkan perintah untuk memasukkan nilai ke variabel l.

  60 Melakukan proses penyimpanan nilai yang telah di masukkan ke variabel l.

  61 Menampilkan perintah untuk memasukkan nilai ke variabel t.

  62 Melakukan proses penyimpanan nilai yang telah di masukkan ke variabel t.

  63 Deklarsai dari variabel volume dengan inisialisasi nilai dari perhitungan, Sesuai dengan rumus Silinder.

  64 Menampilkan nilai dari variabel volume. sekaligus akhir dari statement kondisi

  65 Kondisi terakhir jika pilihan tidak ada pada kondisi, maka program akan menjalankan stetement pada kondisi ini.

  66 Menampilkan “Inputan Tidak Sesuai...”.

  67 Perintah untuk mengakhiri program.

  68 Akhir dari statement kondisi.

  69 Perulangan dengan kondisi pilihan tidak sama dengan 0. Maka program akan tetap berjalan jika pilihan != 0.

  70 Menutup deklarasi methode main.

  71 Menutup deklarasi class Tugas3.

C. SCREENSHOT PROGRAM

  Tugas Praktikum 3.1

  Tugas Praktikum 3.2

  Tugas Praktikum 3.3

D. PRAKTIKUM

  Data dan Analisis hasil percobaan :

A. Looping For

  1. Jelaskan dan perbaiki jika menemui kesalahan! Jawaban : Tidak ada kesalahan.

  2. Apa fungsi dan variabel nilai dalam statemen for? Jawaban : Sebagai InitializationExpression yaitu inisialisasi dari variabel loop (memberikan nilai awal loop) dan sebagai penyimpanan dari nilai loop.

  3. Dalam statemen for hapus StepExpression , kemudian apa yang terjadi, jelaskan! Jawaban :

  Jawaban : Jika InitializationExpression dihapus :

  Maka pada NetBeans akan muncul tanda seru dan meberitahukan bahwa kita harus menginisialisasi variabel, dan jika program dijalankan akan error “ Uncompilable source code - variable nilai might not have been initialized ”

  Jika LoopCondition dihapus :

  Maka terlihat tidak terjadi kesalahan apa-apa, namun setelah di jalankan kita baru akan melihat kesalahan yang diakibatkan di hapusnya LoopCondition. Dan program akan mencetak angka 1 dan seterusnya sampai batas maksimal nilai variabel integer.

  Jika StepExpression di hapus :

  Maka program akan mencetak angka 1 terus-menerus sampai batas maksimal nilai variabel integer, karena proses looping tidak bisa mencapai LoopCondition atau kondisi saat dia berhenti menjalankan perintah perulangan.

  B. Looping While

  1. Jelaskan dan perbaiki jika menemui kesalahan! Jawaban : Tidak ada kesalahan.

  Kesalahan yang muncul akibat i++ dihapus, maka program akan mencetak angka 1 terus-menerus sampai batas maksimal nilai variabel integer, karena proses looping tidak bisa mencapai Syarat_perulangan atau kondisi saat dia berhenti menjalankan perintah perulangan.

  4. Ubah syntaks di atas untuk membuat deret angka kelipatan 2! Jawaban :

  - While menggunakan 1 parameter sedangkan 2 parameter lain (inisialisasi

  dan modifier dimasukkan ke dalam baris program), perulangan akan dilakukan dengan membandingkan syarat perulangan dengan kondisi saat itu hingga ditemukan kodisi salah satu pada syarat perulangan.

  - Do-while. Pengecekannya dilakukan di akhir. Sama seperti while

  menggunakan 1 parameter sedangkan 2 parameter lain (inisialisasi dan modifier dimasukkan ke dalam baris program)

  3. Hapus statement i++ pada baris 6, amati yang terjadi dan jelaskan! Jawaban :

  Kesalahan yang muncul akibat i++ dihapus, maka program akan mencetak angka 1 terus-menerus sampai batas maksimal nilai variabel integer, karena proses looping tidak bisa mencapai Syarat_perulangan atau kondisi saat dia berhenti menjalankan perintah perulangan.

  4. Ubah nilai dari variabel nilai baris ke 3 menjadi 11, amati yang terjadi dan jelaskan! Jawaban : Maka program langsung akan mencetak angka 11, karna angka 11 sudah lebih

  Untuk for kedua program akan melewati perintah jika kondisi sama dengan 5 dan angka 5 tidak tercetak, karna pemberian pernyataan continue;. Output (1,2,3,4,6,7,8,9,10).

  3. Hapus pernyataan break pada baris 7 dan tuliskan kembali pernyataan break setelah else baris ke 8, amati yang terjadi dan jelaskan! Jawaban : Coding akan error karna statemen if tidak ada atau kosong, syarat mutlak if harus memiliki ststement.

  4. Pada if penyataan continue baris ke 14 ubah pernyataan samadengan (==) menjadi pernyataan kurang dari samadengan (<=). Jawaban : Maka nilai yang akan tercetak adalah (6,7,8,9,10) karna saat nilai kurang dari sama dengan 5 perintah cetak nilai akan di lewati.

E. KESIMPULAN

  Perulangan di java dibagi menjadi 3, for, while dan do while. Setiap perulangan memiliki penggunaannya masing-masing. for : perulangan for digunakan saat kita mengetahui berapa banyak perulangan yang akan kita lakukan. Sintaks peulangan for seperti berikut : Contoh :

  a : merupakan variabel yang dirubah, a<5 : merupakan kondisi, dan a++ adalah pengubah

  while : perulangan while digunakan pada saat kita tidak mengetahui jumlah perulangan yang akan dilakukan tapi mengetahui kondisi atau syarat dilakukan perulangan. Contoh :

  Nested Loop Merupakan loop yang didalamnya terdapat loop lainya, dapat dalam bentuk for, while atau do … while. Contoh :

  Pada praktikum ini kita belajar bagaimana penggunaan looping dan penerapanya pada pemecahan masalah yang di berikan. Kita juga belajar macam-macam looping, ada looping bersarang dan bertingkat.

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

  BAB

  : TIPE DATA ARRAY

  NAMA

  : MOH. ARIF ANDRIAN

  NIM

  TANGGAL : 08122015 ASISTEN

  : - PUJO PRASETYO AJI

- FADHILATUR RAHMAH

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

  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

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

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

  48 System.out.println("Inputan Anda tidak

  sesuai...");

  49 break;

  50 } 51 } while (pilihan != 7 pilihan <=7 pilihan>0);

  52 } 53 public static void LihatData(int data[]) {

  54 for (int i = 0; i < data.length; i++) { 55 System.out.print(data[i] + " "); 56 } 57 System.out.println("");

  58 } 59 public static double Average(int data[]) {

  60 int sum = 0; 61 for (int i = 0; i < data.length; i++) {

  62 sum += data[i]; 63 } 64 double average = (double) sum data.length; 65 return average;

  66 } 67 public static int Sum(int data[]) {

  68 int sum = 0; 69 for (int i = 0; i < data.length; i++) {

  70 sum += data[i]; 71 } 72 return sum;

  Tugas Praktikum 4.2 1 package Praktikum4; 2 import java.util.Scanner; 3 public class Tugas2 {

  4 public static void main(String[] args) {

  5 Scanner in = new Scanner(System.in); 6 String[][] kereta = new String[][]{

  7 {"Jenis", "Harga", "Diskon", "AC", "Colokan"}, 8 {"Ekonomi", "50000", "2 ", "Tidak ada", "Tidak

  ada"},

  9 {"Bisnis", "100000", "5 ", "Ada", "Tidak ada"}, 10 {"Eksekutif", "200000", "7 ", "Ada", "Tidak

  ada"},

  11 {"Pariwisata", "300000", "10 ", "Ada", "Ada"} 12 }; 13 int harga[] = {50000, 100000, 200000, 300000}; 14 int diskon[] = {2, 5, 7, 10}; 15 int[] tiket = new int[10]; 16 String[] nama = new String[10]; 17 String[] no = new String[10]; 18 int counter = 0; 19 int total[] = new int[10]; 20 int sumTotal = 0; 21 for (int i = 0; i == 0;) {

  22 System.out.println("1. Melihat Daftar Kereta

  Api");

  46 System.out.print("Masukkan pilihan tiket:

  ");

  47 tiket[counter] = in.nextInt(); 48 in.nextLine(); 49 System.out.print("Masukkan nama: "); 50 nama[counter] = in.nextLine(); 51 System.out.print("Masukkan nomer

  identitas: ");

  52 no[counter] = in.nextLine(); 53 int j = tiket[counter] - 1; 54 total[counter] = harga[j] - ((harga[j]

  diskon[j]) 100);

  55 sumTotal += total[counter]; 56 counter++; 57 System.out.println(""); 58 break;

  59 case 5:

  60 System.out.println("Tiket yang Anda

  Pesan : ");

  61 for (int k = 0; k < counter; k++) {

  62 System.out.println("Tiket ke-" + (k +

  1));

  63 System.out.print(kereta[tiket[k]][0] +

  " atas nama (" + nama[k] + ") dengan No. identitas (" + no[k] + "), \n");

  64 System.out.println("Harga : Rp." +

  86 for (int j = 0; j < kereta.length; j++) {

  87 for (int k = 0; k < kereta.length; k++) {

  88 if (j != 1) {

  89 System.out.printf("-11s", kereta[j][k]); 90 }

  92 if (j != 1) {

  93 System.out.println(""); 94 }

  96 System.out.println("");

  97 } 98 public static void KeretaColokan(String kereta[][]) {

  99 for (int j = 0; j < kereta.length; j++) {

  for (int k = 0; k < kereta.length; k++) {

  System.out.printf("-11s", kereta[j][k]);

  System.out.println("");

  System.out.println("");

C. PEMBAHASAN

  Tugas Praktikum 4.1

  1 Deklarasi dari package yang bernama Praktikum4.

  2 Melakukan import dari package Scanner, untuk menggunakan fungsi scanner pada program.

  3 Deklarasi dari class yang bernama Tugas1.

  4 Deklarasi dari methodfungsi main, untuk menjalankan program.

  5 Deklarasi dari variabel array yang bernama data yang diinisialisai dengan nilai awal pendeklarasian 0.

  6 Deklarasi dari variabel yang bernama pilihan dengan tipe data integer untuk menjalankan proses iterasi do-while pada program.

  7 Proses perulangan dengan menggunakan fungsi do-while.

  8 Menampilkan “MENU ”

  9 Menampilkan “1. Input Data”

  10 Menampilkan “2. Lihat Data”

  11 Menampilkan “3. Average”

  12 Menampilkan “4. Sum”

  13 Menampilkan “5. Max”

  14 Menampilkan “6. Min”

  15 Menampilkan “7. Keluar”

  16 Deklarasi variabel Scanner dengan nama variabel in.

  17 Menampilkan perintah untuk memasukan nilai ke variabel pilihan berdasarkan opsi

  30 Melakukan pemanggilan method LihatData dengan memberikan parameter variabel data yang di butuhkan oleh method tersebut untuk menampilka prosesinformasi yang ada pada method LihatData. Informasi data pada masing-masing indeks array data.

  31 Menghentikan proses yang terjadi apabila perintah untuk eksekusi telah dilaksanakan atau batasan dari kondisi pilihan sama dengan 2.

  32 Menjalankan perintah yang ada pada kondisi 3 apabila nilai dari variabel pilihan sama dengan 3.

  33 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.

  34 Menghentikan proses yang terjadi apabila perintah untuk eksekusi telah dilaksanakan atau batasan dari kondisi pilihan sama dengan 3.

  35 Menjalankan perintah yang ada pada kondisi 4 apabila nilai dari variabel pilihan sama dengan 4.

  36 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.

  37 Menghentikan proses yang terjadi apabila perintah untuk eksekusi telah dilaksanakan atau batasan dari kondisi pilihan sama dengan 4.

  38 Menjalankan perintah yang ada pada kondisi 5 apabila nilai dari variabel pilihan sama dengan 5.

  50 Akhir dari statement fungsi switch-case.

  51 Perulangan akan tetap berjalan kondisi pilihan tidak sama dengan 7 dan pilihan kurang dari sama dengan 7 serta jika pilihan lebih besar dari 0.

  52 Menutup deklarasi methode main.

  53 Deklarasi dari methodfungsi LihatData, untuk mengetahui masing-masing data yang telah di masukkan pada array.

  54 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.

  55 Menampilkan nilai yang ada pada indeks array.

  56 Akhir dari statement perulangan.

  57 Menampilkan perintah ganti baris setelah proses looping selesai.

  58 Akhir dari deklarasi method LihatData.

  59 Deklarasi dari methodfungsi Average, untuk mengetahui rata-rata dari data yang telah di masukkan pada array.

  60 Deklarasi dari variabel sum yang bertipe data integer yang di inisialisasi dengan nilai awal 0.

  61 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.

  62 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.

  75 Deklarasi dari variabel max yang bertipe data integer yang di inisialisasi dengan nilai awal dari indeks ke-0 array.

  76 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.

  77 Melakukan proses pengecekan statemen kondisi jika data pada indeks array lebih besar dari nilai variabel max,

  78 Maka nilai dari variabel max sama dengan data array pada indeks tersebut.

  79 Akhir dari statement kondisi

  80 Akhir dari statement perulangan.

  81 Mengembalikan nilai dari variabel max, dimana nilai ini adalah nilai yang akan di panggil pada method yang ada pada case ke-5.

  82 Akhir dari pendeklarasian method Max.

  83 Deklarasi dari methodfungsi Min, untuk mengetahui nilai terkecil dari semua data yang telah di masukkan pada array.

  84 Deklarasi dari variabel min yang bertipe data integer yang di inisialisasi dengan nilai awal dari indeks ke-0 array.

  85 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.

  86 Melakukan proses pengecekan statemen kondisi jika data pada indeks array lebih kecil dari nilai variabel min,

  87 Maka nilai dari variabel min sama dengan data array pada indeks tersebut.

  12 Akhir dari inisialisasi data pada array kereta.

  13 Deklarasi dari variabel array yang bertipe integer yang bernama harga yang di inisialisasi langsung dengan beberapa nilai yang disimpan pada masing-masing indeks array.

  14 Deklarasi dari variabel array yang bertipe integer yang bernama diskon yang di inisialisasi langsung dengan beberapa nilai yang disimpan pada masing-masing indeks array.

  15 Deklarasi dari variabel array yang bertipe integer yang bernama tiket yang didefinisikan panjangnya sama dengan 10.

  16 Deklarasi dari variabel array yang bertipe String yang bernama nama yang didefinisikan panjangnya sama dengan 10.

  17 Deklarasi dari variabel array yang bertipe String yang bernama no yang didefinisikan panjangnya sama dengan 10.

  18 Deklarasi variabel dengan nama counter yang diinisilisasi dengan nilai awal 0.

  19 Deklarasi dari variabel array yang bertipe integer yang bernama total yang didefinisikan panjangnya sama dengan 10.

  20 Deklarasi variabel dengan nama sumTotal yang diinisilisasi dengan nilai awal 0.

  21 Melakukan peroses perulangan agar program tetap terus berjalan. Dimana nilai dari variabel i di biarkan tetap.

  22 Menampilkan “1. Melihat Daftar Kereta Api”

  23 Menampilkan “2. Melihat Daftar Kereta Api yang ada AC”

  24 Menampilkan “3. Melihat Daftar Kereta Api yang ada Colikan”

  25 Menampilkan “4. Memesan Tiket Kereta Api”