DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini...

109
DIKTAT EDISI REVISI I BASIS DATA Oleh ABDUL HALIM HASUGIAN, M.Kom PROGRAM STUDI ILMU KOMPUTER FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SUMATERA UTARA MEDAN

Transcript of DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini...

Page 1: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

DIKTAT

EDISI REVISI I

BASIS DATA

Oleh

ABDUL HALIM HASUGIAN, M.Kom

PROGRAM STUDI ILMU KOMPUTER

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SUMATERA UTARA

MEDAN

Page 2: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

ii

KATA PENGANTAR

Alhamdulillah, segala puji dan syukur penulis panjatkan kehadirat Allah SWT karena

Diktat Revisi I ini telah selesai disusun. Diktat ini disusun agar dapat membantu para

mahasiswa dalam mempelajari konsep-konsep Basis Data beserta mempermudah

mempelajari materi Basis Data terutama bagi kaum awam yang belum mengenal Basis data

itu sendiri.

Penulis pun menyadari jika didalam penyusunan Diktat ini mempunyai kekurangan,

namun penulis meyakini sepenuhnya bahwa sekecil apapun buku ini tetap akan memberikan

sebuah manfaat bagi pembaca.

Akhir kata untuk penyempurnaan diktat ini , maka kritik dan saran dari pembaca

sangatlah berguna untuk penulis kedepannya.

Medan, Juni 2020

Penulis

Abdul Halim Hasugian

Page 3: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

iii

DAFTAR ISI

KATA PENGANTAR ii

DAFTAR ISI iv

BAB I PENGANTAR BASIS DATA

1.1 Pengertian Basis Data 1

1.2 Ciri-ciri data dalam basis data 3

1.3 Tujuan Basis Data 3

1.4 Mempelajari Basis Data 4

1.5 Operasi Dasar Basis Data 4

1.6 Hirarki Data 5

1.7 Aplikasi Basis Data 6

BAB II SISTEM BASIS DATA

1.1 Pengertian Sistem Basis Data 7

1.2 Komponen Sistem Basis Data 7

1.3 Tujuan Sistem Basis Data 9

1.4 Keuntungan Sistem Basis Data 10

1.5 Kerugian Sistem Basis Data 10

1.6 Struktur Basis Data 11

BAB III ABSTRAK DATA

1.1 Database Management System ( DBMS ) 12 1.2 Abstraksi Data 13

BAB IV MODEL DATA

1.1 Pengertian Model Data 17 1.2 Network Model 18 1.3 Hierarchical Model 19

1.4 Relational Model 20

1.5 Semantik Model 21

Page 4: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

iv

BAB V ENTITY RELATIONSHIP DIAGRAM (ERD)

1.1 Entity Relationship Model ( ERM ) 23

BAB VI LRS DAN TABEL

1.1 Tabel 33

1.2 Logical Record Structure ( LRS ) 34

BAB VII SPESIFIKASI BASIS DATA

1.1 SPESIFIKASI BASIS DATA 36

BAB VIII NORMALISASI

1.1 Normalisasi 39

1.2 Fuctional Dependency 41

BAB IX DIAGRAM DETERMINAN DAN KODE DATA

1.1 Diagram Determinan 52

1.2 Kode Data 53

BAB X QUERY LANGUAGE

1.1 Relational Algebra ( Aljabar Relasional ) 55

1.2 Pengertian Query Language 56 BAB XI STRUCTURE QUERY LANGUAGE (SQL)

1.1 Sejarah SQL 74 1.2 ALTER TABLE 77

1.3 DROP TABLE 77

1.4 Data Manipulaton Language (DML) 77

BAB XII MYSQL

1.1 MYSQL 86

BAB XIII DATABASE DAN MANAJEMEN DATABASE

1.1 Database Manajemen System 91 1.2 Aktifitas Manajemen Data 91 1.3 Dua jenis Penyimpanan Sekunder 91 1.4 Cara Mengolah Data 92 1.5 KONSEP DATABASE 92 1.6 Hirarki Data Tradisional 92

Page 5: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

v

BAB XIV SISTEM PENGORGANISASIAN DATABASE

1.1 Sistem Pengorganisasian Database Kontemporer 95 1.2 Pengorganisasian Database Tradisional 96 1.3 Tingkat Representasi Data 96

1.4 Tipe File 97 1.5 Arsitektur Sistem Database 100

DAFTAR PUSTAKA

DAFTAR GAMBAR

DAFTAR TABEL

Page 6: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

vi

DAFTAR TABEL

Tabel 1 : Contoh Level Fisik 14

tabel 2: Contoh Tabel Relational Model 21

Tabel 3: Relasi yang belum normal tahap pertama 42

tabel 4: Relasi yang sudah normal tahap pertama 43

Tabel 5: Contoh Tabel Pelanggan dalam implementasi aljabar relasional 58

Tabel 6: Contoh Tabel Rekening dalam implementasi aljabar relasional 58

Tabel 7: Contoh Tabel Nasabah dalam implementasi aljabar relasional 58

Tabel 8 : Tabel Hasil Bila diterjemahkan ke dalam aljabar relasional 59

Tabel 9:Tabel Hasil Bila diterjemahkan ke dalam aljabar relasional 60

Tabel 10: Tabel Hasil Bila diterjemahkan ke dalam aljabar relasional 60

Page 7: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

vii

DAFTAR GAMBAR

Gambar 1. lemari Arsip 2

Gambar 2. Basis data 2

Gambar 3. Hirarki Data 5

Gambar 3. Hirarki Data 11

Gambar 5. Abstraksi Data 13

Gambar 6 : Contoh Level Penampakan 16

Gambar 7: Model Hirarki 18

Gambar 8. Model Jaringan 19

Gambar 9 :Contoh Adanya Entitas 22

Gambar 10 : Contoh Adnya Relasi Berupa Garis 22

Gambar 11 : Simbol-simbol ERM 23

Gambar 12: Contoh Entitas Persegi Empat dengan Garis Tunggal 25

Gambar 13: Contoh Entitas dengan Persegi Empat dengan Garis double 25

Gambar 14: The Associative entity 26

Gambar 15 : 3 Bentuk Hubungan Relasi 27

Gambar 16: Contoh penulisan atribut dalam pembuatan ERD 31

Gamabr 17: Contoh penulisan key dalam pembuatan ERD 31

Gambar 18: Kardinalitas / derajat relasi 32

Gambar 19: Konsep dan Makna Penamaan Relationship 32

Gambar 20:Logical Record Structure 33

Gambar 21 : Contoh hubungan kardinality antara entitas yang satu dengan

entitas yang lain 34

Gambar 22: Contoh Spesifikasi basis data dibuatkan berdasarkan table yang ada 36

Gambar 23: Contoh spesifikasi basis data 38

Gambar 24 :Contoh Tabel Relasi 40

Gambar 25 : Langkah-langkah dalam normalisasi 41

Gambar 26: Contoh Tabel Relasi Dalam Bentuk Laporan 42

Gambar 27 : Contoh Relasi Second Normal Form ( 2 NF ) 43

Gambar 28 : Third Normal Form ( 3 NF ) 45

Gambar 29 : Contoh Fifth Normal Form(5 NF) 50

Page 8: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

viii

Gambar 30: Diagram Determinan 52

Gambar 31: Hasil operasi Cartesian product 63

Gambar 32: Relationship 76

Gambar 33: Cara Menjalankan MySQL Front 87

Gambar 34:Menu Tools 88

Gambar 35 : Tampilan MySQLFront 89

Gambar 36: Tampilan Tools Create Table 89

Gambar 37 : Tampilan Create Table 90

Gambar 38: Ilustrasi sistem pengorganisasian database tradisional 95

Gambar 39: Ilustrasi sistem pengorganisasian database kontemporer 96

Gambar 40: Ilustrasi hirarki dan level abstraksi data 97

Gambar 41: Perencanaan starategis sumber daya informasi 99

Gambar 42: Pendekatan berorientasi masalah 99

Page 9: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

1

BAB I

PENGANTAR BASIS DATA

1. Pengertian Basis Data

Dalam setiap langkah kehidupan modern manusia tidak bisa dilepaskan dari

basis data. Sejak seorang bayi lahir sudah dicatat dan diisikan datanya pada rumah

sakit tempat bayi tersebut dilahirkan, kemudian saat membuat akte kelahiran

kembali dicatat di pemerintahan. Saat akan memasuki usia sekolah SD, SMP, SMA

hingga perguruan tinggi bahkan saat bekerja maupun kematiannya akan selalu

dicatat datanya dalam organisasi yang kompeten.

Sebenarnya basis data tidak selalu berhubungan dengan komputer karena pencatatan

secara manual ke dalam suatu buku besar pun bisa dianggap sebagai suatu basis

data, akan tetapi ini bila berbicara mengenai teknologi basis data, maka akan selalu

dihubungkan dengan teknologi komputer karena dua hal tersebut berjalan beriringan.

Banyak definisi yang digunakan untuk menjelaskan istilah basis data. Disini

disimpulkan bahwa basis data adalah Basis data terbagi menjadi 2 kata yaitu basis

dan data. Basis dapat diartikan markas, gudang, tempat berkumpulnya. Sedangkan

Data merupakan representasi fakta dunia nyata yang mewakili sesuatu objek seperti

manusia (pegawai, siswa, pembeli, dll), barang, hewan, peristiwa, dll1.

Basis data sendiri dapat diartikan dalam sejumlah sudut pandang, yaitu sebagai berikut :

1. Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi

sedemikian rupa agar dapat dimanfaatkan kembali dengan cepat dan mudah.

2. Kumpulan data yang saling berhubungan yang disimpan secara bersama

sedemikian rupa dan tanpa pengulangan (redundansi) yang tidak perlu, untuk

memenuhi berbagai kebutuhan.

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

penyimpanan elektronik.

1 Fatansyah. Ir, 2002. Basis Data.Informatika Bandung.Bandung

Page 10: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

2

MAP

Disk

FILE

Gambar 1. lemari Arsip Gambar 2. 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.

Data yang tersimpan dalam basis data bisa beragam ukurannya,

misalnya data karyawan dalam suatu perusahaan mungkin akan hanya akan

berjumlah puluhan, ratusan atau ribuan data. Karena informasi adalah data

yang sudah diolah, maka dapat dikatakan bahwa basis data merupakan

sumber utama dari suatu sistem informasi. Basis data yang buruk akan

menyebabkan sistem informasi yang buruk pula.

Page 11: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

3

2. Ciri-ciri data dalam basis data

Adapun ciri-ciri data dalam basis data ada 2 macam, yaitu :

a. Data disimpan secara terintegrasi( integrated )

Database merupakan kumpulan dari berbagai macam file dari aplikasi-

aplikasi yang berbeda, yang disusun dengan cara menghilangkan

bagian- bagian yang rangkap.

b. Data dapat dipakai secara bersama-sama(shared)

Masing-masing bagian dari database dapat diakses oleh pemakai dalam

waktu yang bersamaan untuk aplikasi yang berbeda.

Data hubungannya dengan basis data terdapat 3 macam, yaitu :

a. Data operasional

b. Data Masukan ( Input Data )

c. Data Keluaran ( Output Data )

3. Tujuan Basis Data

a. Kecepatan & kemudahan (speed)

Pemanfaatan basis data memungkinkan kita menyimpan, memanipulasi,

