laporan-uas

53
TUGAS UAS SISTEM INFORMASI KASIR NAMA : I WAYAN SULASTRA RAHAYU NIM : 13101025

description

Laporan

Transcript of laporan-uas

TUGAS UASSISTEM INFORMASI KASIR

NAMA: I WAYAN SULASTRA RAHAYUNIM: 13101025

STMIK STIKOM INDONESIABAB IDASAR TEORI

1. DBMS (Database Management System)Database adalah kumpulan data item atau informasi yang tersimpan dalam komputer yang terintegrasi dengan baik di dalam komputer. Database memungkinkan pengguna untuk mengolah data yang berbeda pada setiap pengguna.Untuk mengelola database yang tersimpan di dalam komputer diperlukan perangkat lunak yaitu DBMS. DBMS (Database Management System) adalah suatu perangkat lunak yang digunakan untuk mengelola database.DBMS digunakan oleh pengguna (user) untuk memanipulasi, membuat dan mengontrol data yang tersimpan pada database dalam komputer. Pada DBMS versi baru data yang tersimpan pada database memungkinkan untuk disimpan dalam bentuk multiple data files (banyak file dalam satu database). Pengguna database tidak perlu langsung berhubungan dengan database, karena sistem operasi dan DBMS secara otomatis mengelola data seperti membuka, menutup, membaca dan menulis data dari file ke file. Ada beberapa istilah di dalam suatu database yaitu Table Sebuah tabel merupakan kumpulan data (nilai) yang diorganisasikan ke dalam baris (record) dan kolom (field). Masing-masing kolom memiliki nama yang spesifik dan unik. Field Field merupakan kolom dari sebuah table.Field memiliki ukuran type data tertentu yang menentukan bagaimana data nantinya tersimpan. Record Record merupakan sebuah kumpulan nilai yang saling terkait. Key Key merupakan suatu field yang dapat dijadikan kunci dalam operasi tabel. Dalam konsep database, key memiliki banyak jenis diantaranya Primary Key, Foreign Key, Composite Key, dll.2. SQL SQL atau Structured Query Language merupakan suatu bahasa (language) yang digunakan untuk mengakses database.SQL sering disebut juga sebagai query. Program DBMS saat ini ada banyak sekali, seperti MySql, Oracle, Postgresql, Interbase/Firebird, IBM, DB2 dan lain-lain. Bahasa database terdapat tiga jenis perintah, yaitu :

1. Data Definition Language (DDL) DDL merupakan perintah SQL yang berhubungan dengan pendefinisian suatu struktur database, dalam hal ini database dan tabel. Beberapa perintah dasar yang termasuk DDL ini antara lain : CREATE Digunakan untuk membuat sebuah database baru ALTER Digunakan untuk mengubah struktur suatu tabel RENAME Digunakan untuk mengubah nama suatu tabel DROP Digunakan untuk menghapus suatu table

2. Data Manipulation Language (DML) DML merupakan perintah SQL yang berhubungan dengan manipulasi dan pengambilan data atau record dalam table. Beberapa perintah SQL yang termasuk dalam DML antara lain : SELECT Digunakan untuk pemanggilan data yang tersimpan di database INSERT Digunakan untuk menambah data baru ke database UPDATE Digunakan untuk mengubah data yang tersimpan di database DELETE Digunakan untuk penghapusan data yang tersimpan di database

3. MySql MySQL merupakan software database open source yang paling banyak pemakainya di dunia, MySql adalah sebuah server database SQL multiuser dan multi-threaded. SQL sendiri adalah salah satu bahasa database paling popular dikalangan programmer. Dengan kehandalan,kecepatan dan kemudahan penggunaannya. Banyak pengembang softwareyang menggunakan MySql sebagai pilihan utama mereka untuk pembuatan aplikasi di platform web maupun desktop. MySql memiliki banyak hal yang bisa ditawarkan (Dwi Apri Setyorini, S.Kom), yaitu : Kecepatan Banyak ahli berpendapat MySql merupakan server tercepat Kemudahan penggunaan MySql mempunyai performa tinggi namun merupakan database yang simple sehingga mudah disetup dan dikonfigurasi Harga MySql cenderung gratis bgi pengguna tertentu

Mendukung query language MySql mengerti bahasa SQL (Structured Query Language) yang merupakan pilihan sistem database modern. MySql juga dapat diakses lewat protocol ODBC (Open Database Connectivity) buatan Microsoft Kapabilitas Banyak klien dapat mengakses server dalam satu waktu. Mereka dapat menggunakan banyak database secara simultan Konektifitas dan sekuritas Database MySql dapat diakses dari semua tempat di internet dengan hak akses tertentu Pertabilitas MySql dapat berjalan dalam banyak varian UNIX dengan baik, sebaik seperti saat berjalan di sistem non-UNIX Distribusi yang terbuka MySql mudah didapatkan dan memiliki source kode yang boleh disebarluaskan sehingga bisa dikembangkan lebih lanjut Didalam bahasa SQL pada umumnya informasi tersimpan dalam tabel-tabel yang secara logik merupakan struktur dua dimensi terdiri dari baris dan kolom.Sedangkan didalam database bisa terdiri dari beberapa table. Di dalam fields-fields atau tabel-tabel tersebut dapat berupa data seperti int, real, char, date, time dan lainnya. Constraint adalah batasan atau aturan yang ada pada table. Constraint merupakan ketentuan yang diterapkan di table untuk mencegah penghapusan data dari suatu table yang mempunyai keterkaitan dengan table yang lain. MySql menyediakan beberapa tipe constraint, antara lain : Not Null Suatu kolom yang didefinisikan dengan constraint Not Null tidak boleh berisi nilai null.Kolom yang berfungsi sebagai kunci primer (Primary Key) otomatis tidak boleh null. Unique Constraint Unique mendefinisikan suatu kolom menjadi bersifat unik, yang artinya setiap data tidak boleh memiliki nama yang sama. Primary Key Constraint Primary Key membentuk key yang unik untuk suatu table. Foreign Key Constraint Foreign Key adalah suatu kolom yang ada pada suatu table, dimana kolom tersebut juga dimiliki oleh table yang lain sebagai suatu Primary Key.

