Desain Database??

Balik maning di blog ZD, salah satu blog terlantar di belantara WP:mrgreen: . Kali ini ane ada tugas bikin artikel tentang DESAIN DATABASE yang kudu dibuat diblog😎 . Nah! Dari pada tugas terlantar dan blog ane jadi cuman menuh-menuhin server WP, sebaiknya dimulai saja di ZD (warning : blog ini menggunakan bahasa casual, yang mungkin tak sesuai bahasa Indonesia EYD, tapi tak sampai bahasa para alay😈 ).

Sebelumnya untuk dosen yang menilai, ini NIM saya : A11.2010.05335

dan kelompok makul : A11.4407

Mungkin bagi para Database designer atau yang juga disebut sebagai Database Administrator (DBA) merancang dan mendesain sebuah database merupakan merupakan hal sudah sangat biasa yang mereka lakukan. Hal yang biasa mereka lakukan??  Ya iyalah itu kan pekerjaan mereka sehari-hari, merekakan cari makan dengan ndesain database… Lha..  trus  gimana dengan kita yang baru saja mempelajari database  yang ibaratnya seperti kroco-kroco:mrgreen: atau para noob 😆 yang  belum pernah mendesain serta merancang database sekalipun? Padahal kita pengen belajar “gimana sih bikin desain database itu? “

Don’t worry, don’t be crazy😈 . Di sini, di ZD, kebetulan ane berkeinginan untuk berbagi ilmu dan pengetahuan yang ane miliki mengenai dasar seluk-beluk desain database dan langkah-langkah yang menurut ane baik dan benar (entah kalau kata para pakar database xixixi…) dalam mendesain dan merancang sebuah database yang oke.

Sebelumnya…😕 Ngapain sih database perlu dirancang, didesain?? Menurut ane biar keren boss…😎 Koplak! :tepokjidat::mrgreen: , Yang benar adalah karena berbagai pertimbangan yang diantaranya :

  • Jumlah data yang terus bertambah😀
  • Keutuhan data😀
  • Duplikasi data😀
  • Akses data yang acak😐
  • Keamanan data😎

Oleh karena itu ada baiknya dimulai dari siklus hidup Sistem Aplikasi Database 🙄

Oke! berdasarkan gambar yang tertera diatas, siklus hidup sistem aplikasi database dapat dijelaskan sebagai berikut🙄 :

  1. Database Planning
    Tahap ini ialah merencanakan database secara fisik dan logis serta merencanakan bagaimana cara siklus hidup itu dapat direalisasikan secara efektif dan efisien sesuai dengan sistem manajemen yang diinginkan si database designer, bro.
  2. System definition
    Di tahap ini kita menentukan ruang lingkup database-nya, seperti para penggunanya (user) dan aplikasi-aplikasi yang akan digunakan dan sebagainya.
  3. Requirements collection and Analysis
    Kegiatan pengumpulan dan analisis informasi mengenai bagian dari organisasi (biasanya perusahaan) yang akan didukung aplikasi basis data.
  4. Database Design
    Perancangan sistem database secara konseptual, logikal dan fisik.
  5. DBMS selection (optional)

Dalam pemilihan database ditentukan beberapa faktor yang diantaranya🙄 :

  1. Faktor teknis😎
  2. Faktor ekonomi:mrgreen:
  3. Faktor politik organisasi😕
  1. Implementation
    Di sini kita mulai mengimplementasikan penulisan definisi database secara konseptual, eksternal/internal, pembuatan file-file database yang kosong, serta pengimplementasian aplikasi softwarenya.
  2. Data conversion and Loading
    Database ditempatkan baik secara memanggil data secara langsung ataupun merubah file-file (convert) yang ada ke dalam format sistem database dan memanggilnya kembali (loading).  Intinya itu seperti pemuatan sistem lama ke sistem baru.
  3. Testing
    Sesuai namanya… disini kita akan menguji aplikasi basis data apakah terjadi kesalahan/error pada aplikasi tersebut, sehingga aplikasi database itu dinyatakan lancar jaya!😆 Dan si klien yang meminta kita bikin aplikasi database ini gak komplain sambil ngomel-ngomel sampai gebrak-gebrak meja😈 :halah: .
  4. Operational Maintenance
    Ibaratnya seperti kita beli motor😎 , motorkan kalau dipakai terus-terusankan perlu diservice biar gak hancur😈 . Nah, aplikasi database pun juga seperti itu😀 . Didalam pengoperasian database, sistem dan aplikasinya akan dilakukan pengawasan dan pemeliharaan sistem. Selama fase operasi, sistem secara konstan memonitor database. Penambahan dan pengembangan data pada aplikasi bisa saja terjadi. Modifikasi dan pengaturan kembali pada database mungkin diperlukan dari waktu ke waktu.

