Aplikasi Inventory Sederhana - Analisa dan Desain Database

Aplikasi Inventory Sederhana - Analisa dan Desain Database

Design Database adalah salah satu hal penting yang perlu diperhatikan dalam membuat aplikasi perkantoran. Dalam membuat design database, ikutilah kaidah-kaidah yang pernah kita dapatkan semasa kuliah, terutama Normalisasi, minimal sampai dengan bentuk 3NF. Kesalahan dalam membuat design database dapat berakibat fatal, misalnya sulit membuat coding dan men-generate report yang kita inginkan. Dan jika sampai harus mengubah design database maka akan banyak waktu terbuang karena kita harus menyesuaikan kembali coding yang sudah dibuat sebelumnya. Oleh karena itu sediakanlah waktu dan pikiran yang cukup dalam men-design database ini.

Artikel ini adalah bagian dari artikel berseri tentang Tutorial Membuat Aplikasi Inventory Sederhana Menggunakan VB.net dan Database MySQL

Dalam membuat design database ini kami juga menyengajakan diri untuk membuat design database menggunakan bahasa inggris, tujuannya selain melatih skill bahasa inggris kita, juga untuk melatih diri kita, siapa tahu aplikasi ini akan di-publish menjadi open source, atau kita berkesempatan berkontribusi dalam project open source lain.

Berdasarkan analisa dan design aplikasi yang tertuang dalam artikel sebelumnya, maka kita memerlukan sejumlah table untuk menyimpan data-data Barang dan Transaksi Keluar Masuk Barang. Untuk itu, sejumlah table yang diperlukan antara lain:

Tabel Barang

Table untuk menampung data master barang ini akan kita beri nama items. Data dictionary lengkapnya adalah sebagai berikut:

No. Nama Field Tipe Data Keterangan
1. id integer Primary Key, Auto Increment
2. code varchar(20) Kode barang berupa text bebas maksimal 20 karakter, bisa digunakan sebagai barcode
3. name varchar(100) Nama barang maksimal 100 karakter
4. quantity_on_hand decimal(10,2) Quantity barang terakhir yang saat ini ada di gudang
5. remarks text Keterangan lebih lengkap tentang barang bersangkutan

Tabel Jenis Transaksi

Tabel ini akan berisi kode untuk menentukan jenis transaksi dan kita beri nama transaction_types. Untuk aplikasi ini akan ada 2 (dua) jenis transaksi yaitu Transaksi Barang Masuk (kita beri kode BM) dan Transaksi Barang Keluar (kita beri kode BK). Data dictionary lengkapnya adalah sebagai berikut:

No. Nama Field Tipe Data Keterangan
1. id integer Primary Key, Auto Increment
2. code varchar(20) Kode jenis transaksi berupa text bebas maksimal 20 karakter
3. name varchar(100) Nama panjang yang lebih deskriptif, maksimal 100 karakter

Tabel Transaksi

Tabel ini akan berisi seluruh transaksi inventory dari aplikasi yang akan kita buat. Untuk membedakan Transaksi Barang Masuk dengan Transaksi Barang Keluar kita sediakan field type_id yang merupakan Foreign Key yang me-refer ke . Data dictionary lengkapnya adalah sebagai berikut:

No. Nama Field Tipe Data Keterangan
1. id integer Primary Key, Auto Increment
2. type_id integer Foreign Key refer ke tabel transaction_types, untuk membedakan Transaksi Barang Masuk atau Keluar
3. trans_code varchar(100) Nama panjang yang lebih deskriptif, maksimal 100 karakter
4. trans_date date Tanggal transaksi
5. remarks text Teks bebas untuk keterangan, silakan mengarang di field ini juga boleh

Tabel Detil Transaksi

Tabel ini akan berisi seluruh transaksi inventory dari aplikasi yang akan kita buat. Untuk membedakan Transaksi Barang Masuk dengan Transaksi Barang Keluar kita sediakan field type_id yang merupakan Foreign Key yang me-refer ke . Data dictionary lengkapnya adalah sebagai berikut:

No. Nama Field Tipe Data Keterangan
1. id integer Primary Key, Auto Increment
2. trans_id integer Foreign Key refer ke tabel transactions, untuk record detil transaksi ini milik transaksi yang mana
3. item_id integer Foreign Key refer ke tabel items, untuk menentukan barang mana yang harus diubah status stock-nya
4. quantity decimal(10,2) Jumlah barang yang masuk atau keluar
5. remarks text Teks bebas untuk keterangan, silakan mengarang di field ini juga boleh

Diagram ER

Diagram ER menggunakan notasi IDEF1X dari desain database untuk aplikasi inventory sederhana ini adalah sebagai berikut.

Design Database Aplikasi Inventiry Sederhana Menggunakan VB.net

Script Database

Sedangkan script sql create table-nya adalah sebagai berikut.

create table items (
  id int auto_increment primary key,
  code varchar(20) not null,
  name varchar(100) not null,
  quantity_on_hand decimal(10,2) not null default 0,
  remarks text null
) ;

create table transaction_types (
  id int auto_increment primary key,
  code varchar(20) not null,
  name varchar(100) not null
) ;

create table transactions (
  id int auto_increment primary key,
  type_id int not null,
  trans_code varchar(20) not null,
  trans_date varchar(100) not null,
  remarks text null,
  foreign key(type_id) references transaction_types(id)
) ;

create table transaction_details (
  id int auto_increment primary key,
  trans_id int not null,
  item_id int not null,
  quantity decimal(10,2) not null default 0,
  remarks text null, 
  foreign key (trans_id) references transactions(id), 
  foreign key (item_id) references items(id) 
) ;

Simpulan

Dengan demikian selesailah sudah proses analisa dan desain kita. Dengan tersedianya Design Aplikasi dan Design Database, maka langkah selanjutnya kita bisa membuat Aplikasi-nya dengan lebih mudah dan terarah.

^_^

Category: