Anda di halaman 1dari 30

PROGRAM KEAHLIAN BISNIS DAN INDUSTRI

MODUL PERKULIAHAN
SISTEM BASISDATA

Yoyok Adisetio Laksono


10/2/2009

Modul ini berisi ringkasan materi yang harus disampaikan pada setiap pertemuan.
Rincian materi diserahkan sepenuhnya kepada dosen pengajar.
PERTEMUAN 1.
PENGERTIAN SISTEM BASIS DATA

Basisdata (Database) adalah kumpulan data yang saling berhubungan. Data adalah
fakta-fakta yang diketahui yang dapat direkam dan memiliki arti implisit. Contoh
data: nama, nomor telepon, dan alamat orang yang Anda kenal.

Data ini bisa ditulis di notes atau direkam ke disket menggunakan komputer dengan
software DBASE, PARADOX, atau EXCEL.

Pengertian di atas masih sangat umum. Basisdata (Bd) memiliki sifat-sifat sebagai
berikut:

 Bd menggambarkan aspek dari dunia nyata yang disebut sebagai dunia kecil (mini
world).

 Bd kumpulan data yang secara logika masuk akal.

 Bd dirancang, dibangun, dan diisi dengan data untuk kegunaan yang khusus.

DBMS (database management system) adalah kumpulan program yang mengijinkan


pengguna untuk menciptakan dan mengatur basisdata.

DBMS adalah sistem software serba guna yang menyediakan fasilitas untuk proses
mendefinisikan, membuat, dan memanipulasi basisdata untuk berbagai aplikasi.

Mendefinisikan database meliputi proses menentukan type data, struktur, dan batasan
data yang diletakkan dalam database.

Membuat database meliputi proses peletakan data kedalam media penyimpanan yang
dikendalikan oleh DBMS.

Memanipulasi database meliputi fungsi-2 query database seperti mengambil data


tertentu, memperbarui data, dan menghasilkan laporan.

Modul Sistem Basisdata 1 Yoyok Adisetio Laksono


Users/Programmers

SISTEM BASISDATA
Program/Query

DBMS Software
Software untuk memproses
queries/programs

Software untuk mengakses data yang


disimpan

