"Buatlah algoritma (dengan flowchart, pseudocode atau bahasa Indonesia) dan implementasikan dalam program sesuai kasus berikut :
Arif menelepon Anton dengan operator “X”. Apabila Tarif pulsa operator “X” Rp.20,- /detik untuk 100 detik pertama dan untuk detik selanjutnya dihitung Rp.1,-/detik maka hitunglah berapa pulsa yang terpakai oleh Arif."
Dari sini maka yang pertama kita buat algoritmanya dulu :
- Inputkan dan Catat Waktu Awal Telp, Simpan dalam Variabel J1 , M1, D1
- Inputkan Waktu Terakhir Telp , Simpan ke dalam variabel J2, M2, D2
- Konversi Waktu awal telp dan waktu akhir telp dalam detik simpan dalam waktu 1 dan waktu 2
- Kurangkan waktu 2 dengan waktu 1 simpan ke dalam variabel selisih
- Jika selisih < 101 detik maka (untuk menghitung jml biaya yang terpakai) variabel biaya = Rp. 20 * selisih jika tidak hitung biaya = (100 detik * Rp. 20) +((selisih - 100)*Rp.1)
- Cetak waktu awal J1 , M1, D1
- Cetak waktu akhir J2, M2, D2
- Cetak lama telepon (variabel selisih)
- Cetak Biaya telepon (Variabel biaya)
Setelah mengetahui Algoritmanya mari kita implementasikan dalam program, simpan dalam Telepon.java.
import java.util.Scanner;
public class Telepon
{
public static void main(String args[])
{
Scanner masuk = new Scanner(System.in);
int J1,M1,D1;
int J2,M2,D2;
System.out.println("Waktu Awal");
System.out.print("Masukkan Jam: ");J1= masuk.nextInt();
System.out.print("Masukkan Menit: ");M1= masuk.nextInt();
System.out.print("Masukkan Detik: ");D1= masuk.nextInt();
System.out.println("Waktu Akhir");
System.out.print("Masukkan Jam: ");J2= masuk.nextInt();
System.out.print("Masukkan Menit: ");M2= masuk.nextInt();
System.out.print("Masukkan Detik: ");D2= masuk.nextInt();
int waktu1, waktu2,selisih,biaya;
waktu1=3600*J1+(60*M1)+D1;
waktu2=3600*J2+(60*M2)+D2;
selisih=waktu2-waktu1;
if (selisih<101)
{
biaya = 20*selisih;
}
else
{
biaya =(100*20)+((selisih-100)*1);
}
System.out.println("Waktu Awal Telp : "+J1+":"+M1+":"+J1);
System.out.println("Waktu Akhir Telp : "+J2+":"+M2+":"+J2);
System.out.println("Lama Telepon : "+selisih+" detik");
System.out.println("Biaya Yang dihabiskan? "+biaya+" rupiah");
}
}
public class Telepon
{
public static void main(String args[])
{
Scanner masuk = new Scanner(System.in);
int J1,M1,D1;
int J2,M2,D2;
System.out.println("Waktu Awal");
System.out.print("Masukkan Jam: ");J1= masuk.nextInt();
System.out.print("Masukkan Menit: ");M1= masuk.nextInt();
System.out.print("Masukkan Detik: ");D1= masuk.nextInt();
System.out.println("Waktu Akhir");
System.out.print("Masukkan Jam: ");J2= masuk.nextInt();
System.out.print("Masukkan Menit: ");M2= masuk.nextInt();
System.out.print("Masukkan Detik: ");D2= masuk.nextInt();
int waktu1, waktu2,selisih,biaya;
waktu1=3600*J1+(60*M1)+D1;
waktu2=3600*J2+(60*M2)+D2;
selisih=waktu2-waktu1;
if (selisih<101)
{
biaya = 20*selisih;
}
else
{
biaya =(100*20)+((selisih-100)*1);
}
System.out.println("Waktu Awal Telp : "+J1+":"+M1+":"+J1);
System.out.println("Waktu Akhir Telp : "+J2+":"+M2+":"+J2);
System.out.println("Lama Telepon : "+selisih+" detik");
System.out.println("Biaya Yang dihabiskan? "+biaya+" rupiah");
}
}
0 Comments
EmoticonEmoticon