menampilkan data dengan lebih cepat dan mudah.

b. Efisiensi ruang penyimpanan (space)

Penekanan redudansi data dengan menerapkan sejumlah teknik

pengkodean atau membuat relasi – relasi antar file, akan mengurangi

pemakaian space di media penyimpanan.

c. Keakuratan (accuracy)

Pemanfaatan kode dan relasi antar file dengan aturan ketat berguna

untuk menekan ketidakakuratan pemasukan data.

d. Ketersediaan (availability)

Ketersediaan data dapat didukung dengan teknologi jaringan komputer,

agar data dapat diakses

e. Kelengkapan (completeness)

Kelengkapan data yang disimpan dalam sebuah database bersifat relative

( terhadap kebutuhan dan waktu), bisa jadi saat ini dianggap sudah

Page 12: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

4

lengkap, tetapi belum tentu pada suatu saat dianggap lengkap. Untuk

mengantisipasi perubahan kebutuhan data, maka basis data sebaiknya

dirancang untuk dapat menambah data dan dapat juga merubah struktur

basis data.

f. Keamanan (security)

Penerapan kemanan basis data berkaitan dengan pemberian hak akses

kepada user dengan tingkatan tertentu beserta operasi–operasi yang

boleh dilakukan.

g. Kebersamaan pemakaian (sharability)

Kebersamaan pemakaian data umumnya ada dalam basis data yang

menggunakan aplikasi multiuser.

4. Mempelajari Basis Data

Alasan mengapa kita harus mempelajari basis data adalah sebagai berikut :

a. perpindahan dari komputasi ke informasi

b. himpunan elemen data semakin banyak dan beragam

1) perpustakaan digital. Video interaktif

2) kebutuhan untuk memperluas DBMS

c. DBMS mencakup bidang ilmu lain

System operasi, bahasa pemrograman, teori komputasi, AI, logika,

multimedia.

5. Operasi Dasar Basis Data

a. Pembuatan Basis Data (Create Database)

Yang identik dengan pembuatan lemari arsip yang baru.

b. Penghapusan Basis Data (Drop Database)

Yang identik dengan perusakan lemari arsip (sekaligus beserta isinya,

jika ada)

c. Pembuatan File/Table baru ke suatu basis data (Create Table)

Yang identik dengan penambahan map arsip baru ke sebuah lemari

arsip yang telah ada.

d. Penghapusan File/Table dari suatu basis data (Drop Table)

Page 13: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

5

Yang identik dengan perusakan map arsip lama yang ada di sebuah

lemari arsip.

e. Penambahan data baru ke suatu file/table di sebuah basis data (insert)

Identik dengan penambahan lembaran arsip baru kesebuah map arsip.

f. Pengambilan data dari sebuah file/table (Retrieve/Search/select) Identik

dengan pencarian lembaran arsip dari sebuah map arsip.

g. Pengubahan data dari sebuah file/table (Update)

Identik dengan perbaikan isi lembaran arsip yang ada di sebuah map

arsip.

h. Penghapusan data dari sebuah file/table (Delete)

Identik dengan penghapusan sebuah lembaran arsip yang ada di sebuah

map arsip.

6. Hirarki Data

Hirarki adalah urutan atau aturan dari tingkatan abstraksi menjadi seperti

struktur pohon. Berdasarkan tingkat kompleksitas nilai data, tingkatan data

dapat disusun kedalam sebuah hirarki, mulai dari yang paling sederhana

hingga yang paling komplek.

Gambar 3. Hirarki Data

Page 14: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

6

Ada 7 tingkatan hirarki basis data yaitu sebagai berikut :

a. Sistem Basis Data

b. Basis data

c. File / tabel

d. Record/ baris

e. Field / kolom

f. Byte

g. Bit

7. Aplikasi Basis Data

Aplikasi basis data adalah pintu masuk ke dalam sumber daya basis

data. Aplikasi basis data terdiri atas sekumpulan menu, formulir, laporan

dan program yang memenuhi kebutuhan suatu fungsional unit bisnis /

organisasi atau instansi.

Kebutuhan akan aktivitas menentukan kebutuhan akan suatu aplikasi

dan kebutuhan akan aplikasi menentukan akan kebutuhan suatu basis data.

Tujuan aplikasi adalah untuk menyediakan informasi dan membantu

pemakai membuat keputusan. Basis data dapat digunakan pada beberapa

aplikasi antara lain :

a. Industri manufaktur : produksi, persediaan, pemesanan

b. Manajemen rumah sakit : registerasi, rekam medis, perawatan

c. Manajemen perpustakaan : seluruh transaksi

d. Perhotelan : seluruh transaksi

e. Perbankan : melayani seluruh transaksi

f. Perguruan tinggi : mahasiswa, keuangan, akuntansi, lulusan

g. Penerbangan : reservasi, jadwal penerbangan

h. Penjualan : pelanggan, produk, penjualan, pemasaran

Page 15: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

7

BAB II

SISTEM BASIS DATA

1. Pengertian Sistem Basis Data

Sistem adalah tatanan yang terdiri dari komponen–komponen

fungsional yang saling berhubungan untuk mencapai tujuan tertentu.

Sistem Basis Data adalah kumpulan file / tabel yang saling

berhubungan dan sekumpulan program (DBMS) yang memungkinkan

beberapa pemakai dan / atau program lain untuk mengakses dan

memanipulasi file-file (tabel-tabel) tersebut2.

2. Komponen Sistem Basis Data

Komponen utama sistem basis data adalah sebagai berikut :

a. Perangkat Keras (Hardware)

Perangkat keras yang biasanya terdapat dalam sebuah basis data :

1) Komputer

2) Harddisk

3) Tape atau removable disk untuk backup data

4) Media / perangkat komunikasi untuk sistem jaringan

Perangkat keras pendukung operasi pengolahan data yang utama

adalah sistem komputer yang mempunyai komponen sebagai berikut :

1) Perangkat keras masukan

2) Perangkat keras keluaran

3) Perangkat keras unit pengolahan

2 Sutanta, Edhy, 2004. Sistem Basis Data.Penerbit Graha Ilmu.Yogyakarta

Page 16: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

8

b. Perangkat Lunak (Software)

Secara sederhana, SO adalah program yang mengaktifkan

dan mengendalikan seluruh sumber daya komputer.

Secara lebih luas, perangkat lunak dapat dikategorikan dalam tiga

bagian, yaitu :

1) Perangkat lunak sistem operasi

2) Perangkat lunak bahasa

3) Perangkat lunak aplikasi

c. Basis Data

Sebuah sistem basis data dapat terdiri dari beberapa basis data. Setiap

basis data dapat berisi sejumlah file dan strukturnya.

d. Database Management System / DBMS

Pengelolaan basis data secara fisik ditangani oleh sistem khusus, yang

disebut DBMS. Perangkat lunak yang termasuk DBMS seperti, dBase

III+, dBase IV, Foxbase, Rbase, MS-Access dan Borland Paradox

(kelas sederhana) atau Borland-Interbase, MS-SQLServer, CA-Open

Ingres, Oracle, Informix dan Sybase (untuk kelas komplex, berat)

e. PEMAKAI

Ada beberapa tipe pemakai sistem basis data yang

dibedakan berdasarkan cara berinteraksi dengan sistem :

1) Programmer Aplikasi

Pemakai yang berinteraksi dengan basis data melalui DML, yang

disertakan dalam program yang ditulis dalam bahasa pemrograman

induk (seperti Visual Basic, Borland Delphi, C, Pascal, Cobol dll.)

2) User Mahir ( Casual User )

Pemakai yang berinteraksi dengan sistem tanpa menulis modul

program. Mereka menyatakan query (untuk akses data) yang telah

disediakan oleh suatu DBMS.

Page 17: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

9

3) User Umum ( End User / Naive User )

Pemakai yang berinteraksi dengan sistem basis data melalui

pemanggilan satu program aplikasi permanen (executable program)

yang telah ditulis / sediakan sebelumnya ( contoh : orang akses

database melalui web, teller di bank)

4) User Khusus ( Specialized User )

Pemakai yang menulis aplikasi basis data non konvensional, tetapi

untuk keperluan-keperluan khusus, seperti untuk aplikasi AI,

Sistem Pakar, dll.

f. Aplikasi ( Perangkat Lunak ) Lain

Aplikasi ini sifatnya opsional, tergantung kebutuhan.

3. Tujuan Sistem Basis Data

Ada beberapa tujuan sistem basis data antara lain yaitu 3:

a. Mencegah data redundancy dan inconsistency

Kerangkapan data dalam basis data terjadi akibat penyusunan basis data

untuk aplikasi-aplikasi tidak memperhatikan kriteria sebuah basis data.

Kerangkapan data juga dapat terjadi akibat penyusunan basis data

dilakukan oleh perancang yang berbeda dalam selang waktu yang

cukup lama. Penyebab utama munculnya data tidak konsisten adalah

akibat munculnya kerangkapan data dalam file.

b. Mempermudah dalam melakukan akses terhadap data

c. Mempertimbangkan data isolation

d. Mencegah concurent access anomaly atau penyimpangan akses secara

bersama-sama

e. Mempertimbangkan masalah keamanan data

3 Marlinda, Linda, 2004.Sistem Basis Data.Penerbit Andi.Yogyakarta

Page 18: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

10

f. Mempertimbangkan masalah integritas data Integritas data berhubungan

dengan kinerja sistem agar dapat melakukan kendali/kontrol pada semua

bagian sistem. Integritas dimaksudkan sebagai suatu sarana untuk

menyakinkan bahwa data-data yang tersimpan dalam basis data selalu berada

dalam kondisi yang benar.

4. Keuntungan Sistem Basis Data

a. Mengurangi redundansi

Data yang sama pada beberapa aplikasi cukup disimpan sekali saja.

b. Menghindarkan inkonsistensi

Karena redundansi berkurang, sehingga umumnya update hanya sekali

saja.

c. Terpeliharanya integritas data.

d. Data tersimpan secara akurat.

e. Data dapat dipakai bersama-sama

f. Data yang sama dapat diakses oleh beberapa user pada saat bersamaan.

g. Memudahkan penerapan standarisasi Menyangkut keseragaman

penyajian data.

h. Jaminan security hanya dapat diakses oleh yang berhak.

i. Menyeimbangkan kebutuhan Dapat ditentukan prioritas suatu operasi,

misalnya

antara update (mengubah data) dengan retrieval (menampilkan data)

didahulukan update.

5. Kerugian Sistem Basis Data

a. MAHAL

1) Diperlukan hardware tambahan

a) CPU yang lebih besar

b) Terminal yang lebih banyak

c) Alat untuk komunikasi

Page 19: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

11

2) Biaya performance yang lebih besar

a) Listrik

b) Personil yang lebih tinggi klasifikasinya

c) Biaya telekomunikasi yang antar lokasi/kota

b. KOMPLEKS

c. PROSEDUR BACKUP & RECOVERY SULIT

6. Struktur Basis Data

Gambar 4. Struktur Basis Data

Page 20: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

12

BAB III

ABSTRAK DATA

1. Database Management System ( DBMS )

Database Manajemen System ( DBMS ) merupakan software yang

digunakan untuk membangun sebuah sistem basis data yang berbasis

komputerisasi. DBMS membantu dalam pemeliharaan dan pengolahan

