Friday, July 23, 2010

ER Diagram: Design Guidline (Part. 1)

Gambar: http://bussinesweek.com
Hai hai! Pada kesempatan yang bagus ini saya ingin mencoba membagi pengetahuan saya dengan rekan-rekan semua terkait dengan software engineering (rekayasa perangkat lunak). Apa yang akan kita bahas kali ini adalah bagaimana cara membuat ERD (Entity Relationship Diagram) yang baik. Nah, buat rekan-rekan yang sering berkecimpung dalam dunia programming, pastinya sudah akrab dengan istilah yang satu ini. Bagaimana kalau saya belum akrab atau bahkan belum tahu makhluk macam apa sebenarnya ERD Diagram ini? Sok atuh mulai kenalan.. mungkin bisa dimulai dengan membaca artikel tentang ER Diagram berikut ini :D.

Nah, kalau kita mendengar kata-kata “Guidline” mungkin satu hal yang terlintas pada pikiran kita adalah serangkaian aturan-aturan baku yang harus ditaati dalam melakukan sesuatu. Lalu apakah ER Diagram design guidline ini juga merupakan sebuah aturan-aturan baku yang harus ditaati? Hmm.. harus ditaati gak yah? Sebenernya sih gak usah ditaati juga gak apa-apa. Guidline ini hanya merupakan sebuah best practices yang biasa digunakan dalam mendesign ER Diagram. Ok deh! Langsung aja yuk kita bahas seperti apa sih sebenarnya guideline dalam pembuatan ERD Diagram itu?

Beberapa hal penting yang harus diperhatikan dalam membuat ER Diagram adalah sebagai berikut:
  1. Konvensi Penamaan
  2. Tata Letak
  3. Asumsi
  4. Continuous Improvement
yuk kita bahas satu persatu keempat point diatas ^^

Konvensi Penamaan
Penulisan nama baik dalam penamaan entity ataupun label merupakan sebuah hal yang kecil dan mudah namun hal ini sangatlah krusial karena melalui nama entity dan label inilah orang lain akan memahami ERD yang kita buat. Penamaan label atau entity dalam ERD tidak boleh ambigu (muti tafsir / banyak interpretasi). Setiap nama yang diberikan dalam ERD haruslah dapat mengkomunikasikan secara jelas setiap model yang kita buat. Biasanya, dalam melakukan penamaan pada model, khususnya pada nama entity menggunakan kata benda seperti misalnya Customer, Pegawai, ataupun Unit_Kerja. Penamaan ini dilakukan karena pada hakikatnya setiap entity yang kita buat dalam ERD merupakan representasi dari setiap objek yang ada dalam dunia nyata.

Tata Letak
Sebenarnya tidak ada guidline khusus yang mengatur tata letak dari setiap elemen ERD yang kita buat. Lalu mengapa tata letak ini harus diperhatikan juga? Mungkin ketika kita membuat sebuah ERD yang sederhana (kurang dari 20 entity) hal ini tidak begitu berpengaruh dalam gambar ERD kita namun bagaimana jika entity yang kita buat dalam model ERD kita mencapai 40, 50, atau bahkan 100 Entity? Dalam pembuatan ERD untuk aplikasi berkelas enterprise hal ini sangat memungkinkan (bayangkan saja berapa banyak objek yang kita butuhkan untuk memodelkan sebuah bisnis proses dalam perusahaan Bank?). Ketika kita membuat sebuah ERD yang mengandung banyak entity, akan lebih baik apabila kita memecah ERD tersebut ke dalam beberapa bagian agar ERD yang kita buat dapat di tata dengan lebih rapi sehingga mudah dibaca oleh user.

Asumsi
Biasanya, data modeling (pembuatan ERD) merupakan sebuah pekerjaan yang sedikit rumit dikarenakan data model sangat bergantung pada interpretasi. Oleh karenanya, ketika ada prubahan dalam sebuah bisnis proses, maka akan dapat menimbulkan perubahan pula pada komponen-komponen ERD yang kita buat. Dalam hal ini, asumsi yang kita gunakan dalam melakukan pembuatan ERD menjadi sangat penting. Ketika kita membuat sebuah ERD untuk bisnis proses tertentu, maka kita harus memastikan bahwa asumsi yang kita gunakan sesuai dengan proses yang berjalan seperti misalnya kita membuat asumsi bahwa setiap data mengenai umur User tidak perlu dimasukkan kedalam database dikarenakan data umur user dapat dihitung melalui tanggal saat ini dikurangi dengan tanggal lahir User. Asumsi-asumsi seperti ini perlu dimasukkan agar kita bisa menjelaskan kepada User bahwa data model kita masih sesuai dengan bisnis proses yang mereka (User) miliki.

IV. Continuous Improvement (Pengembangan secara berkelanjutan)
Membuat data model / ER Digram bukanlah sebuah pekerjaan yang dapat langsung selesai dalam sekali design (mungkin bisa selesai dalam sekali design jika data model yang dibuat sangat sederhana). Ketika kita membuat data model, jangan panik ataupun bingung dengan setiap detail model yang kita buat. Apabila ada perubahan dalam model yang kita buat, cobalah untuk menambahkan ataupun menyusun ulang setiap komponen-komponen secara perlahan disertai dengan asumsi-asumsi yang dapat menjelaskan setiap hubungan antara komponen pada data model dengan bisnis proses yang ada. Setiap perubahan yang terjadi pada model yang kita buat haruslah dikonfirmasikan dahulu kepada bisnis user yang bersangkutan agar nantinya setiap perubahan dan asumsi-asumsi yang kita gunakan tetap sejalan dengan bisnis proses yang ada.

Ok! itulah beberapa design guidline yang dapat saya berikan kepada rekan-rekan semua pada kesempatan kali ini. Bagaimana menurut kalian? Apakah guidline diatas dapat membantu rekan-rekan semua dalam melakukan data modeling? Tentunya dengan guidline saja tidak cukup untuk dapat membuat data model / ER Diagram yang baik (Soalnya sampai sekarang design data modeling yang saya buat masih suka miss dari kebutuhan yang ada hehehe) karena untuk menjadi seorang Data designer yang baik butuh banyak latihan dan pengalaman. Ketika kita semakin banyak terlibat dalam sebuah proyek, maka akan semakin banyak pula pengetahuan kita tentang bisnis proses yang ada. Begituuuu... Ok deh! Semoga informasi ini bermanfaat untuk rekan-rekan semua.. ^^

Sumber:
Systems Analysis and Design 4th ed”
Alan Dennis, Barbara Haley Wixom, and Roberta M. Roth
(dengan beberapa penyesuaian tentunya hehehe...)

No comments:

Post a Comment