Meriska Defriani, M.Kom Workshop Pemrograman #3 HUMANIKA Teknik Informatika - STT Wastukancana Purwakarta
Standar Input pada Java BufferedReader Memerlukan konversi dari tipe data String Digunakan untuk input yang panjang Scanner Tidak memerlukan konversi Digunakan untuk input yang pendek JOptionPane.ShowInputDialog Standar input berbasis GUI swing yang tampilannya berupa dialog box
Penanganan Kesalahan Kesalahan Penanganan kesalahan: Kesalahan pada saat kompilasi Kesalahan pada saat program dijalankan : Tidak ada error pada source code tapi ketika di-run programnya error. Contoh: ketika ada pembagian dengan 0. Penanganan kesalahan: Try Catch Throw exception
Try Catch public class cobaKesalahan{ public static void main(String[] args){ try{ int a=1/0; System.out.println(“perintah selanjutnya”); } catch(Exception kesalahan){ System.err.println(kesalahan);
Throw Exception public class cobaKesalahan{ public static void main(String[] args){ try{ throw new Exception(“kesalahan terjadi”); } catch(Exception e){ System.out.println(e);
JOptionPane Class yang digunakan sebagai standar dialog box untuk memberikan informasi kepada pengguna aplikasi Macam-macam JOptionPane ShowConfirmDialog ShowInputDialog ShowMessageDialog ShowOptionDialog
Percabangan (if-else) If(kondisi){ //jalankan jika kondisi true }else{ //jalankan jika kondisi false }
Percabangan (switch-case) Switch(variabel){ case nilai1: //jalankan instruksi; break; //hentikan case nilai2: case nilai3: Default: }
Pengulangan (Looping) Do While do{ //isi instruksi } While(kondisi); While While(kondisi){ //isi instruksi } For for(inisialisasi;kondisi;increment/decrement){ //isi instruksi }
Array (Larik) Int A[] = new int[5] //membuat array dengan size 5
Membuat program dengan input dari keyboard import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class input2 { public static void main( String[] args ) { String nama = ""; int tahunLahir=0; BufferedReader input = new BufferedReader(new InputStreamReader(System.in) ); try{ System.out.println("Ketik nama Anda : "); nama = input.readLine(); System.out.print("Ketik tahun kelahiran Anda : "); tahunLahir = Integer.parseInt(input.readLine()); } catch(IOException e){ System.out.println("Error!"); } System.out.println("Hello " + nama +" !"); System.out.println("Usia kamu adalah " + (2017-tahunLahir) +" tahun");
Membuat program dengan menggunakan kotak dialog import javax.swing.JOptionPane; public class inputbox { public static void main( String[] args ){ String nama =""; String tahunLahir = ""; int usia; try{ nama= JOptionPane.showInputDialog("Ketik nama Anda :"); tahunLahir= JOptionPane.showInputDialog("Ketik tahun kelahiran Anda :"); } catch(Exception error){ JOptionPane.showMessageDialog(null,"Error!"); usia = 2017 - Integer.parseInt(tahunLahir); String msg = "Hello " + nama + "! \nUsia anda adalah " + usia + " tahun"; JOptionPane.showMessageDialog(null, msg);
Program Konversi Suhu import java.text.DecimalFormat; import javax.swing.JOptionPane; public class konversiSuhu { public static void main(String[] args){ double suhu = 0; double hasil = 0; int pilihan = 0; try{ pilihan = Integer.parseInt(JOptionPane.showInputDialog(null,"Celcius (C) - Farenheit (F) - Reamur (R)\n1.C to F\n2.C to R\n3.F to R\n4.F to C\n5.R to C\n6.R to F\nMasukkan pilihan anda (1-6):", "Program Konversi Suhu", 1)); suhu = Double.parseDouble(JOptionPane.showInputDialog(null,"Masukkan nilai suhu yang akan dikonversi :", "Program Konversi Suhu", 1)); switch(pilihan){ case 1: hasil = (double) 9/(double)5*suhu + 32; break;
case 2: hasil = (double)4/(double)5 case 2: hasil = (double)4/(double)5*suhu; break; case 3: hasil = (double)4/(double)9*(suhu - 32); case 4: hasil = (double)5/(double)9*(suhu - 32); case 5: hasil = (double)5/(double)4*suhu; case 6: hasil = (double)9/(double)4*suhu + 32; default: JOptionPane.showMessageDialog(null, "Angka yang anda masukkan salah"); }
DecimalFormat df = new DecimalFormat("#. ##"); JOptionPane DecimalFormat df = new DecimalFormat("#.##"); JOptionPane.showMessageDialog(null, "Hasil konversi : "+df.format(hasil),"Program Konversi Suhu", 1); } catch(Exception error){ JOptionPane.showMessageDialog(null,"Program Error!");
Program Menghitung IPK import java.text.DecimalFormat; import javax.swing.JOptionPane; public class hitungIpk { public static void main(String[] args){ String nama = ""; String prodi = ""; String matkul[] = new String[10]; String nilai[] = new String[10]; int konvNilai[] = new int[10]; int sks[] = new int[10]; int jumlahMatkul = 0; int total = 0; int totalSks = 0; double ipk = 0.0; int i=0; String msg[] = new String[10]; msg[0]=""; try{ nama = JOptionPane.showInputDialog("Nama :"); prodi = JOptionPane.showInputDialog("Program Studi :"); jumlahMatkul = Integer.parseInt(JOptionPane.showInputDialog("Jumlah Matakuliah :"));
for(i=0; i<jumlahMatkul ; i++){ matkul[i] = JOptionPane for(i=0; i<jumlahMatkul ; i++){ matkul[i] = JOptionPane.showInputDialog("Nama Matakuliah ke " + (i+1) + " :"); sks[i] = Integer.parseInt(JOptionPane.showInputDialog("Jumlah sks " + matkul[i] + " :")); nilai[i] = JOptionPane.showInputDialog("Nilai Matakuliah " + matkul[i] + " :"); if(nilai[i].charAt(0)== 'A'){ konvNilai[i]=4*sks[i]; } else if(nilai[i].charAt(0)== 'B'){ konvNilai[i]=3*sks[i]; else if(nilai[i].charAt(0)== 'C'){ konvNilai[i]=2*sks[i]; else if(nilai[i].charAt(0)== 'D'){ konvNilai[i]=sks[i]; else{ konvNilai[i]=0;
total = total + konvNilai[i]; totalSks = totalSks + sks[i]; msg[i+1]= msg[i].concat("\nNilai matakuliah " +matkul[i]+" : "+nilai[i]); } catch(Exception error){ JOptionPane.showMessageDialog(null,"Program Error!"); DecimalFormat df = new DecimalFormat("#.##"); ipk = (double) total/ (double) totalSks; String message = "Hasil Studi Semester ini :\nNama : " + nama + "\nProgram Studi : " + prodi + msg[i] +"\nIPK : " + df.format(ipk); JOptionPane.showMessageDialog(null, message,"Program Hitung IPK" ,1);