Tugas 1 Resume Sistem Basis Data


SISTEM BASIS DATA

A.      Konsep Dasar Basis Data
Basis data terdiri dari 2 kata, yaitu basis & data. Basis dapat diartikan sebagai markas / gudang, tempat berkumpul. Sedangkan data adalah fakta yang mewakili suatu objek seperti manusia, barang, hewan peristiwa, keadaan dan sebagainya, yang direkam dalam bentuk angka, huruf simbol, teks gambar, bunyi atau kombinasinya.
Basis data sendiri dapat di definisikan dalam sejumlah sudut pandang seperti :
1. Himpunan kelompok data / arsip yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat & mudah.
2. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan/ penumpukan (redundansi), untuk memenuhi berbagai kebutuhan.
3. Kumpulan file/ tabel /arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis.

Basis data bertujuan untuk mengatur data sehingga diperoleh kemudahan, ketepatan, dan kecepatan dalam pengambilan kembali. Untuk mencapai tujuan, syarat sebuah basis data yang baik adalah sebagai berikut;
  1. Tujuan adanya redundansi dan inkonsistensi data
Redudansi terjadi jika suatu informasi disimpan di beberapa tempat. Misalnya, ada data mahasiswa yang memuat NIM, nama, alamat, dan atribut lainnya, sementara kita punya data lain tentang data KHS mahasiswa yang isinya yang terdapat NIM, nama, mata kuliah, dan nilai.

2)      Kesulitan Pengaksesan Data
Basis data memiliki fasilitas untuk melakuakan pencarian informasi dengan menggunakan Query taupun dari tool untik melihat tabelnya. Dengan fasilitas ini. Kita bias secara langsung melihat data dari software DBMS-nya. Selain itu, baiss data bias dihubungkan dengan program aplikasi sehingga memudahkan pengguna dalam mengakses informasi. Misalnya program aplikasi untuk kasir yang terhubung dengan basis data . pengguna cukup mengguna fasilitas pencarian ataupun laporan. Yang tersedia pada program aplikasi untuk mendapatkan informasi stok, laporan penjualan, dan lain-lain. Dalam basis data, informasi yang diperolah dari kumpulan data bisa berupa keseluruhan data, sebagai data, data denga filter tertentu, data yang terurut, ataupun data summary.

3)      Multiple User
Basis data memungkinkan pengguna data bersama-sama oleh banyak pengguna pada saat yang bersamaan atau pada saat yang berbeda. Dengan meletakkan basis data pada bagian server yang bisa diakses kesemua pengguna dari banyak klient, kita sudah menyediakan akses kesemua pengguna dari computer klient ke sumber informasi yaitu basis data. Tentu saja pengaksesan oleh pengguna-pengguna ini disesuaikan dengan hak aksesnya. Misalnya sebuah perguruan tinggi memiliki data tentang mahasiswa, pembayaran, dan lain-lain yang diletakan dalam sebuah basis data. Bagian Akademi akan bisa mengakses data-data akademi mahasiswa, Bagian Keuangan akan diijinkan mengakses data pembayaran mahasiswa, sementara mahasiswa hanya bisa melihat status akademi/keuangan yang berhubungan dengan dirinya saja. Hal ini sangat dimungkinkan dengan penyimpanan data dalam basis data.








MANFAAT/KELEBIHAN BASIS DATA
Banyak memanfaat yang dapat kira peroleh dengan menggunakan basis data. Manfaat/kelebihan basis data diantaranya adalah:

