MEMBUAT APLIKASI JAVA MENGGUNAKAN PARADIGMA OOP

 

APLIKASI MANAJEMEN TOKO PERCETAKAN DAEBAK

Progress 1

source : www.economy.okezone.com
 

 Aplikasi percetakan merupakan aplikasi sederhana yang dibuat dengan tujuan membantu UMKM di bidang percetakan dalam menjalankan proses bisnisnya sehari-hari. Aplikasi ini memiliki 4 menu, yaitu Menu Admin, Menu Pemesanan, Menu Rekap Transaksi, dan Exit.

Berikut merupakan analisis programnya :

Pada menu admin terdapat sub-menu :

  1. Input admin (berfungsi untuk memasukan data admin baru)
  2. Update admin (berfungsi untuk memperbarui data admin yang ada)
  3. View ( berfungsi untuk melihat data admin yang sudah berhasil terinput/terupdate)
  4. Delete (berfungsi untuk menghapus data admin yang ada)
  5. Query admin (berfungsi untuk menampilkan berapa banyak admin yang ada)
  6. Back (kembali ke main menu)

Pada menu pemesanan terdapat sub menu :

  1. Input (berfungsi untuk input pemesanan baru)
  2. Update ( berfungsi untuk memperbarui data pemesanan yang ada)
  3. View ( berfungsi untuk menampilkan data yang sudah berhasil diinput/diupdate)
  4. Delete (berfungsi untuk menghapus data pemesanan yang ada)
  5. Query (menampilkan total data pemesanan)
  6. Back (kembali ke main menu)

Pada menu rekap transaksi terdapat sub menu :

  1. Pemasukan dan pengeluaran ( berfungsi untuk menampilkan pemasukan dan pengeluaran selama menjalankan bisnis percetakan)
  2. Laporan keuangan ( berfungsi menampilkan laporang mengenai keuangan dari bisnis percetakan)
  3. Terakhir ditutup dengan menu exit untuk keluar dari aplikasi.

 

Sesuai dengan kebutuhan aplikasi ini, tercipta 3 class yang masing – masing terisi atribut/variabel yang sesuai dengan class tersebut. Berikut 3 class beserta atributnya :

1.     Class Admin (cAdmin)

  • nama (merupakan nama dari orang yang bertugas sebagai admin)
  • id         (berisikan nomor identitas dari admin)
  • alamat ( berisi alamat tinggal admin)
  • tlp (berisi nomor telp dari admin)
  • us  (berisi usia admin)


2.     Class Pencatatan (cCatat)

  • tgl    ( berisikan waktu terjadinya pemasukan)
  • tgl2 (berisikan waktu terjadinya pengeluaran
  • totalBeli  (berisi total jumlah beli)
  • totalGaji  (berisi total dari gaji untuk karyawan)
  • totalHutang  (berisi total dari hutang usaha)
  • danaMasuk   (berisikan junlah dana yang masuk dalam proses bisnis percetakan)

 

3.     Class Transaksi (cTransaksi)

  • jns        (berisi jenis transaksi)
  • jumlah (berisikan kuantitas/jumlah transaksi)
  • total     (berisikan total harga dari transaksi)
  • nomor  (berisi nomor transaksi)
  • nama    (berisi nama dari transaksi)

 

Berikut merupakan source code program aplikasi manajemen toko percetakan :

1.    Class Admin (cAdmin)

package pkgPercetakan;

public class cAdmin {

    private  String nama, id, alamat, tlp;

    private  int us;

 

    //construct

    cAdmin(String nm, String ID, int umr, String telp, String almt){

        nama=nm; id=ID; us=umr; tlp=telp; alamat=almt;

    }

   

    //setter

    public void setNama(String nm){

        nama=nm;

    }

    public void setID(String ID){

        id=ID;

    }

    public void setUmur(int umr){

        us=umr;

    }

    public void setTelp(String telp){

        tlp=telp;

    }

    public void setAlamat(String almt){

        alamat=almt;

    }

   

    //getter

    public String getNama(){

        return nama;

    }

    public String getID(){

        return id;

    }

    public int getUmur(){

        return us;

    }

    public String getTelp(){

        return tlp;

    }

    public String getAlamat(){

        return alamat;

    }

   

    //query

    public String ToString(){

        return nama+" \t"+id+" \t "+us+" \t "+tlp+" \t "+alamat;

    }

}

 

 

2.    Class Pencatatan (cCatat)

package pkgPercetakan;

public class cCatat {

    private String tgl, tgl2;

    private long totalBeli;

    private long totalGaji;

    private long totalHutang;

    private long danaMasuk;

 

    cCatat(String tg, long masuk, String tgl2, long tbeli, long tgaji){

    tgl=tg; danaMasuk=masuk; totalBeli=tbeli; totalGaji=tgaji;

    }

    //Method Setter

    public void setTgl(String tg){

        tgl=tg;

    }

    public void setDanaMasuk(long masuk){

      danaMasuk=masuk;

    }

    public void setTgl2(String tg2){

        tgl2=tg2;

    }

    public void setTotalBeli(long tbeli){

      totalBeli=tbeli;

    }

    public void setTotalGaji(long tgaji){

      totalGaji=tgaji;

    }

   

   

    //Method Getter

    public String getTgl(){

      return tgl;

    }

    public long getDanaMasuk(){

      return danaMasuk;

    }

    public String getTgl2(){

        return tgl2;

    }

    public long getTotalBeli(){

      return totalBeli;

    }

    public long getTotalGaji(){

      return totalGaji;

    } 

   

   

   

    //Method Query

    public String ToString(){

      return "PEMASUKAN"+"\n---------------"+"\nPendapatan  : Rp."+danaMasuk+"\n==============="+"\nPENGELUARAN"+"\n---------------"+"\nPembelian : Rp."+totalBeli+"\nGaji Pegawai : Rp."+totalGaji+"\nTotal : Rp."+(totalBeli+totalGaji)+"\n======================="+"\nTotal Pendapatan : Rp."+(danaMasuk-(totalBeli+totalGaji))+"\n=======================";

    }

  }

 

 

3.    Class Transaksi (cTransaksi)

package pkgPercetakan;

public class cTransaksi {

    //attribut, data, variabel

    private int jns,jumlah,total;

    private String nmr, nma;

    //method fungsi

    //constructor

    cTransaksi(String nomor, String nm, int jns1, int jml, int tot){

        nmr=nomor; nma=nm; jns=jns1; jumlah=jml; total=tot;

    }

   

    //setter

    public void setNomor(String nomor){

        nmr=nomor;

    }

    public void setNama(String nm){

        nma=nm;

    }

    public void setJenis(int jns1){

        jns=jns1;

    }

    public void setJumlah(int jml){

        jumlah=jml;

    }

    public void setTotal(int tot){

        total=tot;

    }

   

    //getter

    public String getNomor(){

        return nmr;

    }

    public String getNama(){

        return nma;

    }

    public int getJenis(){

        return jns;

    }

    public int getJumlah(){

        return jumlah;

    }

    public int getTotal(){

        return total;

    }

   

    //query

    public String ToString(){

        return "| "+nmr+" \t| "+nma+"\t\t| "+jns+"\t\t\t| "+jumlah+"\t\t\t| Rp."+total+"\t|";

    }

}

 

 

Method Main

package pkgPercetakan;

import java.util.Scanner;

public class appPercetakan {

       static int jns, jumlah, total, jn;

    static int krts, tnt, stck;

    public static Scanner sc = new Scanner(System.in);

    static String header="==========================================";

    public static void main(String[] args) {       

        int pilih, pilih2, jenis, harga ;

        cAdmin adm = null;

        cTransaksi trf = null;

        cCatat ct = null;

        do{

            System.out.println("MENU APLIKASI PERCETAKAN");

            System.out.println("1. Menu Admin");

            System.out.println("2. Menu Pemesanan");

            System.out.println("3. Menu Rekap Transaksi Harian");

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

            System.out.print("Silahkan tekan angka sesuai menu yang ingin digunakan : ");

            pilih = sc.nextInt();

            switch(pilih){

                case 1 :

                    System.out.println(header);

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

                    System.out.println(header);

                    System.out.print("1.Input Admin\t\t4.Delete Admin\n2.Update Admin\t\t5.Query Admin\n3.View Admin\t\t6.Back\n ");

                    System.out.print("Silahkan pilih menu diatas : ");

                    pilih2 = sc.nextInt();

                    System.out.println("");

                    switch(pilih2){

                       

                        case 1 :

                            System.out.println("-------------------------------");

                            System.out.println("Menambah Admin...");

                            System.out.println("-------------------------------");

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

                            sc=new Scanner(System.in);

                            String nama = sc.nextLine ();

                            System.out.print("Masukkan ID Admin             = ");

                            String id = sc.next();

                            System.out.print("Masukkan Usia                 = ");

                            int us = sc.nextInt();                           

                            System.out.print("Masukkan Nomor Telepon        = ");

                            String tlp = sc.next();

                            System.out.print("Masukkan Alamat Operator      = ");

                            sc=new Scanner(System.in);

                            String alamat= sc.nextLine();

                            adm = new cAdmin(nama, id, us, tlp, alamat);

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

                            System.out.println("");

                            break;

                           

                        case 2 :

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

                            System.out.print("Masukkan ID Admin           = ");

                            id=sc.next();                           

                            if(adm!=null && adm.getID().equalsIgnoreCase(id)){

                                System.out.println("Admin ditemukan..");

                                System.out.println("+++++++++++++++++++++++++++++++++++++++++");

                                System.out.println("Admin atas nama = "+adm.getNama());

                                System.out.println("+++++++++++++++++++++++++++++++++++++++++");

                                System.out.println("Data apa yang ingin anda ubah?");

                                System.out.println("1. Nama\n2. Nomor Telepon\n3. Alamat");

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

                                int ubahpilih=sc.nextInt();

                                if(ubahpilih==1){

                                    System.out.print("Masukkan nama baru            = ");

                                    sc=new Scanner(System.in);

                                    nama = sc.nextLine();

                                    adm.setNama(nama);

                                    System.out.println("Nama baru sudah tersimpan..");

                                }else if(ubahpilih==2){

                                    System.out.print("Masukkan nomor telepon baru   =  ");

                                    tlp = sc.next();

                                    adm.setTelp(tlp);

                                    System.out.println("Nomor telepon baru sudah tersimpan..");

                                }else if(ubahpilih==3){

                                    System.out.print("Masukkan alamat baru          = ");

                                    sc = new Scanner(System.in);

                                    alamat = sc.nextLine();

                                    adm.setAlamat(alamat);

                                    System.out.println("Alamat baru sudah tersimpan..");

                                }else

                                    System.out.println("Pilihan tidak ada!");

                                    System.out.println("");

                            }else

                                System.out.println("Data tidak ditemukan!");

                            break;

                        case 3 :

                            System.out.println("Menampilkan Data Admin...");

                            if(adm!=null){

                                System.out.println("---------------Admin-----------------");

                                System.out.println("ID Admin        : "+adm.getID());

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

                                System.out.println("Usia Admin      : "+adm.getUmur());

                                System.out.println("Telepon Admin   : "+adm.getTelp());

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

                                System.out.println("");

                            }else

                                System.out.println("Belum ada admin yang terdaftar");

                            break;

                         case 4 :

                            System.out.println("Menghapus Data Admin...");

                            System.out.print("Masukkan ID Admin         = ");

                            id = sc.next();

                            if(adm!=null && adm.getID().equalsIgnoreCase(id)){

                                System.out.println("Admin ditemukan..");

                                System.out.println("+++++++++++++++++++++++++++++++++++++++++");

                                System.out.println("Admin atas nama = "+adm.getNama());

                                System.out.println("+++++++++++++++++++++++++++++++++++++++++");

                                System.out.println("Apakah yakin data akan dihapus?");

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

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

                                int konfir = sc.nextInt();

                                if(konfir==1){

                                    adm=null;

                                    System.out.println("Data berhasil dihapus");

                                }else

                                    System.out.println("Tidak menghapus data");

                            }else

                                System.out.println("Data tidak ditemukan!");

                            break;                           

                           

                        case 5 :

                            System.out.println("Daftar Admin");

                            if(adm!=null){

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

                            }else

                                System.out.println("Tidak ada data!");

                            break;

                        case 6 :

                            break;

                        default :

                            System.out.println("Pilihan tidak ditemukan!");

                    }

                    break;

                   

                   

                case 2 :

                    System.out.println("-------------------------------");

                    System.out.println("Menu Pemesanan");

                    System.out.println("-------------------------------");

                    System.out.print("1.Input\t\t4.Delete\n2.Update\t5.Query\n3.View\t\t6.Back\n ");

                    System.out.print("Silahkan pilih menu diatas : ");

                    pilih2=sc.nextInt();

                    System.out.println("");

                    switch(pilih2){

                       

                        case 1 :

                            System.out.println(header);

                            System.out.println("Menambahkan Transaksi...");

                            System.out.println(header);

                            System.out.print("Masukkan Nomor Pesanan            : ");

                            String nmr = sc.next();

                            sc=new Scanner(System.in);

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

                            String nma = sc.nextLine();

                            System.out.println(header);

                            System.out.println("|     Layanan tersedia      |    Harga   |");

                            System.out.println(header);

                            System.out.println("|   1. Cetak undangan       |   8000/lbr |");

                            System.out.println("|   2. Cetak ID Card        |   3000/lbr |");

                            System.out.println("|   3. Cetak Brosur A4      |   1500/lbr |");

                            System.out.println("|   4. Cetak stiker vinyl   |   8000/lbr |");

                            System.out.println("|   5. Cetak sertifikat     |   3500/lbr |");

                            System.out.println(header);

                            System.out.print("Masukkan Jenis Layanan Cetak      : ");

                            jns = sc.nextInt();

                            harga(jns);

                            System.out.print("Masukkan Jumlah Pesanan           : ");

                            jumlah = sc.nextInt();

                            hitung(jns, jumlah);

                            System.out.println("Total harga adalah:               : Rp."+total+".00,-");

                            trf = new cTransaksi(nmr, nma, jns, jumlah, total);

                            System.out.println("======Transaksi Berhasil ditambahkan======");

                            break;                          

                           

                        case 2 :

                            System.out.println("Memperbarui Transaksi...");

                            System.out.print("Nomor Pesanan                   : ");

                            nmr=sc.next();

                            if(trf!=null && trf.getNomor().equalsIgnoreCase(nmr)){

                                System.out.print("Jumlah pesanan baru             : ");

                                jumlah = sc.nextInt();

                                trf.setJumlah(jumlah);

                                hitung(jns,trf.getJumlah());

                                trf.setTotal(total);

                                System.out.print("Totalnya adalah                 : Rp."+trf.getTotal()+".00,-");

                                System.out.println("");

                            }else

                                System.out.println("Data tidak ditemukan!");

                            break;                           

                           

                        case 3 :

                            System.out.println("Menampilkan Transaksi...");

                            if(trf!=null){

                                System.out.println("---------------Transaksi-----------------");

                                System.out.println("Id pesanan      : "+trf.getNomor());

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

                                System.out.println("Jenis pesanan   : "+trf.getJenis());

                                System.out.println("Jumlah pesanan  : "+trf.getJumlah());

                                System.out.println("Total harga     : Rp."+trf.getTotal()+".00,-");

                                System.out.println("");

                            }else

                                System.out.println("Belum ada transaksi.");

                            break;

                           

                           

                        case 4 :

                            System.out.println("Menghapus data transaksi...");

                            System.out.print("Nomor pesanan                   : ");

                            nmr = sc.next();

                            if(trf!=null && trf.getNomor().equalsIgnoreCase(nmr)){

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

                                System.out.println("Apakah yakin data akan dihapus?");

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

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

                                int konfir = sc.nextInt();

                                if(konfir==1){

                                    trf=null;

                                    System.out.println("Data berhasil dihapus");

                                    System.out.println("");

                                }else

                                    System.out.println("Tidak menghapus data");

                                System.out.println("");

                            }else

                                System.out.println("Data tidak ditemukan!");

                                System.out.println("");

                            break;                           

                           

                        case 5 :

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

                            System.out.println("| No\t| Nama\t\t| Layanan\t\t| Jumlah\t\t| Total\t\t|");

                            if(trf!=null){

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

                            }else

                                System.out.println("Tidak ada data!");

                            break;

                        case 6 :

                            break;

                        default :

                            System.out.println("Pilihan tidak ditemukan!");

                    }

                    break;                                                       

               

                case 3 :

                    System.out.println(header);

                    System.out.println("            Catatan Keuangan");

                    System.out.println(header);

                    System.out.println("1. Pemasukan dan Pengeluaran");

                    System.out.println("2. Laporan Keuangan");

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

                    pilih2 = sc.nextInt();

                    switch(pilih2){

                    case 1:

                        System.out.println("======= Catat Pemasukkan =======");

                        System.out.print("Masukkan Tanggal Pemasukkan dd/mm/yyyy    = ");

                        String tgl = sc.next ();

                        System.out.print("Masukkan Nominal Pemasukkan               = Rp.");

                        long danaMasuk= sc.nextLong();

                        System.out.println("======= Catat Pengeluaran =======");

                        System.out.print("Tanggal Pengeluaran dd/mm/yyyy            = ");

                        String tgl2;

                        System.out.println(tgl2 = tgl);

                        System.out.print("Masukkan Nominal Pembelian Stock          = Rp.");

                        long totalBeli = sc.nextLong();

                        System.out.print("Masukkan Nominal Gaji Pegawai             = Rp.");

                        long totalGaji = sc.nextLong();

                        ct = new cCatat(tgl,danaMasuk,tgl2, totalBeli, totalGaji);

                        break;

                    case 2:

                        System.out.println("== Hasil Rekap Transaksi "+ct.getTgl()+"==");

                        if(ct!=null)

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

                        else System.out.println("Belum ada Rekap");

                        break;

                    }

                    break;

            }

        }while(pilih!=4);

        System.out.println("Terimakasih..");

    }

    static void harga(int jenis){

        if(jenis==1){

           

        }else if(jenis==2){

           

        }else if(jenis==3){

           

        }else if(jenis==4){

           

        }else if(jenis==5){

           

        }else{

            System.out.println("Anda salah memasukkan menu.");

            System.out.println("Silahkan jalankan ulang program...");

            System.exit(0);

        }

    }

    static void hitung(int jenis, int jumlah){

        if(jenis==1){

            total=8000*jumlah;

        }else if(jenis==2){

            total=3000*jumlah;

        }else if(jenis==3){

            total=1500*jumlah;

        }else if(jenis==4){

            total=8000*jumlah;

        }else if(jenis==5){

            total=3500*jumlah;

        }

    }

}

             Sekian,terimakasih atas perhatiannya dan mohon maaf apabila terdapat kesalahan.Kritik dan saran dari anda sangat kami perlukan agar kedepannya bisa lebih baik lagi.Sampai jumpa di postingan berikutnya 😇

Komentar

Postingan populer dari blog ini

LINKED LIST (TAMBAH DAN HAPUS DARI BELAKANG)

PROGRAM PALINDROME DENGAN STACK

STACK ( WITH SINGLE LINKED LIST )