Tuesday 17 October 2017

CARA MENENTUKAN ENTITAS PEDA ENTITY RELTIONSHIP DIAGRAM (EDISI TUGAS AKHIR)

Standard
Ada hikmah dibalik setiap kesusahan. Mungkin ini istilah yang tepat buat para mahsiswa ekstensi yang telah berhasil melewati jembatan tugas akhir, yang udah kayak jembatan benteng takeshi. Sebenernya kali ini saya mau bahas tentang perancangan ERD, hasil dari apa yang saya buat di tugas akhir saya. Mungkin memang belum sempurna, karena angkatan saya termasuk tahun pertama yang menggunakan metode UML (Unified Modelling Language) dalam perancangan, yang sebelumnya menggunaka DFD (Data Flow Diagram). Dan ternyata banyak banget “peraturan-peraturan”  dalam pembuatan ERD yang baru saya tau setelah ngegarap tugas akhir ini.

Menurut saya ERD ini merupakan permulaan yang paling awal banget dalam perancangan database. Karena ini bakalan berlanjut menjadi LRS (Logical Record Structure), Spesifikasi File, user interface, hingga hasil output yang berupa data maupun laporan. Jadi, kalau ERD aja kamu masih salah terus, otomatis tahap-tahap berikutnya pun pasti berubah lagi. Mari kita mulai.

Langkah 1 :
INPUT + PROSES = OUTPUT
 
Tentukan dokumen keluaran dan dokumen masukan yang akan kamu gunakan. Masih inget kan rumusnya 



Contoh 1,
Jika saya akan membuat ERD untuk data master. Apakah master mempunyai dokumen masukan dan keluaran? Bukannya itu merupakan data yang didapat dan dihasilkan untuk internal perusahaan?
Yak, bener banget. Data master emang gak ada dokumen masukan dan keluaran. Yang ada hanya data dan daftar. Tapi ingat ya, ini hanya untuk data master. Berikut contoh dari data master yang akan dibuat.

Dokumen masukan :  Data User

 Id_user               : FNC01
nm_user              : WIKE
password            : xxxxxxxxx
jabatan                 : Staff
hak_akses           : Finance

Id_user                : FNC02
nm_user              : RESI
password            : xxxxxxxxxx
jabatan                : Kabag
hak_akses           : Finance

Dokumen Keluaran : Daftar User
No
Id User
User Name
Access
1
FNC01
WIKE
Finance
2
FNC02
RESI
Finance

Contoh 2,
Yang diatas masih sederhana, karena Cuma data master aja. Kali ini coba saya kasih langsung transaksinya biar kamu bisa lihat perbandingannya. Saya akan buat transaksi pembelian yang dokumen masukannya berasal dari form purchase request.

Dokumen masukan:

Dokumen keluaran:
Pasti menurut kalian ini ribet banget kan? Kenapa sih gak langsung aja tulis di ERD nya? Lagian isinya kan gak bakal ditampilin, toh Cuma buat database aja...

Sama... saya juga mengeluh kayak gitu waktu pembimbing saya minta buat ini. Ditagihin terus tapi gak dibuat juga. Akhirnya revisi berkali kali, dan pemborosan.

Penting banget buat kalian tau database macem apasih yang akan kalian buat. Isinya akan kalian rancang seperti apasih. Dan apa makna dari primary key yang udah kalian tentuin. Semua itu berguna buat nentuin size dari jumlah record yang akan kamu buat.

Dari contoh 1 tabel diatas bisa kalian lihat primary key nya ada pada  id_user. Formatnya saya buat FNC01 yang berarti, user merupakan bagian finance nomor 01. Apakah hanya finance aja ? Tidak, saya buat rule dengan menggunakan kode berdasarkan hak aksesnya. Jika hak aksesnya bagian Purchasing, maka id_user akan diawali dengan PRC01. Ingat ya, pasti ada makna dan rule dalam menentukan primary key, gak bisa ajaib tiba-tiba muncul.  Data-data diatas emang gak akan kamu masukkan di ERD, tapi kamu bakalan merasakan, betapa mudahnya melanjutkan LRS, Spesifikasi file dan bla bla bla, hanya dengan menyalin dari data yang kamu buat.