1)   Kecepatan dan kemudahan (speed)
Dengan menggunakan basis data pengambilan informasi dapat dilakukan dengan cepat dan mudah. Basis data memiliki kemampuan dalam mengelompokan, mengurutkan bahkan perhitungan dengan metematika. Dengan perancangan yang benar, maka penyajian informasi akan dapat dilakukan dengan cepat dan mudah.
2)   Kebersamaan pemakai
Sebuah basis data dapat digunakan oleh banyak user san banyak aplikasi. Untuk data-data yang diperlukan oleh banyak orang/bagian. Tidak perlu dilakukan pencatatan dimasing-masing bagian, tetapi cukup dengan satu basis data untuk dipakai bersama. Misalnya data mahasiswa dalam suatu perguruan tinggi, dibutuhkan oleh banyak bagian, diantaranya: bagian akademik, bagian keuangan, bagian kemahasiswaan, dan perpustakaan. Tidak harus semua bagian ini memiliki catatan dan semua bagian bisa mengakses data tersebut sesuai dengan keperluannya.
3)   Pemusatan control data
karena cukup dengan satu basis data unutk banyak keperluan, pengontrolan terhadap data juga cukup dilakuan di satu tempat saja. Jika ada perubahan data alamat mahasiswa misalnya, maka tidak perlu kita meng-update semua data dimasing-masing bagian tetapi cukup hanya disatu basis data.
4)   Efesiensi ruang penyimpanan (space)
Dengan pemakain bersama, kita tidak perlu menyediakan tempat penyimpanan diberbagai tempat, tetapi cukup satu saja sehingga ini akan menghemat ruang penyimpanan data yang dimilikioleh sebuah organisasi. Dengan teknik perancangan basis data yang benar, kita akan menyederhanakan penyimpanan sehingga tidak semua data harus disimpan.
5)   Keakuratan (Accuracy)
Penerapan secara ketat aturan tipe data, domain data, keunikan data, hubungan antara data, dan lain-lain, dapat menekan keakuratan dalam pemasukan/penyimpanan data.
6)   Ketersediaan (availability)
Dengan basis data kita dapat mem-backup data, memilah-milah data mana yang masih diperlukan dan data mana yang perlu kita simpan ke tempat lain. Hal ini mengingat pertumbuhan transaksi suatu organisasi dari waktu ke waktu membutuhkan media penyimpanan yang semakin besar.
7)   Keamanan (Security)
Kebanyakan DBMS dilengkapi dengan fasilitas manajemen pengguna diberikan hak akses yang berbeda-beda sesuai dengan pengguna dan posisinya. Basis data bisa diberikan passwordnya untuk membatasi orang yang mengaksesnya.
8)   Kemudahan dalam pembuatan program aplikasi baru
Pengguna basis data merupakan bagian dari perkembangan teknologi. Dengan adanya basis data pembuatan aplikasi bisa memanfaatkan kemampuan dari DBMS, sehingga pembuatan aplikasi tidak perlu mengurusi penyimpanan data, tetapi cukup mengatur interface untuk pengguna.
9)   Pemakain secara langsung
Basis data memiliki fasilitas untuk melihat datanya secara langsung dengan tool yang disediakan oleh DBMS. Untuk melihat data, langsung ke table ataupun menggunakan query. Biasanya yang menggunakan fasilitas ini adalah user yang sudah ahli, atau database administrator.
10)   Kebebasan data (Data Independence)
Jika sebuah program telah selesai dibuat, dan ternyata ada perubahan isi/struktur data. Maka dengan basis data, perubahan ini hanya perlu dilakukan pada level DBMS tanpa harus membongkar kembali program aplikasinya.


11)    User view
Basis data penyediaan pandangan yang berbeda-beda untuk tiap-tiap pengguna. Misalnya kita memiliki data-data dari perusahaan yang bergerak dibidang retail. Data yang ada berupa data barang, penjualan, dan pembelian. Ada beberapa jenis pengguna yang memerlukan informasi terkait dengan data perusahaan tresebut. Mereka adalah pelanggan, kasir, bagian gudang, bagian akutansi dan manajer. Tidak semua data boleh diakses oleh semua pengguna. Misalnya kasir dia hanya boleh berhak melihat informasi nama barang dan harga jualnya. Sementara itu dia berhak untuk memasukan data penjualan . berbeda dengan pelanggan yang hanya melihat data keberadaan barang dan harga jual tetapi tidak berhak memasukan atau merubah data. Sementara itu bagian akutansi berhak melihat keuntungan dari tiap-tiap barang untuk menganalisa data akutansinya.Basis data mampu memberikan layanan organisasi seperti ini.
B.     Hirarki Data
Berdasarkan tingkat kompleksitas nilai data, tingkatan data dapat disusun kedalam sebuah hirarki, mulai dari yang paling sederhana hingga yang paling komplek.
1.       basis data, merupakan sekumpulan dari bermacam-macam tipe    record yang memiliki hubungan antar record.
2.       berkas/file, merupakan sekumpulan rekaman data yang berkaitan denngan suatu objek.
3.       record , merupakan sekumpulan field/atribut/data item yang saling berhubungan terhadap obyek tertentu
-       fixed length record, semua field dalam record memiliki ukuran yang tetap.
-       Variabel length record, field-field dalam record dapat memiliki 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.