kumpulan data dalam jumlah besar, sehingga dengan menggunakan

DBMS tidak menimbulkan kekacauan dan dapat digunakan oleh pengguna

sesuai dengan kebutuhan4.

Selain itu, DBMS dapat diartikan sebagai perantara bagi pemakai

dengan basis data. Untuk berinteraksi dengan DBMS ( basis data )

menggunakan bahasa basis data yang telah ditentukan oleh perusahaan

DBMS.

Database Management System ( DBMS ) terdiri dari :

a. Sekumpulan data yang saling berhubungan

b. Suatu himpunan program yang melakukan akses terhadap data

tersebut Tujuan DBMS yang paling utama adalah :

a. Memelihara informasi

b. Informasi tersedia pada saat yang dibutuhkan

Data yang disimpan perlu diatur dalam Manajemen Data, oleh karena itu

perlu dipelajari :

a. Struktur informasi dan

b. Mekanisme dalam melakukan manipulasi terhadap informasi

4 Kusrini. 2006. Strategi Perancangan dan Pengelolaan Basis Data. Yogyakarta : Penerbit Andi.

Page 21: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

13

2. Abstraksi Data

Salah satu tujuan dari DBMS adalah untuk menyediakan

fasilitas/antarmuka (interface) kepada user. untuk itu sistem tersebut akan

menyembunyikan detail tentang bagaimana data disimpan dan dipelihara,

sehingga data yang terlihat oleh 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.

Gambar 5. Abstraksi Data

Page 22: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

14

Abstraksi data terbagi atas 3 level yaitu sebagai berikut :

a. Level Fisik (Physical Level)

Merupakan level terendah dalam abstraksi data, yang menunjukkan

bagaimana sesungguhnya data tersebut disimpan. Untuk level ini

pemakai melihat data sebagai gabungan dari struktur dan datanya

sendiri. Pada level ini kita berurusan dengan data sebagai teks,

sebagai angka bahkan melihat data sebagai himpunan bit data.

Contoh :

NIM : 19981150001

Nama : Budi

Alamat : Pangkalpinang Tempat lahir : Bali

Tanggal lahir : 15 April 1975 Pekerjaan : PNS

Tabel 1 : Contoh Level Fisik

Arah head ->

Record # 1 Recod # 2 ……. Record # N

1 9 9 8 1 ...... P N S IRG ......

1 1 1 0 1 ...... 0 0 1 ......

0 0 0 0 0 ...... 0 1 1 ......

0 0 0 0 0 ...... 0 1 0 ......

0 0 0 0 0 ...... 0 1 1 ...

...

0 1 1 1 0 ...... 1 0 0 ......

0 0 0 0 0 ...... 0 0 0 ......

0 0 0 0 0 ...... 1 1 1 ......

0 0 0 0 0 ...... 0 0 0 ......

1 0 0 1 1 ...... 0 0 0 ......

Page 23: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

15

b. Level Lojik / Konseptual (Conceptual level)

Pada level ini abstraksi data menggambarkan data apa yang

sebenarnya (secara fungsional) disimpan dalam basis data dan

hubungannya dengan data yang lain.

Contohnya, Seorang pengguna dalam level ini dapat mengetahui

bahwa data mahasiswa disimpan pada tabel mahasiswa, tabel krs,

tabel transkrip dan lain sebagainya.

Contoh :

c. Level Penampakan (Level View)

Ini merupakan level tertinggi dari abstraksi data. Banyak user dalam

sistem basis data tidak akan terlibat dengan semua data / informasi

yang Ada dan user hanya mengenal struktur data yang sederhana yang

berorientasi pada kebutuhan pengguna. Para user umumnya hanya

membutuhkan sebagian informasi dalam basis data yang

kemunculannya dimata user diatur oleh aplikasi end-user. Aplikasi ini

juga mengkonversi data asli / fisik menjadi data yang bermakna pada

pemakai. Misalnya: Bagian keuangan hanya membutuhkan data

keuangan, jadi yang digambarkan hanya pandangan terhadap data

keuangan saja, begitu juga dengan bagian akuntansi, hanya

membutuhkan data akuntansi saja. Jadi tidak semua pengguna

database membutuhkan seluruh informasi yang terdapat dalam

database tersebut.

Page 24: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

16

Contoh :

Gambar 6 : Contoh Level Penampakan

Page 25: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

17

BAB IV

MODEL DATA

1. Pengertian Model Data

Model data adalah kumpulan perangkat konseptual untuk

menggambar data, hubungan antara data, makna (semantik) data, dan

batasan data.

Model database adalah suatu konsep yang terintegrasi dalam

menggambarkan hubungan (relationships) antar data dan batasan-batasan

(constraint) data dalam suatu sistem database5.

Ada dua cara dalam merepresentasikan model data dalam membuat

basis data, yaitu :

a. Record-Based Logical Models

Adalah record atau rekaman yang menjelaskan kepada pemakai

mengenai hubungan logik antar data dalam basis data.

Record based logical model terbagi atas 3 yaitu :

b. Object-Based Logical Models

Adalah himpunan data dan prosedur/relasi yang menjelaskan

hubungan logic antar data dalam suatu basis data berdasarkan obyek

datanya.

5 Adyanata lubis.2016.Basis data dasar.deepublish.Yoguakarta

Page 26: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

18

Object based logical model terbagi atas 3 yaitu :

2. Hierarchical Model

Model hirarki atau biasa disebut model pohon, karena menyerupai

pohon. Model ini menggunakan pola hubungan dengan istilah orang tua

dan anak. Terdapat juga istilah simpul (bercirikan kotak atau lingkaran).

Simpul yang berada diatas yang terhubung ke simpul pada level

dibawahnya disebut orang tua. Setiap orang tua bisa memiliki satu

(hubungan 1:1) atau beberapa anak (hubungan 1:M), tetapi setiap anak

hanya memiliki satu orang tua. Simpul – simpul yang dibawahi oleh

simpul orang tua disebut anak. Adapun hubungan antara anak dan orang

tua disebut cabang. Perbedaannya adalah, record-record diorganisasikan

sebagai tree (pohon) daripada graf. Sebagai contoh lihat gambar seperti di

bawah ini

Gambar 7: Model Hirarki

Page 27: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

19

3. Network Model

Model jaringan direpresentasikan dengan sekumpulan record dan relasi

antar data yang direpresentasikan oleh record & link. Model ini

menyerupai model hirarki. Perbedaannya terdapat pada suatu simpul anak

bisa memiliki lebih dari satu orang tua. Model ini bisa menyatakan

hubungan 1:1 (satu arang tua punya satu anak), 1:M (satu orang tua punya

banyak anak), maupun N:M (beberapa anak bisa mempunyai beberapa

orangtua). Pada model jaringan, orang tua disebut pemilik dan anak

disebut anggota. Sebagai Contoh lihat gambar dibawah ini :

Gambar 8. Model Jaringan

Page 28: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

20

4. Relational Model

Model relasional berbeda dengan model jaringan & hirarki. Pada

model data relasional pemodelan menggunakan tabel untuk

merepresentasikan data & relasi antar data. Setiap tabel terdiri atas kolom,

dan setiap kolom mempunyai nama variable tertentu.Inti dari model ini

adalah relasi, yang dimisalkan sebagai himpunan dari record. Pada model

relasional, skema atau deskripsi data pada model relasi ditentukan oleh

nama, nama dari tiap field (Atribut atau kolom), dan tipe dari tiap field.

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.

Page 29: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

21

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.

Sebagai contoh dapat dilihat dibawah ini :

Tabel 2: Contoh Tabel Relational Model

5. Semantik Model

Model Semantik adalah model yang menggambarkan hubungan

antara data yang ada dan tidak menggambarkan proses-proses yang terjadi.

Model semantik hampir sama dengan entity relationship model.

Perbedaannya hanya terletak pada pernyataan adanya relasi antara

obyeknya. Jika pada entity relationship model menyatakan adanya relasi

antar objek menggunakan simbol-simbol namun pada semantic model

menggunakan kata-kata ( semantik).

Tanda-tanda yang digunakan dalam semantic data model adalah sebagai

berikut :

a. Menunjukkan adanya entitas

b. Menunjukkan adanya relasi berupa garis

c. Menunjukkan adanya atribut

Page 30: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

22

Gambar 9 :Contoh Adanya Entitas

Contoh :

Gambar 10 : Contoh Adnya Relasi Berupa Garis

Page 31: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

23

BAB V

ENTITY RELATIONSHIP DIAGRAM (ERD)

1. Entity Relationship Model ( ERM )

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. Model Entity relationship biasanya digunakan

untuk menjelaskan hubungan antar data dalam basis data kepada user

secara logic. ER-M yang digambarkan dalam bentuk diagram disebut

diagram ER dengan menggunakan simbol-simbol grafis tertentu. Konsep

paling dasar di model ER adalah entitas, relationship dan atribut.

Gambar 11 : Simbol-simbol ERM

Page 32: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

24

Komponen-komponen utama model ER adalah sebagai berikut :

a. Entitas (entity),

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.

1) Adapun syarat-syarat sebuah Entitas antara lain sebagai berikut :

a) Merupakan objek yang memiliki lebih dari satu entity

instances (contoh) dalam database. Entity Instance untuk

Entitas Mahasiswa adalah Rika, Andi, Della, dll

b) Merupakan objek yang memiliki beberapa atribut.

c) Bukan seorang user dari sistem.

d) Bukan sebuah output dari sistem (contoh: laporan)

e) Beri nama dengan kata Benda

2) Jenis Entitas

Entitas terbagi 2 jenis yaitu sebagai berikut :

a) Strong Entitas

(1) Keberadaanya berdiri sendiri.

(2) Mempunyai Primary Key (unique identifier)

Page 33: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

25

(3) Digambarkan dengan Persegi Empat dengan

Garis Tunggal.

Gambar 12: Contoh Entitas Persegi Empat dengan Garis Tunggal

b) Weak Entitas

(1) Tergantung pada strong entity

(2) Tidak Dapat berdiri sendiri.

(3) Tidak Mempunyai Primary Key (unique identifier)

(4) Digambarkan dengan Persegi Empat dengan Garis

double.

Contoh :

Gambar 13: Contoh Entitas dengan Persegi Empat dengan

Garis double

Page 34: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

26

c) Associative Entitas

Merupakan entity attributes

entitas.

Kapan sebaiknya relationship dengan attribut

menjadi sebuah associative entity ?

(1) Semua Relationships pada associative entity harus

many

(2) The associative entity bisa mempunyai arti tidak

terikat pada Entity lain

(3) The associative entity Lebih disukai mempunyai

unique identifier, dan juga harus mempunyai

attributes lain.

Contoh :

Gambar 14: The Associative entity

Page 35: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

27

b. Relationship

Relationship memodelkan koneksi/hubungan di antara entitas-entitas.

Relationship adalah hubungan diantara beberapa entiti. Kumpulan

semua relasi diantara entitas-entitas yang terdapat pada himpunan

entitas- himpuan entitas tersebut membentuk himpunan relasi

(relationship sets). Adapun syarat-syarat sebuah relasi adalah sebagai

berikut :

1) Relationship set adalah sekumpulan relasi yang mempunyai tipe

yang sama.

2) Relationship set digambarkan dengan diamond atau belah

ketupat.

3) Nama relasi harus menggunakan kata kerja.

