Anda di halaman 1dari 18

APLIKASI KASIR

(DELPHI 7 WITH MYSQL)

Oleh : Nanang Hudriana, S.Kom

Disusun dalam rangka menghadapi Uji Kompetensi Keahlian pada Program Keahlian Pengembangan Perangkat Lunak & Gim

NAMA :
KELAS :

DINAS PENDIDIKAN DAN KEBUDAYAAN


PROVINSI BANTEN

SMK NEGERI 4 PANDEGLANG

2024
2

 Pastikan di komputer sudah terinstal :


- Borland Delphi 07 (Desain Program)
- Xampp (Desain Database)
- Mysql Conektor ODBC (Koneksi)
- Browser (Crom, Firefox, Operamini dll.)

Ikutilah langkah-langkah berikut :

1. Buka dan jalankan aplikasi Xampp, kemudian klik tombol Statr pada Apache dan Mysql seperti
gambar di bawah

2. Buka Crom atau Firefox atau yang lainnya, untuk membuat database, kemudian masukan alamat
http://localhost/phpmyadmin
3. Masukan Nama database, misal Kasir_XIIPPLGB_Jaka_Tarub
4. Kemudian buatlah 5 buah tabel sesuai dengan spesifikasi pada gambar berikut
- Tabel Detail_penjualan

KK/45/XII PPLG/SMK4 PDG/2024


3

- Tabel pelanggan

- Tabel penjualan

- Tabel produk

KK/45/XII PPLG/SMK4 PDG/2024


4

- Tabel user

5. Seletah semua tabel dibuat, langkah berikutnya yaitu Membuat Koneksi :


- Buka Folder Borlan Delphi kemudian buka BDE Administrator atau langsung ketik dipencarian BDE,
kemudian akan tampil seperti tampilan di bawah ini

- Langkah berikutnya pilih menu Object kemudian pilih ODBC Administrator, atau klik kanan lalu pilih
ODBC Administrator
- Kemudian akan tampil seperti di bawah ini,

KK/45/XII PPLG/SMK4 PDG/2024


5

- Pilih Add , lalu akan muncul seperti gambar di bawah

- Pilih MySQL ODBC Driver, kemudian klik Finish, berikutnya akan tampil seperti gambar di bawah, dan
atur…..

Data Source Name:


Koneksi_Kasir_XIIPPLGB_Jaka
Description : (biarkan kosong)
TCP/IP Server: localhost
User : root
Password : (Biarkan kosong)
Database :
Klik Panah disamping pilih
database
Kasir_XIIPPLGB_Jaka_Tarub

- Setelah semua diatur, kemudian akan tampil seperti contoh gambar di bawah

KK/45/XII PPLG/SMK4 PDG/2024


6

- Kemudian Pilih OK
- Lalu klik kana pada tampilan BDE Administrator dan pilih Refresh

- Pastikan Nama Koneksi_kasir_XIIPPLGB_Jaka ada pada list tersebut, kemudian close BDE, Artinya
proses pembuatan koneksi selesai .
6. Buka Aplikasi Borland Delphi, dan untuk Form1 ganti menjadi LOGIN pada Caption
7. Desainlah tampilan login seperti pada gambar di bawah ini

Objek yang digunakan (menu standar) :