C.    Konsep DBMS (database management system)
Database Management System (DBMS) merupakan paket program (Software) yang dibuat agar memudahkan dan mengefisienkan pemasukan, pengeditan, penghapusan dan pengambilan informasi terhadap database.
Software yang tergolong kedalam DBMS antara lain, Microsoft SQL, MySQL, Oracle, MS. Access, dan lain-lain

Komponen utama DBMS :
  1. perangkat keras
berupa komputer dan bagian-bagian didalamnya, seperti prosesor, memori & harddisk. Komponen inilah yang melakukan pemrosesan dan juga untuk menyimpan basis data.
  1. basisdata
sebuah DBMS dapat memiliki beberapa basisdata, setiap basisdata dapat berisi sejumlah obyek basisdata (file,tabel,indeks dsb). Disamping berisi data,setiap basisdata juga menyimpan definisi struktur (baik untuk basisdata maupun obyek-obyeknya secara detail).
  1. perangkat lunak
perangkat lunak ini terdiri dari sistem operasi dan perangkat lunak/program pengelola basisdata. Perangkat lunak inilah yang akan menentukan bagaimana data diorganisasi,disimpan, diubah dan diambil kembali. Ia juga menerapkan mekanisme pengamanan data, pemakaian data secara bersama, pemaksaan keakuratan/konsistensi data, dsb.
Contoh perangkat lunak DBMS : MS access, SQL Server, Oracle dsb.
  1. pengguna/user
Pengguna dapat digolongkan menjadi 3 :
·         pengguna akhir / end user.
Dapat dibagi menjadi 2 :
-       pengguna aplikasi : adalah orang  yang mengoperasikan program aplikasi yang dibuat oleh pemrogram aplikasi.
-       pengguna interaktif : adalah orang yg dpt memberikan perintah-perintah pada antar muka basisdata, misalnya SELECT, INSERT dsb.
·         pemrogram aplikasi
adalah orang yang membuat program aplikasi yang menggunakan basisdata.
·         administrator database / DBS (database administrator)
adalah orang yang bertanggungjawab terhadap pengelolaan basisdata.
Tugas DBA :
-       mendefinisikan basisdata
-       menetukan isi basisdata
-       menentukan sekuritas basisdata
  1. Model Basis Data
Model database adalah suatu konsep yang terintegrasi dalam menggambarkan hubungan (relationships) antar data dan batasan-batasan (constraint) data dalam suatu sistem database. Model data yang paling umum, berdasarkan pada bagaimana hubungan antar record dalam database (Record Based Data Models), terdapat tiga jenis,
yaitu :

a. Model Database Hirarki (Hierarchical Database Model)
Model hirarkis biasa disebut model pohon, karena menyerupai pohon yang dibalik. Model ini menggunakan pola hubungan orangtua-anak





b. Model Database Jaringan (Network Database Model)


c. Model Database Relasi (Relational Database Model)
Model Relasional merupakan model yang paling sederhana sehingga mudah digunakan dan dipahami oleh pengguna. Model ini menggunakan sekumpulan tabel berdimensi dua ( yang disebut relasi atau tabel ), dengan masing-masing relasi tersusun atas tupel atau baris dan atribut. DBMS yang bermodelkan relasional biasa disebut RDBMS (Relational Data Base Management System). Model database ini dikemukakan pertamakali oleh EF codd, seorang pakar basisdata. Model ini sering disebut juga dengan database relasi.

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.