Ada 3 bentuk hubungan relasi antara lain sebagai berikut :

Gambar 15 : 3 Bentuk Hubungan Relasi

c. Atribut –atribut (properti –properti )

Setiap entitas pasti memiliki atribut yang mendeskripsikan

karakteristik property atau atribut dari sebuah entitas tersebut.

Penentuan / pemilihan atribut-atribut yang relevan bagi sebuah entitas

merupakan hal penting lainnya dalam pembentukan model ER.

Contoh : nim, nama, alamat, kode dll.

Adapun syarat-syarat sebuah atribut adalah sebagai berikut :

Page 36: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

28

PEGAWAI

1) Nama atribut harus unik di dalam sistem.

2) Semua atribut yang menguraikan Entity atau Relationship

tertentu harus diberi nama.

3) Masing-Masing Relationship harus meliputi atribut

yang menguraikan Entity tersebut dalam membentuk

Relationship.

4) Nama penuh arti harus terpilih sehingga E-R diagram adalah

self- explanatory (menjelaskan isi dari dirinya)

Jenis-jenis atribut adalah sebagai berikut :

1) Atribut Key

Atribut key adalah atribut yang digunakan untuk menentukan

suatu entity secara unik.

2) Atribut Simple

Atribut simple adalah atribut yang bernilai tunggal. Contoh : kota

3) Atribut Multivalue

Atribut Multivalue adalah atribut yang memiliki sekelompok nilai

untuk setiap instan entity.

Contoh :

Nip

Nama Tgllhr

Gelar atribut multivalue

Page 37: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

29

PEGAWAI

4) Atribut Composite

Atribut composite adalah suatu atribut yang terdiri dari beberapa

atribut yang lebih kecil yang mempunyai arti tertentu.

Contoh :

Nama Tengah

Nama Nama Depan Nama

Belakang

5) Atribut Derivatif

Atribut derivative adalah suatu atribut yang dihasilkan dari atribut

yang lain.

Tgllhr

Contoh : Umur

Adapun jenis-jenis key antara lain sebagai berikut :

1) Primary key

Salah satu atrribut dari candidat key dapat dipilih menjadi

primary key dengan 3 kriteria sbb :

Key tersebut lebih natural untuk dijadikan acuan

Key tersebut lebih sederhana

Bersifat unik

PEGAWAI

Page 38: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

30

2) Secondary key

Secondary key adalah key yang tidak terpilih menjadi primary

key.

3) Foreign key

Jika sebuah primary key terhubungan ke table/entity lain, maka

keberadaan primary key pada entity tersebut disebut sebagai

foreign key.

4) Candidate key

Sebuah attribute atau lebih yang secara unit mengidentifikasi

sebuah record, disebut candidate key. Attribute ini mempunyai

nilai yang unik pada hampir setiap recordnya. Fungsi dari

candidate key ini adalah sebagai calon primary key.

5) Composite key

gabungan dua key atau lebih yang secara unik dapat

menidentiifikasi sebuah entitas. Primary key yang dibentuk dari

beberapa atribut relasi.

6) Alternate key

Setiap atribut dari candidate key yang tidak terpilih sebagai

primary key akan dinamakan alternate key.

Contoh penulisan atribut dalam pembuatan ERD sebagai berikut :

Page 39: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

31

Gambar 16: Contoh penulisan atribut dalam pembuatan ERD

Contoh penulisan key dalam pembuatan ERD sebagai berikut :

Gambar 17: Contoh penulisan key dalam pembuatan ERD

Page 40: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

32

d. Kardinalitas / derajat relasi

Gambar 18: Kardinalitas / derajat relasi

Gambar 19: Konsep dan Makna Penamaan Relationship

Kardinalitas atau derajat relasi adalah tingkat hubungan dan derajat

relasi antara entitas yang satu dengan entitas yang lain

Page 41: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

33

BAB VI

LRS DAN TABEL

1. Logical Record Structure ( LRS )

Gambar 20:Logical Record Structure

Jika hubungan kardinality antara entitas yang satu dengan entitas yang lain

adalah 1:1

Pilih Salah Satu

Cara penggabungan :

k) Ke entity yang membutuhkan referensi

l) Ke entity yang mempunyai atribut lebih sedikit

Page 42: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

34

Jika hubungan kardinality antara entitas yang satu dengan entitas yang lain

adalah 1:M

Pilih Salah Satu

Cara penggabungan :

m) Selalu kearah many

Jika hubungan kardinality antara entitas yang satu dengan entitas yang lain

adalah M : N

Pilih Salah Satu

Cara penggabungan :

n) Entitas masing-masing berdiri sendiri

2. Tabel

Jika hubungan kardinality antara entitas yang satu dengan entitas yang lain

adalah 1:1

Gambar 21 : Contoh hubungan kardinality antara entitas yang satu dengan

entitas yang lain

Page 43: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

35

Jd tabelnya :

o) Tabel mahasiswa

p) Tabel ijazah

Jika hubungan kardinality antara entitas yang satu dengan entitas yang lain

adalah 1:M

Jd tabelnya :

q) Tabel fakultas

r) Tabel prodi

Jika hubungan kardinality antara entitas yang satu dengan entitas yang lain

adalah

M : N

Jd Tabelnya :

s) Tabel MAHASISWA

t) Tabel MT-KULIAH

u) Tabel IKUT

Page 44: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

36

BAB VII

SPESIFIKASI BASIS DATA

1. Spesifikasi Basis Data

Spesifikasi basis data menggambarkan struktur data fisik pada suatu

sistem atau aplikasi. Spesifikasi basis data menyajikan bagaimana

penyimpanan data dilakukan pada software basis data. Spesifikasi basis

data dibuatkan berdasarkan table yang ada.

Contoh :

Tabel Mahasiswa

NIM NAMA ALAMAT KOTA

PK

Gambar 22: Contoh Spesifikasi basis data dibuatkan berdasarkan table yang ada

Jika tabel diatas dibuatkan spesifikasi basis data, maka akan menjadi

seperti dibawah ini :

Page 45: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

37

Page 46: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

38

Gambar 23: Contoh spesifikasi basis data

Page 47: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

39

BAB VIII

NORMALISASI

1. Normalisasi

Normalisasi adalah suatu teknik menstrukturkan /memecah/

mendekomposisi data dalam cara-cara tertentu untuk mencegah timbulnya

permasalahan pengolahan data dalam basis data.

Normalisasi adalah metode untuk mengelompokkan attribut-

attribut menjadi relasi yang well-structured (struktur yang baik).

Permasalahan yang dimaksud adalah adanya anomallies/Penyimpangan

yang terjadi akibat adanya kerangkapan data dalam relasi dan inefisiensi

pengolahan

Adapun konsep dasar dari normalisasi adalah hasil dari

transformasi menggunakan ER-D terkadang belum menghasilkan struktur

yang optimal sehingga membuat menciptakan kerangkapan data.

Tujuan normalisasi adalah sebagai berikut :

a. Untuk menghindari duplikasi data

b. Merupakan proses mendekomposisikan relasi yang masih memiliki

beberapa anomali untuk menghasilkan relasi yang lebih sederhana dan

well-structured.

Sebuah relasi (relasi) yang memiliki data redundancy yang

minimal dan memungkinkan user untuk melakukan insert, delete, dan

update baris (record) tanpa menyebabkan inkonsistensi data.

a. Tujuannya untuk menghindari beberapa anomali:

1) Insertion Anomaly – menambah record baru mempengaruhi user

untuk membuat duplikasi data

2) Deletion Anomaly – menghapus record mungkin menyebabkan

hilangnya data yang akan dibutuhkan pada record lain

Page 48: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

40

3) Modification Anomaly – merubah data pada sebuah

record mempengaruhi perubahan pada record lain karena adanya

duplikasi.

Contoh Relasi :

KARYAWAN

NIP NAMA BAGIAN GAJI KURSUS SELESAI

100

AGUS

KEUANGA

N

1,000

SPSS

10-10-

2005

100 AGUS KEUANGA

N

1,000 AUDIT 10-10-

2005

200 BUDI SDM 1,200 KOMPUTE

R

20-10-

2000

200 BUDI SDM 1,200 AUDIT 10-10-

2005

300 BAGONG KEBERSIH

AN

500

400 MAMOX MARKETIN

G

1,500 MARKETI

NG

01-01-

2005

Gambar 24 :Contoh Tabel Relasi

Penjelasan :

Insertion – tidak dapat memasukkan data karyawan baru yang tidak

mengambil kursus

Deletion – jika pegawai 400 dihapus, kita akan kehilangan informasi tentang

keberadaan kelas Marketing

Page 49: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

41

Modification – menaikan gaji pegawai 100 mengharuskan kita untuk meng-

update beberapa records

– Mengapa beberapa anomali ini muncul ? Karena kita telah

menyatukan 2 tema (entity) dalam satu relasi. Hal ini

menyebabkan adanya duplikasi, dan ketergantungan antar entitas.

2. Fuctional Dependency

Functional Dependency adalah nilai sebuah atribut (the

determinant) yang menentukan nilai atribut yang lainnya. Normalisasi

dilakukan berdasarkan analisa dari functional dependencies (relationship

antar atribut). Setiap yang bukan key secara fungsional harus tergantung

pada setiap candidate key (primary Key).

Contoh : Nim Nama, Alamat

Langkah-langkah dalam normalisasi adalah sebagai berikut :

Gambar 25 : Langkah-langkah dalam normalisasi

Page 50: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

42

a. First Normal Form ( 1 NF ) Syarat Tahap 1 NF yaitu :

Sudah tidak ada repeating group

Tidak memiliki multivalued attributes

Setiap nilai atribut hanya mempunyai nilai tunggal.

Contoh :

Gambar 26: Contoh Tabel Relasi Dalam Bentuk Laporan

Tabel 3: Relasi yang belum normal tahap pertama

NIM NAMA ALAMAT KODE

MATKUL

NAMA

MATKUL

SKS NILAI BOBO

T

0611500678 AGUS H PKP K3C SBD 3 A 4

P1A BAHASA C 3 B 3

0622500567 DESI R PKP K1C IMK 3 B 3

P1A BHS.

INGGRIS

2 A 4

Page 51: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

43

Tabel 4: Relasi yang sudah normal tahap pertama

NIM NAMA ALAMAT KODE

MATKUL

NAMA

MATKUL

SKS NILAI BOBOT

0611500678 AGUS H PKP K3C SBD 3 A 4

0611500678 AGUS H PKP P1A BAHASA C 3 B 3

0622500567 DESI R PKP K1C IMK 3 B 3

0622500567 DESI R PKP P1A BHS.INGGR

IS

2 A 4

b. Second Normal Form ( 2 NF )

1) Sudah memenuhi 1NF dan setiap atribut non-key sepenuhnya

secara fungsional tergantung pada semua primary key.

a. Setiap atribut non-key harus didefinisikan oleh semua

key, bukan oleh bagian dari key.

b. Tidak memiliki partial functional dependencies

atau penentuan identitas tunggal.

2) relasi dibawah ini belum dalam 2nd Normal Form (2NF)

Contoh :

Gambar 27 : Contoh Relasi Second Normal Form ( 2 NF )

Page 52: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

44

Functional Dependency :

• Nim Alamat

• Kode sks

• Bobot

Maka tabel relasi masih belum normal ke-2 (2NF)

