Top Banner
HANDOUT SISTEM BASIS DATA OLEH : Asih Winantu, S. Kom
17

HANDOUT SISTEM BASIS DATA

Feb 23, 2023

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: HANDOUT SISTEM BASIS DATA

HANDOUTSISTEM BASIS DATA

OLEH : Asih Winantu, S. Kom

Page 2: HANDOUT SISTEM BASIS DATA

STMIK EL RAHMA YOGYAKARTA2006

Page 3: HANDOUT SISTEM BASIS DATA

SEPUTAR PELAKSANAAN PERKULIAHANSISTEM BASIS DATAMI / KA (3 SKS)

1. Deskripsi Mata KuliahTujuan Umum:

Tujuan umum dari penyampaian mata kuliah ini adalah membentuk dan menumbuhkan : a. pengetahuan mengenai konsep basis data, model ER dan model relasional, serta

proses perancangan basis data b. kemampuan menangani operasi pada basis data operasional

Tujuan Khusus: Pada akhir kuliah sistem basis data ini peserta kuliah diharapkan mampu :

a. memahami konsep yang melatarbelakangi perancangan basis data dengan model ER dan relasional

b. melakukan perancangan dan implementasi basis data dengan model ER dan relasional

c. melakukan penanganan operasi terhadap basis data operasional

Lingkup Bahasan: Overview Basis Data, mencakup sejarah dan motivasi sistem basis data, komponen

sistem basis data, fungsi sistem manajemen basis data, arsitektur basis data dan independensi data, serta penggunaan bahasa query

Pemodelan Data, mencakup kategorisasi model data, model data konseptual (model ER),model berorientasi objek, dan model relasional

Model Entity-Relationship, mencakup studi kasus dan penjelasan komponen-komponen diagram ER

Basis data relasional, mencakup pemetaan skema konseptual ke skema relasional, integritas entitas dan pengacuan, operasi aljabar relasional, operasi kalkulus relasional berbasis tupel, serta operasi kalkulus relasional berbasis domain

Bahasa query, mencakup pengantar SQL, bahasa pendefinisian data, bahasa pemanipulasian data (modifikasi dan seleksi), serta bahasa query lain

Perancangan basis data relasional, mencakup functional dependency (FD), normalisasi(1NF, 2NF, 3NF, BCNF)

2. Materi Kuliah Terminologi Dan Konsep Basis

Data Hirarki data Konsep DBMS Pemanfaatan ilmu basisdata Abstraksi data Model basis data Model ER Normalisasi Perancangan basisdata Studi kasus

3. Resources1. Konsep & Perancangan Database , Harianto Kristanto,Andi, 2004.2. Basis Data , Fathansyah, Informatika, 2001.3. Diktat Kuliah Basis Data, Iwan Syarif, ITS , 2002.4. Konsep & Tuntunan Praktis Basis Data, Abdul Kadir, Andi, 2001.5. Sistem Basis Data, Edhy Sutanta, Graha Ilmu, 2004.6. Basis Data, Janner Simarmata, Andi, 2006.7. www.globalkomputer.com/bahasan/database , 22 september 2007

4. EvaluasiKomponen nilai akhir terdiri dari UTS : 30 %

Page 4: HANDOUT SISTEM BASIS DATA

UAS : 25 %Tugas : 20%Quis : 15%Kehadiran : 10%

Indeks akan ditentukan berdasarkan nilai akhir dengan kriteria sbb : A (≥ 85), B (75 –84), C (65 – 74), D (55 – 64), dan E (< 54). Dalam keadaan tertentu, dapat dilakukan penyesuaian terhadap kriteria penilaian. Pengajuan koreksi ulang berkas UTS, UAS, tugas, maupun nilai akhir hanya dapat dilakukan paling lambat 1 (satu) minggu setelah nilai terkait diumumkan.

Pengampu Mata Kuliah :Asih Winantu,S.Kom

Page 5: HANDOUT SISTEM BASIS DATA