Tingkatan Data Dalam Database Relasi
Dalam suatu sistem database relasi, data yang tersimpan dalam DBMS mempunyai tingkatan-tingkatan, sebagai berikut :
• Karakter (Characters)
Merupakan bagian terkecil dalam database, dapat berupa karakter numerik (angka 0 s.d 9), huruf ( A - Z, a - z) ataupun karakter-karakter khusus, seperti *, &. %, # dan lain-lain.
• Field atau Attribute
Merupakan bagian dari record yang menunjukkan suatu item data yang sejenis, Misalnya : field nama, file NIM dan lain sebagainya. Setiap field harus mempunyai nama dan tipe data tertentu. Isi dari field di sebut Data Value. Dalam table database, field ini disebut juga kolom.
Record atau Tupple
Tuple/Record adalah kumpulan data value dari attributee yang berkaitan sehingga dapat menjelaskan sebuah entity secara lengkap. Misal : Record entity mahasiswa adalah kumpulan data value dari field nobp, nama, jurusan dan alamat per-barisnya. Dalam tabel database, Record disebut juga baris.
• Table/Entity
Entity merupakan sesuatu yang dapat diidentifikasi dari suatu sistem database, bisa berupa objek, orang, tempat, kejadian atau konsep yang informasinya akan disimpan di database. Misal. Pada sistem database akademik, yang menjadi entity adalah, mahasiswa, dosen, matakuliah dan lain-lain. Dalam aplikasi nantinya, penggunaan istilah Entity sering di samakan dengan istilah Tabel. (Entity = table). Disebut tabel, karena dalam merepresentasikan datanya di atur dalam bentuk baris dan kolom. Baris mewakili 1 record dan kolom mewakili 1 field. Dalam sistem database tradisional, entity/table ini disebut juga dengan file.
• Database
Kumpulan dari tabel-tabel yang saling berelasi, disusun secara logis, sehingga menghasilkan informasi yang bernilai guna dalam proses pengambilan keputusan.

MACAM-MACAM PERINTAH DATA BASE
1. Bahasa Definisi Data (Data Definition Language/ DDL)
DDL adalah perintah-perintah yang biasa digunakan oleh administrator basis data (DBA) utnuk mendefinisikan skema ke DBMS. Skema adalah deskripsi lengkap tentang struktur medan, rekaman, dan hubungan data pada basis data
Index merupakan suatu mekanisme yang lazim digunakan pada basis data, yang memungkinkan pengambilan data dapat dilakukan dengan cepat.
DDL Digunakan untuk mespesifikasikan struktur/skema basis data yang menggambarkan/mewakili desain basis data secara keseluruhan.
Hasil kompilasi perintah DDL adalah kamus data (File yang berisi metadata (data yang mendeskripsikan data sesungguhnya).
Struktur penyimpan dan metode akses yang digunakan oleh sistem basis data disebut dengan data storage and definition language.

2. Bahasa Manipulasi Data (Data Manipulation laguage/ DML)
DML adalah perintah-perintah yang digunakan untuk mengubah, manipulasi dan mengambil data pada basis data. Tindakan seperti menghapus, mengubah, dan mengambil data menjadi bagian dari DML.
DML pada dasarnya dibagi menjadi dua :

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.

3. DQL ( Data Query Language)
Query sesungguhnya berarti pertanyaan atau permintaan. Istilah ini tetap dipertahankan dalam bentuk asli, karena telah populer di kalangan pengguna DBMS di Indonesia

D.    Model Entity-Relationship (ER)

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.

Konsep paling dasar di model ER adalah entitas, relationship dan atribut.
Komponen-komponen utama model ER adalah:

a. Entitas (entity), Entitas memodelkan objek-objek yang berada diperusahaan/lingkungan.
b. Relationship. Relationship memodelkan koneksi/hubungan di antara entitas-entitas.
c. Atribut-atribut (properi-properti), memodelkan properti-properti dari entitas dan relationship.
d. Konstrain-konstrain (batasan-batasan) integritas, konstrain-konstrain ketentuan validitas.

Entitas (Entity) dan Himpunan Entitas (Entitas Sets)

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 (Relationship) dan Himpunan Relasi (Relationship Sets)

Relasi menunjukkan adanya hubungan di antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda.

Misalnya, entitas seorang mahasiwa dengan
nim = ‘980001’ dan
nama_mhs = ‘Ali Akbar’ (yang ada di himpunan entitas Mahasiswa)

mempunyai relasi dengan entitas sebuah mata kuliah dengan

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.

Kardinalitas di antara dua himpunan entitas (misalnya A dan B) dapat berupa :

a. Satu ke satu (One to One),
setiap entitas pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas begitu juga sebaliknya setiap entitas pada himpunan entitas B berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas A.

b. Satu ke Banyak (one to many),
setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B,
tetapi tidak sebaliknya, dimana setiap entitas pada himpunan entitas B berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas A.

c. Banyak ke Satu (Many to One),
setiap entitas pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas B, tetapi tidak sebaliknya, dimana setiap entitas pada himpunan entitas A berhubungan dengan paling banyak satu entitas pada himpunan entitas B.

d. Banyak ke Banyak (Many to Many)
setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B,
demikian juga sebaliknya, di mana setiap entitas pada himpunan entitas B dapat berhubungan dengan banyak entitas pada himpunan entitas A.

Diagram Entity-Relationship (ER)

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).
           
      Contoh diagram ER :

