POS

POS biasa juga disebut dengan aplikasi kasir adalah aplikasi atau software yang digunakan untuk mendukung transaksi langsung dengan penjual di berbagai toko retail yang memiliki banyak cabang. POS juga bisa diartikan sebagai sebuah perpaduan antara tempat kasir (check-out counter) dengan mesin kasir (chash register) di mana pada titik inilah transaksi penjualan sebuah produk berakhir. 
Aplikasi POS sendiri hadir sebagai langkah efisiensi dalam menangani penjualan produk kepada para konsumen. Jika dahulu toko-toko retail hanya menggunakan kalkulator manual atau komputer dengan software yang belum terintegrasi, maka POS hadir sebagai inovator untuk menjawab pertumbuhan toko-toko retail yang terus bertambah. 

Beberapa manfaat POS secara umum adalah sebagai berikut: 

POS akan mendata secara detail setiap transaksi yang terjadi pada tiap-tiap cabang retail yang sudah dikonfigurasikan sebelumnya. Selain itu, POS juga akan menyediakan laporan ringkasan dalam satu periode tertentu jika satu saat dibutuhkan kembali.
Fungsi POS selanjutnya adalah melakukan pengecekan terhadap stok barang produksi secara otomatis. Hal ini akan mengurangi kecurangan para pegawai karena setiap stok sudah di awasi. 
POS juga mampu memberikan laporan secara real-time atau langsung sesuai dengan keadaan di lapangan.
Jika anda ingin mengganti satu harga produk, POS akan melakukannya untuk anda secara cepat dan efisien. Anda hanya perlu masuk ke kategori barang tersebut berada dan kemudian pos akan memberikan datanya ke seluruh terminal toko retail cabang anda. 
Mempersingkat proses transaksi dengan konsumen juga menjadi fungsi POS.

Berikut ini adalah contoh aplikasi program POS

Source code kelas Pembelian :

import javafx.application.Application;
import javafx.application.Platform;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.stage.Stage;
import javafx.scene.layout.StackPane;
import javafx.collections.*;
import javafx.scene.paint.*;
import javafx.scene.text.*;
import javafx.scene.Group;
import java.util.Random;
public class Pembelian extends Application
{
    Text textKasir = new Text("Kasir :");
    Text KodeBarang = new Text("");
    Text textHarga = new Text("");
    Text textJumlah = new Text("");
    Text textTotalBayar = new Text("");
    Text NamaBarang = new Text("");
    Text HargaBarang = new Text("");
    Text TotalHargaText = new Text("");
    TextField textFieldJumlah = new TextField ();
   
    ObservableList<String> optionsKasir = FXCollections.observableArrayList(
        "Wisnu",
        "Faqih",
        "Bambang"
    );
    final ComboBox comboBoxKasir = new ComboBox(optionsKasir);
    ObservableList<String> optionsBarang = FXCollections.observableArrayList(
        "CS000",
        "LG890",
        "HK233"
    );
    final ComboBox comboBoxBarang = new ComboBox(optionsBarang);
    private int TotalHarga;
    private int harga;
     
    @Override
    public void start(Stage stage) throws Exception
    {
       Scene scene = new Scene(new Group(), 500, 250);
       stage.setTitle("Pembelian");
     
       textKasir.setFont(Font.font("SanSerif",18));
       KodeBarang.setFont(Font.font("SanSerif",18));
       textHarga.setFont(Font.font("SanSerif",18));
       textJumlah.setFont(Font.font("SanSerif",18));
       textTotalBayar.setFont(Font.font("SanSerif",18));
     
       GridPane grid = new GridPane();
        grid.setVgap(10);
        grid.setHgap(10);
        grid.setPadding(new Insets(10, 10, 10, 10));
        grid.add(new Label("Kasir: "), 0, 0);
        grid.add(comboBoxKasir, 1,0);
        grid.add(new Label("Kode Barang: "), 0, 1);
        grid.add(comboBoxBarang, 1,1);
     
        EventHandler<ActionEvent> event =
                  new EventHandler<ActionEvent>() {
            public void handle(ActionEvent e)
            {
                if(comboBoxBarang.getValue() == "CS000")
                {
                    NamaBarang.setText("Jaggermeister");
                    HargaBarang.setText("Rp800000");
                    harga = 800000;
                }
                else if(comboBoxBarang.getValue() == "LG890")
                {
                    NamaBarang.setText("JackDaniels");
                    HargaBarang.setText("Rp1200000");
                    harga = 1200000;
                }
                else if(comboBoxBarang.getValue() == "HK233")
                {
                    NamaBarang.setText("Smirnoff");
                    HargaBarang.setText("Rp300000");
                    harga = 300000;
                }
                   
            }
        };
     
        comboBoxBarang.setOnAction(event);
     
        grid.add(new Label("Nama Barang: "), 0, 2);
        grid.add(NamaBarang, 1,2);
        grid.add(new Label("Harga: "), 0, 3);
        grid.add(HargaBarang, 1,3);
        grid.add(new Label("Jumlah: "), 0, 4);
     
        grid.add(textFieldJumlah, 1,4);
     
        EventHandler<ActionEvent> eventJumlah = new EventHandler<ActionEvent>() {
            public void handle(ActionEvent e)
            {
                 TotalHarga = Integer.parseInt(textFieldJumlah.getText()) * harga;
                 TotalHargaText.setText("Rp"+Integer.toString(TotalHarga));
            }
        };
     
        textFieldJumlah.setOnAction(eventJumlah);
     
        grid.add(new Label("Total Bayar: "), 0, 5);
        grid.add(TotalHargaText, 1,5);
     
       Text title=new Text("Hello Fortune Teller");
       title.setFont(Font.font("SanSerif",36));
       Button button = new Button("Cetak");
       grid.add(button, 1,6);
     
       button.setOnAction(this::buttonClick);
     
       Group root = (Group)scene.getRoot();
       root.getChildren().add(grid);
       stage.setScene(scene);
       stage.show();
     
     
    }
    private void buttonClick(ActionEvent event)
    {
      Cetak c = new Cetak(NamaBarang, textFieldJumlah.getText(), TotalHargaText);
       c.showCetak();
    }
}
SourceCode Kelas Cetak :
import javafx.application.Application;
import javafx.application.Platform;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.stage.Stage;
import javafx.scene.layout.StackPane;
import javafx.collections.*;
import javafx.scene.paint.*;
import javafx.scene.text.*;
import javafx.scene.Group;
import java.util.Random;
public class Cetak
{
    private Text NamaBarang = new Text(""), TotalHargaText = new Text("");
    private String jumlahBeli;
    public Cetak(Text namaBarang, String jumlah, Text TotalHarga)
    {
        NamaBarang = namaBarang;
        TotalHargaText = TotalHarga;
        jumlahBeli = jumlah;
    }
    public void showCetak()
    {
       Stage stage = new Stage();
       Scene scene = new Scene(new Group(), 500, 250);
       stage.setTitle("Nota");
       
       GridPane grid = new GridPane();
       grid.setVgap(10);
       grid.setHgap(15);
       grid.setPadding(new Insets(10, 10, 10, 10));
       grid.add(new Label("Pembelian"),0,0);
       grid.add(NamaBarang,0,1);
       grid.add(new Label(jumlahBeli),1,1);
       grid.add(new Label("Harga"),0,2);
       
       grid.add(TotalHargaText,1,2);
       
       Group root = (Group)scene.getRoot();
       root.getChildren().add(grid);
       stage.setScene(scene);
       stage.show();
    }
}


INPUT :







OUTPUT :


Komentar

Postingan Populer