LA DECIMA

LA DECIMA

Selasa, 10 Juni 2014

program kasir double class



berikut adalah cara membuat program kasir








untuk kelas main kasir

import java.util.Scanner;   // Import java untuk fungsi meminta inputan user
public class Kasir {    // baris class dan nama class di sini harus sama dengan nama file .java
    public static void main(String[] args){ //baris awal program utama
    Hitung htg=new Hitung(); // mendeklarasikan class Hitung yang akan kita panggil dengan variabel htg
    System.out.println("\n ============================\n     Program Mesin Kasir\n ============================");   //*perintah mencetak string
    htg.inputBrg(); //memanggil prosedur inputBrg dari class variabel htg
    htg.tampil(); //memanggil prosedur tampil dari class variabel htg
    System.out.println("\n\n=============================================");     //*perintah mencetak string
    System.out.println(" Terima Kasih Telah Menggunakan Program Kami");     //*perintah mencetak string
    System.out.println("=============================================");     //*perintah mencetak string
    System.exit(0); //keluar dari program dengan interasi 0 artinya program tidak ada error
    }

}




untuk kelas hitung

import java.util.Scanner;    // Import java untuk fungsi meminta inputan user
class Hitung{ //mendeklarasikan class
    public String nama[]=new String[20];   //mendeklarasikan nama beripe string array memiliki maksimal 20
    public int hargaBrg[]=new int[15]; //mendeklarasikan hargaBrg beripe data integer array memiliki maksimal 15 data
    public int jumlahBrg[]=new int[15];    //mendeklarasikan jumlahBrg beripe data integer array memiliki maksimal 15 data
    public int i,jumlahBeli; //mendeklarasikan i dan jumlahBeli beripe data integer
    public double hargaTtl[]=new double[15];    //mendeklarasikan hargaTtl beripe data double array memiliki maksimal 15 data
    public double totalHarga=0,diskon=0,totalBayar=0;     //mendeklarasikan totalHarga, diskon dan totalBayar beripe data double
    
    Scanner masukkan=new Scanner(System.in);    // kita masukan fungsi abstract Scanner kedalam sebuah object  yang bernama input
    
    public void inputBrg(){  //mendeklarasikan prosedure dengan nama inputBrg
        System.out.print("\n Jumlah Pembelian: "); jumlahBeli=masukkan.nextInt();    //* bila tanpa ln maka kursor berada di sebelahnya
        System.out.println("\n ===================================");     //*perintah mencetak string
        for(i=1;i<=jumlahBeli;i++){   //perintah perulangan dari i=1 sampai jumlahMk dengan step i=1
            System.out.print("\n Nama Barang ke-"+i+" : "); nama[i]=masukkan.next();     //* dan bila tanpa ln maka kursor berada di sebelahnya
            System.out.print(" Jumlah Barang   : "); jumlahBrg[i]=masukkan.nextInt();  //* dan bila tanpa ln maka kursor berada di sebelahnya
            System.out.print(" Harga Barang    :Rp "); hargaBrg[i]=masukkan.nextInt();   //* dan bila tanpa ln maka kursor berada di sebelahnya
            hargaTtl[i]=jumlahBrg[i]*hargaBrg[i]; //menginput nilai hargaTtl dengan perkalian jumlahBrg dan hargaBrg
            totalHarga=hargaTtl[i]+totalHarga;  //menginput nilai totalHarga dengan penjumlahan hargaTtl dan totalHarga sebelumnya
            }
        System.out.println("\n =================================");     //*perintah mencetak string
        if (totalHarga>=1000000) diskon=0.2*totalHarga; //menyeleksi kondisi jika totalHarga>=1000000 dengan diskon 20%
        else if ((totalHarga>=500000) && (totalHarga<1000000)) diskon = 0.1*totalHarga;    //menyeleksi kondisi jika 500000<=totalHarga<1000000
        else diskon = 0;// nyeleksi jika <500000
        totalBayar=totalHarga-diskon; //menjumlahkan totalBayar hasil dari totalHarga dikurang diskon
        }
       
    public void tampil(){ //mendeklarasikan prosedur dengan nama tampil
        System.out.println("\n\n                Daftar Barang Pembelian");     //*perintah mencetak string
        System.out.println(" ==========================================================="); //*perintah mencetak string
        System.out.println(" ||   Nama Barang    || Jumlah ||   Harga   ||   Total    ||"); //*perintah mencetak string
        System.out.println(" ==========================================================="); //*perintah mencetak string
        for(i=1;i<=jumlahBeli;i++){ //perulangan untuk mencetak isi array pada nama,jumlahBrg,hargaBrg,dan hargaTtl
            /*perintah mencetak string dan tertata rapih itu berkat bantuan perintah String.format
            penjelasan sama seperti pada pemrograman bahasa C yaitu
            %s untuk mencetak tipe data string, %d untuk mencetak tipe data desimal, dan %f untuk mencetak tipe data float
            %-16s artinya mencetak nama[i] memiliki 16 karakter dan min artinya rata kiri
            %3d artinya mencetak jumlahBrg[i] memiliki 3 karakter
            %6d artinya mencetak hargaBrg[i] memiliki 6 karakter
            %7.0f artinya mencetak hargaTtl[i] memiliki 7 karakter didepan koma dan 0 karakter di belakan koma
            */
            System.out.println(String.format(" || %-16s ||  %3d   || Rp %6d || Rp %7.0f ||",nama[i],jumlahBrg[i],hargaBrg[i],hargaTtl[i]));
            }
        System.out.println(" ==========================================================="); //*perintah mencetak string
        System.out.println(String.format("\n Total                                      =Rp %10.0f",totalHarga));    //*perintah mencetak string
        System.out.println(String.format(" Diskon                                     =Rp %10.0f",diskon));   //*perintah mencetak string
        System.out.println(String.format(" Total Pembayaran                           =Rp %10.0f",totalBayar));    //*perintah mencetak string
        }

}





Logika Program
File yang di compile cukup file Kasir.java saja dan file Hitung.java tidak perlu di compile karena pada saat kita mengcompile Kasir.java itu sudah sekalian kita mengcompile Hitung.java karena ada perintah Hitung htg = new Hitung();.
Alir program adalah pada saat program di jalan kan makan proses yang di jalankan adalah memanggil prosedure inputBrg() dengan perintah htg.inputBrg();, kenapa htg? Karena di awal program kita mendeklarasikan htg sebagai nama variabel class Hitung.java untuk di panggil. Di dalam procedure inputBrg() perintah yang pertama kali dilakukan adalah meminta jumlah inputan untuk jumlah pembelian dengan variabel jumlahBeli. Setelah jumlah pembelian sudah di input makan program akan melakukan perintah penginputan data-data barang dari nama barang, jumlah barang, dan harga barang dengan variabel nama[i], jumlahBrg[i], dan hargaBrg[i] bertipe array dan perintah penginputan ini di sisipkan pada suatu perintah perulangan dengan perintah dimulai dari 1 sampai jumlahBeli dengan bertambah 1 dengan perintah for(i=1;i<=jumlaBeli;i++) dan didalam perulangan juga ada proses penjumlahan dan pengalian untuk mencari nilai hargaTtl untuk total harga masing-masing barang dan totalHarga untuk menjumlahkan total harga seluruh barang. Setelah penginputan selesai maka akan dilakukan seleksi untuk melihat apakan mendapatkan diskon atau tidak dengan kondisi jika totalHarga>1000000 makan diskon 20% dan jika 500000<=totalHarga<1000000 dan tidak mendapatkan diskon jika totalHarga<500000, sehingga totalBayar=totalHarga-diskon. Selesai itu program akan kembali ke file Kasir.java dan program melanjutkan akan memangil procedure tampil() dengan perintah htg.tampil();, proses yang ada pada procedure tampil adalah hanya menampilkan data-data saja karena sehubungan data-data sebelumnya adalah array makan perintah untuk mencetak semuanya adalah dengan bantuan peruangan. Jika proses menampilkan data sudah selesai maka alur program kembali ke file Kasir.java dan program selesai dan keluar dengan tidak ada error dengan perintah System.exit(0);.
Read more ...