Tahap Pembuatan Diagram ER

Diagram ER selalu dibuat secara bertahap. Paling tidak ada dua kelompok penahapan yang biasa ditempuh di dalam pembuatan diagram ER, yaitu :

a. Tahap pembuatan Diagram ER awal (preliminary design). 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.

-       Mengidentifkasi dan menetapkan seluruh himpunan relasi diantara himpunan-himpunan entity yang ada beserta kunci tamu (foreign key)- nya.
Setelah menentukan entity dan attribute beserta field kuncinya, maka selanjutnya adalah menentukan entity yang terbentuk akibat adanya relasi antar entity. Misalnya antara entity mahasiswa dengan entity dosen, terjadi suatu hubungan proses mengajar, maka proses mengajar ini merupakan entity baru. Entity mengajar ini harus kita tentukan juga attribute yang melekat padanya beserta kunci tamu (foreign key). Kunci tamu adalah field kunci utama pada tabel lain, dan field tersebut digunakan juga pada tabel yang satu lagi. Misalnya nobp adalah
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.

-       Menentukan derajat relasi untuk setiap himpunan relasi.
Setelah semua entity dan attribute yang dibutuhkan terbentuk, maka selanjutnya adalah menentukan derajat relasi antar entity tersebut, apakah satu kesatu, satu ke banyak atau sebaliknya, atau banyak ke banyak. Berhati-hatilah dalam menentukan derajat relasi ini, karena nantinya akan berhubungan dengan proses query terhadap data
Melengkapi himpunan entitas dan himpunan relasi dengan atribut-atribut deskriptif (non key).

E.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 :

a. Meminimalkan ukuran penyimpanan yang diperlukan untuk penyimpanan data.
b. Meminimalkan resiko inkonsistensi data pada basis data.
c. Meminimalkan kemungkinan anomaly pembaruan.
d. Memaksimalkan stabilitas struktur data.

Bentuk Normal

Tujuan proses normalisasi adalah mengkonversi relasi menjadi bentuk normal lebih tinggi. Terdapat beragam tingkat bentuk normal, yaitu :

a. Bentuk normal pertama (1NF)
b. Bentuk normal kedua (2NF)
c. Bentuk normal ketiga (3NF)
d. Bentuk normal Boyce-Codd (BCNF)
e. Bentuk normal keempat (4NF)
f. Bentuk normal kelima (5NF)

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

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 Kedua
Syarat :     
o   Bentuk data telah memenuhi kriteria bentuk normal ke satu.
o   Atribut bukan kunci(non-key attribute) haruslah memiliki ketergantungan fungsional sepenuhnya pada primary key
Relasi pada bentuk normal kedua harus tidak menyimpan fakta-fakta mengenai bagian kunci relasi. Bentuk normal kedua menghilangkan kebergantungan parsial dan masih memiliki anomali-anomali yang secara praktis tidak dapat diterima.

Bentuk Normal Ketiga
Syarat :     
o   Bentuk data telah memenuhi kriteria bentuk normal ke dua.
o   Atribut bukan kunci(non-key attribute) tidak boleh memiliki ketergantungan fungsional terhadap atribut bukan kunci lainnya. Seluruh atribut bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional terhadap primary key di relasi itu saja.

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.

Bentuk Normal Boyce-Codd (BCNF)

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.

Bentuk Normal Keempat

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

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.

Sumber:

Tidak ada komentar:

Posting Komentar