• Karena atribut Bobot belum tergantung pada primary key,

maka atribut-atribut tsb harus dipisahkan dari relasi induknya.

c. Third Normal Form ( 3 NF )

• Dalam Third Normal Form (3NF) relasi harus dalam 2NF dan

tidak ada

transitive dependencies yang ada pada relasi.

• Transitive dependency adalah ketika ada atribut yang secara tidak

langsung tergantung sama key dan atribut tsb tergantung pada

atribut lain yang bukan key.

Page 53: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

45

Gambar 28 : Third Normal Form ( 3 NF )

FD :

• Kode Matkul, Nilai, Bobot

Maka relasi nilai masih belum normal ke-3 (3NF)

• Karena atribut Bobot masih tergantung pada atribut yang bukan

keynya, maka atribut-atribut tsb harus dipisahkan dari relasi

induknya.

Functional Dependency :

• Kode Nilai

d. Boyce –Codd Normal Form ( BCNF )

• Ketika sebuah relasi memiliki lebih dari 1 candidate keys,

anomali bisa terjadi walau relasi sudah dalam 3NF

Page 54: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

46

• Misal: relasi di bawah ini sudah normal ke-3

Primary key pada relasi diatas adalah composite key yaitu nim dan jurusan.

• Tiap siswa boleh memilih lebih dari satu jurusan dan setiap

siswa pada satu jurusan memiliki satu penasehat dan 1 nilai,

kemudian satu jurusan hanya memiliki satu penasehat.

• Pada relasi di atas attribut key (jurusan) functional dependencies

terhadap non-key attribute (penasehat).

• Anomali pada relasi

• Relasi di atas sudah dalam 3NF, karena sudah tidak ada

partial dependencies dan transitiv dependencies.

• Dikarenakan adanya functional dependencies antara

jurusan dan penasehat maka terjadi beberapa anomali

pada relasi di atas :

• Jika penasehat fisika diganti dari parto menjadi didi

maka harus mengganti pada 2 record pada tabel

(update anomali).

• Jika ingin menambah baris untuk memasukan indri

menjadi penasehat jurusan komputer, tidak dapat

dilakukan jika tidak ada siswa yang ingin mengambil

jurusan computer.

• Jika siswa dengan nim 456 keluar dari sekolah, maka

Page 55: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

47

jurusan sejarah dan penasehatnya akan terhapus dari

relasi.

• Anomali pada relasi di atas adalah hasil dari ketergantungan key

attribut pada non key atribut( candidate key).

• Sedangkan BCNF menuntut untuk ketergantungan tetap ada

dalam relasi, dan setiap key yang dijadikan determinant harus

menjadi candidate key.

• Relasi di atas tidak dalam BCNF karena atribut penasehat bukan

candidat key (tapi attribut key jurusan functional dependencies

terhadap penasehat).

Convert relasi ke BCNF

• Relasi pada 3NF tapi belum BCNF dapat dikonversi ke relasi

BCNF dengan 2 tahap :

1. rubah relasi sehingga setiap determinant yang bukan

candidate key menjadi komponen dari primary key.

2. hasil dari perubahan diatas membuat relasi memiliki partial

dependencies (belum 2NF), maka lakukan tahapan

normalisasi tahap ke–2.

Page 56: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

48

e. Fourth Normal Form ( 4 NF )

• Walaupun BCNF mehilangkan anomali pada functional

dependencies, jenis yang lain dari ketergantungan disebut multi-

valued dependency dapat juga menyebabkan data redundancy.

• Pada user view dibawah ini terdapat beberapa repeating group.

Penjelasan :

1. Tiap kursus memiliki beberapa instruktur.

2. Tiap kursus memiliki beberapa buku yang digunakan.

3. Tiap buku yang diberikan digunakan oleh tiap intruktur

yang mengajar.

Page 57: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

49

Conversi dari user view di atas dengan mengisi cell yang masih

kosong menjadik relasi dalam 1NF

• Primary key table di atas adalah kombinasi dari 3 atribut

(kursus+instruktur+textbook).

• Contoh ketergantungan di atas disebut multivalued depedencies

dimana timbul ketika paling sedikit 3 atribut (contoh A, B dan C)

pada sebuah relasi dan untuk tiap nilai A ada beberapa nilai B dan

beberapa nilai untuk C tapi nilai B independent terhadap nilai C.

• Untuk menghilangkan multivalued dependencies, relasi dibagi

menjadi 2 relasi baru.

• Relasi sekarang dalam 4NF dimana sudah BCNF dan tidak ada

multivalued dependencies.

Page 58: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

50

f. Fifth Normal Form ( 5 NF )

Dekomposisi sebuah relasi ke dalam 2 relasi haru mempunyai

lossless-join property, yang memastikan tidak ada baris

tambahan yang yang dihasilakan ketika dua relasi disatukan melalui

operasi natural join.

Namun, ada beberapa syarat untuk mendekomposisi sebuah relasi

ke dalam lebih dari 2 tabel. Meski jarang, kasus seperti ini diatur

dengan join dependency dan fifth normal form (5NF).

5NF : sebuah relasi yang tidak mempunyai join dependency

Gambar 29 : Contoh Fifth Normal Form ( 5 NF)

Page 59: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

51

.

• Karena relasi di atas mengandung join dependencies, maka relasi

belum 5NF.

• Untuk menghilangkan join dependencies, decompose ke dalam 3

relasi 5NF.

Page 60: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

52

BAB IX

DIAGRAM DETERMINAN DAN KODE DATA

1. Diagram Determinan

Determinan adalah faktor penentu antar atribut. Basis data yang bebas

dari data rangkap adalah syarat utama yang harus dipenuhi dalam

penyusunan basis data. Pembuatan model konseptual berdasarkan aturan

data merupakan sarana untuk mencapai kondisi basis data tersebut. Aturan

data yang tersusun baik dan cermat akan menghasilkan organisasi data yang

sistematis sehingga mudah dalam penyimpanan ataupun pengaksesan data.

Cara yang paling sederhana untuk menggambarkan determinasi antar atribut

adalah dengan diagram determinansi.

Contoh :

FD :

• Nim

• Kode Ruang

• Nim,Kode

Diagram Determinannya :

Gambar 30: Diagram Determinan

Page 61: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

53

2 . Kode Data

Basis data yang optimal akan memberikan keuntungan, antara lain :

1. Efisiensi penggunaan media penyimpanan yang tinggi

2. Akses data dapat dilakukan dengan cepat dan mudah

3. Pemeliharaan dan pengolahan data dapat dilakukan dengan mudah

4. Terjaganya konsitensi dan integritas data

Kode yang baik memenuhi beberapa kriteria, antara lain :

1. Urut

Beberapa contoh kode yang berurutan adalah Nomor_Induk_Mahasiswa,

Nomor_Anggota, Nomor_Nota dsb.

2. Singkat / Pendek

Kode yang baik tidak lebih dari 10 character

3. Dapat di-generate oleh sistem

Para pemakai tidak harus mengetikkan kode pada saat entry data. Karena

akan mengakibatkan kesalahan input diakibatkan oleh kesalahan

manusia (human error)

Bentuk Kode Data ada 3 macam, yaitu :

1. Kode Sekuensial

Kode yang mengasosiasikan kode urut. Biasanya berupa angka atau

character. Contoh :

Nilai : A, B, C, D, E

Kabupaten : 01, 02, 03, 04, 05 dst.

Page 62: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

54

2. Kode Mnemonic

Kode yang dibentuk menggunakan singkatan atau huruf pertama data

yang dikodekan. Tersusun atas satu atau beberapa character.

Contoh :

Agama : I, K, P, H, B (Islam, Katolik, Protestan, Hindu, Budha) Jenis

Kelamin : L, P (Laki-laki, Perempuan)

Jurusan : MI, KA, TI, TK dst.

3. Kode Blok

Kode yang disusun membentuk blok kode dengan menggunakan format

tertentu. Gabungan angka dan character.

Contoh :

NIM : TI-2002-I-1000 Kode Barang : A-01-01-

1000 NIK : 1996-0372-100-E

Page 63: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

55

BAB X

QUERY LANGUAGE

1. Pengertian Query Language

QUERY LANGUAGE adalah suatu bahasa yang digunakan user

untuk mengambil informasi dari basis data atau digunakan untuk

mengekspresika modifikasi ataupun queri terhadap data yang terkandung

dalam suatu database relasional. Pada umumnya level bahasa ini lebih

tinggi dari bahasa pemrograman standar.

QUERY LANGUAGES dibagi menjadi dua (2) kategori, yaitu :

- Procedural Language (What and how)

- Non-procedural Language (what; not how)

Dalam bahsa prosedural, user menginstruksikan ke sistem agar

membentuk serangkaian operasi dalam basis data untuk mengeluarkan hasil

yang diinginkan. Dalam bahasa non-prosedural, user mendeskripsikan

informasi yang diinginkan tanpa memberikan prosedur detail untuk

menghasilkan informasi tersebut. Sebagian besar system basis data

relasional yang beredar dipasaran menawarkan bahasa query dengan

pendekatan prosedural & non-prosedural. QUERY LANGUAGES dapat

dibagi menjadi dua (2) tipe, yaitu :

a. Formal Query Languages, terdiri dari :

1) Relational Algebra, adalah procedural query language atau

Relational Algebra( aljabar relasional) merupakan kumpulan operasi

terhadap relasi dimana setiap operasi menggunakan satu atau lebih

relasi untuk menghasilkan satu relasi yang baru dan termasuk

kategori prosedural dan juga menyediakan seperangkat operator

untuk memanipulasi data.

Page 64: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

56

2) Relational Calculus, adalah non-procedural query language dan

Pemakai mendiskripsikan informasi yang dikehendaki tanpa

memberikan prosedur (deret operasi) spesifik untuk memperoleh

informasi. Pada model relasional, bahasa formal non prosedural

adalah bahasa kalkulus (predikat( relasional yaitu diekspresikan

dengan menspesifikasikan predikat terhadap tuple atau domain yang

harus dipenuhi.

b. Commercial Query Languages, terdiri dari :

1) SQL (Structured Query Language), adalah kombinasi procedural

dan non- procedural language.

2) QBE (Query By Example), adalah non-procedural query yang

berbasis pada domain relational calculus.

3) QUEL, adalah non-procedural query language yang berbasis pada

tuple relational calculus.

2. Relational Algebra ( Aljabar Relasional )

Aljabar relasional (Relational Algebra) adalah relational operation

yang digunakan untuk memanipulasi data pada basis data relasional.

Aljabar relasional merupakan kumpulan operasi terhadap relasi di mana

setiap operasi menggunakan satu atau lebih relasi untuk menghasilkan satu

relasi yang baru. Aljabar relasional termasuk dalam kategori bahasa

prosedural yang Menyediakan seperangkat operator untuk memanipulasi

data.

Ada 2 operator dalam aljabar relasional, yaitu operator dasar yang

fungsinya unik dan operator tambahan yang merupakan turunan dari satu

atau lebih dari operator dasar dan mempunyai fungsi utama untuk

menyederhanakan suatu ekspresi yang kompleks.

Page 65: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

57

Operator Dasar , terdiri dari :

a. Selection

b. Projection

c. Cartesian Product

d. Union

e. Difference dan

f. Renama

Operator Tambahan, terdiri dari :