A. Terminologi Dan Konsep Basis DataBasis data terdiri dari 2 kata, yaitu basis & data. Basis dapat diartikan sebagaimarkas / gudang, tempat berkumpul. Sedangkan data adalah fakta yang mewakili suatu objekseperti manusia, barang, hewan peristiwa, keadaan dan sebagainya, yang direkam dalambentuk 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 sedemikianrupa agar kelak dapat dimanfaatkan kembali dengan cepat & mudah.

2.Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dantanpa pengulangan/ penumpukan (redundansi), untuk memenuhi berbagai kebutuhan.

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

lemari Arsip 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 dankecepatan dalam pengambilan kembali data/ arsip. Perbedaannya hanya terletak pada mediapenyimpanan yang digunakan . jika lemari arsip menggunakan lemari sebagai mediapenyimpanannya, maka basisdata mnenggunakan media penyimpanan elektronis seperti disk(disket, harddisk).Yang perlu diingat adalah bahwa tidak semua bentuk penyimpanan data secara elektronisbisa disebut basis data. Yang sangat ditonjolkan dalam basisdata adalahpengaturan/pemilaha/pengelompokkan/pengorganisasian data yang akan kita simpan sesuaifungsi/jenisnya. Pemilahan/ pengelompokan ini dapat berbentuk sejumlah file/ tabelterpisah atau dalam bentuk pendefinisian kolom-kolom/field-field data dalam setiapfile/tabel.

Tujuan dibangunnya basis data adalah sebagai berikut : Kecepatan & kemudahan ( speed )

Dgn memanfaatkan basis data, memungkinkan kita untuk dapat menyimpan data ataumelakukan perubahan/ manipulasi terhadap data atau menampilkan kembali data tersebutsecara lebih cepat & mudah.

Efisiensi ruang penyimpanan ( space ) Karena keterkaitan yang erat antara kelompok data dalam sebuah basisdata,makaredundansi (pengulangan) pasti akan selalu ada, sehingga akan memperbesar ruangpenyimpanan. Dengan basisdata, efisiensi ruang penyimpanan dapat dilakukan denganmenerapkan sejumlah pengkodean, atau dengan membuat relasi-relasi antar kelompok datayang saling berhubungan.

Keakuratan ( accuracy ) Pengkodean atau pembentukan relasi antar data bersama dengan penerapan aturan/batasan(constraint), dmain data, keunikan data, dsb, yang secara ketat dapat diterapkan dalamsebuah basis data, sangat berguna untuk menekan ketidak akuratan penyimpanan data.

Ketersediaan ( availability ) Dengan pemanfaatan jaringan komputer, maka data yang berada di suatu lokasi/cabangdapat juga diakses (tersedia/available) bagi lokasi/cabang lain.

Kelengkapan ( completeness ) Kelengkapan data yang disimpan dalam sebuah database bersifat relatif, bisa jadi saatini dianggap sudah lengkap, tetapi belum tentu pada suatu saat dianggap lengkap. Untukmengakomodasi kelengkapan data, seperti

Keamanan ( security )

MAP Disk FILE

Page 6: HANDOUT SISTEM BASIS DATA

aspek keamanan dapat diterapkan dengan ketat, dengan begitu kita dapat menentukanpemakai basis data serta obyek-obyek didalamnya ,serta jenis-jenis operasi apa sajayang boleh dilakukannya.

Kebersamaan pemakaian ( sharability ) Basis data yang dikelola dengan aplikasi multi user dapat memenuhi kebutuhan ini.

Alasan mengapa mempelajari basisdata :- perpindahan dari komputasi ke informasi- himpunan elemen data semakin banyak dan beragam

o perpustakaan digital. Video interaktifo kebutuhan untuk memperluas DBMS

- DBMS mencakup bidang ilmu laino System operasi, bahasa pemrograman, teori komputasi, AI, logika,

multimedia.

Operasi dasar pembuatan Basis data : Pembuatan Basis Data (Create Database)

