PERANCANGAN DATABASE 04/07/2012 11:53 Konsep Dasar Database ¾ Database (basis data) : sistem penyimpanan beragam jenis data dalam sebuah entitas yang besar untuk diolah sedemikian rupa agar mudah dipergunakan p g kembali. ¾ Dengan menggunakan komputer, konsep pengolahan l h d database t b ttradisional di i ld dapatt di diotomasi t i sehingga memudahkan pekerjaan. ¾ Data yang disimpan bisa sangat variatif (angka, teks, gambar, suara, dan jenis data multi-media lainnya). 04/07/2012 11:53 DataBase Relasional Aplikasi manajemen database mengenal dua macam bentuk database: 1. 2. flat-file : semua record tersimpan dalam satu tabel; database relasional : memiliki banyak tabel yang saling terkait dengan sebuah unsur data yg berfungsi terkait, sebagai pengait (disebut primary key). Dengan semakin banyaknya data yang dikelola dikelola, hampir tidak mungkin bahwa semua rekaman (record) disimpan dalau satu tabel. Manfaat database relasional adalah membuat sistem pengolahan data menjadi lebih efisien dan tabel data dapat dipilahkan dengan kategori yang berbeda. Fungsi primary key sangat penting dalam menemukan relasi dan logika kaitan antar tabel. 04/07/2012 11:53 Perancangan Database Merancang database merupakan hal yang sangat penting. Kendala utama dalam merancang database adalah bagaimana merancang sehingga database dapat memuaskan keperluan saat ini dan masa yang akan datang. Perancangan model konseptual perlu dilakukan disamping perancangan model p phisik. Pada perancangan konseptual akan menunjukkan entity dan relasinya berdasarkan proses yang diinginkan oleh organisasi. Ketika menentukan entity dan relasinya dibutuhkan analisa data tentang informasi yang ada dalam spesifikasi di masa yang akan datang. Pada pendekatan model konseptual, beberapa konsep pendekatan relational digunakan, p g , namun tidak berarti konsep p ini nantinya diimplementasikan ke model relational saja tetapi dapat juga dipakai pada model hierarchical dan model network. 04/07/2012 11:53 Merancang Model Konseptual Database Tugas database administrator adalah merancang model konseptual database. Model konseptual bukanlah pendekatan proses informasi seorang programmer aplikasi, tetapi merupakan p cara untuk memproses p data untuk beberapa p kombinasi beberapa aplikasi. Model konseptual tidak tergantung pada aplikasi individual, tidak tergantung pada DBMS yang digunakan, digunakan tidak tergantung pada hardware yang digunakan serta juga tidak tergantung pada phisikal model. Pada perancangan model konseptual penekanan tinjauan dilakukan pada struktur data dan relasi antar file. Tidak terlalu perlu memperhatikan terapan dan operasi yang akan dilakukan pada d database. d t b P d k t Pendekatan yang dilakukan dil k k pada d perancangan model konseptual adalah menggunakan model data relational. Terdapat dua teknik yaitu: 1. Teknik Normalisasi 2. Teknik Entity Relationship 04/07/2012 11:53 Teknik Normalisasi Proses normalisasi merupakan proses pengelompokan data elemen menjadi tabel-tabel yang menunjukkan entity dan relasinya. Pada proses normalisasi selalu diuji pada beberapa kondisi. Apakah ada kesulitan padaa saat menambah (insert), menghapus (d l t ) mengubah (delete), b h (update), ( d t ) membaca b ( ti (retrieve) ) pada d suatu t database. Bila terdapat kesulitan pada pengujian tersebut maka relasi tersebut dipecah pada beberapa tabel lagi atau dengan kata lain perancangan belumlah mendapat database yang optimal. Beberapa konsep yang perlu diketahui terlebih dahulu yaitu: 1. 2. 3. Field / Atribut kunci Kebergantungan fungsi (Functional dependency) Anomali 04/07/2012 11:53 Field / Atribut Kunci Setiap entity selalu terdapat kunci dari entity berupa satu field atau satu set field yang dapat mewakili record. Misalnya Nomor pegawai p g merupakan p kunci dari tabel p pegawai, g setiap pp pencarian cukup dengan menyebut nomor pegawai tersebut maka dapat diketahui nama, alamat dan atribut lainnya mengenai seorang pegawai tersebut. 1. Candidate key (Kunci kandidat / calon) adalah satu atribut atau satu set minimal atribut yang mengidentifikasikan id tifik ik secara unik ik suatu t kejadian k j di spesifik ifik dari d i entity. satu minimal set dari atribut menyatakan secara tidak l langsung di dimana kit tidak kita tid k dapat d t membuang b b b beberapa atribut dalam set tanpa merusak kepemilikan yang unik. jika satu kunci kandidat berisi lebih dari satu atribut, maka biasanya disebut sebagai composite key (kunci campuran / gabungan) 04/07/2012 11:53 Contoh: Entity pegawai berisi atribut: No Induk No KTP Nama Tempat Lahir Tanggal Lahir Alamat Kota Kunci kandidat disini adalah: No Induk, karena unik tidak mungkin ganda No KTP, karena unik tidak mungkin ganda Nama, sering dipakai sebagai kunci pencarian namun tidak dapat dikatakan kunci karena sering seseorang punya nama yang sama Nama + Tanggal Lahir, dapat dipakai sebagai kunci karena kemungkinan sangat kecil seseorang punya nama yang sama yang lahir pada hari yang sama. Alamat, Kota, bukan kunci 04/07/2012 11:53 2. Primary y Key y ((Kunci Primer)) adalah satu atribut atau satu set minimal atribut yang tidak hanya mengidentifikasi secara unik suatu kejadian spesific, p dapat p jjuga g mewakili setiap p kejadian j dari suatu entity. y tetapi setiap kunci kandidat punya peluang menjadi primary key, tetapi sebaiknya dipilih satu saja yang dapat mewakili secara menyeluruh terhadap entity yang ada. Contoh No Induk, No KTP 3. Alternate Key (Kunci Alternatif) adalah kunci kandidat yang tidak dipakai sebagai primary key. Kerap kali kunci alternatif ini dipakai sebagai kunci pengurutan t dalam d l l laporan, misalnya i l N Nama P Pegawai i 04/07/2012 11:53 4. Foreign Key (Kunci Tamu) adalah satu atribut yang melengkapi satu relationship (hubungan) yang menunjukkan ke induknya induknya. Kunci tamu ditempatkan pada entity anak dan sama dengan kunci primer induk direlasikan. Hubungan one to many Contoh Entity transaksi gaji bulanan no induk nomor bukti tanggal jumlah gaji kotor jumlah potongan jumlah gaji bersih jumlah pajak Kunci tamu (Foreign Key) no induk, karena atribut ini berhubungan dengan entity pegawai Kunci primer nomor bukti, karena unik dan mewakili entity. 04/07/2012 11:53 Dalam hubungan dua buah entity yang memiliki relationship many to many, maka terdapat 2 buah kunci tamu pada entity konektornya contoh: konektornya. File proyek nomor proyek tgl mulai tgl selesai anggaran gg File Pegawai no induk nama Hubungan antara file tersebut adalah many to many, karena satu pegawai mengerjakan lebih dari satu proyek dan satu proyek dik j k dikerjakan oleh l h beberapa b b pegawai. i Entity E tit konektor k kt akan k b i i berisi kunci tamu dari kedua file. File proyek nomor proyek no induk jam kerja 04/07/2012 11:53 Kebergantungan Fungsi ((Functional Dependency) p y) Pada tabel pegawai berisi atribut: No Induk No KTP Nama Tempat Lahir Tanggal Lahir Alamat Kota Isi atribut nama bergantung pada No induk. Jadi dapat dikatakan bahwa atribut nama bergantung secara fungsi pada No Induk dan No Induk menunjukkan secara fungsi Nama. Nama Jika kita mengetahui No Induk Pegawai, maka kita dapat meengetahui juga Nama Pegawai tersebut. 04/07/2012 11:53 Contoh Aplikasi Database Pertanian sumber : http://aplikasi.deptan.go.id/bdsp/index.asp 04/07/2012 11:53 04/07/2012 11:53 04/07/2012 11:53 04/07/2012 11:53 04/07/2012 11:53 04/07/2012 11:53 04/07/2012 11:53 04/07/2012 11:53 04/07/2012 11:53 04/07/2012 11:53 04/07/2012 11:53 http://katam.info/ 04/07/2012 11:53 04/07/2012 11:53