Bagaimana cara membuat perancangan database dan aplikasi berbasis web?
Perkenalkan saya Khalifah Adam Ahmad (F1G123047) Dari Prodi Ilmu Komputer Fakultas MIPA Universitas Haluoleo. Pada kesempatan kali ini saya akan membuat artikel untuk menjawab pertanyaan tentang "Bagaimana cara membuat perancangan database dan aplikasi berbasis web?". Tentunya hal ini menjadi pertanyaan umum bagi kalian yang kuliah di jurusan informatika ataupun computer science seperti saya, (dan kebetulan ini juga tugas saya wkwk). Pada kesempatan kali ini saya akan mengangkat contoh studi kasus warnet.
Studi Kasus
Sebuah warnet kecil di kota Anda ingin mengembangkan sistem manajemen berbasis database untuk mencatat operasionalnya. Warnet ini memiliki satu operator yang bertugas memantau aktivitas di PC dan mencatat transaksi penyewaan serta pembayaran. Operator ini juga bertindak sebagai kasir. Sistem harus mampu mencatat informasi seperti durasi penyewaan (berapa jam bermain) dan PC yang digunakan oleh pelanggan.
Pemilik warnet meminta Anda untuk merancang basis data yang sederhana dan efektif untuk kebutuhan berikut:
Pencatatan Penyewaan: Setiap pelanggan dapat menyewa komputer dengan jumlah jam bermain tertentu. Informasi tentang PC yang disewa, durasi bermain, dan operator yang memantau harus tercatat dengan baik.
Pengelolaan Billing: Sistem harus mencatat setiap penyewaan dalam tabel billing yang berisi detail waktu bermain, PC yang digunakan, dan identifikasi penyewaan.
Pembayaran: Sistem juga harus mencatat pembayaran pelanggan, termasuk besaran biaya yang sesuai dengan durasi bermain.
1. Langkah pertamaÂ
Dalam pembuatan database adalah merancang terlebih dahulu ERD dan EERD Database. Gunakan mysql workbench dalam pembuatan EERD sehingga bisa langsung syncrhonize ke database.
Berikut adalah desain ERD Â dan EERD struktur database untuk aplikasi pengelolaan Warnet.
Tabel Database dan Tipe datanya
1. Operator
- nik: INT (Primary Key)
- nama:Â VARCHAR(45)
- kasir_id_bayar:Â INT (Foreign Key ke Kasir)
2. Kasir
- id_bayar: INT (Primary Key)
- harga_bayar:Â VARCHAR(45)
3. Billing
- id_billing: INT (Primary Key)
- os_pc: ENUM('Windows','MacOS')
- no_pc:Â INT
- operator_nik:Â INT (Foreign Key ke Operator)
4. Member
- id_member: INT (Primary Key)
- nama:Â VARCHAR(45)
- alamat:Â VARCHAR(45)
- umur:Â INT
- kasir_id_bayar:Â INT (Foreign Key ke Kasir)
5. Sewa
- id_sewa: INT (Primary Key)
- billing_id_billing:Â INT (Foreign Key ke Billing)
- member_id_member:Â INT (Foreign Key ke Member)
- jam_sewa: TIME
Penjelasan Relasi Antar Tabel:
- Operator memiliki relasi one-to-many ke Billing. Satu operator dapat mengelola banyak billing.
- Kasir memiliki relasi one-to-many ke Member. Satu kasir dapat melayani banyak member.
- Billing memiliki relasi many-to-many ke Member Sehingga menciptakan tabel baru yaitu sewa.
- Billing memiliki relasi one-to-one ke Sewa. Setiap billing terkait dengan satu sewa.
- Member memiliki relasi one-to-many ke Sewa. Satu member dapat melakukan banyak sewa.
Keterangan:
- Tabel Operator menyimpan data operator yang bekerja di Warnet.
- Tabel Kasir menyimpan data transaksi pembayaran.
- Tabel Billing menyimpan data detail penggunaan komputer.
- Tabel Member menyimpan data member yang menggunakan layanan Warnet.
- Tabel Sewa menyimpan data detail sewa.