1. Music Player
Berikut adalah source code untuk music player.
Class MusicOrganizer
Class Music
Class Player
Hasil
2. Auction Program
Berikut adalah source code untuk auction program.
Class Auction
Class Bid
Class Person
Class Lot
Sekian dan Terima Kasih.
Class MusicOrganizer
import java.util.Scanner;
/**
* Write a description of class MusicOrganizer here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class MusicOrganizer
{
public static void MusicOrganizer(){
Music music = new Music();
Scanner scan = new Scanner(System.in);
int c;
while(true){
c = scan.nextInt();
switch(c){
case 1:
scan.nextLine();
String lagu = scan.nextLine();
music.tambah(lagu);
break;
case 2:
music.daftar();
break;
case 3:
int nomor = scan.nextInt();
music.mulai(nomor);
break;
case 4:
nomor = scan.nextInt();
music.stop(nomor);
break;
case 5:
nomor = scan.nextInt();
music.hapus(nomor);
break;
}
}
}
}
Class Music
import java.util.ArrayList;
/**
* Write a description of class Music here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Music {
private ArrayList<String> playlist;
private Player play;
private int now,state;
public Music() {
playlist = new ArrayList<String>();
play = new Player();
now = -1;
state = 0;
}
public int jumlah() {
return playlist.size();
}
public void daftar() {
if(playlist.size()>0) {
for(int i=0;i<playlist.size();i++){
String filename = playlist.get(i);
System.out.println((i+1)+". "+filename);
}
}
else System.out.println("Tidak ada");
}
public void hapus(int index) {
if(index-1 >= 0 && index-1 < playlist.size()) {
playlist.remove(index);
}
}
public void tambah(String lagu) {
playlist.add(lagu);
}
public void mulai(int index){
now = index-1;
if(playlist.size()>0){
play.start(playlist.get(now));
state=1;
}
else System.out.println("Belum ada lagu");
}
public void stop(int index){
if(now == index-1 && state == 1){
play.stop(playlist.get(now));
state=0;
}
else System.out.println("Lagu belum berputar");
}
}
Class Player
/**
* Write a description of class Player here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Player
{
private int index;
public void start(String lagu){
System.out.println("Playing: "+lagu);
}
public void stop(String lagu){
System.out.println(lagu+" has stopped ");
}
}
Hasil
2. Auction Program
Berikut adalah source code untuk auction program.
Class Auction
import java.util.ArrayList;
/**
* Write a description of class Auction here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Auction
{
private ArrayList<Lot> barang; //daftar barang yang dilelang
private int nextBarang; //untuk pengkodean barang
public Auction() //inisiasi pelelangan baru
{
barang = new ArrayList<>();
nextBarang = 1;
}
public void masukkanBarang(String nama) //memasukkan barang ke daftar barang yang dilelang
{
barang.add(new Lot(nextBarang, nama));
nextBarang++;
}
public void tampilkanBarang() //menampilkan seluruh barang yang dilelang
{
for(Lot lot : barang) {
System.out.println(lot.toString());
}
}
public void buatPenawaran(int kode, Person penawar, long harga)
{
Lot selectedLot = getBarang(kode);
if(selectedLot != null) { //hanya bisa jika kode barang telah terdaftar
Bid bid = new Bid(penawar, harga);
boolean successful = selectedLot.bidFor(bid);
if(successful) {
System.out.println("Tawaran untuk nomor barang" + kode + " telah sukses.");
}
else {
Bid maksTawaran = selectedLot.getTertinggi(); //hanya bisa menawar dengan harga yang lebih tinggi daripada penawar sebelumnya
System.out.println("Nomor barang: " + kode +
" sudah memiliki tawaran: " +
maksTawaran.getHarga());
}
}
}
public Lot getBarang(int kode)
{
if((kode >= 1) && (kode < nextBarang)) {
Lot selectedLot = barang.get(kode - 1);
if(selectedLot.getKode() != kode) {
System.out.println("Eror internal: nomor lot " +
selectedLot.getKode() +
" telah diganti " +
kode);
// Don't return an invalid lot.
selectedLot = null;
}
return selectedLot;
}
else {
System.out.println("Nomor barang: " + kode +
" tidak tersedia.");
return null;
}
}
public void hentikan()
{
System.out.println("Pelelangan telah dihentikan.");
for(Lot lot : barang)
{
System.out.println(lot.getKode() + ": " +lot.getNama());
Bid bid = lot.getTertinggi();
if (bid==null)
{
System.out.println("Tidak ada tawaran untuk barang ini");
}
else
{
System.out.println("Barang ini telah dijual kepada " +
bid.getNama().getNama() + " dengan harga :\t"
+ bid.getHarga());
}
}
}
}
Class Bid
/**
* Write a description of class Bid here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Bid
{
private final Person penawar;
private final long harga;
public Bid(Person penawar, long harga)
{
this.penawar = penawar;
this.harga = harga;
}
public Person getNama()
{
return penawar;
}
public long getHarga()
{
return harga;
}
}
Class Person
/**
* Write a description of class Person here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Person
{
private final String Nama;
public Person(String Nama)
{
this.Nama = Nama;
}
public String getNama()
{
return Nama;
}
}
Class Lot
/**
* Write a description of class Lot here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Lot
{
private final int kodeBarang;
private String namaBarang;
private Bid maksTawaran;
public Lot(int kodeBarang, String namaBarang)
{
this.kodeBarang = kodeBarang;
this.namaBarang = namaBarang;
this.maksTawaran = null;
}
public boolean bidFor(Bid tawaran)
{
if(maksTawaran == null) {
maksTawaran = tawaran; //jika tidak ada tawaran sebelumnya
return true;
}
else if(tawaran.getHarga() > maksTawaran.getHarga()) {
maksTawaran = tawaran; //jika tawaran lebih tinggi daripada tawaran sebelumnya
return true;
}
else {
return false; //jika tawaran tidak lebih tinggi daripada tawaran sebelumnya
}
}
public String toString()
{
String details = kodeBarang + ": " + namaBarang;
if(maksTawaran != null) {
details += " Tawaran: " +
maksTawaran.getHarga();
}
else {
details += " (Tidak ada tawaran)";
}
return details;
}
public int getKode()
{
return kodeBarang;
}
public String getNama()
{
return namaBarang;
}
public Bid getTertinggi()
{
return maksTawaran;
}
}
Sekian dan Terima Kasih.
Komentar
Posting Komentar