Yang identik dengan pembuatan lemari arsip yang baru. Penghapusan Basis Data (Drop Database)

Yang identik dengan perusakan lemari arsip (sekaligus beserta isinya, jika ada) Pembuatan File/Table baru ke suatu basis data (Create Table)

Yang identik dengan penambahan map arsip baru ke sebuah lemari arsip yang telah ada.

Penghapusan File/Table dari suatu basis data (Drop Table)Yang identik dengan perusakan map arsip lama yang ada di sebuah lemari arsip.

Penambahan data baru ke suatu file/table di sebuah basis data (insert)Identik dengan penambahan lembaran arsip baru kesebuah map arsip.

Pengambilan data dari sebuah file/table (Retrieve/Search)Identik dengan pencarian lembaran arsip dari sebuah map arsip.

Pengubahan data dari sebuah file/table (Update)Identik dengan perbaikan isi lembaran arsip yang ada di sebuah map arsip.

Penghapusan data dari sebuah file/table (Delete)Identik dengan penghapusan sebuah lembaran arsip yang ada di sebuah map arsip.

B. Hirarki DataBerdasarkan tingkat kompleksitas nilai data, tingkatan data dapat disusun kedalam sebuahhirarki, 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 ofrecord marker, indikator panjang, dan tabel posisi record)

4. field/atribut/data item, merupakan unit terkecil yang disebut data,yangtidak 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 delapanbit 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. sistembinner merupakan dasar yang dapat digunakan untuk komunikasi antara manusia danmesin, yang merupakan serangkaian komponen elektronik dan hanya dapat membedakan 2macam keadaan, yaitu ada tegangan dan tidak ada tegangan yang masuk ke rangkaiantersebut.

C. Konsep DBMS (database management system)

Sistem Basis Data

Basis Data

File

Record

Field

byte

Bit

Page 7: HANDOUT SISTEM BASIS DATA

Database Management System (DBMS) merupakan paket program (Software) yang dibuat agarmemudahkan dan mengefisienkan pemasukan, pengeditan, penghapusan dan pengambilaninformasi 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.

2. basisdatasebuah DBMS dapat memiliki beberapa basisdata, setiap basisdata dapat berisi sejumlahobyek basisdata (file,tabel,indeks dsb). Disamping berisi data,setiap basisdata jugamenyimpan definisi struktur (baik untuk basisdata maupun obyek-obyeknya secaradetail).

3. perangkat lunakperangkat lunak ini terdiri dari sistem operasi dan perangkat lunak/program pengelolabasisdata. Perangkat lunak inilah yang akan menentukan bagaimana datadiorganisasi,disimpan, diubah dan diambil kembali. Ia juga menerapkan mekanismepengamanan data, pemakaian data secara bersama, pemaksaan keakuratan/konsistensi data,dsb.Contoh perangkat lunak DBMS : MS access, SQL Server, Oracle dsb.

4. pengguna/userpengguna dapat digolongkan menjadi 3 :

pengguna akhir / end user.Dapat dibagi menjadi 2 :

- pengguna aplikasi : adalah orang yang mengoperasikan program aplikasiyang dibuat oleh pemrogram aplikasi.

- pengguna interaktif : adalah orang yg dpt memberikan perintah-perintahpada antar muka basisdata, misalnya SELECT, INSERT dsb.

pemrogram aplikasiadalah 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

D. Pemanfaaatan Ilmu Basis DataBidang Fungsional :

Kepegawaian Pergudangan (inventory) Akuntansi Reservasi Layanan Pelanggan

Bentuk Perusahan : Perbankan Rumah Sakit Produsen Barang Sekolah Telekomunikasi

E. Abstraksi DataSalah satu tujuan dari DBMS adalah untuk menyediakan fasilitas/antarmuka (interface) kepadauser.untuk itu system tersebut akan menyembunyikan detail tentang bagaimana data disimpandan dipelihara, sehingga data yang terlihatoleh user sebenarnya berbeda dengan yangtersimpan secara fisik. Abstraksi data merupakan tingkatan-tingkatan pengguna dalam memandang bagaimanasebenarnya data diolah dalam sebuah sistem database sehingga menyerupai kondisi yangsebenarnya dihadapi oleh pengguna sehari-hari.. Sebuah DBMS seringkali menyembunyikan

