Membuat Aplikasi Kasir dengan Menggunakan NetBeans

Langkah Membuat Aplikasi Kasir di NetBeans

 Assalamu’alaikum..wr..wb…
Dalam tutorial ini, kita fokus membuat aplikasi kasir sederhana menggunakan NetBeans.tBeans IDE 8.2. Tutorial ini cocok untuk pemula yang ingin belajar pemrograman Java sekaligus membuat proyek kasir sederhana untuk tugas kuliah atau latihan pribadi. Aplikasi ini menghitung total harga. Selain itu, aplikasi ini mencatat jumlah barang. Dengan demikian, aplikasi memudahkan pencatatan pembayaran.

Manfaat Aplikasi Kasir Digital

Aplikasi kasir digital tidak hanya mempermudah perhitungan harga. Selain itu, aplikasi ini membantu pemilik usaha dalam memantau stok barang secara real-time. Dengan demikian, pemilik bisa mengetahui menu mana yang paling laris dan mana yang perlu diisi kembali. Sementara itu, data transaksi tersimpan secara otomatis, sehingga mengurangi risiko kehilangan catatan penjualan. Oleh karena itu, penggunaan aplikasi kasir digital sangat direkomendasikan untuk bisnis kecil maupun menengah.

  1. Persiapan Software

Pertama, pastikan komputer Anda sudah terpasang Java JDK.
Selanjutnya, download NetBeans IDE 8.2 dari situs resmi dan lakukan instalasi. Pastikan instalasi selesai tanpa error. 

      2. Buat Proyek Baru

Buka NetBeans, Lalu klik File pilih New Project. Pilih kategori Java, pilih Java Application, kemudian klik Next. Masukkan nama project, misalnya Aplikasi Kasir, lalu klik Finish. Sekarang project kosong siap digunakan untuk membuat aplikasi kasir.

=”https://belajar280.files.wordpress.com/2017/04/a1.png” alt=”tampilan Neatbenas” width=”1366″ height=”768″ data-attachment-id=”93″ data-permalink=”https://belajar280.wordpress.com/2017/07/21/cara-membuat-program-aplikasi-kasir-dengan-menggunakan-netbeans/a1/” data-orig-file=”https://belajar280.files.wordpress.com/2017/04/a1.png” data-orig-size=”1366,768″ data-comments-opened=”1″ data-image-meta=”{“aperture”:”0″,”credit”:””,”camera”:””,”caption”:””,”created_timestamp”:”0″,”copyright”:””,”focal_length”:”0″,”iso”:”0″,”shutter_speed”:”0″,”title”:””,”orientation”:”0″}” data-image-title=”a1″ data-image-description=”” data-medium-file=”https://belajar280.files.wordpress.com/2017/04/a1.png?w=300″ data-large-file=”https://belajar280.files.wordpress.com/2017/04/a1.png?w=768″ />

    <li style=”list-style-type: none;”>
    •  

install neatbeans

       3. Membuat Tampilan GUI

Klik kanan project. Lalu pilih New pilih JFrame Form.. Masukkan nama JFrame, misalnya KasirGUI. Desain GUI aplikasi kasir harus rapi agar mudah digunakan.

<p>Na

ah sekara</p>

ng kita m

ulai dengan membuat desainnya.. saya membuat desain ini dengan menggunakan swing controls label, combo box, text filed, button, radio button, check box.

Buat desain seperti dibawah ini…

gambar GUI kasir neatbenas

  • Label untuk menampilkan teks: Nama Kasir, Nama Makanan, Harga, Jumlah Beli, Jumlah Harga, Jumlah Bayar, dan Kembalian.
  • ComboBox untuk daftar menu makanan.
  • TextField untuk input harga, jumlah beli, total harga, bayar, dan kembalian.
  • Button untuk aksi: Hitung Harga, Bayar, Batal, Keluar.
  • RadioButton untuk pilihan: Bungkus atau Makan di tempat.
  • CheckBox untuk potongan PPH 10%.

Oia, cara mengganti nama swing controls tersebut dengan cara klik kanan pada swing control yang ingin diganti namanya lalu klik edit text kemudian enter