a. Intersection

b. Division

c. Natural Join

Semua operator diatas dapat diekspresikan ke dalam satu atau lebih

tabel dan hasilnya berupa table.

Berikut akan dijelaskan contoh kasus dengan menggunakan tiga

statement dan 3 tabel / relasi, yaitu :

Tiga Statement tersebut antara lain sebagai berikut :

a. Natural Language (NL) merupakan bahasa ilmiah/sehari-hari

yang digunakan oleh manusia dalam berkomunikasi dengan system.

b. Aljabar Relasional (AR) merupakan contoh penggunaan sintaks aljabar

relasional dalam menjawab / menyelesaikan permintaan dari manusia

(user) diatas.

c. Tabel merupakan bentuk tampilan jawaban aljabar relasional dalam

bentuk tabel/relasi dua dimensi yang terdiri dari kolom dan baris.

Berikut adalah table yang akan digunakan dalam implementasi aljabar

relasional :

Page 66: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

58

Tabel 5: Contoh Tabel Pelanggan dalam implementasi aljabar relasional

Tabel 6: Contoh Tabel Rekening dalam implementasi aljabar relasional

Tabel 7: Contoh Tabel Nasabah dalam implementasi aljabar relasional

Page 67: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

59

a. Selection

Operator ini menggunakan simbol σ ( low-case omega). Operasi

Selection menyeleksi tuple-tuple (record) pada sebuah relasi, yaitu

tuple-tuple (record) yang memenuhi predicate syarat yang sudah

ditentukan sebelumnya.

Selection operation disebut UNARY OPERATION karena

beroperasi pada sebuah relasi. Komparasi dapat dilakukan dengan

menggunakan : =,

≠ atau <>, <, ≤, >, ≥ pada predikat seleksi dan untuk menggabungkan

serangkaian predikat adalah dengan menggunakan and atau or

Sintaks :

Contoh :

1. NL : Cari semua tuple/record pada rekening yang saldonya lebih

dari 4000000. Bila diterjemahkan ke dalam aljabar relasional

menjadi : AR : σ Saldo > 4000000 (Rekening)

2. Table yang dihasilkan :

Tabel 8 : Tabel Hasil Bila diterjemahkan ke dalam aljabar

relasional

Page 68: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

60

3. NL : Cari semua tuple/record pada rekening dengan tipe saving

dan Saldonya lebih dari 4000000. Bila diterjemahkan ke dalam

aljabar relasional menjadi :

AR : σ Tipe = “Saving” Saldo > 4000000 (Rekening)

Table yang dihasilkan :

Tabel 9:Tabel Hasil Bila diterjemahkan ke dalam aljabar

relasional

4. NL : Cari semua pelanggan yang tinggal di jalan Cimone. Bila

diterjemahkan ke dalam aljabar relasional menjadi :

AR : σ Jalan = “Cimone” (Pelanggan)

Table yang dihasilkan :

Tabel 10: Tabel Hasil Bila diterjemahkan ke dalam aljabar

relasional

b. Projection

Projection / Project ( π ), adalah operasi untuk memperoleh kolom –

kolom tertentu. Operasi project adalah operasi unary yang mengirim

relasi argumen dengan kolom – kolom tertentu. Karena relasi adalah

himpunan, maka baris – baris duplikasi dihilangkan.

Sintaks yang digunakan dalam operasi proyeksi ini adalah sebagai

berikut :

Page 69: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

61

Contoh :

1. NL : Tampilkan semua nomor rekening dan saldo dari tabel

rekening. Bila diterjemahkan ke dalam aljabar relasional menjadi

: AR : No_Rekening,Saldo (Rekening)

Table yang dihasilkan :

2. NL : Tampilkan semua no. rekening dan saldo dari semua

rekening yang saldonya lebih dari 4000000. Bila diterjemahkan

ke dalam aljabar relasional menjadi :

AR : No_Rekening, Saldo (σ Saldo > 4000000 (Rekening) )

Table yang dihasilkan :

3. NL : Tampilkan semua nomor rekening dan tipe dari semua

rekening yang saldonya lebih besar dari 3000000 atau saldo lebih

Page 70: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

62

besar dari 5000000. Bila diterjemahkan ke dalam aljabar

relasional menjadi : AR : No_Rekening, Tipe (σ Saldo > 3000000

V Saldo > 5000000 (Rekening) ).

Table yang dihasilkan :

c. Cartesian Product

Operator ini menggunakan simbol . Operator ini merupakan binary

operation, yaitu operator yang beroperasi pada dua relasi. Komparasi

dapat dilakukan dengan menggunakan : =, ≠ atau <>, <, ≤, >, ≥ pada

predikat seleksi dan untuk menggabungkan serangkaian predikat

adalah dengan menggunakan and atau or R1 dan R2 adalah relasi

Sintaks :

Contoh :

Bila R1 mempunyai arity K1 dan R2 mempunyai arity K2, maka R1

X R2 adalah himpunan tuple yang jumlah komponen pertamanya

diambil dari tuple R1 dan K2 komponen terakhirnya diambil dari

tuple R2, sehingga arity dari relasi hasil Cartesian Product adalah K1

+ K2

Hasil operasi Cartesian product :

Page 71: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

63

Gambar 31: Hasil operasi Cartesian product

Contoh :

1. NL : Cari nomor kartu Pelanggan yang memiliki

rekening = 511.333.279. Bila diterjemahkan ke dalam aljabar

relasional menjadi : AR : No_Kartu (σ No_Rekening = 511.333.279

Pelanggan.No_Kartu = Punya.No_Kartu (Pelanggan X Punya)

Langkah 1 :

Tabel Pelanggan Tabel Punya

Page 72: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

64

Langkah 2 :

Page 73: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

65

Langkah 3 : hasil Akhir

d. Union

Operator ini menggunakan simbol ∪ Operator ini merupakan binary

operation, yaitu operator yang beroperasi pada dua relasi.

Komparasi dapat dilakukan dengan menggunakan : =, ≠ atau <>, <, ≤,

>, ≥ pada predikat seleksi dan untuk menggabungkan serangkaian

predikat adalah dengan menggunakan and atau or

Sintaks :

Page 74: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

66

Contoh :

1. NL : Mencari nama Customer dari cabang Perryridge yang

memiliki account atau loan atau kedua-duanya. Bila

diterjemahkan ke dalam aljabar relasional menjadi :

AR : Customer_Name (σ Branch_Name = “Perryridge”

(BORROW) )

Customer_Name (σ Branch_Name = “Perryridge”

(DEPOSIT) )

Table yang dihasilkan :

Customer_Name

Hayes

Williams

Glenn

e. Difference

operation, yaitu operator yang beroperasi pada dua relasi. Operator ini

berfungsi untuk mengeliminasi entity / record dari suatu tabel yang

ada pada tabel lain, dan kedua tabel harus memiliki atribut yang sama.

Sintaks :

Page 75: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

67

Contoh :

1. NL : Mencari semua Pelanggan yang saldonya diatas 4000000

dan tidak bersifat saving. Bila diterjemahkan ke dalam aljabar

relasional menjadi :

AR : No_Kartu (σ tipe = “cheking” (Rekening x Pelanggan) )\

No_Kartu (σ tipe = “saving” (Rekening x Pelanggan) )

Table yang dihasilkan :

Page 76: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

68

f. Rename

tabel lama menjadi

tabel dengan nama baru.

Sintaks :

Keterangan :

New Name = nama relasi baru Old Name = nama relasi lama

Contoh :

1. NL : Salin tabel Rekening dengan nama X. Bila diterjemahkan ke

dalam aljabar relasional menjadi :

AR : X (Rekening)

Table yang dihasilkan :

Tabel X

No_Rekening Tipe Saldo

012.145.002 Checking 8.000.000

771.225.421 Checking 3.000.000

315.222.310 Saving 4.000.000

342.256.010 Checking 6.000.000

511.333.279 Saving 1.000.000

122.003.007 Saving 8.500.000

Page 77: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

69

g. Intersection

Operator ini menggunakan simbol ⋂. Operator ini termasuk kedalam

kategori operator tambahan, karena operator ini dapat diderivasi dari

operator dasar.

Sintaks :

Hasil operasi intersection :

Contoh :

1. NL : Mencari nomor kartu yang memiliki rekening bertipe saving.

Bila diterjemahkan ke dalam aljabar relasional menjadi :

AR : No_Kartu (σ tipe = “saving” Rekening.No_Rekening =

Punya.No_Rekening (Rekening x Punya) ) No_Kartu (σ tipe =

“saving” Rekening.No_Rekening = Punya.No_Rekening (Rekening x

Punya) )

Page 78: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

70

Table yang dihasilkan :

Table yang dihasilkan :

No_Kartu

22870

48616

37662

h. Division

Operator ini menggunakan simbol ÷ . Operator ini merupakan

operasi pembagian atas tuple-tuple dari dua relasi.

Sintaks :

Page 79: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

71

Contoh :

1. NL : Mencari No_Kartu yang mempunyai No_Rekening

dengan jumlah saldo 8500000. Bila diterjemahkan ke dalam

aljabar relasional menjadi :

AR : R1 = No_Kartu, No_Rekening ( Punya )

Tabel yang dihasilkan :

AR : R2 = No_Rekening (σ Saldo = 8500000 ( Rekening ) )

Page 80: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

72

Tabel yang dihasilkan :

No_Rekening

122.003.007

i. Natural Join

Operator ini dikembangkan dari operator Cartesian Product ( x ).

Simbol yang digunakan ⋈

Sintaks :

Keterangan :

1) Relation R1 dan R2 mempunyai attribute yang sama

2) Membentuk suatu Cartesian Product dari argumen-argumennya

3) Melakukan operasi selection yang menekankan persamaan values

pada attribute yang sama, yang berada pada kedua relasi

4) Menghilangkan duplicate column

Page 81: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

73

R adalah relasi dengan elemen E1, E2,…. En S adalah relasi dengan

elemen T1, T2,…. Tn

Maka Operasi Natural Join ⋈ adalah K = R ⋈ S, dan akan

menghasilkan

Page 82: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

74

BAB XI

STRUCTURE QUERY LANGUAGE (SQL)

1. Sejarah SQL

SQL pertama diterapkan oleh System R IBM, pada tahun 1970 an.

SQL adalah standard query language untuk membuat dan memanipulasi

pada Relational Databases. Beberapa perbedaan kecil pada syntax, tetapi

mayoritas SQL adalah standar misal pada MS Access, Oracle, Sybase,

Informix, etc. SQL adalah suatu alat Perintah Baris atau dapat juga

ditempelkan pada bahasa pemrograman seperti: Cobol, "C", Pascal, etc

SQL adalah Bahasa distandarisasi yang dimonitor oleh American

National Standards Institute (ANSI) sama halnya oleh National Institute of

Standards (NIST).

a. ANSI 1990 - SQL 1 standard

b. ANSI 1992 - SQL 2 Standard (sometimes called SQL-92)

c. SQL 3 is in the works - adds some Object oriented concepts

Tipe –tipe data yang digunakan dalam sql, antara lain :

a. char(n). character string dengan panjang tetap, dengan spesifikasi

panjang n.

b. varchar(n). character string dengan panjang bervariasi, dengan

spesifikasi panjang maksimum n.

c. int. Integer (a finite subset of the integers that is machine-dependent).