Page 8: HANDOUT SISTEM BASIS DATA

detail tentang bagaimana sebuah data disimpan dan dipelihara (diolah) dalam sebuah sistemdatabase, dengan tujuan untuk memudahkan pengguna dalam menggunakan DBMS tersebut. Karenaitu seringkali data yang terlihat oleh pemakai sebelumnya berbeda dengan yang tersimpansecara fisik.

Terdapat 3 level abstraksi :1. Level Fisik (Physical Level)

Lapis fisik merupakan lapis terendah, lapis ini menjelaskan bagaimana (how) datasesungguhnya disimpan. Pada lapis inilah struktur data dijabarkan secara rinci.

2. Level Logik / Konseptual (Conceptual Level)Lapis konseptual lebih tinggi dari lapis fisik. Lapis ini menjabarkan data apa (what)saja yang sesungguhnya disimpan pada basisdata, dan juga menjabarkan hubungan-hubunganantardata secara keseluruhan. Seorang pengguna dalam level ini dapat mengetahui bahwadata mahasiswa disimpan pada tabel mahasiswa, tabel krs, tabel transkrip dan lainsebagainya. Level ini biasa dipakai oleh DBA.

3. Level Penampakan/pandangan (View Level)Lapis pandangan merupakan lapis tertinggi pada abstraksi data. Pada lapis ini penggunahanya mengenal struktur data yang sederhana, yang berorientasi pada kebutuhanpengguna. Data yang dikenal oleh masing-masing pengguna bisa berbeda-beda danbarangkali hanya mencakup sebagian dari basis data. Misalnya: Bagian keuangan hanyamembutuhkan data keuangan, jadi yang digambarkan hanya pandangan terhadap datakeuangan saja, begitu juga dengan bagian akuntansi, hanya membutuhkan data akuntansisaja. Jadi tidak semua pengguna database membutuhkan seluruh informasi yang terdapatdalam database tersebut.

Sebagai gambaran , misalnya terdapat struktur data bertipe record seperti berikut :

Pegawai = RECORDNama : STRING;Alamat : STRING;Bagian : STRING;Gaji : LongInt;

End:

Pada contoh ini record pegawai berisi 4 buah field (nama, alamat, bagian, gaji ). Setiapfield memiliki nama, dan setiap nama memiliki tipe data.Pada level fisik, pegawai dapat dijabarkan sebagai blok data yang terletak pada lokasiberurutan (satuan byte). Pada lapis konseptual masing-masing record dijabarkan dengandefinisi tipe data . pada lapis view, user tertentu hana boleh mengakses data tertentu,contohnya, seorang yang menangani penggajian berhak mengetahui gaji seseorang bahkanmengubahnya, tetapi orang yang bekerja di bagian lain tentu tidak boleh melihatnya.

F. Model Basis DataModel 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 dalamdatabase (Record Based Data Models), terdapat tiga jenis,yaitu :

Page 9: HANDOUT SISTEM BASIS DATA

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 dandipahami oleh pengguna. Model ini menggunakan sekumpulan tabel berdimensi dua ( yangdisebut relasi atau tabel ), dengan masing-masing relasi tersusun atas tupel ataubaris dan atribut. DBMS yang bermodelkan relasional biasa disebut RDBMS (Relational DataBase Management System). Model database ini dikemukakan pertamakali oleh EF codd, seorangpakar basisdata. Model ini sering disebut juga dengan database relasi.