Untuk mengganti nama menu makanan pada combo box caranya klik kanan pada kolom combo box , pilih menu propertis, lalu pilih model, kemudian ganti dengan sesuai menu anda. Lihat gambar

tampilan combo box neatbeans

Setelah desain jadi kita ganti variable namenya dengan cara klik kanan pada kolom pilih menu lalu pilih change variable name disini saya menggunakan variable namenya ”CBNNamaMkn” agar lebih mudah kita membuat, silahkan ikuti saja semuanya. 

gambar rename neatbenas

lalu pada kolom swing controls text filed kita ganti variable namenya menjadi “txtharga” , ganti semua variable name yang menggunakan text filed dengan awalan menggunakan “txt” lalu nama labelnya seperti contoh “txtbeli” tanpa menggunakan sepasi.

gambar new name neatbenas

Kemudian pada kolom hitung jumlah harga ganti variable namenya menjadi “TmtjmlBayar”

Pada kolom bungkus dan makan disini ganti variable namenya menjadi “rdbungkus” dan “rddisini”

Pada pph variable namenya “jbonus”

Sekarang kita mulai codingannya dengan cara klik source..masukan codingan sesuai dengan gambar berikut…!!

codingan aplikasi kasir

codingan

Masukan codingan pada kolom pilih menu dengan cara klik kanan pilih events > action > action performed.

Masukan codingan seperti gambar berikut:

codingan aplikasi kasir

Lalu masukan codingan pada text filed jumlah bayar, caranya sama kaya yang tadi sbb:

codingan jumlah bayar aplikasi kasir

Ini codingan pada button hitung jumlah harga:

codingan button aplikasi kasir

Codingan pada button keluar:

codingan button aplikasi kasir

Codingan pada button bayar:

codingan button aplikasi kasir

Codingan bungkus dan makan disini:

code bungkus aplikasi kasir

Codingan pph:

code pph aplikasi kasir

Selesai..kita tinggal lihat hasilnya dengan cara tekang tombol shift+f6

Ini hasilnya:

gambar aplikasi kasir

Cara berjalannya aplikasi ini adalah:

  1. Kami memilih menu makanan
  2. Lalu dengan otomatis harga makanan akan muncul
  3. Setelah itu Kita masukan jumlah makanan yang kita beli
  4. Pilih menu button hitung jumlah harga, dengan otomatis akan muncul total harga makanan tersebut
  5. Kemudian ada pilihan bungkus/makan disini, jika dibungkus maka harga + Rp.2000
  6. Masukan nominal uang yang diberi konsumen untuk bayar
  7. Tekan button bayar, akan muncul otomatis jumblah kembalian konsumen tersebut
  8. Setelah itu ada potongan pph sebesar 10%, pilih pph 10% maka hasil jumblah kembalian akan dipotong otomatis.
  9. Button batal untuk membatalkan/mengulangi pembayaran
  10. Button keluar untuk keluar dari program tersebut.

Seperti berikut:

gambar aplikasi kasir

ini codingan semuanya:

/*

* Untuk mengubah tajuk lisensi ini, pilih Tajuk Lisensi di Properti Proyek.

le=”vertical-align: inherit;”>* Untuk mengubah file templat ini, pilih Alat | Templat

* dan buka templat di editor.

style=”vertical-align: inherit;”>*/

paket ezza;

impor java.teks.FormatAngka;

style=”vertical-align: inherit;”>impor java.util.StringTokenizer;

impor java.util.Locale;

=”vertical-align: inherit;”>/**

*

* @author Pengguna

*/