d. smallint. Small integer.

e. numeric(p,d). Angka dengan panjang tetap, dengan pendekatan

spesifikasinya adalah p digit, dengan n digit kekanan nilai desimal.

Page 83: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

75

f. real, double precision. Floating point and double-precision floating point

numbers, with machine-dependent precision.

g. float(n). Angka pecahan, dengan pendekatan spesifikasiya paling tidak n

digit.

SQL dapat dibagi kedalam dua bentuk, yaitu :

A. Data Definition Language (DDL)

User dapat membuat tabel baru, mengindeks, mengubah tabel,

menentukan struktur penyimpanan tabel, dan sebagainya.

• Data Definition Language (DDL) terdiri dari :

– CREATE TABLE

– DROP TABLE

– ALTER TABLE

1. CREATE TABLE

Bentuk umum create table

create table table-name (column – definition [,column-definition]…

[,primary-key-definition] [,foreign-key-definition [,foreign-key-

definition]…]])

untuk „column-definition‟ mempunyai bentuk: column-name data-

type [not null]

Page 84: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

76

ANGSURAN

Gambar 32: Relationship

a) Membuat tabel anggota b) membuat tabel bkredit

b) Membuat tabel angsuran

ANGGOTA

noang

nmang

alamat

telepon

BKREDIT

nokredit

tgkredit

jmkredit

jkwaktu

tdlunas

noang

noangs

tgangs

jmangs

angske

nokredit

Page 85: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

77

2. ALTER TABLE

Bentuk umum alter table

a. Menambah atribut

alter table table-name add column data type;

contoh:

menambahkan atribut discount pada relasi bkredit

alter table bkredit add discount int;

b. Menghapus atribut

alter table table-name drop column data type;

contoh:

menghapus atribut discount pada relasi bkredit

alter table bkredit drop discount int;

3. DROP TABLE

a. Menghapus tabel

Bentuk Umum drop table drop table table-name;

Contoh:

menghapus tabel anggota

Drop table anggota;

4. Data Manipulaton Language (DML)

Bentuk SQL yang berguna untuk memanipulasi (insert, delete,

update) dan pengambilan data pada suatu basis data. Tujuan DML

memudahkan user mengakses data seperti yang direpresentasikan

model data.

Page 86: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

78

a) Data Manipulation Language (DML) terdiri dari :

• SELECT

Menampilkan sebagian atau seluruh isi dari suatu table.

Menampilkan kombinasi dari beberapa table.

• UPDATE

Mengubah isi satu atau beberapa atribut dari suatu table.

• DELETE

Menghapus sebagian atau seluruh isi dari suatu table.

• INSERT

Menambah satu atau beberapa baris nilai baru kedalam suatu

table.

ANGGOTA

NOANG NMANG ALAMAT TELEPON

A1 Ajie Selindung 021-585375

A2 Andi Pangkalpinang 021-123456

A3 Ani Sungailiat 021-654321

A4 Ana Pangkalpinang 021-585370

A5 Agus Sungailiat 021-212121

A6 Angga Koba

A7 Ade Selindung 021-585310

Page 87: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

79

BKREDIT

NOKREDIT TGKREDIT JMKREDIT JKWAKT

U

TDLUNAS NOANG

B01 10-01-2006 1.000.000 2 LUNAS A1

B02 15-01-2006 1.200.000 6 A2

B03 20-02-2006 1.500.000 2 LUNAS A5

B04 25-08-2006 1.000.000 2 LUNAS A1

B05 20-08-2006 2.000.000 5 A5

ANGSURAN

NOANGS TGANGS JMANGS ANGSKE NOKREDIT

T01 01-02-2006 500.000 1 B01

T02 01-02-2006 200.000 1 B02

T03 01-03-2006 750.000 1 B03

T04 01-03-2006 500.000 2 B01

T05 01-03-2006 200.000 2 B02

T06 01-04-2006 750.000 2 B03

T07 01-05-2006 200.000 3 B02

T08 01-06-2006 200.000 4 B02

T09 01-09-2006 500.000 1 B04

T10 01-09-2006 1.000.000 1 B05

T11 01-10-2006 500.000 2 B04

Page 88: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

80

a) SELECT

Bentuk umum perintah select

select [distinct] field(s) from table(s) [where predicate]

[group by field(s) [having predicate]] [order by field(s)];

Catatan:

Predicate kondisi yang bisa diberikan

Retrieval Sederhana

- Tampilkan nomor anggota yang pernah mengajukan kredit

select noang from bkredit;

Dari hasil query di atas kemungkinan mendapatkan duplikasi data, untuk

mendapatkan data tuggal maka query diatas menjadi:

select distinct noang from bkredit;

- Tampilkan semua informasi mengenai seluruh anggota.

select * from anggota;

Retrieval dengan komputasi sederhana

- Tampilkan nomor anggota dan jumlah pinjaman dari

semua kredit dalam dolar (uang dalam tabel bkredit

menggunakan satuan rupiah).

select noang, „$‟, jmkredit / 10000 from bkredit;

- Retrieval dengan Kondisi

Page 89: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

81

- Tampilkan nama-nama anggota untuk yang

beralamat di Selindung

select nmang from anggota

where alamat = „selindung‟;

Retrieval dengan pengurutan

- Tampilkan nama-nama anggota

untuk yang beralamat di Selindung diurutkan

secara descending.

select nmang from anggota

where alamat = „selindung‟ order by nmang desc;

SQL termasuk between sebagai operator pembanding

Contoh:

- Tampilkan nomor angsuran dari relasi angsuran dengan jumlah

angsuran antara 500,000 dan 1.000.000.

select noangs from angsuran

where jmangs between 500000 and 1000000 ;

Query dengan melibatkan lebih dari satu tabel

Simple Equijoin

- Tampilkan semua kombinasi anggota dan bkredit untuk

anggota yang melakukan kredit

select anggota.*, bkredit.* from anggota, bkredit

where anggota.noang = bkredit.noang;

Page 90: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

82

Join antara tiga table

- Tampilkan nama anggota dan nomor kredit yang

mempunyai nomor angsuran „T05‟

select distinct a.nmang, b.nokredit from anggota a, bkredit

b, angsuran c

where c.noangs=„T05‟ and c.nokredit=b.nokredit and

b.noang=a.noang ;

Function Pada Sql ada 5 macam, yaitu :

COUNT

Banyaknya nilai-nilai pada satu kolom.

SUM

Jumlah nilai dari satu kolom.

AVG

Rata-rata nilai dari satu kolom.

MAX

Nilai terbesar yang ada pada satu kolom.

MIN

Nilai terkecil yang ada pada satu kolom.

Contoh :

-Tampilkan banyaknya anggota yang ada select count(*) from anggota

-Tampilkan banyaknya anggota yang mengajukan kredit

select count (distinct noang) from bkredit;

-Tampilkan jumlah kuantitas kredit yang diajukan oleh anggota A1

select sum(jmkredit) from bkredit where noang=„A1‟;

Page 91: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

83

b) UPDATE

Bentuk Umum UPDATE update table

set field = expression [, field = expression]… [where predicate];

Contoh :

- Isi nomor telepon dengan „021-1111111‟ untuk nomor

anggota „A6‟

update anggota

set telepon = „021-1111111‟ where noang= „A6‟;

- Beri tanda „Lunas‟ untuk bukti kredit yang belum lunas

update bkredit

set tdlunas=„Lunas‟ where tdlunas is null;

C. DELETE

Bentuk Umum DELETE DELETE FROM table

[WHERE predicate]; Contoh :

- Single – record delete

delete from anggota

where noang = „A5‟;

- Multiple record delete

delete from anggota

where alamat =„Ciledug‟;

- Multiple record delete

delete from anggota;

c) INSERT

Bentuk Umum INSERT insert

into table [ (field [,field]…)] values (constant [,constant]…);

Page 92: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

84

Atau

insert into table [ (field [,field]…)] select … from … where …;

Contoh :

Single – record Insert

insert into anggota (noang, nmang, alamat) values („A8‟,

‟Budi‟, „Jakarta Barat‟);

Single – record Insert dengan nama-nama field diabaikan

insert into anggota

values („A9‟, „Bodang‟, Banten, „021-22222‟);

d) Retrieval dengan LIKE

Contoh :

- Tampilkan semua Anggota yang namanya dimulai dengan

huruf “A”

select anggota.* from anggota where

anggota.nmang like „A%‟;

- Tampilkan semua Anggota yang namanya mengandung

huruf-huruf “n”

select * from anggota

where nmang like „%n%‟;

e) Retrieval melibatkan NULL

Contoh :

- Tampilkan nomor anggota untuk anggota dengan telepon

kosong

select noang from anggota where telepon is null;

Page 93: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

85

- Tampilkan nomor anggota untuk anggota dengan telepon

tidak kosong

select noang from anggota where telepon is not

null;

- Kondisi nilai „NULL‟ tidak boleh dicek dengan =, >, >=,

<= atau <> Contoh :

select noang from anggota where telepon=null;

Page 94: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

86

BAB XII

MYSQL

1. MYSQL

Mysql adalah sebuah sistem manajemen database relasi (relational

database management system) yang bersifat “terbuka” (open source).

Mysql memiliki kinerja, kecepatan proses, dan ketangguhan yang tidak

kalah dibanding database-database besar lainnya yang komersil seperti

ORACLE, Sybase, Unify dan sebagainya.

Mysql yang akan digunakan adalah mysql-4.0.13-win dengan MySQL-

Front_2.5 sebagai interface

Ada beberapa pertimbangan mengapa memilih MySQL

(1) Kecepatan.

Berdasarkan hasil pengujian, MySQL memiliki kecepatan paling

baik dibanding database server lainnya.

(2) Mudah digunakan

Perintah, aturan dan proses instalasi relatif mudah.

(3) Open Source

Siapapun dapat berpartisipasi untuk mengembangkan MySQL dan

hasil pengembangan itu diserahkan kepada umum atau kepada

komunitas Open Source

(4) Kapabilitas

MySQL telah digunakan untuk mengelola database dengan jumlah

50 juta record, 60.000 tabel dengan jumlah baris 5.000.000.000 dan

mendukung penggunaan index hingga 32 buah index per-tabelnya.

Page 95: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

87

(5) Biaya rendah (relatif gratis)

(6) Konektifitas dan keamanan

MySQL mendukung dan menerapkan sistem keamanan dan izin

akses tingkat lanjut (advanced pemissions and security system)

.

(7) Lintas platform sistem operasi

MySQL dapat dijalankan dibeberapa sistem operasi yang berbeda,

seperti Linux, Microsoft Windows, FreeBSD, Sun Solaris, IBM‟s

AIX, Mac OS X, HP-UX, AIX, QNX, Novell Netware, SCO

OpenUnix, SGI Irix dan Dec OSF.

Menjalankan MySQL Front :

Start -> All Program -> MySQL-FRONT -> MySQL-FRONT

Gambar 33: Cara Menjalankan MySQL Front

Page 96: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

88

BUAT DATABASE DENGAN NAMA : PINJAMAN

Klik Menu Tools -> Klik Create Database

Gambar 34:Menu Tools

Page 97: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

89

Gambar 35 : Tampilan MySQLFront

BUAT TABEL

Gambar 36: Tampilan Tools Create Table

Page 98: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

90

Klik Menu Tools -> Klik Create Table