Model database hirarki dan jaringan merupakan model database yang tidak banyak lagidipakai saat ini, karena adanya berbagai kelemahan dan hanya cocok untuk struktur hirarkidan jaringan saja. Artinya tidak mengakomodir untuk berbagai macam jenis persoalan dalamsuatu 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 kemampuannyadalam mengakomodasi berbagai kebutuhan pengelolaan database. Sebuah database dalam modelini 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-tabelyang ada di hubungkan (relationship) sedemikian rupa menggunakan field-field kunci (Keyfield) sehingga dapat meminimalkan duplikasi data.

Tingkatan Data Dalam Database RelasiDalam suatu sistem database relasi, data yang tersimpan dalam DBMS mempunyai tingkatan-tingkatan, sebagai berikut :• Karakter (Characters)

DosenSiti

Nurbaya

DosenAshad

i

Pengantar

Basis Data

PemrogramanC

Matematika I

Rudi

Asti

Dina

Dina

Edi

Ita

Edi

DosenSiti

Nurbaya

DosenAshad

i

Pengantar

Basis Data

PemrogramanC

Matematika I

Rudi

Asti

Dina

Edi

Ita

Page 10: HANDOUT SISTEM BASIS DATA

Merupakan bagian terkecil dalam database, dapat berupa karakter numerik (angka 0 s.d9), huruf ( A - Z, a - z) ataupun karakter-karakter khusus, seperti *, &. %, # danlain-lain.

• Field atau AttributeMerupakan bagian dari record yang menunjukkan suatu item data yang sejenis, Misalnya :field nama, file NIM dan lain sebagainya. Setiap field harus mempunyai nama dan tipedata tertentu. Isi dari field di sebut Data Value. Dalam table database, field inidisebut juga kolom.

Record atau TuppleTuple/Record adalah kumpulan data value dari attributee yang berkaitan sehingga dapatmenjelaskan sebuah entity secara lengkap. Misal : Record entity mahasiswa adalahkumpulan data value dari field nobp, nama, jurusan dan alamat per-barisnya. Dalamtabel database, Record disebut juga baris.

• Table/EntityEntity merupakan sesuatu yang dapat diidentifikasi dari suatu sistem database, bisaberupa objek, orang, tempat, kejadian atau konsep yang informasinya akan disimpan didatabase. Misal. Pada sistem database akademik, yang menjadi entity adalah, mahasiswa,dosen, matakuliah dan lain-lain. Dalam aplikasi nantinya, penggunaan istilah Entitysering di samakan dengan istilah Tabel. (Entity = table). Disebut tabel, karena dalammerepresentasikan datanya di atur dalam bentuk baris dan kolom. Baris mewakili 1record dan kolom mewakili 1 field. Dalam sistem database tradisional, entity/table inidisebut juga dengan file.

• DatabaseKumpulan dari tabel-tabel yang saling berelasi, disusun secara logis, sehinggamenghasilkan informasi yang bernilai guna dalam proses pengambilan keputusan.

Ada beberapa sifat yang melekat pada suatu tabel :• Tidak boleh ada record yang sama (kembar)• Urutan record tidak terlalu penting, karena data dalam record dapat diurut sesuai dengan kebutuhan.• Setiap field harus mepunyai nama yang unik (tidak boleh ada yang sama).• Setiap field mesti mempunyai tipe data dan karakteristik tertentu

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 lainadalah :1. Keluarga R:Base (Microrim Corp) antara lain berupa R:Base 50002. Keluarga dBase (Ashton-Tate, sekarang bagian dari Borland International), antara lain dbase III Plus, dBase IV, serta Visual dBase3. Microsoft SQL ( Microsoft Corporation)4. Visual FoxPro (Microsoft Corporation)