kelas publik eza2 memperluas javax.swing.JFrame {

///StringTokenizer token;

//String gantiformat=””;

String nm_mknan=””;

int harga_makanan;

int jml_beli;

int jumlah_hrg;

int kembalian;

int jumlah_byr;

int bayar,beli,Harga,bungkus;&amp;amp;amp;lt;/p>

<sp</p>

an dir=”auto” style=”vertical-align: inherit;”><span class=”yoast-text-mark”>lass=”yoast-text-mark” dir=”auto”>tyle=”vertical-align: inherit;”>/**</span></span>

<span dir=”auto” style=”vertical-align: inherit;”>* Membuat formulir baru eza2

*/

publik eza2() {

initComponents();

}

publik void radio(){

if(rdBungkus.isSelected()){

bungkus = bayar + 2000 ;

txtHarga.setText(“”+bungkus);

}kalau tidak{

txtHarga.setText(“”+harga);

}

}

/**

* Metode ini dipanggil dari dalam konstruktor untuk menginisialisasi formulir.

* PERINGATAN: JANGAN ubah kode ini. Konten metode ini selalu

* dibuat ulang oleh Editor Formulir.

*/

@SuppressWarnings(“tidak dicentang”)

//

private void initComponents() {

buttonGroup1 = new javax.swing.ButtonGroup();

jLabel1 = new javax.swing.JLabel();

jLabel2 = new javax.swing.JLabel();

jLabel3 = new javax.swing.JLabel();

jLabel4 = new javax.swing.JLabel();

jLabel5 = new javax.swing.JLabel();

jLabel6 = new javax.swing.JLabel();

CBNNamaMkn = new javax.swing.JComboBox<>();

txtharga = new javax.swing.JTextField();

txtBeli = new javax.swing.JTextField();

txtHarga = new javax.swing.JTextField();

txtBayar = new javax.swing.JTextField();

jButton1 = javax.swing.JButton();

TmtjmlButton = javax.swing.JButton();

jButton3 = new javax.swing.JButton();

jLabel7 = new javax.swing.JLabel();

Txtkembalian = new javax.swing.JTextField();

jTotal = new javax.swing.JButton();

rdBungkus = new javax.swing.JRadioButton();

buttonGroup1.add(rdBungkus);

rdDisini = new javax.swing.JRadioButton();

buttonGroup1.add(rdDisini);

jBonus = new javax.swing.JCheckBox();

jLabel8 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

setBackground(java.awt.Warna baru(0, 51, 204));

setForeground(new java.awt.Color(0, 51, 204));

jLabel1.setFont(new java.awt.Font(“Tahoma”, 1, 11)); // NOI18N

jLabel1.setForeground(new java.awt.Color(204, 0, 0));

jLabel1.setText(“NAMA MAKANAN”);

jLabel2.setFont(new java.awt.Font(“Tahoma”, 1, 11)); // NOI18N

jLabel2.setForeground(new java.awt.Color(204, 0, 0));

jLabel2.setText(“HARGA MAKANAN”);

jLabel3.setFont(new java.awt.Font(“Tahoma”, 1, 11)); // NOI18N

jLabel3.setForeground(new java.awt.Color(204, 0, 0));

jLabel3.setText(“JUMLAH BELI”);

jLabel4.setFont(new java.awt.Font(“Tahoma”, 1, 11)); // NOI18N

jLabel4.setForeground(java.awt.Color baru(204, 0, 0));

jLabel4.setText(“JUMLAH HARGA”);

jLabel5.setFont(new java.awt.Font(“Tahoma”, 1, 11)); // NOI18N

jLabel5.setForeground(new java.awt.Color(255, 0, 0));

jLabel5.setText(“JUMLAH BAYAR”);

CBNNamaMkn.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { “PILIH MENU”, “Ayam bakar”, “Sate ayam”, “Soto ayam”, “Rendang”, “Es teh manis”, “Teh manis” }));

CBNNamaMkn.addActionListener(new java.awt.event.ActionListener() {

publik void actionPerformed(java.awt.event.ActionEvent evt) {

CBNNamaMknActionPerformed(evt);

}

});

txtharga.addActionListener(new java.awt.event.ActionListener() {

publik void actionPerformed(java.awt.event.ActionEvent evt) {

txthargaActionPerformed(evt);

}

});

txtHarga.addActionListener(new java.awt.event.ActionListener() {

publik void actionPerformed(java.awt.event.ActionEvent evt) {

txtHargaActionPerformed(evt);

}

});

txtBayar.addActionListener(new java.awt.event.ActionListener() {

publik void actionPerformed(java.awt.event.ActionEvent evt) {

txtBayarActionPerformed(evt);

}

});

jButton1.setFont(java.awt.Font baru(“Tahoma”, 1, 11)); // NOI18N

jButton1.setText(“BATAL”);

jButton1.addActionListener(java.awt.event.ActionListener() baru {

publik void actionPerformed(java.awt.event.ActionEvent evt) {

jButton1ActionPerformed(evt);

}

});

TmtjmlBayar.setFont(new java.awt.Font(“Tahoma”, 1, 11)); // NOI18N

TmtjmlBayar.setText(“HITUNG JUMLAH HARGA”);

TmtjmlBayar.addActionListener(new java.awt.event.ActionListener() {

publik void actionPerformed(java.awt.event.ActionEvent evt) {

TmtjmlPayActionPerformed(evt);

}

});

jButton3.setFont(java.awt.Font baru(“Tahoma”, 1, 11)); // NOI18N

jButton3.setText(“KELUAR”);

jButton3.addActionListener(new java.awt.event.ActionListener() {

publik void actionPerformed(java.awt.event.ActionEvent evt) {

jButton3ActionPerformed(evt);

}

});

jLabel7.setFont(new java.awt.Font(“Tahoma”, 1, 11)); // NOI18N

jLabel7.setForeground(new java.awt.Color(255, 0, 0));

jLabel7.setText(“JUMLAH KEMBALIAN”);

jTotal.setFont(new java.awt.Font(“Tahoma”, 1, 11)); // NOI18N

jTotal.setText(“Bayar”);

jTotal.addActionListener(new java.awt.event.ActionListener() {

publik void actionPerformed(java.awt.event.ActionEvent evt) {

jTotalActionPerformed(evt);

}

});

rdBungkus.setText(“Bungkus”);

rdBungkus.addActionListener(new java.awt.event.ActionListener() {

publik void actionPerformed(java.awt.event.ActionEvent evt) {

rdBungkusActionPerformed(evt);

}

});

rdDisini.setText(“Makan Disini”);

rdDisini.addActionListener(new java.awt.event.ActionListener() {

publik void actionPerformed(java.awt.event.ActionEvent evt) {

rdDisiniActionPerformed(evt);

}

});

jBonus.setText(“pph 10%”);

jBonus.addActionListener(new java.awt.event.ActionListener() {

publik void actionPerformed(java.awt.event.ActionEvent evt) {

jBonusActionPerformed(evt);

}

});

jLabel8.setFont(new java.awt.Font(“Latin Lebar”, 1, 14)); // NOI18N

jLabel8.setForeground(new java.awt.Color(255, 51, 0));

jLabel8.setText(“(*_*)KASIR CAFFE ”BINGUNG”(*_*)”);

javax.swing.GroupLayout tata letak = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(tata letak);

tata letak.setHorizontalGroup(

tata letak.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(tata letak.createSequentialGroup()

.addContainerGap()

.addGroup(tata letak.buatGrupParalel(javax.swing.Tata Letak Grup.Penyelarasan.LEADING)

.addGroup(tata letak.createSequentialGroup()

<span dir=”auto” style=”vertical-align: inherit;”>.addGroup(tata letak.buatGrupParalel(javax.swing.Tata Letak Grup.Penyelarasan.LEADING)

.addGroup(tata letak.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, salah)

dir=”auto” style=”vertical-align: inherit;”>.addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, 107, Pendek.NILAI_MAKS)

.addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Pendek.NILAI_MAKS))

.addComponent(jLabel6))

.addGap(0, 0, Pendek.NILAI_MAKS))

.addGroup(tata letak.createSequentialGroup()

.addGroup(tata letak.buatGrupParalel(javax.swing.Tata Letak Grup.Penyelarasan.LEADING)

.addComponent(jLabel5)

.addComponent(jLabel4)

.addComponent(jLabel3)

.addComponent(jLabel7))

.addGap(35, 35, 35)

.addGroup(tata letak.buatGrupParalel(javax.swing.Tata Letak Grup.Penyelarasan.LEADING)

.addGroup(tata letak.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, salah)

.addComponent(CBNNamaMkn, javax.swing.GroupLayout.Alignment.LEADING, 0, 126, Short.MAX_VALUE)

.addComponent(txtharga, javax.swing.GroupLayout.Alignment.LEADING))

.addGroup(tata letak.createSequentialGroup()

.addComponent(rdBungkus)

.addGap(18, 18, 18)

.addComponent(rdDisini)

.addGap(41, 41, 41)

.addComponent(jButton1)

.addGap(55, 55, 55)

.addComponent(jButton3))

.addComponent(txtBayar, javax.swing.GroupLayout.PREFERRED_SIZE, 136, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(txtBeli, javax.swing.GroupLayout.PREFERRED_SIZE, 126, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(txtHarga, javax.swing.GroupLayout.PREFERRED_SIZE, 131, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGroup(tata letak.buatGrupParalel(javax.swing.Tata Letak Grup.Penyelarasan.TRAILING)

.addComponent(Txtkembalian, javax.swing.GroupLayout.PREFERRED_SIZE, 136, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGroup(tata letak.createSequentialGroup()

.addGap(33, 33, 33)

.addComponent(jBonus))))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Pendek.NILAI_MAKS))))

.addGroup(tata letak.createSequentialGroup()

<span dir=”auto” style=”vertical-align: inherit;”>.addGroup(tata letak.buatGrupParalel(javax.swing.Tata Letak Grup.Penyelarasan.LEADING)

.addGroup(tata letak.createSequentialGroup()

<span dir=”auto” style=”vertical-align: inherit;”>.addGap(136, 136, 136)

.addComponent(TmtjmlBayar))

.addGroup(tata letak.createSequentialGroup()

.addGap(187, 187, 187)

.addComponent(jTotal))

.addGroup(tata letak.createSequentialGroup()

.addGap(81, 81, 81)

.addComponent(jLabel8)))

.addGap(0, 252, Pendek.NILAI_MAKS))

);

tata letak.setVerticalGroup(

style=”vertical-align: inherit;”>tata letak.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(tata letak.createSequentialGroup()

.addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 54, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(tata letak.buatGrupParalel(javax.swing.Tata Letak Grup.Penyelarasan.Garis Dasar)

.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(CBNNamaMkn, javax.swing.GroupLayout.UKURAN_PREFERRED, javax.swing.GroupLayout.UKURAN_DEFAULT, javax.swing.GroupLayout.UKURAN_PREFERRED))

.addGap(21, 21, 21)

.addGroup(tata letak.buatGrupParalel(javax.swing.Tata Letak Grup.Penyelarasan.LEADING)

.addComponent(txtharga, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel2))

.addGap(14, 14, 14)

.addGroup(tata letak.buatGrupParalel(javax.swing.Tata Letak Grup.Penyelarasan.Garis Dasar)

.addComponent(jLabel3)

.addComponent(txtBeli, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(1, 1, 1)

.addComponent(TmtjmlBayar)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(tata letak.buatGrupParalel(javax.swing.Tata Letak Grup.Penyelarasan.Garis Dasar)

.addComponent(txtHarga, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel4))

.addGroup(tata letak.buatGrupParalel(javax.swing.Tata Letak Grup.Penyelarasan.LEADING)

.addGroup(tata letak.createSequentialGroup()

.addGap(98, 98, 98)

.addComponent(jLabel6))

.addGroup(tata letak.createSequentialGroup()

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(tata letak.buatGrupParalel(javax.swing.Tata Letak Grup.Penyelarasan.Garis Dasar)

.addComponent(rdBungkus)

.addComponent(rdDisini)

.addComponent(jButton1)

.addComponent(jButton3))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(tata letak.buatGrupParalel(javax.swing.Tata Letak Grup.Penyelarasan.Garis Dasar)

.addComponent(txtBayar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jTotal)

.addGap(8, 8, 8)

.addGroup(tata letak.buatGrupParalel(javax.swing.Tata Letak Grup.Penyelarasan.LEADING)

.addComponent(jLabel7)

.addComponent(Txtkembalian, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jBonus)

.addContainerGap(11, Pendek.NILAI_MAKS))

);

mengemas();

}//

private void CBNNamaMknActionPerformed(java.awt.event.ActionEvent evt) {

// TODO tambahkan kode penanganan Anda di sini:

nm_mknan=(String)CBNNamaMkn.getSelectedItem();

if(nm_mknan==”Ayam panggang”)

{

harga_mknan=20000;

}else if (nm_mknan==”Sate ayam”)

{

harga_mknan=30000;

}else if (nm_mknan==”Soto ayam”)

{

harga_mknan=15000;

}else if (nm_mknan==”Rendang”)

{

harga_mknan=30000;

}else if (nm_mknan==”Es teh manis”)

{

harga_mknan=10000;

}else if (nm_mknan==”Teh manis”)

{

harga_mknan=8500;

}

//gantiformat=NumberFormat.getNumberInstance(Locale.ENGLISH).format(harga_mknan);

//token=new StringTokenizer(gantiformat,”.”);

//gantiformat=token.nextToken();

//gantiformat=gantiformat.replace(‘.’,’.’ );

txtharga.setText(“”+harga_mknan);

}

private void TmtjmlBayarActionPerformed(java.awt.event.ActionEvent evt) {

// TODO tambahkan kode penanganan Anda di sini:

Harga =Integer.parseInt(txtharga.getText());

beli = Integer.parseInt(txtBeli.getText());

bayar = Harga * beli ;

txtHarga.setText(“”+harga);

//gantiformat=NumberFormat.getNumberInstance(Locale.ENGLISH).format(jumlah_byr);

///token=new StringTokenizer(gantiformat,”.”);

//gantiformat=token.nextToken();

//gantiformat=gantiformat.replace(‘.’,’.’ );

//txtBayar.setText(gantiformat);

//gantiformat=NumberFormat.getNumberInstance(Locale.ENGLISH).format(kembalian);

//token=new StringTokenizer(gantiformat,”.”);

//gantiformat=token.nextToken();

//gantiformat=gantiformat.replace(‘.’,’.’ );

//Txtkembalian.setText(gantiformat);

}

kekosongan pribadi jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO tambahkan kode penanganan Anda di sini:

buttonGroup1.clearSelection();

CBNNamaMkn.setSelectedIndex(-1);

txtharga.setText(“”);

txtBeli.setText(“”);

txtBayar.setText(“”);

txtHarga.setText(“”);

Txtkembalian.setText(“”);

}

pribadi void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO tambahkan kode penanganan Anda di sini:

ini.buang();

}

private void txtBayarActionPerformed(java.awt.event.ActionEvent evt) {

// TODO tambahkan kode penanganan Anda di sini:

}

private void txtHargaActionPerformed(java.awt.event.ActionEvent evt) {

// TODO tambahkan kode penanganan Anda di sini:

}

pribadi void jTotalActionPerformed(java.awt.event.ActionEvent evt) {

// TODO tambahkan kode penanganan Anda di sini:

int duit = Integer.parseInt(txtBayar.getText());

int kembali = duit – bayar;

if(rdBungkus.isSelected()){

kembali = kembali – 2000;

}

Txtkembalian.setText(“”+kembali);

}

private void rdBungkusActionPerformed(java.awt.event.ActionEvent evt) {

// TODO tambahkan kode penanganan Anda di sini:

radio();

}

pribadi void rdDisiniActionPerformed(java.awt.event.ActionEvent evt) {

// TODO tambahkan kode penanganan Anda di sini:

radio();

}

pribadi void jBonusActionPerformed(java.awt.event.ActionEvent evt) {

// TODO tambahkan kode penanganan Anda di sini:

jika(jBonus.dipilih()){

bayar = bayar / 10;

}

Txtkembalian.setText(“”+bayar);

}

private void txthargaActionPerformed(java.awt.event.ActionEvent evt) {

// TODO tambahkan kode penanganan Anda di sini:

}

/**

* @param args argumen baris perintah

*/

publik statis void main(String args[]) {

/* Mengatur tampilan dan nuansa Nimbus */

//

/* Jika Nimbus (diperkenalkan di Java SE 6) tidak tersedia, tetap gunakan tampilan dan nuansa default.

* Untuk rincian lihat http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

mencoba {

untuk (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {

jika (“Nimbus”.equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

merusak;

}

}

} tangkap (ClassNotFoundException ex) {</span>

java.util.logging.Logger.getLogger(eza2.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

ir=”auto” style=”vertical-align: inherit;”>} tangkap (InstantiationException ex) {

java.util.logging.Logger.getLogger(eza2.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} tangkap (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(eza2.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} tangkap (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(eza2.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

}

//

/* Membuat dan menampilkan formulir */

java.awt.EventQueue.invokeLater(new Runnable() {

publik void jalankan() {

new eza2().setVisible(benar);

}

<span dir=”auto” style=”vertical-align: inherit;”>});&amp;amp;amp;lt;/p>

<span dir=”auto” style=”vertical-align: inherit;”>}</span&amp;amp;gt;

<span dir=”auto” style=”vertical-align: inherit;”>// Deklarasi variabel – jangan dimodifikasi

<span dir=”auto” style=”vertical-align: inherit;”&amp;amp;amp;a

mp;g

t;private javax.swing.JComboBox CBNNamaMkn;</p>

lass=”yoast-text-mark”

dir=”auto”>style=”vertical-align: inherit;”>javax.swing.JButton TmtjmlBayar pribadi;

pribadi javax.swing.JTextField Txtkembalian;</span>

pribadi javax.swing.ButtonGroup buttonGroup1;</span>

pribadi javax.swing.JCheckBox jBonus;</span>

javax.swing.JButton jButton1 pribadi;

pribadi javax.swing.JButton jButton3;</span>

pribadi javax.swing.JLabel jLabel1;</span>

>yle=”vertical-align: inherit;”>pribadi javax.swing.JLabel jLabel2;</span></p>

>yle=”vertical-align: inherit;”>pribadi javax.swing.JLabel jLabel3;</span></p>

style=”vertical-align: inherit;”>pribadi ja

vax.swing.JLabel jLabel4;

<span class=”yoast-text-mark” dir=”<span dir=” style=”vertical-align: inherit;”>pribadi javax.swing.JLabel jLabel5;

pribadi javax.swing.JLabel jLabel6;

tyle=”vertical-align: inherit;”>pribadi javax.swing.JLabel jLabel7;

pribadi javax.swing.JLabel jLabel8;

pribadi javax.swing.JButton jTotal;

private javax.swing.JRadioButton rdBungkus;

pribadi javax.swing.JRadioButton rdDisini;

private javax.swing.JTextField txtBayar;

pribadi javax.swing.JTextField txtBeli;

private javax.swing.JTextField txtHarga;

private javax.swing.JTextField txtharga;

// Akhir deklarasi variabel

}

Kode Java berikut membantu kita menjalankan aplikasi kasir secara otomatis.

 </strong><strong&gt;Sekian untuk blog saya kali ini, kurang dan lebihnya saya mohon maaf.. dan semoga bermanfaat.

Wassalamualaikum..wr..wb…

Tautan sumber

Belajar Java Swing untuk Pemula – untuk pembaca yang ingin belajar dasar GUI Java.

 

Pengertian Formulir Kasir

Formulir kasir adalah alat digital yang digunakan untuk mencatat transaksi penjualan secara sistematis. Selain itu, formulir ini membantu pemilik usaha dalam mengelola pesanan, menghitung total harga, dan mencatat pembayaran. Dengan demikian, proses transaksi menjadi lebih cepat dan akurat dibandingkan pencatatan manual. Sementara itu, formulir juga meminimalkan kesalahan manusia.

Langkah-langkah Penggunaan Formulir

Pengguna formulir kasir harus memilih menu makanan atau minuman terlebih dahulu. Kemudian, masukkan jumlah yang dibeli pada kolom yang tersedia. Setelah itu, sistem otomatis menghitung total harga. Selain itu, pengguna dapat memilih opsi “Bungkus” atau “Makan di sini” menggunakan RadioButton. Selanjutnya, tekan tombol “Bayar” untuk menyelesaikan transaksi. Dengan begitu, seluruh proses menjadi efisien dan jelas.

Fitur Tambahan pada Formulir

Formulir kasir modern biasanya memiliki fitur tambahan. Misalnya, checkbox untuk pajak atau diskon otomatis. Selain itu, tombol “Batal” memungkinkan pengguna menghapus semua input jika terjadi kesalahan. Tombol “Keluar” memudahkan menutup aplikasi dengan cepat. Dengan demikian, pengalaman pengguna menjadi lebih nyaman dan efisien. Oleh karena itu, fitur tambahan ini sangat penting untuk bisnis yang sibuk.

Manfaat Formulir Digital

Penggunaan formulir digital memberikan berbagai manfaat. Pertama, transaksi menjadi lebih cepat karena perhitungan dilakukan otomatis. Kedua, kesalahan manusia dalam menghitung harga dapat diminimalkan. Selain itu, data transaksi tersimpan rapi sehingga mempermudah pembuatan laporan penjualan. Dengan demikian, pemilik usaha dapat mengambil keputusan lebih cepat.

Tips dan Trik

Sebelum menekan tombol “Bayar”, selalu pastikan input jumlah dan harga sudah benar. Selain itu, gunakan tombol “Batal” jika terjadi kesalahan saat memasukkan data. Oleh karena itu, tips ini membantu menghindari kesalahan. Selanjutnya, pastikan selalu memeriksa kembalian agar transaksi berjalan lancar. Dengan mengikuti tips ini, penggunaan formulir kasir menjadi lebih efektif dan aman.

Validasi Input Pengguna

Saat membuat aplikasi kasir, penting untuk memvalidasi input pengguna. Misalnya, pastikan jumlah beli tidak boleh negatif. Selain itu, input harga harus berupa angka. Dengan demikian, aplikasi tidak akan error saat melakukan perhitungan. Oleh karena itu, tambahkan pemeriksaan di setiap TextField sebelum menghitung total harga.

Menghitung Total Harga Secara Otomatis

Salah satu fitur utama aplikasi kasir adalah menghitung total harga. Pertama, ambil nilai harga dari TextField. Selanjutnya, kalikan dengan jumlah beli. Selain itu, tambahkan biaya tambahan seperti ongkos bungkus atau potongan pajak jika diperlukan. Dengan begitu, pengguna bisa langsung melihat total harga tanpa perlu menghitung manual.

Menggunakan Event Listener

Event Listener sangat berguna agar tombol dan komponen GUI bisa berfungsi. Misalnya, klik tombol “Hitung Harga” harus memicu perhitungan total. Selain itu, RadioButton harus merespon pilihan pengguna. Dengan demikian, aplikasi menjadi interaktif dan mudah digunakan. Oleh karena itu, pastikan semua komponen GUI sudah terhubung dengan event listener masing-masing.

Menambahkan Fitur Batal dan Keluar

Fitur “Batal” memungkinkan pengguna menghapus semua input jika terjadi kesalahan. Sementara itu, tombol “Keluar” berguna untuk menutup aplikasi dengan aman. Selain itu, pastikan tombol ini tidak menyebabkan data tersimpan secara tidak sengaja. Dengan demikian, pengguna memiliki kontrol penuh terhadap aplikasi kasir yang dibuat.

Tips Testing Aplikasi

Sebelum menyelesaikan proyek, lakukan testing menyeluruh. Pertama, cek setiap menu dan tombol berfungsi dengan benar. Selanjutnya, coba skenario pembayaran berbeda, misalnya membayar dengan jumlah kurang atau lebih. Selain itu, pastikan tampilan GUI tetap rapi saat aplikasi dijalankan di layar berbeda. Dengan begitu, pengguna mendapatkan pengalaman yang nyaman dan bebas error.

Mengembangkan Aplikasi Lebih Lanjut

Setelah aplikasi kasir dasar selesai, Anda bisa menambahkan fitur tambahan. Misalnya, laporan penjualan harian, integrasi barcode, atau sistem stok otomatis. Selain itu, bisa menambahkan database untuk menyimpan semua transaksi. Dengan demikian, aplikasi kasir akan lebih profesional dan bisa digunakan untuk bisnis yang lebih besar.

Untuk memahami dasar Java sebelum membuat aplikasi kasir, Anda bisa membaca artikel Tutorial Java Dasar untuk Pemula.

Setelah membuat aplikasi kasir, Anda bisa mencoba proyek lain seperti Cara Membuat Aplikasi Login di NetBeans.

Scroll to Top