Langkah 2
Normalisasikan dari entitas yang ada pada tabel diatas. Tulis dulu semua nama entitas dikertas, kemudian coret yang nama entitasnya sama.

Contoh 1 

Contoh 2


Langkah 3
Coret entitas dengan makna yang sama hingga seperti dibawah ini:

-Nama barang, seperti contoh yang diawal tadi, dengan adanya data master akan memudahkan kita untuk tidak perlu lagi megetik nama barang yang akan memungkinkan adanya perbedaan dalam penulisan nama barang. Nama barang dan unit merupakan bagian dari data master barang. Jadi yang perlu kita masukkan cukup primary key dari master barang, yaitu id barang atau kode barang. Dengan begitu nama barang dan unit barang akan terisi otomatis.
-Supplier, alasannya sama seperti sebelumnya, kita hanya perlu memanggil primary key dari data masternya yaitu id supplier atau kode supplier
-Subtotal,  ini merupakan total sementara yang menurut saya gak perlu dimasukkan ke database. Kenapa? Karena kita hanya perlu membuatkan rumus perkalian qty dengan harga untuk menampilkan subtotal. Tidak perlu dibuatkan entitas tersendiri

Langkah 4
setelah dicoret-coret, dan diubah-ubah, tulis kembali entitas yang sudah sesuai. Hasilnya akan seperti berikut


Nah setelah perjalanan panjang menyusun entitasnya, kamu udah punya 5 tabel. Tinggal disesuaikan aja penamaan entitasnya. Pada tabel purchase order detail saya tambahkan entitas no pr sebagai relasi antara purchase request dengan purchase order. Jadi barang yang dipesan pada purchase order harus me-reffrence kepada purchase request yang dibuat.

Selamat mencoba..

Ada hikmah dibalik setiap kesusahan. Mungkin ini istilah yang tepat buat para mahsiswa ekstensi yang telah berhasil melewati jembatan tugas akhir, yang udah kayak jembatan benteng takeshi. Sebenernya kali ini saya mau bahas tentang perancangan ERD, hasil dari apa yang saya buat di tugas akhir saya. Mungkin memang belum sempurna, karena angkatan saya termasuk tahun pertama yang menggunakan metode UML (Unified Modelling Language) dalam perancangan, yang sebelumnya menggunaka DFD (Data Flow Diagram). Dan ternyata banyak banget “peraturan-peraturan”  dalam pembuatan ERD yang baru saya tau setelah ngegarap tugas akhir ini.

Menurut saya ERD ini merupakan permulaan yang paling awal banget dalam perancangan database. Karena ini bakalan berlanjut menjadi LRS (Logical Record Structure), Spesifikasi File, user interface, hingga hasil output yang berupa data maupun laporan. Jadi, kalau ERD aja kamu masih salah terus, otomatis tahap-tahap berikutnya pun pasti berubah lagi. Mari kita mulai.

Langkah 1 :
INPUT + PROSES = OUTPUT
 
Tentukan dokumen keluaran dan dokumen masukan yang akan kamu gunakan. Masih inget kan rumusnya 



Contoh 1,
Jika saya akan membuat ERD untuk data master. Apakah master mempunyai dokumen masukan dan keluaran? Bukannya itu merupakan data yang didapat dan dihasilkan untuk internal perusahaan?
Yak, bener banget. Data master emang gak ada dokumen masukan dan keluaran. Yang ada hanya data dan daftar. Tapi ingat ya, ini hanya untuk data master. Berikut contoh dari data master yang akan dibuat.

Dokumen masukan :  Data User

 Id_user               : FNC01
nm_user              : WIKE
password            : xxxxxxxxx
jabatan                 : Staff
hak_akses           : Finance

Id_user                : FNC02
nm_user              : RESI
password            : xxxxxxxxxx
jabatan                : Kabag
hak_akses           : Finance

Dokumen Keluaran : Daftar User
No
Id User
User Name
Access
1
FNC01
WIKE
Finance
2
FNC02
RESI
Finance

Contoh 2,
Yang diatas masih sederhana, karena Cuma data master aja. Kali ini coba saya kasih langsung transaksinya biar kamu bisa lihat perbandingannya. Saya akan buat transaksi pembelian yang dokumen masukannya berasal dari form purchase request.

Dokumen masukan:

Dokumen keluaran:
Pasti menurut kalian ini ribet banget kan? Kenapa sih gak langsung aja tulis di ERD nya? Lagian isinya kan gak bakal ditampilin, toh Cuma buat database aja...

Sama... saya juga mengeluh kayak gitu waktu pembimbing saya minta buat ini. Ditagihin terus tapi gak dibuat juga. Akhirnya revisi berkali kali, dan pemborosan.

Penting banget buat kalian tau database macem apasih yang akan kalian buat. Isinya akan kalian rancang seperti apasih. Dan apa makna dari primary key yang udah kalian tentuin. Semua itu berguna buat nentuin size dari jumlah record yang akan kamu buat.

Dari contoh 1 tabel diatas bisa kalian lihat primary key nya ada pada  id_user. Formatnya saya buat FNC01 yang berarti, user merupakan bagian finance nomor 01. Apakah hanya finance aja ? Tidak, saya buat rule dengan menggunakan kode berdasarkan hak aksesnya. Jika hak aksesnya bagian Purchasing, maka id_user akan diawali dengan PRC01. Ingat ya, pasti ada makna dan rule dalam menentukan primary key, gak bisa ajaib tiba-tiba muncul.  Data-data diatas emang gak akan kamu masukkan di ERD, tapi kamu bakalan merasakan, betapa mudahnya melanjutkan LRS, Spesifikasi file dan bla bla bla, hanya dengan menyalin dari data yang kamu buat.

Langkah 2
Normalisasikan dari entitas yang ada pada tabel diatas. Tulis dulu semua nama entitas dikertas, kemudian coret yang nama entitasnya sama.

Contoh 1 

Contoh 2


Langkah 3
Coret entitas dengan makna yang sama hingga seperti dibawah ini:

-Nama barang, seperti contoh yang diawal tadi, dengan adanya data master akan memudahkan kita untuk tidak perlu lagi megetik nama barang yang akan memungkinkan adanya perbedaan dalam penulisan nama barang. Nama barang dan unit merupakan bagian dari data master barang. Jadi yang perlu kita masukkan cukup primary key dari master barang, yaitu id barang atau kode barang. Dengan begitu nama barang dan unit barang akan terisi otomatis.
-Supplier, alasannya sama seperti sebelumnya, kita hanya perlu memanggil primary key dari data masternya yaitu id supplier atau kode supplier
-Subtotal,  ini merupakan total sementara yang menurut saya gak perlu dimasukkan ke database. Kenapa? Karena kita hanya perlu membuatkan rumus perkalian qty dengan harga untuk menampilkan subtotal. Tidak perlu dibuatkan entitas tersendiri

Langkah 4
setelah dicoret-coret, dan diubah-ubah, tulis kembali entitas yang sudah sesuai. Hasilnya akan seperti berikut


Nah setelah perjalanan panjang menyusun entitasnya, kamu udah punya 5 tabel. Tinggal disesuaikan aja penamaan entitasnya. Pada tabel purchase order detail saya tambahkan entitas no pr sebagai relasi antara purchase request dengan purchase order. Jadi barang yang dipesan pada purchase order harus me-reffrence kepada purchase request yang dibuat.

Selamat mencoba..

0 komentar:

Post a Comment