MACAM-MACAM PERINTAH DATA BASE1. 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 strukturmedan, rekaman, dan hubungan data pada basis dataIndex merupakan suatu mekanisme yang lazim digunakan pada basis data, yang memungkinkanpengambilan data dapat dilakukan dengan cepat.DDL Digunakan untuk mespesifikasikan struktur/skema basis data yangmenggambarkan/mewakili desain basis data secara keseluruhan.Hasil kompilasi perintah DDL adalah kamus data (File yang berisi metadata (data yangmendeskripsikan data sesungguhnya).Struktur penyimpan dan metode akses yang digunakan oleh sistem basis data disebut dengandata storage and definition language.

2. Bahasa Manipulasi Data (Data Manipulation laguage/ DML)

Page 11: HANDOUT SISTEM BASIS DATA

DML adalah perintah-perintah yang digunakan untuk mengubah, manipulasi dan mengambildata pada basis data. Tindakan seperti menghapus, mengubah, dan mengambil data menjadibagian dari DML.DML pada dasarnya dibagi menjadi dua :

- Prosedural, yang menuntut pengguna menentukan data apa saja yang diperlukan danbagaimana cara mendapatkannya.

- Nonprosedural, yang menuntut pengguna menentukan data apa saja yang diperlukan, tetapitidak perlu menyebutkan cara mendapatkannya.

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

G. Model Entity-Relationship (ER)

Model Entity-Relationship adalah model data konseptual tingkat tinggi untuk perancanganbasis data. Model data konseptual adalah himpunan konsep yang mendeskripsikan strukturbasis data, transaksi pengambilan dan pembaruan basis data.

Model ER adalah data konseptual tak tergantung DBMS dan platform perangkat kerastertentu. Model ER dikemukakan oleh Chen [1976]. Sejak itu, telah memperoleh banyakperhatian dan perluasan.

Model ER adalah persepsi terhadap dunia nyata sebagai terdiri objek-objek dasar yangdisebut 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 dapatdibedakan dari sesuatu yang lain. Sebuah kursi yang kita duduki, seseorang yang menjadipegawai di sebuah perusahaan dan sebuah mobil yang melintas di depan kita adalah entitas.

Sekelompok entitas yang sejenis dan berada dalam lingkup yang sama membentuk sebuahhimpunan 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 seorangdokter 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 literaturesebenarnya menunjuk pada himpunan entitas.

Kunci Entitas

Sebagaimana model relasional, adalah penting dan berguna untuk memasukkan kunci yangdiasosiasikan dengan himpunan entitas. Kunci pada himpunan entitas S, adalah himpunanatribut A. Sehingga tidak ada dua entitas di S yang mempunyai nilai sama untuk tiapatribut di A dan tidak ada subset di A yang dapat menjadi kunci di S, dengan demikiankunci mempunyai property minimal.

Page 12: HANDOUT SISTEM BASIS DATA

Atribut (Atributes/Properties)

Setiap entitas pasti memiliki atribut yang mendeskripsikan karakteristik (property) darientitas tersebut.

Penentuan / pemilihan atribut-atribut yang relevan bagi sebuah entitas merupakan halpenting 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 himpunanentitas 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 sedangmengambil/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 istilahrelasi saja.

Kardinalitas/derajat Relasi

Kardinalitas Relasi menunjukkan jumlah maksimum entitas yang dapat berelasi denganentitas pada himpunan entitas yang lain. Kardinalitas relasi merujuk kepada hubunganmaksimum yang terjadi dari himpunan entitas yang satu ke himpunan entitas yang lain danbegitu 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 satuentitas pada himpunan entitas begitu juga sebaliknya setiap entitas pada himpunanentitas 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 padahimpunan entitas B, tetapi tidak sebaliknya, dimana setiap entitas pada himpunan entitas B berhubungandengan 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 satuentitas pada himpunan entitas B, tetapi tidak sebaliknya, dimana setiap entitas padahimpunan entitas A berhubungan dengan paling banyak satu entitas pada himpunan entitasB.

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

Page 13: HANDOUT SISTEM BASIS DATA

Diagram Entity-Relationship (ER)

Penggambaran Model ER secara sistematis dilakukan melalui diagram ER. Notasi-notasisimbolik 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 yangbiasa 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 tidaknyasistem database yang dirancang, karena attribute ini sangat menentukan nantinyadalam proses relasi. Attribute merupakan ciri khas yang melekat pada suatu entity,misalnya attribute pada mahasiswa dapat berupa nobp, nama, tempat lahir, tanggallahir, alamat, nama orang tua, pekerjaan orang tua dan lain-lain. Dari sekianbanyak kemungkinan attribute yang ada pada entity mahasiswa, kita dapatmenggunakan hanya yang perlu saja. Setelah menentukan attributenya selanjutnyaadalah menentukan field kunci. Field kunci adalah penanda attribute tersebutsehingga bisa digunakan untuk relasi nantinya dan field kunci ini harus bersifatunik. 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 selanjutnyaadalah menentukan entity yang terbentuk akibat adanya relasi antar entity.Misalnya antara entity mahasiswa dengan entity dosen, terjadi suatu hubunganproses mengajar, maka proses mengajar ini merupakan entity baru. Entity mengajarini harus kita tentukan juga attribute yang melekat padanya beserta kunci tamu(foreign key). Kunci tamu adalah field kunci utama pada tabel lain, dan fieldtersebut digunakan juga pada tabel yang satu lagi. Misalnya nobp adalahfield kunci dari entity mahasiswa, pada entity mengajar terdapat juga attributeNoBP, maka keberadaan attribute nobp pada entity mengajar disebut sebagai kuncitamu. Proses menentukan hubungan antar entity juga sangat menentukan kualitassystem database yang dirancang.

- Menentukan derajat relasi untuk setiap himpunan relasi.Setelah semua entity dan attribute yang dibutuhkan terbentuk, maka selanjutnyaadalah menentukan derajat relasi antar entity tersebut, apakah satu kesatu, satuke banyak atau sebaliknya, atau banyak ke banyak. Berhati-hatilah dalam menentukanderajat relasi ini, karena nantinya akan berhubungan dengan proses query terhadapdata

- Melengkapi himpunan entitas dan himpunan relasi dengan atribut-atribut deskriptif (nonkey).

Page 14: HANDOUT SISTEM BASIS DATA

Jenis-Jenis Kunci (Key)• Candidat Key

Sebuah attribute atau lebih yang secara unit mengidentifikasi sebuat record,disebut candidate key. Attribute ini mempunyai nilai yang unik pada hampir setiaprecordnya. Fungsi dari candidate key ini adalah sebagai calon primary key.

Contoh candidate-key :

ID_Cus Name NoOfPay Amount112233 Tim 890 9000112231 Kate 891 8000112241 Tyson 895 10000

• Primary KeySalah satu atrribut dari candidat key dapat dipilih menjadi primary key dengan 3kriteria sbb :

Key tersebut lebih natural untuk dijadikan acuan Key tersebut lebih sederhana Key tersebut cukup uniqe

• Foreign KeyJika sebuah primary key terhubungan ke table/entity lain, maka keberadaan primarykey pada entity tersebut di sebut sebagai foreign key. Misal : Primary KeyKodeDosen dari entity Dosen digunakan juga pada field entity KRS, maka keberadaanfield KodeDosen pada entity KRS disebut sebagai foreign key.

• Alternate KeySetiap atribut dari candidate key yang tidak terpilih sebagai primary key akandinamakan alternate key. Pada contoh sebelumnya bila untuk primary key dipilihID_Cus maka alternate key nya adalah No.of Pay.

KODE MK SKS KD-Dosen

TEL 100 Fisika 3 D-101TEL 200 Isyarat 2 D-109TEL 210 T.Kendali 2 D-101

KD-Dosen Nama_Dosen

D-100 Badu,S.TD-101 Ir.ThomasD-109 Harry,S.T,M.T

b. Tahap optimasi Diagram ER (final design).

H. NormalisasiProses normalisasi adalah proses untuk memperoleh properti-properti skema relasi yangbagus menjadi bentuk normal lebih tinggi sehingga syarat-syarat dibawah ini terpenuhi:

Candidate Key

Foreign Key

Primary Key

Primary Key

Page 15: HANDOUT SISTEM BASIS DATA

a. Mengoptimalisasi redudansi (pengulangan data yang tidak perlu). Redudansi tidak bisadihilangkan sama sekali karena berguna untuk integritas referensial, tetapi redudansibisa dioptimalisasi. Untuk jumlah data yang tidak terlalu banyak mungkin tidak terlaluberpengaruh dalam hal penggunaan harddisk. Tapi bayangkan jika ada ribuan, bahkanjutaan 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 PerkasaUtama sebanyak 4 record. Jika pergantian nama hanya dilakukan pada salah satu recordsaja, maka terjadi ketidak-konsistenan yaitu satu nomor bank berrelasi dengan 2 namabank 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 kuatyaitu 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 keduauntuk menghilangkan kebergantungan parsial. Bentuk normal ketiga untuk menghilangkankebergantungan transitif. Bentuk normal Boyce-Codd untuk menghilangkan anomaly tersisadisebabkan kebergantungan fungsional. Bentuk normal keempat untuk menghilangkankebergantungan nilai jamak. Bentuk normal kelima untuk menghilangkan anomaly tersisa.

Tiga bentuk normal pertama berkaitan dengan kebergantungan fungsional. Sementara itubentuk keempat dan kelima berkaitan dengan redudansi yang disebabkan kebergantunganbanyak nilai (multi-valued dependencies).

Bentuk Normal Pertama

Bentuk normal pertama adalah ekivalen dengan definisi model relasional. Relasi adalahbentuk normal pertama (1NF) jika semua nilai atributnya adalah sederhana (bukankomposit).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 KeduaSyarat :

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

Page 16: HANDOUT SISTEM BASIS DATA

Relasi pada bentuk normal kedua harus tidak menyimpan fakta-fakta mengenai bagian kuncirelasi. Bentuk normal kedua menghilangkan kebergantungan parsial dan masih memilikianomali-anomali yang secara praktis tidak dapat diterima.

Bentuk Normal KetigaSyarat :

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 kuncipada suatu relasi hanya memiliki ketergantungan fungsional terhadap primary keydi relasi itu saja.

Bentuk normal ketiga menghilangkan kebergantungan transitif, awalnya bentuk normal ketigadipikir sebagai bentuk normal puncak/paling akhir. Namun kemudian dapat ditemukan bentuknormal lebih kuat yaitu bentuk normal Boyce-Codd.

Bentuk Normal Boyce-Codd (BCNF)

BCNF memiliki ketentuan yaitu masing-masing atribut utama bergantung fungsional penuhpada masing-masing kunci dimana kunci tersebut bukan bagiannya. Relasi adalah BCNF(optimal) jika setiap determinan atribut-atribut relasi adalah kunci relasi. Relasiadalah BCNF (optimal) jika kapanpun fakta-fakta disimpan mengenai beberapa atribut, makaatribut-atribut ini merupakan satu kunci relasi. BCNF dapat memiliki lebih dari satukunci. 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 berisikebergantungan banyak nilai. Untuk menghilangkan kebergantungan banyak nilai dari saturelasi, kita membagi relasi menjadi dua relasi baru. Masing – masing relasi berisi duaatribut yang mempunyai hubungan banyak nilai.

Bentuk Normal Kelima

Bentuk normal kelima (5NF) berurusan dengan properti yang disebut join tanpa adanyakehilangan informasi (lossless join). Bentuk normal kelima (5NF) juga disebut PJNF(projection-join normal form). Kasus-kasus ini sangat jarang muncul dan sulit untukdideteksi secara praktis.

Contoh Normalisasi pada beberapa tingkatan.Diberikan tabel Mahasiswa di bawah ini, akan dilakukan normalisasi sampai bentuk normal ketiga

Perhatikan bahwa tabel di atas sudah dalam bentuk normal ke Satu(1NF).

Bentuk Normal 2 ( NF2 )

Page 17: HANDOUT SISTEM BASIS DATA

Bentuk Normal 3 NF3

Belum memenuhi kriteria3NF, Karena atribut non-keyNilai dan