- 2 panel
- 4 buah label dengan caption masing-masing ( Aplikasi Kasir, Username, Password dan Jabatan
- 2 Buah Rdiobutton (Radiobutton 1 caption=Admin, Radiobutton2 caption=Petugas)
- 2 Button (Masuk dan Tutup)
- 1 Adoconnection (atur connection string, login prompt dan connected)
- 1 Adoquery (atur connection, SQL dan Active)
- 2 buah edit untuk inputan Username dan inputan Password
8. Tambahkan Form baru untuk menu Admin, Menu Petugas dan Menu Siswa
Caranya klik File > New>Form
- Form2 ganti menjadi Menu Admin
- Form3 ganti menjadi Menu Petugas

KK/45/XII PPLG/SMK4 PDG/2024


7

9. Agar Form1/Login terhubung dengan ke-2 form baru tersebut, lakukan use unit dari form1, klik dulu
pada form1
- File>use unit, pilih unit2 OK
- File>use unit, pilih unit3 OK

10. Jika Desain form Login sudah sesuai, kemudian klik 2 kali pada tombol Masuk/Login dan tuliskan Kode
Program di bawah ini :

begin
with ADOquery1 do begin // cek username ada atau tdk di tbl user
close;
sql.Clear;
sql.Add('select * from user where username='+quotedstr(edit1.Text));
open;
end;
begin //jika username tdk ada
if ADOquery1.RecordCount=0 then application.MessageBox //kondisi 1 apabila isi record =0
('Username Tidak Ditemukan','INFORMATION',MB_OK or MB_ICONINFORMATION)
else if (ADOquery1.FieldByName('password').AsString=edit2.Text) and //kondisi 2 cek pswrd
(radiobutton1.Checked = true) and //cek radiobutton1 yg dipilih harus (admin)
(ADOquery1.FieldByName('Jabatan').AsString='Admin') then //cek admin login sbg admin
begin
form2.Show; //tampilkan form2
hide; //menyembunyikan form 1 karna sintak ini ada di form 1
end
else if (ADOquery1.FieldByName('password').AsString=edit2.Text) and (radiobutton2.Checked = true)
and //cek password dan yang dipilih harus radiobutton2 (petugas)/kondisi 3
(ADOquery1.FieldByName('Jabatan').AsString='Petugas')then
begin
form3.Show; //menampilkan form3
hide; //menyembunyikan form 1 karna sintak ini ada di form 1
end
else // jika tidak masuk ke kondisi 1, 2 dan 3 (username, password dan jabatan tdk sesuai)
begin
ShowMessage('Gagal Login !'); //menampilkan pesan gagal
end;

KK/45/XII PPLG/SMK4 PDG/2024


8

begin
edit1.Clear; //membersihkan inputan diedit 1
edit2.Clear; //membersihkan inputan diedit 2
end;
end;
end;
end.

11. Kemudian Klik 2 Kali pada tombol Tutup, dan masukan kode berikut :
begin
Application.Terminate;
end;

12. Silahkan simpan terlebih dahulu, File>Save Project As…


(Buatlah Folder dan tentukan Directory Penyimpanannya)

- Langkah Berikutnya Mendesain Form2/Menu admin, untuk tampilan Registrasi User Seperti pada
gambar di bawah

Komponen yang diggunakan :


- 1 buah panel
- AdoConnection, AdoQuery dan DataSource
- PageControl (menu win32)
- Tambah halaman baru,caption ubah sesuai 5 halaman di atas
- Atur propertis pada AdoConnection, Adouery dan DataSource (ke tabel user)

Klik pada Halaman Registrasi User


- Tambahkan komponen label,
edit, button, Radiobutton dan DbGrid
- Sesuaikan seperti gambar disamping

KK/45/XII PPLG/SMK4 PDG/2024


9

- Double klik pada tombol Simpan, masukan sintak berikut :


begin
if (edit1.text=' ')or //apabila inputan username dan password kosong
(edit2.text=' ') then
begin
application.MessageBox('Isi Data dengan Lengkap','GAGAL MENYIMPAN',MB_ICONERROR);
end
else
begin
ADOQuery1.Append;
ADOQuery1.FieldByName('username').AsString:=Edit1.Text;
ADOQuery1.FieldByName('password').AsString:=Edit2.Text;
if Radiobutton1.Checked= true then // apabila radiobutton1 (Admin yg dipilih)= true/aktif
Adoquery1.FieldByName('jabatan').AsString:=Radiobutton1.Caption;
if radiobutton2.Checked= true then // apabila radiobutton2 (Petugas yg dipilih)= true/aktif
Adoquery1.FieldByName('jabatan').AsString:=Radiobutton2.Caption;
ADOQuery1.Post;
Showmessage ('Data Tersimpan');
edit1.clear;
edit2.clear;
end;
end;

- Double klik pada tombol edit, Masukan sintak berikut (Proses Edit Username menjadi patokan dan
tidak bisa di ubah)
Begin
if (ADOQuery1.Locate('username',edit1.Text,[])) then // cek username ada/tdk di tabel user
begin
if(MessageDlg('Ubah Data?',mtConfirmation,[mbYes,mbNo],0)=mrYES)then //kondisi 1 usernme ada
begin
ADOQuery1.edit;
ADOQuery1.FieldByName('password').AsString:=Edit2.Text;
if Radiobutton1.Checked= true then
Adoquery1.FieldByName('jabatan').AsString:=Radiobutton1.Caption;
if radiobutton2.Checked= true then
Adoquery1.FieldByName('jabatan').AsString:=Radiobutton2.Caption;
ADOQuery1.Post;
ShowMessage('Data Telah Diubah !');
end;
end
else // jika tidak (username tidak ada, kebalikan dari kondisi 1)
begin
ShowMessage('Nama User Tidak Ditemukan !');
end;
end;

KK/45/XII PPLG/SMK4 PDG/2024


10

- Double klik pada tombol Hapus, Masukan sintak berikut (Untuk Hapus Username Patokan)
Begin
if (ADOquery1.Locate('username',edit1.Text,[])) then
begin
if(MessageDlg('Hapus User?',mtConfirmation,[mbYes,mbNo],0)=mrYES)then
begin
ADOQuery1.Delete; //proses hapus
end;
end
else // Jika username tidak ada muncul pesan
begin
ShowMessage('Nama User Tidak Ada !');
end;
end;
end.

13. Berikutnya Mendesain tampilan Pendataan Barang Pada Form 2


- Sesuaikan desain seperti gambar berikut

Komponen yang digunakan pada tampilan di atas:


- 1 buah Panel
- 6 buah label ( Input Data Barang, Data Barang, ID Produk, Nama Produk, Harga dan Stok)
- 1 AdoQuery , 1 DataSource dan 1 DBGrid (Atur masing-masing & hubungkan ke tabel produk)
- 4 buah Edit
- 3 buah button (Simpan, Edit dan Hapus)

KK/45/XII PPLG/SMK4 PDG/2024


11

14. Apabila desain sudah sesuai, silahkan klik 2 kali pada tombol Simpan dan masukan sintak berikut

Begin
if (edit3.text=' ')or //kondisi apabila edit3 sampai 6 kosong/tidak di isi
(edit4.text=' ')or
(edit5.text=' ')or
(edit6.text=' ')then
begin
application.MessageBox('Isi Data dengan Lengkap','GAGAL MENYIMPAN',MB_ICONERROR);
end
else if(ADOQuery2.Locate('ID_produk',edit3.Text,[]))then //apabila ID produk sudah ada
begin
ShowMessage('Produk Sudah Terdata');
Edit3.SetFocus;
exit;
end
else
begin
ADOQuery2.Append; // proses menyimpan
ADOQuery2.FieldByName('ID_produk').AsString:=Edit3.Text;
ADOQuery2.FieldByName('nama_produk').AsString:=Edit4.Text;
ADOQuery2.FieldByName('harga').AsString:=Edit5.Text;
ADOQuery2.FieldByName('stok').AsString:=edit6.Text;
ADOQuery2.Post;
ShowMessage('Data Tersimpan !!');
edit3.clear;
edit4.clear;
edit5.clear;
edit6.clear;
end
end;

15. Klik 2 kali pada tombol Edit dan masukan sintak berikut
begin
if (edit3.text=' ')or //kondisi apabila edit3 sampai 6 kosong/tidak di isi
(edit4.text=' ')or
(edit5.text=' ')or
(edit6.text=' ')then
begin
application.MessageBox('Isi Data dengan Lengkap','GAGAL MERUBAH DATA',MB_ICONERROR);
end
else
if (ADOQuery2.Locate('ID_produk',edit3.Text,[])) then //Kondisi bila ID ada lanjut ke proses edit
begin
if(MessageDlg('Ubah Data?',mtConfirmation,[mbYes,mbNo],0)=mrYES)then
begin
ADOQuery2.edit;
ADOQuery2.FieldByName('nama_produk').AsString:=Edit4.Text;
ADOQuery2.FieldByName('harga').AsString:=Edit5.Text;

KK/45/XII PPLG/SMK4 PDG/2024


12

ADOQuery2.FieldByName('stok').AsString:=Edit6.Text;
ADOQuery2.Post;
ShowMessage('Produk Telah Diubah !');
edit3.clear;
edit4.clear;
edit5.clear;
edit6.clear;
end;
end
else // Jika tidak masuk kondisi diatas (Kebalikan dari ID ada)
begin
ShowMessage('Produk Tidak Ada !');
end;
end;
end.

16. Klik 2 Kali pada Tombol Hapus, Masukan sintak berikut


begin
if (edit3.text=' ') then //bila edit 3 atau ID Produk kosong
begin
application.MessageBox('Isi ID Produk Untuk Menghapus','GAGAL MENGHAPUS',MB_ICONERROR);
end
else //jika tidak atau kebalikan dari data kosong ( berarti edit 3 diisi)
if (ADOquery2.Locate('ID_produk',edit3.Text,[])) then //cek apabila ID ada di tabel
begin
if(MessageDlg('Hapus Produk?',mtConfirmation,[mbYes,mbNo],0)=mrYES)then
begin
ADOQuery2.Delete; //proses hapus
end;
end
else //kebalikan dari kondisi di atas (ID tidak ada)
begin
ShowMessage('Produk Tidak Ditemukan !');
end;
end;
end.

KK/45/XII PPLG/SMK4 PDG/2024


13

17. Mendesain Menu Pembelian di Form 2, desainlah seperti gambar berikut

- Komponen yang digunakan


- 1 buah Panel
- 6 buah label ( Input Data Penjualan, Data Penjualan, ID Penjualan, Tanggal Penjualan, Total Harga
dan ID Pelanggan)
- 1 AdoQuery , 1 DataSource dan 1 DBGrid (Atur masing-masing & hubungkan ke tabel Penjualan)
- 1 Buah DateTimePicker
- 3 Buah Edit
- 3 buah button (Simpan, Edit dan Hapus)
- Apabila desain sudah sesuai, Klik 2 kali pada tombol Simpan lalu masukan sintak berikut
Begin
if (edit7.text='')or
(edit8.text='')or
(edit9.text='') then
begin
application.MessageBox('Isi Data dengan Lengkap','GAGAL MENYIMPAN',MB_ICONERROR);
end
else if(ADOQuery3.Locate('ID_penjualan',edit7.Text,[]))then
begin
ShowMessage('Data Penjualan Sudah Ada');
Edit7.SetFocus;
exit;
end
else
begin
ADOQuery3.Append;
ADOQuery3.FieldByName('ID_penjualan').AsString:=Edit7.Text;
ADOQuery3.FieldByName('Tgl_penjualan').AsDateTime:=Datetimepicker1.Date;
ADOQuery3.FieldByName('Total_harga').AsString:=Edit8.Text;

KK/45/XII PPLG/SMK4 PDG/2024


14

ADOQuery3.FieldByName('ID_pelanggan').AsString:=edit9.Text;
ADOQuery3.Post;
ShowMessage('Data Tersimpan !!');
edit7.clear;
edit8.clear;
edit9.clear;
end
end;

- Klik 2 kali pada tombol Edit, masukan sintak berikut

begin
if (edit7.text='')or
(edit8.text='')or
(edit9.text='')then
begin
application.MessageBox('Isi ID Penjualan Untuk Merubah','GAGAL MERUBAH
DATA',MB_ICONERROR);
end
else
if (ADOQuery3.Locate('ID_penjualan',edit7.Text,[])) then
begin
if(MessageDlg('Ubah Data?',mtConfirmation,[mbYes,mbNo],0)=mrYES)then
begin
ADOQuery3.edit;
ADOQuery3.FieldByName('Tgl_penjualan').AsDateTime:=Datetimepicker1.Date;
ADOQuery3.FieldByName('Total_harga').AsString:=Edit8.Text;
ADOQuery3.FieldByName('ID_pelanggan').AsString:=Edit9.Text;
ADOQuery3.Post;
ShowMessage('Data Penjualan Telah Diubah !');
edit7.clear;
edit8.clear;
edit9.clear;
end;
end
else
begin
ShowMessage('ID Penjualan Tidak Ada !');
end;
end;

- Klik 2 Kali pada Tombol Hapus, masukan sintak berikut


begin
if (edit7.text=' ') then
begin
application.MessageBox('Isi ID Penjualan Untuk Menghapus','GAGAL
MENGHAPUS',MB_ICONERROR);
end
else
if (ADOquery3.Locate('ID_penjualan',edit7.Text,[])) then
begin

KK/45/XII PPLG/SMK4 PDG/2024


15

if(MessageDlg('Hapus Data Penjualan?',mtConfirmation,[mbYes,mbNo],0)=mrYES)then


begin
ADOQuery3.Delete;
end;
end
else
begin
ShowMessage('Data Penjualan Tidak Ditemukan !');
end;
End;

18. Mendesain tampilan Menu Stock Barang pada form 2


- Desain tampilan Stock Barang seperti tampilan berikut

- Komponen yang digunakan


- 1 bauh panel
- 1 buah DBGrid
- Atur DBGrid agar menampilkan data dari tabel produk dengan cara
- Klik DBGrid, cari DataSource, atur ke DataSource2
- Menghilangkan kolom Harga di DBGrid
- Klik 2 kali pada DBGrid, lalu akan muncul gambar berikut

KK/45/XII PPLG/SMK4 PDG/2024


16

- Klik Add All Field

- Klik di Harga, lalu klik kanan dan pilih delete

19. Berikutnya tambahkan Menu Laporan Di Form2 dengan cara

- Klik kanan di Pagecontrol 1, new Page, kemudian caption ganti menjadi Laporan
- Desain Menu Laporan seperti gambar berikut

Komponen yang digunakan


- 1 buah panel
- 1 buah image (menu additional)
- 2 buah button (button1 caption= Laporan Penjualan, Button2 caption= Laporan Barang)
20. Mendesain Form Laporan Penjualan
- Tambahkan Form Baru (File > New >Form)
- Ganti Caption Form tersebut menjadi Laporan Penjualan
- Tambahkan komponen Quickrep (di QReport)
- AdoConnection
- AdoQuery
- QRShapes
- QRDBText
- QRLabel,
- Aturlah masing-masing komponen tersebut dan diarahkan ke tabel Penjualan,
Seperti pada gambar berikut

KK/45/XII PPLG/SMK4 PDG/2024


17

- Merubah QRlabel8 menjadi tanggal (sekarang)


- Klik 2 kali pada form 4 atau form laporan Penjualan, masukan sintak berikut
Begin
QRlabel8.Caption := formatdatetime('"Tanggal : "dd/mm/yyyy',now);
QRlabel8.Refresh;
End;
End.

Tampilan Hasil Runing

KK/45/XII PPLG/SMK4 PDG/2024


18

- Selanjutnya tampilkan Form 2 bagian menu Laporan, klik file >use unit, pilih unit4, ok
- Klik 2 kali di tombol Laporan Penjualan, masukan sintak berikut

begin
tform4.create(self).quickrep1.preview;
end;
end.

- Lakukan Hal yang sama untuk laporan Barang (diarahkan ke tabel barang)

Catatan :
1. Untuk Menu Petugas (Form3) lakukan seperti hal nya membuat menu Admin, perbedaan di Menu
Petugas tidak disediakan Menu Registrasi seperti di menu Admin, dan Menu Petugas tidak dilengkapi
Laporan

2. Desain UI/UX di atas merupakan desain minimal, silahkan didesain semaksimal mungkin dengan
menunjukan kreativitas masing-masing.

Bersambung ….

*** Selamat Mencoba ***

KK/45/XII PPLG/SMK4 PDG/2024

Anda mungkin juga menyukai