Selanjutnya akan dilanjutkan yang disebut Tahap atau Fase Perancangan Database yang digambarkan sebagai berikut.

 
Ada 6 tahap atau fase untuk proses perancangan suatu database :
1. Pengumpulan data dan analisis
2. Perancangan database secara konseptual
3. Pemilihan sistem manajemen database
4. Perancangan database secara logika
5. Perancangan database secara fisik
6. Implementasi sistem database

😯 Whaaat?!😕 Opo wae kuwi bro??? Wkwkwk….

Santee bro!😎 Ayo tak jabarkan 6 tahapan tersebut biar gak tambah mubeng :

1.Pengumpulan data dan analisis
Sebelum kita merancang sebuah database, kita kudumenganalisa dulu apa sih yang diinginkan dari pengguna aplikasi nantinya? Nah, oleh karena itu,ditahapan ini merupakan tahap dimana kita akan melakukan pengumpulan data sebanyak-banyaknya untuk dianalisa. Sehingga kita dituntut untuk mengenal bagian-bagian lain dari sistem informasi yang nantinya akan berinteraksi dengan sistem database serta user yang baru ataupun yang sudah lama juga dengan aplikasi-aplikasinya.

Jadi intinya, setelah kita ngumpulin dan menganalisa informasi mengenai bagian dari organsisasi yang didukung oleh aplikasi database tersebut, nantinya hasil dari informasi tersebut akan digunakan untuk mengindentifikasi kebutuhan para user dalam sistem database yang akan dibangun.

Informasi dari setiap user terdiri dari :
– Deskripsi data yang digunakan
– Bagaimana data itu digunakan
– Permintaan tambahan untuk aplikasi data yang baru
Informasi tersebut dianalisa dan diolah untuk mengidentifikasi permintaan dalam aplikasi database yang baru.

Dalam hal pengumpulan data, terdapat beberapa aktifitas yang harus dilakukan, yaitu beberapa diantaranya adalah🙄 :
– Tentukan dulu kelompok pemakai dan bidang-bidang aplikasinya.
– Lakukan peninjauan dokumentasi yang ada.
– Analisa lingkungan operasi dan pemrosesan data-data.
– Buatlah daftar pertanyaaan dan wawancara terhadap user lama maupun baru.

2.Perancangan database secara konseptual
Di tahapan kedua ini bertujuan untuk menghasilkan konseptual skema/Conceptual Scheme pada Database Management System independent model data tingkat tinggi dengan menggunakan model data Enhanced Entity Relationship (EER) tanpa tergantung pada sistem manajemen database.
Dan tujuan dari penciptaan itu ialah menyatukan pemahaman dalam struktur database, pengertian semantik, keterhubungan dan batasan-batasannya.
Model EER adalah suatu model tingkat tinggi, semantik,  yang digunakan dalam desain database. Tujuannya adalah menciptakan gambaran simple tentang data yang sesuai dengan pemikiran atau logika pengguna dan pengembang mengenai data tersebut. Jadi EER ini sangat membantu dalam pembuatan desain database. Eh,😕 Tapi ngomong-ngomong udah tahu entitas dan atribut belum??? Kalau belum, baca sono buku ‘n catatnya lagi…:mrgreen:

Ternyata terdapat 4 strategi dalam merancang suatu database (tambah bingung gak kowe?!😆 hahahahaha…), yaitu diantaranya:
1. Bottom Up
Yaitu strategi yang diawali dari Attribut, jadi kita menganalisis dan mengolah hasil keterhubungan antar attribut, sehingga nantinya akan menghasilkan entitas beserta keterhubungannya. Biasanya sih strategi ini digunakan untuk database yang sederahana😀 , yang memiliki sedikit attribut.