BAB IIPEMBAHASAN DATABASEProgram yang saya bawakan adalah sistem informasi Kasir. Pembuatan database yang di gunakan pada project ini adalah database dengan entity sebagai berikut . 1. Kasir2. Barang3. SupplierEmpat tersebut adalah entity pokok dalam database system informasi kasir. Dari entity tersebut didapatkan relasi dengan table table sebagai berikut.1. Pembelian 2. Detail Pembelian3. Penjualan4. Detail Penjualan5. LoginPembuatan database serta relasinya sebagai berikut.Pembuatan database dimulai dari create database dengan nama database adalah kasir seperti berikut. CREATE DATABASE `kasir`Create database adalah DDL untuk membuat database yang akan menjadi tempat pengolahan data yang menjadi project kali ini. Setelah membuat databasenya sekarang untuk membuat database tersebut buat table table yang yang ada di database. Pembuatan entity pertama adalah Barang. Didalam table Barang terdapat beberapa field yaitu kode_barang, nama_barang, harga, dan stock. DDL pembuatan table Barang sebagai berikut .CREATE TABLE `barang` ( `kode_barang` varchar(8) NOT NULL DEFAULT '', `nama_barang` varchar(255) NOT NULL DEFAULT '', `harga` decimal(10,2) NOT NULL DEFAULT '0.00', `stock` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`kode_barang`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;Kemudian dilanjutkan dengan pembuatan entity yang lain yaitu entity Kasir. Didalam table Kasir terdapat beberapa field yaitu id_kasir, nama_kasir, gender, alamat, dan no_telp. DDL pembuatan table Kasir sebagai berikut. CREATE TABLE `kasir` ( `id_kasir` varchar(8) NOT NULL DEFAULT '', `nama_kasir` varchar(255) NOT NULL DEFAULT '', `gender` varchar(255) NOT NULL DEFAULT '0', `alamat` varchar(255) DEFAULT NULL, `no_tlp` varchar(13) DEFAULT NULL, PRIMARY KEY (`id_kasir`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;Kemudian dilanjutkan dengan pembuatan entity yang lain yaitu entity Supplier. Didalam table Supplier terdapat beberapa field yaitu id_supplier, nama_supplier, alamat, dan no_telp. DDL pembuatan table Supplier sebagai berikut.CREATE TABLE `supplier` ( `id_supplier` varchar(8) NOT NULL DEFAULT '', `nama_supplier` varchar(255) NOT NULL DEFAULT '', `alamat` varchar(255) NOT NULL DEFAULT '', `no_telp` varchar(13) DEFAULT NULL, PRIMARY KEY (`id_supplier`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;Setelah semua entity pokok dibuat kedalam table, selajutnya membuat table relasinya. Table relasi pertama yaitu table Pembelian yang merupakan relasi antara barang dengan Supplier. Di table Pembelian direlasikan juga ke table Detail Pembelian, karena untuk memuat banyak barang, dibutuhkan suatu table yang menyimpan data barang tersebut. Didalam table Pembelian terdapat beberapa field yaitu kode_pembelian, id_supplier, kode_barang, tanggal_pembelian, dan grand_total_harga. Didalam table Detail Pembelian terdapat pula beberapa field yaitu kode_pembelian, kode_barang, jumlah, total_harga. DDL pembuatan table Pembelian dan Detail Pembelian adalah sebagai berikut.CREATE TABLE `pembelian` ( `kode_pembelian` varchar(8) NOT NULL DEFAULT '', `id_supplier` varchar(8) NOT NULL DEFAULT '', `kode_barang` varchar(8) NOT NULL DEFAULT '', `tanggal_pembelian` date NOT NULL DEFAULT '0000-00-00', `grand_total_harga` decimal(10,2) NOT NULL DEFAULT '0.00', PRIMARY KEY (`kode_pembelian`), KEY `fk_barang_pembelian` (`kode_barang`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;CREATE TABLE `detail_pembelian` ( `kode_pembelian` varchar(8) NOT NULL DEFAULT '', `kode_barang` varchar(8) NOT NULL DEFAULT '', `jumlah` int(11) NOT NULL DEFAULT '0', `total_harga` decimal(10,2) NOT NULL DEFAULT '0.00', PRIMARY KEY (`kode_pembelian`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;Kemudian dilanjutkan dengan pembuatan table relasi yang lain yaitu table Penjualan yang merupakan relasi antara table Barang dengan table Kasir. Di table Penjualan direlasikan juga ke table Detail Penjualan, karena untuk memuat banyak barang, dibutuhkan suatu table yang menyimpan data barang tersebut. Didalam table Penjualan terdapat beberapa field yaitu kode_penjualan, id_kasir, kode_barang, tanggal_penjualan, dan grand_total_harga. Didalam table Detail Penjualan terdapat pula beberapa field yaitu kode_pembelian, kode_barang, jumlah, total_harga. DDL pembuatan table Penjualan dan Detail Penjualan adalah sebagai berikut.CREATE TABLE `penjualan` ( `kode_penjualan` varchar(8) NOT NULL DEFAULT '', `id_kasir` varchar(8) NOT NULL DEFAULT '', `kode_barang` varchar(8) NOT NULL DEFAULT '', `tanggal_penjualan` date NOT NULL DEFAULT '0000-00-00', `grand_total_harga` decimal(10,2) NOT NULL DEFAULT '0.00', PRIMARY KEY (`kode_penjualan`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;CREATE TABLE `detail_penjualan` ( `kode_penjualan` varchar(8) NOT NULL DEFAULT '', `kode_barang` varchar(8) NOT NULL DEFAULT '', `jumlah` int(11) NOT NULL DEFAULT '0', `total_harga` decimal(10,2) NOT NULL DEFAULT '0.00', PRIMARY KEY (`kode_penjualan`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;Table relasi yang terakhir yang dibuat yaitu table Login yang hanya berelasi dengan table Kasir. Di table Login hanya akan mengambil kode_kasir dari table Kasir untuk menunjukan siapa Kasir yang menangani trasnsaksi saat itu. Didalam table Login terdapat beberapa field yaitu Username, Password, dan id_kasir. DDL pembuatan table Login adalah sebagai berikut.CREATE TABLE `login` ( `Username` varchar(11) NOT NULL DEFAULT '0', `Password` varchar(255) NOT NULL DEFAULT '', `id_kasir` varchar(8) NOT NULL DEFAULT '', PRIMARY KEY (`Username`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;

BAB IIIPEMBAHASAN PROGRAM1. FormDari database kasir tersebut dibutuhkan form aplikasi agar dapat berinteraksi dengan table tablenya. Melakukan penambahan, pengeditan, penghapusan, dan menampilkan data. Form form yang dibuat adalah sebagai berikut. 1.Kasir2.Barang3.Supplier4. Penjualan5. Pembelian6. LoginAdapun form aplikasi lain yang dibutuhkan adalah form Menu Utama. Form Menu Utama digunakan untuk mengakses form form lain. Berikut adalah tampilan tampilan dari form form tersebut.

1. Form Barang

Form Barang digunakan untuk berinteraksi dengan table Barang. Didalam Form Barang terdapat komponen komponen seperti. Textbox : digunakan untuk melakukan proses input data. Txt_kode_barang : untuk menginputkan kode barang Txt_nama_barang : untuk menginputkan nama barang Txt_harga : untuk menginputkan harga dari barang Txt_stock : untuk menginputkan jumlah ketersediaan barang di gudang Button : digunakan untuk melakukan proses eksekusi dari perintah yang diinginkan. Btn_tambah : untuk menambahkan data Btn_edit : untuk mengedit data yang ada di table Btn_hapus : untuk menghapus data Btn_simpan : untuk menyimpan data yang diinputkan Btn_batal : untuk membatalkan proses Label : digunakan untuk memberikan informasi kepada pengguna. DataGrid : digunakan untuk menampilkan data dalam bentuk table. GroupBox : digunakan untuk menggabungkan beberapa komponen yang memiliki fungsi atau kegunaan yang berkaitan.

2. Form Kasir

Form Kasir digunakan untuk berinteraksi dengan table Kasir. Didalam Form Kasir terdapat komponen komponen seperti. Textbox : digunakan untuk melakukan proses input data. Txt_id_kasir : untuk menginputkan id kasir Txt_nama_kasir : untuk menginputkan nama kasir Txt_alamat : untuk menginputkan alamat tempat tinggal kasir Txt_no_telp : untuk menginputkan no telp dari kasir Radio button : digunakan untuk memilih salah satu data Rb_laki : untuk memberikan pilihan gender laki laki Rb_perempuan : untuk memberikan pilihan gender perempuan Button : digunakan untuk melakukan proses eksekusi dari perintah yang diinginkan. Btn_tambah : untuk menambahkan data Btn_edit : untuk mengedit data yang ada di table Btn_hapus : untuk menghapus data Btn_simpan : untuk menyimpan data yang diinputkan Btn_batal : untuk membatalkan proses Label : digunakan untuk memberikan informasi kepada pengguna. DataGrid : digunakan untuk menampilkan data dalam bentuk table. GroupBox : digunakan untuk menggabungkan beberapa komponen yang memiliki fungsi atau kegunaan yang berkaitan.

3. Form Supplier

Form Supplier digunakan untuk berinteraksi dengan table Supplier. Didalam Form Supplier terdapat komponen komponen seperti. Textbox : digunakan untuk melakukan proses input data. Txt_id_supplier : untuk menginputkan id_supplier Txt_nama_supplier: untuk menginputkan nama supplier Txt_alamat : untuk menginputkan alamat dari supplier Txt_no_telp : untuk menginputkan no telp dari supplier Button : digunakan untuk melakukan proses eksekusi dari perintah yang diinginkan. Btn_tambah : untuk menambahkan data Btn_edit : untuk mengedit data yang ada di table Btn_hapus : untuk menghapus data Btn_simpan : untuk menyimpan data yang diinputkan Btn_batal : untuk membatalkan proses Label : digunakan untuk memberikan informasi kepada pengguna. DataGrid : digunakan untuk menampilkan data dalam bentuk table. GroupBox : digunakan untuk menggabungkan beberapa komponen yang memiliki fungsi atau kegunaan yang berkaitan.

4. Form Penjualan

Form Penjualan digunakan untuk berinteraksi dengan table Penjualan. Didalam Form Penjualan terdapat komponen komponen seperti. Textbox : digunakan untuk melakukan proses input data. Txt_kode_penjualan : untuk menginputkan kode penjualan Txt_id_kasir : untuk menginputkan id_kasir yang menangani penjualan tersebut Txt_kode_barang : untuk menginputkan kode barang yang terjual Txt_jumlah : untuk menginputkan jumlah barang yang terjual Txt_harga : untuk menginputkan harga dari barang Txt_grand_total : untuk menginputkan total yang harus dibayar pelanggan Txt_bayar : untuk menginputkan uang yang dibayarkan oleh pelanggan Button : digunakan untuk melakukan proses eksekusi dari perintah yang diinginkan. Btn_tambah : untuk menambahkan data Btn_edit : untuk mengedit data yang ada di table Btn_hapus : untuk menghapus data Btn_simpan : untuk menyimpan data yang diinputkan Label : digunakan untuk memberikan informasi kepada pengguna. Lbl_kembalian : untuk menghitung kembalian pelanggan DataGrid : digunakan untuk menampilkan data dalam bentuk table. DateTimePicker : untuk menginputkan tanggal. GroupBox : digunakan untuk menggabungkan beberapa komponen yang memiliki fungsi atau kegunaan yang berkaitan.

5. Form Pembelian

Form Pembelian digunakan untuk berinteraksi dengan table Pembelian. Didalam Form Pembelian terdapat komponen komponen seperti. Textbox : digunakan untuk melakukan proses input data. Txt_kode_pembelian : untuk menginputkan kode penjualan Txt_id_supplier : untuk menginputkan id_supplier yang menjadi supplier dari barang yang dibeli Txt_kode_barang : untuk menginputkan kode barang yang dibeli Txt_jumlah : untuk menginputkan jumlah barang yang dibeli Txt_harga : untuk menginputkan harga dari barang Txt_grand_total : untuk menginputkan total yang harus dibayar toko Txt_bayar : untuk menginputkan uang yang dibayarkan oleh toko kepada supplier Button : digunakan untuk melakukan proses eksekusi dari perintah yang diinginkan. Btn_tambah : untuk menambahkan data Btn_edit : untuk mengedit data yang ada di table Btn_hapus : untuk menghapus data Btn_simpan : untuk menyimpan data yang diinputkan Label : digunakan untuk memberikan informasi kepada pengguna. Lbl_kembalian : untuk menghitung kembalian toko DataGrid : digunakan untuk menampilkan data dalam bentuk table. DateTimePicker : untuk menginputkan tanggal. GroupBox : digunakan untuk menggabungkan beberapa komponen yang memiliki fungsi atau kegunaan yang berkaitan.

6. Form Login

Form Login digunakan untuk berinteraksi dengan table Login. Didalam Form Login terdapat komponen komponen seperti. Textbox : digunakan untuk melakukan proses input data. Txt_username : untuk menginputkan username Txt_password : untuk menginputkan password Button : digunakan untuk melakukan proses eksekusi dari perintah yang diinginkan. Btn_login : untuk masuk ke menu utama dasarkan username dan password Btn_batal : untuk membatalkan proses Label : digunakan untuk memberikan informasi kepada pengguna. DataGrid : digunakan untuk menampilkan data dalam bentuk table. GroupBox : digunakan untuk menggabungkan beberapa komponen yang memiliki fungsi atau kegunaan yang berkaitan.

7. Menu Utama

Form MenuUtama digunakan untuk memanggil form yang dibutuhkan. Didalam Form MenuUtama terdapat komponen komponen seperti. MenuStrip : digunakan untuk membuat menu dan submenu. File : menu yang berkaitan dengan program terdapat beberapa submenu, sebagai berikut Cetak : untuk mencetak laporan Keluar : untuk keluar dari progam Form : untuk menampilkan form, terdapat submenu sebagai berikut Barang : untuk memanggil form Barang Kasir : untuk memanggil form Kasir Supplier : untuk memanggil form Supplier Penjualan : untuk memanggil form Penjualan Pembelian : untuk memanggil form Pembelian Akun : menu untuk memanage akun Logout : untuk me-logout user atau mengganti user

8. Report Penjualan

Laporan penjualan ini digunakan untuk menampilkan laporan penjualan yang dilakukan, laporan penjualan ini mengambil data dari table penjualan dan detail penjualan yang diinputkan melalui form penjualan.

9. Report Pembelian

Laporan pembelian ini digunakan untuk menampilkan laporan pembelian yang dilakukan, laporan pembelian ini mengambil data dari table pembelian dan table detail pembelian yang diinputkan melalui form pembelian.

2. CodeUntuk dapat digunakan dan berinteraksi dengan table, setiap form memiliki beberapa code yang dieksekusi pada setiap proses yang dijalankan. Bagian bagian yang terdapat dalam Aplikasi Sistem Kasir tersebut adalah sebagai berikut. 1. Modul Koneksi : untuk mengkoneksikan aplikasi ke database2. Form Kasir : berintaraksi dengan table kasir di database3. Form Supplier : berinteraksi dengan table supplier4. Form Barang : berinteraksi dengan table barang5. Form Pembelian : berinteraksi dengan table pembelian6. Form Penjualan : berinteraksi dengan table penjualan7. Form Login : untuk atentikasi user yang masuk ke system8. Report Penjualan : menampilkan laporan penjualan9. Report Pembelian : menampilkan laporan pembelianBerikut merupakan penjelasan dari setiap kode proses yang ada disetiap form.1. Modul KoneksiAgar data yang diolah di form aplikasi dapat disimpan di database, maka diperlukan code untuk menghubungkan aplikasi ke database. Berikut adalah code untuk menghubungkan database ke aplikasi.Imports System.DataImports System.Data.OleDbImports MySql.Data.MySqlClientCode tersebut digunakan untuk mengimport connector yang ada di system kedalam aplikasi.Module Koneksi Public Class Conn Protected SQL As String Protected Cn As New MySqlConnection Protected Cmd As New MySql.Data.MySqlClient.MySqlCommand Protected Da As New MySql.Data.MySqlClient.MySqlDataAdapter Protected Ds As New DataSet Protected Dt As DataTable Public Function OpenConn() As BooleanCode tersebut digunakan untuk membuat property property yang akan digunakan untuk menyimpan variable didalam proses koneksi nantinya. Cn = New MySqlConnection("server=localhost;" _ & "user id=root;" _ & "password=qwerty123;" _ & "database=kasir") Cn.Open() If Cn.State ConnectionState.Open Then Return False Else Return True End If End Function Public Sub CloseConn() If Not IsNothing(Cn) Then Cn.Close() Cn = Nothing End If End Sub

Public Function ExecuteQuery(ByVal Query As String) As DataTable If Not OpenConn() Then MsgBox("Koneksi Gagal..!!", MsgBoxStyle.Critical, "Access Failed") Return Nothing Exit Function End If Cmd = New MySql.Data.MySqlClient.MySqlCommand(Query, Cn) Da = New MySql.Data.MySqlClient.MySqlDataAdapter Da.SelectCommand = Cmd Ds = New Data.DataSet Da.Fill(Ds) Dt = Ds.Tables(0)

Return Dt Dt = Nothing Ds = Nothing Da = Nothing Cmd = Nothing CloseConn() End Function

Public Sub ExecuteNonQuery(ByVal Query As String) If Not OpenConn() Then MsgBox("Koneksi Gagal..!!", MsgBoxStyle.Critical, "Access Failed..!!") Exit Sub End If Cmd = New MySql.Data.MySqlClient.MySqlCommand Cmd.Connection = Cn Cmd.CommandType = CommandType.Text Cmd.CommandText = Query Cmd.ExecuteNonQuery() Cmd = Nothing CloseConn() End Sub End ClassEnd ModuleCode tersebut merupakan kode yang harus ada dalam setiap koneksi dari aplikasi ke database.

2. Form Kasira. Proses penambahan dataAgar data yang diinputkan dapat disimpan ke database, maka diperlukan code untuk mengirim data ke database untuk disimpan.Sub datatidaklengkap() If txt_id_kasir.Text = "" Or txt_nama_kasir.Text = "" Or txt_alamat.Text = "" Or txt_no_telp.Text = "" Then MsgBox("Silakan lengkapi pengisian data", vbOKOnly, "Pesan") Else simpandata() kosongkantext() txt_id_kasir.Text = "" btn_batal.Hide() btn_edit.Enabled = False btn_hapus.Enabled = True btn_tambah.Enabled = True btn_simpan.Enabled = False

txt_nama_kasir.Enabled = True rdb_gender_laki.Select() txt_alamat.Enabled = False txt_no_telp.Enabled = False txt_id_kasir.Enabled = False End If End Sub

Kode tersebut digunakan untuk mengecek semua textbox terisi data, jika masih terdapat textbox yang kosong, maka data tidak akan disimpan ke database. Sub simpandata() If txt_id_kasir.Text = "" Then txt_id_kasir.Focus() : Exit SubKode tersebut digunakan untuk mengecek apakah textbox untuk menyimpan kode maupun id sudah terisi, jika tidak textbox tersebut akan menjadi set focus atau curscor keyboard akan berada di textbox tesebut. If rdb_gender_perempuan.Checked Then kelamin = "Perempuan" Else kelamin = "Laki - laki" End If SQL = "Insert Into kasir Values ('" & txt_id_kasir.Text & "','" &txt_nama_kasir.Text & "', '" & kelamin & "','" & txt_alamat.Text & "','" & txt_no_telp.Text & "')" Proses.ExecuteNonQuery(SQL) MessageBox.Show("Data Baru telah disimpan", "Penyimpanan Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information) End SubKode tersebut digunakan untuk mengirimkan data ke database sesuai dengan yang diinputkan oleh user didalam textbox.b. Proses pengeditan dataDalam menginputkan data terkadang data yang diinputkan salah, maka data tersebut perlu diubah. Diperlukanlah code untuk mengubah data tersebut.Sub ubahdata() If rdb_gender_perempuan.Checked Then kelamin = "Perempuan" Else kelamin = "Laki - laki" End If If txt_nama_kasir.Text = "" Then txt_nama_kasir.Focus() : Exit SubKode tersebut digunakan untuk mengecek semua textbox terisi data, jika masih terdapat textbox yang kosong, maka data tidak akan disimpan kedatabase. SQL = "update kasir set nama_kasir = '" & txt_nama_kasir.Text & "', gender = '" & kelamin & "', alamat = '" & txt_alamat.Text & "', no_tlp = '" & txt_no_telp.Text & "' where id_kasir = '" & txt_id_kasir.Text & "'" Proses.ExecuteNonQuery(SQL) MessageBox.Show("Data sudah diupdate", "Perubahan Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information) End SubKode tersebut digunakan untuk mengirim perintah update data ke database berdasarkan kode atau id, sesuai dengan yang diinputkan oleh user.c. Proses menampilkan dataUntuk melihat data dari database dan memastikan data tesebut, maka dibutuhkan kode untuk mengambil data dari database dan menampilkannya ke form.Sub datarecord() kasir = Proses.ExecuteQuery("Select * From kasir")Kode tersebut akan mengambil data dari database.dg_kasir.DataSource = kasir dg_kasir.Columns(0).HeaderText = "Id Kasir" dg_kasir.Columns(1).HeaderText = "Nama Kasir" dg_kasir.Columns(2).HeaderText = "Gender" dg_kasir.Columns(3).HeaderText = "Alamat" dg_kasir.Columns(4).HeaderText = "No Telp" dg_kasir.Columns(0).Width = 100 dg_kasir.Columns(1).Width = 100 dg_kasir.Columns(2).Width = 120 dg_kasir.Columns(3).Width = 100 dg_kasir.Columns(4).Width = 100 End SubKode tersebut diatas akan menampilkan data yang diambil dari database ke dalam DataGridView.d. Proses penghapusan dataAgar tidak memberatkan database dengan banyak data yang sudah tidak diperlukan, maka dibutuhkan code untuk menghapus data dari database.Sub hapus() Dim dell As MsgBoxResult dell = MsgBox("Apakah anda yakin ingin menghapus data ini?", MsgBoxStyle.OkCancel, "Peringatan")Kode diatas memberikan peringatan kepada user apakah user benar benar ingin menghapus data yang dipilih atau tidakIf dell = MsgBoxResult.Ok Then SQL = "delete from kasir where id_kasir = '" & dg_kasir.SelectedCells(0).Value & "'" Proses.ExecuteNonQuery(SQL) MessageBox.Show("Data sudah dihapus", "Penghapusan Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)

kosongkantext() txt_id_kasir.Text = "" btn_batal.Hide() btn_edit.Enabled = False btn_hapus.Enabled = True btn_simpan.Enabled = False btn_tambah.Enabled = True

txt_nama_kasir.Enabled = False rdb_gender_laki.Select() txt_alamat.Enabled = False txt_no_telp.Enabled = False txt_id_kasir.Enabled = False End If End SubJika user menekan tombol OK atau benar benar ingin menghapus data tersebut, maka dikirimkan perintah ke database untuk menghapus data berdasarkan kode atau id dari data yang dihapus.

3. Form Suppliera. Proses penambahan dataAgar data yang diinputkan dapat disimpan ke database, maka diperlukan code untuk mengirim data ke database untuk disimpan.Sub datatidaklengkap() If txt_id_supplier.Text = "" Or txt_nama_supplier.Text = "" Or txt_alamat.Text = "" Or txt_no_telp.Text = "" Then MsgBox("Silakan lengkapi pengisian data", vbOKOnly, "Pesan") Else simpandata() kosongkantext() txt_id_supplier.Text = "" btn_batal.Hide() btn_edit.Enabled = False btn_hapus.Enabled = True btn_tambah.Enabled = True btn_simpan.Enabled = False

txt_id_supplier.Enabled = False txt_nama_supplier.Enabled = False txt_alamat.Enabled = False txt_no_telp.Enabled = False End If End SubKode tersebut digunakan untuk mengecek semua textbox terisi data, jika masih terdapat textbox yang kosong, maka data tidak akan disimpan kedatabase.Sub simpandata() If txt_id_supplier.Text = "" Then txt_id_supplier.Focus() : Exit SubKode tersebut digunakan untuk mengecek apakah textbox untuk menyimpan kode maupun id sudah terisi, jika tidak textbox tersebut akan menjadi set focus atau curscor keyboard akan berada di textbox tesebut.SQL = "Insert Into supplier Values ('" & txt_id_supplier.Text & "','" &txt_nama_supplier.Text & "', '" & txt_alamat.Text & "','" & txt_no_telp.Text & "')" Proses.ExecuteNonQuery(SQL) MessageBox.Show("Data Baru telah disimpan", "Penyimpanan Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information) End SubKode tersebut digunakan untuk mengirimkan data ke database sesuai dengan yang diinputkan oleh user didalam textbox.b. Proses pengeditan dataDalam menginputkan data terkadang data yang diinputkan salah, maka data tersebut perlu diubah. Diperlukanlah code untuk mengubah data tersebut.Sub ubahdata() If txt_nama_supplier.Text = "" Then txt_nama_supplier.Focus() : Exit SubKode tersebut digunakan untuk mengecek semua textbox terisi data, jika masih terdapat textbox yang kosong, maka data tidak akan disimpan kedatabase.SQL = "update supplier set nama_supplier = '" & txt_nama_supplier.Text & "', alamat = '" & txt_alamat.Text & "', no_telp = '" & txt_no_telp.Text & "' where id_supplier = '" & txt_id_supplier.Text & "'" Proses.ExecuteNonQuery(SQL) MessageBox.Show("Data sudah diupdate", "Perubahan Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information) End SubKode tersebut digunakan untuk mengirim perintah update data ke database berdasarkan kode atau id, sesuai dengan yang diinputkan oleh user.c. Proses menampilkan dataUntuk melihat data dari database dan memastikan data tesebut, maka dibutuhkan kode untuk mengambil data dari database dan menampilkannya ke form.Sub datarecord() supplier = Proses.ExecuteQuery("Select * From supplier")Kode tersebut akan mengambil data dari database. dg_supplier.DataSource = supplier dg_supplier.Columns(0).HeaderText = "Id Supplier" dg_supplier.Columns(1).HeaderText = "Nama Supplier" dg_supplier.Columns(2).HeaderText = "Alamat" dg_supplier.Columns(3).HeaderText = "No Telp" dg_supplier.Columns(0).Width = 100 dg_supplier.Columns(1).Width = 100 dg_supplier.Columns(2).Width = 120 dg_supplier.Columns(3).Width = 100 End SubKode tersebut diatas akan menampilkan data yang diambil dari database ke dalam DataGridView.d. Proses penghapusan dataAgar tidak memberatkan database dengan banyak data yang sudah tidak diperlukan, maka dibutuhkan code untuk menghapus data dari database.Sub hapus() Dim dell As MsgBoxResult dell = MsgBox("Apakah anda yakin ingin menghapus data ini?", MsgBoxStyle.OkCancel, "Peringatan")Kode diatas memberikan peringatan kepada user apakah user benar benar ingin menghapus data yang dipilih atau tidakIf dell = MsgBoxResult.Ok Then SQL = "delete from supplier where id_supplier = '" & dg_supplier.SelectedCells(0).Value & "'" Proses.ExecuteNonQuery(SQL) MessageBox.Show("Data sudah dihapus...!!", "Penghapusan Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)

kosongkantext() txt_id_supplier.Text = "" btn_batal.Hide() btn_edit.Enabled = False btn_hapus.Enabled = True btn_tambah.Enabled = True btn_simpan.Enabled = False

txt_id_supplier.Enabled = False txt_nama_supplier.Enabled = False txt_alamat.Enabled = False txt_no_telp.Enabled = False End If End SubJika user menekan tombol OK atau benar benar ingin menghapus data tersebut, maka dikirimkan perintah ke database untuk menghapus data berdasarkan kode atau id dari data yang dihapus.

4. Form Baranga. Proses penambahan dataAgar data yang diinputkan dapat disimpan ke database, maka diperlukan code untuk mengirim data ke database untuk disimpan. Sub datatidaklengkap() If txt_kode_barang.Text = "" Or txt_nama_barang.Text = "" Or txt_harga.Text = "" Or txt_stock.Text = "" Then MsgBox("Silakan lengkapi pengisian data", vbOKOnly, "Pesan") Else simpandata() kosongkantext() txt_kode_barang.Text = "" btn_batal.Hide() btn_edit.Enabled = False btn_hapus.Enabled = True btn_tambah.Enabled = True btn_simpan.Enabled = False

txt_kode_barang.Enabled = False txt_nama_barang.Enabled = False txt_harga.Enabled = False txt_stock.Enabled = False End If End SubKode tersebut digunakan untuk mengecek semua textbox terisi data, jika masih terdapat textbox yang kosong, maka data tidak akan disimpan kedatabase.Sub simpandata() If txt_kode_barang.Text = "" Then txt_kode_barang.Focus() : Exit SubKode tersebut digunakan untuk mengecek apakah textbox untuk menyimpan kode maupun id sudah terisi, jika tidak textbox tersebut akan menjadi set focus atau curscor keyboard akan berada di textbox tesebut.SQL = "Insert Into barang Values ('" & txt_kode_barang.Text & "','" &txt_nama_barang.Text & "', '" & txt_harga.Text & "','" & txt_stock.Text & "')" Proses.ExecuteNonQuery(SQL) MessageBox.Show("Data Baru telah disimpan", "Penyimpanan Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information) End SubKode tersebut digunakan untuk mengirimkan data ke database sesuai dengan yang diinputkan oleh user didalam textbox.b. Proses pengeditan dataDalam menginputkan data terkadang data yang diinputkan salah, maka data tersebut perlu diubah. Diperlukanlah code untuk mengubah data tersebut.Sub ubahdata() If txt_nama_barang.Text = "" Then txt_nama_barang.Focus() : Exit SubKode tersebut digunakan untuk mengecek semua textbox terisi data, jika masih terdapat textbox yang kosong, maka data tidak akan disimpan kedatabase.SQL = "update barang set nama_barang = '" & txt_nama_barang.Text & "', harga = '" & txt_harga.Text & "', stock = '" & txt_stock.Text & "' where kode_barang= '" & txt_kode_barang.Text & "'" Proses.ExecuteNonQuery(SQL) MessageBox.Show("Data sudah diupdate", "Perubahan Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information) End SubKode tersebut digunakan untuk mengirim perintah update data ke database berdasarkan kode atau id, sesuai dengan yang diinputkan oleh user.c. Proses menampilkan dataUntuk melihat data dari database dan memastikan data tesebut, maka dibutuhkan kode untuk mengambil data dari database dan menampilkannya ke form.Sub datarecord() barang = Proses.ExecuteQuery("Select * From barang")Kode tersebut akan mengambil data dari database. dg_barang.DataSource = barang dg_barang.Columns(0).HeaderText = "Kode Barang" dg_barang.Columns(1).HeaderText = "Nama Barang" dg_barang.Columns(2).HeaderText = "Harga" dg_barang.Columns(3).HeaderText = "Stock" dg_barang.Columns(0).Width = 100 dg_barang.Columns(1).Width = 100 dg_barang.Columns(2).Width = 120 dg_barang.Columns(3).Width = 100 End SubKode tersebut diatas akan menampilkan data yang diambil dari database ke dalam DataGridView.d. Proses penghapusan dataAgar tidak memberatkan database dengan banyak data yang sudah tidak diperlukan, maka dibutuhkan code untuk menghapus data dari database.Sub hapus() Dim dell As MsgBoxResult dell = MsgBox("Apakah anda yakin ingin menghapus data ini?", MsgBoxStyle.OkCancel, "Peringatan")Kode diatas memberikan peringatan kepada user apakah user benar benar ingin menghapus data yang dipilih atau tidakIf dell = MsgBoxResult.Ok Then SQL = "delete from barang where kode_barang = '" & dg_barang.SelectedCells(0).Value & "'" Proses.ExecuteNonQuery(SQL) MessageBox.Show("Data sudah dihapus", "Penghapusan Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)

kosongkantext() txt_kode_barang.Text = "" btn_batal.Hide() btn_edit.Enabled = False btn_hapus.Enabled = True btn_tambah.Enabled = True btn_simpan.Enabled = False

txt_kode_barang.Enabled = False txt_nama_barang.Enabled = False txt_harga.Enabled = False txt_stock.Enabled = False End If End SubJika user menekan tombol OK atau benar benar ingin menghapus data tersebut, maka dikirimkan perintah ke database untuk menghapus data berdasarkan kode atau id dari data yang dihapus.

5. Form Pembeliana. Proses penambahan dataAgar data yang diinputkan dapat disimpan ke database, maka diperlukan code untuk mengirim data ke database untuk disimpan.Sub datatidaklengkap() If txt_kode_pembelian.Text = "" Or txt_id_supplier.Text = "" Or txt_kode_barang.Text = "" Or txt_jumlah.Text = "" Then MsgBox("Silakan lengkapi pengisian data", vbOKOnly, "Pesan") Else simpandata() kosongkantext() txt_kode_pembelian.Text = "" btn_batal.Hide() btn_edit.Enabled = False btn_hapus.Enabled = True btn_tambah.Enabled = True btn_simpan.Enabled = False

txt_kode_pembelian.Enabled = False txt_id_supplier.Enabled = False txt_kode_barang.Enabled = False txt_total_harga.Enabled = False date_tanggal.Enabled = False txt_jumlah.Enabled = False txt_bayar.Enabled = False btn_proses1.Enabled = False btn_proses2.Enabled = False End If End SubKode tersebut digunakan untuk mengecek semua textbox terisi data, jika masih terdapat textbox yang kosong, maka data tidak akan disimpan kedatabase.Sub simpandata() Dim date_tanggal2 = date_tanggal.Value.ToString("yyyy-MM-dd") If txt_kode_pembelian.Text = "" Then txt_kode_pembelian.Focus() : Exit SubKode tersebut digunakan untuk mengecek apakah textbox untuk menyimpan kode maupun id sudah terisi, jika tidak textbox tersebut akan menjadi set focus atau curscor keyboard akan berada di textbox tesebut.SQL = "Insert Into pembelian Values ('" & txt_kode_pembelian.Text & "','" &txt_id_supplier.Text & "', '" & txt_kode_barang.Text & "','" & date_tanggal2 & "')" Proses.ExecuteNonQuery(SQL) SQL2 = "Insert Into detail_pembelian Values ('" & txt_kode_pembelian.Text & "','" & txt_kode_barang.Text & "','" & txt_jumlah.Text & "')" Proses.ExecuteNonQuery(SQL2) Dim ssql As DataTable = Proses.ExecuteQuery("SELECT * FROM barang WHERE kode_barang = '" & txt_kode_barang.Text & "'") Dim stock = ssql.Rows(0).Item("stock") + Val(txt_jumlah.Text) SQL3 = "update barang set stock = '" & stock & "' where kode_barang= '" & txt_kode_barang.Text & "'" Proses.ExecuteNonQuery(SQL3) MessageBox.Show("Data Baru telah disimpan", "Penyimpanan Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information) End SubKode tersebut digunakan untuk mengirimkan data ke database sesuai dengan yang diinputkan oleh user didalam textbox.b. Proses pengeditan dataDalam menginputkan data terkadang data yang diinputkan salah, maka data tersebut perlu diubah. Diperlukanlah code untuk mengubah data tersebut.Sub ubahdata() Dim date_tanggal2 = date_tanggal.Value.ToString("yyyy-MM-dd") txt_jumlah.Enabled = False If txt_kode_pembelian.Text = "" Then txt_kode_pembelian.Focus() : Exit SubKode tersebut digunakan untuk mengecek semua textbox terisi data, jika masih terdapat textbox yang kosong, maka data tidak akan disimpan kedatabase.SQL2 = "update detail_pembelian set kode_barang = '" & txt_kode_barang.Text & "', jumlah = '" & txt_jumlah.Text & "' where kode_pembelian = '" & txt_kode_pembelian.Text & "'" Proses.ExecuteNonQuery(SQL2) SQL = "update pembelian set id_supplier = '" & txt_id_supplier.Text & "', kode_barang = '" & txt_kode_barang.Text & "', tanggal_pembelian = '" & date_tanggal2 & "' where kode_pembelian = '" & txt_kode_pembelian.Text & "'" Proses.ExecuteNonQuery(SQL) MessageBox.Show("Data sudah diupdate", "Perubahan Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information) End SubKode tersebut digunakan untuk mengirim perintah update data ke database berdasarkan kode atau id, sesuai dengan yang diinputkan oleh user.c. Proses menampilkan dataUntuk melihat data dari database dan memastikan data tesebut, maka dibutuhkan kode untuk mengambil data dari database dan menampilkannya ke form.Sub datarecord() pembelian = Proses.ExecuteQuery("SELECT pembelian.kode_pembelian, pembelian.id_supplier, pembelian.kode_barang, pembelian.tanggal_pembelian, detail_pembelian.jumlah FROM pembelian INNER JOIN detail_pembelian ON pembelian.kode_pembelian = detail_pembelian.kode_pembelian")Kode tersebut akan mengambil data dari database. dgPembelian.DataSource = pembelian dgPembelian.Columns(0).HeaderText = "Kode Pembelian" dgPembelian.Columns(1).HeaderText = "ID Supplier" dgPembelian.Columns(2).HeaderText = "Kode Barang" dgPembelian.Columns(3).HeaderText = "Tanggal" dgPembelian.Columns(4).HeaderText = "Jumlah" dgPembelian.Columns(0).Width = 100 dgPembelian.Columns(1).Width = 100 dgPembelian.Columns(2).Width = 120 dgPembelian.Columns(3).Width = 100 dgPembelian.Columns(4).Width = 100 End SubKode tersebut diatas akan menampilkan data yang diambil dari database ke dalam DataGridView.d. Proses penghapusan dataAgar tidak memberatkan database dengan banyak data yang sudah tidak diperlukan, maka dibutuhkan code untuk menghapus data dari database.Sub hapus() Dim dell As MsgBoxResult dell = MsgBox("Apakah anda yakin ingin menghapus data ini?", MsgBoxStyle.OkCancel, "Peringatan")Kode diatas memberikan peringatan kepada user apakah user benar benar ingin menghapus data yang dipilih atau tidakIf dell = MsgBoxResult.Ok Then SQL = "delete from detail_pembelian where kode_pembelian = '" & dgPembelian.SelectedCells(0).Value & "'" Proses.ExecuteNonQuery(SQL) SQL2 = "delete from pembelian where kode_pembelian = '" & dgPembelian.SelectedCells(0).Value & "'" Proses.ExecuteNonQuery(SQL2) MessageBox.Show("Data sudah dihapus", "Penghapusan Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)

kosongkantext() txt_kode_pembelian.Text = "" btn_batal.Hide() btn_edit.Enabled = False btn_hapus.Enabled = True btn_tambah.Enabled = True btn_simpan.Enabled = False

txt_kode_pembelian.Enabled = False txt_id_supplier.Enabled = False txt_kode_barang.Enabled = False txt_total_harga.Enabled = False date_tanggal.Enabled = False txt_jumlah.Enabled = False txt_bayar.Enabled = False btn_proses1.Enabled = False btn_proses2.Enabled = False End If End SubJika user menekan tombol OK atau benar benar ingin menghapus data tersebut, maka dikirimkan perintah ke database untuk menghapus data berdasarkan kode atau id dari data yang dihapus.

6. Form Penjualana. Proses penambahan dataAgar data yang diinputkan dapat disimpan ke database, maka diperlukan code untuk mengirim data ke database untuk disimpan.Sub datatidaklengkap() If txt_kode_penjualan.Text = "" Or txt_id_kasir.Text = "" Or txt_kode_barang.Text = "" Or txt_jumlah.Text = "" Then MsgBox("Silakan lengkapi pengisian data", vbOKOnly, "Pesan") Else simpandata() kosongkantext() txt_kode_penjualan.Text = "" btn_batal.Hide() btn_edit.Enabled = False btn_hapus.Enabled = True btn_tambah.Enabled = True btn_simpan.Enabled = False

txt_kode_penjualan.Enabled = False txt_id_kasir.Enabled = False txt_kode_barang.Enabled = False txt_total_harga.Enabled = False date_tanggal.Enabled = False txt_jumlah.Enabled = False txt_bayar.Enabled = False btn_proses1.Enabled = False btn_proses2.Enabled = False End If End SubKode tersebut digunakan untuk mengecek semua textbox terisi data, jika masih terdapat textbox yang kosong, maka data tidak akan disimpan kedatabase.Sub simpandata() Dim date_tanggal2 = date_tanggal.Value.ToString("yyyy-MM-dd") If txt_kode_penjualan.Text = "" Then txt_kode_penjualan.Focus() : Exit SubKode tersebut digunakan untuk mengecek apakah textbox untuk menyimpan kode maupun id sudah terisi, jika tidak textbox tersebut akan menjadi set focus atau curscor keyboard akan berada di textbox tesebut.SQL = "Insert Into penjualan Values ('" & txt_kode_penjualan.Text & "','" &txt_id_kasir.Text & "', '" & txt_kode_barang.Text & "','" & date_tanggal2 & "')" Proses.ExecuteNonQuery(SQL) SQL2 = "Insert Into detail_penjualan Values ('" & txt_kode_penjualan.Text & "','" & txt_kode_barang.Text & "','" & txt_jumlah.Text & "')" Proses.ExecuteNonQuery(SQL2) Dim ssql As DataTable = Proses.ExecuteQuery("SELECT * FROM barang WHERE kode_barang = '" & txt_kode_barang.Text & "'") Dim stock = ssql.Rows(0).Item("stock") - Val(txt_jumlah.Text) SQL3 = "update barang set stock = '" & stock & "' where kode_barang= '" & txt_kode_barang.Text & "'" Proses.ExecuteNonQuery(SQL3) MessageBox.Show("Data Baru telah disimpan", "Penyimpanan Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information) End SubKode tersebut digunakan untuk mengirimkan data ke database sesuai dengan yang diinputkan oleh user didalam textbox.b. Proses pengeditan dataDalam menginputkan data terkadang data yang diinputkan salah, maka data tersebut perlu diubah. Diperlukanlah code untuk mengubah data tersebut.Sub ubahdata() Dim date_tanggal2 = date_tanggal.Value.ToString("yyyy-MM-dd") If txt_kode_penjualan.Text = "" Then txt_kode_penjualan.Focus() : Exit SubKode tersebut digunakan untuk mengecek semua textbox terisi data, jika masih terdapat textbox yang kosong, maka data tidak akan disimpan kedatabase.SQL2 = "update detail_penjualan set kode_barang = '" & txt_kode_barang.Text & "', jumlah = '" & txt_jumlah.Text & "' where kode_penjualan = '" & txt_kode_penjualan.Text & "'" Proses.ExecuteNonQuery(SQL2) SQL = "update penjualan set id_kasir = '" & txt_id_kasir.Text & "', kode_barang = '" & txt_kode_barang.Text & "', tanggal_penjualan = '" & date_tanggal2 & "' where kode_penjualan = '" & txt_kode_penjualan.Text & "'" Proses.ExecuteNonQuery(SQL) MessageBox.Show("Data sudah diupdate", "Perubahan Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)Kode tersebut digunakan untuk mengirim perintah update data ke database berdasarkan kode atau id, sesuai dengan yang diinputkan oleh user.c. Proses menampilkan dataUntuk melihat data dari database dan memastikan data tesebut, maka dibutuhkan kode untuk mengambil data dari database dan menampilkannya ke form.Sub datarecord() penjualan = Proses.ExecuteQuery("SELECT penjualan.kode_penjualan, penjualan.id_kasir, penjualan.kode_barang, penjualan.tanggal_penjualan, detail_penjualan.jumlah FROM penjualan INNER JOIN detail_penjualan ON penjualan.kode_penjualan = detail_penjualan.kode_penjualan")Kode tersebut akan mengambil data dari database. dgPenjualan.DataSource = penjualan dgPenjualan.Columns(0).HeaderText = "Kode Penjualan" dgPenjualan.Columns(1).HeaderText = "ID Kasir" dgPenjualan.Columns(2).HeaderText = "Kode Barang" dgPenjualan.Columns(3).HeaderText = "Tanggal" dgPenjualan.Columns(4).HeaderText = "Jumlah" dgPenjualan.Columns(0).Width = 100 dgPenjualan.Columns(1).Width = 100 dgPenjualan.Columns(2).Width = 120 dgPenjualan.Columns(3).Width = 100 dgPenjualan.Columns(4).Width = 100 End SubKode tersebut diatas akan menampilkan data yang diambil dari database ke dalam DataGridView.d. Proses penghapusan dataAgar tidak memberatkan database dengan banyak data yang sudah tidak diperlukan, maka dibutuhkan code untuk menghapus data dari database.Sub hapus() Dim dell As MsgBoxResult dell = MsgBox("Apakah anda yakin ingin menghapus data ini?", MsgBoxStyle.OkCancel, "Peringatan")Kode diatas memberikan peringatan kepada user apakah user benar benar ingin menghapus data yang dipilih atau tidakIf dell = MsgBoxResult.Ok Then SQL = "delete from detail_penjualan where kode_penjualan = '" & dgPenjualan.SelectedCells(0).Value & "'" Proses.ExecuteNonQuery(SQL) SQL2 = "delete from penjualan where kode_penjualan = '" & dgPenjualan.SelectedCells(0).Value & "'" Proses.ExecuteNonQuery(SQL2) MessageBox.Show("Data sudah dihapus", "Penghapusan Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)

kosongkantext() txt_kode_penjualan.Text = "" btn_batal.Hide() btn_edit.Enabled = False btn_hapus.Enabled = True btn_tambah.Enabled = True btn_simpan.Enabled = False

txt_kode_penjualan.Enabled = False txt_id_kasir.Enabled = False txt_kode_barang.Enabled = False txt_total_harga.Enabled = False date_tanggal.Enabled = False txt_jumlah.Enabled = False txt_bayar.Enabled = False btn_proses1.Enabled = False btn_proses2.Enabled = False End If End SubJika user menekan tombol OK atau benar benar ingin menghapus data tersebut, maka dikirimkan perintah ke database untuk menghapus data berdasarkan kode atau id dari data yang dihapus.

7. Form LoginPublic Class Login 'Dim SQL As String 'Dim Proses As New Conn 'Dim login As DataTable 'Dim filter As New BindingSource()

Private Sub btn_login_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_login.Click Dim conn As MySqlConnection conn = New MySqlConnection("server=localhost;" _ & "user id=root;" _ & "password=qwerty123;" _ & "database=kasir")

conn.Open() If conn.State ConnectionState.Open Then MsgBox("Koneksi Gagal..!!", MsgBoxStyle.Critical, "Access Failed..!!") End IfKode diatas digunakan untuk membuat koneksi ke database kasir Dim myadapter As New MySqlDataAdapter Dim sql = "SELECT * from login where Password = '" & txt_password.Text & "' and Username='" & txt_username.Text & "'" Dim mycomand As New MySqlCommand mycomand.Connection = conn mycomand.CommandText = sql

myadapter.SelectCommand = mycomand

Dim mydata As MySqlDataReader mydata = mycomand.ExecuteReader()Kode diatas digunakan untuk memeriksa data pada table login di database kasir If mydata.HasRows = 0 Then MsgBox("Username dan Password Salah...!!!", MsgBoxStyle.Critical, "Access Failed..!!") Else Me.Hide() MenuUtama.Show() End If txt_password.Text = "" txt_username.Text = "" End SubEnd ClassJika data yang ada di table login sama dengan data yang diinputkan di textbox username dan password, maka form menu utama akan ditampilkan, jika tidak maka akan ditampilkan peringatan error.

3. Report1. Report Penjualan

2. Report Pembelian

BAB IVPENUTUP

1. Kesimpulan

Berdasarkan hasil analisa dan pembahasan yang telah dibahas pada bab-bab sebelumnya, dapat diambil kesimpulan antara lain :1. Perancangan yang telah dilakukan dapat membantu perusahaan dalam melakukan proses pengadaan barang yang lebih cepat dan terintegrasi, mempercepat proses bisnis.1. Sistem yang telah dibuat dilengkapi dengan akses yang telah disesuaikan dengan pengguna, agar dapat menjaga keamanan data dengan baik dan tidak dapat diakses oleh pengguna yang tidak terdaftar.1. Sistem yang telah dirancangkan juga membantu perusahaan dalam memanajemen data secara cepat karena data yang dibutuhkan sudah tersedia dengan lengkap dan tersimpan secara otomatis.