BAB VII PERANCANGAN SISTEM TERINCI DATABASE - 7 Bab VII Perancangan Database

BAB VII PERANCANGAN SISTEM TERINCI DATABASE

7.1 Perancangan Database

  Sistem informasi berbasiskan komputer terdiri dari komponen-komponen berikut ini :

  • DatabaseDatabase software
  • Aplikasi software
  • Hardware komputer termasuk media penyimpanan
  • Personal yang menggunakan dan mengembangkan sistem

  

Database merupakan komponen dasar dari sebuah sistem informasi dan pengembangan

  serta penggunaannya sebaiknya dipandang dari perspektif kebutuhan organisasi yang lebih besar. Oleh karena itu siklus hidup sebuah sistem informasi organisasi berhubungan dengan siklus hidup sistem database yang mendukungnya. Proses perancangan database merupakan bagian dari siklus hidup database sebagai micro lifecycle.

SIKLUS KEHIDUPAN DATABASE SEBAGAI SIKLUS KEHIDUPAN MIKRO

  Seperti telah disebutkan sebelumnya, sebuah sistem database merupakan komponen dasar sistem informasi organisasi yang lebih besar. Oleh karena itu siklus hidup aplikasi

  

database berhubungan dengan siklus hidup sistem informasi. Langkah-langkah siklus

  hidup aplikasi adalah berikut ini :

Gambar 7.1 Langkah-langkah siklus hidup aplikasi.

  Hal yang penting adalah mengetahui bahwa langkah-langkah siklus hidup aplikasi

  

database dapat tidak berurutan, tetapi melibatkan beberapa langkah pengulangan yang

  biasanya disebut sebagai feedback loop. Sebagai contoh : masalah-masalah yang ditemui selama perancangan database mungkin harus mengumpulkan dan menganalisis kebutuhan-kebutuhan tambahan. Seperti yang digambarkan terdapat feedback loop diantara langkah-langkah yang sering terjadi.

  Perancangan Database

  Pada database yang digunakan oleh single user atau hanya beberapa user saja, perancangan database tidak sulit. Tetapi jika ukuran database yang sedang atau besar (25 - ratusan user yang berisikan jutaan bytes informasi dan melibatkan ratusan query dan program-program aplikasi, contoh : industri-industri, asuransi, hotel, travel, dll yang seluruhnya tergantung pada kesuksesan dari operasi-operasi database-nya), perancangan database menjadi sangat kompleks. Oleh karena itu para pemakai mengharapkan penggunaan database yang sedemikian rupa sehingga sistem harus dapat memenuhi kebutuhan-kebutuhan seluruh user tsb. Tujuan perancangan database : ➢ Untuk memenuhi informasi yang berisikan kebutuhan-kebutuhan user secara khusus dan aplikasi-aplikasinya. ➢ Memudahkan pengertian struktur informasi. ➢ Mendukung kebutuhan-kebutuhan pemrosesan dan beberapa obyek penampilan (response time, processing time, dan storage space).

  Aplikasi database dalam lifecycle

  Siklus kehidupan sistem informasi sering disebut macro life cycle, dimana siklus kehidupan basis data merupakan micro life cycle.

  Aktifitas-aktifitas yang berhubungan dengan database sebagai micro life cycle dan termasuk fase-fasenya sbb :

  1. Database planning : bagaimana langkah-langkah siklus hidup dapat direalisasikan secara lebih efisien dan efektif.

  2. System definition : ruang lingkup database (misal : para pemakai, aplikasi-aplikasinya, dsb.)

  3. Design : perancangan sistem database secara konseptual, logikal dan fisik dilaksanakan

  4. Implementation : proses dari penulisan definisi database secara konseptual, eksternal, dan internal, pembuatan file-file database yang kosong, dan implementasi aplikasi

  software.

  5. Loading atau Data Conversion : database ditempatkan baik secara memanggil data secara langsung ataupun merubah file-file yang ada ke dalam format sistem database dan memangggilnya kembali.

  6. Application Conversion : beberapa aplikasi software dari suatu sistem sebelumnya dikonversikan ke suatu sistem yang baru.

  7. Testing dan Validation : sistem yang baru ditest dan diuji kebenarannya.

  8. Operation : operasi-operasi pada sistem database dan aplikasi-aplikasinya.

  9. Monitoring dan Maintenance : selama fase operasi, sistem secara konstan memonitor aplikasi software dapat terjadi. Modifikasi dan pengaturan kembali database mungkin diperlukan dari waktu ke waktu.

  Langkah 3, 4, dan 5 merupakan bagian dari fase design dan implementation pada siklus kehidupan sistem informasi yang besar. Pada umumnya database pada organisasi menjalani seluruh aktifitas siklus kehidupan di atas. Langkah 5 dan 6 tidak berlaku jika database dan aplikasi-aplikasinya baru.

  