2. Top Down
Top down, yaitu strategi yang dimulai langsung dari entitas nya, jadi mengidentifikasi entitas beserta relasinya, yang nantinya dibutuhkan oleh organisasi yang bersangkutan.

3. Inside Out
Strategi ini hampir sama sih dengan Bottom Up🙂 , cuman bedanya itu ada pada identifikasi pertama dari pembentukan entitas-entitas yang kemudian menyebar dan membentuk attribut yang mengidentifikasikan entitas-entitas yang dibuatnya.

4. Mixed
Strategi ini merupakan pendekatan campuran antara Top Down dengan Bottom Up😀 , biasanya digunakan untuk model-model data yang bervariatif hingga mengkombinasikan semua bagian jadi satu.

3.Pemilihan DBMS (Database Management System)
Tadi diatas udah ane ungkit tentang  DBMS selection, saat kita melakukan pemilihan DBMS, pastinya ditentukan oleh beberapa faktor yaitu :
– Teknik
– Ekonomi
– Politik Organisasi

Oke, Ane bakalan menjelaskan satu per satu mengenai faktor-faktor tersebut🙄 :

1. Faktor Teknik menyangkut:

    • Tipe model data (Hirarki, jaringan dan relasional)
    • Struktur penyimpanan dan jalur pengaksesan yang didukung oleh DBMS.
    •  Tipe interface dari programmer
    • Tipe bahasa Querry

2. Faktor Ekonomi

    • Biaya penyediaan Hardware dan Software pastinya
    • Biaya pembuatan database
    • Biaya personal
    • Biaya pelatihannya
    • Biaya pengoperasian dan pemeliharaan database

3. Faktor Politik Organisasi

    •   Struktur data

Jika data yang disimpan dalam database mengikuti struktur hirarki, maka suatu jenis hirarki dari DBMS harus dipikirkan.

    •  User yang sudah terbiasa dengan sistem suatu sistem

Jika staf programmer dalam suatu organisasi sudah terbiasa dengan suatu DBMS, maka hal ini dapat mengurangi biaya latihan dan waktu belajar.

    • Ketersediaan dari service vendor/layanan penjual

Keberadaan   fasilitas   pelayanan  vendor   sangat   dibutuhkan   untuk   membantu memecahkan beberapa masalah sistem.

4.Perancangan database secara logika (data model mapping)

Oke, Langkah selanjutnya dalam membuat database adalah merancang skema konseptual dan skema eksternalnya dengan menggunakan DBMS. Pada tahap ini, kita melakukan pemetaan terhadap skema konseptual dan skema eksternalnya. Skema konseptual akan ditranformasikan dari model data tingkat tinggi ke model data DBMS.

Ada 2 tahap pemetaan, yaitu sebagai berikut🙄 :
1. Pemetaan System-Independent :
Pemetaan yang tidak tergantung pada sistem, dalam arti pemetaan model ini tidak mempertimbangkan karakteristik yang berlaku pada implementasi DBMS dari model tersebut.

2. Penyesuaian skema DBMS yang spesifik :
Pada tahap ini kita menyelesaikan suatu skema yang dihasilkan dari pemetaan System-independent untuk dikonfirmasikan pada suatu bentuk implementasi yang spesifik terhadap suatu model data yang digunakan.

Hasil dari tahap-tahap diatas akan ditulikan dalam sistem manajemen terpillih dengan menggunakan bahasa DDL. Namun apabila perintah-perintah DDL termasuk dalam parameter-parameter perancangan fisik, maka perintah DDL yang lengkap harus menunggu sampai tahap perancangan database secara fisik dan lengkap.

5.Perancangan database secara fisik
Tahap ini merupakan tahap di mana kita melakukan proses pemilihan struktur penyimpanan yang spesifik dan pengaksesan file-file database untuk mencapai kinerja yang terbaik di bermacam-macam aplikasi.
Selama tahap ini, dirancang spesifikasi-spesifikasi untuk database yang berhubungan dengan struktur-struktur penyimpanan fisik , penempatn record dan jalur akses.
Pada langkah ini kita juga mempertimbangkan beban kerja umum yang diharapkan dapat didukung oleh database kita dan memperbaiki desain database di masa mendatang untuk memastikan terpenuhinya kriteria performa yang kita inginkan.