Tentukan nama tabelnya Kemudian isikan field, tipe data dan

panjangnya

Gambar 37 : Tampilan Create Table

Isikan data pada table tersebut

Lakukan untuk table selanjutnya

Kemudian isikan semua data setiap table yang sudah dibuat

sebelumnya

sesuai dengan contoh isi data table sebelumnya.

Page 99: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

91

BAB XIII

DATABASE DAN MANAJEMEN DATABASE

1. Hirarki Data Tradisional

A.Elemen data / Field : Merupakan salah Satu elemen data terkecil yang tidak dapat

dipecah lagi.

B. Record : Penggabungan dari sebuah elemen data yang terkait.

C. File : himpunan dari seluruh record yang saling berhubungan.

2. Aktifitas Manajemen Data

1. Pengumpulan data ; sekumpulan data yang diperlukan dikumpulkan dan dicatat pada

form yang disebut dokumen sumber yang berfungsi sebagai input (Masukan).

2. Integritas dan Pengujian ; data yang diperiksa untuk meyakinkan konsistensi dan

akurasi data tersebut.

3. Penyimpanan data dan pemeliharaan.

4. Keamanan data.

5. Organisasi data ; sebuah data disusun sedemikian untuk memenuhi kebutuhan user.

6. Pengambilan data ; berupa data dibuat agar dapat digunakan oleh user yang berhak.

3. Dua jenis Penyimpanan Sekunder :

1. Penyimpanan Berurutan / Sequential Access Storage Device (SASD) ; Berupa Media

penyimpan yang diunakan untuk mengisikan record yang diatur dalam susunan

tertentu. Data pertama harus diproses pertama kali, data kedua diproses kedua kali,

dst.

2. Penyimpanan Akses Langsung / Direct Access Storage Device (DASD) ; Berupa

Mekanisme baca atau tulis yang diarahkan ke record tertentu tanpa pencarian secara

urut. Komputer mikro memiliki disk drive dan hard disk.

Page 100: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

92

4. Cara Mengolah Data :

1. Pengolahan Batch ;

Mengumpulkan data terlebih dahulu kemudian diproses sekaligus.

2. Pengolahan On – Line ;

Setiap data yang diinput langsung didapat output atau hasilnya.

3. Sistem Real Time ;

Sama seperti pengolahan On – Line, hanya saja data yang ada di update sesuai

dengan perubahan waktu.

5. KONSEP DATABASE

Database adalah Kumpulan data-data yang terpadu yang disusun dan disimpan dalam

suatu cara sehingga memudahkan untuk dipanggil kembali.

6. Database Manajemen System

Suatu program komputer yang digunakan untuk memasukkan, mengubah,

menghapus, memanipulasi dan memeperoleh data / informasi dengan praktis dan efisien.

A. Komponen Utama DBMS

Adapun komponen yang utama dari DBMS yaitu :

1. Hardware ; yang melakukan pemrosesan dan menyimpan database.

2. Data.

3. User , dapat diklasifikasikan menjadi :

End User ;

Pengguna aplikasi, yang mengoperasikan program aplikasi.

Pengguna interaktif, yang memberikan perintah-perintah beraras tinggi (sintak-

sintak query).

Programmer aplikasi, yang membuat program aplikasi.

Database Administrator, bertanggung jawab terhadap pengelolaan database.

4. Software, sebagai interface antara user dan database.

Page 101: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

93

B. Perintah yang digunakan untuk mengelola dan mengorganisasikan data :

1. Data Definition Language ;

Perintah yang biasa digunakan oleh DBA untuk mendefinisikan skema ke DBMS.

Skema : deskripsi lengkap tentang struktur field, record dan hubungan data pada database.

Hal yang perlu dijabarkan dalam DBMS :

Nama database.

Nama file pada database.

Nama field dan record.

Deskripsi file, record dan field.

DDL juga digunakan untuk menciptakan, mengubah dan menghapus database.

Yang termasuk dalam kelompok DDL :

CREATE ; membuat table.

ALTER ; mengubah struktur table.

DROP ; menghapus table.

2. Data Manipulation Language ;

Perintah yang digunakan untuk mengubah, memanipulasi dan mengambil data pada

database.

DML dibagi menjadi 2 :

Prosedural ; menuntut user menentukan data apa saja yang diperlukan dan

bagaimana cara mendapatkannya.

Non Prosedural ; menuntut user menentukan data apa saja yang diperlukan tetapi

tidak perlu menyebutkan cara mendapatkannya.

Perintah yang termasuk dalam DML :

SELECT ; memilih data.

INSERT ; menambah data.

DELETE ; menghapus data.

UPDATE ; mengubah data.

Page 102: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

94

C. Tugas – tugas Database Administrator :

1. Perencanaan database.

2. Penerapan database.

3. Operasi Database.

4. Keamanan Database.

D. Keuntungan Database Manajemen System :

1. Mengurangi pengulangan data.

2. Independensi data.

3. Memadukan data dari beberapa file.

4. Memanggil data dan informasi secara tepat.

5. Meningkatkan keamanan.

E. Kerugian Database Manajemen System :

1. Menggunakan software yang mahal.

2. Menggunakan konfiguarsi hardware yang besar.

3. Memperkerjakan dan menggaji staf DBA yang relatif mahal.

Page 103: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

95

BAB XIV

SISTEM PENGORGANISASIAN DATABASE

1. Pengorganisasian Database Tradisional

Sistem pengorganisasian database masih terpisah-pisah anatara database satu dengan

database lainnya, sehingga banyak akibat negative yang ditimbulkan, anatara lain :

1. Redudansi atau duplikasi data. Menyebabkan informasi menjadi kurang akurat, bahkan

terjadi perbedaan karena data yang satu sudah diperbaharui sementara duplikatnya belum.

2. Ketergantungan terhadap program aplikasi tertentu yang digunakan untuk mengolah

masing-masing database yang dibangun

3. Ketergantungan terhadap program aplikasi tertentu yang menyebabkan SI yang terbentuk

menjadi kurang fleksibel

4. Keterpisahan database satu dengan lainnya mengakibatkan tingkat keamanan data

menjadi rendah.

Penggunaan data bersama sangat kurang sehingga database kurang dapat

dieksplorasi/diolahuntuk menghasilkan laporan2 manajerial lintas departemental.

Gambar 38: Ilustrasi sistem pengorganisasian database tradisional

Page 104: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

96

2. Sistem Pengorganisasian Database Kontemporer

Sistem pengolahan database yang seluruh datanya yang terdapat di dalam SI dapat

diintegrasikan. Sementara itu, aplikasi perdepartemental yang dibangun dapat melakukan

akses thdp database yg tersedia berdasarkan kebutuhan masing-masing.

Gambar 39: Ilustrasi sistem pengorganisasian database kontemporer

3. Tingkat Representasi Data

Sistem Informasi akan mempresentasikan database dalam format tampilan yg mudah

dipahami pemakai dg menyembunyikan rincian data yg sesungguhnya disimpan. Tingkatan

abstraksi data secara umum dibagi dalam tiga tingkatan, yaitu :

1. Level penyajian penampakan, representasi hasil pengolahan database menggunakan SI

dalam format yg mudah dipahami oleh pemakai

2. Level konseptual, memperlihatkan file2 data yg dibuat dan hubungannya satu sama lian

dalam sebuah lingkungan database.

Page 105: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

97

Level fisik, tahapan terendah dari abstraksi data yg memperlihatkan struktur dan jenis data

serta bagaimana data tsb disimpan dan diorganisasikan dlm media penyimpanan.

Gambar 40: Ilustrasi hirarki dan level abstraksi data

4. Tipe File

1. File induk, file terpenting yg berisi record2 yang sangat diperlukan dalam perusahaan.

Di bagi menjadi 2, yaitu :

- File induk statis : Jarang berubah nilainya,contoh:data karyawan

- File induk dinamis : recordnya sering berubahsebagai hasil dari transaksi,

contoh : file persediaan barang.

Page 106: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

98

2. File Transaksi, digunakan untuk merekam data yang diperoleh dari suatu transaksi,

seperti fike transaksi penjualan atau registrasi pengambilan mata kuliah

3. File Laporan, disebut juga file output yang berisi informasi yang merupakan hasil

pengolahan data yang ada.

4. File Histori, disebut juga file arsip yang berisi data masa lalu yang sudah tidak aktif

lagi, tapi masih disimpan.

5. File Salinan, berisi salinan dari file2 yang masih aktif di dalam database pada kurun

waktu tertentu.

Proses Menciptakan Database

1. Menentukan kebutuhan data

- Pendekatan berorientasi masalah

Mendefinisikan masalah

Mendefiniskan keputusan

Mendefinisikan informasi

Menentukan pemrosesan yg diperlukan untuk menghasilkan informasi

Menetapkan data yang diperlukan untuk pemrosesan

- Pendekatan model perusahaan

Proses top-down model data perusahaan, dimulai saat perencanaan strategis

sumber daya informasi

Mendokumentasikan model data perusahaan dengan ERD

2. Menjelaskan data dengan menggunakan kamus data (dapat mendefinisikan tiap

elemen data dalam system)

3. Memasukkan data

Model data perusahaan

- Menciptakan model data perusahaan

- Mengembangkan database

Page 107: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

99

Perencanaan starategis sumber daya informasi

Gambar 41: Perencanaan starategis sumber daya informasi

Pendekatan berorientasi masalah

Gambar 42: Pendekatan berorientasi masalah

Page 108: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

100

5 . Arsitektur Sistem Database

1. Sistem Database Tunggal, database dan aplikasinya diletakkan pada komputer yang

sama yang tidak berada dalam lingkungan jaringan, sehingga hanya diakses oleh

aplikasi tunggal, digunakan oleh perusahaan kecil.

2. Sistem Database Terpusat, lokasi database secara fisik berada pada komputer pusat

dalam suatu jaringan.

3. Sistem Database Terdistribusi, salinan database baik sebagian maupun keseluruhan

terdistribusi di beberapa lokasi.

Page 109: DIKTAT - repository.uinsu.ac.idrepository.uinsu.ac.id/9656/1/diktat basis data.pdf · Diktat ini disusun agar dapat membantu para ... Prinsip utamanya adalah pengaturan data/arsip.

SISTEM BASIS DATA

101

Daftar Pustaka

1. Fatansyah. Ir, 2002. Basis Data.Bandung : Informatika Bandung.

2. Sutanta, Edhy, 2004. Sistem Basis Data. Yogyakarta : Penerbit Graha Ilmu.

Marlinda, Linda, 2004.

3. Sistem Basis Data. Yogyakarta : Penerbit Andi.

4. Kusrini. 2006. Strategi Perancangan dan Pengelolaan Basis Data.

Yogyakarta : Penerbit Andi.

5. Kadir, Abdul, 2002. Penuntun Praktis Belajar SQL.Yogyakarta:Penerbit

Andi

6. http://staff.uny.ac.id/sites/default/files/pendidikan/Diana%20Rahmawati,%2

0M

.Si./MODEL%20DATA.pdf diakses tgl 21 februari 2013

7. http://datatik.files.wordpress.com/2010/01/materi-erd.pdf ida ayu diakses

tanggal 21 februari 2013

8. http://ramos672006005.files.wordpress.com/2011/06/encapsulation-

inheritance.pdf diakses tanggal 22 februari 2013