Proses / Tahapan Perancangan Database

  1 Pengumpulan data dan analisis

  1 Tentukan entities (object-object dasar) yang perlu ada di database.

  2 Perancangan database secara konseptual

  2 Tentukan attributes (sifat-sifat) masing - masing entity sesuai kebutuhan database.

  3 Pemilihan DBMS

  3 Tentukan relationships (hubungan - hubungan) di antara entities tersebut.

  4 Perancangan DB secara logika (data model mapping)

  4 Pembuatan ERD.

  5 Perancangan database secara fisik.

  5 Proses normalisasi database.

  6 Implementasi sistem database.

  6 Implementasi database.

Tabel 7.1 Proses / Tahapan Perancangan Database.Gambar 7.2 Fase Perancangan Database.

  Secara khusus ada 2 aktifitas paralel. Aktifitas yang pertama melibatkan perancangan dari isi data dan struktur database, sedangkan aktifitas kedua mengenai perancangan pemrosesan database dan aplikasi-aplikasi perangkat lunak. Dua aktifitas ini saling menjalin, misalnya : kita dapat mengidentifikasikan data item yang akan disimpan dalam database dengan menganalisa aplikasi-aplikasi database. Dua aktifitas ini juga saling mempengaruhi satu sama lain. Contohnya : fase perancangan

  

database secara fisik, pada saat kita memilih struktur penyimpanan dan jalur-jalur akses

  dari file-file database yang tergantung pada aplikasi-aplikasi yang akan menggunakan file- file tsb.

  Di lain pihak, kita biasanya menentukan perancangan aplikasi-aplikasi database dengan mengarah kepada konstruksi skema database yang telah ditentukan selama aktifitas yang pertama. Fase 2 tsb tidak harus diproses berurutan. Pada beberapa hal, rancangan tsb dapat dimodifikasi dari yang pertama dan sementara itu mengerjakan fase yang terakhir perancangan. Fase 1 merupakan kumpulan informasi yang berhubungan dengan penggunaan database.

  Fase 6 merupakan implementasi database-nya. Fase 1 dan 6 kadang-kadang bukan merupakan bagian dari perancangan database, tetapi merupakan bagian dari siklus kehidupan sistem informasi secara umum.

  Inti dari proses perancangan database adalah fase 2, 4, 5.

  Fase 1 : Pengumpulan data dan analisa

  Proses identifikasi dan analisa kebutuhan-kebutuhan data. Pertama-tama harus mengenal bagian-bagian lain dari sistem informasi yang akan berinteraksi dengan sistem

  

database, termasuk para pemakai yang ada dan para pemakai yang baru serta aplikasi-

aplikasinya.

  Aktifitas-aktifitas pengumpulan data dan analisa :

  1. Menentukan kelompok pemakai dan bidang-bidang aplikasinya

  2. Peninjauan dokumentasi yang ada

  3. Analisa lingkungan operasi dan pemrosesan data

  4. Daftar pertanyaan dan wawancara

  Fase 2 : Perancangan database secara konseptual

  Tujuan dari fase ini adalah menghasilkan conceptual schema untuk database yang tergantung pada sebuah DBMS yang spesifik. Sering menggunakan sebuah high-level data model seperti ER/EER model selama fase ini. (harus rinci). Fase perancangan database secara konseptual mempunyai 2 aktifitas paralel :

1. Perancangan skema konseptual

  menguji kebutuhan-kebutuhan data dari suatu database yang merupakan hasil dari fase 1, dan menghasilkan sebuah conceptual database schema pada DBMS independent model data tingkat tinggi seperti EER (enhanced entity relationship) model. Skema ini dapat dihasilkan dengan menggabungkan bermacam-macam kebutuhan user dan secara langsung membuat skema database atau dengan merancang skema- skema yang terpisah dari kebutuhan tiap-tiap user dan kemudian menggabungkan skema-skema tsb. Model data yang digunakan pada perancangan skema konseptual adalah DBMS-independent, dan langkah selanjutnya adalah memilih sebuah DBMS untuk melaksanakan rancangan tersebut.

2. Perancangan transaksi

  Menguji aplikasi-aplikasi database dimana kebutuhan-kebutuhannya telah dianalisa pada fase 1, dan menghasilkan perincian transaksi-transaksi ini. Kegunaan fase ini yang diproses secara paralel bersama fase perancangan skema konseptual adalah untuk merancang karakteristik dari transaksi-transaksi database yang telah diketahui pada suatu DBMS-independent. Transaksi-transaksi ini akan digunakan untuk memproses dan memanipulasi database suatu saat dimana database tersebut dilaksanakan.

  Fase 3 : Pemilihan DBMS

  ditentukan oleh beberapa faktor, diantaranya : faktor teknik, ekonomi, dan politik organisasi. Contoh faktor teknik : keberadaan DBMS dalam menjalankan tugasnya seperti jenis-jenis DBMS (relational, network, hierarchical, dll), struktur penyimpanan, dan jalur akses yang mendukung DBMS, pemakai, dll.

  Faktor-faktor ekonomi dan organisasi yang mempengaruhi satu sama lain dalam pemilihan DBMS :

  1. Struktur data

  2. Personal yang telah terbiasa dengan suatu sistem

  3. Tersedianya layanan penjual

  Fase 4 : Perancangan database secara logika (pemetaan model data)

  Fase selanjutnya dari perancangan database adalah membuat sebuah skema konseptual dan skema eksternal pada model data dari DBMS yang terpilih. Fase ini dilakukan oleh pemetaan skema konseptual dan skema eksternal yang dihasilkan pada fase 2. Pada fase ini, skema konseptual ditransformasikan dari model data tingkat tinggi yang digunakan pada fase 2 ke dalam model data dari DBMS yang dipilih pada fase 3. Pemetaannya dapat diproses dalam 2 tingkat :

  1. Pemetaan system-independent : Pemetaan ke dalam model data DBMS dengan tidak mempertimbangkan karakteristik atau hal-hal yang khusus yang berlaku pada implementasi DBMS dari model data tsb.

  2. Penyesuaian skema ke DBMS yang spesifik : Mengatur skema yang dihasilkan pada langkah 1 untuk disesuaikan pada implementasi yang khusus di masa yang akan datang dari suatu model data yang digunakan pada DBMS yang dipilih.

  Hasil dari fase ini memakai perintah-perintah DDL dalam bahasa DBMS yang dipilih yang menentukan tingkat skema konseptual dan eksternal dari sistem database. Tetapi dalam beberapa hal, perintah-perintah DDL memasukkan parameter-parameter rancangan fisik sehingga DDL yang lengkap harus menunggu sampai fase perancangan database secara fisik telah lengkap. Fase ini dapat dimulai setelah pemilihan sebuah implementasi model data sambil menunggu DBMS yang spesifik yang akan dipilih. Contoh: jika memutuskan untuk menggunakan beberapa relational DBMS tetapi belum memutuskan suatu relasi yang utama. Rancangan dari skema eksternal untuk aplikasi-aplikasi yang spesifik seringkali sudah selesai selama proses ini.

  Fase 5 : Perancangan database secara fisik

  Perancangan database secara fisik merupakan proses pemilihan struktur-struktur penyimpanan dan jalur-jalur akses pada file-file database untuk mencapai penampilan yang terbaik pada bermacam-macam aplikasi. Selama fase ini, dirancang spesifikasi-spesifikasi untuk database yang disimpan yang berhubungan dengan struktur-struktur penyimpanan fisik, penempatan record dan jalur akses. Berhubungan dengan internal schema (pada istilah 3 level arsitektur DBMS). Beberapa petunjuk dalam pemilihan perancangan database secara fisik :

  1. Response time

  Waktu yang telah berlalu dari suatu transaksi database yang diajukan untuk menjalankan suatu tanggapan. Pengaruh utama pada response time adalah di bawah pengawasan DBMS yaitu : waktu akses database untuk data item yang ditunjuk oleh suatu transaksi. Response time juga dipengaruhi oleh beberapa faktor yang tidak berada di bawah pengawasan DBMS, seperti penjadwalan sistem operasi atau penundaan komunikasi.

  2. Space utility

  Jumlah ruang penyimpanan yang digunakan oleh file-file database dan struktur jalur akses.

  3. Transaction throughput

  Rata-rata jumlah transaksi yang dapat diproses per menit oleh sistem database, dan merupakan parameter kritis dari sistem transaksi (misal : digunakan pada pemesanan tempat di pesawat, bank, dll). Hasil dari fase ini adalah penentuan awal dari struktur penyimpanan dan jalur akses untuk file-file database.

  Fase 6 : Implementasi sistem database

  Setelah perancangan secara logika dan secara fisik lengkap, 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 tsb dimuat (disatukan) dengan datanya.

  Jika data harus dirubah dari sistem komputer sebelumnya, perubahan-perubahan yang rutin mungkin diperlukan untuk format ulang datanya yang kemudian dimasukkan ke

  

database yang baru. Transaksi-transaksi database sekarang harus dilaksanakan oleh

para programmer aplikasi.

  Spesifikasi secara konseptual diuji dan dihubungkan dengan kode program dengan perintah-perintah dari embedded DML yang telah ditulis dan diuji. Suatu saat transaksi tsb telah siap dan data telah dimasukkan ke dalam database, maka fase perancangan dan implementasi telah selesai, dan kemudian fase operasional dari sistem database dimulai.

7.1.1 Entity Relationship Diagram (ERD)

  Model Entity Relationship Adalah suatu penyajian data dengan menggunakan Entity dan Relationship.

  ➢ Entity Relationship Diagram (ERD) dibangun berdasarkan persepsi dari dunia nyata. ➢ Mengandung kumpulan dari objek-objek yang disebut entity (entitas) dan hubungan antara objek-objek tersebut.

  ➢ Setiap objek bersifat unik, tampak dari atribut-atribut yang dimilikinya. ➢ Merupakan kelanjutan dari DFD. ➢ Entitas diperoleh dari DFD pada tingkatan terkahir, berdasarkan data store nya. ➢ Hubungan DFD – ERD : data store (pada DFD) => entitas (pada ERD).

  ENTITY ➢ Entity adalah obyek yang dapat dibedakan dalam dunia nyata.

  ➢ Entity set adalah kumpulan dari entity yang sejenis . ➢ Entity set dapat berupa : • Obyek secara fisik : Rumah, Kendaraan, Peralatan .

  • Obyek secara konsep : Pekerjaan , Perusahaan, Rencana.

  ATRIBUT

  ➢ Atribut adalah karakteristik dari entity atau relationship, yang menyediakan penjelasan detail tentang entity atau relationship tersebut. ➢ Nilai Atribut merupakan suatu data aktual atau informasi yang disimpan pada suatu atribut di dalam suatu entity atau relationship.

  Jenis-jenis atribut :

  ➢ Key Atribut yang digunakan untuk menentukan suatu entity secara unik. ➢ Atribut Simple Atribut yang bernilai tunggal. ➢ Atribut Multivalue Atribut yang memiliki sekelompok nilai untuk setiap instan entity.

  Gelar Nama NIP Tgl Lahir PEGAWAI

  ➢ Atribut Composite Suatu atribut yang terdiri dari beberapa atribut yang lebih kecil yang mempunyai arti tertentu.

  Nama Nama Nama Belakang Tengah

  Depan Nama PEGAWAI

  ➢ Atribut Derivatif Suatu atribut yang dihasilkan dari atribut yang lain.

  Umur Tgl Lahir PEGAWAI RELATIONSHIPRelationship adalah hubungan yang terjadi antara satu atau lebih entity.

  ➢ Relationship set adalah kumpulan relationship yang sejenis.

  Pegawai Kerja Proyek RASIO KARDINALITAS Menjelaskan batasan jumlah keterhubungan satu entitas dengan entitas lainnya.

  Jenisnya : ➢ 1 : 1 => satu ke satu ➢ 1 : N => satu ke banyak (sebaliknya) ➢ N : M => banyak ke banyak

  Contoh Hubungan 1 : 1

  1

  1 Pegawai Milik Kendaraan

  • Seorang pegawai memiliki satu kendaraan.
  • Satu kendaraan dimiliki oleh seorang pegawai.

  Contoh Hubungan N : 1 atau1: N N

  1 Pegawai Kerja Departemen

  • Seorang pegawai bekerja pada satu departemen.

  Contoh Hubungan N : N N N

  Pegawai Kerja Proyek

  • Seorang pegawai mengerjakan satu atau lebih proyek.
  • Satu proyek dikerjakan oleh satu atau lebih orang pegawai.

SIMBOL-SIMBOL ENTITY RELATIONSHIP DIAGRAM (ER-DIAGRAM)

  

Notasi Arti

  Entity Weak Entity Relationship Identifying Relationship Atribut Atribut Primary Key Atribut Multivalue Atribut Composite

Gambar 7.3 Symbol-symbol Entity Relationship Diagram (ER-Diagram).

7.1.2 Normalisasi

  Normalisasi merupakan teknik mengoptimalkan perancangan database relasional dan membebaskan dari anomali. Sederhananya, mendekomposisikan tabel ke tabel yang klebih kecil samapi setiap atribut dalam setiap tabel bergantung hanya pada kunci atau kunci dalam tabel.

  Teknik dekomposisikan ini yang disebut bentuk normal (normal form), yang dibahas :

  a. 1 NF

  b. 2 NF

  c. 3 NF ➢ 1 NF Menghilangkan atribut yang berulang atau kelompok atribut dari suatu relasi. Contoh :

  PURCHASE_ORDER PO Order Vendor Vendor Vendor Shipping Billing Order Number date number name address data data total PK ORDER_ITEM Item PO Item Unit of Quality Cost number number description measure PK FK

  ➢ 2 NF Sudah merupakan relasi 1NF dan semua atribut non-key bergantung pada PK. Berarti untuk menghilangkan ketergantungan fungsional parsial. Ketergantungan fungsional parsial terjadi hanya jika ada kombinasi dari key. Contoh : Dari gambar 1NF untk ORDER_ITEM dipecah lagi menjadi :

  ORDER_ITEM Item PO Quality Cost number number PK FK

  ITEM Item number

  a. 4 NF

   Pada file tradisional data pada file A tidak terhubung secara logika ke data di file B.  Selain itu, data di buat, di update dan di akses melalui program individu yang ditulis dalam bahasa pemrograman prosedural (COBOL, RPG, C dll).

  1. Pendekatan sistem file tradisional  Terminologi yang digunakan : file, record, field. File merupakan kumpulan dari record, record merupakan kumpulan dari field.

  Ada 2 pendekatan :

  Sistem Penyimpanan dan Manipulasi Data

  d. DKNF (Domain-key)

  c. BCNF (Boyce-Code)

  b. 5 NF

  PK Beberapa NF yang lain :

  Item description Unit of measure

  Vendor name Vendor address

  VENDOR Vendor number

  PK

  Billing data Order total

  Order date Shipping date

  PURCHASE_ORDER PO number

  Contoh : Dari gambar 1NF untuk PURCHASE_ORDER dipecah ke dalam VENDOR :

  PK ➢ 3 NF Selain sudah merupakan relasi 2NF, juga meghilangkan ketergantungan transitif, yaitu ketergantungan dari atribut non-key terhadap atribut lain kecuali terhadap PK.

   Datanya disimpan pada tape magnetik untuk proses batch sekuensial dan DASD untuk akses indeks sekuensial.

2. Pendekatan DBMS  Terminologi yang digunakan : tabel/relasi, baris dalam tabel, atribut.

   Karakter dari DBMS adalah hubungan antara tabel dan data dlam tabel.  Semua program yang dibuat untuk akses file menggunakan metode akses file dari sistem operasi komputer untuk dibaca dan tulis data.

   Penyimpanan data pada DASD, disk magnetik atau perangkat disk optik.

  Contoh Kasus-1 : Normalisasi pada database perkuliahan. Asumsi : ➔ Seorang mahasiswa dapat mengambil beberapa mata kuliah.

  ➔ Satu mata kuliah dapat diambil oleh lebih dari satu mahasiswa. ➔ Satu mata kuliah hanya diajarkan oleh satu dosen. ➔ Satu dosen dapat mengajar beberapa mata kuliah. ➔ Seorang mahasiswa pada mata kuliah tertentu hanya mempunyai satu nilai.

  Tabel MAHASISWA-1 ( Unnormal ) Tabel MAHASISWA-2 ( 1NF )

  Diagram Ketergantungan Fungsional Tabel KULIAH (2NF) Tabel MAHASISWA-3 (3NF) Tabel NILAI (3NF)

  Tabel MATAKULIAH (3NF) Tabel DOSEN (3NF)

  Contoh Kasus-2 :

  Rancanglah ERD dari Kasus Sistem Informasi Personil POLDA XYZ ! (lihat contoh kasus 1..!).

  Personil , Tugas dan

  ✔ Berdasarkan jawab dari kasus 2, diperoleh data store nya yaitu Kasus. ✔ Data store tersebut merupakan entitas pada ERD. ✔ Sehingga diperoleh 3 entitas yakni Personil , Tugas dan Kasus, dengan ERD sebagai berikut :

  Krbn K.Kss

  

Kasus

Tgl.K

  N.Kss M Hasil Tkp N

  1 Kerja Personil Tugas NRP N.SK K.Sat

  

Nama Tgl Sat

T.Lhr Loks Lama

7.2 Hubungan DFD, ERD dan Normalisasi

  Salah satu pendekatan dalam perancangan system secara konseptual adalah menggunakan model DFD dan ERD. Kedua model tersebut saling terkait. Model ERD diperoleh setelah kita membuat model DFD dari suatu kasus. Penyajian kedua model tersebut menggunakan simbol-simbol yang standar. Dengan demikian kita bisa memperoleh gambaran dari proses pengolahan data suatu kasus secara sederhana dan komprehensif serta terintegrasi.

  Referensi : 1. M. Zulkarnain. 2010. "Bahan Ajar : Pengantar Teknologi Informasi". Solo.

  2. http://fenni.staff.gunadarma.ac.id/Downloads/files/7728/PerancanganSistemTerinci Database.pdf.

  3. http://iaprima.staff.gunadarma.ac.id/Downloads/files/.../Bahasan9a_ERD.pdf.

  4. http://iwayan.info/Lecture/DBaseLanjut.../transpM2%20-%20DB design.doc.

  5. http://upi-yptk.ac.id/download//meet3.ppt.

  6. http://widyo.staff.gunadarma.ac.id/Downloads/files/.../KULIAH_KE_12b.ppt.

SOAL LATIHAN

  1. Sebutkan tujuan perancangan database !

  2. Sebutkan 6 fase proses perancangan database !

  3. Sebutkan dan jelaskan konsep entity, atribut dan relationship !

  4. Jelaskan apa yang dimaksud dengan normalisasi pada tabel dan sebutkan ada berapa teknik normalisasi (normal form) yang Anda ketahui ?

  5. Bagaimana hubungan antara DFD, ERD dan Normalisasi ?