Berikut adalah kriteria pemilihan secara fisik🙄 :
1. Response Time (Waktu Respon)
Yaitu adalah waktu transaksi database selama eksekusi menerima respon

2.  Space Utility (Penggunaan Ruang Penyimpanan)
Jumlah ruang penyimpanan yang digunakan oleh database file dan struktur jalur pengaksesannya.

3.   Transaction Throughput (Terobosan yang dilakukan file Transaksi)
Merupakan nilai rata-rata transaksi yang didapat di proses permenit oleh sistem database dan merupakan parameter kritis dari sistem transaksi. (Contohnya : digunakan pada pemesanan tiket pesawat, bank, dll).  Hasil dari tahap ini ialah penentuan awal dari struktur penyimpanan dan jalur akses file-file database. Apabila waktu respon dari database ini tidak mencapai optimalisasi, maka pada tahap ini dapat dilakukan denormalisasi.

6.Implementasi sistem database
Nah setelah perancangan fisik dan logika telah selesai dan lengkap, maka sekarang kita dapat melaksanakan sistem database. Perintah-perintah dalam DDL dan SDL (Storage Definition Language) dari DBMS yang dipilih, dihimpun dan digunakan untuk membuat skema database dan file-file database (yang kosong) . Sekarang database tersebut dimuat dengan datanya. Setiap transaksi pada database sekarang harus dilaksanakan oleh para programmer aplikasi.
Spesifikasi secara konseptual diuji dan dihubungkan dengan kode program beserta perintah-perintah dari embedded DML yang telah ditulis.  Jika suatu saat transaksi tersebut  sudah siap dan data juga sudah dimasukkan dalam database, maka fase perancangan dan implementasi telah selesai, dan kemudian fase operasional dari sistem database dimulai.

Namun tak menutup kemungkinan ada kesalahan dalam merancang database (namanya juga manusia… gan!😛 ) dan 10 diantaranya adalah🙄 :

  1. Kurangnya rancangan (design) yang matang
  2. Kurangnya Perencanaan yang matang
  3. Tidak memprediksikan kemungkinan perkembangan bisnis proses
  4. Tidak disertai dengan dokumentasi yang lengkap
  5. Tidak ditest secara menyeluruh, hanya ditest internal saja
  6. Kurang mengindahkan kaidah dan norma dari normalisasi
  7. Penamaan setiap obyek yang dibuat kurang standar
  8. Tidak memanfaatkan fungsi integritas data pada DDL
  9. Tidak memperhatikan constraint yang harus ada pada setiap tabel
  10. Tidak menyediakan backup dari setiap perubahan versi

Baiklah…. sepertinya sudah cukup untuk postingan perancangan desain database, ane juga udah capek😛 hehehe… sebenarnya ane sih gak mudeng-mudeng banget tapi tak ada salahnyakan berbagi, lagiankan juga buat tugas heheha… Jadi mohon maaf segede matahari kalau ane salah, namanya juga usaha… Oke semoga berguna…  Tetap sehat …Tetap semangat… supaya kita tetap bisa jalan-jalan dan makan-makan lagi di wisata kuliner Sampai ketemu di postingan berikutnya!!😆

About Ardea_Gamma

I want to break free !

Posted on 26 April 2012, in Tugas and tagged , . Bookmark the permalink. 4 Komentar.

  1. wah ternyata ga DKV ga interior
    database juga prosesnya panjang
    tapi biar sesuai sama kebutuhan konsumen pengguna database juga ya kan bro😀
    kalau aplikasi pembuatan Database itu apa
    kalau dulu sih diajarin gabungan Visual Basic ama Ms.Access:mrgreen:

    • Iya bro, kan biasanya kalau bikin database gak cocok dari awal sama si klien, bisa-bisa ngulangi dari dasar, kan konsumen adalah raja heheha😀 ane juga dulu diajari Ms.Acces sekarang lagi belajar MySQL, PhpMyAdmin, sama2 masih belajar, maklum ane masih newbie hehe:mrgreen:

  2. makanan sehari2 ane dlu bro diawal2 kul.. ngerancang db nya sih asyik2 aj, nah mumetnya pas pembuatan aplikasinya.. bug mulai mewabah.. DB error, semuanya error..

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: