Modul Basisdata

82
1 PENGANTAR BASIS DATA 1.1 Sejarah Kemunculan Basis data Sistem pemrosesan basis data terbentuk setelah masa sistem pemrosesan manual dan sistem pemrosesan berkas. Sistem pemrosesan manual (berbasis kertas) merupakan bentuk pemrosesan yang menggunakan dasar berupa setumpuk rekaman yang disimpan pada rak-rak berkas. Jika suatu berkas diperlukan, berkas tersebut harus dicari pada rak-rak tersebut. Contoh lain adalah buku telpon saku dimana seseorang relatif mudah mencari nama-nama rekannya karena data telah disusun secara alfabet. Namun demikian kemudahan seperti ini kurang luwes. Data tidak bisa diurutkan menurut kata atau nomor telpon. Jika hal tersebut dikehendaki, tidak ada cara lain selain dengan menuliskannya kembali, dan tentu saja ini tidak praktis. Pada awal penerapan sistem komputer, sekelompok rekaman disimpan pada sejumlah berkas secara terpisah. Sistem yang menggunakan pendekatan seperti ini disebut sebagai sistem pemrosesan berkas. Sistem ini tentu saja memiliki kelebihan daripada sistem pemrosesan manual, yaitu dalam hal kecepatan keakuratannya. Kelemahannya, perancangan sistem masih didasarkan pada kebutuhan individu pengguna, bukan kebutuhan sejumlah pengguna. Setiap kali ada kebutuhan baru dari seorang pengguna, kebutuhan segera diterjemahkan ke program komputer. Hasilnya, setiap program aplikasi menuliskan data sendiri. Sementara itu ada kemungkinan data yang sama juga terdapat pada berkas-berkas lain yang digunakan oleh program aplikasi lain. Kongkretnya, sistem pemrosesan berkas memiliki kekurangan dalam hal : 1. Kemubaziran atau duplikasi data, diakibatkan oleh karena setiap program aplikasi menggunakan data sendiri (sebagaimana telah dijabarkan diatas). 2. Keterbatasan data, terjadi karena suatu data yang tidak dapat dipakai oleh beberapa program aplikasi ataupun sejumlah orang. 3. Ketidakkonsistenan dan kurangnya integritas data. Ketidakkonsistenan data diakibatkan karena perubahan terhadap data yang sama tetapi tidak semuanya diubah. Sedangkan kurangnya integritas data berarti kurangnya kevalidan terhadap data tersebut. 4. Ketidakluwesan, terjadi karena kurang sensitifnya program aplikasi terhadap pengembangan dan perubahan data. 1.2 Evolusi Teknologi Basisdata Perkembangan teknologi basis data tidak lepas dari perkembangan perangkat keras dan perangkat lunak. Perkembangan teknologi jaringan komputer dan komunikasi data merupakan salah satu penyumbang kemajuan penerapan basis data, yang kemudian melahirkan sistem basis data terdistribusi. Dampak perkembangan ini tentu saja dapat dirasakan dalam kehidupan sehari-hari, seperti kemudahan untuk mengambil uang dengan fasilitas ATM yang banyak diterapkan pada perbankan di Indonesia. Perkembangan pada dunia perangkat lunak, seperti kecerdasan buatan, sistem pakar dan pemrograman berorientasi objek juga mempengaruhi perkembangan basis data berorientasi objek dan basis data cerdas. Tabel dibawah ini memperlihatkan evolusi perkembangan teknologi basis data. 1

description

ini adalah modul basis data

Transcript of Modul Basisdata

  • 1

    PENGANTAR BASIS DATA

    1.1 Sejarah Kemunculan Basis data Sistem pemrosesan basis data terbentuk setelah masa sistem pemrosesan manual dan sistem pemrosesan berkas. Sistem pemrosesan manual (berbasis kertas) merupakan bentuk pemrosesan yang menggunakan dasar berupa setumpuk rekaman yang disimpan pada rak-rak berkas. Jika suatu berkas diperlukan, berkas tersebut harus dicari pada rak-rak tersebut. Contoh lain adalah buku telpon saku dimana seseorang relatif mudah mencari nama-nama rekannya karena data telah disusun secara alfabet. Namun demikian kemudahan seperti ini kurang luwes. Data tidak bisa diurutkan menurut kata atau nomor telpon. Jika hal tersebut dikehendaki, tidak ada cara lain selain dengan menuliskannya kembali, dan tentu saja ini tidak praktis. Pada awal penerapan sistem komputer, sekelompok rekaman disimpan pada sejumlah berkas secara terpisah. Sistem yang menggunakan pendekatan seperti ini disebut sebagai sistem pemrosesan berkas. Sistem ini tentu saja memiliki kelebihan daripada sistem pemrosesan manual, yaitu dalam hal kecepatan keakuratannya. Kelemahannya, perancangan sistem masih didasarkan pada kebutuhan individu pengguna, bukan kebutuhan sejumlah pengguna. Setiap kali ada kebutuhan baru dari seorang pengguna, kebutuhan segera diterjemahkan ke program komputer. Hasilnya, setiap program aplikasi menuliskan data sendiri. Sementara itu ada kemungkinan data yang sama juga terdapat pada berkas-berkas lain yang digunakan oleh program aplikasi lain. Kongkretnya, sistem pemrosesan berkas memiliki kekurangan dalam hal :

    1. Kemubaziran atau duplikasi data, diakibatkan oleh karena setiap program aplikasi menggunakan data sendiri (sebagaimana telah dijabarkan diatas).

    2. Keterbatasan data, terjadi karena suatu data yang tidak dapat dipakai oleh beberapa program aplikasi ataupun sejumlah orang.

    3. Ketidakkonsistenan dan kurangnya integritas data. Ketidakkonsistenan data diakibatkan karena perubahan terhadap data yang sama tetapi tidak semuanya diubah. Sedangkan kurangnya integritas data berarti kurangnya kevalidan terhadap data tersebut.

    4. Ketidakluwesan, terjadi karena kurang sensitifnya program aplikasi terhadap pengembangan dan perubahan data.

    1.2 Evolusi Teknologi Basisdata Perkembangan teknologi basis data tidak lepas dari perkembangan perangkat keras dan perangkat lunak. Perkembangan teknologi jaringan komputer dan komunikasi data merupakan salah satu penyumbang kemajuan penerapan basis data, yang kemudian melahirkan sistem basis data terdistribusi. Dampak perkembangan ini tentu saja dapat dirasakan dalam kehidupan sehari-hari, seperti kemudahan untuk mengambil uang dengan fasilitas ATM yang banyak diterapkan pada perbankan di Indonesia. Perkembangan pada dunia perangkat lunak, seperti kecerdasan buatan, sistem pakar dan pemrograman berorientasi objek juga mempengaruhi perkembangan basis data berorientasi objek dan basis data cerdas. Tabel dibawah ini memperlihatkan evolusi perkembangan teknologi basis data.

    1

  • 2

    Tabel 1.1 Evolusi Teknologi Basis Data

    MASA PERKEMBANGAN BASIS DATA

    1960-an Sistem pemrosesan berkas, DBMS, layanan informasi secara online berbasis manajemen teks.

    1970-an Penerapan sistem pakar pada sistem pendukung keputusan, basis data berorientasi objek.

    1980-an Sistem hypertext, yang memungkinkan untuk melihat basis data secara acak menurut suatu kata kunci (sebagaimana yang diterapkan pada internet)

    1990-an Sistem basis data cerdas dan sistem basis data multimedia cerdas

    1.3 Data dan Informasi Data adalah representasi fakta dunia nyata mengenai objek seperti manusia, barang, hewan, peristiwa, konsep, keadaan dan sebagainya, dan biasanya dinyatakan dalam angka, huruf, simbol, teks, gambar, bunyi atau kombinasinya. Sedangkan Informasi adalah hasil analisis terhadap data, dengan kata lain informasi merupakan data yang diorganisasikan dalam bentuk yang sesuai dengan kebutuhan seseorang. Dapat dikatakan juga bahwa data dipergunakan untuk menyatakan nilai-nilai yang secara aktual terkandung dalam basis data sedangkan informasi digunakan untuk menyatakan makna nilai tersebut.

    1.4 Pengertian Basis data dan Sistem Basis data Basis data dapat didefinsikan melalui beberapa sudut pandang :

    1. Kelompok data (arsip) yang saling berhubungan, yang diorganisasi sedemikian rupa sehingga dapat dimanfaatkan kembali dengan cepat dan mudah.

    2. Kumpulan data yang saling berhubungan, yang disimpan secara bersama dengan tanpa pengulangan (redudansi) yang tidak perlu untuk memenuhi berbagi kebutuhan.

    3. Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis.

    4. sekumpulan programprogram aplikasi umum yang bersifat batch yang mengekseskusi dan memproses data secara umum (seperti pencarian, update, penambahan, dan penghapusan data)

    Sedangkan Sistem basis data merupakan sekumpulan file (tabel) yang saling berhubungan (dalam sebuah basis data pada sebuah sistem komputer) dan sekumpulan program (DBMS) yang memungkinkan beberapa pemakai dan/atau program lain untuk mengakses dan memanipulasi file-file tersebut. Sebuah konsep basis data memiliki beberapa hal sebagai berikut :

    Entitas Merupakan tempat informasi yang direkam, dapat berupa orang, tempat, kejadian. Sebagai contoh dalam kasus administrasi siswa misalnya maka terdapat entitas siswa, guru, mata kuliah, dan pembayaran

    Atribut Disebut juga elemen, data field, atau data item yang digunakan untuk menerangkan suatu entitas dan mempunyai harga tertentu. Tiap tipe entitas memiliki sekumpulan atribut yang berkaitan dengannya. Dengan kata lain, atribut merupakan sifat atau karakteristik suatu entitas yang menyediakan penjelasan detail tentang entitas tersebut. Buka hanya entitas yang memiliki atribut, tetapi relationship juga memilikinya. Misalnya atribut dari entitas siswa adalah nama, tanggal lahir, alamat.

  • 3

    Data value Data atau nformasi aktual yang tersimpan pada tiap data,elemen, atau atribut. Atribut nama pegawai menunjukkan tempat dimana informasi nama karyawan disimpan, nilai datanya misal nya Melli, Ani, Arif, Fitra yang nerupakan isi data nama pegawai tersebut.

    File/Tabel Kumpulan record sejenis yang mempunyai panjang elemen yang sama, atribut yang sama, namun berbeda nilai datanya

    Record Kumpulan elemen-elemen yang saling berkaitan menginformasikan tentang suatu entitas secara lengkap. Satu record mewakili satu data atau informasi. Contoh :

    NIM Nama Alamat

    G1A008001 Melli Suryanty Buluran No 12

    G1A008002 Sulwanah BLK No1

    G1A008003 Rahmad JPM No 10

    Dari relasi/tabel diatas:

    G1A008001 Melli Suryanty Buluran No 12 Adalah satu record 1.5 Tipe Atribut Dalam menggambarkan atribut, terdapat beberapa tipe atribut yang digunakan : a. Single-value Attribute dan Multi-Value Attribute

    Atribut bernilai tunggal ditujukan untuk atribut-atribut yang memiliki paling banyak satu nilai untuk tiap baris data/tupel, sedangkan antribut yang bernilai banyak ditujukan pada atribut-atribut yang dapat diisi dengan labih dari satu nilai, tetapi jenisnya sama. Misalnya Seorang manajer hanya boleh memiliki satu NIK, satu tanggal lahir, tetapi manajer tersebut boleh saja memiliki alamat rumah,anak lebih dari satu. NIK dan tanggal lahir merupakan atribut dengan nilai tunggal, sedangkan alamat rumah dan jumlah anak merupakan atribut dengan bernilai banyak.

    b. Atribut Komposisi dan atomic Suatu atribut mungkin saja memiliki bberapa atribut yang lebih kecil dengan arti yang bebas dari atribut itu sendiri. Atrbut seperti ini disebut sebagai atribut komposisi, seperti atribut NAMA untuk entitas PEGAWAI. Ada juga suatu atribut yang tidak dapat dibagi ke dalam beberapa atribut yang lebih kecil, atribut ini disebut atribut atomik, misalnya atribut JENIS untuk entitas MOBIL, NIK untuk entitas MAHASISWA.

    c. Derived atribut Pada beberapa kasus, ada dua atau lebih nilai atribut yang berelasi, misalnya atribut UMUR dan TGLLAHIR untuk entitas MAHASISWA. Nilai atribut UMUR dapat ditentutkan dengan tanggal sekarang dan nilai atribut TGLLAHIR mahasiswa yang bersangkutan. Atribut UMUR ini disebut Derived atribut dan dikatakan bahwa atribut UMUR dihasilkan dari atribut TGLLAHIR.

    d. Null Value attribute NULL value attribute adalah kondisi dimana suatu objek intance tidak memiliki nilai untuk salah satu atributnya. Atribut seperti ini tidak akan mempengaruhi kondisi suatu entitas bila bernilai NULL (tidak berisi). Misalnya atribut hoby dari entitas mahasiswa

    e. Mandatory value attribute (atribut yang harus terisi) Mandatory value attribute adalah kondisi dimana suatu objek instance harus memiliki nilai untuk setiap atau salah satu atributnya. Misalnya atribut NIK, dan NAMA untuk entitas Karyawan. Atribut ini bila tidak diisi akan mempengaruhi entitas karyawan tersebut.

  • 4

    f. Inherit Inherit merupakan suatu kondisi dimana suatu objek adalah spesialisasi objek yang lain, maka objek spesialisasi itu inherit (mewarisi) semua atribut dan objek relasi yang dispesialisasikan

    1.6 Tipe File Dalam siste, basis data akan terbentuk dari sekumpulan file-file. File dalam pemrosesan aplikasi dikategorikan sebagai berikut : a. File Induk

    File Induk merupakan file yang penting dalam sistem dan akan tetap ada selama siklus hidup dari sistem informasi dan pengolahan basis data. File master/induk dibedakan menjadi 2 macam, yaitu : - file induk acuan : file induk yang recordnya statis, jarang berubah nilainya - file induk dinamik : file induk yang nilai dari record-record yang nilai record-recordnya

    berubah atau di Update sebagai akibat dari suatu transaksi b. File Transaksi

    File transaksi adalah file yang digunakan untuk merekam data dari hasil suatu transaksi yang terjadi

    c. File Laporan File laporan adalah file yang berisi informasi yang akan ditampilkan. Biasanya struktur dari file laporan ada beberapa macam. Hal ini disesuaikan dengan kepada siapa laporan tersebut didistribusikan.

    d. File Sejarah File yang berisi record data masa lalu yang sudak tidak aktif lagi, tetapi perlu disimpan untuk keperluan mencari data yang hilang.

    e. File Pelindung File pelindung merupakan salinan dari file-file yang masih akif didatabase pada saat tertentu dan digunakan sebagai cadangan (back-up) bila file database yang aktif rusak atau hilang

    f. File Kerja File kerja dibuat oleh suatu proses program secara sementara karena memori komputer tidak mencukupi, atau untuk menghemat pemakaian memori selama proses, dan akan dihapus bila proses telah selesai.

    1.7 Persyaratan Basis data Suatu basis data yang beik memiliki beberapa ketentuan (kejekangan) yang harus diperharikan pada pembuatan file database antara lain, sebagai berikut : a. Redudansi Data

    melakukan penyimpanan data yang sama dibeberapa tempat. munculnya data-data yang sama secara berulang-ulang di beberapa tempat yang berbeda pada file basis data yang semestinya tidak diperlukan, dapat mengakibatkan proses updating yang lebih lama karena data harus dirubah dibeberapa tempat dan memungkinkan terjadinya ketidakkonsistenan yang semakin besar.

    b. Inkonsistensi data munculnya data yang tidak konsisten pada medan/kolom yang sama untuk beberapa file dengan kunci yang sama. Ketidakkonsistenan ini terjadi karena kesalahan dalam pemasukan data atau update anomaly yaitu suatu proses untuk meng-update data tetapi mengakibatkan munculnya data yang tidak konsisten atau kehilangan informasi tentang objek yang ditinjau.

    c. Security Data Basis data yang baik, menerapkan aturan-aturan yang berhubungan dengan keamanan sistem. Hal ini membuat tidak setiap pemakai sistem basis data diperbolehkan untuk mengakses semua data. Keamanan tersebut jua dapat diukur dan disesuaikan baik ditingkat basis data atau

  • 5

    aplikasinya. Sebagai contoh data, data mengenai gaji pegawai harus boleh dibuka oleh bagaian keuangan dan personalia, sedangkan bagian gudang tiak diperbolehkan untuk membukanya.

    d. Data Integrity Suatu sistem basis data berisikan banyak file database yang saling berhubungan. Integritas data yang dimaksud menyangkut bagaimana mengatur kaitan antara file pada semua bagian sistem tersebut agar dapat melakukan transaksi-transaksi dalam pengendalian yang penuh dan secara efisien.

    e. Data Access Pada suatu sistem basis data perlu dibuat suatu manajemen pengelolaan untuk mengakses data yang dikenal sbagai DBMS (Database Manajemen System). Hal ini dilakukan supaya data dalam basis data harus siap diakses oleh siapa saja yang membutuhkan dan mempunyai hak untuk mengaksesnya.

    f. Data Indepedence Sebuah program dalam sistem basis data, harus dipisahkan dengan database yang ada. Ini artinya perintah DBMS bebas terhadap database karena apapun perubahan terhadap database, semua perintah akan stabil tanpa ada yang perlu diubah. Hal itu berbeda dengan pemrograman terstruktur seperti menggunakan basa C atau pascal. Jika aplikasi yang dibuat pada pascal misalnya, maka penyimpanan record dilakukan berhubungan dengan program. Ini berarti bahwa program tersebut tidak bebas terhadap perubahan database yang ada. Selanjutnya data independence dapat dibadi menjadi dua bagian yakni : - phisycal data independence

    merupakan kebolehan untuk mengubah pola fisik database untuk peningkatan efisiensi tanpa mengakibatkan suatu program aplikasi ditulis kembali

    - logical data independence modifikasi ini dilakukan saat struktur logika database berubah, ditambah atau dikurangi. Ini artinya pemakai boleh mengubah pola konseptual tanpa mengakibatkan suatu aplikasi program ditulis kembali.

    g. Isolasi Data disebabkan oleh pemakaian beberapa file basis data. Program aplikasi yang digunakan tidak dapat mengakses file tertentu dalam sistem basis data tersebut kecuali bila program aplikasi dirubah/ditambah sehingga seolah-olah ada file yang terpisah/terisolasi terhadap file yang lain.

    h. Multi-User Support Suatu sistem basis data harus mempu memberikan dukungan kepada pemakaian program untuk banyak pengguna. Hal ini bisa di pahami karena salah satu alasan basis data dibangun adalah bahwa nantinya data tersebut digunakan oleh banyak orang, baik dalam waktu berbeda maupun dalam waktu bersamaan sehingga kebutuhan akan basis data yang handal untuk multi-user perlu dipertimbangkan.

    1.8 Hirarki Sistem Basisdata Sistem basis data tersusun atas beberapa komponen data seperti tampak pada hirarki dibawah ini :

  • 6

    Gambar 1.1 Hirarki Sistem Basis Data

    Keterangan :

    1. Bit; suatu sistem angka biner yang terdiri atas dua macam nilai saja, yaitu 0 dan 1. Sistem angka ini merupakan dasar yang dapat digunakan untuk komunikasi antara manusia dan mesin (komputer) yang merupakan sekumpulan komponen elektronik dan hanya dapat membedakan dua macam keadaan saja.

    2. Byte; bagian terkecil yang dapat dialamatkan dalam memory. Byte juga merupakan sekumpulan bit yang secara konvensional terdiri atas kombinasi delapan bit. Satu byte digunakan untuk mengkodekan satu buah karakter dalam memory.

    3. Field; sekumpulan byte-byte yang sejenis akan membentuk suatu field. Fielad biasadisebut juga dengan atribut.

    4. Data Item; sering juga disebut rinci data, field, medan atau data elemen adalah unit terkecil yang disebut data. Data item merupakan sekumpulan byte/karakter yang mempunyai makna.

    5. Agregat Data; merupakan sekelompok rinci data yang mempunyai ciri tertentu dan mempunyai nama.

    6. Record; disebut pula sebagai tuple atau rekaman, yang merupakan sekumpulan data item atau agregat data yang saling berhubungan dengan suatu objek tertentu.

    7. File; adalah sekumpulan record sejenis yang terelasi (terhubung). Dalam file sederhana masing-masing record mempunyai jumlah rinci data yang sama. Tetapi file yang lebih kompleks mungkin mempunyai variasi jumlah rinci data yang berbeda-beda pada tiap recordnya.

    8. Basis data; disebut pula sebagai koleksi data atau pustaka data atau library, adalah sekumpulan dari berbagai macam tipe record yang mempunyai hubungan antar record, agregat data dan rinci data terhadap suatu objek tertentu.

    9. Sistem basis data; adalah sekumpulan basis data dalam suatu sistem yang mungkin tidak berhubungan satu sama lain, namun secara umum mempunyai hubungan sistem. Secara sederhana, sistem basis data tersusun atas banyak file.

    Sistem basis data

    Basis data File

    Agregat data

    Data item

    Byte

    Bit

    Record

  • 7

    1.9 Abstraksi Data Salah satu tujuan Database Management System adalah untuk menyediakan fasilitas/antar muka (interface) dalam melihat/menikmati data (yang lebih ramah/user oriented) kepada para pemakai. Untuk itu, sistem tersebut akan menyembunyikan detail tentang bagaimana data disimpan dan dipelihara. Karena itu seringkali data yang terlihat oleh pemakai sebenarnya berbeda dengan yang disimpan secara fisik. Abstarksi data merupakan tingkat/level dalam bagaimana melihat data dalam sebuah sistem basis data. Ada 3 level abstarksi data :

    1. Level Fisik (Physical Level) Merupakan level terendah dalam abstraksi data yang menunjukkan bagaimana sesungguhnya suatu data disimpan. Pada level ini, pemakai melihat data sebagai gabungan dari struktur dan datanya sendiri. Pemakai juga berkompeten dalam mengetahui bagaimana representasi fisik dari penyimpanan/pengorganisasian data. Pada level ini data dapat berupa teks, angka atau bahkan sebagai himpunan bit data.

    2. Level Lojik/Konseptual (Conceptual Level) Merupakan level yang lebih tinggi dari level fisik dan menggambarkan data apa yang sebenarnya (secara fungsional) disimpan dalam basis data dan hubungannya dengan data yang lain.

    3. Level Penampakan (View Level) Merupakan level yang paling tinggi, dimana user hanya mengetahui struktur data yang sederhana, yang berorientasi pada kebutuhan user. Data yang dikenal oleh masing-masing pengguna bisa berbeda-beda dan hanya mencakup sebagian dari basis data.

    Gambar 1.2 Level Abstarksi Data

    1.10 Operasi Dasar Basis Data Operasi-operasi dasar yang dapat dilakukan berkenaan dengan basis data, meliputi :

    1. Pembuatan basis data baru (create database); identik dengan pembuatan lemari arsip yang baru.

    2. Penghapusan basis data (drop database); identik dengan perusakan terhadap lemari arsip (sekaligus isinya, jika ada).

    3. Pembuatan file/tabel baru kesuatu basis data (create table); identik dengan penambahan map arsip baru kesebuah arsip yang sudah ada.

    4. Penghapusan tabel/file dari suatu basis data (drop tabel); identik dengan perusakan map arsip lama yang ada dilemari arsip.

    5. Penambahan/pengisian data baru kesebuah file/tabel disebuah basis data (insert); identik dengan penambahan lembaran arsip kesebuah map baru.

    6. Pengambilan data dari sebuah tabel/file (retrieve/search); identik dengan pencarian lembaran arsip kesebuah map arsip.

    View 1 View 2 View 3

    Level Fisik

    Level Konseptual

  • 8

    7. Pengubahan data dari sebuah tabel/file (update); identik dengan perbaikan isi lembaran arsip yang ada disebuah map arsip.

    8. Penghapusan data dari sebuah file/tabel (delete); identik dengan penghapusan sebuah lembaran arsip yang ada disebuah map arsip.

    1.11 Objektif Basis Data Tujuan pemanfaatan basis data :

    1. Kecepatan dan kemudahan; memungkinkan user untuk menyimpan atau melakukan perubahan/ manipulasi terhadap data atau menampilkan kembali data tersebut dengan lebih cepat dibandingkan dengan cara manual.

    2. Efisiensi ruang penyimpanan; terjadinya efisiensi dan optimalisasi penggunaan ruang penyimpanan dengan cara melakukan penekanan terhadap jumlah redudansi data, baik dengan menerapkan sejumlah pengkodean ataupun dengan membuat relasi-relasi (dalam bentuk file) antar kelompok data yang saling berhubungan.

    3. Keakuratan; dapat dilakukan dengan memanfaatan pengkodean atau pembentukan relasi antar data bersama dengan penerapan aturan/batasan (constraint) tipe data, domain data, keunikan data dan sebagainya secara ketat.

    4. Ketersediaan; tersedianya data bagi user yang menginginkan data berdasarkan kebutuhannya masing-masing.

    5. Kelengkapan; mampu melakukan penambahan data ataupun perubahan struktur data, mendefinisikan objek-objek dalam basis data serta detail dari tiap objek.

    6. Keamanan; menjaga data dari operasi-operasi yang dilakukan oleh user yang tidak berkepentingan.

    7. Kebersamaan pemakaian; data dapat dipakai secara bersama-sama (multiuser) dari berbagai lokasi dan aplikasi.

    1.12 Penerapan Basis data Secara teknis/nyata, bidang-bidang fungsional yang telah umum memanfaatkan basis data demiefisiensi, akurasi dan kecepatan operasi antara lain adalah : 1. Kepegawaian, untuk berbagai perusahaan yang memiliki banyak pegawai. 2. Pergudangan (inventory), untuk perusahaan manufaktur (pabrikan), grosir, apotik dll. 3. Akuntansi, untuk berbagai perusahaan. 4. Reservasi, untuk hotel, pesawat, kereta api dll. 5. Layanan pelanggan, untuk perusahaan yang berhubungan dengan banyak pelanggan (bank,

    konsultant, dll) Sedangkan bentuk-bentuk organisasi/perusahaan yang telah memanfaatkan basis data (sebagai komponen sistem informasi dalam organisasi/perusahaan dapat berupa :

    1. Perbankan; dapat melakukan pengelolaan data nasabah/data tabungan/data pinjaman, pembuatan laporan-laporan akuntansi, pelayanan informasi pada nasabah/calon nasabah, dll.

    2. Asuransi; dalam melakukan pengelolaan data nasabah/data pembayaran premi, pemrosesan pengajuan klaim asuransi, dll.

    3. Rumah Sakit; dalam melakukan pengelolaan history penyakit/pengobatan pasien, menangani pembayaran perawatan, dll.

    4. Produsen Barang; dalam melakukan pengelolaan data keluar masuk barang (inventory), dll.

    5. Industri Manufaktur; dalam membantu pengelolaan pemesanan barang, mengelola data karyawan, dll.

    6. Pendidikan/Sekolah; dalam melakukan pengelolaan data siswa, penjadwalan kegiatan perkuliahan, dll.

  • 9

    7. Telekomunikasi; dalam melakukan pengelolaan data administrasi kabel/data pelanggan, menangani gangguan, dll

    LATIHAN : 1. Sebutkan kekurangan sistem sistem pemrosesan berkas dibandingkan dengan sistem

    pemrosesan Basis data! 2. Jelaskan pengertian Basis data! 3. Berikan contoh operasi-operasi yang dapat dilakukan oleh suatu sistem Basisi data! 4. Apa yang dimaksud dengan istilah-istilah dibawah ini?

    a. Data Redudancy b. Data Inconsistency c. Data Terisolasi

    5. Berikan penjelasan tentang peranan teknologi komunikasi data terhadap perkembangan basis data!

  • 10

    DATABASE MANAGEMENT SYSTEM (DBMS)

    Suatu Database Management System (DBMS) berisi satu koleksi data yang saling berelasi dan satu set program untuk mengakses data tersebut. Jadi DBMS terdiri dari Database dan Set Program pengelola untuk menambah, menghapus, mengambil dan membaca data. Database adalah kumpulan file-file yang saling berelasi, relasi tersebut ditunjukkan dengan kunci dari tiap file yang ada. Satu database menunjukkan satu kumpulan data yang dipakai dalam satu lingkup perusahaan/instansi. Dalam satu file terdapat record-record sejenis, sama besar dan sama bentuk yang merupakan satu kumpulan entity yang seragam. Satu record terdiri dari field-field yang saling berhubungan untuk menunjukkan bahwa field tersebut dalam satu pengertian yang lengkap dan direkam dalam satu record. Untuk menyebut isi dari field maka digunakan atribut atau merupakan judul dari suatu kelompok entity tertentu, misalnya atribut alamat menunjukkan entity alamat dari siswa. Entity adalah suatu objek yang nyata dan dapat direkam.

    2.1 Definisi Entity, Record/Tuple, File, Database, DBMS 1. Entity adalah orang, tempat, kejadian atau konsep yang informasinya direkam. 2. Record/Tuple adalah kumpulan elemen yang saling berkaitan menginformasikan tentang suatu

    entity secara lengkap, dimana satu record mewakili satu data atau informasi tentang suatu entity.

    3. File adalah kumpulan record sejenis yang mempunyai panjang elemen data dan atribut yang sama namun berbeda data value.

    4. Database adalah kumpulan file yang tidak mempunyai kaitan antara satu file dengan file lainnya sehingga membentuk satu bangunan data untuk menginformasikan suatu organisasi, instansi, perusahan dan lainnya dalam batasan tertentu.

    5. Database Management System (DBMS) adalah kumpulan file yang saling berkaitan bersama dengan program untuk pengelolaannya

    2

  • 11

    Database Rumah Sakit Record/Tuple Record/Tuple

    Database Universitas Data Entry Retrieve

    Gambar 2.1 Gambaran DBMS

    2.2 Keunggulan DBMS dengan Basis data Berbasis Kertas. Dibandingkan dengan sistem berbasis kertas, DBMS memilki 4 keunggulan:

    1. Kepraktisan; sistem berbasis kertas akan menggunakan kertas yang sangat banyak untuk menyimpan informasi, sedangkan DBMS menggunakan media penyimpanan sekunder yang berukuran kecil tetapi padat informasi.

    2. Kecepatan; mesin dapat mengambil atau mengubah data jauh lebih cepat dibandingkan manusia.

    3. Mengurangi kejemuan; orang cenderung menjadi bosan kalau melakukan tindakan-tindakan yang berulang yang menggunakan tangan (misalnya harus mengganti suatu informasi).

    4. Kekinian; informasi yang tersedia pada DBMS akan bersifat mutakhir dan akurat setiap saat.

    Suami Istri

    Rino Reny

    Ryan Rani

    Nama Spesialis

    Roni Jantung

    Romi Kandungan

    Entity Pasien Entity Obat

    Entity Dokter

    Penicilin Vitamin A Tetracilin Deparmin

    Aspirin

    Relasi

    Siswa

    No Induk Nama 2288066 Reno

    2100556 Rita

    Mata Kuliah

    Kode Nama Mata Kuliah MT01 Matematika 1 FS01 Fisika PS01 Pancasila

    PS02 Falsafah Pancasila

    Relasi

    - Program Aplikasi - Query Language - Menu-menu

    Paket Program Aplikasi

  • 12

    2.3 Komponen DBMS Dalam sebuah basis data secara lengkap akan terdapat komponen-komponen utama sebagai berikut:

    1. Perangkat Keras (Hardware); antara lain komputer (baik yang stand-alone ataupun untuk sistem jaringan, memory sekunder on-line (harddisk), memory sekunder off-line (tape atau removeable disk) untuk backup data dan media perangkat komunikasi (untuk sistem jaringan).

    2. Sistem Operasi (Operating System); Windows, Linux, dll. 3. Basisdata (Database) 4. Sistem (Aplikasi/Perangkat Lunak) Pengelola Basis Data (DBMS); Dbase IV, FoxBase,

    Borland-Paradox, MS-Access, MySQL, Oracle, dll. 5. Pemakai (User); dibedakan atas cara interaksinya terhadap sistem adalah :

    a. Programmer Aplikasi; pemakai yang berinteraksi dengan basis data melalui Data Manipulation Languange (DML), yang disertakan dalam program yang ditulis dalam bahasa pemrograman induk (seperti Pascal, Cobol, dll).

    b. User Mahir (Casual User); pemakai yang berinteraksi dengan sistem tanpa menulis modul program. Mereka menyatakan query (untuk akses data) dengan bahasa query yang telah disediakan oleh suatu DBMS.

    c. User Umum (End User/Naive User); pemakai yang berinteraksi dengan sistem data melalui pemanggilan suatu program aplikasi permanen (executable program) yang telah ditulis/disediakan sebelumnya.

    d. User Khusus (Specialized User); pemakai yang menulis aplikasi basis data non konvensional, tetapi untuk keperluan-keperluan khusus, seperti untuk aplikasi Artificial Intelligent, Sistem Pakar, Pengolahan Citra dan lain-lain yang bisa mengakase basis data dengan/tanpa DBMS yang bersangkutan.

    6. Aplikasi (perangkat lunak lain, yang bersifat opsional)

    Gambar 2.2 Sistem Basis Data 2.4 Model Basisdata Model basis data menyatakan hubungan antar rekaman yang tersimpan dalam basis data. Terdapat 3 model dasar yang biasa digunakan :

    1. Model Hirarkis, biasa juga disebut model pohon karena menyerupai pohon yang dibalik. Model ini menggunakan pola hubungan orang tua anak. Setiap simpul (biasanya dinyatakan dalam dengan lingkaran atau kotak) menyatakan sekumpulan medan. Simpul yang terhubung kesimpul pada level dibawahnya disebut orang tua. Setiap orang tua bisa memilki satu (hubungan 1:1) atau beberapa anak (hubungan 1:N), tetapi tiap anak hanya memilki satu orang tua. Simpul-simpul yang dibawahi oleh simpul orang tua disebut anak. Simpul orang tua yang tidak memilki orang tua disebut akar. Sedangkan simpul yang tidak memilki

    Database Management System

    (DBMS)

    Basisdata

    File 1

    File 1

    File 1

  • 13

    anak disebut daun. Adapun hubungan antara anak dan orang tua disebut cabang. Gambar dibawah ini memperlihatkan contoh model hirarkis tersebut.

    Level 1 Level 2 Level 3 Level 4

    Gambar 2.3 Contoh Model Hirarkies

    Contoh yang lebih kongkret terlihat pada gambar dibawah ini. Gambar ini memperlihatkan hubungan dosen dan kelas yang diampu, serta mahasiswa yang mengikuti kelas masing-masing.

    Gambar 2.4 Contoh Model Hirarkis

    2. Model Jaringan; disebut juga model DBTG (Database Task Group) atau CODASYL (Conference on Data System Languages). Model ini menyerupai model hirarkis, perbedaannya terletak pada model ini satu anak bisa memiliki lebih dari satu orang tua. Oleh karena sifatnya yang demikian model ini bisa menyatakan hubungan 1:1 (satu orang tua mempunyai satu anak), 1:N (satu orang tua memilki banyak anak) maupun N:M (beberapa anak memilki beberapa orang tua). Pada model jaringan ini, orang tua disebut pemilik sedangkan anak disebut anggota.

    Level 1 Level 2 Level 3

    Gambar 2.5 Model Jaringan

    A

    B E C D

    F G H J I K

    L M

    A

    B E C D

    F G H J I K

    Fauzan Azima Faris Ramadan

    Pemrograman I Sistem Basis Data Sistem Berkas

    Faza Feri Fira Fany Fina Ferdi

  • 14

    Gambar dibawah ini merupakan model jaringan yang didasarkan oleh model hirarkis pada gambar model jaringan diatas.

    Gambar 2.6 Contoh Model Jaringan

    3. Model Relasional; merupakan model yang paling sederhana sehingga mudah digunakan dan dipahami oleh user, serta merupakan yang paling populer saat ini. Model ini menggunakan sekumpulan tabel berdimensi 2 (yang disebut relasi), dengan masing-masing relasi tersusun atas tupel atau baris dan atribut. Relasi dirancang sedemikian rupa sehingga dapat menghilangkan kemubaziran data dan menggunakan kunci tamu untuk berhubungan dengan relasi lain. Model ini juga biasa disebut RDBMS (Relational Database Management System). Tabel dibawah ini merupakan bentuk relasional berdasarkan contoh model hirarkis dan jaringan didepan : Tabel 2. 1 Dosen_Matakuliah_Mahasiswa

    NAMA DOSEN MATAKULIAH MAHASISWA

    Fauzan Azima Fauzan Azima Fauzan Azima Fauzan Azima Fauzan Azima Faris Ramadan Faris Ramadan Faris Ramadan

    Sistem Basis Data Sistem Basis Data Sistem Basis Data Pemrograman I Pemrograman I Sistem Berkas Sistem Berkas Sistem Berkas

    Faza Fany Fira Fira Feri Feri Fina Ferdi

    2.5 Macam-macam Perintah DBMS DBMS merupakan perintah bagi pemakai dengan basis data dalam disk. Cara berinteraksi/berkomunikasi antar pemakai dengan basis data diatur dalam suatu bahasa khusus. Bahasa tersebut dapat disebut sebagai Bahasa Basis Data yang terdiri atas sejumlah perintah (statement) yang diformulasikan dan dapat diberikan user dan dikenali/diproses oleh DBMS untuk melakukan suatu aksi atau pekerjaan tertentu. Sebuah Bahasa Basis Data biasanya dapat dipisah kedalam 2 bentuk yaitu :

    1. Data Definition Language/DDL. Merupakan struktur/skema basis data yang menggambarkan/mewakili desain basis data secara keseluruhan dispesifikasikan dengan bahasa khusus yang disebut Data Definition Language (DDL). Dengan bahasa ini user dapat membuat tabel baru, membuat indeks, mengubah tabel, menentukan struktur penyimpanan tabel dan sebagainya . Hasil dari kompilasi perintah DDL adalah kumpulan tabel yang disimpan dalam file khusus yang disebut Data Dictionary (kamus data). Kamus data merupakan suatu superdata yaitu data yang mendeskripsikan data sesungguhnya. Kamus data ini akan selalu diakses dalam suatu operasi basis data sebelum suatu file data yang sesungguhnya diakses.

    Pemrograman I Sistem Basis Data Sistem Berkas

    Faza Feri Fira Fany Fina Ferdi

    Fauzan Azima Faris Ramadan

  • 15

    2. Data Manipulation Languange/DML. Merupakan bentuk Bahasa Basis Data yang berguna untuk melakukan manipulasi dan pengambilan data pada suatu basis data. Manipulasi data dapat berupa penambahan, penghapusan dan pengubahan data. Terdapat 2 jenis DML :

    - Prosedural, yang mensyaratkan agar pengguna menentukan, data apa yang diinginkan serta bagaimana cara mendapatkannya.

    - Nonprosedural, yang membuat pemakai dapat menentukan data apa yang diinginkan tanpa menyebutkan bagaimana cara mendapatkannya.

    2.6 Struktur Sistem Keseluruhan Sebuah sistem pengelola basis data (DBMS) terbagi atas modul-modul yang masing-masing memiliki tanggung jawab dalam membentuk struktur sistem keseluruhan. Beberapa fungsi dalam sistem pengelola basis data mungkin telah disediakan oleh sistem operasi, tetapi dalam banyak hal sistem operasi hanya menyediakan servis-servis dasar. Kelengkapan fungsi/modul antara DBMS yang satu dengan yang lainnya bisa berbeda, baik dari sisi kualitas maupun kuantitasnya. DBMS sederhana seperti dBaseIII+ atau MS-Access misalnya, tidak/kurang mengakomodasi pemakaian basis data oleh banyak pemakai. Tetapi dengan DBMS semacam ORACLE atau MySQL Server hal itu telah terakomodasi dengan baik. Sebuah sistem pengelola basis data (DBMS) umumnya memiliki sejumlah komponen fungsional (modul) seperti : File Manager, yang mengelola alokasi ruang dalam disk dan struktur data yang dipakai

    untuk merepresentasikan informasi yang tersimpan dalam disk. Sebenarnya sistem operasi (tempat dimana DBMS diaktifkan) juga memiliki modul File Manager. Tetapi File Manager di DBMS lebih difokuskan pada efisiensi dan efektifitas penyimpanan.

    Database Manager, yang menyediakan interface antara dua low-level yang ada di basis data dengan program aplikasi dan query yang diberikan ke sistem.

    Query Processor, yang menterjemahkan perintah-perintah query language ke perintah low-level yang dapat dimengerti oleh database manager. Disamping itu query processor juga akan mentransformasikan permintaan user kedalam bentuk yang lebih efisien sehingga query menjadi lebih efektif.

    DML Precompiler, yang mengkonfersi perintah DML yang ditambahkan dalam sebuah program aplikasi ke pemanggilan prosedur normal dalam bahasa induk. Precompiler ini akan berinteraksi dengan query processor.

    DDL Compiler, yang mengkonversi perintah-perintah DDL kedalam sekumpulan tabel yang mengandung metadata. Tabel-tabel kemudian disimpan dalam kamus data.

    Berikut ini adalah skema yang menunjukkan keterhubungan antara komponen/modul dalam DBMS dan juga hubungannya dengan para pemakai basis datanya sendiri.

  • 16

    Berikut ini adalah skema yang menunjukkan keterhubungan antara komponen/modul dalam DBMS dan juga hubungannya dengan para pemakai basis datanya sendiri.

    Gambar 2.7 Struktur Sistem Database Keseluruhan LATIHAN :

    1. Apa yang dimaksud dengan istilah-istilah dibawah ini: a. Tuple b. Atribut c. Derajat d. Cardinal

    2. Apakah yang dimaksud dengan DBMS? 3. Sebutkan 4 komponen utama DBMS! 4. Apa perbedaan antara User Mahir dan User Umum? 5. Berikan contoh tabel yang menggunakan model hirarkies, jaringan dan relasional!

    Naive User

    Database Administrator

    Casual User

    Programmer Aplikasi

    Skema Database

    Query System Call

    Program Aplikasi

    DML Precompiler

    Query Processor

    DDL Compiler

    Object Code Program Aplikasi

    Database Manager

    File Manager

    Data Files

    Data Dictionary

    Disk Storage

    DBMS

  • 17

    PERANCANGAN BASIS DATA 3.1 Proses Perancangan Basisdata Proses perancangan basis data, terlepas dari masalah yang ditangani, dibagi menjadi 3 tahapan:

    1. Perancangan basis data secara konseptual; merupakan upaya untuk membuat model yang masih bersifat konsep.

    2. Perancangan basis data secara logis; merupakan tahapan untuk memetakan model konseptual kemodel basis data yang akan dipakai (model hirarkis, jaringan ataupun relasional).

    3. Perancangan basis data secara fisik; merupakan tahapan untuk menuangkan perancangan basis data yang bersifat logis menjadi basis data fisik yang tersimpan pada media penyimpanan eksternal yang spesifik terhadap DBMS yang dipakai.

    Alasan perancangan basisa data :

    Sistem basis data telah menjadi bagian dalam sistem informasi suatu organisasi

    Kebutuhan menyimpan data dl jumlah besar semakin mendesak

    Fungsi-fungsi dalam organisasi semakin dikomputerisasikan

    Semakin kompleks data & aplikasi yg digunakan, maka relationship antar data harus dimodelisasikan

    Dibutuhkannya kemandirian data 3.2 Pengembangan Basis data 3.2.1 Tujuan Pengembangan Basis data Tujuan pengembangan sistem basis data berhubungan erat dengan masalah-masalah yang timbul dalam file basis data. Karenanya pada bagian ini akan membahas tujuan dan masalah pengembangan sistem basis data secara bersama-sama. Adapun tujuan sistem basis data meliputi penyediaan sarana akses yang fleksibel, pemeliharaan integritas data, proteksi data dari kerusakan dan penggunaan yang tidak legal, penyediaan sarana untuk penggunaan bersama (share) dan keterhubungan (relate) data, pengurangan/minimalisasi kerangkapan (redundancy) data, menghilangkan ketergantungan (independence) data pada program-program aplikasi, menstandarkan definisi-definisi rinci data (data item) dan meningkatkan produktivitas personal sistem informasi. 1. Fleksibilitas Data (Data Flexibility)

    Fleksibilitas data dimaksudkan untuk memberikan kemudahan dalam menampilkan kembali data-data yang dipilih dan diperlukan dalam basis data dan merepresentasikannya dalam format-format yang berbeda. Fleksibilitas akses merupakan salah satu dari beberapa aspek penting yang harus dimiliki sistem manajemen basis data agar selalu tersedia data untuk berbagai macam kebutuhan. Untuk itu diperlukan suatu antar muka (interface) untuk memungkinkan terjadinya komunikasi antar pemakai sistem dan sistem tersebut. Antar muka harus didesain dalam bentuk yang sederhana dan jelas sehingga memudahkan user (khususnya yang awam) terhadap program komputer mampu berinteraksi dan menggunakan sistem tersebut dengan mudah. Teknik yang umum diterapkan adalah dengan menggunakan menu-menu (interaksi pasif) atau memberikan jawaban atas pertanyaan aktif (interaksi aktif) yang ditampilkan pada layar penampil (display), dengan cara mengisi bagian-bagian yang masih kosong untuk mengarahkan pemakai awam agar dapat memenembus sistem. Kadang-kadang diperlukan juga fasilitas yang

    3

  • 18

    berupa keterangan-keterangan bantuan yang disediakan secara on-line untuk memberikan penjelasan yang lebih komplit dalam penggunaan sistem.

    2. Integritas Data (Data Integrity) Integritas data dimaksudkan sebagai sarana untuk selalu meyakinkan bahwa nilai-nilai data dalam sistem basis data adalah benar, konsisten dan selalu tersedia (current). Hal ini merupakan aspek kritis dalam manajemen informasi. Salah satu cara yang terbaik untuk meyakinkan integritas data adalah meyakinkan bahwa nilai-nilai data adalah benar sejak masuk pertama kali. Hal ini dapat ditempuh dengan beberapa metode, seperti misalnya dengan mngeset secara seksama prosedur penangkapan data (data capture) yang dilakukan secara manual, atau dengan membuat program suatu sistem unutk mengecek kebenaran/keabsahan nilai data pada saat dimasukkan kedalam mesin (data entry).

    3. Keamanan Data (Data Security) Kemanan data diperlukan untuk melindungi data terhadap akses yang tidak legal oleh pihak-pihak yang tidak berwenang, yang bermaksud merugikan atau bahkan merusak data dalam sistem basis data, atau dari kerusakan. Kerusakan data merupakan aspek kritis lain dalam sistem basis data. Keamanan data juga diperlukan untuk melindungi data dari kerusakan-kerusakan yang terjadi akibat kebakaran, banjir, badai, huru-hara dan lain-lain. Recovery merupakan proses penggunaan data cadangan untuk memenciptakan/menyusun kembali basis data yang mengalami kerusakan. Fasilitas-fasilitas keamana data yang lazim digunkan adalah password untuk individu-individu pemakai yang hanya diizinkan mengakses basis data dalam tipt-tipe akses yang berbeda (misalnya, hanya untuk membaca, atau untuk membaca dan menulis), dan password untuk basis data, record data dan bahkan suatu rinci data.

    4. Independensi Data (Data Independence) Independensi data dimaksudkan sebagai ketidaktergantungan data, yang dalam hal ini mempunyai dua dimensi, yaitu dimensi logik (logical data independence) dan dimensi fisik (phisycal data independence). Independensi data secara fisik pada dasarnya adalah bahwa deskripsi data logik data, atau lebih dikenal sebagai schema, tidak mengalami ketergantungan pada perubahan-perubahan yang terjadi dalam teknik penyimpanan secara fisik. Artinya, bahwa cara-cara penyimpanan dan pengaksesan data dalam sistem basis data dapat diubah tanpa membutuhkan perubahan dalam schema logik. Sedangkan yang dimaksud dengan independensi data secara logik adalah bahwa perubahan-perubahan kebutuhan user terhadap data dapat berubah, tetapi hal ini tidak mengakibtkan perubahan atau dampak pada pandangan user terhadap basis data atau skema logiknya. Independensi data merupakan sasaran utama sistem manajemen basis data. Memisahkan file-file data dari program-program aplikasi adalah penting jika data akan dikelola sebagai sumber daya yang independen.

    5. Mengurangi/Minimalisasi kerangkapan data (Reduse Data Redudancy) Sasaran lain dari sistem manajemen basis data adalah meminimalkan kerangkapan data. Hal ini diperlukan karena kerangkapan data menyebabkan timbulnya beberapa masalah didalam proses pengaksesan data. Kerangkapan data akan mengakibatkan penggunaan media penyimpanan (storage) secara sia-sia, waktu akses yang lebih lama dan akan menimbulkan masalah dalam integritas data. Namun demikian, dalam beberapa kasus, kerangkapan data mungkin tidak dapat dihindarkan lagi. Jika demikian, maka yang harus dilakukan adalah meminimalkan kerangkapan data tersebut.

    6. Sharebilitas Data (Data Sharebility) Yang dimaksud dengan sharebilitas data adalah bahwa sistem basis data yang dikembangkan harus dapat digunakan oleh pemakai-pemakai yang berbeda atau grup-grup pemakai yang berbeda dapat menggunakan data yang sama dalam basis data. Hal ini penting karena data

  • 19

    dalam basis data akan digunakan oleh beberapa pihak yang berbeda yang berkepentingan terhadap data tersebut.

    7. Relatabilitas Data (Data Relatability) Yang dimaksud dengan relatabilitas data adalah kemampuan untuk menetapkan hubungan logik antara tipe-tipe record yang berbeda (yang biasanya berbeda) dalam file-file yang berbeda. Relatabilitas data merupakan hal yang penting karena sebagian besar informasi yang diperlukan akan disusun dari berbagai macam file dalam sistem basis data yang masing-masing file mempunyai tipe record yang berbeda-beda.

    8. Standarisasi Data (Data Standardization) Standarisasi data menunjukkan definisi-definisi rinci data dalam batas presisi yang digunakan pada definisi nama rinci data dan format penyimpanan dalam basis data. Sebagian besar sistem manajemen basis data memeberikan fasilitas kamus data (data dictionary) untuk mendefinisikan nama-nama rinci data dan format dalam penyimpanannya.

    9. Produktivitas Personal (Personnel Productivity) Produktivitas personal menunjukkan bahwa sistem manajemen basis data diharapkan mampu meningkatkan produktifitas kerja setiap personal dalam beberapa hal. Kebutuhan data yang sederhana dapat segera dipenuhi dengan menggunakan suatu bahasa query yang dapat dioperasikan secara interaktif. Dalam beberapa kasus, pemakai dapat memenuhi sendiri kebutuhan datanya dengan menggunakan fasilitas query yang disediakan bagi mereka. Bahkan jika diperlukan maka laporan-laporan yang lebih akurat pun dapat diprogram dengan menggunakan suatu report generator. Hal ini akan mengakibatkan penggunaan waktu yang jauh lebih sedikit daripada pembuatan laporan dengan menggunakan suatu bahasa konvensional. Atau pemakai juga akan mampu membuat sendiri laporan yang diperlukannya. Seandainya aplikasi-aplikasi baru ditambahkan pada sistem, data yang dibutuhkan aplikasi-aplikasi itu telah tersedia dalam basis data, sehingga dapat dipenuhi dengan cepat.

    3.2.2 Langkah-langkah Pengembangan Sistem Basis data Proyek pengembangan basis data bukan hanya sekadar menyusun file-file yang diperlukan untuk disimpan sebagai basis data, tetapi termasuk juga didalamnya mengatur bagaimana agar basis data tersebut dapat dimanfaatkan secara optimal oleh pemakai untuk memenuhi kebutuhan datanya. Jadi, proyek pengembangan sistem basis data meliputi pengembangan file basis data, perangkat lunak (software), perangkat keras (hardware) dan menyimpan personal-personal yang akan terlibat dalam penggunaan sistem basis data agar dapat memanfaatkannya dengan baik dan benar. Adapun tahapan-tahapan utama dalam proyek pengembangan sistem basis data terdiri dari empat tahap, yaitu : spesifikasi kebutuhan, evaluasi alternatif, desain dan implementasi. Keempat tahapan utama tersebut akan dibahas secara lebih terperinci dalam uraian-uraian selanjutnya. Tahapan-tahapan utama dalam suatu proyek pengembangan sistem basis data ditunjukkan pada gambar 3.1.

  • 20

    Gambar 3.1 Tahapan-tahapan utama proyek pengembangan sistem basis data

    Tahap pertama proyek pengembangan sistem basis data adalah menentukan spesifikasi kebutuhan pemakai. Proses yang terjadi meliputi definisi masalah, studi kelayakan penggunaan komputer sebagai dasar pemecahan masalah dan memberikan definisi secara rinci terhadap spesifikasi kebutuhan pemakai. Jadi inti dari tahapan spesifikasi kebutuhan adalah menentukan keinginan pemakai tentang apa yang akan dan harus dilakukan oleh sistem yang akan dikembangkan. Pada tahap kedua, alternatif-alternatif pemecahan kebutuhan pemakai ditentukan, satu persatu dievaluasi dan sekaligus diseleksi untuk menemukan alternatif pemecahan yang terbaik. Setelah solusi alternatif dievaluasi, proyek dilanjutkan dengan tahap desain. Dalam tahap ini ditentukan spesifikasi-spesifikasi perangkat keras yang diperlukan dan kemudian dilakukan pengorderan, program-program didesain (atau diorder dari vendor), serta merancang dan mengembangkan struktur basis data. Prosedur-prosedur untuk operasi dan personel pemakai juga didesain. Tahapan ketiga ini diakhiri dengan mendefinisikan struktur organisasi pemakai dan fungsik-fungsi kerja sehubungan dengan keperluan pengembangan sistem baru. Tahap desain ini akan melibatkan komponen-komponen sebagaimana terlihat pada gambar dibawah ini :

    1. Spesifikasi Kebutuhan a. Definisi masalah dan studi kelayakan b. Rinci spesifikasi 2. Evaluasi Alternatif a. Indikasi alternatif b. Seleksi alternatif 3. Desain a. Spesifikasi dan pengorderan perangkat keras b. Desain logik program c. Desain struktur data (skema dan subskema) d. Desain prosedur untuk pemakai dan operator e. Definisi struktur organisasi pemakai 4. Implementasi a. Install dan tes perangkat keras b. Koding dan tes unit-unit program c. Konversi data d. Pembuatan dokumen prosedur e. Pelatihan pemakai f. Tes menyeluruh

  • 21

    Gambar 3.2 Komponen-komponen pada perancangan basis data secara konseptual Penjelasan mengenai beberapa komponen diatas adalh sebagai berikut : - Hubungan; adalah asosiasi atau kaitan antar 2 entitas. Misalnya, antara Dosen PA dengan

    Mahasiswa terdapat hubungan berupa Bimbingan. - Kekangan; digunakan untuk melindungi integritas antar data (misalnya kesalahan pada saat

    pengisian data) - Integritas Referensial; adalah aturan-aturan yang mengatur hubungan antara kunci primer

    dengan kunci tamu milik tabel-tabel yang berada dalam satu basis data relasional untuk menjaga konsistensi data

    - Domain; adalah himpunan nilai yang berlaku bagi suatu atribut. Kekangan domain mendefinisikan nama, tipe, format, panjang dan nilai masing-masing item data. Misalnya Nama Mahasiswa, dengan type Char dan panjang 25.

    - Kunci Kandidat (Candidate Key); adalah kunci yang secara unik (tidak mungkin kembar) dapat dipakai untuk mengidentifikasikan suatu baris didalam tabel

    - Kunci Asing/Tamu (Foreign Key); adalah sembarang atribut yang menunjuk ke kunci primer pada tabel lain

    - Kunci Primer (Primary Key); adalah kunci yang dipilih sebagi kunci utama untuk mengidentifikasikan baris dalam tabel.

    - Kunci Altrnatif (Alternate Key); adalah semua kunci kandidat yang tidak bertindak sebagi kunci primer.

    Penjelasan lengkap mengenai jenis kunci dalam pengelolaan data akan dijelaskan pada BAB selanjutnya Setelah desain dilakukan dengan lengkap, proyek dilanjutkan Dengan tahapan implementasi. Tahapan ini meliputi install dan pengetesan perangkat keras, koding dan tes unit-unit program, mengkompile definisi struktur basis data, mengkonversi data, mendokumentasikan prosedur, dan melatih personal. Pada akhirnya jika semua sudah siap maka sistem yang baru dikembangkan tersebut diujicobakan secara menyeluruh dan aktivitas-aktivitas pemakai dan operasi-operasi dikonversi ke sistem yang baru.

    Model Data Logis

    Entitas Kekangan Hubungan Atribut

    Domain Integritas Referensial Kunci Asing Kunci Kandidat

    Kunci Alternatif Kunci Primer Penghapusan Peremajaan Penambahan

    Nama Nilai Tipe Format Panjang

  • 22

    Hal yang cukup penting dalam proyek pengembangan sistem basis data adalah bahwa personal-personal yang tergabung dalam tim pengembangan tersebut harus terbebas dari solusi masalah yang bias. Masing-msing harus mengerti akan tugas-tugasnya secara jelas. Oleh karenanya diperlukan suatu sistem yang terbaik yang dijumpai dalam tahapan evaluasi alternatif sesuai dengan kebutuhan pemakai yang telah didefinisikan pada tahap awal proyek pengembangan sistem basis data. 3.3 Beberapa alat bantu dan metode dalam pengembangan sistem basis data Agar usaha pengembangan sistem basis data dapat berhasil dengan baik, maka diperlukan beberapa alat bantu dan metode. Yang dimaksud dengan alat bantu disini adalah berupa teknik yang dapat digunakan untuk mempermudah atau mendukung kelancaran pelaksanaan kegiatan proyek tersebut. Pada tahap awal proyek diperlukan suatau statement yang dapat meyakinkan manajemen organisasi bahwa proyek pengembangan sistem basis data tersebut layak untuk dilakukan. Studi kelayakan perlu dilakukan untuk kepentingan ini, dana dapat dilakukan setelah mengetahui spesifikasi kebutuhannya. Dalam laporan hasil studi kelayakan tersebut juga dicantumkan beberapa analisis yang meliputi : 1. Analisis Ekonomi

    Proyek pengembangan basis data perlu dianalisis kelayakannya dari segi ekonomi, karena manajemen akan menolak jika proyek tersebut tidak menghasilkan keuntungan secara ekonomi, sekalipun keuntungan tersebut baru akan dirasakan setelah jangka waktu yang lama.

    2. Analisis Hukum Dari segi hukum masalah yang biasanya timbul antara lain misalnya; mungkin sistem yang baru memerlukan peralatan yang yang harus didatangkan dari luar negri, atau peralatan khusus atau aturan-aturan yang menyangkut kepentingan umum, sehingga perlu dinyatakan bahwa pengembangan sistem basis data tersebut layak dari segi hukum.

    3. Analisis Teknik Analisis teknik berguna untuk menjelaskan ketersediaan berbagai komponen teknis yang diperlukan selama proyek pengembangan sistem basis data serta statement penegasan tentang kelayakan proyek pengembangan basis data itu sendiri.

    4. Analisis Operasional Analisis ini dimaksudkan untuk menjelaskan bahawa sistem yang baru adalah layak

    dioperasikan pada kondisi lingkungan organisasi yang ada saat ini, atau perlu usaha-usaha lain untuk mengubah desain sistem atau kondisi lingkungan organisasi, sehingga sistem basis data yang dibangun layak dioperasikan (operational feasibility)

    5. Analisis jadwal Analisis ini diperlukan untuk menjelaskan kelayakan jadwal pelaksaan proyek. Ini berarti

    bahwa desain sistem harus dapat dioperasikan dalam batasan-batasan waktu yang tersedia atau yang ditentukan. Jika tidak, maka desain sistem atau batasan waktu yang tersedia harus diubah.

    Selain itu terdapat pula analisis biaya manfaat yang dapat digunakan untuk membandingkan antara besarnya manfaat yang diperoleh dengan biaya yang dikeluarkan sehingga akan diperoleh suatu nilai yang disebut sebagai rasio manfaat tahap biaya (Benefit to Cost Ratio atau BCR) dari setiap alternatif pemecahan. Dengan demikain akan dapat digunakan untuk menentukan alternatif pemecahan masalah yang paling menguntungkan.

  • 23

    LATIHAN : 1. Jelaskan tahap-tahap perancangan Basis data 2. Apa yang dimasksud dengan integritas refferensial? Jelaskan tujuannya! 3. Jelaskan maksud dari istilah-istilah dibawah ini :

    a. Entitas b. Hubungan c. Atribut

    4. Apakah perbedaan antara Primary Key dan Alternate Key? 5. Diketahui suatu Tabel Hasil Ujian adalah sebagai berikut :

    NIM Nama_Mahasiswa Mata_Ujian NIP Dosen Nilai

    111213 Saiful Alpro 202020 Indra A

    111314 Samsul Basis data 303030 Intan B

    111223 Sarah Basis data 303030 Intan C

    111233 Samson Alpro 202020 Indra C

    111323 Santi Kalkulus 404040 Imran A

    a. Jika dibasisdatakan, tabel apa saja yang diperlukan, sebutkan pula nama-nama atribut

    untuk masing-masing tabel ! b. Sebutkan kunci primer dari masing-masing tabel!

  • 24

    RELATIONAL DATABASE MANAGEMENT SYSTEM (RDBMS)

    Model data relasional menjelaskan tentang hubungan lojik antar data dalam basis data dengan cara memvisualisasikannya dalam bentuk tabel-tabel 2 dimensi yang terdiri dari sejumlah baris dan kolom yang menunjukkan atribut-atribut. 4.1 Karakteristik Dalam Relasi Relasi dalam model basis data relasional mempunyai beberapa karakteristik sebagai berikut :

    1. Semua entity/elemen data pada suatu baris dan kolom tertentu harus mempunyai nilai tunggal (single value) atau suatu nilai yang tidak dapat dibagi lagi (atomic value), bukan merupakan suatu larik atau grup pengulangan.

    2. Semua entity/elemen data pada suatu kolom tertentu dalam relasi yang sama harus mempunyai jenis yang sama.

    3. Masing-masing kolom dalam suatu relasi mempunyai suatu nama yang unik. 4. Pada suatu relasi/hubungan yang sama tidak ada dua baris yang identik.

    4.2 Terminologi Model Basis Data Relasional Model basis data relasional mempunyai terminologi tersendiri dalam penggunaan istilah-istilah, antara lain adalah seperti dibawah ini (adapun beberapa istilah telah dijelaskan pada bab-bab sebelumnya) :

    - Cardinality; banyaknya tuple atau record dalam sebuah hubungan. - Derajat/degree; adalah banyaknya atribut/kolom dalam sebuah hubungan. - Unary relation; adalah suatu relasi yang hanya mempunyai 1 atribut/kolom. - Binary relation; adalah suatu relasi yang mempunyai 2 atribut/kolom. - Ternary relation; adalah suatu relasi yang mempunyai 3 atribut/kolom.

    Untuk lebih jelasnya, contoh model basis data relasional dapat dilihat dari tabel dibawah ini :

    Tabel 4.1 Biodata

    NIM NAMA_MHS ALAMAT ASAL_SLTA TGL_LAHIR

    1012 2011 2205 2117

    Dian Didi Doni Dani

    Jl. Mangga Jl. Sawo Jl. Rambutan Jl. Pepaya

    SMUN 1 SMUN 2 SMU Mandala SMUN 3

    16-04-1980 15-05-1982 05-06-0985 01-01-1981

    Dalam relasi basis data Biodata diatas, record adalah suatu baris basis data dalam relasi/tabel, misalnya record pertama dalam tabel tersebut adalah terdiri dari data-data sebagai berikut : 1012 | Dian | Jl. Mangga | SMUN 1 | 16-04-1980 Relasi dalam file Biodata mempunyai atribut NIM, No_Mhs, Alamat, Asal_SLTA dan Tgl_Lahir. Relasi tersebut dapat dituliskan sebagai berikut : Biodata : {NIM, Nama_MHS, Alamat, Asal_SLTA, Tgl_Lahir}

    4

  • 25

    Sedangkan Domain, memberikan batasan nilai dan tipe dari atribut-atribut yang ada dalam suatu relasi. Untuk contoh diatas dapat dituliskan sebagai berikut : Domain_Biodata : char [8], char [20], char [30], char [20], date Tipe dan batasan nilai dari masing-masing atribut yang diberikan diatas tidak mutlak, artinya dapat diubah-ubah sesuai dengan kebutuhan perancang. Untuk contoh relasi file Biodata diatas, semua atribut dapat menjadi candidate key, karena nilai setiap atribut pada setiap record tidak sama. Jika salah satu atribut dipilih sebagai primary key, atribut NIM misalnya, maka atribut-atribut yang lain disebut alternate key. Contoh pembuatan tabel yang lebih rinci dapat dilihat pada tabel-tabel dibawah ini : a. Data Mahasiswa, dengan isi sebagai berikut : Tabel 4.2 Mahasiswa

    NIM NAMA_MAHASISWA ALAMAT_MAHASISWA TGL_LAHIR

    0702003 0702007 0702008 0702009

    Nindi Nadia Nabila Nirwana

    Jl. Nangka Jl. Jambu Jl. Salak Jl. Pepaya

    02/02/1980 03/03/1982 04/04/1980 07/07/1980

    Dari data diatas dapat diketahui hal-hal sebagai berikut :

    - Data Mahasiswa tersebut memiliki 4 buah kolom - Kolom pertama berisi data angka tetap tetapi tidak menunjukkan suatu jumlah (disebut alfa

    numerik) dengan lebar (banyaknya karakter) tetap, yaitu 6 karakter/digit. - Kolom kedua berisi data karakter/string dengan lebar maksimum 30 karakter. Angka 30 ini

    merupakan perkiraan bahwa untuk nama mahasiswa yang sudah ada dan nama mahasiswa lain yang menyusul untuk ditambahkan, tidak ada yang melebihi 30 karakter. Akan tetapi jika ternyata ada mahasiswa yang mempunyai nama lebih dari 30 karakter, maka nama tersebut dapat disingkat agar dapat tertampung.

    - Kolom ketiga berisi data karakter/string dengan lebar maksimal 60 karakter. Angka ini lebih banyak ketimbang lebar kolom kedua, karena data alamat umumnya memang lebih panjang dibandingkan data nama.

    - Kolom keempat berisi data penanggalan. Dapat disimpulkan dari kriteria diatas maka dapat ditetapkan struktur tabel dari Tabel Mahasiswa tersebut, secara minimal yang harus ditentukan dalam struktur tabel adalah :

    - Nama kolom (field) - Tipe data - Lebar (banyaknya karakter/digit maksimum yang dapat ditampung)

    Untuk nama field atau kolom biasanya disesuaikan dengan nama kolom dari contoh data, tetapi penamaan itu harus diubah karena panjang nama kolom dalam DBMS biasanya dibatasi dan harus dinyatakan dalam 1 kata (tidak boleh menggunakan spasi atau tanda minus, tetapi boleh menggunakan tanda underscore/garis bawah (_))

  • 26

    Berangkat dari karakteristik yang dapat disimpulkan bahwa dari fakta yang ada pada masing-masing data, struktur dari tabel mahasiswa tersebut adalah : Tabel 4.3 Struktur tabel mahasiswa

    NAMA FIELD TIPE DATA LEBAR KETERANGAN

    Nim nama_mhs alamat_mhs tgl_lhr

    Character Character Character Date

    6 30 60 8

    Nomor induk mahasiswa Nama mahasiswa Alamat mahasiswa Tanggal lahir mahasiswa

    4.3 Komponen-komponen Tabel Relasional Tabel relasional mempunyai dua komponen yang berbeda, yaitu :

    1. Intension Intension terdiri dari dua bagian, yaitu struktur penamaan (naming structure) dan batasan integritas (integrity constraint). Struktur penamaan menunjukkan nama tabel dan nama-nam atribut yang ada, lengkap dengan domainnya (batasan nilai dan tipe datanya). Sedangkan batasan integritas dipengaruhi oleh integritas referensial yang meliputi key constraint, dan referensi constraint. Key constraint tidak mengizinkan adanya nilai null pada atribut yang digunakan sebagai primary key pada semua record yang ada pada tabel. Sedang referensi contraint memberikan aturan bahwa nilai-nilai dalam atribut kunci yang digunakan untuk mengembangkan/menghubungkan kebasis data lain tidak diizinkan memiliki nilai null.

    2. Extension Extension menunjukkan isi dari tabel (nilai-nilai dari atribut yang ada dalam tabel) pada suatu waktu. Ekstensi suatu tabel relasional cenderung untuk berubah dari waktu ke waktu.

    4.4 Aturan-aturan dalam Primary Key Dasar penentuan primary key adalah bahwa nilai-nilai rinci data dari atribut yang digunakan sebagai primary key haruslah unik, artinya ridak mungkin ada nilai rinci data yang sama pada semua record dalam basis data. Selain itu ada aturan-aturan lain yang berhubungan dengan masalah integritas (entity integrity) primary key yang dipilih, yaitu : 1. Integritas Entity; yaitu bahwa nilai atribut yang dipilih sebagai primary key tidak boleh null untuk

    setiap record yang ada pada dalam relasi. Dalam hal ini terdapat 2 pengertian yaitu null untuk data string dan null untuk data numerik. Null untuk data string adalah suatu string dengan panjang data nol, atau tidak ada nilai datanya. Null untuk data numerik adalah nol. Aturan ini akan memberikan jaminan bahwa semua record yang ada dalam basis data akan dapat diakses karena semua record dapat diidentifikasi berdasarkan kunci yang unik. Contoh sederhana dari relasi yang memenuhi aturan integritas entity terlihat pada tabel Mata_Kuliah dibawah ini :

    Tabel 4.4 Mata Kuliah

    KODE_MK NAMA_MK SKS SEMESTER

    K-0101 K-1101 K-0202 K-2202

    Statistik Algoritma dan Pemrograman Manajemen Aljabar Linier

    2 4 2 3

    3 2 2 4

  • 27

    Dalam gambar diatas ditentukan bahwa primary key-nya adalah Kode_MK sehingga dapat dipahami bahwa relasi Mata_Kuliah telah memenuhi integritas entity, karena tidak ada nilai null pada atribut Kode_MK untuk setiap record yang ada dalam relasi.

    2. Integritas Referensial; yaitu hubungan yang terjadi antara 2 atau lebih tabel/relasi dalam suatu sistem basis data yang menggunakan primary key yang sama. Jika tabel-tabel tersebut direlasikan maka primary key harus menjamin bahwa untuk setiap nilai primary key tertentu dalam tabel yang satu harus ada pula record yang sama pada tabel yang lain. Tabel dibawah ini akan menunjukkan integritas referensial yang diabaikan melalui tabel Tugas dan Poyek.

    Tabel 4.5 Tugas

    NIP NO_PROYEK

    1022 1022 1023 1024 1024

    1010 1020 1030 1010 1020

    Tabel 4.6 Proyek

    NO_PROYEK NAMA_PROYEK MANAJER BIAYA_PROYEK PERKIRAAN_BIAYA

    1010 1020

    Kantor Pemasaran Baru Saluran Distribusi

    Doni DIAN

    100.000.00 60.000.00

    120.000.00 65.000.00

    4.5 Kerelasian (Relationship) Antar Entity Suatu relasi antar entity akan memberikan data kepada pemakai atau informasi bagi pembuat keputusan tentang suatu klas entity. Suatu contoh sederhana, jika terdapat suatu relasi tentang perusahaan penerbangan yang berisi data nama perusahaan penerbangan dan nomor teleponnya, serta relasi lain tentang jadwal penerbangan yang berisi data jam keberangkatan dan jam kedatangan pesawat, tetapi tanpa ada cara untuk merelasikan keduanya, maka akan ditemui kesulitan untuk memperoleh data tentang pesawat mana yang akan digunakan untuk mencapai tujuan tertentu dan kapan pesawat akan tiba dan berangkat dari pelabuhan udara. Dari gambaran sederhana tersebut akan dimengerti bahwa kerelasian antar entity sangat diperlukan guna memperoleh data atau informasi yang diperlukan. Dalam hal ini perlu dibedakan antara relasi (relation) dan kerelasian (relationship). Relasi dimaksudkan sebagai saling keterkaitan anatara kesatuan data dalam satu atau beberapa tabel sedangkan kerelasian mempunyai makna dan ruang lingkup yang lebih luas dibandingkan dengan relasi. Untuk itu kerelasian antar entity tersebut dapat dibagi menjadi 2 type:

    1. Kerelasian antar entity dalam satu tabel. Tipe kerelasian ini terjadi antar entity dan atributnya dalam satu tabel, dapat ditunjukkan pada tabel dibawah ini :

    Tabel 4.7 Karyawan

    NIP NAMA DEPARTEMEN

    1021 1022 1023 1024

    Rina Reny Rita Rian

    Akuntansi Pemasaran Pemasaran Akuntansi

  • 28

    2. Kerelasian antar entity dalam banyak tabel.

    Tipe ini mempunyai kerelasian yang lebih kompleks. Yang termasuk dalam tipe kedua ini adalah relasi jenis pohon (tree), jaringan sederhana (simple network) dan jaringan kompleks (complex network).

    a. Jenis Pohon (tree); kerelasiannya dapat dilihat pada tabel dibawah ini : Tabel 4.8 Karyawan

    NIP NAMA DEPARTEMEN

    1021 1022 1023 1024

    Rina Reny Rita Rian

    Akuntansi Pemasaran Pemasaran Akuntansi

    Tabel 4.9 Pengalaman Kerja

    NIP JABATAN SEBELUMNYA

    1021 1021 1022 1023

    Consultan Yunior Analis Riset Konsultan Yunior Analis Reset

    b. Jenis Jaringan Sederhana (Simple Network); kerelasiannya dapat dilihat pada

    tabel-tabel dibawah ini : Tabel 4.10 Karyawan

    NIP NAMA DEPARTEMEN GOL_UPAH

    1021 1022 1023 1024

    Rina Reny Rita Rian

    Akuntansi Pemasaran Pemasaran Akuntansi

    2 1 2 1

    Tabel 4. 11 Pengalaman Kerja

    NIP DEPARTEMEN

    1021 1023

    Akuntansi Pemasaran

    Tabel 4.12 Upah

    GOL_UPAH DESKRIPSI KENAIKAN_UPAH

    1 2

    Gaji Tetap Gaji Perjam

    Tahunan tahunan

    c. Jenis Jaringan Kompleks (Complex Network); kerelasiannya dapat dilihat pada

    tabel-tabel dibawah ini : Tabel 4.13 Tugas

    NIP NO_PROYEK

    1022 1022 1023 1024 1024

    1010 1020 1030 1010 1020

  • 29

    Tabel 4.14 Karyawan

    NIP NAMA DEPARTEMEN GOLONGAN_UPAH

    1021 1022 1023 1024

    Rina Reny Rita Rian

    Akuntansi Pemasaran Pemasaran Akuntansi

    2 1 2 1

    Tabel 4.15 Proyek

    NO_PROYEK NAMA_PROYEK MANAJER BIAYA_PROYEK PERKIRAAN_BIAYA

    1010 1020 1030

    Kantor Pemasaran Baru Saluran Distribusi Riset Pasar

    Reny Reny Rita

    100.000.00 60.000.00 45.000.00

    120.000.00 50.000.00 40.000.00

    Dari beberapa tinjauan tentang kerelasian antar entity pada bagian ini dapat disimpulkan bahwa hal terpenting yang harus diperhatikan adalah bagaimana agar relasi-relasi yang ada dalam suatu sistem basis data dapat dihubungkan satu sama lain. Hal ini diperlukan agar selalu tersedia data/informasi yang diperlukan oleh pemakai atau para pengambil keputusan. Suatu primary key harus ditentukan dari atribut-atribut yang ada dalam suatu relasi, sehingga record-record yang ada dapat saling berhubungan secara lojik membentuk suatu basis data. 4.6 Manipulasi Data Manipulasi data merupakan suatu cara untuk menyediakan data-data bagi para pemakai atau informasi-informasi untuk para pembuat keputusan (manajer). Terdapat dua tipe manipulasi data, yaitu relational algebra dan relational calculus. Perbedaan mendasar pada kedua tipe tersebut adalah bahwa dalam relational algebra harus dipikirkan tentang bagaimana relasi dikonstruksikan untuk memenuhi kebutuhan data, sedangkan relational calculus hanya memikirkan tentang data apa yang diperlukan pemakai. Kedua tipe manipulasi data tersebut akan dibahas secara lebih terperinci dalam uraian berikut ini : 1. Relational Algebra

    Relational Algebra menyediakan sejumlah operator untuk memanipulasi data pada seluruh relasi, yang antara lain adalah seperti dibawah ini : a. Proyeksi (projection); digunakan untuk menciptakan suatu relasi baru dengan menyeleksi

    atribut-atribut dari suatu relasi Tabel 4.16 Karyawan (a)

    NIP NAMA DEPARTEMEN

    1021 1022 1023 1024

    Rina Reny Rita Rian

    Akuntansi Pemasaran Pemasaran Akuntansi

    Tabel 4.17 NIP_Nama (b)

    NIP NAMA

    1021 1022 1023 1024

    Rina Reny Rita Rian

  • 30

    Tabel 4.18 Departemen (c)

    DEPARTEMEN

    Akuntansi Pemasaran

    Keterangan :

    a. Tabel Karyawan yang asli b. Tabel Karyawan diproyeksikan melalui NIP dan Nama c. Tabel Karyawan diproyeksikan melalui Departemen

    b. Seleksi (selection); digunakan untuk menciptakan suatu relasi baru dengan menyeleksi

    record-record dari suatu relasi Tabel 4.19 Karyawan (a)

    NIP NAMA DEPARTEMEN

    1021 1022 1023 1024

    Rina Reny Rita Rian

    Akuntansi Pemasaran Pemasaran Akuntansi

    Tabel 4.20 Karyawan_Akuntasi (b)

    NIP NAMA DEPARTEMEN

    1021 1024

    Rina Rian

    Akuntansi Akuntansi

    Tabel 4.21 Nama_Karyawan (c)

    NAMA

    Rina Rian

    Keterangan :

    a. Tabel Karyawan yang asli b. Tabel Karyawan diseleksi dimana Departemen sama dengan

    Akuntansi c. Tabel Karyawan_Akuntansi diproyeksikan melalui Nama

    c. Penggabungan (Union); digunakan untuk menciptakan suatu relasi baru dengan

    mengkombinasikan secara vertikal record-record dari dua tabel. Relasi-relasi yang dikombinasikan tersebut harus compatibel.

    Tabel 4.22 Jabatan (a)

    NIP JABATAN

    1021 1022 1023 1024

    Konsultan Senior Konsultan Senior Konsultan Senior Analis Riset

  • 31

    Tabel 4.23 Pengalaman_Kerja (a)

    NIP JABATAN

    1021 1022 1023 1024

    Konsultan Yunior Konsultan Yunior Konsultan Yunior Analis Riset

    Tabel 4.24 Pengalaman_Jabatan (b)

    NIP JABATAN

    1021 1022 1023

    1021 1022 1023

    1024

    Konsultan Yunior Konsultan Yunior Konsultan Yunior Konsultan Senior Konsultan Senior Konsultan Senior Analis Riset

    Keterangan :

    a. Tabel Jabatan dan Pengalaman_Kerja Asli b. Tabel Jabatan dan Pengalaman Kerja digabung menjadi relasi

    Pengalaman_Kerja

    d. Interseksi (Intersection); digunakan untuk menciptakan suatu relasi baru, yang memuat record-record yang ada dalam kedua tabel

    Tabel 4.25 Karyawan (a)

    NIP NAMA DEPARTEMEN

    1021 1022 1023 1024

    Rina Reny Rita Rian

    Akuntansi Pemasaran Pemasaran Akuntansi

    Tabel 4. 26 Karyawan_Baru (a)

    NIP NAMA DEPARTEMEN

    1021 1025

    Rina Rida

    Akuntansi Pemasaran

    Tabel 4.27 Karyawan_Promosi (b)

    NIP NAMA DEPARTEMEN

    1021 Rina Akuntansi

    Keterangan :

    a. Tabel-tabel asli. b. Tabel Karyawan_Promosi merupakan hasil opersai interseksi antara

    tabel Karyawan dan Karyawan_Baru.

  • 32

    e. Differensi (Difference); digunakan untuk menciptakan suatu relasi baru, yang memuat record-record yang ada dalam suatu tabel tetapi tidak ada dalam tabel yang lain.

    Tabel 4.28 Karyawan (a)

    NIP NAMA DEPARTEMEN

    1021 1022 1023 1024

    Rina Reny Rita Rian

    Akuntansi Pemasaran Pemasaran Akuntansi

    Tabel 4.29 Karyawan_Baru (a)

    NIP NAMA DEPARTEMEN

    1021 1025

    Rina Rida

    Akuntansi Pemasaran

    Tabel 4.30 Supervisor (b)

    NIP NAMA DEPARTEMEN

    1023 Rita Pemasaran

    Tabel 4.31 Non_Supervisor (b)

    NIP NAMA DEPARTEMEN

    1021 1022 1024 1025

    Rina Reny Rian Rida

    Akuntansi Pemasaran Akuntansi Pemasaran

    Keterangan :

    a. Tabel-tabel asli b. Tabel-tabel hasil operasi Differensi antara Tabel Karyawan dan tabel

    karyawan baru.

    f. Divisi (Division); digunakan untuk menciptakan suatu relasi baru dengan menyeleksi record-record dari suatu relasi yang didasarkan pada nilai-nilai atribut yang sama dalam memisahkan relasi.

    Tabel 4. 32 Kepakaran (a)

    NIP JABATAN

    1021 1021 1022 1023 1023 1024 1024

    Investasi Perpajakan Stok Pasar Manajemen Stok Pasar Perpajakan Investasi

    Tabel 4.33 Keahlian (b)

    AREA

    Investasi Perpajakan

  • 33

    Tabel 4.34 Pakar_Berdasarkan_Keahlian (c)

    AREA

    1021 1024

    Keterangan :

    a. Tabel asli. b. Tabel Kepakaran yang telah dimodifikasi menjadi Keahlian c. Tabel hasil operasi Divisi.

    g. Penyertaan (Join); digunakan untuk menciptakan suatau relasi baru yang didasarkan pada

    kerelasian antara dua atribut dalam relasi-relasi yang berbeda dengan cara mengkombinasikannya secara horizontal

    Tabel 4.35 Karyawan (a)

    NIP NAMA DEPARTEMEN

    1021 1022 1023 1024

    Rina Reny Rita Rian

    Akuntansi Pemasaran Pemasaran Akuntansi

    Tabel 4.36 Supervisor (a)

    NIP NAMA DEPARTEMEN

    1023 Rita Pemasaran

    Tabel 4.37 Data_Seluruhnya (b)

    NIP NAMA DEPARTEMEN HANYA_NIP HANYA_NAMA HANYA_DEPT

    1021 1022 1023 1024

    Rina Reny Rita Rian

    Akuntansi Pemasaran Pemasaran Akuntansi

    1023 1023 1023 1023

    Rita Rita Rita Rita

    Pemasaran Pemasaran Pemasaran Pemasaran

    Keterangan :

    a. Tabel-tabel asli b. Hasil Operasi penyertaan tabel Karyawan dan tabel Supervisor yang

    diberi nama tabel Data_Seluruhnya. 2. Relational Calculus

    Relational Calculus merupakan tipe manipulasi data yang tidak menyediakan suatau set operator dan memberikan fleksibilitas yang sangat baik dalam relasi-relasi. Relational calculus merupakan tipe manipulasi data non prosedural karena pemakai hanya menspesifikasikan data-data apa yng diinginkannya bukan bagaimana memperolehnya. Adapun operasi-operasi yang termasuk dala relational calculus hampir sama dengan yang terdapat pada relational algebra, yaitu : a. Proyeksi

    Pada saat operasi proyeksi diperlukan, hasil yang diinginkan adalah suatu relasi yang memuat (pada umumnya lebih sedikit) atribut-atribut yang disusun secara spesifik. Proyeksi dispesifikasikan dengan mendeskripsikan atribut-atribut yang masih ditahan dalam hasil

  • 34

    operasi, sesuai dengan keperluannya. Berikut ini merupakan suatu contoh manipulasi data yang menggunakan operasi proyeksi dalam relational calculus, yang secara formal dapat ditulis sebagai berikut :

    R [A,B] = { r:r R --- r [A,C]

    Keterangan : R : adalah suatu tabel yang memuat atribut-atribut A,B dan C r : adalah record dalam tabel R r [A,C] : adalah tabel hasil proyeksi yang memuat atribut-atribut A dan C

    Tanda : dibaca sebagai sedemikian rupa sehingga, tanda diterjemahkan sebagai adalah elemen pada, dan merupakan simbol hubungan logika yang dibaca sebagai dan. Maka statement dalam contoh diatas dapat dibaca sebagai proyeksi pada tabel R melalui atribut A dan C adalah sama dengan kumpulan semua record (dinotasikan dalam r) sedemikian rupa sehingga record-record tersebut adalah elemen-elemen pada tabel R (dinotasikan oleh :) dan record-record memuat atribut-atribut A dan C. Contoh operasi proyeksi pada relational algebra dalam gambar 4.8 dapat dispesifikasikan dengan mensubstitusikan tabel Karyawan sebagai R, Nip untuk A dan Nama untuk C dalam statement diatas.

    b. Seleksi

    Operasi seleksi digunakan untuk memisahkan record-record yang memenuhi batasan-batasan tertentu atau sekelompok batasan. Seleksi dengan menggunakan relational calculus tentu saja memerlukan spesifikasi batasan yang ada. Jika R menyatakan suatu relasi yang memuat atribut-atribut A,B dan C dan r adalah sebuah record dalam R. Batasan

    yang ditentukan untuk menyeleksi record-record adalah . A dan V adalah suatu konstanta yang diperlukan. Operasi seleksi didalam relational calculus dapat dijelaskan melalui dua kasus yang berbeda, yaitu restriksi (restiction) dan seleksi (selection). Restriksi adalah suatu seleksi dalam suatu nilai atribut spesifik yang nantinya akan dibandingkan. Seleksi merupakan kasus yang kedua dimana nilai suatu atribut akan dibandingkan dengan nilai atribut yang lain. Contoh dapat dilihat pada tabel 4.21 (operasi seleksi dalam relational algebra) dimana terdapat suatu restriksi yang diidentifikasikan dengan menyeleksi dari R pada semua record-record (r), dimana A menentukan batasan yang dispesifikasikan dengan

    pada suatu nilai V. Secara formal dapat dituliskan dengan cara sebagi berikut :

    R [A B] = {r :r R (r [A] V)}

    Pada contoh tersebut diperlukan subtitusi yaitu Karyawan untuk R, Departemen untuk A,

    Akuntansi untuk V dan = untuk Operasi seleksi secara formal didefinisikan sebagai berikut :

    R [A B] = {r : r R (r [A] r [B])}

    Perbedaan antara seleksi dan restriksi hanya terdapat pada bagian akhir, dimana atribut A dibandingkan dengan atribut B yang merupakan atribut konstan. Operasi seleksi dalam relational calculus dapat diilustrasikan dengan relasi Proyek untuk R, Biaya Proyek untuk A,

    Perkiraan_Biaya untuk B dan lebih besar atau sama dengan untuk simbol . Maka hasil

  • 35

    operasinya merupakan relasi yang terdiri dari atas record-record untuk proyek nomor 1020 dan 1030.

    c. Penyertaan

    Operasi penyertaan dapat didefinisikan dengan definisi-definisi yang digunakan diatas (dalam operasi proyeksi dan seleksi), yaitu R sebagi suatu relasi yang meliputi atribut A,B

    dan C, r untuk record dalam R dan sebagai batasan yang harus ditentukan untuk menyeleksi record. Sebagai tambahan, simbol S didefinisikan sebagai suatu relasi yang memuat record yang direpresentasikan dengan definisi s pada domain yang sama pada R, dan dilambangkan dengan yang mendefinisikan ketergabungan dua record, maka r s mengkonstruksikan suatu record yang meliputi semua atribut pada r dan diikuti dengan seluruh atribut pada s. Operasi penyertaan dalam relational calculus didefinisikan sebagai berikut :

    R [A B] S = {(r s) : r R s S (r [A] s [B])}

    Dengan kalimat lain, penyertaan R dan S melalui atribut A dan B didefinisikan dengan penggabungan record r dan s sedemikain rupa sehingga r berada didalam R, s berada didalam S dan nilai A dalam r dan B dalam s menentukan batasan yang ditentukan dengan

    . Operasi penyertaan diilustrasikan dalam tabel 4.37, dan dapat dijelaskan dengan mensubstitusikan Karyawan untuk R, Supervisor untuk S, Departemen pada karyawan

    sebagai A, Departemen pada Supervisor untuk B, dan = untuk . Sebagaimana contoh diatas, simbol dapat berupa banyak operator kondisi yang lain, yang menspesifikasikan batasan-batasan.

    LATIHAN :

    1. Perhatikan atribut dari tabel dibawah ini! Pasien : {Kode_Pasien, Nama_Pasien, Penyakit, Kode_Dokter, Nama_Dokter, Kode_Ruang, Nama_Ruang, Tanggal_mulai_rawat } Tentukan :

    a. Tipe data dan batasan nilai yang sesuai untuk format tabel Pasien diatas agar dapat menampung record-recordnya.

    b. Isi 5 record untuk tabel tersebut. c. Petakan tabel tersebut dalam tipe relasi jenis Jaringan Kompleks.

    2. Buatlah contoh tabel dengan menggunakan semua operasi pada Relational Algebra, masing-masing satu buah!

  • 36

    NORMALISASI

    Definisi Normalisasi Beberapa Definisi Normalisasi 1. Normalisasi adalah suatu teknik yang menstrukturkan data dalam cara-cara tertentu untuk

    membantu mengurangi atau mencegah timbulnya masalah yang berhubungan dengan pengolahan data dalam basis data.

    2. Normalisasi adalah suatu proses memperbaiki/membangun dengan model data relational, dan secara umum lebih tepat dikoneksikan dengan model data logika

    3. Normalisasi adalah proses mengelompokkan data kedalam bentuk tabel atau relasi atau file untuk menyatakan entitas dan hubungan mereka sehingga terwujud satu bentuk database yang mudah untuk dimodifikasi.

    Proses normalisasi ini menghasilkan struktur record yang konsisten secara lojik, yang mudah untuk dimengerti dan sederhana dalam pemeliharaannya. Beberapa level normalisasi dapat dijelaskan, dan kriteria yang mendefinisikan level-level pada normalisasi adalah bentuk normal (norm form).

    5.2 Tujuan Normalisasi Ada banyak kemungkinan desain untuk struktur data yang digunakan dalam sistem basis data. Dalam perjalanan panjangnya, beberapa desain membuktikan kelebihannya dari yang lain. Suatu desain struktur data yang paling baik adalah jika membuat kerelasian-kerelasian dalam basis data menjadi mudah untuk dimengerti, lebih sederhana pemeliharaannya dan lebih mudah dalam memprosesnya untuk kebutuhan baru. Kapan saja ketika rinci data telah dikelompokkan menjadi record-record (atau atribut menjadi relasi-relasi), maka salah satu atau lebih dari ketiga sifat diatas harus dipenuhi. Jika antar rinci data tidak dihubungkan secara lojik maka pemakai akan menjadi kacau dan pemeliharaannya pun akan menjadai sulit. Jadi, pada akhirnya kebutuhan data baru akan memerlukan substansi kerja untuk menentukan rinci data yang harus disediakan jika diperlukan, juga untuk membuat (jika dimungkinkan secara lojik) pengelompokan (grouping).

    5.3 Penyimpangan-penyimpangan (Anomalies) Dalam Modifikasi Beberapa akibat desain basis data yang tidak baik akan dibahas pada bagian ini. Permasalahan itu biasanya terjadi selama proses delete, insert atau modifikasi data dalam basis data, yang disebut sebagai penyimpangan-penyimpangan atau biasa dikenal dengan anomalies. Terdapat 3 macam anomali yang pembahasannya terdapat pada uraian dibawah ini : a. Delete anomaly; yaitu suatu proses penghapusan suatu entity lojik yang mengakibatkan

    hilangnya informasi tentang entity yang tidak direlasikan secara lojik. Suatu anomali pada umumnya merupakan penyimpangan yang tidak diperkirakan. Contoh yang memperjelas masalah penyimpangan akibat proses delete dapat dilihat pada tabel dibawah ini :

    Tabel 5.1 Travel_Club

    NO_ANG NAMA_ANGGOTA ALAMAT TUJUAN BIAYA TGL_BRKT

    1234 2345 3456 4567

    Adi Ali Ani Ari

    Sipin Telanai The Hok Sipin

    Padang Medan Medan Palembang

    1.000.000 2.000.000 2.000.000 500.000

    10-05-2007 11-06-2007 12-06-2007 05-08-2007

    5

  • 37

    Tabel Travel_Club diatas merupakan suatu contoh relasi yang memuat data tentang rencana untuk anggota sebuah club. Organisasi ini memberikan beberapa fasilitas untuk melakukan perjalanan wisata. Yang perlu diperhatikan adalah jika seorang anggota, Ari misalnya, memutuskan untuk membatalkan perjalanan ke Palembang, dan record yang bersangkutan dihapus, maka seluruh data dalam record tersebut akan terhapus. Hal ini akan mengakibatkan hilangya semua data pada biaya perjalanan ke Palembang

    b. Insert anomaly, yaitu suatu proses insert atau menggeser data entity lojik yang memerlukan pergeseran data entity lojik yang lain. Dengan menggunakan tabel 5.1 diatas, desain struktur tersebut akan diubah karena ada anggota klub yang merencanakan untuk berlibur ketempat lain sehingga diperlukan data biaya yang baru, dan perlu pula ditambahakan kedalam struktur. Pada kasus ini penambahan data biaya baru akan mengakibatkan pergeseran pada data lain, yaitu pada data tujuan. Konsekuensinya, menambah data perjalanan wisata kesuatu tujuan yang lain menjadi tidak mungkin dilakukan karena hal ini jika dilakukan akan mengakibatkan terjadinya penyimpangan pada tabel tersebut.

    c. Update anomaly; yaitu suatu proses mengupdate data pada enttity lojik yang mengakibatkan perubahan data lebih dari satu tempat dalam suatu tabel. Dengan menggunakan contoh pada tabel Travel_Club, jika biaya perjalanan ke Medan dirubah, maka perubahan tersebut harus dilakukan pada lebih dari satu tempat saja. Pengubahan data biaya juga dilakukan pada tabel-tabel lain yang memuat data tersebut.

    5.4 Dependensi (ketergantungan) Dependensi merupakan konsep yang mendasari normalisasi, dimana ia menjelaskan tentang hubungan antar atribut atau secara lebih khusus menjelaskan nilai atribut yang menentukan nilai atribut lainnya. Dependensi ini kelak akan menjadi acuan bagi pendekomposisian data kedalam bentuk yang paling efisien. Macam-macam dependensi : a. Dependensi Fungsional (Functional Dependence), adalah dependensi dimana jika suatu atribut

    Y mempunyai dependensi fungsional terhadap atribut X jika hanya jika setiap nilai X berhubungan dengan sebuah nilai Y. Definisi diatas dapat ditulis dalam bentuk notasi sebagai berikut : X Y (dibaca X secara fungsional menentukan Y atau Y secara fungsional tergantung pada X) Sebagai contoh misalnya terdapat tabel Pesanan_Jual yang dinotasikan dengan :

    Pesanan_Jual (Pembeli, Kota, Barang, Jumlah)

    yang artinya bahwa tabel Pesanan_Jual mengandung atribut Pembeli, Kota, Barang dan Jumlah. Sampel data pada tabel ini diperlihatkan pada tabel dibawah ini :

    Tabel 5.2 Pesanan_Jual

    PEMBELI KOTA BARANG JUMLAH

    P01 P01 P02 P02 P02

    Yogya Yogya Jakarta Jakarta Jakarta

    B1 B3 B1 B2 B3

    10 15 7 10 8

    Pada contoh ini, Pembeli secara fungsional menentukan Kota, sebab terlihat bahwa untuk Pembeli yang sama, Kotanya juga sama. Dengan demikian notasinya dapat dituliskan sebagai berikut :

  • 38

    Pembeli Kota

    atau contoh yang lain :

    {Pembeli, Barang} Jumlah {Pembeli, Barang} Kota {Pembeli, Barang} {Jumlah, Kota}

    catatan : - Bagian yang terletak disebelah kiri panah biasa disebut penentu (determinan) dan

    bagian yang terletak disebelah kanan panah disebut yang tergantung (dependen) - Tanda { } biasa digunakan kalau ada lebih dari satu atribut, baik pada penentu

    maupun yang tergantung.

    b. Dependensi Fungsional Sepenuhnya (Full Functional Dependence), dapat diartikan sebagai suatu atribut Y mempunyai dependensi fungsional penuh terhadap atribut X jika :

    - Y mempunyai dependensi fungsional terhadap X - Y tidak memiliki dependensi terhadap bagian dari X

    Misalnya pada tabel Pelanggan : Pelanggan (Kode_Pelanggan, Nama, Kota, Nomor_Fax)

    Pada tabel ini : i. {Kode_Pelanggan, Kota} Nomor_Fax ii. Kode_Pelanggan Nomor_Fax

    Mengingat bahwa No_Fak bergantung pada {Kode_Pelanggan, Kota} (kondisi 1) dan juga bergantung pada Kode_Pelanggan (kondisi 2), yang tidak lain merupakan bagian dari {Kode_Pelanggan, Kota}, maka Nomor_Fax tidaklah mempunyai dependensi fungsional sepenuhnya terhadap {Kode_Pelanggan,Kota}. Dengan kata lain, Nomor_Fax hanya mempunyai dependensi sepenuhnya terhadap Kode_Pelanggan.

    c. Dependensi Total, dimana suatu atribut Y mempunyai dependensi total terhadap atribut X jika : - Y memiliki dependensi fungsional terhadap X - X mempunyai dependensi fungsional terhadap Y

    Dependensi seperti ini dinyatakan dengan notasi : X Y Misalnya, terdapat relsi sebagaimana diperlihatkan pada gambar dibawah ini :

    Tabel 5.3 Pemasok

    KODE_PEMASOK NAMA_PEMASOK KOTA

    C1 C2 C3

    Cindo Citra Candra

    Jakarta Bandung Surabaya

    Pada contoh ini :

    Kode_Pemasok Nama_Pemasok

    dengan asumsi bahwa tidak ada nama pemasok yang sama

  • 39

    d. Dependensi Transitif, dimana atribut Z yang mempunyai dependensi transitif terhadap X bila: - Y memiliki dependensi fungsional terhadap X - Z memiliki dependensi fungsional terhadap Y Sebagai contoh, terdapat tabel sebagaimana terlihat dibawah ini : Tabel 5.4 Jadwal_Kuliah

    MATA_KULIAH RUANG TEMPAT WAKTU

    Jaringan Komputer Matematika I Sistem Pakar Fisika I

    R. 31 R. 42 R. 11 R 12

    Gedung A Gedung B Gedung B Gedung C

    Senin, 08:00 09:45 Selasa, 09:45 11:00 Rabu, 13:00 14:30 Selasa, 08:00 09:45

    Pada tabel ini : Kuliah {Ruang, Waktu} Ruang Tempat

    Terlihat bahwa : Kuliah Ruang Tempat

    Dengan demikian Tempat mempunyai dependensi transitif terhadap Kuliah. 5.5 Diagram Dependensi Fungsional

    Diagram Dependensi Fungsional (Diagram DF) adalah diagram yang digunakan untuk menggambarkan dependensi fungsional. Diagram ini menunjukkan hubungan antar atribut yang menjadi penentu atribut lainnya dengan hubungan yang dinyatakan dengan anak panah. Sebagai contoh, dependensi fungsional pada relasi yang terdapat pada tabel Jadwal_Kuliah dapat disajikan dalam diagram FD sebagaimana terlihat pada gambar dibawah ini :

    Gambar 5.1 Diagram FD

    5.6 Dekomposisi (Pemecahan Tak Hilang) Pada proses normalisasi seringkali terjadi pemecahan sebuah relasi menjadi dua relasi atau lebih. Proses pemecahan seperti ini disebut dengan istilah dekomposisi. Secara lebih khusus, macam dekomposisi yang dilakukan adalah dekomposisi tak hilang, yang artinya bahwa tak ada informasi yang hilang ketika relasi dipecah menjadi relasi-relasi lain. Tabel dibawah ini menunjukkan sebuah relasi dengan dua macam dekomposisi.

    Tabel 5.5 Bentuk relasi asli

    NIM NAMA PROGRAM_STUDI

    2007101 2007201 2007301

    Didi Dian Didi

    Teknik Informatika Sistem Komputer Sistem Informasi

    Mata_Kuliah

    Waktu

    Ruang Tempat

  • 40

    (a) Contoh dekomposisi tak hilang Tabel 5.6 Relasi Nim_Nama

    NIM NAMA

    2007101 2007201 2