Cara Membuat Aplikasi Perhitungan pada Kasir Menggunakan Delphi 10

Pada kesempatan kali ini kita akan membahas dan membuat aplikasi sederhana yaitu Aplikasi Perhitungan pada Kasir Menggunakan Delphi. Kebanyakan rumah makan sekarang ini sudah tidak menggunakan kalkulator lagi untuk menghitung transaksi penjualan, karena dirasa kurang cepat dan akurat. Bayangkan saja, jika seandainya yang ingin membayar ada 50 orang dengan rata-rata setiap orang membeli barang lebih dari 10, apakah tidak kerepotan? Tentunya kerepotan kan, dan tentunya memakan waktu yang lama, inilah alasannya tidak efektifnya waktu.

Dengan perkembangan teknologi yang canggih ini, dapat membantu mengatasi permasalahan yang ada, salah satunya dengan memanfaatkan program kasir berbantu sebuah komputer. Kebanyakan yang digunakan adalah aplikasi desktop. Kemampuan program kasir dapat memberikan solusi jauh lebih baik dibandingkan hanya mengandalkan kemampuan kinerja manusia (manual).

Mari kita mulai masuk pembahasan dan pembuatan aplikasi sederhana untuk perhitungan pada kasir, berikut beberapa yang harus disiapkan:
Pertama Buat form baru, Tambahkan 2 TRadioGroup, 1 TButton dan 1 TStringGrid. Setelah itu aturlah properties seperti gambar dibawah ini:

Gambar Object dan Properties-nya
Kemudian Ini alur program yang akan kita buat :
1. Jika pada menu dan quantity dipilih, contoh memilih sembarang kemudian klik pada tombol (+) maka otomatis menu dan jumlah quantity yang dipilh tadi akan muncul diStringGrid atau seperti tabel gitulah.
2. Pada StringGrid tersebut akan menampilkan no, menu makanan, QTY, Harga, dan subtotal. Subtotal disini didapat dari hasil perkalian antara menu dikali jumlah quantity.

Berikut ini adalah list Codenya :
1. Form (*Jika ingin menampakan codenya tinggal klik pada object form-nya)

procedure TForm1.FormCreate(Sender: TObject);
begin
 with Sgorder do
 begin
   cells[0,0] := ‘NO.’;
   cells[1,0] := ‘Makanan’;
   cells[2,0] := ‘Qty’;
   cells[3,0] := ‘Harga’;
   cells[4,0] := ‘Subtotal’;
 end;
end;
 
end.

Artinya : ketika menjalankan aplikasi tersebut, maka pada tampilan Sgorder atau TStringGrid akan muncul No, Makanan, QTY, Harga dan Subtotal. dan setiap nama tersebut diawali dengan cells[( ),( )] yang artinya cells[no urut kolom, no urut baris].

2. Button (+) (*Jika ingin menampakan codenya tinggal klik pada object form-nya)

procedure TForm1.Button1Click(Sender: TObject);
begin
  with sgorder do
  begin
    cells[0,Row] := IntToStr(Row);
    Cells[1,Row] := SMenu[rgFood.ItemIndex];
    cells[2,Row] := IntToStr(rgQty.ItemIndex + 1);
    cells[3,Row] := IntToStr(SHarga[rgFood.ItemIndex]);
    cells[4,Row] := IntToStr(SHarga[rgFood.ItemIndex] * (rgQTY.ItemIndex+1));
 
    Row := Row + 1;
  end;
end;

Artinya : jika tombol (+) diklik maka pilihan yang dipilih tersebut (Menu & QTY) akan tampil pada Sgorder atau TStringGrid. Dengan masing-masing nama yang dibuat pada Form tadi seperti (No, Makanan, QTY, Harga dan Subtotal). Nah disini juga dituliskan menggunakan cells[no urut kolom, no urut baris] dengan tujuan agar yang ditampilkan sesuai dengan nama yang telah dibuat.

Bedanya pada cells[no urut kolom ditulis angka, no urut baris ditulis row]. Why ?
karena agar ketika menambahkan menu + QTY tidak saling bertumpukan, dan akan ditambahkan kebaris selanjutnya secara otomatis gituuu.

Kenapa pada tulisan setelah cells menggunakan IntToStr?
karena fungsi dari IntToStr digunakan untuk mengkonversi data dengan tipe integer menjadi data dengan tipe string.

Kemudian penjelasan singkat per code :
cells[0,Row] := IntToStr(Row);  artinya menambahkan no baris

cells[1,Row] := SMenu[rgFood.ItemIndex]; artinya menambahkan menu dengan object rgFood (yg berisi makanan tadi.

cells[2,Row] := IntToStr(rgQty.ItemIndex + 1); artinya menambahkan Nilai QTY dengan ditambah 1. Contoh pada QTY dituliskan 2x maka akan muncul nilai 2, loh berati untuk angka tambahan 1 tersebut tidak berfungsi. itu berfungsi yaa hanya saja angka yang disimpan dimulai angka 0 maka harus ditambah 1 gituu. *lihatlah pada tulisan setelah rgQty ada tulisan .ItemIndex kan.

cells[3,Row] := IntToStr(SHarga[rgFood.ItemIndex]); artinya menambahkan harga dengan object rgFood (yg berisi harga juga tadi).

cells[4,Row] := IntToStr(SHarga[rgFood.ItemIndex] * (rgQTY.ItemIndex+1)); artinya menambahkan subtotal dari perkalian antara harga dikali nilai QTY.

Row := Row + 1;  artinya row ditambah 1 sehingga nanti ketika baris pertama sudah terisi maka pindah kebaris selanjutnya dengan bertambah 1 baris.

Oiya pada User ditambahkan Gridsm StdCtrls, ExtCtrls dan dibawah user dituliskan const :

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, StdCtrls, ExtCtrls;
 
  const
  SMenu : array[0..3] of string = (‘Mie Ayam’,’Mie Ayam Bakso’,’Bakso Urat’,
  ‘Bakso Jumbo’);
  SHarga : array[0..3] of integer = (6000, 8000, 9000, 10000);

Berikut untuk tampilan Aplikasi nya:

Be the first to comment

Leave a Reply

Alamat email Anda tidak akan dipublikasikan.


*