Definisi Db
(meta-data)
( Database

CONTOH SISTEM BASISDATA


Basisdata UNIVERSITAS, terdiri dari lima file: MAHASISWA, KULIAH, KELAS,
HASIL_STUDI, SYARAT.

MAHASISWA

Nama NRP Kelas Jurusan


Desy Ratnasari 17 1 TI
Tessy Kabul 8 2 TI

MATAKULIAH

Nama Kuliah KodeMK SKS JURUSAN


PENGANTAR ILMU KOMPUTER COSC1310 4 TI
STRUKTUR DATA COSC3320 4 TI

KELAS

Kelas KodeMK Semester Tahun Dosen


85 MATH2410 Ganjil 1999 Adisetio
92 COSC1310 Ganjil 1999 Yoyok
102 COSC3320 Genap 2000 Tik a
112 MATH2410 Ganjil 2000 Adisetio
119 COSC1310 Ganjil 2000 Yoyok
135 COSC3380 Ganjil 2000 Dewi

Modul Sistem Basisdata 2 Yoyok Adisetio Laksono


HASIL_STUDI

NRP KELAS NILAI


17 112 B
17 119 C
8 85 A
8 92 A
8 102 B
8 135 A

SYARAT

KodeMK Syarat
COSC3380 COSC3320
COSC3380 MATH2410
COSC3320 COSC1310

Untuk mendefinisikan Db, harus ditentukan dahulu stuktur record dari setiap file
dengan menentukan type elemen data yang diletakkan di record.

Setiap record MAHASISWA tersusun dari data yang menyatakan nama mahasiswa,
nomor registrasi, kelas, dan jurusan.

Masing-masing file dalam Db UNIVERSITAS saling terkait satu sama lain yang
dapat menyediakan informasi tentang kegiatan akademik.

Field merupakan nama kolom dari file Db. Nama, NRP, Kelas, Jurusan adalah contoh
dari field.

Record merupakan kumpulan data untuk satu individu. Desy Ratnasari, 17, 1, COSC
merupakan contoh record.

Contoh queries & manipulasi:

Ambil transkrip mahasiswa bernama Desy Ratnasari.


Apakah syarat perkuliahan Basis Data?
Beri nilai A pada Tessy Kabul untuk kuliah Basis Data
Hapus data perkuliahan Basis Data.

Modul Sistem Basisdata 3 Yoyok Adisetio Laksono


PERTEMUAN 2
KARAKTERISTIK PENDEKATAN DATABASE

Pada pendekatan tradisional, spesifikasi database ditulis bersama-sama program,


sehingga jika ada perubahan struktur database maka program harus ditulis ulang. Cara
ini disebut proses pendekatan file.

Cara terbaru adalah memisahkan sistem database dengan program yang disebut
sebagai pendekatan database. Karakteristik cara terbaru dijelaskan sebagai berikut.

1. Info-Diri Sistem Database. Db tidak hanya berisi db itu sendiri tetapi juga berisi
definisi atau deskripsi komplit dari db. Definisi diletakkan di sistem katalog yang
berisi informasi seperti struktur setiap file, type dan format pernyimpanan dari
setiap item data, serta berbagai batasan data. Informasi yang diletakkan di katalog
disebut sebagai meta-data.

2. Pemisahan Program & Data, dan Abstraksi Data. Dengan pemisahan maka
jika ada perubahan struktur data tidak akan mengubah program secara total. Selain
itu operasi-operasi (fungsi) terhadap data juga dapat dimasukkan ke Db sehingga
Db bersifat bebas program-operasi. Sifat tersebut, yaitu bebas program-data dan
bebas program-operasi, disebut sebagai abstraksi data. Db yang demikian
diterapkan pada Db berorientasi obyek.

3. Mendukung Bermacam-macam Tampilan Data. Db biasanya digunakan oleh


banyak user, masing-masing user memiliki permintaan dan tampilan data sendiri-
sendiri.

Contoh: Dosen ingin melihat kelas, jadwal dari matakuliah yang dia ajar.
Mahasiswa ingin melihat kelas, jadwal, dosen, nilai.

4. Berbagi Data dan Proses Transaksi Multiuser. Multiuser Db harus mengijinkan


banyak user mengakses data. DBMS harus memiliki kendali konkurensi agar bila
ada beberapa user mengupdate data yang sama maka harus diatur agar hasil
updatenya benar. DBMS harus meyakinkan bahwa satu data hanya boleh diakses
oleh user dalam satu saat, contoh: pemesanan kursi pesawat. Contoh ini disebut
sebagai proses transaksi.

ORANG-ORANG DI PANGGUNG BASISDATA


Orang-orang yang setiap hari terkait dengan penggunaan database paling tidak ada 4
berdasar bagian tugasnya, orang tersebut adalah:

1. Administrator Db. Pada organisasi dimana beberapa orang menggunakan Db


yang sama maka diperlukan seorang penanggung jawab yang mengatur

Modul Sistem Basisdata 4 Yoyok Adisetio Laksono


penggunaan Db tersebut, adiministrator db (AD) adalah penanggungjawabnya.
Tugas AD adalah: (1) mengatur hak penggunaan db, (2) mengatur dan memonitor
penggunaan db, (3) menentukan hardware dan software yang diperlukan db.

2. Perancang Db. Tanggung jawab perancang database (PD) adalah: (1)


mengidentifikasi data yang diletakkan di db, dan (2) memilih struktur yang sesuai
untuk mengambarkan dan meletakkan data.PD merupakan staff dari AD dan
menyerahkan pekerjaan selanjutnya ke orang lain setelah perancangan selesai
dilakukan.

3. Pengguna Akhir. Pengguna akhir (PA) adalah orang yang pekerjaannya


mengquery, update, dan menghasilkan laporan. Kategori pengguna akhir adalah
sbb.:

a. Casual end users. Pengguna yang jarang mengakses db namun menginginkan


informasi yang berbeda setiap saat. Biasanya menejer tingkat menengah dan
tinggi termasuk kategori ini.

b. Naive atau parametric end users. Pengguna yang secara konstan melakukan
berbagai macam operasi terhadap db. Operasi yang dilakukan berdasar operasi
yang sudah disediakan dan diprogram dengan baik yang disebut sebagai
canned transactions. Contohnya adalah teller bank, kasir.

c. Sophisticated end users. Pengguna ini adalah orang yang mengetahui cara
kerja DBMS, contoh: perekayasa, saintis, penganalisa bisnis.

d. Stand-alone users. Pengguna pribadi yang menggunakan program jadi siap


pakai yang biasanya memiliki menu dan GUI yang mudah. Contoh: adalah
para pencatat pajak yang membawa notebook sendiri untuk mencatat
penghasilan untuk diketahui berapa pajak yang harus dibayar.

4. Penganalisa Sistem & Pemrogram Aplikasi. Penganalisa sistem tugasnya (1)


mencari kebutuhan-kebutuhan/permintaan end users, terutama naive dan
parametric users, dan (2) menyusun canned transactions.
Pemrogram aplikasi mengimplementasikan spesifikasi di atas kedalam program
dan melakukan test, debug, dokumentasi, dan mengurus canned transactions.

PEKERJA DIBALIK LAYAR


Kelompok ini adalah orang-orang yang merancang dan membangun software dan
lingkungan sistem DBMS. Mereka umumnya tidak tertarik pada database itu sendiri.

1. Pendesain & Pembuat DBMS. Orang2 ini adalah perancang & pembuat DBMS
sehingga menjadi sebuah software.

2. Pembuat Tool. Tools adalah paket software yang membantu perancangan dan
penggunaan db serta membantu dalam meningkatkan unjuk kerja db. Tools

Modul Sistem Basisdata 5 Yoyok Adisetio Laksono


adalah paket opsional yang dibeli secara terpisah dari DBMS. Contoh: Power
Designer, Relational Rose, dll.

3. Operator & Pemelihara. Mereka adalah anak buah dari sistem administrasi
yang bertanggungjawab terhadap pemeliharaan jalannya software & hardware

TUJUAN PENGGUNAAN DBMS


Pada bagian ini akan dibahas tujuan penggunaan DBMS dan kemampuan yang harus
dimiliki oleh DBMS yang baik. AD harus mengatur kemampuan DBMS untuk
menyelesaikan berbagai masalah yang terkait dengan perancangan, pengaturan, dan
penggunaan multiuser dari database.

1. Mengendalikan Kerangkapan. Dalam model pemrograman pendekatan file,


setiap file berisi data yang diperlukan untuk menangani pemrosesan data. Dari
pendekatan ini dimungkinakan kerangkapan (redundancy) data yang sama pada
berbagai file yang terkait. Untuk mengatasi ini maka pada pendekatan db semua
item data yang memiliki logika yang sama diletakkan pada satu tempat sehingga
menjaga konsistensi dan menghemat ruang penyimpanan.

2. Membatasi Hak Akses. Pada penggunaan multi-user maka user tertentu tidak
boleh mengakses data milik user lain, misalnya bagian kepegawaian tidak boleh
mengakses data milik bagian keuangan. DBMS harus memiliki subsistem
keamanan dan otorisasi dengan membuat nama user beserta password dan hak
akses (read/write, atau read saja).

3. Menyediakan Antarmuka untuk Berbagai User. DBMS harus dapat


menyediakan antar muka untuk berbagai type user sesuai dengan keperluan dan
kemampuan user. Hal ini meliputi bahasa query untuk casual users, bahasa
pemrograman untuk programer, form dan kode perintah untuk parametric users,
dan menu dengan bahasa natural dari stand-alone users.

4. Menggambarkan Hubungan Antar Data. DBMS harus dapat menggambarkan


hubungan antar data yang mungkin sangat rumit. Dengan dapat dilihatnya
hubungan maka dapat diperoleh gambaran apakah hubungan yang ada sudah
efisien dan benar.

5. Menjaga Batasan Integritas. Db memiliki batasan integritas yang menetapkan


keharusan keberadaan suatu data. DBMS harus mampu mencegah penghapusan
data kunci yang dirujuk oleh data lain. Jika tidak dicegah maka perujuk akan
kehilangan rujukan data.

6. Menyediakan Cadangan & Penyelamatan Data. DBMS harus menyediakan


fasilitas untuk penyelamatan data dari kesalahan software & hardware. Subsistem
backup & recovery adalah yang bertanggung jawab untuk penyelamatan data.

Modul Sistem Basisdata 6 Yoyok Adisetio Laksono


IMPLIKASI PENDEKATAN DATABASE
Pendekatan db sangat membantu bagi organisasi pemakainya.

1. Menjaga Standarisasi. Dengan adanya sistem db maka akan mengubah pola


kerja organisasi. Format elemen data, format tampilan, struktur laporan dan
lainnya akan diatur berdasar aturan yang dibuat oleh AD.

2. Mengurangi Waktu Pembuatan Aplikasi. Dengan fasilitas DBMS maka


penyusunan aplikasi menjadi lebih cepat bila dibanding dengan pendekatan
tradisional.

3. Keluwesan. Jika ada perubahan struktur misalnya penambahan file atau field,
tidak akan mengganggu data yang lama.

4. Ketersediaan Informasi Terbaru. DBMS membuat database tersedia untuk


semua user. Segera setelah seorang user mengubah data maka segera semua user
dapat melihat perubahan.

5. Ekonomis. Pendekatan Db mengijinkan konsolidasi data dan aplikasi antar orang


yang berbeda departemen atau proyek sehingga organisasi dapat membeli alat-alat
yang lebih canggih daripada membeli terpisah untuk setiap departemen atau
proyek.

Modul Sistem Basisdata 7 Yoyok Adisetio Laksono


PERTEMUAN 3
KONSEP DAN SISTEM BASIS DATA
MODEL DATA, SKEMA, & INSTANCES
Salah satu karakteristik dasar dari pendekatan basisdata adalah penyediaan tingkat-
tingkat abstraksi data dengan menyembunyikan detil data yang tidak semuanya
diperlukan oleh user. Model data adalah satu kelompok konsep-konsep yang dapat
digunakan untuk mendeskripsikan struktur basisdata.

Yang dimaksud dengan struktur basisdata disini adalah type data, relasi, dan batasan
yang harus dipenuhi oleh data. Banyak model-model data yang juga memasukkan
operasi dasar yang dikhususkan untuk pengambilan dan update data. Selain itu juga
ada konsep behavior yang menunjuk pada satu set operasi buatan user.

KATEGORI MODEL DATA


Banyak model data yang diajukan. Model data ini dapat dibagi berdasar pada type
konsep yang diajukan untuk mendeskripsikan struktur basis data. Ada tiga kategori
model data berdasar type konsep, yaitu high-level (tingkat tinggi) atau model data
konseptual, low-level (tingkat bawah) atau model data fisikal, dan tingkat diantara
keduanya adalah tingkat representational (atau implementational).

Model data high-level menggunakan konsep-konsep seperti entitas, atribute, dan


relasi. Entitas menggambarkan obyek atau konsep dunia nyata, seperti pegawai atau
proyek. Atribut menggambarkan beberapa sifat yang penting yang menjelaskan
entitas lebih jauh. Relasi diantara dua atau lebih entitas dan interaksi diantara entitas;
sebagai contoh, pekerjaan yang menghubungkan antara entitas pegawai dan proyek.

Model data representational adalah salah satu model yang banyak digunakan dalam
DBMS komersial. Pada model ini data digambarkan dengan menggunakan struktur
record sehingga disebut sebagai model data basis-record.

Mode data fisikal menjelaskan bagaimana data disimpan di komputer dengan


menampilkan informasi seperti format record, urutan record, dan jalur akses.

SKEMA DAN INSTANCES


Pada semua model data penting sekali dibedakan antara deskripsi basis data dengan
basis data itu sendiri. Deskripsi basis data disebut sebagai skema basis data (database
schema) atau meta-data.

Skema basis data ditentukan selama desain basis data dan diharapkan tidak sering
berubah. Skema basis data biasanya digambarkan dalam bentuk diagram yang disebut
diagram skema.

Modul Sistem Basisdata 8 Yoyok Adisetio Laksono


Diagram skema hanya menjelaskan sedikit aspek dari skema, seperti nama type record
dan item data, dan beberapa type batasan. Aspek lain, seperti jenis data tidak
ditampilkan. Contoh Skema:

MAHASISWA

Nama NIM Kelas Jurusan

KULIAH

Matakuliah KodeMk SKS Jurusan

Data aktual dalam basis data bisa sering berubah. Data didalam basis data pada suatu
waktu disebut sebagai keadaan basis data (database state) atau satu set instances.

Perbedaan antara skema dan keadaan basis data sangat penting. Saat kita
mendefinisikan basis data baru, kita hanya membuat skema basis data ke DBMS.
Pada saat itu keadaan basis data adalah keadaan kosong tanpa data. Kita memperoleh
data awal saat data pertama disimpan.

DBMS bertanggung jawab untuk meyakinkan bahwa setiap keadaan dari basis data
adalah sah (valid), yaitu memenuhi struktur dan batasan yang dinyatakan dalam
skema.

Skema kadang-kadang disebut sebagai intesion dan keadaan basis data disebut
extension dari skema.

Modul Sistem Basisdata 9 Yoyok Adisetio Laksono


PERTEMUAN 4
ARSITEKTUR DBMS DAN KEBEBASAN DATA

Tiga sifat penting dari pendekatan basis data adalah (a) pemisahan program dan data,
(b) mendukung pandangan multi-user, dan (c) menyimpan katalog basis data (skema).

Pada bagian ini kita bahas tentang arsitektur sistem basis data yang disebut sebagai
arsitektur tiga-skema.

ARSITEKTUR TIGA-SKEMA
Tujuan dari arsitektur tiga-skema adalah memisah aplikasi user dengan fisik basis data.
Pada arsitektur ini skema dapat didefinisikan pada tiga tingkat berikut.

Internal level memiliki skema internal yang mendeskripsikan struktur penyimpanan


fisik dari basis data. Skema internal menggunakan mode data fisikal dan
mendeskripsikan detil lengkap dari penyimpanan data dan jalur akses untuk basis data.

Conceptual level memiliki skema konseptual yang mendeskripsikan struktur


keseluruhan basis data untuk suatu komunitas user. Skema konseptual
menyembunyikan detil fisik penyimpanan dan berkonsentrasi pada pendeskripsian
entitas, type data, relasi, operasi user, dan batasan (constraints). Model data tingkat
tinggi digunakan disini.

External level atau view level melingkupi sejumlah skema external atau user views.
Setiap skema eksternal mendeskripsikan bagian basis data yang diperlukan oleh
sekelompok user dan menyembunyikan seluruh basis data dari kelompok user tersebut.
Model data tingkat tinggi digunakan disini.

Tiga skema di atas hanyalah deskripsi dari data; hanya data yang benar-benar ada dalam
tingkat fisikal. Dalam arsitektur ini setiap user merujuk hanya pada skema miliknya.
DBMS akan mengubah data yang diambil dari fisikal ke eksternal agar cocok dengan
yang diminta oleh user. Proses mengubah permintaan dan hasil antar level disebut
mappings (pemetaan).

Modul Sistem Basisdata 10 Yoyok Adisetio Laksono


PENGGUNA AKHIR

TINGKAT PANDANGAN PANDANGAN


EKSTERNAL EKSTERNAL 1 EKSTERNAL n

PEMETAAN
EKSTERNAL/KONSEPTUAL

TINGKAT
SKEMA KONSEPTUAL
KONSEPTUAL

PEMETAAN
KONSEPTUAL/INTERNAL

TINGKAT INTERNAL SKEMA INTERNAL

PENYIMPANAN BASISDATA

KEBEBASAN DATA
Arsitektur tiga-skema dapat digunakan untuk mengkaji konsep kebebasan data, yaitu
kemampuan untuk mengubah skema pada satu level sistem basis data tanpa mengubah
skema pada level atasnya. Ada dua type kebebasan data.

Kebebasan data logikal adalah kemampuan untuk mengubah skema konseptual tanpa
mengubah skema eksternal atau program aplikasi.

Kebebasan data fisikal adalah kemampuan untuk mengubah skema internal tanpa
mengubah skema konseptual.

BAHASA BASISDATA & ANTARMUKA


Telah dibahas bagaimana DBMS mendukung berbagai macam user. DBMS harus
menyediakan suatu bahasa dan antarmuka untuk setiap kategori user.

BAHASA BASISDATA
Saat rancangan basisdata lengkap dan DBMS untuk implementasi basisdata dipilih,
langkah pertama adalah menentukan skema konseptual dan internal dan mapping.

Modul Sistem Basisdata 11 Yoyok Adisetio Laksono


Satu bahasa yang digunakan oleh AD dan perancang basisdata untuk mendefinisikan
kedua skema di atas disebut sebagai bahasa definisi data (data definition
language/DDL). DBMS memiliki compiler untuk DDL yang fungsinya adalah mengolah
statemen DDL untuk mengidentifikasi konstruksi skema dan meletakkannya dalam
katalog DBMS.

Pada DBMS dimana ada pemisahan secara jelas antara level konseptual dan internal,
DDL digunakan untuk membuat level konseptual saja. Bahasa lain, yaitu bahasa definisi
penyimpanan (storage definition language/SDL) digunakan untuk skema internal.
Mapping diantara dua skema bisa dilakukan pada salah satu dari kedua bahasa di atas.

Untuk penerapan lengkap dari arsitektur tiga-skema, diperlukan bahasa ketiga yaitu
bahasa definisi tampilan (view definition language/VDL) untuk menentukan pandangan
bagi user dan pemetaannya ke skema konseptual.

Setelah skema dicompile dan basisdata diisi dengan data, user harus memiliki kesamaan
cara memanipulasi data. Manipulasi yang umum adalah membaca, sisip, hapus, dan
perubahan basisdata. Untuk itu diperlukan bahasa manipulasi data (data manipulation
language/DML).

Ada dua jenis DML: (a) tingkat-tinggi atau nonprocedural DML yang digunakan untuk
menentukan operasi basisdata secara ringkas. Statemen2 tingkat-tinggi dapat
dimasukkan secara interaktif di terminal atau dengan menggabungnya dengan bahasa
pemrograman tingkat tinggi (Pascal, C).

(b) tingkat-bawah atau procedural DML harus digabung dengan bahasa pemrograman.
Umumnya type ini mengakses data per record. Oleh karena itu level ini disebut sebagai
DML satu-waktu-record (record-at-a-time).

Query dalam DML tingkat tinggi sering mengatakan data apa yang akan diakses
daripada bagaimana mengakses data. Perintah DML, baik tingkat tinggi atau bawah,
yang digabung dengan bahasa pemrograman disebut sebagai bahasa tuan rumah (host
language) sementara DML sendiri disebut sebagai bagian-bahasa data (data
sublanguage). DML tingkat tinggi yang digunakan secara stand-alone disebut sebagai
bahasa query (query language).

ANTARMUKA DBMS
Antarmuka berbasis-menu. Antarmuka ini berupa daftar pilihan yang disebut menu
yang menuntun user mengatur permintaan. Dengan menu maka user tidak perlu
menghafal perintah dan sintak dari bahasa query; query biasanya dilakukan dengan
mengambil pilihan dari daftar menu yang ditampilkan oleh system. Sering disebut
sebagai antarmuka browse yang mengijinkan user melihat isi basisdata secara tidak
terstruktur.

Antarmuka berbasis-grafik. Antarmuka ini umumnya menampilkan skema dalam


bentuk diagram. Qurey dilakukan dengan memanipulasi diagram.

Antarmuka berbasis-form. Antarmuka berupa form yang dapat diisi dengan data.
Antarmuka ini biasanya untuk naïve user.

Modul Sistem Basisdata 12 Yoyok Adisetio Laksono


Antarmuka bahasa ibu. Antarmuka menerima permintaan yang ditulis dalam bahasa
Inggris atau bahasa lain. Antarmuka ini biasanya setingkat di atas skema konseptual.

Antarmuka untuk Parametric Users. Parametric user, seperti teller bank, biasanya
memiliki satu himpunan operasi yang dilakukan secara terus menerus. Antarmuka
disusun sedemikian rupa sehingga meminimalkan penggunaan keyboard.

Antarmuka untuk AD. Beberapa DBMS memiliki perintah khusus yang hanya dapat
digunakan oleh staff AD. Perintah tersebut misalnya menciptakan akun (nama user dan
password), memberi hak akses (granting), mengubah skema, dan mengubah struktur
basisdata.

Modul Sistem Basisdata 13 Yoyok Adisetio Laksono


PERTEMUAN 5
PEMODELAN DATA MENGGUNAKAN MODEL ENTITY-
RELATIONSHIP

Pemodelan dengan model Entity-Relationship/Entitas-Relasi (ER) merupakan


pemodelan data konseptual. Pemodelan ini digunakan untuk merancang aplikasi
basisdata pada tingkat tinggi secara konseptual.

Gambar 3.1 menunjukkan fase-fase desain basisdata.

Miniworld

PENGUMPULAN
KEBUTUHAN DAN
ANALISA

Kebutuhan fungsional Kebutuhan basisdata

ANALISA DESAIN
FUNGSIONAL KONSEPTUAL

Spesifikasi Transaksi Skema konseptual


tingkat tinggi

Bebas DBMS
DESAIN LOGIKAL

DBMS tertentu

DESAIN PROGRAM Skema konseptual dalam


APLIKASI model spesifik suatu DBMS

DESAIN FISIKAL

IMPLEMENTASI
Skema internal
TRANSAKSI

Program Aplikasi

Gambar 3.1 Fase-fase Desain Basisdata.

Modul Sistem Basisdata 14 Yoyok Adisetio Laksono


KONSEP-KONSEP MODEL ER
Dalam model ER data dikelompokkan menjadi tiga, yaitu entitas, relasi, dan atribut.

Entitas adalah sesuatu dalam dunia nyata yang keberadaannnya bebas. Entitas bisa
berupa wujud fisik seperti seseorang, mobil, rumah, atau pegawai, atau berujud konsep
seperti perusahaan, pekerjaan, atau perkuliahan di universitas. Setiap entitas dijelaskan
melalui properti (sifat atau ciri) yang disebut atribut. Sebagai contoh, entitas pegawai
bisa dideskripsikan oleh nama, umur, alamat, gaji, dan pekerjaannya. Suatu entitas
memiliki nilai untuk setiap atribut. Nilai atribut inilah yang direkam kedalam
penyimpanan data dalam basisdata.

Sebagai contoh berikut ini adalah entitas pegawai dan nilai atributnya.

PEGAWAI
Nama Alamat Umur Telephone
Tessy Jl. Kembang 21, Jakarta 110000 55 031234123
Dessy Jl. Kerbau 456, Sukabumi 130987 30 029018736

JENIS-JENIS ATRIBUT
Atomik atau simple merupakan atribut yang bernilai tunggal dan tak dapat dipecah
lagi, contoh: atribut umur, tinggi badan.

Komposit (Composite) adalah atribut yang dapat dibagi dalam subbagian yang lebih
kecil, yaitu atribut atomik. Sebagai contoh atribut alamat seperti contoh di atas terdiri
dari nama jalan dan nomor rumah, nama kota, dan kode pos. Suatu atribut disebut
komposit atau atomik tergantung dari pengertian yang diinginkan terhadap atribut
tersebut. Sebagai contoh jika tidak diperlukan rujukan terhadap komponen individu
terhadap nama jalan, kota, dan kode pos maka atribut alamat di atas bisa dianggap
sebagai atomik. Tetapi jika kita menginginkan untuk merujuk pada kota dan kode pos
maka atribut alamat di atas merupakan atribut komposit. Atribut komposit biasanya
harus dipecah menjadi atribut-atribut yang lebih kecil sehingga untuk entitas pegawai
menjadi demikian.

PEGAWAI
Nama Alamat Kota Kode Pos TanggalLahir Telephone
Tessy Jl. Kembang Jakarta 110000 12/10/1975 031234123
21
Dessy Jl. Kerbau 456 Sukabumi 130987 30/01/1980 029018736

Nilaitunggal (Single valued) adalah atribut yang bernilai satu untuk satu entitas.
Contohnya adalah atribut tanggal lahir. Setiap entitas atau pegawai tanggal lahirnya
pasti satu.

Nilaijamak (Multivalued) adalah atribut yang nilainya lebih dari satu untuk satu entitas.
Contohnya adalah atribut pendidikan yang pernah ditempuh. Bagi mereka yang lulusan
Perguruan Tinggi paling tidak pernah menempuh pendidikan SD, SMP, SMU, dan
Sarjana, sehingga atribut ini memiliki nilai yang banyak.

Modul Sistem Basisdata 15 Yoyok Adisetio Laksono


Simpanan (Stored) adalah atribut yang mempengaruhi atau sebagai dasar mengisi nilai
atribut lain. Atribut lain tersebut adalah atribut Turunan (Derived). Jadi atribut turunan
adalah atribut yang diperoleh dari atribut simpanan.

Atribut Kunci (Key Attribute) merupakan atribut yang berfungsi sebagai pembeda antar
entitas satu dengan yang lain. Sebagai contoh atribut NIM merupakan atribut pembeda
antara mahasiswa yang satu dengan yang lain. Nilai atribut kunci harus unik tidak boleh
bernilai sama. Atribut kunci digunakan pula sebagai wakil suatu entitas saat direlasikan
dengan entitas lain. Atribut yang demikian dinamakan atribut utama (primary key).
Atribut lain adalah kunci parsial (partial key) yang dimiliki oleh entitas lemah.

KARDINALITAS/DERAJAD RELASI
Kardinalitas menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas
pada himpunan entitas yang lain. Hubungan antar entitas ada 3 macam, yaitu:

 Satu-satu (one-to-one), 1:1.


 Satu ke banyak (one to many), 1:N.
 Banyak ke Banyak (many to many), M:N.

Cara menentukan kardinalitas adalah dengan melihat hubungan dari masing-masing sisi
dalam bentuk 1:X, dimana 1 ditinjau dari sisi tertentu dan X bisa bernilai 1 atau N yang
ditentukan berdasar deskripsi yang diberikan saat tahap pengumpulan kebutuhan
sistem. Setelah diperoleh nilai kardinalitas pada masing-masing sisi maka keduanya
digabung dengan ketentuan:

1. Jika pada sisi yang sama terdapat kardinalitas Satu dengan Satu maka cukup ditulis
1.
2. Jika pada sisi yang sama terdapat kardinalitas Banyak dengan Satu atau sebaliknya
maka yang ditulis adalah N atau M.

Contoh 1: jika ada pernyataan bahwa mahasiswa boleh mengambil matakuliah lebih
dari satu dan satu matakuliah boleh diambil beberapa mahasiswa maka:

Dari sisi Mahasiswa:

Mahasiswa : Matakuliah = 1:N

Dari sisi Matakuliah

Mahasiswa : Matakuliah = N:1

Keduanya digabung:

Mahasiswa : Matakuliah = 1:N


Mahasiswa : Matakuliah = N:1

Mahasiswa : Matakuliah = N:N = M:N

Modul Sistem Basisdata 16 Yoyok Adisetio Laksono


Contoh 2: Jika ada pernyataan bahwa satu matakuliah diajar oleh hanya satu orang
dosen dan satu orang dosen boleh mengajar beberapa matakuliah maka:

Dari sisi Matakuliah:

Matakuliah : Dosen = 1:1

Dari sisi Dosen:

Dosen : Matakuliah = 1:N

Sehingga

Matakuliah : Dosen = 1:1


Matakuliah : Dosen = N:1

Matakuliah : Dosen = N:1

Kardinalitas boleh juga dinyatakan dalam bentuk yang presisi dengan menuliskan
secara tepat nilai kardinalitasnya. Sebagai contoh jika ada pernyataan bahwa setiap
mahasiswa hanya boleh meminjam maksimal 3 buku di perpustakaan maka kardinalitas
BUKU dan MAHASISWA adalah 3:N.

Modul Sistem Basisdata 17 Yoyok Adisetio Laksono


PERTEMUAN 6
DIAGRAM ER-MODEL
Berikut ini adalah symbol-simbol yang digunakan dalam model ER.

Entitas
Relasi

Atribut

Identifikasi
Atribut dengan Relasi
key

Sambungan Partisipasi
Total

Atribut Multivalued
Entitas
lemah

Atribut komposit
Atribut derived

E1 R E2 Partisipasi total E2 dalam R

1 1
E1 R E2 Kardinalitas 1:1

E1 1 R N E2 Kardinalitas 1:N

N 1
E1 R E2 Kardinalitas N:1

E1 M R N E2 Kardinalitas M:N

Entitas lemah (Weak Entity) adalah entitas yang tidak memiliki primary key tetapi
memiliki partial key yang merupakan himpunan atribut yang secara unik menyatakan
hubungan antara entitas lemah dengan entitas pemilik. Entitas lemah biasanya bersifat
partisipasi total terhadap entitas pemiliknya yang berarti bahwa jika tuple (record) di
entitas pemilik dihapus maka record yang bersesuaian di entitas lemah ikut lenyap.
Penghubung antara entitas lemah dengan entitas pemiliknya dinamakan identifikasi
relasi (Weak Relationship). Contoh hubungan yang demikian adalah hubungan antara
entitas pegawai dan keluarganya. Entitas pegawai merupakan pemilik entitas keluarga

Modul Sistem Basisdata 18 Yoyok Adisetio Laksono


dan partial keynya adalah atribut nama keluarga. Penentuan partisipasi total sangat
bergantung kepada pemahaman hubungan antar entitas yang biasanya diperoleh
setelah analisa kebutuhan sistem secara mendalam.

Tidak semua entitas yang bersifat partisipasi total adalah entitas lemah. Sebagai contoh
relasi antara penduduk dengan Surat Ijin Mengemudi (SIM). SIM bersifat partisipasi
total terhadap penduduk namun setiap SIM punya primary key Nomor SIM.

Type Derajad Relasi

Derajad relasi adalah jumlah entitas yang berpartisipasi dalam relasi. Sebagai contoh
relasi MENGAMBIL yang merelasikan dua entitas yaitu MAHASISWA dan MATAKULIAH
pada gambar di bawah ini type derajad relasinya adalah binary.

Kode
NIM
Matakuliah

MAHASISWA MENGAMBIL MATAKULIAH

Model ER berikut ini adalah type relasi ternary (tiga entitas berelasi).

Kode Kode
Jumlah
Supplier Proyek

PENYUPLAI SUPLAI PROYEK

Kode
Barang

BARANG

CONTOH LENGKAP MODEL ER: PERUSAHAAN


Pada bagian ini disajikan model ER bernama PERUSAHAAN yang merupakan contoh
bagi pembahasan tentang model ER lebih lanjut. Basisdata PERUSAHAAN mencatat
pegawai, divisi, dan proyek. Contoh disajikan dalam bentuk langkah-per-langkah
penyusunan model ER dari tahap awal.

1. Tahap pengumpulan kebutuhan sistem

Pada tahap ini pendesain basisdata memperoleh deskripsi dari “miniworld” sebagai
dasar pembentukan basisdata. Pengumpulan kebutuhan sistem bisa diperoleh melalui
wawancara atau form-form yang dipunyai oleh Perusahaan atau sumber lainnya.
Deskripsi haruslah disusun sedemikian rupa sehingga untuk satu item deskripsi hanya
menyangkut satu pengertian atau satu pokok pikiran yang penting.

Modul Sistem Basisdata 19 Yoyok Adisetio Laksono


Item-item deskripsi Perusahaan setelah pengumpulan kebutuhan sistem adalah sebagai
berikut.

1. Perusahaan dibagi menjadi divisi-divisi. Setiap divisi memiliki nama yang unik,
nomor yang unik, dan satu pegawai tertentu yang diangkat sebagai pimpinan divisi.
Kita juga mencatat sejak kapan pimpinan mulai bekerja pada divisi tersebut. Satu
divisi bisa memiliki beberapa lokasi.
2. Sebuah divisi mengendalikan sejumlah proyek. Masing-masing proyek memiliki
nama unik, nomor unik, dan satu lokasi dimana proyek dikerjakan. Setiap proyek
dikendalikan oleh satu divisi dan satu divisi bisa menangani beberapa proyek.
3. Data-data pegawai yang direkam adalah nama, NIP, alamat, tanggal lahir, jenis
kelamin, dan gaji. Setiap pegawai menjadi anggota pada satu divisi tetapi bisa
bekerja pada berbagai proyek. Setiap pegawai yang bekerja pada proyek dicatat jam
kerjanya. Setiap pegawai memiliki pembimbing yang juga pegawai.
4. Keluarga pegawai juga dicatat untuk keperluan asuransi. Data keluarga yang dicatat
adalah nama, jenis kelamin, tanggal lahir, dan hubungan.

2. Analisa domain

Pada tahap ini pendesain basisdata melakukan analisa untuk mengelompokkan data-
data berdasar deskripsi dalam kelompok-kelompok (domain) yang berkaitan. Pada
tahap ini harus mulai dikenali obyek mana yang bertindak sebagai entitas, relasi, dan
atribut. Entitas biasanya merupakan kata benda dan atribut merupakan penjelasan dari
kata benda yang terkait. Relasi biasanya berupa kata kerja yang mengkaitkan dua buah
entitas.

Untuk memudahkan analisa maka deskripsi di atas bisa diberi coretan pada kata-kata
yang termasuk pada salah satu kategori obyek model ER. Bila sebuah kata adalah entitas
maka diberi garis bawah dua, dan atribut diberi garis bawah satu. Relasi diberi garis
bawah bergelombang. Contoh: Pegawai, nama pegawai, dan pegawai bekerja pada divisi
tertentu. Dengan cara ini maka deskripsi di atas menjadi demikian.

1. Perusahaan dibagi menjadi divisi-divisi. Setiap divisi memiliki nama yang unik,
nomor yang unik, dan satu pegawai tertentu yang diangkat sebagai pimpinan divisi.
Kita juga mencatat sejak kapan pimpinan mulai bekerja pada divisi tersebut. Satu
divisi bisa memiliki beberapa lokasi.
2. Sebuah divisi mengendalikan sejumlah proyek. Masing-masing proyek memiliki
nama unik, nomor unik, dan satu lokasi dimana proyek dikerjakan. Setiap proyek
dikendalikan oleh satu divisi dan satu divisi bisa menangani beberapa proyek.
3. Data-data pegawai yang direkam adalah nama, NIP, alamat, tanggal lahir, jenis
kelamin, dan gaji. Setiap pegawai menjadi anggota pada satu divisi tetapi bisa
bekerja pada berbagai proyek. Setiap pegawai yang bekerja pada proyek dicatat jam
kerjanya. Setiap pegawai memiliki pembimbing yang juga pegawai.
4. Keluarga pegawai juga dicatat untuk keperluan asuransi. Data keluarga yang
dicatat adalah nama, jenis kelamin, tanggal lahir, dan hubungan dengan pegawai.

Dari coretan di atas maka kita peroleh domain entitas dan relasi sebagai berikut setelah
menyesuaikan atribut.

Domain Entitas dan Atributnya

DIVISI(Nama Divisi, Nomor Divisi, Tanggal Mulai Kerja, Lokasi Divisi)

Modul Sistem Basisdata 20 Yoyok Adisetio Laksono


PROYEK(Nama Proyek, Nomor Proyek, Lokasi Proyek)
PEGAWAI(Nama Pegawai, NIP, Alamat, Tanggal Lahir, Jenis Kelamin, Gaji)
KELUARGA(Nama Keluarga, Jenis Kelamin, Tanggal Lahir, Hubungan)

Domain Relasi dan Entitas yang Berelasi

PIMPINAN = PEGAWAI + DIVISI


MENGENDALIKAN = DIVISI + PROYEK
MENANGANI = DIVISI + PROYEK
ANGGOTA = PEGAWAI + DIVISI
BEKERJA PADA(Jam Kerja) = PEGAWAI + PROYEK
PEMBIMBING = PEGAWAI + PEGAWAI
HUBUNGAN KELUARGA = PEGAWAI + KELUARGA

3. Analisa Atribut

Dari analisa maka atribut Lokasi Divisi merupakan atribut Multivalued dan atribut lain
adalah atribut atomik. Sedangkan atribut yang bertindak sebagai primary key adalah
atribut yang diberi garis bawah seperti terlihat pada bagan di bawah ini. Pada tahap
penentuan atribut kunci dimungkinkan pula untuk memunculkan atribut baru yang
bertindak sebagai atribut kunci. Atribut Nama Keluarga merupakan atribut kunci
parsial.

DIVISI(Nama Divisi, Nomor Divisi, Tanggal Mulai Kerja, Lokasi Divisi)


PROYEK(Nama Proyek, Nomor Proyek, Lokasi Proyek)
PEGAWAI(Nama Pegawai, NIP, Alamat, Tanggal Lahir, Jenis Kelamin, Gaji)
KELUARGA(Nama Keluarga, Jenis Kelamin, Tanggal Lahir, Hubungan)

4. Penghalusan Analisa Domain

Pada tahap ini entitas atau relasi ditinjau kembali sehingga tidak ada relasi yang
redundan. Analisa terhadap Relasi MENGENDALIKAN dan MENANGANI ternyata
keduanya adalah hal yang sama sehingga relasi ini bisa diambil salah satu. Kita putuskan
mengambil relasi dengan nama MENGENDALIKAN.

5. Menentukan Kardinalitas Relasi

Dari analisa maka kardinalitasnya adalah sebagai berikut:

PIMPINAN = PEGAWAI + DIVISI => 1:1


MENGENDALIKAN = DIVISI + PROYEK => 1:N
ANGGOTA = PEGAWAI + DIVISI => N:1
BEKERJA PADA(Jam Kerja) = PEGAWAI + PROYEK => M:N
PEMBIMBING = PEGAWAI + PEGAWAI (pembimbing) => N:1
HUBUNGAN KELUARGA = PEGAWAI + KELUARGA => 1:N

Modul Sistem Basisdata 21 Yoyok Adisetio Laksono


6. Menggambar Model ER Non Weak

Pada tahap ini dibuat model ER tanpa perlu menuliskan entitas atau hubungan lemah.
Model ini sebenarnya sudah cukup digunakan sebagai model basisdata Perusahaan dan
sebagai dasar pembuatan skema basisdata. Pemetaan dari model ER ke skema basisdata
akan dibahas pada bagian tersendiri.

7. Menggambar Model ER Weak

Tahap ini merupakan tahap akhir desain dengan mengikutsertakan atribut weak, seperti
entitas dan relasi lemah, dan partisipasi total. Tahap ini bersifat opsional dan boleh
tidak dilakukan. Tahap ini dilakukan untuk lebih memperhalus model ER sehingga
diperoleh model yang mampu menjelaskan partisipasi masing-masing entitas dalam
suatu relasi.

Meskipun telah diperoleh model ER yang sudah lengkap dan mampu menggambarkan
relasi antar entitas namun analisa lebih lanjut harus dilakukan dengan
mengkonsultasikan model ini dengan user. Jika ini dilakukan dan user sudah merasa
puas dan membenarkan model ini maka langkah selanjutnya adalah membuat skema
basisdata.

Modul Sistem Basisdata 22 Yoyok Adisetio Laksono


Model ER non-Weak Perusahaan

Tanggal
Alamat
Nama Lahir Nomor Nama Tanggal
pegawai Divisi Divisi Mulai Kerja
Jenis
Kelamin
NIP
N 1
ANGGOTA
Lokasi
PEGAWAI DIVISI
Divisi
Gaji

PIMPINAN
1 1
MENGENDALIKAN
1 N
PEMBIMBING

1
N
M BEKERJA
HUBUNGAN PROYEK
PADA
KELUARGA

Jam Nomor Nama


Lokasi
Kerja Proyek Proyek
KELUARGA

Hubungan
Nama
Keluarga
Jenis Tanggal
Kelamin Lahir

Modul Sistem Basisdata 23 Yoyok Adisetio Laksono


Model ER Perusahaan

Tanggal
Alamat
Nama Lahir Nomor Nama Tanggal
pegawai Divisi Divisi Mulai Kerja
Jenis
Kelamin
NIP
N 1
ANGGOTA
Lokasi
PEGAWAI DIVISI
Divisi
Gaji

PIMPINAN
1 1
MENGENDALIKAN
1 N
PEMBIMBING

1
N
M BEKERJA
HUBUNGAN PROYEK
PADA
KELUARGA

Jam Nomor Nama


Lokasi
Kerja Proyek Proyek

KELUARGA

Hubungan

Nama Tanggal
Keluarga Jenis Lahir
Kelamin

Partisipasi total DIVISI dan PEGAWAI pada relasi ANGGOTA mengisyaratkan bahwa
setiap pegawai harus menjadi anggota suatu divisi, demikian pula sebaliknya jika ada
divisi baru maka harus ada pegawai yang bekerja pada divisi itu. Hal ini muncul dari
ketentuan dari perusahaan bahwa jika suatu divisi dibubarkan, misalnya ada
rasionalisasi, maka secara otomatis pegawai pada divisi tersebut akan dirumahkan
sehingga datanya dalam entitas PEGAWAI dihapus. Juga ketentuan perusahaan yang
menyatakan bahwa setiap pegawai sepanjang waktu dipekerjakan pada Divisi-divisi
yang telah ditentukan.

Partisipasi total lain adalah DIVISI dalam relasi PIMPINAN yang diperoleh dari
kenyataan bahwa setiap DIVISI harus memiliki pimpinan sepanjang waktu. Dalam relasi
ini pegawai tidak berpartisipasi secara total karena tidak setiap pegawai harus menjadi
pimpinan dalam satu waktu.

Cobalah menganalisa partisipasi lain yang terdapat dalam model ER Perusahaan di atas.

Modul Sistem Basisdata 24 Yoyok Adisetio Laksono


PERTEMUAN 7
PEMETAAN DARI MODEL ER KE SKEMA BASISDATA

Setelah memperoleh model ER yang sudah solid maka proses selanjutnya membuat
skema basisdata berdasar model yang telah dibuat. Berikut ini petunjuk yang bisa
digunakan untuk memetakan model ER ke skema basisdata berupa tabel-tabel yang
saling berelasi.

Langkah 1: Untuk setiap entitas reguler E (non-weak), buatlah skema tabel yang
mengikutkan semua atribut atomik dari E. Untuk atribut komposit maka pecahlah
atribut ini menjadi sub-atribut sehingga tercipta atribut yang atomik. Contoh atribut
alamat bisa dipecah menjadi atribut Alamat, Kota, dan Kode Pos. Pilih salah satu atribut
dari E sebagai primary key dari skema tabel. Jika kunci yang dipilih ternyata atribut
komposit maka himpunan atribut atomik yang membentuk atribut komposit tersebut
bersama-sama menjadi primary key dari skema tabel. Atribut multivalued dan turunan
tidak dituliskan dalam skema tabel. Untuk model ER non-weak maka semua entitas
dianggap entitas kuat sehingga semua entitas diubah ke skema basisdata.

Contoh:
Untuk entitas E adalah PEGAWAI dan skema tabel juga diberi nama PEGAWAI
(umumnya nama skema tabel sama dengan nama entitas E dalam model ER) maka
diperoleh skema basisdata sebagai berikut.

PEGAWAI

NIP Nama Pegawai Alamat Tanggal Lahir Jenis Kelamin Gaji

Untuk entitas lain dengan cara yang sama diperoleh:

DIVISI

Nomor Divisi Nama Divisi Tanggal Mulai Kerja

PROYEK

Nomor
Nama Proyek Lokasi
Proyek

Langkah 2: Untuk setiap entitas lemah W dalam model ER dengan pemilik adalah
entitas E, ciptakan skema tabel dengan memasukkan semua atribut atomik dari W
sebagai atribut skema tabel. Selanjutnya masukkan primary key dari E sebagai kunci
tamu di skema tabel. Kunci tamu ini bertindak sebagai pengidentifikasi relasi. Langkah
ini tidak dilakukan untuk model ER non-weak.

Modul Sistem Basisdata 25 Yoyok Adisetio Laksono


Sebagai contoh kita buat skema relasi KELUARGA dari entitas lemah KELUARGA dan
memasukkan primary key PEGAWAI kedalam skema relasi sehingga diperoleh:

KELUARGA

NIP Nama Keluarga Jenis Kelamin Tanggal Lahir Hubungan

Sekarang primary key dari KELUARGA adalah kombinasi dari {NIP, Nama Keluarga}.
Catatan yang harus diberikan disini adalah bahwa Nama keluarga untuk satu pegawai
tidak boleh sama. Kunci tamu diberi garis bawah ganda.

Langkah 3: Untuk setiap kardinalitas 1:1 dalam model ER tentukan entitas mana yang
berpartisipasi total dan jadikan primary key dari entitas yang tidak berpartisipasi total
menjadi foreign key (kunci tamu) dalam entitas yang berpartisipasi total. Untuk model
ER non-weak maka analisanya sama, yaitu carilah salah satu entitas yang sangat
bergantung (berpartisipasi total) terhadap relasi.

Pada model ER kita terdapat kardinalitas 1:1 pada relasi PIMPINAN yang
menghubungkan entitas PEGAWAI dengan DIVISI. Karena entitas DIVISI berpartisipasi
total maka primary key PEGAWAI menjadi kunci tamu bagi entitas DIVISI. Skema relasi
DIVISI setelah menyesuaikan nama kunci tamu menjadi NIP Pimpinan adalah sebagai
berikut.

DIVISI

Nomor Divisi Nama Divisi NIP Pimpinan Tanggal Mulai Kerja

Langkah 4: Untuk relasi kuat dengan kardinalitas 1:N, maka primary key entitas dari
sisi 1 menjadi kunci tamu bagi entitas sisi N.

Pada model ER kita tampak bahwa relasi ANGGOTA, MENGENDALIKAN, dan


PEMBIMBING memiliki kardinalitas yang demikian dan berdasar langkah ini maka
diperoleh skema tabel:

PEGAWAI

NIP Nama Pegawai Alamat Tanggal Lahir Jenis Kelamin Gaji Nomor Divisi NIP Pembimbing

PROYEK

Nomor
Nama Proyek Lokasi Nomor Divisi
Proyek

Langkah 5: Untuk setiap relasi yang memiliki kardinalitas M:N maka diciptakan skema
tabel yang baru S dan semua primary key dari entitas yang berpartisipasi merupakan
kunci tamu di S. Masukkan juga atribut atomik yang merupakan atribut relasi jika ada.

Modul Sistem Basisdata 26 Yoyok Adisetio Laksono


Pada model ER Perusahaan relasi yang memiliki kardinalitas M:N adalah relasi BEKERJA
PADA, dan berdasar langkah ini dibuat skema relasi bernama sama sebagai berikut:

BEKERJA PADA

NIP Nomor Proyek Jam Kerja

Primary key dari skema BEKERJA PADA sekarang adalah kombinasi foreign key {NIP,
Nomor Proyek}.

Langkah 6: Untuk setiap atribut multivalued, ciptakan skema tabel baru dengan atribut
adalah atribut multivalued tersebut dengan primary key dari entitas dimana atribut
multivalued ini berasal.

Dalam model ER Perusahaan atribut multivalued adalah Lokasi Divisi sehingga


dibuatkan skema relasi bernama LOKASI DIVISI dengan struktur sebagai berikut:

LOKASI DIVISI

Nomor Divisi Lokasi Divisi

Sekarang kita telah memiliki skema basisdata yang komplit yang merupakan skema
konseptual yang nantinya dipetakan kedalam skema internal melalui DBMS tertentu.
Untuk pemetaan ini diperlukan Kamus Data yang akan menjelaskan secara rinci type
data dari masing-masing atribut. Pada bagian ini disajikan kembali skema basisdata
perusahaan.

Modul Sistem Basisdata 27 Yoyok Adisetio Laksono


SKEMA RELASI BASISDATA PERUSAHAAN

PEGAWAI
NIP Alamat
Nama Pegawai Tanggal Lahir Jenis Kelamin Gaji Nomor Divisi NIP Pembimbing

DIVISI
Nomor Divisi Nama Divisi NIP Pimpinan Tanggal Mulai Kerja

LOKASI DIVISI
Nomor Divisi Lokasi Divisi

PROYEK
Nomor
Nama Proyek Lokasi Nomor Divisi
Proyek

BEKERJA PADA
NIP Nomor Proyek Jam Kerja

KELUARGA
NIP Nama Keluarga Jenis Kelamin Tanggal Lahir Hubungan

Pada saat skema ini diimplementasikan ke suatu DBMS maka bisa terjadi penyesuaian
sesuai dengan karakteristik DBMS. Sebagai contoh pada skema BEKERJA PADA yang
memiliki primary key komposit berupa gabungan dari atribut NIP dan NomorProyek
tidak dapat dilakukan pada MsAccess karena MSAccess hanya mengenal primary key
atomic. Untuk itu perlu diciptakan atribut atomic baru yang berfungsi sebagai primary
key pengganti sehingga skema untuk table BEKERJA PADA bisa diganti dengan skema
berikut ini.

BEKERJA PADA
Nomor
ID NIP Jam Kerja
Proyek

Atribut primary key ID berfungsi sebagai pengganti primary key komposit NIP dan
NomorProyek.

Modul Sistem Basisdata 28 Yoyok Adisetio Laksono


PERTEMUAN 8
BAHASA SQL
PERTEMUAN 9
BAHASA SQL
PERTEMUN 10
BAHASA SQL
PERTEMUAN 11
BAHASA SQL

Modul Sistem Basisdata 29 Yoyok Adisetio Laksono

Anda mungkin juga menyukai