Professional Documents
Culture Documents
BASIS DATA
Hampir disemua aspek pemanfaatan perangkat komputer dalam sebuah organisasi / perusahaan senantiasa
berhubungan dengan basis data. Perangkat komputer dalam suatu organisasi/perusahaan biasa digunakan
untuk menjalankan fungsi Pengelolaan Sistem Informasi, yang dewasa ini sudah menjadi suatu keharusan,
demi untuk meningkatkan efesiensi , daya saing, keakuratan, kecepatan operasional organisasi perusahaan.
Dan basis data merupakan salah satu komponen utama dalam setiap system operasi. Tidak ada system
operasi bisa dibuat/dijalankan tanpa adanya basis data. Basis Data merupakan komponen penting dalam
Teknologi Informasi yang dapat mengurangi ketidakpastian dan mempermudah pengambilan keputusan.
TUJUAN UMUM
Memberikan pemahaman kepada mahasiswa bahwa saat ini pemrosesan data menjadi suatu informasi
merupakan suatu keharusan dan bukan merupakan pekerjaan yang gampang. Dengan berbagai macam model
data yang harus diolah dan berbagai harapan ketersediaan informasi yang dapat meningkatkan pelayanan
kepada para pengguna, maka dibutuhkan suatu teknik tersendiri tentang bagaimana merancang dan membuat
model data yang baik. Sampai akhirnya Basis Data yang ada bukan saja mempercepat pemerolehan informasi
tetapi juga dapat meningkatkan pelayanan kepada para pengguna informasi tersebut.
TUJUAN KHUSUS
Agar mahasiswa mendapatkan gambaran lebih rinci tentang pengelolaan data, memahami konsep-konsep yang
mendasari terbentuknya sebuah data base, dapat membuat pola hubungan dan keterkaitan antar data dalam
sebuah tabel. Sampai akhirnya dapat memahami, merancang dan mengimplementasikan basis data tersebut
STRATEGI PEMBELAJARAN
Acara Perkuliahan meliputi penyajian materi dan tanya jawab tentang isue terkini tentang teknik-teknik dan
penggunaan Data Base, studi kasus dan penyajian contoh-contoh persoalan yang melibatkan partisipasi aktif
mahasiswa dalam setiap acara perkuliahan. Partisipasi dari mahasiswa meliputi tanya jawab , latihan-latihan
1
Panduan Kuliah Basis Data TI-STMIK DCI’09
Mahasiswa diharuskan mengikuti perkuliahan pada hari dan waktu yang telah ditentukan. Dan mahasiswa
Tugas/PR, Paper, Ujian Tengah Semester (UTS) dan Ujian Akhir Semester (UAS) yang merupakan unsur-
Pada setiap akhir dari pembahasan modul akan dilakukan evaluasi terhadap kemampuan dan kemajuan belajar
untuk setiap mahasiswa. Hasil evaluasi belajar dinyatakan dalam Quiz, dan nilai dalam setiap Quiz
selanjutnya akan dikomulatifkan sampai terbentuk Nilai Akhir yang terdiri dari unsur-unsur Absen, Quiz
(quiz pra-kuliah & quiz mingguan), Tugas/PR, Paper, Ujian Tengah Semester (UTS) dan Ujian Akhir
Semester (UAS). Kemudian Nilai Akhir yang telah diperoleh oleh masing-masing mahasiswa dikelompokkan
1. ABSENSI 5% 4. Paper 10 %
2. Quiz 5% 5. U T S 30 %
3. Tugas/PR 5% 6. U A S 45 %
Adapun Pengelompokan dari Nilai Akhir menjadi Nilai Huruf adalah sebagai berikut :
67 – 79 B 3 Baik
55 – 66 C 2 Cukup
40 – 54 D 1 Kurang
2
Panduan Kuliah Basis Data TI-STMIK DCI’09
REFERENSI :
1. Atre S, “Database : Structured Techniques for Design, Performance and Management”, John
Wiley and Sons, 1980.
2. CJ Date HM, ”An Introduction to Database System”, Addison Wesley, 6th editions, 1995.
3. Fatansyah, “Basis Data”, CV. Informatika, Bandung, 2002.
4. Harianto Kristanto, “Konsep dan Perancangan Database”, Andi Offset, Yogyakarta, 1994.
5
Panduan Kuliah Basis Data TI-STMIK DCI’09
BAB1
PENDAHULUAN
I. KONSEP DASAR BASIS DATA
A. Definisi
Basis Data terdiri atas 2 (dua) kata yaitu Basis dan Data. Basis dapat diartikan sebagai markas atau
gudang, tempat bersarang atau berkumpul. Sedangkan Data adalah reperesentasi fakta dunia nyata yang
mewakili suatu objek. Basis Data sendiri dapat didefinisikan dalam sejumlah sudut pandang tertentu :
• Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa
• Kumpulan file-file yang saling berelasi dan relasi tersebut biasanya ditunjukan dengan kunci dari tiap
file yang ada, yang disimpan dalam media penyimpanan elektronis. Satu basis data menunjukan satu
File File
Mahasiswa disk Matakuliah
File File
Dosen Kuliah/Nilai
Hampir disemua aspek pemanfaatan perangkat komputer dalam sebuah organisasi atau perusahaan
senantiasa berhubungan dengan basis data. Perangkat komputer ini biasanya digunakan untuk
menjalankan fungsi Pengolahan Sistem Informasi, yang dewasa ini sudah menjadi suatu keharusan, untuk
meningkatkan efisiensi, daya saing, keakuratan, kecepatan operasional perusahaan. Dan basis data
merupakan salah satu komponen utama dalam setiap sistem informasi, tidak ada sistem informasi yang
6
Panduan Kuliah Basis Data TI-STMIK DCI’09
B. Istilah – Istilah
Entity
Entity adalah orang, tempat, kejadian atau konsep yang informasinya direkam. Misalnya pada sekolah
Atribute
Setiap entity mempunyai atribute atau sebutan untuk mewakili suatu entity. Seorang mahasiswa dapat
dilihat dari atributenya, misalnya nim, nama, alamat, jenis kelamin dan lain-lain. Atribute juga disebut
Adalah data actual atau informasi yang disimpan pada tiap data elemen atau atribute. Atribute nama
mahasiswa menunjukan tempat dimana informasi nama mahasiswa disimpan, sedang data value adalah
Record (tupel)
Yaitu kumpulan elemen-elemen yang saling berkaitan menginformasikan tentang suatu entity secara
lengkap. Satu record mewakili satu data atau informasi tentang seseorang misalnya, nomor induk
File
Kumpulan record-record sejenis yang mempunyai panjang elemen yang sama, atribute yang sama, namun
Database
Kumpulan file-file yang mempunyai kaitan antara satu file dengan file yang lain sehingga membentuk satu
bangunan data untuk menginformasikan satu perusahaan, instansi dalam batasan tertentu.
Kumpulan file yang saling berkaitan bersama dengan program untuk pengelolaannya disebut DBMS.
Database adalah kumpulan datanya, sedangkan program pengelolanya berdiri sendiri dalam satu paket
program yang berfungsi untuk membaca data, mengisi data, menghapus data serta melaporkan data
dalam database.
7
Panduan Kuliah Basis Data TI-STMIK DCI’09
Penghapusan basis data (drop database)
Pemanfaatan basis data dilakukan untuk memenuhi sejumlah tujuan (objektif) seperti berikut :
Keakuratan (Accurate)
Ketersediaan (Availability)
Kelengkapan (Completeness)
Keamanan (Security)
Secara lebih nyata bidang-bidang fungsional yang telah umum memanfaatkan basis data antara lain :
Kepegawaian
Pergudangan (inventori)
Akuntansi
Dan lain-lain
informasi) dapat berupa: Perbankan, Asuransi, Rumah Sakit, Produsen Barang, Industri Manufaktur,
a. Definisi
Basis data hanyalah sebuah objek yang pasif. Ia tidak akan pernah berguna jika tidak ada pengelola atau
penggeraknya, yang menjadi pengelola atau penggerak secara langsung adalah program atau aplikasi
(software). Gabungan dari keduanya (basis data dan pengelolanya) menghasilkan sebuah sistem. Secara
umum sebuah sistem basis data merupakan sistem yang terdiri dari atas kumpulan file (tabel) yang saling
berhubungan (dalam sebuah basis data di sebuah system komputer) dan sekumpulan program (DBMS)
8
Panduan Kuliah Basis Data TI-STMIK DCI’09
yang memungkinkan beberapa pemakai dan atau program lain untuk mengakses dan memanipulasi file-file
(table-tabel) tersebut.
User
Basis Data
File1 File3
User
Perangkat keras yang terdapat dalam sebuah system basis data adalah Komputer (stand alone atau
lebih dari satu/ networking), Memory sekunder (online dan offline) dan media/ perangkat komunikasi.
Program pengelola basis data hanya dapat aktif (running) jika system operasi telah aktif. Sejumlah
Sistem Opersai yang banyak digunakan misalnya : MS-DOS, MS-Windows v.XX (untuk komputer
stand alone atau client dalam jaringan), Novel Netware, MS-Windows NT/2000, Unix (untuk
⇒ Basis Data
Basis data dapat berisi : File/table, indeks dll. Disamping berisi dan menyimpan data, basis data juga
DBMS merupakan sebuah perangkat lunak khusus yang akan menentukan bagaimana data
DBMS juga menerapkan mekanisme pengamanan data, pemakaian data secara bersama, keakuratan/
konsistensi data dsb. Perangkat lunak DBMS antara lain : dBAse III+, dBase IV, FoxBase, Rbase,
MS Acess dan Borland Paradox, Borland Interbase, MS SQL Server, CA Open Ingres, Oracle,
a. Database Manager
9
Panduan Kuliah Basis Data TI-STMIK DCI’09
Suatu modul program yang menyediakan interface antara penyimpanan data dengan suatu aplikasi
program. Tugas dan tanggung jawab : interaksi dengan file manager, integrasi, keamanan, kontrol,
Oarng yang mempunyai kekuasaan sebagai pusat pengontrolan terhadap seluruh system baik data
c. Database User
Ada 4 macam pemakai basis data yang berbeda keperluan dan cara aksesnya :
- Programmer Aplikasi.
Pemakai yang berinteraksi dengan basis data melalui DML (data manipulation language), yang
disertakan dalam program yang ditulis dalam bahasa pemrograman induk (C, Pascal, Basic,
Cobol, dll)
Pemakai yang berinteraksi dengan system tanpa menulis modul program, mereka menyatakan
Pemakai yang berinteraksi dengan sistem basis data melalui pemanggilan satu program aplikasi
Pemakai khusus yang menuliskan aplikasi database tidak dalam kerangka data processing yang
tradisional, aplikasi tersebut diantaranya : CAD, Knowledge Base, Expert System, system yang
menyimpan data dalam bentuk data yang komplek misalnya data grafik, audio,dll.
Aplikasi (perangkat lunak) ini bersifat opsional, artinya ada tidaknya tergantung dari kebutuhan.
Program ini ada yang sudah disediakan bersama dengan DBMS nya, ada juga yang harus dibuat sendiri
dengan menggunakan aplikasi lain yang khusus (development tools). Artinya aplikasi ini ada yang
1
Panduan Kuliah Basis Data TI-STMIK DCI’09
Aplikasi yang menyatu dengan DBMS implementasinya akan lebih cocok untuk pemakaian sendiri
(stand alone) yang bebannya lebih ringan, perangkat lunak ini adalah : dBase III+, FoxBase dan MS-
Access.
Aplikasi yang terpisah dengan DBMS implementasinya akan lebih cocok untuk pemakaian berat oleh
banyak pemakai (multi user), perangkat lunak ini diantaranya : MS SQL Server, Oracle, CA
OpenIngres, Sysbase, Informix, IBM DB2, dll Perangkat lunak ini memang dirancang sejak awal
berdiri sendiri dan terpisah dari aplikasi basis datanya dan banyak sekali fasilitas (feature) yang
Penyusunan suatu basis data digunakan untuk mengatasi maslah maslah pada penyusunan data, yaitu :
Redudansi adalah penyimpanan dibeberapa tempat untuk datayang sama dan mengakibatkan
pemborosan ruang penyimpanan dan juga biaya pengaksesan akan lebih tinggi. Akibat penyimpanan
yang berulang-ulang dibeberapa file dapat mengakibatkan juga inkonsistensi (tidak konsisten).
Belum adanya fasilitas tertentu untuk memenuhi permintaan user tentang pengaksesan data,
penyelesaian dan solusi untuk hal ini adalah ke arah DBMS yang mampu mengakses data secara
Jika data tersebar dalam beberapa file dalam bentuk format yang tidak sama, misalnya bilamana data
dibuat dari format text file Pascal, Basic, dan juga dalam format C++ dan lainnya, ini akan
menyulitkan dalam menulis program aplikasi untuk mengambil dan menyimpan data. Maka haruslah
data dalam satu basis data dibuat satu format sehingga mudah dalam pembuatan program aplikasinya.
Basis data dibangun karena nantinya data tersebut digunakan oleh banyak orang dalam waktu yang
berbeda, diakses oleh program yang sama tapi berbeda orang dan waktu, karena data yang diolah
tidaklah tergantung dan menyatu dalam program tapi terlepas dalam satu kelompok data.
Tidak setiap pemakai sistem basis data diperbolehkan untuk mengakses semua data (pengaturan hak
akses), misalnya disesuaikan dengan jabatan dan kapasitas pemakai tersebut di sebuah perusahaan.
1
Panduan Kuliah Basis Data TI-STMIK DCI’09
Keamanan ini dapat diatur lewat program yang dibuat oleh pemrogram atau fasilitas keamanan dari
sistem operasi.
Database berisi file-file yang saling berkaitan, secara teknis maka ada field kunci yang mengkaitkan
file-file tersebut.
Bahasa yang diciptakan dari DBMS apapun yang terjadi pada struktur file misalnya melihat atau
menambah data cukuplah dengan utility yang disediakan, ini berarti perintah-perintah dalam paket
DBMS bebas terhadap basis data. Apapun perubahan dalam basis data semua perintah akan
mengalami kestabilan tanpa perlu ada yang diubah. Berbeda dengan sistem pemrosesan file dengan
suatu bahasa tertentu yang sudah dibuat, kemudian terjadi perubahan struktur file maka program
tersebut haruslah diubah, dan ini tidak bebas terhadap database yang ada.
Abstraksi data merupakan tingkatan/ level dalam bagaimana melihat data dalam sebuah basis data . Ada
Level Konseptual
Level Fisik
Keterangan :
Adalah level terendah dalam abstraksi data, menggambarkan bagaimana sesungguhnya suatu data
disimpan dalam kondisi sebenarnya. Data dilihat sebagai gabungan dari struktur dan datanya sendiri,
level ini berurusan dengan data sebagai teks, angka atau bahkan melihatnya sebagai himpunan bit
data.
1
Panduan Kuliah Basis Data TI-STMIK DCI’09
• Level Konseptual (Conceptual Level)
Adalah level yang menggambarkan data apa yang sebenarnya disimpan dalam basis data dan
hubungannya dengan data yang lain. Data disimpan/ direpresentasikan dalam beberapa file/table
Adalah level tertinggi dari abstraksi data, level ini sangat dekat dengan user yang hanya menunjukan
sebagian dari basis data. Level ini yang mengkonversikan data asli/fisik menjadi data bermakna/lojik
pada pemakai.
DBMS merupakan perantara bagi pemakai dengan basis data dalam disk, cara berkomunikasinya diatur
dalam suatu bahasa khusus yang ditetapkan oleh perusahaan pembuat DBMS. Contoh-contoh bahasa
basis data diantaranya adalah SQL, dBase, Ouel dan sebagainya. Sebuah Bahasa Basis Data biasanya
• DDL
Struktur/ skema basis data yang menggambarkan/ mewakili desain basis data, dengan bahasa ini
dapat membuat table baru, membuat indeks, mengubah table, menentukan struktur penyimpanan
table dsb. Hasil kompilasi perintah DDL adalah kumpulan tabel yang disimpan dalam file khusus yang
• DML
Bahasa basis data yang berguna untuk melakukan manipulasi dan pengambilan data pada suatu basis
data, manipulasi dapat berupa penyisipan, penghapusan dan pengubahan data di suatu basis data. DML
1
Panduan Kuliah Basis Data TI-STMIK DCI’09
File
Manager
Disk
1
Panduan Kuliah Basis Data TI-STMIK DCI’09
BAB II
MODEL DATA
Definisi
hubungan data, makna data dan batasan data. Model data ini lebih tepat jika
disebut Model Data Lojik. Ada sejumlah cara dalam merepresentasikan model
data dalam perancangan basis data, yaitu secara umum dapat dibagi dalam 2 (dua)
kelompok :
Model)
data dalam basis data, didasarkan pada persepsi bahwa “real world” terdiri dari
objek-objek dasar yang memiliki relasi / hubungan antar objek. Pada ER-Model,
1
Panduan Kuliah Basis Data TI-STMIK DCI’09
a. Entitas : individu yang mewakili sesuatu yang nyata dan dapat dibedakan dari
dengan paling banyak dengan satu entitas pada himpunan entitas B, dan
sebaliknya.
A B
Entitas 1 Entitas 1
Entitas 2 Entitas 2
Entitas 3 Entitas 3
1
Panduan Kuliah Basis Data TI-STMIK DCI’09
himpunan entitas B, tetapi tidak sebaliknya untuk setiap entitas pada himpunan
entitas B.
A B
Entitas 1
Entitas 1
Entitas 2
Entitas 3
Entitas 2
Entitas 4
Untuk derajat relasi Banyak ke Satu (Many to One) sebaliknya dari pernyataan
A B
Entitas 1 Entitas 1
Entitas 2 Entitas 2
Entitas 3 Entitas 3
Entitas 4 Entitas 4
1
Panduan Kuliah Basis Data TI-STMIK DCI’09
nama dosen alamat_dosen nama dosen kode jurusan kode jurusan nama_jurusan
1 1
Dosen Mengepalai Jurusan
Pada relasi ini, setiap dosen paling banyak mengepalai satu jurusan dan setiap
jurusan pasti dikepalai oleh paling banyak satu orang dosen. Pada himpunan
entitas Dosen dan himpunan entitas Jurusan memiliki dua atribut, yang salah
satunya (memakai garis bawah) berfungsi sebagai kunci (key). Sementara pada
himpunan Relasi juga terdapat dua atribut, yang keduanya sebetulnya berasal
dari atribut key masing-masing himpunan entitas, maka kedua atribut tersebut
1 N
Dosen Mengajar Kuliah
Pada relasi ini, setiap dosen dapat dapat mengajar lebih dari satu mata kuliah,
sedangkan setiap matakuliah dipegang hanya paling banyak oleh satu orang
dosen. Pada himpunan relasi terdapat dua foreign key yang berasal dari
himpunan entitas, tetapi ada pula dua atribut tambahan yang tidak berasal dari
himpunan entitas. Hal ini memang dimungkinkuan dan bahkan umum terjadi.
1
Panduan Kuliah Basis Data TI-STMIK DCI’09
nim nama_mhs nim kode kuliah kode kuliah nama_kuliah
N N
Mahasiswa Mempelajari Kuliah
Pada relasi ini setiap mahasiswa dapat mempelajari lebih dari satu mata kuliah,
demikian juga sebaliknya setiap mata kuliah dapat dipelajari oleh lebih dari
(nonkey).
dalam sebuah kamus data. Ini diperbolehkan jika sebuah sistem yang ruang
lingkupnya lebar dan kompleks. Kamus data berisi atribut yang diapit kurung
kurawal dan atribut yang berfungsi sebagai key juga dibedakan dengan atribut
yang bukan key, dengan menggaris bawahi atribut tersebut. Berikut contoh
2
Panduan Kuliah Basis Data TI-STMIK DCI’09
N N N 1
Mahasiswa Mempelajari Kuliah Mengajar Dosen
Kamus Data :
Model jaringan akan terdiri atas sekumpulan record yang dihubungkan satu sama
lain melalui link (yang berupa pointer), sebuah record setara dengan dengan
sebuah entitas dalam ER Model. Sebuah record adalah sekumpulan field yang
masing-masing hanya berisi sebuah nilai data. Sebagai contoh ada dua tipe record
yaitu dosen dan mata kuliah yang dapat dideklarasikan sebagai berikut :
2
Panduan Kuliah Basis Data
data :
Berikut data dan link yang terjadi antara record dosen dan
record kuliah :
Cara diatas hanya layak diterapkan pada basis data dengan link
Kuliah
Panduan Kuliah Basis Data
IF-976 ORKOM 3 3
Penggunaan struktur pohon sejauh ini tidak ada yang aneh, hanya
BAB III
Perancangan basis data merupkan suatu hal yang sangat penting, kesulitan utama
dalam merancang basis adalah bagaimana merancang basis data sehingga dapat
memuaskan/ memenuhi keperluan saat ini dan masa mendatang. Dalam merancang
basis data dapat dilakukan dengan dua buah teknik/ pendekatan yaitu :
1. Menerapkan Normalisasi terhadap struktur table yang telah diketahui, atau
dengan
diwujudkan dalam bentuk diagram, hal itu tidak salah karena model memang
Normalisasi merupakan cara pendekatan lain dalam membangun desain lojik basis
data relasional yang tidak secara langsung berkaitan dengan model data, tetapi
struktur table yang yang normal. Namun dalam pelaksanaannya desain lojik basis
Panduan Kuliah Basis Data
data relasional yang didasari baik oleh prinsip normalisasi maupun model ER akan
• Perancang basis data telah memiliki item-item yang siap ditempatkan dalam
data.
• Langsung membuat model data lebih tepat dilakukan jika yang telah diketahui
ganti. Dari fakta yang telah dimiliki dilakukan normalisasi, untuk kepentingan
sebuah model data. Model data yang sudah jadi tersebut bisa saja dimodifikasi
dalam bentuk sejumlah struktur table dalam sebuah basis data. Struktur ini bisa
dapat diperoleh sebuah struktur basis data yang benar-benar efektif dan efisien.
Begitulah kedua pendekatan ini dapat saling memperkuat satu sama lain.
Normalisasi
yang menunjukan entity dan relasinya atau lebih difokuskan pada tinjauan
Sebelum mengenal lebih jauh mengenai normalisasi ada beberapa konsep yang
Key adalah satu atau gabungan dari beberapa atribut yang dapat membedakan
semua baris data (row) dalam tabel secara unik. Terdapat beberapa macam key
1. Super Key
Satu atau lebih atribut (kunmpulan atribut) yang dapat membedakan setiap
baris data dalam sebuah table secara unik. Bisa terjadi ada lebih dari satu
kumpulan atribut yang bersifat seperti itu dalam sebuah tabel, misalnya:
nama : jika bisa menjamin tidak ada nilai yang sama utk atribut ini.
2. Candidate Key
Merupakan kumpulan atribut minimal yang dapat membedakan setiap baris data
dalam sebuah tabel secara unik. Jika satu kunci kandidat berisi lebih dari satu
Candidate Key :
nama : jika bisa menjamin tidak ada nilai yang sama utk atribut ini.
nama + tgl_lahir : mungkin dapat dipakai sebagai kunci karena kemungkinan sangat
kecil seseorang punya nama sama yang lahir pada hari yang sama. (composite key)
3. Primary Key
Pada sebuah tabel dimungkinkan adanya lebih dari satu candidate key, salah
satu dari candidate key (jika memang ada lebih dari satu) dapat dijadikan
sebagai primary key. Pemilihan primary key dari sejumlah candidate key
• Tidak boleh “null” (tidak ada datanya) dan Harus bisa menjamin setiap
nilai primary key pada sebuah table, harus dimiliki pula oleh table
lainnya.
4. Alternate Key
Adalah candidate key yang tidak menjadi/ tidak dipakai sebagai primary key.
Terkadang alternate key ini dipakai sebagai kunci pengurutan dalam laporan
misalnya.
5. Foreign Key
Foreign key (kunci tamu) adalah satu atribut yang melengkapi satu relationship
yang menunjukan ke induknya. Kunci tamu ditempatkan pada entity anak dan
Tabel Dosen :
sandi_dosen pada tabel mata kuliah sebagai foreign key, karena tabel mata
pada atribut X dari R jika dab hanya jika setiap nilai X dalam R punya
waktu)”.
Isi dari atribut nama bergantung pada sandi_dosen. Jadi dapat dikatakan bahwa
menunjukan secara fungsi nama. Jika ingin mengetahui sandi_dosen seorang dosen,
maka dapat menentukan nama dosen tersebut. Notasi untuk ketergantungan fungsi
ini adalah :
sandi_dosen nama
atau
nama = f (sandi_dosen)
Merupakan bentuk kumpulan data yang akan direkam, tidak ada keharusan
mengikuti suatu format tertentu, dapat saja data tidak lengkap atau
Jika semua atribut mempunyai nilai data yang atomic (tidak dapat dipecah
lagi), tetapi masih terdapat beberapa atribut yang muncul secara berulang.
Relasi telah berada/ memenuhi bentuk normal pertama dan semua atribut
yang bukan kunci hanya bergantung secara fungsi pada kunci utama/
primary key. Pada bentuk normal kedua haruslah sudah ditentukan kunci
kunci field.
Relasi telah berada/ memenuhi bentuk normal kedua dan semua atribut
transitif = bila menjadi atribut biasa pada suatu relasi, tetapi menjadi
Relasi harus sudah dalam bentuk ketiga dan setiap atribut harus
Contoh Kasus :
Relasi “Pasien”
Relasi “Biaya_Rawat”
Relasi “Pasien”
Relasi “Kamar_Rawat”
jenis_perawatan jenis_kamar
Gawat Darurat KM001
Rawat Inap KM002
Rawat Inap Sehari KM003
Rawat Jalan KM004
Relasi “Biaya_Rawat”
jenis_kamar biaya_kamar
KM001 Rp.100.000
KM002 Rp.75.000
KM003 Rp.50.000
KM004 Rp.25.000
Pasien Biaya_Rawat
no_pasien * jenis_kamar *
nama biaya_kamar
jenis_perawatan **
Keterangan :
Kamar_Rawat * = primary key
jenis_perawatan * ** = foreign key
jenis_kamar **
Relasi “Pengajar”
Seminar Instruktur
7783 Rusi, Ir
7783 Respati, ST
7776 Pita, Ir
7776 Yogaswara, MT
Relasi “Peserta-Instruktur”
no_peser Instruktur
ta
240100 Rusi, Ir
240101 Respati, ST
240102 Pita, Ir
240101 Yogaswara, MT
240109 Yogaswara, MT
Soal-Soal Latihan :
Latihan I :
Nip Nama tgl_lahir alamat tgl_sk no_sk gol gaji tun status
j
1230 Rusi 1/2/70 Jl.Edelwi 1/3/84 3/sk/8 2A 50 25 Aktif
s 4
1230 Rusi 1/2/70 Jl.Edelwi 5/6/87 6/sk/8 2B 65 40 Aktif
s 7
1231 Resa 8/1/68 Jl.Elang 15/7/7 7/sk/7 3A 80 35 Aktif
5 5
1231 Resa 8/1/68 Jl.Elang 7/2/78 2/sk/7 3B 100 65 Aktif
8
1231 Resa 8/1/68 Jl.Elang 21/12/8 12/sk/8 3C 120 75 Aktif
1 1
1231 Resa 8/1/68 Jl.Elang 1/2/82 1/sk/82 3C 120 75 Keluar
1232 Pita 4/3/72 Jl.Dahlia 5/4/89 4/sk/8 2A 50 35 Aktif
Panduan Kuliah Basis Data
9
Kapan tabel/ relasi tersebut dikatakan dalam bentuk 1NF, 2NF dan 3NF ?
Latihan II :
Latihan III :
No kode nama kode nama tgl jatuh qty harg jml total
Fa supp supp brg barang temp a
c o
79 S02 Swa R02 Plooter 2/2/ 9/3/ 10 150 1500 1500
9 04 04
99 G01 Ara A01 Hd 7/2/ 9/3/ 10 1350 1350 33500
8 Segeat 04 04 0
99 G01 Ara A02 Hd 7/2/ 9/3/ 10 200 2000 33500
8 Quntm 04 04 0 0
Kapan tabel/ relasi tersebut dikatakan dalam bentuk 1NF, 2NF dan 3NF ?
BAB IV
Implementasi basis data merupkan upaya untuk membangun basis data fisik yang
ditempatkan dalam memori sekunder (disk) dengan bantuan DBMS, tahap
implementasi basis data diawali dengan melakukan transformasi dari model data
yang telah selesai dibuat skema/ struktur basis data sesuai dengan DBMS yang
dipilih. Secara umum sebuah Diagram ER akan direpresentasikan menjadi sebuah
basis data fisik, sedangkan komponennya berupa himpunan entitas dan himpunan
relasi akan ditransformasikan menjadi table-tabel (file-file data) dan atribut akan
dinyatakan sebagai field-field dari tabel-tabel yang sesuai.
Faktor-faktor yang mempengaruhi performansi sistem basis data :
• Kualitas dan bentuk perancangan basis data yaitu struktur basis data dan cara
• Kualitas mesin
• Sistem Operasi
Aturan umum dalam pemetaan model data yang digambarkan dengan Diagram ER
menjadi Basis Data Fisik adalah sebagai berikut :
1. Setiap himpunan entitas akan diimplementasikan sebagai sebuah tabel (file
data).
nim nama_mhs
Mahasiswa
alamat_mhs tgl_lahir
Tabel Mahasiswa :
nim nama_mhs alamat_mhs tgl_lahir
kode dosen nama alamat kode dosen kode jurusan kode jurusan nama_jurusan
1 1
Dosen Mengepalai Jurusan
Panduan Kuliah Basis Data
1 N
Dosen Mengajar Kuliah
Tabel Kuliah :
kode_kulia nama_kulia sks semest kode_dose tempat waktu
h h er n
Dari hasil transformasi diatas jika kemudian ternyata bahwa atribut waktu
pada table kuliah merupakan atribut bernilai banyak, maka table tersebut
tidak memenuhi bentuk normal tahap pertama (1 NF). Maka table ini dapat
didekomposisikan lagi menjadi sebagai berikut.
Tabel Kuliah :
Kode_kulia nama_kulia sks semest Kode_dose
h h er n
Tabel Jadwal :
Panduan Kuliah Basis Data
N N
Mahasiswa Mempelajari Kuliah
Direpresentasikan dalam bentuk tabel (file data) khusus yang memiliki field
(foreign key) yang berasal dari key-key dari himpunan entitas yang
menghubungkannya.
Tabel Mahasiswa :
nim Nama_mhs alamat_mhs tgl_lahir
Tabel Kuliah :
kode_kuliah nama_kuliah sks Semester
1
Memiliki Orang Tua
nim nama_mhs
1 alamat_ortu
Mahasiswa
1 hobbi
nim hobbi
alamat_mhs tgl_lahir
N
Mempelajari Hobbi
Data orang tua dan hobbi dapat digolongkan sebagai entitas lemah (dalam ER-D
dinyatakan dengan kotak garis ganda), karena kemunculannya sangat
tergantung pada adanya relasi dengan entitas yang ada pada himpunan entitas
mahasiswa. Atribut nama_ortu dan hobbi diberi garis bawah putus-putus untuk
menunjukan atribut key yang tidak meyakinkan.
Entitas lemah dapat ditransformasikan menjadi sebuah table dengan
menyertakan key yang ada pada entitas kuat, sebagai berikut :
Tabel Mahasiswa :
nim nama_mhs alamat_mhs tgl_lahir
top-down
kode_dos nama_dos alamat_dos
Dosen
ISA
nik nama_kantor
Dosen Tidak
Dosen Tetap
Tetap
bottom-up
Panduan Kuliah Basis Data
Mahasiswa
ISA
Mahasiswa D3 Mahasiswa S1
3. Agregasi
N N
Mahasiswa Mempelajari Matakuliah
N
nim kode_kul
Mengikuti
kode_pra nilai
Praktikum
Tabel Mengikuti:
nim kode_kul kode_pra nilai
Pengkodean Internal
Cara yang digunakan untuk menyatakan suatu data (atribut) dalam bentuk lain
adalah untuk efisiensi ruang penyimpanan disebut dengan pengkodean (data
coding). Dari pemakaiannya bias dibedakan adanya pengkodean :
• Pengkodean eksternal (user define coding) : mewakili pengkodean yang
telah digunakan secara terbuka dan dikenal oleh orang awam (ada pada
internal tidak hanya diterapkan pada pembuatan key alternatif, tapi juga
dapat diterapkan pada atribut data lain (non key) yang memang kita kelola.
Membentuk suatu singkatan dari data yang ingin dikodekan, misalnya : jenis
kelamin (Laki-Laki dan Perempuan) dikodekan dengan “L dan P “.
3. Blok
Pembuatan berbagai tabel basis data adalah sebagai pekerjaan utama dalam tahap
implementasi juga penetuan struktur dari tabel-tabel tersebut. Penentuan pilihan
tipe data dan featur-featur tambahan untuk struktur table sangat bergantung
pada DBMS yang dipilih. Namun dalam penentuan struktur table khususnya
penetapan tipe data dan featur tambahan untuk setiap field akan sering
dihadapkan pada pilihan-pilihan seperti :
1. Data Angka
a. Numerik : nilai angka dari tipe data ini menunjukan suatu jumlah
b. Alfanumerik : nilai angka dari tipe data ini tidak menunjukan suatu
jumlah misalnya : field npm berisi data angka tapi tidak menunjukan suatu
Data teks ini dapat berupa abjad/ huruf, angka, karakter khusus atau gabungan
a. Ukuran tetap (fixed character) : data teks yang ukurannya pasti dan
3. Data Uang
Jika DBMS yang digunakan menyediakan tipe data khusus untuk menyimpan
data uang, misalnya bertipe money atau currency (8 byte). Tipe data ini cocok
untuk diterapkan dan akan sangat membantu terutama dalam mengatur
tampilan datanya, yang dinyatakan dengan pemisahan ribuan/jutaan/milyaran
dan pemakaian tanda mata uang.
4. Date/Tanggal
Keterangan :
C : Character
N : Numeric
D : Date
G : Graphic (untuk menyimpan data berupa gambar atau grafik /feature DBMS)
Panduan Kuliah Basis Data
BAB V
ALJABAR RELASIONAL
Definisi
Basis data dipahami oleh pengguna sebagai kumpulan tabel-tabel yang saling ber
relasi, konsep untuk akses pada basis data model relasi dapat diterapkan
• Selection (γ = sigma)
• Projection (π = phi)
• Joint (× = cross)
• Union (∪ = gabungan)
• Intersection (∩ = irisan)
• Dan lain-lain
Panduan Kuliah Basis Data
a. Selection (γ = sigma) adalah memilih tupel (baris) dalam relasi yang memenuhi
predikat yang diberikan.
Hasil : no_rek
111.111
222.222
444.444
555.555
Misal : π nama,no_rek (Nasabah)
s.
Contoh:
Hasil : (t)
Hasil :
nama_mhs kode_mtkul
Bati TI-3000
Bati TI-4000
Totti TI-5000
Totti TI-3000
Nesta TI-4000
Nesta TI-6000
e. Intersection (∩ = irisan) adalah menghasilkan relasi dengan tupel-tupel yang
berada pada kedua relasi.
Panduan Kuliah Basis Data
Hasil :
nama_mhs kode_mtkul
Bati TI-3000
Totti TI-5000
Nesta TI-4000
Hasil :
nama_mhs kode_mtkul
Bati TI-4000
Totti TI-3000
Hasil :
nama_mhs kode_mtkul
Nesta TI-6000
Panduan Kuliah Basis Data
BAB VI
(SQL)
Definisi
Panduan Kuliah Basis Data
SQL adalah sebuah bahasa yang dijadikan bahasa standar untuk bahasa basis
basis data dan teknologi komputer pada umumnya, SQL sendiri mengalami
dengan “Sequel”. Standarisasi yang pertama dibuat pada tahun 1986 oleh ANSI
Organization), yang disebut sebagai SQL-86. SQL-86 ini diperbaharui pada tahun
1986 menjadi SQL-89. Standar terakhir yang dibuat dan digunakan hingga saat ini
adalah SQL-92 yang dikeluarkan pada tahun 1992. Bahasa basis data terdiri dari
atas :
Struktur Dasar
memilih
• From : Relasi yang dipilih atau terkena operasi proyeksi/ table atau
gabungan table.
Select F1,F2…Fn
Form T1,T2…Tn
Where P
From nasabah
Hasil : nama
Angie
Ari
Armand
Alanis
Aras
From simpanan
Hasil : Menampilkan seluruh isi atribut nama dan no_rek dari tabel simpanan
From simpanan
Misal : Select *
From nasabah
Hasil : notasi * menampilkan semua atribut yang ada pada tabel nasabah
Panduan Kuliah Basis Data
Klausa Where
Klausa ini boleh tidak digunakan, klausa untuk predikat ini dapat menerapkan
operator relasi (<, >, <=, >=, =, <>) dan operator logika (and, or dan not). Untuk nilai
predikat yang bertipe string harus diapit dengan tanda kutip tunggal (‘ ’).
From nasabah
Whereno_rek = ‘10924’
From simpanan
10606
10678
10924
Misal : Jika dalam query tabel yang dilibatkan lebih dari satu tabel maka table-
tabel
Wherenasabah.no_rek = simpanan.no_rek
Hasil : Menampilkan nama, alamat dan cabang dari kedua table dimana no_rek
nasabah pada table nasabah sama dengan no_rek pada table simpanan.
Latihan :
1. Buat contoh lain untuk penggunaan klausa select, from dan where seperti
2. Pada kedua tabel nasabah dan simpanan, cari isi record data no_rek 10924
3. Pada kedua tabel nasabah dan simpanan, cari semua nasabah dan cabangnya
4. Pada kedua tabel nasabah dan simpanan, cari semua nama, alamat dan
5. Pada kedua tabel nasabah dan simpanan, cari no_rek, nama dan alamat
6. Pada kedua tabel nasabah dan simpanan, cari semua nasabah yang memiliki
6
Karakter Khusus
Khusus untuk atribut yang bertipe string, dapat dilakukan pencarian dengan pola
• _ (underscore) : berarti cocok untuk semua karakter pada posisi yang sesuai.
Misal : Select *
From nasabah
Misal : Select *
From nasabah
Dengan SQL hasil ditampilkan dengan urutan sesuai dengan struktur penyimpanan,
jika ingin menampilkan dengan urutan tertentu dengan menambahkan klausa order
by.
Misal : Select *
From nasabah
Order by nama
(ascending).
Misal : Select *
From nasabah
6
SQL juga dilengkapi dengan sejumlah perintah untuk melakukan manipulasi data
record.
• Insert Anomali
• Delete Anomali
• Update Anomali
a. Insert Anomali
values (‘12085’,’Roma’,’Jl.Edelwis’)
Hasil : Fields no_rek, nama, alamat pada table nasabah akan di isi dengan nilai
b. Delete Anomali
where Kondisi
c. Update Anomali
set Ekspresi
where Kondisi
Hasil : Record alamat untuk no_rek 10606 akan di update dengan Jl.Edelwis
6
Misal : update simpanan
Hasil : Field jumlah pada table simpanan akan ditambah 500.000 untuk no_rek
= 12476
Hasil : Pengosongan untuk semua field jumlah. (Jika tanpa klausa where maka
alamat_mhs
drop table t
berdasarkan npm :
7
Misal : create table mahasiswa (npm char(6), nama_mhs varchar(30),
alamat_mhs
Sintaks SQL untuk perubahan struktur tabel dapat berupa penambahan atribut
t = nama table
A = nama atribut
Fungsi Agregasi
Untuk menampilkan data-data agregasi seperti banyak record, total nilai suatu
atribut, rata-rata nilai suatu atribut, nilai atribut terbesar ataupun terkecil dapat
7
Elsa 25 B Rp. 800.000
from karyawan
Hasil : 5
from karyawan
Hasil : 3
from karyawan
Hasil : 3.100.000
from karyawan
Hasil : 27,4
from karyawan
Hasil : 800.000
from karyawan
Hasil : 24
from karyawan
Hasil : 750.000
from karyawan