Kamis, 01 Juni 2017

UAS PBO Kasir Sederhana

Kali ini saya akan membagikan Source code dari Tugas PBO yaitu membuat implementasi PBO dalam kehidupan sehari hari, dan kelompok kami (tegar satrio utomo 5115100178 & yolanda w. Samosir 5115100023) membuat sebuah Mesin Kasir sederhana





  • berikut adalah Code untuk Main
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/** Main Class @author (your name) @version (a version number or a date) */

import java.util.Scanner;
public class main
{
    public static void main (String[] args)
    {
        layar l = new layar();
        mesin r = new mesin();
        Scanner scan= new Scanner(System.in);
        int tampung;
        
        System.out.println("         ----------------------------------------------\n               ~~ Selamat Datang Di Bahagia Mart ~~\n         ----------------------------------------------"); 
        
        while(l.DisplayMenu()==1)
        {
            l.MessageLine("\n - Masukkan Kode Barang     : ");
            tampung=scan.nextInt();
            r.tombol(tampung);
            r.openFile();
            r.Logic();
            
            
        }
        r.closeFile();
        r.hitung();
        l.MessageLine("\n\n         =============================================");
        l.MessageLine("\n         (^___^) Terima Kasih Telah Berbelanja (^___^)"); 
        l.MessageLine("\n         =============================================");
    }
}
  • berikut adalah Code untuk Layar

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import java.util.Scanner;
public class layar
{
    public layar()
    {
        
    }

    public int DisplayMenu()
    {
        Scanner scan= new Scanner(System.in);
        int tampung;
        //System.out.println("Selamat Datang DI Toko Sebelah");
        //System.out.println("         ----------------------------------------------\n               ~~ Selamat Datang Di Bahagia Mart ~~\n         ----------------------------------------------"); 
        System.out.println("\nTambah barang     : Tekan 1");
        System.out.println("Selesai           : Tekan 0");
        tampung=scan.nextInt();
        
        return tampung;
    }
    
    public void MessageLine(String message)
    {
        System.out.print(message);
    }
    
    public void MessageLineInt(int message)
    {
        System.out.print(message);
    }
}
  • berikut adalah Code untuk Mesin
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
/** * Write a description of class mesin here. * @author (your name) * @version (a version number or a date)*/

import java.io.*;
import java.util.*;

public class mesin
{
    private Scanner x;
    public double bayar,kembalian;
    public int cek,i=0,j=0;
    public String nama[]=new String[100];
    public int harga[]=new int[100];
    public int jumlah[]=new int[100];
    public int kode[]=new int[100];
    public double hargaTotal[]=new double[100];
    public int stok[]=new int[100];
    public double totalharga=0,totalBayar=0,diskon=0;
    public mesin()
    {
    }
    
    public void tombol(int tampung)
    {
        cek=tampung;
    }
    
    public void openFile()
    {
        try
        {
            x = new Scanner(new File("FileName.txt"));
        }
        catch(Exception e)
        {
            System.out.println("could not find file");
        }
    }
    
    public void Logic()
    {
        Scanner scan= new Scanner(System.in);
        layar l = new layar();
        
            while(x.hasNext())
            {
                Integer a=Integer.valueOf(x.next());
                harga[i]=a;
                Integer b=Integer.valueOf(x.next());
                kode[i]=b;
                String c= x.next();
                nama[i]=c;
                Integer d=Integer.valueOf(x.next());
                stok[i]=d;
    
                if(kode[i]==cek)
                {
                    //cek=a;
                    harga[j]=a;
                    kode[j]=b;
                    nama[j]=c;
                    stok[j]=d;
                    //j++;
                }
                i++;
                
            }
            
            
            l.MessageLine("\n - Masukkan Jumlah Barang   : ");
            jumlah[j] = scan.nextInt();
            stok[j]=stok[j]-jumlah[j];
            if(stok[j]<=0)
            {
                l.MessageLine("\nBarang Habis\n");
           
            }
            else
            {
                System.out.printf("\nSisa : %d ", stok[j]);
            }
            hargaTotal[j]=harga[j]*jumlah[j];//hargatotal
            totalharga=hargaTotal[j]+totalharga;
            j++;          
    }
    
    public void hitung()
    {
        layar l = new layar();
        Scanner scan= new Scanner(System.in);
        totalBayar=totalharga-diskon;
        
        l.MessageLine("\n                     --- Tagihan --- "); 
        l.MessageLine(String.format("\n Total                                      = Rp %10.0f",totalharga));
        l.MessageLine(String.format("\n Diskon                                     = Rp %10.0f",diskon)); 
        l.MessageLine(String.format("\n Total Pembayaran                           = Rp %10.0f",totalBayar)); 
        l.MessageLine("\n Bayar dengan uang                          = Rp.    ");
        bayar=scan.nextInt();
        cetakStruk();
    }
    public void cetakStruk()
    {
        layar l = new layar();
        
        l.MessageLine("\n                  --- Daftar Belanja --- "); 
        l.MessageLine("\n ==========================================================="); 
        l.MessageLine("\n ||   Nama Barang    || Jumlah ||   Harga   ||   Total    ||"); 
        l.MessageLine("\n ===========================================================");
        for(int i=0; i<=j-1; i++)
      {
            l.MessageLine(String.format("\n || %-16s ||  %3d   || Rp %6d || Rp %7.0f ||",nama[i],jumlah[i],harga[i],hargaTotal[i]));
      }
      
      l.MessageLine("\n ===========================================================");
      l.MessageLine(String.format("\n Total                                      = Rp %10.0f",totalharga));
      l.MessageLine(String.format("\n Diskon                                     = Rp %10.0f",diskon)); 
      l.MessageLine(String.format("\n Total Pembayaran                           = Rp %10.0f",totalBayar)); 
      l.MessageLine(String.format("\n Uang Pembayaran                            = Rp %10.0f",bayar)); 
      l.MessageLine(String.format("\n Uang Kembalian                             = Rp %10.0f",bayar-totalBayar));   
    }
    
    public void closeFile()
    {
        x.close();
    }
}

  • berikut adalah outputnya



























Jangan lupa untuk membuat file .txt yang akan di gunakan untuk menyimpan data barang.yang disimpan di dalam folder project kalian


  • penjelasan Output
ketika user menekan satu seperti di ibaratkan saat kasir men scan barang, lalu membaca kode barang dan jumlahnya. ketika selesai maka akan keluar harga total, lalu pelanggan membayar sejulmah uang. Setelah itu kelluar Struk belanjaan yang berisi nama barang, jumlah, harga per item, total harga per item, total harga belanja, uang pembayaran dan kembalian

Tidak ada komentar:

Posting Komentar