DESAIN DATABASE (MODEL RELASIONAL DAN DESKRIPSI ATRIBUT) 4.1. Tujuan desain database. Basis data (database) merupakan kumpulan dari data yang saling berhubungan satu dengan yang lainnya, tersimpan di simpanan luar komputer dan digunakan perangkat lunak tertentu untuk memanipulasinya. Database merupakan salah satu komponen yang penting di sistem informasi, karena berfungsi sebagai basis penyedia informasi bagi para pemakainya. Penerapa database dalam sistem informasi disebut dengan database system. Sistem basis data (database system) ini adalah suatu sistem informasi yang mengintegrasikan kumpulan dari data yang saling berhubungan satu dengan lainnya dan membuatnya tersedia untuk beberapa aplikasi yang bermacam-macam di dalam suatu organisasi. Tujuan dari desain database adalah untuk menentukan data-data yang dibutuhkan dalam sistem, sehingga informasi yang dihasilkan dapat terpenuhi dengan baik. Terdapat beberapa alasan mengapa desain database perlu untuk dilakukan, salah satu adalah untuk menghindari pengulangan data. Adapun metode untuk meminimasi pengulangan data (data redudancy) antara lain dengan : a. Normalisasi. b. Dekomposisi lossless. Diperlukan jika ada indikasi bahwa tabel yang kita buat tidak baik (terjadi pengulangan informasi, potensi inkonsistensi data pada operasi pengubahan, tersembunyinya informasi tertentu) dan diperlukan supaya jika tabel-tabel yang didekomposisi kita gabungkan kembali dapat menghasilkan tabel awal sebelum didekomposisi, sehingga diperoleh tabel yang baik. c. ERD (Entity Relationship Diagram). d. Menentukan kardinalitas relasi. Terdapat beberapa pengertian tentang key sehubungan dengan normalisasi dan ERD, antara lain : a. Superkey adalah gugus dari sejumlah atribut entiti yang dapat digunakan untuk mengidentifikasi obyek secara unik. b. Candidate key adalah superkey dengan jumlah atribut minimal dan dapat berdiri sendiri. c. Primary key adalah superkey yang dipilih oleh desainer atau administrator basis data.
4.2. Normalisasi. Adalah proses yang berkaitan dengan model data relational untuk mengorganisasi himpunan data dengan ketergantungan dan keterkaitan yang tinggi atau erat. Hasil dari proses normalisasi adalah himpunanhimpunan
data dalam bentuk normal (normal form). yaitu : a. Bentuk Normal I (First Normal Form / b. Bentuk Normal II (Second Normal Form c. Bentuk Normal III (Third Normal Form d. Bentuk Normal IV (Fourth Normal Form e. Bentuk Normal Boyce-Codd (Boyce-Codd f. Project-Join Normal I Form (PJNF). g. Domain-Key Normal I Form (DKNF). h. Bentuk Normal V (Fifth Normal Form /
Ada beberapa bentuk normal, 1-NF). / 2-NF). / 3-NF). / 4-NF). Normal Form / BCNF).
5-NF).
Kegunaan normalisasi : a. Meminimasi pengulangan informasi. b. Memudahkan indentifikasi entiti / obyek.
4.3. Bentuk Normal I (First Normal Form / 1-NF). Suatu relasi memenuhi 1-NF jika dan hanya jika setiap atribut dari relasi tersebut hanya memiliki nilai tunggal dalam satu baris atau record.
Tabel 4.1 : Bentuk tidak Unnormalized Form (Non 1-NF table)
Tabel 4.2 : Bentuk 1-NF table
4.4. Bentuk Normal II (Second Normal Form / 2-NF). Suatu relasi memenuhi 2-NF jika dan hanya jika : a. Memenuhi 1-NF. b. Setiap atribut yang bukan kunci utama tergantung secara fungsional terhadap semua atribut kunci dan bukan hanya sebagian atribut. Jika suatu relasi memenuhi 1-NF dan relasi tersebut memiliki tepat satu atribut yang membentuk kunci utama, maka relasi tersebut memenuhi 2-NF.
Rasionalisasi 2-NF : a. Memiliki semantik yang lebih eksplisit dari 1-NF. b. Mencegah beberapa kondisi anomali dalam update data.
Tabel 4.3 : Bentuk 2-NF table (satisfying 1-NF).
Ketergantungan fungsional dilakukan untuk : a. StudentID => Student, BirthDate (SC1). b. CourseID => Course, Credit (SC2). c. StudentID, CourseID => Grade (SC3, SC3A). d. Grade => Weight (SC3B).
Tabel 4.4 : Tabel yang memenuhi 2-NF.
Tabel 4.5 : Tabel yang memenuhi 3-NF.
Akhirnya semua tabel SC1, SC2, SC3A, SC3B berada dalam kondisi sehingga semua databases mengalami kondisi 3-NF.
3-NF,
4.5. Bentuk Normal III (Third Normal Form / 1-NF). Suatu relasi memenuhi bentuk III (3-NF) jika dan hanya jika : a. Relasi tersebut memenuhi 2-NF. b. Setiap atribut bukan kunci tidak tergantung secara fungsional kepada atribut bukan kunci yang lain dalam relasi tersebut. Suatu relasi yang memenuhi 2-Nf dan hanya memiliki satu atribut bukan kunci selalu memenuhi 3-NF.
4.6. Bentuk Normal Boyce-Codd (Boyce-Codd Normal Form / BCNF). Suatu relasi memenuhi BCNF jika dan hanya jika setiap determinan yang ada pada relasi tersebut adalah kunci kandidat (candidate keys). Determinan adalah gugus atribut dimanaa satu atau lebih atribut lain tergantung secara fungsional.
4.7. Model Hubungan atau Relasi Entiti Realtionship (E-R) Model).
(Entity
Model relasi entiti didasarkan pada persepsi dunia nyata yang terdiri dari himpunan obyek dasar yang disebut entiti dan relasi antar entiti.
Entiti adalah obyek yang dapat diidentifikasi secara unik. Entiti dikarakterisasi dan dipresentasikan dengan suatu gugus atribut. Contoh gugus atribut dari entiti PEKERJA adalah nama, tanggal lahir, NIP, golongan/pangkat. Sekelompok entiti yang memiliki karakterisasi entiti disebut gugus entiti (entity set). Setiap entiti dari gugus tersebut disebut anggota gugus (member of set). Contoh gugus entiti adalah gugus entiti pegawai bank, gugus entiti nasabah bank. Dari beberapa gugus tadi mungkin terjadi suatu relasi, misalnya relasi antara gugus bank dengan gugus nasabah bank. Berdasarkan jumlah gugus yang terlibat maka relasi antar entiti dibedakan menjadi : a. Relasi biner (binary), yaitu relasi antar 2 gugus entiti. b. Relasi trio (ternary), yaitu relasi antar 3 gugus entiti. c. Relasi N-ary, yaitu relasi antar n gugus entiti. Khusus untuk relasi biner maka relasi antar anggota dari dua gugus yang terlibat (kardinalitas relasi biner) dapat bersifat : a. Relasi 1-1 (one-to-one relationship). Adalah satu entiti anggota gugus diasosiasikan dengan tepat satu entiti anggota gugus yang lain.
b. Relasi 1-banyak (one-to-many relationship). Adalah satu entiti anggota gugus diasosiasikan dengan satu atau lebih entiti anggota gugus yang lain. Sebaliknya satu entiti anggota gugus yang lain tersebut diasosiasikan dengan tepat satu entiti anggota gugus pasangannya.
c. Relasi banyak-1 (many-to-one relationship). Adalah satu entiti anggota gugus diasosiasikan dengan satu atau lebih entiti anggota gugus yang lain dan berlaku pula sebaliknya.
4.8. Menterjemahkan ERD ke Tabel
4.9. Tipe file. Database dibentuk dari kumpulan file. File di dalam pemrosesan aplikasi dapat dikategorikan ke dalam beberapa tipe, diantaranya yaitu sebagai berikut : 1. File induk (master file). Didalam aplikasi, file ini merupakan file yang penting. File ini tetap terus ada selama hidup dari sistem informasi. File induk dapat dibedakan lagi menjadi : a. File induk acuan (reference master file), yaitu file induk yang recordnya relatif statis, jarang berubah nilainya. Contoh dari file ini adalah file daftar gaji, file daftar matakuliah.
2.
3.
4.
5.
6.
b. File induk dinamik (dynamic master file), yaitu file induk yang nilai dari record-recordnya sering berubah atau sering dimutakhirkan (updated) sebagai akibat dari suatu transaksi. Contoh file ini adalah file induk persediaan, file induk langganan dan lain sebagainya. File transaksi (transaction file). File transaksi disebut juga dengan nama file input (input file). File ini digunakan untuk merekam data hasil dari suatu transaksi yang terjadi. Misalnya nilai unit suatu barang dapat diketahui dari file induk persediaan. File induk ini hanya menunjukkan status unit akhir dari barang yang dimaksud. Sedang uni akhir ini berasal dari transaksi-transaksi yang pernah terjadi. Untuk melihat transaksitransaksi yang mempengaruhi nilai di file induk, maka dapat dilihat pada file transaksinya. Contoh file transaksi yang lain adalah file transaksi penjualan yang berisi data tentang transaksi penjualan yang terjadi. Biasanya file transaksi memuat rekaman tanggal dari transaksinya yang menunjukkan kapan transaksi tersebut terjadi. File laporan (report file). File ini disebut juga dengan file output (output file), yaitu file yang berisi dengan informasi yang akan ditampilkan. File ini dibuat untuk mempersiapkan pembuatan suatu laporan dan biasanya dilakukan bila printer belum siap atau masih digunakan oleh proses yang lain. File sejarah (history file). File sejarah dibuat judan dengan file arsip (archival file), yaitu file yang berisi dengan data masa lalu yang sudah tidak aktif lagi, tetapi perlu disimpan untuk keperluan mendatang. File pelindung (backup file). File pelindung merupakan salinan dari file-file yang masih aktif di database pada suatu saat tertentu. File ini digunakan sebagai cadangan atau pelindung bila file database yang aktif rusak atau hilang. File kerja (working file). File kerja disebut juga dengan nama file sementara (temprorary file) atau scratch file. File ini dibuat oleh suatu proses program secara sementara karena memori komputer tidak mecukupi atau untuk menghemat pemakaian memori selama proses dan akan dihapus bila proses telah selesai.
4.10. Tipe Data. Tipe Data Character (Visual dBASE) Char (SQL)
Keterangan Menyatakan tipe data untuk menyimpan deretan karakter seperti nama orang atau nama mobil
Text (Access) Alpha (Paradox) Memo (Access dan Visual dBASE) Text (PostgresSQL)
Untuk menyimpan deretan karakter dengan ukuran yang besar (melebihi 256 karakter)
Number (Access) Numeric (Visual dBASE) Date/Time (Access) Date (Visual dBASE) Date (PostgresSQL) Time (PostgresSQL) Currency (Access) Money (Paradox) Yes/No (Access) Logical (Visual dBASE) Bool (PostgresSQL) OLE (Visual dBASE) OLE Object (Access) Binary (Visual dBASE) Graphics (Paradox) Hyperlink (Access)
Untuk menyimpan data bilangan Untuk menyimpan data jam dan tanggal Untuk menyimpan tanggal
Untuk menyimpan data jam Untuk menyimpan data uang Untuk menyimpan data logika (benar atau salah)
Untuk menyimpan OLE. Dapat berupa objek seperti gambar atau bahkan suara Untuk menyimpan data gambar atau suara Untuk menyimpan data gambar Untuk menyimpan data hyperlink
4.11. Akses dan organisasi file. Akses file (access file) adalah suatu metode yang menunjukkan bagaimana suatu program komputer akan membaca record-record dari suatu file. File dapat diakses dengan dua cara yaitu secara urut (sequential access) atau secara langsung (direct access atau random access). Metode akses urut (sequential access method) dilakukan dengan membaca atau menulis suatu record di file dengan membaca terlebih dahulu mulai dari record pertama, urut sampai dengan record yang diinginkan. Metode akses langsung (direct access method) dilakukan dengan cara langung membaca record pada posisinya di file tanpa membaca dari record pertama terlebih dahulu. Organisasi file adalah pengaturan dari record secara logika didalam file dihubungkan satu dengan yang lainnya. File dapat diorganisasikan secara urut (sequential organization) atau secara acak (random organization). Walaupun organisasi file dan pengaksesan file dapat dipandang secara terpisah, tetapi biasanya pembahasan mengenai organisasi file menyangkut keduanya, yaitu sebagai berikut : a. File urut (sequential file) merupakan file dengan organisasi urut (sequential organization) dengan pengaksesan secara urut (sequential
access). b. File urut berindeks (indexed sequential file) atau sering disebut dengan ISAM (indexed sequential access method) merupakan file dengan organisasi urut (sequential organization) dengan pengaksesan secara langsung (direct access). c. File akses langsung (direct access file) atau disebut dengan file alamat langsung (direct address file) merupakan file dengan organisasi acak random organization) dengan pengaksesan langsung (direct access). Organisasi file seperti ini disebut dengan organisasi file tradisional atau konvensional, karena telah ada sebelum struktur database dikembangkan. Organisasi file database dapat berbentuk struktur data berjenjang (hierarchical data structure), struktur data jaringa (network data structure) dan struktur data hubungan (relational data structure). Struktur data hubungan merupakan organisasi file database yang terbaru dan mudah dipahami. Struktur data hubungan mempunyai karakteristik sebagai berikut : a. File dalam bentuk tabel yang persis dengan file urut. b. Hubungan antara record didasarkan pada nilai dari field kunci, bukan berdasarkan alamat atau pointer. Struktur data hubungan makin banyak digunakan pada paket-paket DBMS, seperti misalnya Dbase, Foxbase, Sql dan sebagainya.
4.12. Langkah-langkah desain database. Untuk tahap desain database yang perlu dilakukan adalah mengidentifikasi terlebih dahulu file-file yang diperlukan dalam sistem informasi yang dibangun. File-fila database yang dibutuhkan oleh sistem dapat dilihat pada desain model yang digambarkan dalam bentuk diagram arus data (DFD). Langkah-langkah desain database secara umum adalah sebagai berikut : a. Menentukan kebutuhan file database untuk sistem yang baru. File yang dibutuhkan dapat ditentukan dari DAD sistem baru yang telah dibuat. b. Menentukan parameter daru file database. Setelah file-file yang dibutuhkan telah dapat ditentukan, maka parameter dari file selanjutnya juga dapat ditentukan. Parameter tersebut, meliputi: · Tipe dari file : file induk, file transaksi, file sementara(temporary). · Media dari file : hardisk, disket, pita magnetik, CD. · Organisasi dari file : fila sequential, random, berindek. · Field kunci dari file. Analis sistem dapat menggunakan formulir berikut untuk mengidentifikasi file database yang akan didesain, sebagai berikut :
Tabel 4.6 : Tabel identifikasi kebutuhan file.
Tabel 4.7 : Tabel identifikasi atribut (field) dalam sebuah file.
Daftar Pustaka
1. Fathansyah, Ir, Basis Data, Penerbit Informatika, Bandung, 1995. 2. HM, Jogiyanto, Analysis and Disain Sistem Informasi (Pendekatan terstruktur), Penerbit Andi Offset, Yogyakarta, 1995. 3. Martin, Merle P., Analysis and Design of Business Information System, Macmillan Publishing Company, New York, 1991. 4. Pohan, Husni Iskandar, Pengantar Perancangan Sistem, Penerbit Erlangga, Jakarta, 1997.