Program Penjualan Stationery

Program Penjualan Stationery merupakan program dari bahasa pemrograman Java OOP yang kami rancang untuk membantu para pelaku usaha alat tulis dalam mengatur data barang yang mereka jual agar lebih efektif dan efisien. Program ini sendiri terdiri dari 3 class yaitu class Barang, class Data Pembeli, dan class Pendapatan. Pelaku usaha atau pengguna program dapat memasukkan atau menginput data, menghapus, mengupdate, serta melihat data yang ada. 

Main Class

package pkgPenjualanATK;

import pkgpenjualanatk.cDataPembeli;

import java.util.Scanner;

public class appPenjualanATK {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        int pilih, harga, satuan, modal, stock;

        cBarang brg = null;

        cDataPembeli dp = null;

        cPendapatan pend = new cPendapatan();

        

        do{

            System.out.println("");

            System.out.println("MENU PENJUALAN STATIONARY");

            System.out.println("1. Barang");

            System.out.println("2. Data Pembeli");

            System.out.println("3. Pendapatan");

            System.out.println("4. Selesai");

            System.out.print("Pilihan = ");

            pilih = sc.nextInt();

            System.out.println("");

            switch(pilih){

                case 1:

                    System.out.println("MENU Barang");

                    System.out.println("1. Tambah Barang");

                    System.out.println("2. Hapus Barang");

                    System.out.println("3. Update Barang");

                    System.out.println("4. Lihat Barang");

                    System.out.println("5. Query");

                    System.out.print("Pilih = ");

                    int pilih2=sc.nextInt();

                    switch(pilih2){

                        case 1:

                            System.out.println("\n~~~Tambah Nama Barang~~~");

                            System.out.print("Masukkan Nama Barang= ");

                            sc=new Scanner(System.in);

                            String nama=sc.nextLine();

                            System.out.print("Masukkan Kode Barang= ");

                            String kode=sc.next();

                            System.out.print("Masukkan Satuan Barang= ");

                            satuan=sc.nextInt();

                            System.out.print("Masukkan Harga Jual= ");

                            harga=sc.nextInt();

                            System.out.print("Masukkan Update Barang= ");

                            int update=sc.nextInt();

                            brg = new cBarang(nama,kode,satuan,harga,update);

                            break;

                        case 2: 

                            System.out.println("\n~~~Hapus Barang~~~");

                            System.out.print("Masukkan Kode Barang= ");

                            kode=sc.next();

                            if(brg !=null&&brg.getKode().equalsIgnoreCase(kode))

                            {

                                System.out.println("Data Barang Telah Ditemukan");

                                System.out.println("Yakin Barang Dihapus? 1. Ya, 2. Tidak");

                                System.out.print("Pilih= ");

                                pilih2=sc.nextInt();

                                if(pilih2==1){

                                    brg=null;

                                    System.out.println("Data Barang Telah Dihapus!");

                                    }

                                else System.out.println("Batalkan Hapus Data Barang");

                            }    

                            else System.out.println("Data Barang Tidak Ada!");

                            break;

                        case 3:

                            System.out.println("\n~~~Update Data Barang~~~");

                            System.out.print("Masukkan Kode Barang= ");

                            kode=sc.next();

                            if(brg !=null&&brg.getKode().equalsIgnoreCase(kode))

                            {

                                System.out.println("Data Barang Telah Ditemukan");

                                System.out.print("Nama Barang Baru= ");

                                sc=new Scanner(System.in);

                                String nm=sc.nextLine();

                                System.out.print("Harga Barang Baru= ");

                                int ha=sc.nextInt();

                                System.out.println("Simpan Data? 1. Ya, 2. Tidak");

                                System.out.print("Pilih= ");

                                pilih2=sc.nextInt();

                                if(pilih2==1){

                                    brg.setNama(nm);

                                    brg.setHarga(ha);

                                    System.out.println("Data Telah Diperbarui!!");

                                }

                                else System.out.println("Batal Update Data");

                            }

                            else System.out.println("Data Barang Tidak Ada!!");

                            break;

                        case 4:

                            System.out.println("\n~~~Lihat Data Barang~~~");

                            if(brg!=null){

                                System.out.println("Nama :"+brg.getNama());

                                System.out.println("Kode :"+brg.getKode());

                                System.out.println("Harga :"+brg.getHarga());

                            }

                            else System.out.println("Maaf Data Barang Kosong!!");

                            break;

                        case 5: 

                            System.out.println("\n~~~Query Data Barang~~~");

                            if(brg!=null);

                            System.out.println(brg.ToString());

                            System.out.println("Maaf Data Barang Kosong!!");

                            break;

                    }

                    break;

                case 2:

                    System.out.println("MENU Data Pembeli");

                    System.out.println("1. Tambah data pembeli");

                    System.out.println("2. Hapus data pembeli");

                    System.out.println("3. Update data pembeli");

                    System.out.println("4. Cetak data");

                    System.out.println("5. Query");

                    System.out.print("Pilihan = ");

                    int pilihh = sc.nextInt();

                    switch(pilihh){

                        case 1 : 

                            dp = new cDataPembeli();

                            System.out.println("\n--TAMBAH DATA PEMBELI--");

                            System.out.print("Masukkan nama Pembeli      : ");

                            String nama = sc.next(); dp.setNama(nama);

                            System.out.print("Masukkan alamat pembeli    : ");

                            String almt = sc.next(); dp.setAlamat(almt);

                            System.out.print("Masukkan Tanggal Transaksi : ");

                            sc = new Scanner(System.in);

                            String ttrn = sc.nextLine(); dp.setTgltrn(ttrn);

                            System.out.println("Penambahan data berhasil");

                            break;

                        case 2 :  System.out.println("\n--HAPUS DATA PEMBELI--");

                            System.out.print("Masukkan nama Pembeli : ");

                            nama = sc.next();

                            if (dp != null && dp.getNama().equalsIgnoreCase(nama)){

                                System.out.println("  Data Ditemukan");

                                System.out.println("Nama   : " + dp.getNama()); 

                                System.out.println("Alamat : " + dp.getAlamat());

                                System.out.println("Tgl Trn: " + dp.getTgltrn());

                                System.out.println("Hapus Data Pembeli ?");

                                System.out.println(" 1. Ya     2. Tidak");

                                pilih2 = sc.nextInt();

                                if (pilih2 == 1){

                                    dp = null;

                                    System.out.println("Hapus Data Berhasil !"); 

                                }else System.out.println("Hapus Data di Batalkan");

                            }else System.out.println("Data tidak ditemukan");

                            break;

                        case 3 :  System.out.println("\n--UPDATE DATA PEMBELI--");

                            System.out.print("Masukkan nama Pembeli     : ");

                            nama = sc.next();

                            if (dp != null && dp.getNama().equalsIgnoreCase(nama)){

                                System.out.println("Data Ditemukan");

                                System.out.print("Masukkan Nama baru   : ");

                                String n = sc.next(); dp.setNama(n);

                                System.out.print("Masukkan Alamat baru : ");

                                String b = sc.next(); dp.setAlamat(b);

                                System.out.print("Masukkan Tanggal Transaksi : ");

                                sc = new Scanner(System.in);

                                String t = sc.nextLine(); dp.setAlamat(t);

                                System.out.println("Simpan perubahan ?");

                                System.out.println("1. Ya     2. Tidak");

                                System.out.print("Pilih");

                                pilih2 = sc.nextInt();

                                if (pilih2 == 1){

                                    System.out.println("Perubahan Data Berhasil disimpan");

                                }else System.out.println("Perubahan Data Gagal");

                            }else System.out.println("Data tidak ditemukan");

                        case 4 : System.out.println("\n--CETAK DATA--");

                            if (dp!=null){

                                System.out.println("Nama Pembeli      : " + dp.getNama());

                                System.out.println("Alamat            : " + dp.getAlamat());

                                System.out.println("Tanggal Transaksi : " + dp.getTgltrn());

                            }else System.out.println("Tidak Ada Data");

                            break;

                        case 5 : System.out.println("\n--QUERY DATA--");

                            if (dp!=null){

                                System.out.println(dp.ToString());

                            }else System.out.println("Tidak Ada Data");

                    }break;

                case 3:

                    System.out.println("MENU Pendapatan");

                    System.out.println("1. Total Pendapatan");

                    System.out.println("2. Keuntungan");

                    System.out.println("3. Kerugian");

                    System.out.println("4. Kembali");

                    System.out.print("Pilih : "); 

                    byte pil = sc.nextByte();

                    System.out.println(" ");

                    

                    switch(pil){

                        case 1 :

                            System.out.println("\nMENU Total Pendapatan");

                            System.out.println("1. Tambah Total Pendapatan");

                            System.out.println("2. Hapus Total Pendapatan");

                            System.out.println("3. Update Total Pendapatan");

                            System.out.println("4. Lihat Total Pendapatam");

                            System.out.println("5. Query");

                            System.out.println("6. Kembali");

                            System.out.print("Pilih : ");

                            byte pill = sc.nextByte();

                            

                            switch(pill){

                                case 1 :

                                    System.out.println("\n== Tambah Total Pendapatan ==");

                                    System.out.print("Total Pendapatan : Rp");

                                    int tp = sc.nextInt();

                                    pend.setTotalPend(tp);

                                    System.out.println("Total Pendapatan berhasil ditambahkan");

                                    break;

                                case 2 :

                                    System.out.println("\n== Hapus Total Pendapatan ==");

                                    System.out.println("Anda yakin akan menghapus total pendapatan?");

                                    System.out.println("1. Ya       2. Tidak");

                                    System.out.print("Pilih : ");

                                    byte pilih5 = sc.nextByte();

                                    if(pilih5 == 1) {

                                        pend.setRugi(0);

                                        System.out.println("Total Pendapatan Berhasil dihapus!");

                                    }

                                    else System.out.println("Total Pendapatan Gagal dihapus!");

                                    break;

                                case 3 :

                                    System.out.println("\n== Update Total Pendapatan ==");

                                    System.out.print("Total Pendapatan yang seharusnya didapat: Rp"); 

                                    tp = sc.nextInt();

                                    pend.setTotalPend(tp);

                                    break;

                                case 4 : 

                                    System.out.println("\n== Lihat Total Pendapatan ==");

                                    System.out.print("Total Pendapatan Hari ini : Rp"+pend.getTotalPend());                                    

                                    break;

                                case 5 :

                                    System.out.println("\n== Query ==");

                                    System.out.println(pend.ToString());

                                    break;

                                case 6 : System.out.println("Thank u");

                            }

                            break;

                        case 2 :

                            System.out.println("MENU Keuntungan");

                            System.out.println("1. Tambah Keuntungan Hari ini");

                            System.out.println("2. Hapus Keuntungan Hari ini");

                            System.out.println("3. Update Keuntungan Hari ini");

                            System.out.println("4. Lihat Keuntungan Hari ini");

                            System.out.println("5. Query");

                            System.out.println("6. Kembali");

                            System.out.print("Pilih : ");

                            pill = sc.nextByte();

                            

                            switch(pill){

                                case 1 :

                                    System.out.println("\n== Tambah Data Keuntungan Hari ini ==");

                                    System.out.print("Modal : Rp");

                                    modal = sc.nextInt();

                                    int tp = pend.getTotalPend();

                                    if(modal<tp) {

                                        pend.setUntung(tp-modal);

                                        System.out.println("Data Keuntungan Hari ini berhasil ditambahkan!");

                                    }

                                    else System.out.println("Data Gagal ditambahkan");

                                    break;

                                case 2 :

                                    System.out.println("\n== Hapus Data Keuntungan Hari ini ==");

                                    System.out.println("Anda yakin akan menghapus data keuntungan yang didapat hari ini?");

                                    System.out.println("1. Ya       2. Tidak");

                                    System.out.print("Pilih : ");

                                    byte pilih5 = sc.nextByte();

                                    if(pilih5 == 1) {

                                        pend.setUntung(0);

                                        System.out.println("Data Keuntungan hari ini Berhasil dihapus!");

                                    }

                                    else System.out.println("Data Keuntungan hari ini Gagal dihapus!");

                                    break;

                                case 3 :

                                    System.out.println("\n== Update Data Keuntungan Hari ini ==");

                                    System.out.print("Data Keuntungan yang seharusnya didapat : Rp");

                                    int utg = sc.nextInt();

                                    pend.setUntung(utg);

                                    System.out.println("Data Keuntungan berhasil diupdate!"+pend.getUntung());

                                    break;

                                case 4 :

                                    System.out.println("\n== Lihat Data Keuntungan Hari ini ==");

                                    System.out.println("Keuntungan yang didapat hari ini : Rp"+pend.getUntung());

                                    break;

                                case 5 :

                                    System.out.println("\n== Query ==");

                                    System.out.println(pend.ToString());

                                    break;

                                case 6 : System.out.println("Thank u");

                            }

                            break;

                        case 3 :

                            System.out.println("MENU Kerugian");

                            System.out.println("1. Tambah Data Kerugian Hari ini");

                            System.out.println("2. Hapus Data Kerugian Hari ini");

                            System.out.println("3. Update Data Kerugian Hari ini");

                            System.out.println("4. Lihat Data Kerugian Hari ini");

                            System.out.println("5. Query");

                            System.out.println("6. Kembali");

                            System.out.print("Pilih : ");

                            pill = sc.nextByte();

                            

                            switch(pill){

                                case 1 :

                                    System.out.println("\n== Tambah Data Kerugian Hari ini ==");

                                    System.out.print("Modal : Rp");

                                    modal = sc.nextInt();

                                    int tp = pend.getTotalPend();

                                    if(modal>tp){

                                        pend.setRugi(modal-tp);

                                        System.out.println("Data Kerugian Hari ini berhasil ditambahkan!");

                                    }

                                    else System.out.println("Data Kerugian Gagal ditambahkan!");

                                    break;

                                case 2 :

                                    System.out.println("\n== Hapus Data Kerugian Hari ini ==");

                                    System.out.println("Anda yakin akan menghapus data kerugian yang didapat hari ini?");

                                    System.out.println("1. Ya       2. Tidak");

                                    System.out.print("Pilih : ");

                                    byte pilih5 = sc.nextByte();

                                    if(pilih5 == 1) {

                                        pend.setRugi(0);

                                        System.out.println("Data Kerugian hari ini Berhasil dihapus!");

                                    }

                                    else System.out.println("Data Kerugian hari ini Gagal dihapus!");

                                    break;

                                case 3 :

                                    System.out.println("\n== Update Data Kerugian Hari ini ==");

                                    System.out.print("Kerugian yang seharusnya didapat hari ini : Rp");

                                    int rg = sc.nextInt();

                                    pend.setRugi(rg);

                                    System.out.println("Data Kerugian berhasil diupdate!");

                                    break;

                                case 4 :

                                    System.out.println("\n== Lihat Data Kerugian Hari ini ==");

                                    System.out.println("Data Kerugian yang didapat hari ini : Rp"+pend.getRugi());

                                    break;

                                case 5 :

                                    System.out.println("\n== Query ==");

                                    System.out.println(pend.ToString());

                                    break;

                                case 6 : System.out.println("Thank u");

                            }

                    break;

                case 4:

                    System.out.println("TERIMA KASIH~~~");

                    break;

            }

        }

    }while (pilih!=4);

}

}




Class Pendapatan

package pkgPenjualanATK;

public class cPendapatan {

    private int totalpend, modal, untung, rugi;

        

    cPendapatan(){

        System.out.println("Constructor 1 Pendapatan . .");

    }

    

    cPendapatan(int tp, int mdl, int harga){

        totalpend = tp;

        modal = mdl;

        if(mdl < tp)untung = tp-mdl;

        else untung =0;

        if(mdl > tp)rugi = mdl-tp;

        else rugi =0;

        System.out.println("Constructor 2 Pendapatan . .");

    }

    public void setTotalPend(int ttlpend){

        totalpend=ttlpend;

    }

    public void setUntung(int utg){

        untung = utg;

    }

    public void setRugi(int rg){

        rugi = rg;

    }

    public int getTotalPend(){

       return totalpend;

    }

    public int getUntung(){

        return untung;

    }

    public int getRugi(){

        return rugi;

    }

    public String ToString(){

        return "Total pendapatan hari ini sejumlah Rp"+totalpend+" dengan keuntungan sebesar Rp"+untung+" dan kerugian sebesar Rp"+rugi;

    }

}



Class Barang

package pkgPenjualanATK;

public class cBarang {

    private String nama;

    private String kode;

    private int satuan;

    private int harga;

    private int stock;

    //constructor

    cBarang(){

        System.out.println("Constructor 1 Barang...");

    }

    cBarang(String nm, String kd, int sa, int ha, int st){

        nama=nm; kode=kd; satuan=sa; harga=ha; stock=st;

        System.out.println("Constructor 2 Barang...");

    }

    //member function

    //member setter

    public void setNama(String n){

        nama=n;

    }

    public void setKode(String n){

        kode=n;

    }

    public void setSatuan(int k){

        satuan=k;

    }

    public void setHarga(int k){

        harga=k;

    }

    public void setStock(int k){

        stock=k;

    }

    //method getter

    public String getNama(){

        return nama;

    }

    public String getKode(){

        return kode;

    }

    public int getSatuan(){

        return satuan;

    }

    public int getHarga(){

        return harga;

    }

    public int getStock(){

        return stock;

    }

    //method query

    public String Tostring(){

        return nama+" "+kode+" "+satuan+" "+harga+" "+stock;

    }


    boolean ToString() {

        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.

    }

}


Output Aplikasi

Fitur penambahan nama, kode, satuan, harga jual, dan update (stock) barang .



Tampilan data barang yang telah diinput dan Fitur hapus barang.



Tampilan data barang setelah dilakukan penghapusan .




Penambahan data pembeli dan tampilan datanya



Fitur hapus data pembeli



Penambahan ulang data pembeli setelah penghapusan dan tampilan datanya.




Fitur update data pembeli dan tampilan datanya setelah diupdate



Fitur penambahan Total Pendapatan 



Fitur penambahan data keuntungan yang didapat dengan memasukkan modal



Tampilan data keuntungan



Tampilan Query Pendapatan