Materi Algoritma Pemrograman 8


Materi Algoritma dan Pemrograman Komputer Minggu 4 Pertemuan ke-2

Buatkan implementasi algoritma dari soal berikut di Java.
_________________________________________________________
1. Budi membeli perlengkapan sekolah di Griya Yogya Bojongsoang. 
 Dia membeli 2 buku dan 3 bolpoin. Harga 1 buku adalah 1000 dan 
 harga 1 bolpoin adalah 500. Berapakah jumlah uang yang mesti Budi bayar
 untuk membeli perlengkapannya tersebut?

2. Jika Budi membayar ke kasir sejumlah uang sebesar 10000, berapakah jumlah uang
 kembalian yang ia dapat?

3. Budi kembali membeli lagi 5 buku dan 10 bolpoin tambahan di Griya 
 setelah ia mendapat kabar dari Zahid bahwa ada diskon sebesar 5% 
 setelah pembelian pertama.
 Hitung jumlah uang yang mesti ia bayar ke kasir setelah mendapat diskon!
_________________________________________________________
1. buatkan dalam bentuk method.

Jawab: salah satu cara implementasinya sebagai berikut:

package id.andrew.java.alpro.solusi; 

public class SolusiSoalNomor1 {  
  String namaPembeli =  "Budi";  
  int jumlahBuku =  2, jumlahBolpoin =  3;  
  double hargaSatuanBuku =  1000, hargaSatuanBolpoin =  500;  
  double hitungJumlahBayar(double uangBayar) {  
    return uangBayar - hitungHargaTotal();  
  } 

  void infoUangKembalian(double bayar) { 
    System.out.println("jumlah uang kembalian yang diterima " + namaPembeli + " adalah " + hitungJumlahBayar(bayar)); 
  } 

  double hitungHargaTotal() { 
    double total =  jumlahBuku * hargaSatuanBuku + jumlahBolpoin * hargaSatuanBolpoin; 
    return total; 
  }

  void infoHargaTotal() { 
    System.out.println("Harga total semua item yang telah dibeli oleh " + namaPembeli + " adalah  " + hitungHargaTotal()); 
  } 

  public static void main(String[] args) { 
    new SolusiSoalNomor1().infoHargaTotal(); 
    SolusiSoalNomor1 x =  new SolusiSoalNomor1(); 
    x.infoHargaTotal(); 
    double budiBayar =  10000; 
    x.infoUangKembalian(budiBayar); 
  } 
}

atau dengan cara lain,

public class CaraLain { 
  String namaPembeli =  "Budi"; 
  int jumlahBuku =  2, jumlahBolpoin =  3; 
  double hargaSatuanBuku =  1000, hargaSatuanBolpoin =  500; 

  double hitungHargaTotal() {  
    double total =  jumlahBuku * hargaSatuanBuku + jumlahBolpoin * hargaSatuanBolpoin; 
    return total; 
  } 

  void infoHargaTotal(int jumlahBukuYangDibeli, int jumlahBolpoinYangDibeli) { 
    jumlahBuku =  jumlahBukuYangDibeli; // awal = 2 -> lalu ada inputan baru = 10 
    jumlahBolpoin =  jumlahBolpoinYangDibeli; // awal = 3 -> lalu ada inputan baru = 9 
    System.out.println("Harga total semua item yang telah dibeli oleh " + namaPembeli + " adalah  " + hitungHargaTotal()); 
  } 

  public static void main(String[] args) { 
    Scanner scanner =  new Scanner(System.in);
 
    System.out.println("inputkan jumlah buku yang akan dibeli: ");  
    int buku =  scanner.nextInt(); // misal:  10 
    System.out.println("inputkan jumlah bolpoin yang akan dibeli: "); 
    int bolpoin =  scanner.nextInt(); // misal:  9 

    CaraLain y =  new CaraLain(); 
    y.infoHargaTotal(buku, bolpoin); //infoHargaTotal(buku = 10, bolpoin = 9); 
  }
}

atau dengan cara lain yang dibuat oleh Ilham Fadil atau Zahid sebagai berikut:

public class CaraFadhil { 

  String namaPembeli; 
  int jumlahBuku, jumlahBolpoin; 
  double hargaSatuanBuku =  1000, hargaSatuanBolpoin =  500;
  
  void setNamaPembeli(String nama) { 
    namaPembeli = nama; 
  } 

  void setJumlahBuku(int buku) { 
    jumlahBuku =  buku; 
  } 

  void setJumlahBolpoin(int bolpoin) { 
    jumlahBolpoin =  bolpoin; 
  } 

  double hitungTotalHarga() { 
    return jumlahBuku * hargaSatuanBuku + jumlahBolpoin * hargaSatuanBolpoin; 
  }   

  void infoTotalHarga() { 
    System.out.println("Total Harga Yang Harus Dibayar " + namaPembeli + " adalah " + hitungTotalHarga()); 
  }

  double hitungJumlahBayar(double uangBayar) { 
    return uangBayar - hitungTotalHarga();  
  } 

 void infoUangKembalian(double bayar) { 
   System.out.println("jumlah uang kembalian yang diterima " + namaPembeli + " adalah " + hitungJumlahBayar(bayar)); 
 }

 double hitungHargaTotalDiskon() { 
   double diskon =  0.05;  
   double total = hitungTotalHarga() - (hitungTotalHarga() * diskon); 
   return total; 
 } 

 void infoHargaTotalDiskon() {  
   System.out.println("Harga total setelah diskon adalah " + hitungHargaTotalDiskon()); 
 } 

 public static void main (String[] args) { 
   CaraFadhil fadil =  new CaraFadhil(); 

   // solusi nomor 1 
   fadil.setNamaPembeli("Budi"); 
   fadil.setJumlahBuku(2); 
   fadil.setJumlahBolpoin(3); 
   fadil.infoTotalHarga(); 

   // solusi nomor 2
   double uangBayar =  10000;
   fadil.infoUangKembalian(uangBayar);

   // solusi nomor 3 
   fadil.setJumlahBuku(10); 
   fadil.setJumlahBolpoin(9); 

   int x =  100; 
   fadil.setJumlahBolpoin(x); 
   fadil.infoHargaTotalDiskon(); 
 } 
}

 


Leave a Reply