Sistem POS (point of sale) untuk transaksi jual beli Java - UAS Strukdat F
Baca Juga
Dibuat oleh
Abd Wahid 5025201039
Sidrotul Munawaroh 5025201047
Sistem Point of Sale
Point of Sale atau yang biasa disebut mesin kasir adalah sebuah aplikasi yang biasa digunakan dari toko kecil hingga besar untuk mencatat semua transaksi mulai dari keluar/masuknya barang, jumlah stok yang masih tersedia di dalam gudang dll.
Apkikasi sederhana yang kami buat menggunkan setruktur data HashMap dimana untuk menyimpan data yang berupa stok barang, harga barang dan tanggal keluar/masuknya barang dubuat terpisah dengan menggunakan nama barang sebagai identitasnya.
Semua fungsi yang kami buat juga dibuat terpisah perfungsi, sehingga lebih mudah dan lebih nyaman jika terdapat error disalah satu fungsinya. Berikut adalah Makala/paper dan Source Code dari Sistem Point of Sale dari kami:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.text.DateFormat; | |
import java.text.SimpleDateFormat; | |
import java.util.*; | |
public class Apps { | |
HashMap<String, Integer> stok = new HashMap<>(); | |
HashMap<String, Integer> harga = new HashMap<>(); | |
HashMap<String, String> tanggalMasuk = new HashMap<>(); | |
//Catatan | |
HashMap<Integer, String> nama = new HashMap<>(); | |
HashMap<Integer, Integer> stokKeluar = new HashMap<>(); | |
HashMap<Integer, Integer> total = new HashMap<>(); | |
HashMap<Integer, String> tanggal = new HashMap<>(); | |
Integer i = 1; | |
public void barangMasuk(){ | |
System.out.println("=========Barang Masuk==========="); | |
System.out.print("Nama barang: "); | |
String nama = scanner().nextLine(); | |
if (this.stok.containsKey(nama) && this.harga.containsKey(nama)){ | |
System.out.println("Barang sudah ada!\n"); | |
}else { | |
System.out.print("Stok barang: "); | |
Integer stok = scanner().nextInt(); | |
System.out.print("Harga barang: Rp."); | |
Integer harga = scanner().nextInt(); | |
this.stok.put(nama, stok); | |
this.harga.put(nama, harga); | |
this.tanggalMasuk.put(nama, date()); | |
System.out.println("Barang berhasil disimpan!\n"); | |
} | |
} | |
public void barangKeluar() { | |
System.out.println("=========Barang Keluar==========="); | |
System.out.print("Nama barang: "); | |
String nama = scanner().nextLine(); | |
if (!this.stok.containsKey(nama) && !this.harga.containsKey(nama)){ | |
System.out.println("Barang tidak ditemukan!\n"); | |
}else { | |
System.out.print("Jumlah: "); | |
Integer jumlah = scanner().nextInt(); | |
System.out.println("\n"); | |
System.out.println("============Total============="); | |
System.out.println("Nama barang: " + nama); | |
System.out.println("Jumlah barang: " + jumlah); | |
System.out.println("Harga satuan: Rp." + this.harga.get(nama)); | |
Integer totalHarga = jumlah * this.harga.get(nama); | |
System.out.println("Total bayar: Rp." + totalHarga + "\n"); | |
this.nama.put(i, nama); | |
this.stokKeluar.put(i, jumlah); | |
this.total.put(i, totalHarga); | |
this.tanggal.put(i, date()); | |
Integer temp = this.stok.get(nama) - jumlah; | |
this.stok.replace(nama, temp); | |
i++; | |
} | |
} | |
public void listBarang() { | |
System.out.println("=========Daftar Barang==========="); | |
stok.forEach((key, value) -> System.out.println("Nama barang: " + key + "\nStok barang: " + value +"\n")); | |
} | |
public void catatanKeluar() { | |
nama.forEach((key, value) -> System.out.println(key + " " + value)); | |
System.out.println("=====Masukan id barang untuk melihat detail======\n"); | |
System.out.println("Id barang: "); | |
Integer id = scanner().nextInt(); | |
if (!this.stokKeluar.containsKey(id)) { | |
System.out.println("Barang tidak ditemukan dalam catatan! \n"); | |
}else { | |
System.out.println("====Detail " + this.nama.get(id) + " yang keluar"); | |
System.out.println("Id barang: " + id); | |
System.out.println("Nama barang: " + this.nama.get(id)); | |
System.out.println("Jumlah barang: " + this.stokKeluar.get(id)); | |
System.out.println("Total harga: " + this.total.get(id)); | |
System.out.println("Tanggal transaksi: " + this.tanggal.get(id)); | |
System.out.println("\n"); | |
} | |
} | |
public void lihatBarang() { | |
System.out.println("=========Detail Barang==========="); | |
System.out.print("Nama Barang: "); | |
String nama = scanner().nextLine(); | |
if (this.stok.containsKey(nama) && this.harga.containsKey(nama)){ | |
if (!this.stok.isEmpty()){ | |
System.out.println("Nama barang: " + nama); | |
System.out.println("Stok barang: " + this.stok.get(nama)); | |
System.out.println("Harga barang: Rp." + this.harga.get(nama)); | |
System.out.println("Tanggal barang masuk: " + this.tanggalMasuk.get(nama)); | |
System.out.println("\n"); | |
}else { | |
System.out.println("Barang sudah habis!\n"); | |
} | |
}else { | |
System.out.println("Barang tidak ditemukan!\n"); | |
} | |
} | |
public void updateStok() { | |
System.out.println("=========Tambah Stok Barang==========="); | |
System.out.print("Nama Barang: "); | |
String nama = scanner().nextLine(); | |
if (this.stok.containsKey(nama)){ | |
System.out.print("Stok yang ditambah: "); | |
Integer stok = scanner().nextInt(); | |
if (stok > 0){ | |
System.out.println("Stok lama: " + this.stok.get(nama)); | |
Integer temp = this.stok.get(nama) + stok; | |
System.out.println("Stok baru: " + temp); | |
this.stok.replace(nama, temp); | |
System.out.println("\n"); | |
}else { | |
System.out.println("Stok barang tidak boleh kosong!\n"); | |
} | |
}else { | |
System.out.println("Barang tidak ditemukan!\n"); | |
} | |
} | |
public void updateHarga() { | |
System.out.println("=========Ubah Harga Barang==========="); | |
System.out.print("Nama Barang: "); | |
String nama = scanner().nextLine(); | |
if (this.harga.containsKey(nama)){ | |
System.out.print("Harga baru: Rp."); | |
Integer harga = scanner().nextInt(); | |
if (harga > 0){ | |
System.out.println("Harga lama: Rp." + this.harga.get(nama)); | |
System.out.println("Harga baru: Rp." + harga); | |
this.harga.replace(nama, harga); | |
System.out.println("\n"); | |
}else { | |
System.out.println("Harga barang tidak boleh kosong!\n"); | |
} | |
}else { | |
System.out.println("Barang tidak ditemukan!\n"); | |
} | |
} | |
public void hapusBarang() { | |
System.out.println("=========Hapus Barang==========="); | |
System.out.print("Masuka nama barang yang ingin dihapus: "); | |
String nama = scanner().nextLine(); | |
if (this.stok.containsKey(nama)){ | |
System.out.println("Yakin untuk menghapus barang?"); | |
System.out.println("1. Yakin \t 2. tidak"); | |
Integer pilih = scanner().nextInt(); | |
if (pilih == 1){ | |
this.stok.remove(nama); | |
this.harga.remove(nama); | |
this.tanggalMasuk.remove(nama); | |
System.out.println("\n Sukses manghapus " + nama + "\n"); | |
} | |
}else { | |
System.out.println("Barang tidak ditemukan!\n"); | |
} | |
} | |
private Scanner scanner() { | |
return new Scanner(System.in); | |
} | |
private String date() { | |
DateFormat newDate = new SimpleDateFormat("dd/MM/yyyy H:mm:ss"); | |
Date date = new Date(); | |
return newDate.format(date); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.Scanner; | |
public class Main { | |
public static void main(String[] args) { | |
Scanner scanner = new Scanner(System.in); | |
Apps apps = new Apps(); | |
Boolean check = true; | |
while (check){ | |
System.out.println("Pilih layanan"); | |
System.out.println("1. Barang Masuk"); | |
System.out.println("2. Barang Keluar"); | |
System.out.println("3. Cek Barang"); | |
System.out.println("4. Daftar Barang"); | |
System.out.println("5. Tambah Stok"); | |
System.out.println("6. Update Harga"); | |
System.out.println("7. Catatan Barang keluar"); | |
System.out.println("8. Hapus barang"); | |
System.out.println("0. Keluar\n\n"); | |
System.out.print("Masukan nomor pilihan: "); | |
Integer menu = scanner.nextInt(); | |
switch (menu){ | |
case 1: | |
apps.barangMasuk(); | |
break; | |
case 2: | |
apps.barangKeluar(); | |
break; | |
case 3: | |
apps.lihatBarang(); | |
break; | |
case 4: | |
apps.listBarang(); | |
break; | |
case 5: | |
apps.updateStok(); | |
break; | |
case 6: | |
apps.updateHarga(); | |
break; | |
case 7: | |
apps.catatanKeluar(); | |
break; | |
case 8: | |
apps.hapusBarang(); | |
break; | |
case 0: | |
System.out.println("Keluar dari program!!\n"); | |
check = false; | |
break; | |
} | |
} | |
} | |
} |
.
.
Belum ada Komentar untuk "Sistem POS (point of sale) untuk transaksi jual beli Java - UAS Strukdat F"
Posting Komentar