5. Klik "Apply" lalu "Apply" lagi untuk konfirmasi. Database Anda sekarang sudah terbuat.
6. Klik kanan pada db_kasir_sederhana di panel SCHEMAS dan pilih "Set as Default Schema" agar setiap perintah yang kita jalankan langsung bekerja pada database ini.
Langkah 2: Membuat Tabel produk
Tabel produk akan menyimpan informasi dasar tentang setiap produk yang dijual.Â
Penjelasan Kode SQL:
- CREATE TABLE produk: Perintah untuk membuat tabel baru bernama produk.
- id_produk INT PRIMARY KEY AUTO_INCREMENT:
- id_produk: Nama kolom.
- INT: Tipe data integer (bilangan bulat).
- PRIMARY KEY: Menjadikan kolom ini sebagai kunci utama (unik dan tidak kosong).
- AUTO_INCREMENT: Setiap kali baris baru ditambahkan, nilai id_produk akan otomatis bertambah 1. Ini sangat berguna untuk ID yang unik.
- nama_produk VARCHAR(255) NOT NULL:
- VARCHAR(255): Tipe data untuk teks dengan panjang maksimal 255 karakter.
- NOT NULL: Kolom ini wajib diisi, tidak boleh kosong.
- harga DECIMAL(10, 2) NOT NULL:
- DECIMAL(10, 2): Tipe data untuk angka desimal. 10 adalah total digit yang diizinkan, dan 2 adalah jumlah digit di belakang koma. Sempurna untuk harga.
- stok INT NOT NULL: Jumlah stok produk, harus berupa bilangan bulat dan tidak boleh kosong.
- deskripsi TEXT: Tipe data untuk teks yang panjang (misalnya deskripsi produk). Bisa kosong.
- tanggal_ditambahkan TIMESTAMP DEFAULT CURRENT_TIMESTAMP:
- TIMESTAMP: Tipe data untuk tanggal dan waktu.
- DEFAULT CURRENT_TIMESTAMP: Otomatis mengisi waktu saat ini ketika baris baru ditambahkan, jika tidak ditentukan.
Â
Cara Menjalankan di MySQL Workbench:
- Buka tab "SQL File" (icon lembar kerja dengan tanda +).
- Ketikkan atau paste kode SQL di atas.
- Klik ikon petir (Execute the selected portion of the script or everything) untuk menjalankan query.
- Jika berhasil, akan ada notifikasi hijau di bagian "Output". Refresh panel SCHEMAS (klik ikon refresh) dan Anda akan melihat tabel produk di bawah db_kasir_sederhana.
Langkah 3: Membuat Tabel transaksi
 Tabel transaksi akan menyimpan ringkasan dari setiap penjualan.Â
Penjelasan:
- id_transaksi INT PRIMARY KEY AUTO_INCREMENT: ID unik untuk setiap transaksi.
- tanggal_waktu_transaksi DATETIME DEFAULT CURRENT_TIMESTAMP: Menyimpan tanggal dan waktu transaksi secara otomatis. DATETIME lebih fleksibel daripada TIMESTAMP untuk rentang tanggal yang sangat luas.
- total_harga DECIMAL(10, 2) NOT NULL: Total harga dari semua produk dalam transaksi ini.
- cashier_name VARCHAR(100): Nama kasir yang melayani transaksi (opsional, bisa NULL).
 Jalankan perintah SQL ini di MySQL Workbench seperti sebelumnya.Â
Langkah 4: Membuat Tabel detail_transaksiÂ
Tabel ini akan menghubungkan transaksi dengan produk dan menyimpan detail setiap item dalam suatu transaksi. Ini adalah tempat Foreign Key berperan penting.
Penjelasan:
- id_detail_transaksi INT PRIMARY KEY AUTO_INCREMENT: ID unik untuk setiap baris detail transaksi.
- id_transaksi INT NOT NULL: Kolom ini adalah Foreign Key yang akan menunjuk ke id_transaksi di tabel transaksi. Ini menandakan transaksi mana detail ini berada.
- id_produk INT NOT NULL: Kolom ini adalah Foreign Key yang akan menunjuk ke id_produk di tabel produk. Ini menandakan produk apa yang dibeli.
- jumlah_beli INT NOT NULL: Berapa banyak produk ini dibeli dalam transaksi tersebut.
- harga_satuan_saat_beli DECIMAL(10, 2) NOT NULL: Harga produk saat transaksi terjadi. Ini penting karena harga produk bisa berubah sewaktu-waktu di tabel produk, tapi harga di riwayat transaksi harus tetap harga saat pembelian.
- FOREIGN KEY (id_transaksi) REFERENCES transaksi(id_transaksi): Ini adalah sintaks untuk mendeklarasikan foreign key. Kolom id_transaksi di detail_transaksi merujuk ke kolom id_transaksi di tabel transaksi.
- FOREIGN KEY (id_produk) REFERENCES produk(id_produk): Sama, untuk merujuk ke tabel produk.
Jalankan perintah SQL ini. Sekarang Anda memiliki tiga tabel dasar untuk sistem kasir Anda!
Operasi CRUD (Create, Read, Update, Delete) DataÂ
Setelah tabel-tabel terbentuk, kita bisa mulai berinteraksi dengan data menggunakan perintah SQL.
1. CREATE (Memasukkan Data) - Perintah INSERT INTO
Untuk mengisi data ke dalam tabel.Â