Kamis, 01 Maret 2012

Program Kasir_Kuliah Pemrograman01

Ini tugas yang di berikan oleh dosen ku sebelum UAS.Tugasnya suruh buat program kasir..Yup dan akhirnya dibagi kelompok.Bersama Siti,Lyla,Fauzia,Rasyid,Sidik,Hanum dan aku sendiri bekerja keras mati-matian demi terciptanya program itu (hihi lebayy).Pertama kita survey kode barang dulu di mall.Setelah dapat kode barangnya capcuzzz deh langsung buat syntax-nya.Coding dimulai !!! :D
And finally..ini nih hasil program yang kita buat. Look it !


import java.io.*;
import javax.swing.*;
import java.util.*;
public class Kasirkelompok2{
    public static void main(String[] args)throws IOException{
        FileInputStream datacode    = new FileInputStream ("Kode.dat");
        FileInputStream databarang  = new FileInputStream ("Barang.dat");
        FileInputStream dataharga   = new FileInputStream ("Harga.dat");
        FileInputStream datacodepeg = new FileInputStream ("Kode Pegawai.dat");
        FileInputStream datanamapeg = new FileInputStream ("Nama Pegawai.dat");
        DataInputStream filecode    = new DataInputStream (datacode);
        DataInputStream filebarang  = new DataInputStream (databarang);
        DataInputStream fileharga   = new DataInputStream (dataharga);
        DataInputStream filecodepeg = new DataInputStream (datacodepeg);
        DataInputStream filenamapeg = new DataInputStream (datanamapeg);
        GregorianCalendar waktu     = new GregorianCalendar();
       
        int pass[]       = new int[100];
        int passpeg[]    = new int[7];
        String namapeg[] = new String[7];
        String nama[]    = new String[100];
        int harga[]      = new int[100];
        int i = 0;
        int k = 0;
        String namapegawai = null ;
        int ulangi,ulang,bayar,kembalian,diskon;
        int jum;
        int kali,total = 0;
        //pengambilan dataBase
        while (filecode.available() > 0){
            pass[i]    = filecode.readInt();
            nama[i]    = filebarang.readUTF();
            harga[i]   = fileharga.readInt();
            i++;        
        }
        while (filecodepeg.available() > 0){
            passpeg[k] = filecodepeg.readInt();
            namapeg[k] = filenamapeg.readUTF();
            k++;
        }
       
        //pengisian struk belaja
       
            //penetuan waktu
            int tanggal  = waktu.get(Calendar.DATE);
            int bulan    = waktu.get(Calendar.MONTH);
            int tahun    = waktu.get(Calendar.YEAR);
            int jam      = waktu.get(Calendar.HOUR);
            int menit    = waktu.get(Calendar.MINUTE);
            int detik    = waktu.get(Calendar.SECOND);
            int am_pm    = waktu.get(Calendar.AM_PM);
            String ampm ;
            if (am_pm == 1 ){
                ampm = "PM";
            }
            else{
                ampm = "AM";
            }
           
            System.out.println(tanggal+"/"+(bulan+1)+"/"+tahun);
            System.out.println(jam+":"+menit+":"+detik+" "+ampm);
           
            String kodepegawai = JOptionPane.showInputDialog(null,"Masukkan Kode Pegawai Anda");
            int codepegawai        = Integer.parseInt(kodepegawai);
           
            for (int l = 0;l < passpeg.length;l++){
                if ( codepegawai == passpeg[l]){
                     namapegawai = namapeg[l];
                     break;
                }
                else
                namapegawai = "kosong";
            }
            if ( "kosong".equals(namapegawai) ){
                JOptionPane.showMessageDialog(null,"Maaf Kode Pegawai Anda Salah Program Akan Langsung Berhenti");
                System.exit(0);
            }else{
                PrintWriter pout = new PrintWriter(new FileWriter(namapegawai+tanggal+(bulan+1)+tahun+jam+menit+detik+ampm+".txt"));
               
                System.out.printf("%40s%-40s%40s\n\n","","PAWON MAReT","");
                System.out.printf("%-10s%-5s%-20s\n","Alamat",":","Jl. Kampus Karangmalang Yogyakarta Telp (0274)565678 ");
                System.out.printf("%-10s%-5s%-20s\n","Identitas",":",namapegawai);
                System.out.println("________________________________________________________________________________");
                System.out.printf("%-3s%-5s%-40s%12s%8s%12s\n","No","Kode","Nama Barang","Harga Satuan","Jumlah","Harga Total");
                System.out.println("--------------------------------------------------------------------------------");
               
                pout.println(tanggal+"/"+bulan+"/"+tahun);
                pout.println(jam+":"+menit+":"+detik+" "+ampm);
                pout.println();
                pout.printf("%40s%-40s%40s\n\n","","PAWON MAReT","");
                pout.println();
                pout.println();
                pout.printf("%-10s%-5s%-20s\n","Alamat",":","Jl. Kampus Karangmalang Yogyakarta Telp (0274)565678 ");
                pout.println();
                pout.printf("%-10s%-5s%-20s\n","Identitas",":",namapegawai);
                pout.println();
                pout.println();
                pout.println("____________________________________________________________________________________");
                pout.println();
                pout.printf("%-3s%-5s%-40s%12s%8s%15s\n","No","Kode","Nama Barang","Harga Satuan","Jumlah","Harga Total");
                pout.println();
                pout.println("------------------------------------------------------------------------------------");
               
                int no   = 0;
                do{  
                    String inputan = JOptionPane.showInputDialog(null,"Kode barang");
                    for (int j = 0;j < pass.length;j++){      
                        int kode = Integer.parseInt(inputan);
                        if (kode == pass[j] ){
                            no++;
                            String byk = JOptionPane.showInputDialog(null,"Jumlah barang");
                            jum        = Integer.parseInt(byk);
                            kali       = jum * harga[j];
                            total      = total + kali;
                            System.out.printf("%-3d%-5d%-40s%12d%8d%12d\n",no,pass[j],nama[j],harga[j],jum,kali);
                           
                            pout.printf("%-3d%-5d%-40s%12d%8d%15d\n",no,pass[j],nama[j],harga[j],jum,kali);
                            pout.println();
                        }  
                    }
                ulangi = JOptionPane.showConfirmDialog(null," Apakah anda ingin mengulangi ?");
                }
                while(ulangi == JOptionPane.YES_OPTION);
                String byr   = JOptionPane.showInputDialog(null," Besar Pembayaran ");
                bayar        = Integer.parseInt(byr);
       
                System.out.println("--------------------------------------------------------------------------------");
                System.out.printf("%-67s%-6s%7s\n","Jumlah","=",total);
               
                pout.println("------------------------------------------------------------------------------------");
                pout.printf("%-67s%-6s%10s\n","Jumlah","=",total);
                pout.println();
               
                diskon       = total / 10000;
                if (diskon > 0){
                    diskon   = diskon * 1000;
                    total    = total - diskon;
                }
                System.out.printf("%-67s%-6s%7s\n","Diskon","=",diskon);
                System.out.printf("%-67s%-6s%7s\n\n","Total ","=",total);
                System.out.printf("%-67s%-6s%7s\n","Bayar","=",bayar);
               
                pout.printf("%-67s%-6s%10s\n","Diskon","=",diskon);
                pout.println();
                pout.printf("%-67s%-6s%10s\n\n","Total ","=",total);
                pout.println();
                pout.println();
                pout.printf("%-67s%-6s%10s\n","Bayar","=",bayar);
                pout.println();
                kembalian    = bayar - total;
       
                System.out.printf("%-67s%-6s%7s\n\n","Kembalian","=",kembalian);
                System.out.printf("%40s%-40s\n\n","Terima Kasih At","as Kunjungan Anda");
               
                pout.printf("%-67s%-6s%10s\n\n","Kembalian","=",kembalian);
                pout.println();
                pout.println();
                pout.printf("%40s%-40s\n\n","Terima Kasih At","as Kunjungan Anda");
                pout.close();
            }
     }
}
   


Naahh..jangan lupa kita buat database-nya juga buat nyimpen data-data yang diperlukan,seperti ini contohnya:


import java.io.*;
public class Daftar{
    public static void main(String[] args)throws IOException{
        int code []         = new int [23];
        int codepeg []      = new int [7];
        String namapeg []   = new String [7];
        String barang []    = new String [23];
        int harga []        = new int [23];
       
       
        FileOutputStream datacode             = new FileOutputStream ("Kode.dat");
        FileOutputStream datacodepeg          = new FileOutputStream ("Kode Pegawai.dat");
        FileOutputStream datanamapeg          = new FileOutputStream ("Nama Pegawai.dat");
        FileOutputStream databarang           = new FileOutputStream ("Barang.dat");
        FileOutputStream dataharga            = new FileOutputStream ("Harga.dat");
        DataOutputStream filecode             = new DataOutputStream (datacode);
        DataOutputStream filecodepegawai      = new DataOutputStream (datacodepeg);
        DataOutputStream filenamapegawai      = new DataOutputStream (datanamapeg);
        DataOutputStream filebarang           = new DataOutputStream (databarang);
        DataOutputStream fileharga            = new DataOutputStream (dataharga);
       
        code[0]  = 300;  barang[0]  = "ABC Sambal Asli PET 275 ml";             harga[0]  = 7000;  
        code[1]  = 301;  barang[1]  = "ABC Sambal Asli BTL 340 ml";             harga[1]  = 3000;  
        code[2]  = 302;  barang[2]  = "Gandaria Kecap Manis 140 ml";            harga[2]  = 3800;
        code[3]  = 303;  barang[3]  = "Gandaria Kecap Manis 300 ml";            harga[3]  = 7100;
        code[4]  = 304;  barang[4]  = "Sasa TP Pisang Goreng 100 gr";           harga[4]  = 1900;
        code[5]  = 305;  barang[5]  = "Mamasuka TP Pisang Goreng 250 gr";       harga[5]  = 4800;
        code[6]  = 306;  barang[6]  = "Refina Garam Meja 500 gr";               harga[6]  = 2900;
        code[7]  = 307;  barang[7]  = "VP Garam Halus 250 gr";                  harga[7]  = 1100;
        code[8]  = 308;  barang[8]  = "VP Bubuk Rendang BTL 40 gr";             harga[8]  = 6600;
        code[9]  = 309;  barang[9]  = "VP Bubuk Kari BTL 40 gr";                harga[9]  = 6600;
        code[10] = 310;  barang[10] = "Tahu Putih Jakarta";                     harga[10] = 9500;
        code[11] = 311;  barang[11] = "Tempe Potong";                           harga[11] = 4000;
        code[12] = 312;  barang[12] = "SAKANA Bandeng Presto Bumbu Cabe 2 E";   harga[12] = 16600;
        code[13] = 313;  barang[13] = "Beras OBOR SENTRA RAMOS 5 kg";           harga[13] = 54500;
        code[14] = 314;  barang[14] = "Gulaku Pouch 750 gr";                    harga[14] = 11900;
        code[15] = 315;  barang[15] = "Minyak Goreng Filma 1 L";                harga[15] = 13900;
        code[16] = 316;  barang[16] = "Sariwangi TB 25 Asli";                   harga[16] = 4300;
        code[17] = 317;  barang[17] = "ABC Special Grade 600 ml";               harga[17] = 18300;
        code[18] = 318;  barang[18] = "Bogasari Trigu Cakrakembar i kg";        harga[18] = 11200;
        code[19] = 319;  barang[19] = "Cocomas Santan Murni 200 ml";            harga[19] = 7400;
        code[20] = 320;  barang[20] = "Tong Tji Tea Black Celup 50 gr";         harga[20] = 3900;
        code[21] = 321;  barang[21] = "Rang Rang Gula Merah400 gr";             harga[21] = 11500;
        code[22] = 322;  barang[22] = "Maestro Salad Mayonaise 300 ml";         harga[22] = 21500;
       
        codepeg[0] = 410;           namapeg[0] = "Hanum Rosyidah F";
        codepeg[1] = 411;           namapeg[1] = "Sidik Nurcahyo";
        codepeg[2] = 412;           namapeg[2] = "Lila Wijayanti S";
        codepeg[3] = 413;           namapeg[3] = "Fauziah Husnaa";
        codepeg[4] = 414;           namapeg[4] = "Anjar Rokhmi";
codepeg[5] = 415;           namapeg[5] = "Siti Mahmudah";
        codepeg[6] = 416;           namapeg[6] = "Muhammad Rasyid";
       
        for (int i = 0; i < harga.length; i++){
            filecode.writeInt(code[i]);
            filebarang.writeUTF(barang[i]);
            fileharga.writeInt(harga[i]);
        }
        for (int i = 0; i < codepeg.length; i++){
            filecodepegawai.writeInt(codepeg[i]);
            filenamapegawai.writeUTF(namapeg[i]);
        }

    }
}

Itu yang bisa aku sampaikan di kesempatan kali ini teman :)
Semoga bermanfaat ya
Gracias

1 komentar:

mahmudahsiti mengatakan...

bagus

Ikutan Komentar