MAP
lemari Arsip
FILE
Disk
Basis data
Basis data dan lemari arsip sesungguhnya memiliki prinsip kerja dan tujuan yang sama. Prinsip
utamanya adalah pengaturan data/arsip. Dan tujuan utamanya adalah kemudahan dan
kecepatan dalam pengambilan kembali data/ arsip. Perbedaannya hanya terletak pada media
penyimpanan yang digunakan . jika lemari arsip menggunakan lemari sebagai media
penyimpanannya, maka basisdata mnenggunakan media penyimpanan elektronis seperti disk
(disket, harddisk).
Yang perlu diingat adalah bahwa tidak semua bentuk penyimpanan data secara elektronis bisa
disebut basis data. Yang sangat ditonjolkan dalam basisdata adalah
pengaturan/pemilaha/pengelompokkan/pengorganisasian data yang akan kita simpan sesuai
fungsi/jenisnya. Pemilahan/ pengelompokan ini dapat berbentuk sejumlah file/ tabel terpisah atau
dalam bentuk pendefinisian kolom-kolom/field-field data dalam setiap file/tabel.
B. Hirarki Data
Berdasarkan tingkat kompleksitas nilai data, tingkatan data dapat disusun kedalam sebuah
hirarki, mulai dari yang paling sederhana hingga yang paling komplek.
Sistem Basis Data
1. basis data, merupakan sekumpulan dari bermacam-macam tipe
record yang memiliki hubungan antar record. Basis Data
2. berkas/file, merupakan sekumpulan rekaman data yang berkaitan
File
denngan suatu objek.
3. record , merupakan sekumpulan field/atribut/data item yang saling Record
berhubungan terhadap obyek tertentu
Field
- fixed length record, semua field dalam record memiliki ukuran
yang tetap. byte
- Variabel length record, field-field dalam record dapat memiliki
Bit
ukuran berbeda (metode penandaan yang digunakan adalah :
end of record marker, indikator panjang, dan tabel posisi record)
4. field/atribut/data item, merupakan unit terkecil yang disebut data,yang tidak dapat dipecah
lagi menjadi unit lain yang bermakna.
- fixed length field, memiliki ukuran yang tetap.
- variabel length field, field-field dalam record dapat memiliki ukuran berbeda.
5. byte, adalah bagian terkecil yang dialamatkan dalam memori.
byte mrupakan sekumpulan bit yang secara konvensional terdiri atas kombinasi delapan bit
yang menyatakan sebuah karakter dalam memori (I byte= I karakter)
6. bit, adalah sistem binner yang terdiri atas dua macam nilai, yaitu 0 dan 1. sistem binner
merupakan dasar yang dapat digunakan untuk komunikasi antara manusia dan mesin,
yang merupakan serangkaian komponen elektronik dan hanya dapat membedakan 2
macam keadaan, yaitu ada tegangan dan tidak ada tegangan yang masuk ke rangkaian
tersebut.
E. Abstraksi Data
Salah satu tujuan dari DBMS adalah untuk menyediakan fasilitas/antarmuka (interface) kepada
user.untuk itu system tersebut akan menyembunyikan detail tentang bagaimana data disimpan
dan dipelihara, sehingga data yang terlihatoleh user sebenarnya berbeda dengan yang tersimpan
secara fisik.
Abstraksi data merupakan tingkatan-tingkatan pengguna dalam memandang bagaimana
sebenarnya data diolah dalam sebuah sistem database sehingga menyerupai kondisi yang
sebenarnya dihadapi oleh pengguna sehari-hari.. Sebuah DBMS seringkali menyembunyikan
detail tentang bagaimana sebuah data disimpan dan dipelihara (diolah) dalam sebuah sistem
database, dengan tujuan untuk memudahkan pengguna dalam menggunakan DBMS tersebut.
Karena itu seringkali data yang terlihat oleh pemakai sebelumnya berbeda dengan yang
tersimpan secara fisik.
Sebagai gambaran , misalnya terdapat struktur data bertipe record seperti berikut :
Pegawai = RECORD
Nama : STRING;
Alamat : STRING;
Bagian : STRING;
Gaji : LongInt;
End:
Pada contoh ini record pegawai berisi 4 buah field (nama, alamat, bagian, gaji ). Setiap field
memiliki nama, dan setiap nama memiliki tipe data.
Pada level fisik, pegawai dapat dijabarkan sebagai blok data yang terletak pada lokasi berurutan
(satuan byte). Pada lapis konseptual masing-masing record dijabarkan dengan definisi tipe data .
pada lapis view, user tertentu hana boleh mengakses data tertentu, contohnya, seorang yang
menangani penggajian berhak mengetahui gaji seseorang bahkan mengubahnya, tetapi orang
yang bekerja di bagian lain tentu tidak boleh melihatnya.
Dosen Dosen
Siti Nurbaya Ashadi
Pengantar Pemrograman
Matematika I
Basis Data C
Dosen Dosen
Siti Nurbaya Ashadi
Pengantar Pemrograman
Matematika I
Basis Data C
Model database hirarki dan jaringan merupakan model database yang tidak banyak lagi dipakai saat ini,
karena adanya berbagai kelemahan dan hanya cocok untuk struktur hirarki dan jaringan saja. Artinya
tidak mengakomodir untuk berbagai macam jenis persoalan dalam suatu sistem database.
Model database relasi merupakan model database yang paling banyak digunakan saat ini, karena paling
sederhana dan mudah digunakan serta yang paling penting adalah kemampuannya dalam mengakomodasi
berbagai kebutuhan pengelolaan database. Sebuah database dalam model ini disusun dalam bentuk tabel
dua dimensi yang terdiri dari baris (record) dan kolom (field), pertemuan antara baris dengan kolom disebut
item data (data value), table-tabel yang ada di hubungkan (relationship) sedemikian rupa menggunakan
field-field kunci (Key field) sehingga dapat meminimalkan duplikasi data.
Contoh produk DBMS terkenal yang menggunakan model relasional antara lain adalah :
1. DB2 (IBM)
2. Rdb/VMS (Digital Equipment Corporation)
3. Oracle (Oracle Corporation)
4. Informix (Informix Corporation)
5. Ingres (ASK Group Inc)
6. Sybase (Sybase Inc)
Di lingkungan PC, produk-produk berbasis relasional yang cukup terkenal antara lain adalah :
1. Keluarga R:Base (Microrim Corp) antara lain berupa R:Base 5000
2. Keluarga dBase (Ashton-Tate, sekarang bagian dari Borland International), antara lain dbase III
Plus, dBase IV, serta Visual dBase
3. Microsoft SQL ( Microsoft Corporation)
4. Visual FoxPro (Microsoft Corporation)
- Prosedural, yang menuntut pengguna menentukan data apa saja yang diperlukan dan
bagaimana cara mendapatkannya.
- Nonprosedural, yang menuntut pengguna menentukan data apa saja yang diperlukan, tetapi
tidak perlu menyebutkan cara mendapatkannya.
Model Entity-Relationship adalah model data konseptual tingkat tinggi untuk perancangan basis
data. Model data konseptual adalah himpunan konsep yang mendeskripsikan struktur basis data,
transaksi pengambilan dan pembaruan basis data.
Model ER adalah data konseptual tak tergantung DBMS dan platform perangkat keras tertentu.
Model ER dikemukakan oleh Chen [1976]. Sejak itu, telah memperoleh banyak perhatian dan
perluasan.
Model ER adalah persepsi terhadap dunia nyata sebagai terdiri objek-objek dasar yang disebut
entitas dan keterhubungan (relationship) antar entitas-entitas itu.
Entitas merupakan individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat
dibedakan dari sesuatu yang lain. Sebuah kursi yang kita duduki, seseorang yang menjadi
pegawai di sebuah perusahaan dan sebuah mobil yang melintas di depan kita adalah entitas.
Sekelompok entitas yang sejenis dan berada dalam lingkup yang sama membentuk sebuah
himpunan entitas (entity sets). Sederhananya, entitas menunjuk pada individu suatu objek,
sedang himpunan entitas menunjuk pada rumpun (family) dari individu tersebut.
Seorang pasien, misalnya akan dimasukkan dalam himpunan entitas pasien. Sedang seorang
dokter akan ditempatkan dalam himpunan entitas dokter.
Dalam berbagai pembahasan/literature, penyebutan himpunan entitas (yang kurang praktis) ini
seringkali digantikan dengan sebutan entitas saja.
Karena itu sering ditemui, penggunaan istilah entitas (entity) di sebuah literature sebenarnya
menunjuk pada himpunan entitas.
Kunci Entitas
Sebagaimana model relasional, adalah penting dan berguna untuk memasukkan kunci yang
diasosiasikan dengan himpunan entitas. Kunci pada himpunan entitas S, adalah himpunan atribut
A. Sehingga tidak ada dua entitas di S yang mempunyai nilai sama untuk tiap atribut di A dan
tidak ada subset di A yang dapat menjadi kunci di S, dengan demikian kunci mempunyai property
minimal.
Atribut (Atributes/Properties)
Setiap entitas pasti memiliki atribut yang mendeskripsikan karakteristik (property) dari entitas
tersebut.
Penentuan / pemilihan atribut-atribut yang relevan bagi sebuah entitas merupakan hal penting
lainnya dalam pembentukan model ER. Contoh : nim, nama, alamat, kode.
Relasi menunjukkan adanya hubungan di antara sejumlah entitas yang berasal dari himpunan
entitas yang berbeda.
kode_kul=’IF-110’ dan
nama_kul=’Struktur Data’.
Relasi diantara kedua entitas tadi mengandung arti bahwa mahasiswa tersebut sedang
mengambil/mempelajari mata kuliah tersebut di sebuah perguruan tinggi yang ditinjau.
Kumpulan semua relasi diantara entitas-entitas yang terdapat pada himpunan entitas-himpuan
entitas tersebut membentuk himpunan relasi (relationship sets).
Sebagaimana istilah himpunan entitas yang banyak sekali disingkat menjadi entitas, istilah
himpunan relasi jarang sekali digunakan dan lebih sering disingkat dengan istilah relasi saja.
Kardinalitas/derajat Relasi
Kardinalitas Relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas
pada himpunan entitas yang lain. Kardinalitas relasi merujuk kepada hubungan maksimum yang
terjadi dari himpunan entitas yang satu ke himpunan entitas yang lain dan begitu juga sebaliknya.
Penggambaran Model ER secara sistematis dilakukan melalui diagram ER. Notasi-notasi simbolik
di dalam Diagram ER yang dapat digunakan adalah:
1. Persegi panjang, menyatakan Himpunan Entitas.
2. Lingkaran/Elips, menyatakan atribut (Atribut yang berfungsi sebagai key digaris bawahi).
3. Belah ketupat, menyatakan Himpunan Relasi.
4. Garis, sebagai penghubung antara Himpunan Relasi dengan Himpunan Entitas dan
Himpunan Entitas dengan atributnya.
5. Kardinalitas Relasi dapat dinyatakan dengan banyaknya garis cabang atau dengan
pemakaian angka (1 dan 1 untuk relasi one to one, 1 dan N untuk relasi one to many atau
N dan N untuk relasi many to many).
Diagram ER selalu dibuat secara bertahap. Paling tidak ada dua kelompok penahapan yang
biasa ditempuh di dalam pembuatan diagram ER, yaitu :
- Mengidentifikasi dan menetapkan seluruh entity yang terlibat dalam sistem database tersebut.
- Menentukan attribute-attribute atau field dari masing-masing entity beserta kunci (key)-nya.
Menentukan attribute dari suatu entitas sangat menentukan baik atau tidaknya sistem database
yang dirancang, karena attribute ini sangat menentukan nantinya dalam proses relasi. Attribute
merupakan ciri khas yang melekat pada suatu entity, misalnya attribute pada mahasiswa dapat
berupa nobp, nama, tempat lahir, tanggal lahir, alamat, nama orang tua, pekerjaan orang tua dan
lain-lain. Dari sekian banyak kemungkinan attribute yang ada pada entity mahasiswa, kita dapat
menggunakan hanya yang perlu saja. Setelah menentukan attributenya selanjutnya adalah
menentukan field kunci. Field kunci adalah penanda attribute tersebut sehingga bisa digunakan
untuk relasi nantinya dan field kunci ini harus bersifat unik. Misalnya pada entity mahasiswa,
attribute nobp bisa dijadikan field kunci, karena bersifat unik dan tidak ada mahasiswa yang
mempunyai nobp sama.
field kunci dari entity mahasiswa, pada entity mengajar terdapat juga attribute NoBP, maka
keberadaan attribute nobp pada entity mengajar disebut sebagai kunci tamu. Proses menentukan
hubungan antar entity juga sangat menentukan kualitas system database yang dirancang.
Contoh candidate-key :
Candidate Key
• Primary Key
Salah satu atrribut dari candidat key dapat dipilih menjadi primary key dengan 3 kriteria
sbb :
• Foreign Key
Jika sebuah primary key terhubungan ke table/entity lain, maka keberadaan primary key pada
entity tersebut di sebut sebagai foreign key. Misal : Primary Key KodeDosen dari entity Dosen
digunakan juga pada field entity KRS, maka keberadaan field KodeDosen pada entity KRS disebut
sebagai foreign key.
• Alternate Key
Setiap atribut dari candidate key yang tidak terpilih sebagai primary key akan dinamakan alternate
key. Pada contoh sebelumnya bila untuk primary key dipilih ID_Cus maka alternate key nya
adalah No.of Pay
.
KD-Dosen Nama_Dosen
D-100 Badu,S.T
D-101 Ir.Thomas
D-109 Harry,S.T,M.T
Primary Key
H. Normalisasi
Proses normalisasi adalah proses untuk memperoleh properti-properti skema relasi yang bagus
menjadi bentuk normal lebih tinggi sehingga syarat-syarat dibawah ini terpenuhi:
a. Mengoptimalisasi redudansi (pengulangan data yang tidak perlu). Redudansi tidak bisa
dihilangkan sama sekali karena berguna untuk integritas referensial, tetapi redudansi bisa
dioptimalisasi. Untuk jumlah data yang tidak terlalu banyak mungkin tidak terlalu berpengaruh
dalam hal penggunaan harddisk. Tapi bayangkan jika ada ribuan, bahkan jutaan redudansi,
mungkin akan sangat berpengaruh pada penggunaan ruang.
b. Menghilangkan anomali. Anomali pada dasarnya adalah ketidak-konsistenan (inkonsistensi).
Misalkan ada pergantian nama dari Bank Perkasa menjadi Bank Perkasa Utama sebanyak 4
record. Jika pergantian nama hanya dilakukan pada salah satu record saja, maka terjadi
ketidak-konsistenan yaitu satu nomor bank berrelasi dengan 2 nama bank yang berbeda.
Dekomposisi tabel dapat mengurangi redudansi yang ada dan menghilangkan anomali.
Perancangan melalui proses normalisasi mempunyai keuntungan-keuntungan sebagai berikut :
Bentuk Normal
Tujuan proses normalisasi adalah mengkonversi relasi menjadi bentuk normal lebih tinggi.
Terdapat beragam tingkat bentuk normal, yaitu :
Codd mendefinisikan bentuk normal pertama, kedua dan ketiga di makalah (Codd, 1970). Bentuk
normal ketiga kemudian diperbaiki sehingga mempunyai bentuk normal yang lebih kuat yaitu
BCNF (Codd, 1974). Fagin memperkenalkan bentuk normal keempat (Fagin, 1977), kemudian
Fagin juga memperkenalkan bentuk normal kelima (Fagin, 1979).
Bentuk normal pertama untuk menghilangkan atribut bernilai jamak. Bentuk normal kedua untuk
menghilangkan kebergantungan parsial. Bentuk normal ketiga untuk menghilangkan
kebergantungan transitif. Bentuk normal Boyce-Codd untuk menghilangkan anomaly tersisa
disebabkan kebergantungan fungsional. Bentuk normal keempat untuk menghilangkan
kebergantungan nilai jamak. Bentuk normal kelima untuk menghilangkan anomaly tersisa.
Tiga bentuk normal pertama berkaitan dengan kebergantungan fungsional. Sementara itu bentuk
keempat dan kelima berkaitan dengan redudansi yang disebabkan kebergantungan banyak nilai
(multi-valued dependencies).
Bentuk normal pertama adalah ekivalen dengan definisi model relasional. Relasi adalah bentuk
normal pertama (1NF) jika semua nilai atributnya adalah sederhana (bukan komposit).
Syarat :
o Tidak ada set atribut yang berulang atau bernilai ganda.
o Telah ditentukannya primary key untuk tabel atau relasi.
o Tiap atribut hanya memiliki satu pengertian.
o Tiap atribut yang dapat memiiki banyak nilai sebenarnya menggambarkan entitas
atau relasi yang terpisah.
Bentuk normal ketiga menghilangkan kebergantungan transitif, awalnya bentuk normal ketiga
dipikir sebagai bentuk normal puncak/paling akhir. Namun kemudian dapat ditemukan bentuk
normal lebih kuat yaitu bentuk normal Boyce-Codd.
BCNF memiliki ketentuan yaitu masing-masing atribut utama bergantung fungsional penuh pada
masing-masing kunci dimana kunci tersebut bukan bagiannya. Relasi adalah BCNF (optimal) jika
setiap determinan atribut-atribut relasi adalah kunci relasi. Relasi adalah BCNF (optimal) jika
kapanpun fakta-fakta disimpan mengenai beberapa atribut, maka atribut-atribut ini merupakan
satu kunci relasi. BCNF dapat memiliki lebih dari satu kunci. Properti penting BCNF adalah relasi
tidak memiliki informasi yang redundan.
Relasi dalam bentuk normal keempat (4NF) jika relasi dalam BCNF dan tidak berisi
kebergantungan banyak nilai. Untuk menghilangkan kebergantungan banyak nilai dari satu relasi,
kita membagi relasi menjadi dua relasi baru. Masing – masing relasi berisi dua atribut yang
mempunyai hubungan banyak nilai.
Bentuk normal kelima (5NF) berurusan dengan properti yang disebut join tanpa adanya
kehilangan informasi (lossless join). Bentuk normal kelima (5NF) juga disebut PJNF (projection-
join normal form). Kasus-kasus ini sangat jarang muncul dan sulit untuk dideteksi secara praktis.