Soal Praktikum
Pertemuan 3
Instruksi Kerja: Kerjakan secara
urut sesuai dengan nomor soal
Sebagai programmer Java, anda diminta untuk
memodifikasi Studi Kasus 1 pada Praktikum Pertemuan 2 dengan menambahkan fitur
pada program agar dapat menerima input dari keyboard pengguna. Gunakan Scanner,
BufferedReader, dan JoptionPane yang telah disediakan Java.
1.
Lakukan modifikasi dengan
menggunakan class Scanner
2. Lakukan modifikasi dengan
menggunakan class BufferedReader. Sebagai petunjuk, anda diberikan source code
sebagai berikut. Namun, ketika source code tersebut dijalankan, masih terdapat
error. Perbaiki agar dapat berfungsi sebagaimana mestinya!
import java.io.*;
public class Penggajian2 {
public static void main(String[] args) throws IOException {
String namaPegawai;
int gaji, jumlahAnak, suamiAtauIstri;
double tunjanganSuamiIstri, tunjanganAnak, penghasilanBruto,
iuranPensiun, penghasilanNetto;
InputStreamReader input = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(input);
System.out.println("Masukkan Nama Pegawai: ");
namaPegawai = br.readLine();
System.out.println("Masukkan Gaji Pokok = ");
gaji = br.readLine();
System.out.println("Memiliki Suami/Istri (Ya=1 / Tidak=0) ?
");
suamiAtauIstri = br.readLine();
System.out.println("Berapa Jumlah Anak? ");
jumlahAnak = br.readLine();
tunjanganSuamiIstri = suamiAtauIstri * 0.1 * gaji;
tunjanganAnak = jumlahAnak * 0.02 * gaji;
penghasilanBruto = gaji + tunjanganSuamiIstri + tunjanganAnak;
System.out.println("\n============================================");
System.out.println("Nama Pegawai: "+namaPegawai);
System.out.println("Tunjangan Suami/Istri:
"+tunjanganSuamiIstri);
System.out.println("Penghasilan Bruto Per-Bulan = " +
penghasilanBruto + " rupiah");
iuranPensiun = 0.04 * gaji;
penghasilanNetto = penghasilanBruto - iuranPensiun;
System.out.println("Penghasilan
Netto Per-Bulan = " + penghasilanNetto + " rupiah");
//Pembulatan ratusan
int penghasilanNettoBulat = (int) Math.round(penghasilanNetto / 100) *
100;
System.out.println("Penghasilan Netto Per-Bulan (Pembulatan) =
" + penghasilanNettoBulat + " rupiah");
}
}
3. Lakukan modifikasi dengan
menggunakan class JOptionPane. Sebagai petunjuk, anda diberikan source code sebagai berikut. Source
code tersebut ketika dijalankan juga masih terdapat error. Perbaiki agar dapat
berfungsi sebagaimana mestinya!
import
javax.swing.*;
public
class Penggajian3 {
public static void main(String[] args) {
String namaPegawai;
int gaji, jumlahAnak, suamiAtauIstri;
double tunjanganSuamiIstri,
tunjanganAnak, penghasilanBruto, iuranPensiun, penghasilanNetto;
namaPegawai =
JOptionPane.showInputDialog("Masukkan Nama Pegawai: ");
gaji = JOptionPane.showInputDialog("Masukkan
Gaji Pokok = ");
suamiAtauIstri =
JOptionPane.showInputDialog("Memiliki Suami/Istri (Ya=1 / Tidak=0) ?
");
jumlahAnak =
JOptionPane.showInputDialog("Berapa Jumlah Anak? ");
tunjanganSuamiIstri = suamiAtauIstri *
0.1 * gaji;
tunjanganAnak = jumlahAnak * 0.02 *
gaji;
penghasilanBruto = gaji +
tunjanganSuamiIstri + tunjanganAnak;
System.out.println("\n============================================");
System.out.println("Nama Pegawai:
"+namaPegawai);
System.out.println("Tunjangan
Suami/Istri: "+tunjanganSuamiIstri);
System.out.println("Penghasilan
Bruto Per-Bulan = " + penghasilanBruto + " rupiah");
iuranPensiun = 0.04 * gaji;
penghasilanNetto = penghasilanBruto -
iuranPensiun;
System.out.println("Penghasilan
Netto Per-Bulan = " + penghasilanNetto + " rupiah");
//Pembulatan ratusan
int penghasilanNettoBulat = (int)
Math.round(penghasilanNetto / 100) * 100;
System.out.println("Penghasilan Netto
Per-Bulan (Pembulatan) = " + penghasilanNettoBulat + " rupiah");
}
}
Kunci Jawaban
1.
Modifikasi dengan Scanner
import java.util.Scanner;
public class Penggajian1 {
public static void main(String[] args) {
String namaPegawai;
int gaji, jumlahAnak, suamiAtauIstri;
double tunjanganSuamiIstri, tunjanganAnak, penghasilanBruto,
iuranPensiun, penghasilanNetto;
Scanner
input = new Scanner(System.in);
System.out.println("Masukkan Nama Pegawai: ");
namaPegawai =
input.nextLine();
System.out.println("Masukkan Gaji Pokok = ");
gaji =
input.nextInt();
System.out.println("Memiliki Suami/Istri (Ya=1 / Tidak=0) ?
");
suamiAtauIstri =
input.nextInt();
System.out.println("Berapa Jumlah Anak? ");
jumlahAnak =
input.nextInt();
tunjanganSuamiIstri = suamiAtauIstri * 0.1 * gaji;
tunjanganAnak = jumlahAnak * 0.02 * gaji;
penghasilanBruto = gaji + tunjanganSuamiIstri + tunjanganAnak;
System.out.println("\n============================================");
System.out.println("Nama Pegawai: "+namaPegawai);
System.out.println("Tunjangan Suami/Istri:
"+tunjanganSuamiIstri);
System.out.println("Penghasilan Bruto Per-Bulan = " +
penghasilanBruto + " rupiah");
iuranPensiun = 0.04 * gaji;
penghasilanNetto = penghasilanBruto - iuranPensiun;
System.out.println("Penghasilan Netto Per-Bulan = " +
penghasilanNetto + " rupiah");
//Pembulatan ratusan
int penghasilanNettoBulat = (int) Math.round(penghasilanNetto / 100) *
100;
System.out.println("Penghasilan Netto Per-Bulan (Pembulatan) =
" + penghasilanNettoBulat + " rupiah");
}
}
2.
Modifikasi dengan
BufferedReader
import java.io.*;
public class Penggajian1 {
public static void main(String[] args) throws IOException {
String namaPegawai;
int gaji, jumlahAnak, suamiAtauIstri;
double tunjanganSuamiIstri, tunjanganAnak, penghasilanBruto,
iuranPensiun, penghasilanNetto;
InputStreamReader input = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(input);
System.out.println("Masukkan Nama Pegawai: ");
namaPegawai = br.readLine();
System.out.println("Masukkan Gaji Pokok = ");
gaji =
Integer.parseInt(br.readLine());
System.out.println("Memiliki Suami/Istri (Ya=1 / Tidak=0) ?
");
suamiAtauIstri =
Integer.parseInt(br.readLine());
System.out.println("Berapa Jumlah Anak? ");
jumlahAnak =
Integer.parseInt(br.readLine());
tunjanganSuamiIstri = suamiAtauIstri * 0.1 * gaji;
tunjanganAnak = jumlahAnak * 0.02 * gaji;
penghasilanBruto = gaji + tunjanganSuamiIstri + tunjanganAnak;
System.out.println("\n============================================");
System.out.println("Nama Pegawai: "+namaPegawai);
System.out.println("Tunjangan Suami/Istri:
"+tunjanganSuamiIstri);
System.out.println("Penghasilan Bruto Per-Bulan = " +
penghasilanBruto + " rupiah");
iuranPensiun = 0.04 * gaji;
penghasilanNetto = penghasilanBruto - iuranPensiun;
System.out.println("Penghasilan Netto Per-Bulan = " +
penghasilanNetto + " rupiah");
//Pembulatan ratusan
int penghasilanNettoBulat = (int) Math.round(penghasilanNetto / 100) *
100;
System.out.println("Penghasilan Netto Per-Bulan (Pembulatan) =
" + penghasilanNettoBulat + " rupiah");
}
}
3.
Modifikasi dengan JOptionPane
import javax.swing.*;
public class Penggajian3 {
public static void main(String[] args) {
String namaPegawai;
int gaji, jumlahAnak, suamiAtauIstri;
double tunjanganSuamiIstri, tunjanganAnak, penghasilanBruto,
iuranPensiun, penghasilanNetto;
namaPegawai = JOptionPane.showInputDialog("Masukkan Nama Pegawai:
");
gaji = Integer.parseInt(JOptionPane.showInputDialog("Masukkan
Gaji Pokok = "));
suamiAtauIstri = Integer.parseInt(JOptionPane.showInputDialog("Memiliki
Suami/Istri (Ya=1 / Tidak=0) ? "));
jumlahAnak = Integer.parseInt(JOptionPane.showInputDialog("Berapa
Jumlah Anak? "));
tunjanganSuamiIstri = suamiAtauIstri * 0.1 * gaji;
tunjanganAnak = jumlahAnak * 0.02 * gaji;
penghasilanBruto = gaji + tunjanganSuamiIstri + tunjanganAnak;
System.out.println("\n============================================");
System.out.println("Nama Pegawai: "+namaPegawai);
System.out.println("Tunjangan Suami/Istri:
"+tunjanganSuamiIstri);
System.out.println("Penghasilan Bruto Per-Bulan = " +
penghasilanBruto + " rupiah");
iuranPensiun = 0.04 * gaji;
penghasilanNetto = penghasilanBruto - iuranPensiun;
System.out.println("Penghasilan Netto Per-Bulan = " +
penghasilanNetto + " rupiah");
//Pembulatan ratusan
int penghasilanNettoBulat = (int) Math.round(penghasilanNetto / 100) *
100;
System.out.println("Penghasilan Netto Per-Bulan (Pembulatan) =
" + penghasilanNettoBulat + " rupiah");
}
}