Anda di halaman 1dari 102

Scanned by CamScanner

Scanned by CamScanner
KATA PENGANTAR
Puji dan syukur penulis panjatkan ke hadirat Tuhan yang Maha Esa atas limpahan
rahmat dan karunia-Nya, sehingga buku ini dapat penulis selesaikan.
Buku ini disusun untuk membantu pembaca khususnya para mahasiswa yang
mengikuti mata kuliah Sistem Basis Data atau Perancangan Basis Data jenjang Diploma
maupun Sarjana.
Penulis berharap pembaca akan memiliki pengetahuan tentang konsep-konsep basis
data dan dasar perancangan basis data ( database ) setelah membaca buku ini. Buku ini juga
memberikan tuntunan praktis sehingga dapat membantu siapa saja yang ingin memahami,
merancang, dan bahkan mengimplementasikan dasar basis data.
Berbagai upaya telah penulis lakukan untuk mencapai hasil maksimal. Namun
demikian, penulis menyadari masih banyak kedangkalan dan kekurangan. Oleh karena itu
penulis menerima tegur, sapa, kritik dan saran dari pembaca.

Bandung, September 2012


Penulis
DAFTAR ISI

KATA PENGANTAR ............................................................................................................ i


DAFTAR ISI ........................................................................................................................... ii

BAB I KONSEP DASAR BASIS DATA .............................................................................. 1


1.1 Pendahuluan ........................................................................................................... 1
1.2 Definisi Basis data .................................................................................................. 2
1.3 Tujuan Basis Data .................................................................................................. 3
1.4 Manfaat / Kelebihan Basis Data ............................................................................. 4

BAB II SISTEM BASIS DATA ............................................................................................ 8


2.1 Konsep Basis Data Dan Sistem Basis Data............................................................ 8
2.2 Komponen Sistem Basis data ................................................................................. 11
2.3 Abstraksi Data ........................................................................................................ 12
2.4 Model-model Data ................................................................................................. 13
. 2.5 Struktur Data .......................................................................................................... 18
2.6 Elemen-elemen Basis Data .................................................................................... 22
2.7 Sistem Manajemen Basis Data ............................................................................... 23

BAB III PERANCANGAN BASIS DATA ........................................................................... 25


3.1 Proses Perancangan Basis Data .............................................................................. 25
3.2 Cara Kerja DBMS .................................................................................................. 25
3.3 Unsur-unsur DBMS ............................................................................................... 26
3.4 Administrasi Basis Data ......................................................................................... 27
3.5 Pengembangan Sistem Basis Data ......................................................................... 28
3.6 Tahap-tahap Pengembangan Sistem Basis Data .................................................... 31
3.7 Beberapa Alat Bantu Dalam Pengembangan Basis Data ....................................... 34
3.8 Pengelolaan Sistem Basis Data Dalam Sistem Informasi Manajemen .................. 36
3.9 Sistem Basis Data sebagai Infrastruktur SIM ........................................................ 37
3.10 Sistem Basis Data Sebagai Sumber Informasi Bagi SIM .................................... 38
3.11 Sistem Basis Data Sebagai Sarana Efisiensi dan Efektifitas SIM........................ 42

BAB IV MODEL DATA RELATIONAL DAN ALJABAR RELATIONAL .................. 44


4.1 Konsep-konsep Model Relational .......................................................................... 44
4.1.1 Domain,Tuple,Attrubute dan Relasi............................................................. 44
4.2 Constraits Untuk Model Data Relational ............................................................... 45
4.3 Operasi-operasi Update ada Relasi ........................................................................ 48
4.3.1 Operasi Insert ............................................................................................... 48
4.3.2 Operasi Delete .............................................................................................. 48
4.3.3 Operasi Modify ............................................................................................ 49
4.4 Mendefinisikan Relasi............................................................................................ 49
4.5 Algoritma Pemetaam ke Skema Relational............................................................ 50

BAB V ENTITAS RELATIONSHIP DIAGRAM (ERD) .................................................. 55


5.1 Penyajian Data Dengan Menggunakan Entity dan Relationship ........................... 55
5.2 Transformasi dari ERD ke Database Relational .................................................... 62

BAB VI TEKNIK NORMALISAIS DALAM PERANCANGAN BASIS DATA


RELATIONAL .............................................................................................................. 63
6.1 Pendahuluan............................................................................................................. 63
6.2 Model konseptuan Basis data .................................................................................. 64
6.3 Field (Atribut) Kunci ............................................................................................... 64
6.3.1 Jenis Atribut Pada Entitas ............................................................................ 64
6.3.2 Keberganungan Fungsi ................................................................................. 66
6.4 Teknik Normalisasi.................................................................................................. 66
6.5 Tahapan Normalisasi ............................................................................................... 67
6.6 penerapan Bentuk Normalisasi ................................................................................ 71

BAB VII PENGANTAR STRUCTURE QUERY LANGUANGE .................................... 77


7.1 Komonen-komponen SQL....................................................................................... 77
7.1.1 Data Definition Languange .......................................................................... 78
7.1.2 DataManipulation Language ........................................................................ 82
7.1.3 Data Control Language ................................................................................ 91
BAB I
KONSEP DASAR BASIS DATA

1.1 PENDAHULUAN
Pemrosesan basis data sebagai perangkat andalan sangat diperlukan oleh
berbagai institusi dan perusahaan. Dalam pengembangan sstem informasi
diperlukan basis data sebagai media penyimpanan data. Kehadiran basis data
dapat meningkatkan Daya saing perusahaan tersebut. Basis data dapat
mempercepat upaya pelayanan kepada pelanggan, menghasilkan informasi dengan
cepat dan tepat sehingga membantu pengambilan keputusan untuk segera
memutuskan suatu masalah berdasarkan informasi yang ada.
Banyak aplikasi yang dibuat dengan berlandaskan pada basis data antara
lain: semua transaksi perbankan, aplikasi pemesanan dan penjadwalan
penerbangan, proses regristasi dan pencatatan data mahasiswa pada perguruan
tinggi, aplikasi pemrosesan penjualan, pembelian dan pencatatan data barang pada
perusahaan dagang, pencatatan data pegawai beerta aktivitasnya termasuk operasi
penggajian pada suatu perusahaan, dan sebagainya.
Beberapa informasi pada perusahaan retail seperti jumlah penjualan,
mencari jumlah stok penjualan, mencari jumlah stok yang tersedia, barang apa
yang paling lakudijual pada bulan ini, dan berapa laba bersih perusahaan dapat
diketahui dengan mudah dengan basis data. Pada perpustakaan, adanya aplikasi
pencarian data buku berdasarkan judul, pengarang atau kriteria lain dapat mudah
dilakukan dengan basis data. Pencarian data peminjam yang terlambat
mengembalikan juga mudah dilakukan sehingga bisa dibuat aplikasi pembuatan
surat berdasarkan informasi yang tersedia.
Dengan memanfaatkan teknologi jaringan, kemampuan basis data dapat
dapat dioptimalkan. Misalnya transaksi antar cabangpada sebuah perbankan
secara online. Begitu banyak yang dapat diperoleh dengan pemanfaatan basis
data. Basis data dapat meningkatkan daya guna perangkat komputer yang
Pengantar Basis Data 2

mungkin tadinya hanya untuk keperluan game atau pengetikan dengan aplikasi
office.

1.2 DEFINISI BASIS DATA


Basis data adalah kumpulan data yang saling berelasi. Data sendiri
merupakan fakta mengenai obyek, orang, dan lain-lain. Data dinyatakan dengan
nilai (angka,deretan karakter, atau simbol). Basis data dapat didefinisikan dalam
berbagai sudut pandang seperti berikut:
1. Himpunan kelompok data yang saling berhubungan yang diorganisasikan
sedemikian rupa sehingga kelak dapat dimanfaatkan dengan cepat dan mudah.
2. Kumpulan data yang saling berhubungan yang disimpan secara bersama
sedemikian rupa tanpa pengulangan (redudancy) yang tidak perlu, untuk
memenuhi kebutuhan.
3. Kumpulan file/table/arsip yang saling berhubungan yang disimpan dalam
media penyimpanan elektronik.

1.3 TUJUAN BASIS DATA


Basis data bertujuan untuk mengatur data sehingga diperoleh kemudahan,
ketepatan, dan kecepatan dalam pengambilan kembali. Untuk mencapai tujuan,
syarat sebuah basis data yang baik adalah sebagai berikut;
1. Tujuan adanya redudansi dan inkonsistensi data
Redudansi terjadi jika suatu informasi disimpan di beberapa tempat.
Misalnya, ada data mahasiswa yang memuat NIM, nama, alamat, dan atribut
lainnya, sementara kita punya data lain tentang data KHS mahasiswa yang
isinya yang terdapat NIM, nama, mata kuliah, dan nilai.
2. Kesulitan Pengaksesan Data
Basis data memiliki fasilitas untuk melakukan pencarian informasi dengan
menggunakan Query ataupun dari tool untuk melihat tabelnya. Dengan
fasilitas ini. Kita bisa secara langsung melihat data dari software DBMS-nya.
Pengantar Basis Data 3

Selain itu, basis data bisa dihubungkan dengan program aplikasi sehingga
memudahkan pengguna dalam mengakses informasi. Misalnya program
aplikasi untuk kasir yang terhubung dengan basis data, pengguna cukup
menggunakan fasilitas pencarian ataupun laporan. Yang tersedia pada
program aplikasi untuk mendapatkan informasi stok, laporan penjualan, dan
lain-lain. Dalam basis data, informasi yang diperolah dari kumpulan data bisa
berupa keseluruhan data, sebagai data, data dengan filter tertentu, data yang
terurut, ataupun data summary.

Sebagai contoh sederhana ketika kita ingin mencatat data alamat dan
telepon dari kolega kita. Sebagai orang akan menggunakan buku alamat.
Metode pencatat dilakukan dilakukan dengan menuliskan data setelah catatan
terakhir. Ketika kita menginginkan informasi alamat seseorang kita akan
mencari karena informasi yang tersaji tidak terurut. Ada juga orang mencatat
dengan mengelompokkan nama berdasarkan abjad. Hal ini akan lebih
mempermudah pencarian karena kita tidak perlu membaca keseluruhan data,
tetapi cukup dalam satu kelompok saja. Tapi masalah baru muncul ketika
jumlah data untuk sekelompokan data abjad tertentu telalu banyak sedangkan
kelompok abjad yang lain masih terlalu sedikit. Dalam metode ini, ada
banyak ruang tidak terpakai jika memberikan ruang yang sama untuk setiap
kelompok. Dalam hal pencarian, kesulitan akan kita temui ketika informasi
yang kita ingin cari dengan kata kunci sebagian namanya. Misalnya kita akan
mencari alamat Edi, sementara yang tercatat dalam buku catatan adalah Redi.
Tentu saja kita tidak akan dapat menemukannya dalam kelompok data
dengan huruf depan A selain itu, tidak selamanya kata kunci yang diketahui
adalah dari nama, tetapi bisa saja yang diketahui adalah nomer teleponnya,
sedangkan yang ingin kita cari adalah alamat dan namanya. Hal ini
merupakan masalah baru dari pencatatan data dengan buku. Basis data bisa
memberikan solusi terhadap permasalahan-permasalahan tersebut diatas.
Pengantar Basis Data 4

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

1.4 MANFAAT / KELEBIHAN BASIS DATA


Banyak memanfaat yang dapat kira peroleh dengan menggunakan basis
data. Manfaat/kelebihan basis data diantaranya adalah:
1. Kecepatan dan kemudahan (speed)
Dengan menggunakan basis data pengambilan informasi dapat dilakukan
dengan cepat dan mudah. Basis data memiliki kemampuan dalam
mengelompokan, mengurutkan bahkan perhitungan dengan metematika.
Dengan perancangan yang benar, maka penyajian informasi akan dapat
dilakukan dengan cepat dan mudah.
2. Kebersamaan pemakai
Sebuah basis data dapat digunakan oleh banyak user san banyak aplikasi.
Untuk data-data yang diperlukan oleh banyak orang/bagian. Tidak perlu
dilakukan pencatatan dimasing-masing bagian, tetapi cukup dengan satu basis
data untuk dipakai bersama. Misalnya data mahasiswa dalam suatu perguruan
tinggi, dibutuhkan oleh banyak bagian, diantaranya: bagian akademik, bagian
Pengantar Basis Data 5

keuangan, bagian kemahasiswaan, dan perpustakaan. Tidak harus semua


bagian ini memiliki catatan dan semua bagian bisa mengakses data tersebut
sesuai dengan keperluannya.
3. Pemusatan control data
Karena cukup dengan satu basis data unutk banyak keperluan, pengontrolan
terhadap data juga cukup dilakuan di satu tempat saja. Jika ada perubahan data
alamat mahasiswa misalnya, maka tidak perlu kita meng-update semua data
dimasing-masing bagian tetapi cukup hanya disatu basis data.
4. Efesiensi ruang penyimpanan (space)
Dengan pemakain bersama, kita tidak perlu menyediakan tempat penyimpanan
diberbagai tempat, tetapi cukup satu saja sehingga ini akan menghemat ruang
penyimpanan data yang dimilikioleh sebuah organisasi. Dengan teknik
perancangan basis data yang benar, kita akan menyederhanakan penyimpanan
sehingga tidak semua data harus disimpan.
5. Keakuratan (accuracy)
Penerapan secara ketat aturan tipe data, domain data, keunikan data, hubungan
antara data, dan lain-lain, dapat menekan keakuratan dalam
pemasukan/penyimpanan data.
6. Ketersediaan (availability)
Dengan basis data kita dapat mem-backup data, memilah-milah data mana
yang masih diperlukan dan data mana yang perlu kita simpan ke tempat lain.
Hal ini mengingat pertumbuhan transaksi suatu organisasi dari waktu ke
waktu membutuhkan media penyimpanan yang semakin besar.
7. Keamanan (Security)
Kebanyakan DBMS dilengkapi dengan fasilitas manajemen pengguna
diberikan hak akses yang berbeda-beda sesuai dengan pengguna dan
posisinya. Basis data bisa diberikan passwordnya untuk membatasi orang yang
mengaksesnya.
Pengantar Basis Data 6

8. Kemudahan dalam pembuatan program aplikasi baru


Pengguna basis data merupakan bagian dari perkembangan teknologi. Dengan
adanya basis data pembuatan aplikasi bisa memanfaatkan kemampuan dari
DBMS, sehingga pembuatan aplikasi tidak perlu mengurusi penyimpanan
data, tetapi cukup mengatur interface untuk pengguna.
9. Pemakain secara langsung
Basis data memiliki fasilitas untuk melihat datanya secara langsung dengan
tool yang disediakan oleh DBMS. Untuk melihat data, langsung ke table
ataupun menggunakan query. Biasanya yang menggunakan fasilitas ini adalah
user yang sudah ahli, atau database administrator.
10. Kebebasan data (Data Independence)
Jika sebuah program telah selesai dibuat, dan ternyata ada perubahan
isi/struktur data. Maka dengan basis data, perubahan ini hanya perlu dilakukan
pada level DBMS tanpa harus membongkar kembali program aplikasinya.
11. User view
Basis data penyediaan pandangan yang berbeda-beda untuk tiap-tiap
pengguna. Misalnya kita memiliki data-data dari perusahaan yang bergerak
dibidang retail. Data yang ada berupa data barang, penjualan, dan pembelian.
Ada beberapa jenis pengguna yang memerlukan informasi terkait dengan data
perusahaan tresebut. Mereka adalah pelanggan, kasir, bagian gudang, bagian
akuntansi dan manajer. Tidak semua data boleh diakses oleh semua pengguna.
Misalnya kasir dia hanya boleh berhak melihat informasi nama barang dan
harga jualnya. Sementara itu dia berhak untuk memasukan data penjualan .
berbeda dengan pelanggan yang hanya melihat data keberadaan barang dan
harga jual tetapi tidak berhak memasukkan atau merubah data. Sementara itu
bagian akuntansi berhak melihat keuntungan dari tiap-tiap barang untuk
menganalisa data akuntansinya. Basis data mampu memberikan layanan
organisasi seperti ini.
Pengantar Basis Data 7

BAB II
SISTEM BASIS DATA

Sistem basis data merupakan salah satu elemen penyusun yang sangat
penting dalam menunjang keberhasilan sistem informasi manajemen. Semakin
lengkap, akurat dan mudah dalam menampilkan kembali data yang termuat dalam
sistem basis data maka akan semakin meningkatkan kualitas sistem informasi
manajemen tersebut.
Basis data (database) memiliki peran yang sangat penting dalam
perusahaan. Informasi dapat diperoleh dengan cepat berkat data yang
mendasarinya telah disimpan dalam basis data. Sebagai contoh, mekanisme
pengambilan uang pada mesin ATM sesungguhnya didasarkan pada pengambilan
keputusan yang didasarkan pada basis data. Pertama, sistem akan memvalidasi
keabsahan pemilik kartu dengan memeriksa password yang diberikan oleh orang
tersebut. Dalam hal ini, password yang diketikkan akan dicocokkan dengan
password pada basis data. Jika sama, langkah berikutnya akan dilaksanakan,
yaitu memeriksa saldo uang yang tercatat di basis data terhadap jumlah uang yang
diambil. Jika memenuhi syarat, uang akan dikeluarkan oleh mesin.

2.1 Konsep Basis Data Dan Sistem Basis Data


Basis data adalah suatu kumpulan data terhubung yang disimpan secara
bersama-sama pada suatu media, yang diorganisasikan berdasarkan sebuah skema
atau struktur tertentu, dan dengan software untuk melakukan manipulasi untuk
kegunaan tertentu.
Dari pengertian tersebut dapat disimpulkan bahwa basis data (database )
mempunyai beberapa kriteria penting, yaitu :
a. Bersifat data oriented dan bukan program oriented.
b. Dapat digunakan oleh beberapa program aplikasi tanpa perlu mengubah basis
datanya.
Pengantar Basis Data 8

c. Dapat berkembang dengan mudah, baik volume maupun strukturnya.


d. Dapat memenuhi kebutuhan sistem-sistem baru secara mudah.
e. Dapat digunakan dengan cara-cara yang berbeda.

Dari beberapa kriteria tersebut, nampak adanya perbedaan secara nyata


antara file yang berbasis data dan file konvensional yang lebih bersifat program
oriented, yaitu hanya dapat digunakan oleh satu program aplikasi, hanya
berhubungan dengan suatu persoalan tertentu untuk sistem yang direncanakan ,
perkembangan data hanya mungkin terjadi hanya pada volume data saja,
kerangkapan data tidak terkontrol.
Pemanfaatan basis data :
a. Sebagai salah satu komponen penting dalam sistem informasi, karena
merupakan dasar dalam menyediakan informasi.
b. Menentukan kualitas informasi : akurat, tepat waktu dan relevan.
c. Mengurangi duplikasi data (data redundancy).
d. Hubungan data dapat ditingkatkan.
e. Manipulasi terhadap data dengan cepat dan mudah.
f. Efisiensi penggunaan ruang penyimpanan.
Selanjutnya sistem basis data merupakan sekumpulan basis data dengan
para pemakai yang menggunakan basis data secara bersama-sama. Personal-
personal yang merancang dan mengelola basis data serta sistem komputer untuk
mendukungnya. Dengan demikian sistem basis data mempunyai beberapa
elemen penting yaitu basis data sebagai inti dari sistem basis data, perangkat
lunak untuk mengelola basis data , perangkat keras sebagai pendukung operasi,
pengolahan data, serta manusia yang mempunyai peranan penting dalam
sistem tersebut.
Terdapat beberapa hal yang harus dipatuhi pada file basis data agar dapat
memenuhi kriteria sebagai suatu basis data, yaitu hal-hal berhubungan dengan
masalah kerangkapan data (data redudancy), inkonsistensi data (data
inconsistency), data terisolasi, keamanan data dan integritas data.
Pengantar Basis Data 9

a. Data Redudancy, yaitu penyimpanan item data yang sama lebih dari satu
lokasi fisik. Umumnya suatu data tertentu hanya disimpan pada satu file
tetapi dapat dihubungkan dengan data pada file yang lain. Kerangkapan
data perlu dihindari dalam penyusunan file database karena akan
mengakibatkan pemborosan penggunaan media penyimpan dan
memungkinkan terjadinya ketidak konsistenan data.
b. Data Inconsistency, yaitu munculnya data yang tidak konsisten pada area
yang sama untuk beberapa file dengan kunci yang sama. Ketidak
konsistenan ini mungkin terjadi akibat kesalahan dalam pemasukan data
(data entry), yaitu proses meng-upate data, tetapi akibatnya muncul data
yang tidak konsisten.
c. Data Terisolasi, hal ini disebabkan oleh pemakian beberapa file basis data.
Program aplikasi yang digunakan tidak dapat mengakses file tertentu
dalam sistem basis data tersebut. Data terisolasi ini harus dihindari karena
akan mengakibatkan data atau informasi yang dihailkan kurang lrngkap atau
kurang akurat.
d. Security Problem, hal ini berhubungan dengan masalah keamanan data
dalam sistem basis data. Pada prinsipnya file basis data hanya boleh
digunakan oleh pemakai tertentu yang mempunyai wewenang untuk
mengaksesnya. Pembatasan ini dikendalikan secara intern dalam program
aplikasi yang digunakan. Teknik yang bisa digunakan adalah dengan
pemakaian password, baik pada awal proses maupun password berlapis yang
diberikan pada awal setiap proses. Sedangkan untuk melindungi data dari
kerusakan biasanya dapat dibuat back up data.
e. Integrity Problem, hal ini berhubungan dengan unjuk kerja sistem agar
dapat melakukan kendali pada semua bagian sistem sehingga sistem selalu
beroperasi dalam pengendalian yang penuh.
Pengantar Basis Data 10

2.2 Komponen Sistem Basis Data

Komponen-komponen pada sebuah sistem basis data antara lain:


a. Perangkat keras yaitu berupa komputer dan komponen didalamnya antara
lain prosesor, harddisk dan memori.
b. Sistem operasi yaitu program yang mengaktifkan sistem komputer dan
melakukan operasi-operasi dasar dalam komputer.
c. Basis data, data didalamnya mengandung sistem terpadu dan berbagi.
d. DBMS (Database Management System) yaitu perangkat lunak yang
menangani pengelolaan basis data secara fisik.
e. Pengguna
f. Pengguna dibedakan menjadi 3 kategori yaitu pengguna aplikasi, pengguna
interaktif, pemrogram aplikasi dan administrator basis data.
g. Aplikasi lain yang bersifat optional tergantung kebutuhan kita.

Gambar 2.1 Komponen DBMS


Pengantar Basis Data 11

2.3 Abstraksi Data

Tujuan utama dari sistem basis data adalah untuk menyediakan fasilitas untuk
view data secara abstrak bagi penggunanya. Namun bagaimana sistem menyimpan
dan mengelola data tersebut, hanya diketahui oleh sistem itu sendiri. Abstraksi
data merupakan level dalam bagaimana melihat data dalam sebuah sistem basis
data. Berikut ini tiga level abstraksi data:

1. Level fisik
Merupakan level terendah pada abstraksi data yang menunjukkan
bagaimana sesungguhnya data disimpan. Pada level ini pemakai melihat data
sebagai gabungan dari struktur dan datanya sendiri.
2. Level lojik
Merupakan level berikutnya pada abstraksi data, menggambarkan data apa
yang disimpan pada basis data dan hubungan apa saja yang ada di antara
data tersebut.

3. Level view
Merupakan level tertinggi dari abstraksi data yang hanya menunjukkan
sebagian dari basis data. Banyak user dalam sistem basis data tidak akan
terlibat dengan semua data atau informasi yang ada atau yang disimpan.
Para user umumnya hanya membutuhkan sebagian data atau informasi
dalam basis data yang kemunculannya di mata user diatur oleh aplikasi end
user.

Gambar 2.2 Abstraksi Data.


Pengantar Basis Data 12

2.4 Model-model Data


Ada beberapa model data dalam suatu sistem basis data. Model data
merupakan suatu cara untuk menjelaskan bagaimana pemakai dapat melihat data
secara logis. Pemakai tidak perlu memperhatikan bagaimana media
penyimpanan secara fisik. Penggolongan model-model data dapat dilihat pada
gambar 5.1.

Entity Relationship
Model

Object based Semantic


Data model Model

Binary
model

Relational
model

Model-model Record based Hirarchycal model


Data Data model

Network
Model

Unifying model

Physycal based
Data model
Frame memory

Gambar 2.3 Model-model data


Pengantar Basis Data 13

Beberapa model data tersebut adalah sebagai berikut :


1. Object based data model, merupakan himpunan data dalam prosedur atau
relasi yang menjelaskan hubungan logis antar data dalam suatu basis data
berdasarkan pada obyek datanya.
 Entity relationship model, merupakan suatu model untuk menjelaskan
hubungan antar data dalam basis data berdasarkan suatu persepsi bahwa
real world terdiri dari obyek-obyek dasar yang mempunyai hubungan /
relasi antara obyek-obyek tersebut. Contoh entity relationship model
dapat dilihat pada gambar 5.2. Dari gambar tersebut nampak bahwa Bank
A merupakan real world yang mempunyai obyek dasar Customer dan
tabungan. Seorang customer mempunyai atribut Nama, Nomor
tabungan, dan atrubut lainnya. Tabungan mempunyai atribut No
tabungan, Saldo dan atribut-atribut lain yang diperlukan.

CUSTOMER TABUNGAN
Bank
A
No Tabungan

Atribut lain

Nama

SALDO
Alamat

Atribut Lain No. Tabungan

Gambar 2.4 Contoh entity Relationship Model


Pengantar Basis Data 14

Arti simbol-simbol yang digunakan pada gambar adalah :

: Menunjukkan obyek dasar

: Menunjukkan relasi

: Menunjukkan atribut dari obyek dasar

: Menunjukkan adanya relasi

 Semantic Model, hampir mirip dengan relationship model dimana relasi


antar obyek tidak dinyatakan dengan simbol melainkan dengan kata-kata.
Contoh model ini dapat dilihat pada gambar 5.3.

Bank A

Melayani adalah nasabah


Mempunyai adalah
Customer Joko
Tabungan

alamat No
No Saldo
Tabungan
tabungan

Gambar 2.5 Contoh Semantic Model


Arti simbol pada gambar :
: menunjukkan adanya relasi
: menunjukkan atribut
Pengantar Basis Data 15

2. Record based data model


a. Relational model, menjelaskan tentang hubungan logik antar data dalam
basis data dengan memvisualisasikan ke dalam bentuk tabel yang terdiri
dari sejumlah baris dan kolom yang menunjukkan atribut tertentu. Contoh
relational model terlihat pada tabel 5.1. Dalam relational database, setiap
data item pada baris dan kolom tertentu harus mempunyai nilai yang tak
dapat dipecah lagi. Model data relational dalam bentuk tabel relatif lebih
mudah dipahami daripada model-model data lainnya.

tabel. 2.1. Contoh Relational model Mata Kuliah


Kode MK Nama MK SKS
EMN 316 Kewirausahaan 3
EMN 317 Perpajakan 3
EMN 318 Manajemen Resiko 3
EMN 319 Skripsi 6

Dalam struktur basis data relasional ini hubungan logik antar


unsur-unsur data ditunjukkan dengan mengorganisasikan data kedalam
kolom dan baris. Pengorganisasian ini disebut dengan istilah normalisasi.
Produk-produk basis data jenis ini untuk komputer mainframe antara lain
adalah DB2 (IBM), Oracle (Oracle Corporation), INGRES (Relational
Technology), sedangkan untuk komputer pribadi antara lain adalah dBase
III atau dBAseIv (Ashton Tate) dan Paradox (Ansa Software Corporation).
b. Hierarchycal Model, model ini menjelaskan tentang hubungan logik
antar data dalam basis data dalam bentuk hubungan bertingkat (hierarchy).
Elemen-elemen penyusunnya disebut sebagai node yang berupa rincian
data, agregat data, atau record. Level paling tinggi dalam suatu hirarki
harus hanya terdapat satu node, dan disebut sebagai root. Suatu node pada
level yang lebih rendah hanya diijinkan mempunyai satu relasi dengan
node pada tingkat yang lebih tinggi, yang disebut sebagai parent.
Kebalikannya parent dapat mempunyai lebih dari satu child, yaitu node-
Pengantar Basis Data 16

node yang mempunayi level lebih rendah dan dihubungkan dengan parent.
Contoh hubungan logik antar data yang ditunjukkan hierarchycal model
dapat dilihat pada gambar 2.6.

Jurusan Manajemen

003
001 002 Tini
Joko Roni

MK 1 MK 2 MK 1 MK 3 MK 2 MK 3 MK 4
Wirausaha perpajakan Wirausaha Manajemen perpajakan Manajemen Skripsi

Gambar 2.6 Contoh Hierarchycal Model

c. Network Model, seperti halnya pada hirarki model, network model


dideskripsikan ke dalam struktur parent dan child, tetapi sebuah child
dalam model ini dapat mempunyai lebih dari satu parent. Contoh model
network dapat dilihat pada gambar 2.7.
Parent Child

001 Joko MK 1 Wirausaha

MK 2 perpajakan
002 Roni

MK 3 Manajemen
003 Tini

MK 4 Skripsi

Gambar 2.7 Contoh Network Model


Pengantar Basis Data 17

3. Physichal based data model, model ini digunakan untuk menjelaskan pada
pemakai tentang bagaimana data-data dalam basis data disimpan dalam media
penyimpanan yang digunakan secara fisik. Model ini lebih berorientasi pada
mesin.

2.5 Struktur Data


Istilah data dalam sistem komputer digunakan untuk menidentifikasi
seperangkat karakter tertentu. Dalam sistem ini data dirancang sedemikian rupa
sehingga mewakili masukan yang penting serta memungkinkan untuk dilihat
kembali dari tempat penyimpanannya untuk diproses atau untuk dihasilkan
keluarannya.
Struktur data yang utama terdiri dari empat unsur, yaitu field, record, file,
data base. Konsep data dengan strukturnya ini dapat digambarkan dengan
menggunakan bagan sebagai mana tampak dalam gambar 2.8.

1. Satu file umumnya terdiri dari beberapa unsur data atau field. Yang
dimaksud dengan unsur data adalah sekelompok karakter yang
menggambarkan satu atribut data tertentu. Misalnya nama mahasiswa, nomor
induk mahasiswa, matakuliah yang diambil dan sebagainya. Misalnya unsur
data untuk nama mahasiswa adalah sekelompok karakter yang membentuk
nama tersebut.

Bit Dijit biner yaitu 0 dan 1

Sekelompok dijit biner


Byte
Yang menunjukkan karakter

Sekelompok karater yang menjelaskan


Unsur Data
Atribut suatu entitas
Pengantar Basis Data 18

Record Sekelompok unsur data yang berkaitan


Dan menjelaskan suatu entitas

File
Sekelompok record mengenai entitas
Entitas yang sejenis
Sekelompok file yang disimpan bersama
Data base
Untuk digunakan oleh beberapa aplikasi
Sistem basis data merupakan sekumpulan
Data base
basis data, yang tersusun dari beberapa file

Gambar 2.8 Unsur-unsur Dalam Data

2. Record adalah beberapa unsur data yang dikelompokkan secara logis, misalnya
yang berkaitan dengan obyek data tertentu. Misalnya ketiga unsur data nama
mahasiswa, nomor induk mahasiswa, matakuliah yang diambil digabungkan,
maka terbentuklah satu record. Record ini biasanya merupakan sekumpulan
unsur data yang menjelaskan suatu atribut dari entitas (entity) mahasiswa.
Record dapat diorganisasikan dengan cara :
a. Record dapat diidentifikasikan dengan menggunakan satu atau lebih
petunjuk (key). Yang dimaksud dengan key adalah suatu unsur data di
dalam record yang berfungsi mengidentifikasi record tersebut ke dalam
file. Misalnya record tentang mahasiswa dapat diidentifikasi melalui
nomor induk mahasiswa.
b. Suatu record dapat berisi seluruh unsur data yang relevan atau dapat pula
dibagi-bagi menjadi record induk (master record) dan trailer record.
Record induk mungkin berisi nama mahasiswa, alamat, tanggal lahir,
pekerjaan orang tua dan sebagainya. Sedangkan trailer record mungkin
berisi daftar nilai mata kuliah yang sudah ditempuh, IPK, KRSS, daftar
mata kuliah yang belum ditempuh dan sebagainya.
Pengantar Basis Data 19

3. File adalah sekelompok record yang berkaitan . Seluruh catatan mengenai


masing-masing mahasiswa dapat dikelompokkan menjadi satu file Daftar
Nilai Akhir (DNA). Pengorganisasi record di dalam file mempunyai tujuan
sebagai berikut :
a. Melokalisasikan suatu record untuk diproses atau untuk output.
b. Untuk memudahkan penciptaan dan pemeliharaan file.
Beberapa faktor yang perlu diperhatikan dalam pengorganisasian file antara
lain adalah sebagai berikut :
a. Kecepatan akses data
b. Kesesuian dengan media penyimpanan
c. Kemudahan dalam penyimpanan dan pengambilan data
d. Metode pemutakhiran data
e. Kesesuaian dengan jenis aplikasi yang digunakan.
f. Efisiensi penggunaan media penyimpanan
Terdapat dua jenis alat penyimpanan file yaitu :
a. Perangkat Akses Serial (Sequential Access Storage Device atau SASD).
Contoh peralatan yang termasuk jenis ini adalah magnetic tape atau pita
magnetik. Ciri-ciri dari perangkat ini adalah :
a) proses pembacaan rekaman harus berurutan .
b) tak ada pengalamatan
c) data disimpan dalam blok-blok.
d) Proses write hanya bisa dilakukan sekali saja.
e) Kecepatan akses datanya, sangat tergantung pada :
f) Kerapatan pita (char / inchi)
g) Kecepatan pita (inci / detik)
h) Lebar celah / Gap antar blok
b. Perangkat akses langsung ( Direct Access Storage Device atau DASD),
perangkat ini mempunai ciri :
a) pembacaan rekaman tidak harus urut
b) mempunyai alamat
c) data dapat disimpan dalam karakter atau blok
Pengantar Basis Data 20

d) proses write dapat dilakukan beberpa kali.


Contoh perangkat akses langsung ini misalnya hard disk dan floppy disk.
Pada umumnya file diorganisasi dalam salah satu dari empat metode
penyimpanan, yaitu susunan berurutan (sequensial), berurutan berindeks
(indexed sequensial), acak (random), acak berindeks.
a. Sequential, metode ini mempunyai ciri-ciri sebagai berikut :
a) Rekaman disimpan berdasarkan suatu kunci
b) Pencarian rekaman tertentu dilakukan record demi record sesuai dengan
kuncinya.
Metode ini cocok digunakan apabila pengolahan terhadap basis data yang
bersifat periodik dan menyeluruh.
b. Random, dalam model ini kunci rekaman ditransformasikan ke alamat
penyimpanan dalam media fisik secara acak (random).
c. Indexed Sequential, metode ini merupakan gabungan antara metode sequential
dan random. Record disimpan secara berurutan dengan menggunakan kunci.
Masing-masing record diberi indeks, sehingga memerlukan penyimpanan
tambahan yaitu file indeks.
d. Indexed Random, dalam metode ini record-record disimpan secara acak dan
masing-masing record disimpan secara acak.

4. Data base adalah sekelompok file yang disimpan bersama untuk digunakan
oleh beberapa aplikasi . Sekelompok file ini biasanya merupakan file induk
yang diintegrasikan ke dalam data base untuk mengurangi duplikasi data dan
untuk dapat digunakan oleh beberapa program aplikasi. Hal ini
memungkinkan karena data dalam data base terpisah dari program
aplikasinya. Misalnya nama, NIM dan alamat mahasiswa cukup dibuat satu
kali saja di dalam data base. Kemudian dari data umum ini dapat
dihubungkan ke data lain misalnya pembayaran uang kuliah, daftar nilai,
beasiswa dan sebagainya. Dengan menggunakan data base ini makas
masing-masing bagian yang mengangani mahasiswa, msalnya bagian
Pengantar Basis Data 21

keuangan dan bagian akademik, tidak perlu memiliki file sendiri-sendiri, yang
mengandung record nama, alamat, NIM.
5. Sistem Basis Data merupakan sekumpulan basis data dengan para pemakai
yang menggunakan basis data secara bersama-sama, personil yang merancang
dan mengelola basis data, teknik-teknik untuk merancang dan mengelola basis
data, serta sistem komputer yang mendukungnya

2.6 Elemen-elemen Sistem Basis Data


Sistem basis data mempunyai beberapa elemen penyusun sistem. Elemen-
elemen pokok penyusun sistem basis data adalah :
a. Basis Data , elemen ini disebut juga sebagai koleksi data atau pustaka data
adalah sekumpulan dari bermacam-macam tipe record yang mempunyai
hubungan antar record, agregat data dan rinci data terhadap suatu obyek
tertentu.
b. Software, software yang digunakan dalam suatu basis data terdiri dari dua
macam, yaitu Data Base Management System (DBMS) dan Data Base
Applikation Software (DBAS). DBMS akan dibahas pada bagian terpisah
sedangkan DBAS dalam buku ajar ini tidak dibahas.
c. Hardware, hardware dalam suatu sistem basis data mempunyai komponen-
komponen utama yang berupa CPU (Central Processing Unit) dan Unit
penyimpanan (storage Unit). CPU mempunyai beberapa bagian penting,
yaitu unit aritmatika dan logika ( Aritmatic And Logic Unit atau ALU),
memori utama (main memory) dan unit pengendali (Control Unit). Storage
Unit merupakan suatu peralatan fisik yang digunakan sebagai media
penyimpanan data. Media penyimpanan yang umum digunakan adalah
magnetig disk (hard disk dan floppy disk). Sedangkan media penyimpanan
data cadangan (back up data) adalah magnetic tape.
d. Manusia (brainware), manusia merupakan elemen penting pada sistem basis
data. Tipe orang yang menggunakan sistem basis data adalah berbeda-beda
dan mempunyai kebutuhan yang berbeda-beda pula. Seorang manajer
memerlukan informasi-informasi tersaring untuk membuat keputusan. Dan
Pengantar Basis Data 22

personal Klarikal mempunyai tugas memasukkan data dari sumber dokumen


ke dalam sistem. Pelanggan memerlukan informasi dan laporan. Dengan
demikian suatu sistem basis data harus memberikan pemusatan perhatian pada
pemakai.

2.7 Sistem Manajemen Basis Data


Yang dimaksud dengan sistem manajemen basis data (database
management systems / DBMS) adalah suatu perangkat lunak (program) yang
mengorganisasikan, mengkatagorikan, menyimpan dan menampilkan kembali
(retrieve) serta memelihara data di dalam basis data yang memungkinkan bagi
beberapa pemakai untuk mengakses data yang disimpan dalam basis data tersebut
secara bersama-sama dengan menggunakan beberapa aplikasi.
Penyimpanan data, pengorganisasian data ke dalam record dan
pengaksesan terhadap data tersebut dilakukan secara seragam. Dengan program
ini maka para pemakai dapat membuat permintaan tampilan ringkas pada layar
atau dicetak sesuai dengan format yang dikehendaki pemakainya. Beberapa
fungsi yang dapat dilakukan oleh DBMS adalah sebagai berikut :
a. Menyortir record sesuai dengan urutan atau petunjuk (key) tertentu yang
dikehendaki pemakainya, misalnya urut abjad atau yang memiliki kriteria
tertentu, misalnya mengurutkan mahasiswa yang memiliki IP 3,00 atau lebih
dari mulai yang tertinggi hingga 3,00.
b. Untuk melihat record tertentu saja yang dikehendaki oleh pemakainya tanpa
menampilkan isi file
c. Untuk menghitung jumlah record yang memenuhi kriteria tertentu misalnya
jumlah mahasiswa yang memiliki IP 3,00 atau lebih.
d. Untuk melakukan perhitungan, misalnya menghitung IP Kumulatif mahasiswa
yang sudah menyelesaikan perkuliahan.
e. Untuk menggabungkan beberapa file menjadi informasi yang berguna bagi
pemakainya.
Program ini dikembangkan dari konsep database sebagai sesuatu yang terpisah
dari program aplikasi yang mengaksesnya. Jadi tujuan DBMS adalah untuk
Pengantar Basis Data 23

a. Memperoleh informasi yang bermanfaat dari data yang ada dalam database
tersebut.
b. Mempermudah penciptaan struktur data
c. Meringankan pekerjaan pemrogram dalam menangani file yang rumit
d. Mempermudah pemakai dan pemrogram dari pekerjaan memahami dimana
dan bagaimana data sebenarnya disimpan.
e. Memberikan pemahaman pada para pemakai bahwa data adalah sumber daya
yang harus dikelola dengan baik.
f. Meningkatkan efisiensi dan menghemat beaya serta meningkatkan
produktifitas pemrogram aplikasi dan para pemakai.
Dengan digunakannya DBMS untuk mengorganisasi, mengkatagorisasikan,
menyimpan dan menampilkan kembali serta memelihara data di dalam database
maka manajemen dapat memeperoleh kebaikan DBMS sebagai berikut :
a. DBMS menimbulkan adanya independensi data, sebab jika data tidak
independen maka setiap format record yang diubah akan mengakibatkan
setiap program yang mengakses file tersebut harus pula diubah.
b. DBMS mempermudah pengaksesan data.
c. DBMS mengurangi dataganda (data redundancy) dengan cara menghilangkan
unsur-unsur data yang sama.
d. Ketergantungan pada data dan program dapat dikurangi dengan cara
memisahkan aspek fisik dan lojik dari data.
e. Biaya pengembangan dan pemeliharaan program dapat dikurangi secara
material
f. Keamanan dan kerahasiaan dapat dikendalikan.
Pengantar Basis Data 24

BAB III
PERANCANGAN BASIS DATA

3.1 Proses Perancangan Basis Data


Perancangan basis data dibagu menjadi 3 tahapan yaitu perancangan basis
data secara konseptual yang merupakan upaya untuk membuat model yang
merupakan konsep dasar, perancangan basis data secara logis yang merupakan
tahapan selanjutnya dari perancangan konseptual dan perancangan basis data
secara fisis yang merupakan tahapan untuk menuagkan rancangan basis data yang
bersifat logis menjadi fisis yang disimpan pada media penyimpanan eksternal.

3.2 Cara Kerja DBMS


Cara kerja DBMS pada umumnya adalah sebagai berikut :
a. Program aplikasi memulai prosesnya dengan memperoleh data dari data base
dengan bantuan perintah DML (data manipulation language), yaitu perintah
yang digunakan oleh DBMS untuk menjalankan fungsi-fungsinya.
b. Pada waktu pengatur dan pengendali aktifitas CPU dari komputer tersebut
mejumpai perintah DML dalam eksekusi suatu program aplikasi, maka unit
pengendali tersebut memindahkan pengendaliannya dari program ke DBMS.
c. DBMS menguji bahwa unsur data yang diperlukan telah didefinisikan
sebagai bagian dari database kemudian menentukan alamat dari lokasi-
lokasinya di dalam media penyimpanan.
d. DBMS kemudian menggantikan sistem operasi sehingga dapat
memerintahkan untuk mengakses dan memanggil unsur data.
e. Sistem operasi memindahkan unsur data yang dikehendaki ke daerah
penyimpanan tertentu dalam DBMS yang disebut buffer dan kemudian
memindahkan pengendalian kembali kepada DBMS
Pengantar Basis Data 25

f. DBMS memindahkan unsur data ke buffer tersebut yang digunakan oleh


program aplikasi. Program tersebut kemudian mengambil kembali
pengendalian dari DBMS dan selanjutnya memproses unsur data.

3.3 Unsur-Unsur DBMS


Berikut ini adalah uraian mengenai unsur-unsur DBMS yang biasa
dijumpai dalam beberapa produk yang dijual secara umum :
a. Data dictionary, adalah sekumpulan informasi yang tersentralisasi mengenai
seluruh unsur data dan sumber-sumber daya dalam database. Data dictionary
ini berisi nama-nama dan penjelasan-penjelasan mengenai unsur data serta
uraian mengenai bagaimana unsur-unsur data tersebut berkaitan satu dengan
lainnya.
Dengan menggunakan data dictionary ini maka suatu DBMS
menyimpan data secara konsisten sehingga mengurangi data ganda. Program
aplikasi tidak harus merinci karateristik data yang diperlukan dari database,
hal ini memungkinkan bagi pemakai untuk mengubah karateristik dari unsur
data dalam data dictionary tanpa harus mengubah seluruh program aplikasi
yang menggunakan unsur data tersebut.
Data dictionary ini sangat bermanfaat karena dapat meningkatkan
efisiensi dan efektifitas pengumpulan data dan pengelolaan sumber daya
data, sehingga dapat mepermudah pemakainya untuk :
a) berkomunikasi dengan para pemakai lainnya
b) menentukan adanya pengaruh perubahan data dalam database.
c) Merancang dan mengembangkan data base dengan cara memusatkan
pengendalian terhadap unsur-unsur data.
b. Bahasa-bahasa Data, dalam DBMS digunakan dua bahasa data yang
berbeda, yaitu bahasan perincian data (data description language / DDL)
dan bahasa manipulasi data (data manipulation language / DML). DDL
digunakan untuk menempatkan unsur data ke dalam data dictionary dengan
cara menjelaskan karakterisitik dari unsur data tersebut.
Pengantar Basis Data 26

Untuk menjamin keseragaman pengaksesan data dari database, maka


DBMS menghendaki digunakannya program-program aplikasi dalam
perintah-perinta yang standar, dimana perintah-perintah tersebut merupakan
bagian dari bahasa khusus yang disebut DML yang digunakan pemroses
untuk memanggil kembali (retrieve) dan memproses data dari database.
DML biasanya terdiri dari serangkaian perintah seperti FIND, GET, SORT
dan sebagainya yang ditempatkan dalam suatu program aplikasi untuk
menginstruksikan DBMS untuk mengambil data yang diperlukan oleh
program aplikasi tersebut pada suatu waktu tertentu.
a) Monitor Pemrosesan Jarak Jauh, Monitor pemrosesan jarak jauh
(teleprocessing monitor) adalah suatu paket piranti lunak untuk
mengelola komunikasi antara data base dengan terminal-terminal jarak
jauh. Monitor pemrosesan jarak jauh ini biasanya digunakan untuk
menangani sistem pesanan penjualan yang menggunakan terminal-
terminal komputer di tempat-tempat penjualan yang saling berjauhan
letaknya.
b) Sistem Pengembangan Aplikasi, adalah seperangkat program dan
perintah-perintah yang dirancang untuk membantu pemrogram dalam
mengembangkan program aplikasi secara on-line.
c) Program Pengaman, program ini digunakan untuk melindungi data
base dari akses yang tidak ada otoritasnya.
d) Sistem pengarsipan, dengan sistem ini manajer data base memiliki
sarana untuk memulai kembali data base dan atau memperbaiki data
yang hilang apabila terjadi kegagalam operasional pengolahan data.

3.4 Administrasi Basis Data


Sistem basis data yang sudah terpasang dalam suatu organisasi maka
implementasi dari sistem tersebut, misalnya dalam hal pengontrolan sistem,
perubahan format record, menambah serta menghapus record perlu dipusatkan di
bawah kendali Administrasi Basis data (Data base administration / DBA). Oleh
Pengantar Basis Data 27

karena itu DBA harus memiliki kemampuan dan wewenang untuk menetapkan
kebijakan, isi dan kontrol atas data serta harus mampu menggunakannya sesuai
dengan prinsip-prinsip manajemen sumber daya sehingga diperoleh manfaat
maksimum dari basis data sebagaimana layaknya sumber daya.
Penggunaan DBA harus dapat menjamin bahwa data yang tersedia dapat
digunakan bersama oleh seluruh organisasi dan benar-benar dikembangkan
untuk keperluan manajemen, sehingga personil DBA haruslah memiliki
perspsktif tentang manajemen dan pengetahuan mendalam tentang organisasi.
Tugas penting dari DBA antara lain adalah sebagai berikut:
a. Memperkenalkan tekonologi baru, menerangkan keuntungan penggunaan
sistem basis data dan meyakinkan anggota organisasi agar bersedia
menerimanya.
b. Membimbing perancangan awal basis data dan pengembangan lebih lanjut
serta memperluas basis data jika diperlukan.
c. Menetapkan dan dan menentukan standar basis data
d. Menentukan isi basis data.
e. Memantau pengendalian basis data, kebijakan pengamanan dan merancang
prosedur yang mampu menjamin bahwa (a) pemutakhiran data dalam sistem
basis data berlangsung secara terkendali dan tepat, (b) data tersedia bagi
pengguna yang dapat dipercaya dan dapat digunakan hanya oleh yang berhak,
(c) data yang hilang dan atau rusak dapat diatasi dan diperoleh kembali.
f. Melayani pengguna basis data melalui proses pendidikan dan pelatihan.
Oleh karena demikian penting tugas dan tanggung jawab DBA , maka
seorang DBA bertanggung langsung kepada manajer bidang informasi sehingga
posisi DBA dapat disejajarkan dengan manajer sistem komputer.

3.5 Pengembangan Sistem Basis Data


Proses pengembangan sistem basis data (The data base development
proses) bukanlah suatu proses yang hanya sekedar menyusun file-file yang
diperlukan untuk disimpan sebagai basis data, tetapi juga termasuk dalam hal
mengatur bagaimana agar basis data tersebut dapat dimanfaatkan secara optimal
Pengantar Basis Data 28

oleh pemakai (user) utnuk memenuhi kebutuhan datanya . Jadi pengembangan


sistem basis data meliputi pengembangan file basis data (data ware), perangkat
lunak (soft ware), perangkat keras (hard ware) dan menyiapkan personal-
personal (brain ware) yang akan terlibat dalam penggunaan sistim basis data
agar dapat memanfaatkannya dengan baik dan benar.

1. Tujuan Pengembangan Sistem Basis Data


Tujuan pengembangan sistem basis data berhubungan erat dengan masalah-
masalah yang timbul dalam file basis data, antara lain sebagai berikut :
a. Fleksibelitas data ( data flexibility)
Fleksibilitas data dimaksudkan untuk memberikan kemudahan
dalam menampilkan kembali data-data yang dipilih dan diperlukan dalam
basis data dan mempresentasikan dalam format-format yang berbeda.
Fleksibilitas akses merupakan salah satu dari beberapa aspek
penting yang harus dimiliki sistem manajemen basis data (Data Base
Management System/DBMS) agar selalu tersedia data untuk berbagai
macam keperluan. Oleh karena itu, diperlukan antar muka (interface) untuk
memungkinkan terjadinya komunikasi antara pemakai sistem. Interface
harus didesain dalam bentuk yang sederhana dan jelas sehingga
memungkinkan para manajer atau pemakai akhir (end user) yang awam
terhadap komputer mampu berinteraksi dan menggunakan sistem tersebut
dengan mudah. Teknik yang umum diterapkan adalah dengan
menggunakan menu-menu (interaksi pasif) atau memberikan jawaban atas
pertanyaan aktif ( interaksi aktif) yang ditampilkan dalam display.

b. Integritas Data (data Integrity)


Integritas data dimaksudkan sebagai sarana untuk selalu
meyakinkan bahwa nilai-nilai data dalam sistem basis data adalah benar,
konsisten dan selalu tersedia. Salah satu cara yang terbaik untuk
meyakinkan integritas data adalah meyakinkan bahwa nilai-nilai data adalah
benar sejak masuk pertama kali. Hal ini bisa ditempuh antara lain dengan
Pengantar Basis Data 29

membuat setting secara seksama prosedur penangkapan data (data capture)


yang dilakukan secara manual, atau dengan membuat program untuk
mengecek kebenaran atau keabsahan nilai data pada saat dimasukkan dalam
komputer ( data entry).
c. Keamanan Data (data security)
Keamanan data diperlukan untuk melindungi data terhadap akses
yang tidak legal oleh pihak-pihak yang tidak berwenang yang bermaksud
merugikan atau bahkan merusak data yang tersimpan dalam basis data.
Keamanan data merupakan aspek kritis dalam sistem basis data. Salah satu
cara dalam mengamankan data adalah dengan membuat recovery , yaitu
proses penggunaan data cadangan untuk menciptakan / atau menyusun
kembali basis data yang mengalami kerusakan. Fasilitas keamanan data
yang lazim digunakan adalah password untuk individu-individu pemakai
yang hanya diijinkan mengakses data dalam tipe-tipe data yang berbeda
(misalnya yang hanya khusus membaca, membaca dan menulis) dan
password untuk basis data, record data dan rincian data.
d. Independensi data (data Independence)
Independesi data atau ketidak tergantungan data terdiri dari dua
dimensi yaitu dimensi logis ( logical data independence) dan dimensi fisik
(phyical data independece). Yang dimaksud dengan independensi secara
fisik adalah bahwa cara-cara penyimpanan dan pengaksesan data dalam
sistem basis data dapat diubah tanpa membutuhkan perubahan dalam skema
logis. Sedangkan yang dimaksud dengan independensi secara logis adalah
bahwa perubahan-perubahan kebutuhan user terhadap data dapat berubah,
tetapi hal ini tidak mengakibatkan perubahan atau dampak pada pandangan
user terhadap basis data atau skema logisnya.
e. Minimalisasi Kerangkapan Data ( Reduced Data Redundancy)
Kerangkapan data dalam sistem basis data dapat menimbulkan
beberapa masalah dalam proses pengaksesan data. Kerangkapan data akan
mengakibatkan penggunaan media penyimpanan (storage) secara sia-sia,
Pengantar Basis Data 30

waktu akses yang lebih lama dan akan menimbulkan masalah dalam
integritas data
f. Berbagi Data (Data Shareability)
Sistem basis data dikembangkan dengan maksud agar dapat
digunakan oleh pemakai-pemakai yang berbeda atau kelompok-kelompok
pemakai yang berbeda dalam menggunakan data yang sama. Hal ini penting
karena data dalam basis data akan digunakan oleh bebrapa pihak yang
berbeda yang berkepentingan terhadap data tersebut.
g. Relatabilitas Data (Data Relatability)
Yang dimaksud dengan relatabilitas adalah kemampuan untuk
menetapkan hubungan logis antara type-type record yang berbeda dalam
file-file yang berbeda. Hal ini merupakan hal yang penting, karena sebagian
besar informasi yang diperlukan akan disusun dari berbagai macam file
dalam sistem basis data yang masing-masing file mempunyai type record
yang berbeda.
h. Standarisasi Data (Data Standardization)
Standarisasi data menunjukkan definisi-definisi rinci data dalam
batas yang digunakan pada definisi nama secara rinci dan format
penyimpanan dalam basis data. Sebagian besar sistem manajemen basis
data memberikan fasilitas kamus (data dictionary) untuk mendefinisikan
nama-nama rinci data dan format dalam penyimpanannya.
i. Produktivitas Personal (Personnel Productifity)
Dengan adanya sistem manajemen basis data diharapkan mampu
meningkatkan produktivitas kerja setiap personal dalam beberapa hal.
Sehingga pemakai dapat membuat laporan-laporan yang lebih akurat.

3.6 Tahap-Tahap Pengembangan Sistem Basis Data


Tahap-tahap utama dalam pengembangan sistem basis data terdiri dari
empat tahap yaitu : Tahap Perencanaan (planning),Tahap Analisis (analysis),
Tahap desain (design) dan Tahap implementasi (implementation). Uraian secara
Pengantar Basis Data 31

skematis dari masing-masing tahap tersebut dapat terlihat dalam gambar 3.1
berikut ini.

PLANNING

ANALYSIS

DESIGN

IMPLEMENTATION

Gambar 3.1 Pokok-pokok Proses Pengembangan Basis Data

a. Perencanaan (Planning)
Tahap pertama dari pengembangan sistim basis data adalah
perencanaan, dalam tahap ini yang perlu mendapat perhatian adalah pentingnya
komunikasi yang jelas antara pihak pengembang (developer) dan pengguna
(user). langkah awal dari tahap perencanaan ini adalah mengidentifikasi
perencanaan strategis yang terdiri dari : tujuan organisasi, faktor-faktor penting
dalam menuju keberhasilan organisasi dan ruang lingkup masalah. Tujuan
dari tahap pertama ini adalah mengembangkan konteks perencanaan dan mata
rantai sistim informasi ke perencanaan kegiatan yang strategis.
Langkah Kedua, adalah mengidentifikasi obyek-obyek penting dalam
lingkungan perencanaan, yang terdiri dari unit-unit organisasi, lokasi dan
fungsi kegiatan di level atas dari organisasi dan type-type entity (kesatuan).
Pengantar Basis Data 32

Langkah ketiga, mengembangkan sebuah model perusahaan (enteprise


model) yang terdiri dari : sebuah diagram yang menguraikan secara fungsional
aktifitas perusahaan atau organisasi, dari struktur organisasi di tingkat atas
sampai ke bawah, sebuah diagram yang menghubungkan secara makro dari
aktifitas organisasi, sekelompok matrik-matrik perencanaan yang dihubungkan
ke dalam komponen-komponen yang bervariasi dalam sub-sub model.
b. Analisis (Analysis)
Tujuan dalam tahap ini adalah mengembangkan rincian spesifikassi dari
kebutuhan sistem informasi yang mendukung aktifitas organisasiatau
perusahaan. Dalam tahap analisis ini terdapat adanya dua langkah utama yaitu :
a) Pengembangan model data konseptual, yaitu sebuah model rincian yang
meliputi seluruh struktur organisasi data. Data konseptual ini antara lain
terdiri dari kesatuan aktifitas yang relevan, hubungan-hubungan dan atribut-
atribur seperti aturan-aturan kegiatan dan ketentuan tentang bagaimana data
digunakan.
b) Pengembangan Model proses, yaitu sekelompok ketentuan yang baik dari
pelaksanaan tugas yang logis dalam mendukung satu atau lebih fungsi-fungsi
kegiatan organisasi. Dalam pengembangan model proses ini terdapat adanya
dua hal yang mendasar yaitu proses fisik (merubah input menjadi out put)
dan proses informasi yaitu proses merubah data menjadi informasi.
Dalam tahap ini semua alternatif diuji dan diidentifikasi, kemudian
salah satu diantaranya ditetapkan sebagai solusi terhadap masalah/kebutuhan
pemakai (user). Jika diperlukan oleh manajemen, suatu analisa beaya dan
manfaat, analisis pengembalian modal dan sebagainya dapat digunakan dalam
tahap analisis ini.
c. Desain (design)
Dalam tahap desain sistem basis data, terdapat dua hal pokok yang harus
dilakukan, yaitu mendifinisikan struktur logis basis data (logical data base) dan
mendesain program fisik (physical data base design). Struktur logis yang telah
didefinisikan itu kemudian ditransformasikan kedalam format fisik yang sesuai
dengan DBMS yang digunakan. Unit-unit program aplikasi didesain secara
Pengantar Basis Data 33

bersamaan dengan pengembangan strutur desain logis basis data. Pada saat
desain basis data dan program aplikasi telah lengkap, spesifikasi akhir
kemudian ditetapkan. Pada beberapa bagian dimana perangkat keras perlu
diubah , perangkat keras tersebut di order pada tahap ini, sehingga pada saat
memasuki tahap implementasi, perangkat itu telah tersedia. Dalam tahap
pengembangan prosedur, yang perlu mendapat perhatian adalah fasilitas untuk
keamanan dan pengendalian basis data. Suatu rencana yang seksama
dikembangkan untuk meyakinkan bahwa hanya pemakai tertentu yang berhak
saja yang dapat mengakses data .
d. Implementasi (Implementation)
Selama tahap ini perangkat keras diinstall dan dites, program dikoding
dan dites, data dikonversi, prosedur-prosedur didokumentasikan dan pemakai
dilatih. Pengetesan secara paralel dengan sistem yang lama akan melengkapi
tahap ini. Beberapa aspek tertentu terjadi pada sistem basis data selama tahap
ini. Yang pertama, sebelum data dapat dikonversi, desain basis data harus
dikoding dengan menggunakan bahasa pemrograman ( misalnya, COBOL,
SQL) dan fasilitas-fasilitas yang diperoleh dari DBMS. Pada saat struktur basis
data dikompile, dilakukan suatu pengetesan terhadap bassis data dan
dikonversikan. Hal ini dilakukan untuk menguji akurasi diskripsi basis data.
Prosedur untuk pemakai dan personal didokumentasikan selama dalam tahap
ini. Pemakai perlu mengetahui bagaimana menyempurnakan fungsi kerja
dengan menggunakan sistem yang baru. Personal operasi juga harus tahu
bagaimana prosedur-prosedur yang harus dilakukan untuk menggunakan,
menampilkan kembali data, dan operasi-operasi lain, yang pada kenyataannya
justru lebih kompleks dari pada sistem pemrosesan suatu file. Konsekuensinya,
diperlukan dokumentasi prosedur yang baik dan jelas.
Pengantar Basis Data 34

3.7 Beberapa Alat Bantu Dalam Pengembangan Sistem Basis


Data
Agar usaha pengembangan sistem basis data dapat berhasil dengan baik,
maka diperlukan beberapa alat bantu yaitu cara yang digunakan untuk
mempermudah dan mendukung kelancaran pelaksanaan kegiatan.
Pada tahap awal proyek pengembangan perlu adanya suatu statemen
yang dapat meyakinkan manajemen organisasi bahwa aktifitas pengembangan
memang layak untuk dilakukan. Dalam laporan hasil studi kelayakan tersebut,
perlu dicantumkan bebrapa analisis, misalnya :
a. Analisis Ekonomi. Proyek pengembangan sistem basis data perlu
dianalisa tentang kelayakannya dari segi ekonomi, hal ini penting karena
manajemen tentunya akan menolak jika proyek pengembangan ini tidak
akan menghasilkan keuntungan secara ekonomis, sekalipun keuntungan
tersebut baru akan dirasakan setelah jangka waktu tertentu yang agak lama.
b. Analisis Hukum. Peralatan yang digunakan, aturan atau prosedur yang
digunakan dalam sistem yang baru kadang-kadang mempunyai keterkaitan
yang erat dengan masalah hukum. Untuk itu perlu adanya pernyataan
bahwa proyek pengembangan sistim basis data ini layak dari segi hukum
(law feasibility).
c. Analisis Teknik. Analisis ini berguna untuk menjelaskan ketersediaan
berbagai komponen teknis yang diperlukan selama proyek pengembangan
sistem basis data dilaksanakan dan pada saat sistem yang baru tersebut
diimplementasikan. Hasil dari analisis ini memberikan sebuaha pernyataan
bahwa proyek pengembangan sistim basis data, layak dari segi teknik
(technical feasibility).
d. Analisis Operasional. Analisis operasional dimaksudkan untuk
menjelaskan bahwa sistem yang baru adalah layak dioperasikan pada
lingkungan organisasi yang ada saat ini, atau perlu usaha-usaha lain untuk
mengubah desain sistem atau kondisi lingkungan organisasi atau
perusahaan. Hasil dari analisis ini memberikan pernyataan tentang
kelayakan dari segi operasional (operational feasibility).
Pengantar Basis Data 35

Selain analisis-analisis tersebut, dapat pula digunakan alat bantu lainnya


untuk mengatur dan mengawasi aktifitas-aktifitas dalam proyek pengembangan
sistem basis data, yaitu :
a. PERT (Program Evaluation And Review Technique), yaitu teknik memecah
atau memerinci proyek menjadi tugas-tugas yang lebih kecil sehingga
memudahkan dalam pengaturan dan pengawasannya. Dari teknik ini akan
diperoleh suatu rencana jaringan proyek yang lengkap, yaitu tentang
bagaimana urutan pengerjaan tugas-tugas yang ada dalam proyek, dan
kapan suatu tugas akan dimulai dan harus selesai dikerjakan.
b. CPM (Critical Path method), yaitu alat bantu yang digunakan untuk
mengawasi dan mengendalikan aktifitas-aktifitas dalam proyek
pengembangan sistem basis data yang telah ditentukan waktunya, dengan
menambah atau mengurangi sumber-sumber yang diperlukan dan tersedia
untuk menyelesaikan proyek.
Sistim basis data dirancang dan dibangun dengan orientasi para pemakai
(user), artinya bahwa sistem basis data tersebut ditujukan untuk memenuhi
berbagai macam kebutuhan para pemakainya. Selain harus lengkap, sistem
basis data dirancang agar mudah dugunakan, dapat digunakan dengan
berbagai macam cara, oleh banyak pemakai baik secara terpisah ataupun
bersama-sama, serta minim kerangkapan data. Disamping itu juga
kemudahan dalam memodifikasi data dan mengembangkan data, baik
volume maupun strukturnya. Dengan sistem basis data, maka berbagai
kebutuhan sistem-sistem baru dapat dipenuhi dengan segera tanpa perlu
mengubah basis datanya.
Penggunaan sistem basis data dalam Sistim Informasi Manajemen
akan memberikan efsiensi bagi SIM tersebut. Efisiensi yang dicapai berkat
penggunaan sistem basis data dalam SIM meliputi efisiensi dalam
penggunaan waktu, kertas kerja, tenaga serta beaya. Jadi pada akhirnya
secara menyeluruh penggunaan sistim basis data akan memberikan
keuntungan yang berupa efisiensi bagi SIM yang menggunakannya.
Pengantar Basis Data 36

3.8 Pengelolaan Sistem Basis Data Dalam Sistem Informasi


Manajemen
Sistem basis data merupakan salah satu dari beberapa komponen penting
penyususn SIM. Sebagai komponen penyusun maka keberadaan Sistem basis
data dalam SIM adalah penting sekali. Suatu SIM tidak akan berfungsi dengan
baik bila tanpa melibatkan sistem basis data
Keberadaan sistem basis data dalam sistem informasi manajemen (SIM)
merupakan hubungan antara sistem dan sub sistem, karena SIM mempunyai rung
lingkup yang relatif lebih luas dan lebih kompleks, sedangkan sistem basis data
merupakan sub sistem yang berada dalam SIM.
Sistem basis data dalam SIM merupakan penyedia data untuk diolah
lebih lanjut menjadi informasi yang bermafaat bagi pemakainya, sehingga fungsi
sistem basis data dalam SIM dapat disetarakan dengan bahan baku bagi suatu
produk dalam proses produksi.

3.9 Sistem Basis Data sebagai Infrastruktur SIM


Sistem basis data dan sistem manajemen basis data (DBMS) menyediakan
suatu sarana infrastruktur kepada organisasi-organisasi sistem informasi yang
dibangun. Organisasi sistem informasi ini meliputi sistem pengolahan transaksi,
sistem informasi manajemen dan sistem pendukung keputusan. Gambar 3.2
berikut ini menunjukkan bagaimana keterkaitan antara sistem basis data dan
ketiga sistem informasi tersebut.
Pengantar Basis Data 37

Sistem
Pendukung
keputusan

Sistem Informasi
Manajemen

Sistem Pengolahan Transaksi

Sistem Manajemen Basis data

Sistem Basis data

Gambar 3.2 Sistem basis data dan organisasi sistem informasi

3.10 Sistem Basis Data Sebagai Sumber Informasi Bagi SIM


Fungsi sistem basis data dalam SIM adalah sebagai penyedia atau sumber
utama kebutuhan data bagi para pemakai atau informasi bagi para pengambil
keputusan. Sedangkan DBMS melakukan fungsi pengolahan untuk
memanipulasi data sehingga diperoleh suatu bentuk yang penting dan dapat
dimanfaatkan dalam pengambilan keputusan, yang disebut sebagai informasi.
Kegiatan manajemen jika dihubungkan dengan tingkatannya di dalam
organisasi, maka dapat dibedakan dalam tiga tingkatan, yaitu manajemen
tingkat atas, tingkat menengah dan tingkat bawah. Kebutuhan informasi dari
masing-masing tingkatan tersebut sudah tentu berbeda, oleh karena itu perlu
Pengantar Basis Data 38

dipahami kegiatan apa yang dilakukan masing-masing tingkatan manajemen


tersebut .
a. Perencanaan Strategi
Perencanaan strategi (strategic planning) merupakan kegiatan dari
manajemen tingkat atas, pada umumnya perencanaan strategi meliputi hal-hal
sebagai berikut :
a) Proses evaluasi lingkungan luar organisasi .
Lingkungan luar organisasi selalu berubah secara konstan dan perubahan
tersebut mungkin saja dapat mengakibatkan perubahan terhadap strategi
organisasi. Pengaruh dari lingkungan luar dapat berupa kesempatan-
kesempatan pasar, teknologi, tekanan politik, sosial, persaingan, inflasi dan
sebagainya.
b) Penetapan tujuan.
Tujuan adalah sesuatu yang ingin dicapai organisasi, tujuan organisasi
ditetapkan oleh manajemen tingkat atas dalam proses perencanaan strategi
yang bersifat jangka panjang .
c) Penentuan strategi.
Strategi adalah tindakan-tindakan yang harus dilakukan oleh organisasi
dengan maksud untuk mencapai tujuan. Dengan strategi semua kemampuan
berupa sumber-sumber daya dikerahkan agar dapat mencapai tujuan yang
dikehendaki. Sumber daya organisasi dapat berupa modal, personil, material
dan sebagainya.
b. Pengendalian Manajemen
Pengendalian manajemen adalah proses untuk meyakinkan bahwa
organisasi telah menjalankan strategi yang sudah ditetapkan dengan efektif dan
efisien. Dalam pengendalian manajemen terdapat suatu proses yang
menunjukkan apa yang harus dilakukan oleh manajer. Proses dalam
pengendalian manajemen menyangkut komunikasi informal dan formal.
Komunikasi informal, misalnya berupa pertemuan-pertemuan dan diskusi.
Komunikasi formal dalam pengendalian manajemen misalnya dalam hal
pemrograman (programming), penyusunan anggaran (budgeting), pelaksanaan
Pengantar Basis Data 39

dan pengukuran (operating and measurement) serta pelaporan dan analisis


(reporting and analysis).
Pemrograman adalah proses menentukan program-program yang akan
dilakukan oleh organisasi dan memperkirakan sejumlah sumber daya yang akan
dialokasikan untuk masing-masing program. Program adalah kegiatan–
kegiatan prinsip yang telah ditentukan untuk dilaksanakan oleh organisasi
dengan maksud untuk menerapkan strategi yang telah disusun. Contoh,
program penelitian dan pengembangan, program latihan karyawan dan
sebagainya.
Anggaran adalah suatu rencana yang diungkapkan dalam satuan
kuantitas (nilai mata uang) untuk satu periode waktu tertentu. Dalam proses
penyusunan anggaran, program diterjemahkan dalam bentuk yang dihubungkan
dengan tanggung jawab masing-masing manajer yang diberi beban untuk
melaksanakan program atau beberapa bagian dari program. Dalam proses
penyususnan anggaran rencana – rencana diterjemahkan dalam bentuk pusat-
pusat pertanggungjawaban.
Selama periode pelaksanaan (operating), catatan-catatan
diselenggarakan untuk mencatat pemakaian – pemakaian sesungguhnya dari
sumber-sumber daya dan pendapatan-pendapatan yang diperoelh. Catatan ini
sifatnya terstruktur sehingga data beaya-beaya dan pendapatan-pendapatan
diklasifikasikan, baik secara program dan menurut pusat-pusat
pertanggungjawaban.
Manajer membutuhkan pelaporan yang berisi informasi tentang
apa yang sedang terjadi untuk meyakinkan bahwa pekerjaan yang telah
dilakukan oleh masing-masing pusat pertanggung jawaban telah berjalan
secara koordinatif. Laporan-laporan digunakan sebagai dasar pengendalian,
yaitu dengan cara membandingkan kinerja sesungguhnya dengan rencana yang
sudah ditetapkan.
Perbedaan- perbedaan yang nampak dalam laporan tersebut, merupakan dasar
yang digunakan oleh manajer untuk melakukan tindakan perubahan dan
perbaikan, dan pertimbangan strategi baru.
Pengantar Basis Data 40

c. Pengendalian operasi
Pengendalian operasi adalah proses untuk meyakinkan bahwa tiap-tiap
tugas tertentu telah dilaksanakan secara efektif dan efisien. Pengendalian
operasi ini merupakan proses penerapan program yang telah ditetapkan dalam
pengendalian manajemen . Pengendalian operasi dilakukan dibawah pedoman
proses pengendalian manajemen dan difokuskan pada tugas-tugas di tingkat
bawah.
Dengan demikian dapat diambil kesimpulan bahwa kegiatan – kegiatan dalam
manajemen tingkat atas lebih menjurus pada perencanaan jangka panjang dan
penentuan-penentuan strategi. Sementara manajemen ditingkat menengah dan
bawah , lebih menjurus pada hal-hal yang bersifat operasional.
Seorang manajer pada level operasional akan menggunakan sebagian besar
waktunya untuk menetapkan keputusan-keputusan yang berhubungan dengan
kegiatan operasional. Informasi yang diperlukan cenderung diperoleh dari
sumber-sumber intern dengan pendefinisian yang jelas, rinci, sempit, dan
frekuensi pemakaian yang relatif sangat sering.
Bagi para manajer pada level menengah, sistem basis data berfungsi
sebagai sumber informasi guna pengambilan keputusan untuk perencanaan
taktis dan pengendalian manajemen sebagai kontrol terhadap organisasi. Pada
level ini informasi diperoleh dan dihasilkan dengan cara peringkasan dan
abstraksi atas data transaksi pada level operasional.
Informasi pengendalian manajemen diperlukan untuk mengukur prestasi,
memutuskan tindakan pengendalian, merumuskan aturan keputusan untuk
diterapkan personalia operaional. Proses pengendalian memerlukan jenis-jenis
informasi sebagai berikut :
a) Pelaksanaan yang direncanakan (standar, yang diharapkan, yang
dianggarkan, dan sebagainya)
b) Perbedaan dari pelaksanaan yang direncanakan.
c) Alasan / penyebab terjadinya perbedaan.
d) Analisis keputusan atau arah tindakan yang mungkin.
Pengantar Basis Data 41

Proses pengambilan keputusan pada kedua level manajemen diatas


sebagian besar dapat distrukturkan ke dalam prosedur yang jelas dan spesifik.
Sebagian besar dari keputusan dapat diprogramkan sehingga dengan adanya
perkembangan ilmu pengetahuan dan teknologi yang maju, maka sebagian besar
aktifitas manajer dapat dialihkan pada komputer yang mampu menangani secara
lebih efisien dan efektif.
Dukungan sistem basis data bagi perencaaan strategis tidak dapat
selengkap sebagai sebagaimana pada dua level yang lain yang ada dibawahnya.
Namun demikian sistem basis data yang ada di dalam SIM dapat memeberi
bantuan dan dukungan bagi proses perencanaan strategis.
Beberapa contoh dukungan sistem basis data bagi perencanaan strategis
adalah :
a) Evaluasi kemampuan yang ada, yang dapat didasarkan atas data intern yang
ditimbulkan oleh kebutuhan pengolahan operasional. Tetapi dalam hal ini
perlu diikhtisarkan ke dalam suatu cara yang khusus untuk perencanaan.
b) Proyeksi kemampuan mendatang yang dapat dikembangkan melalui data
masa lampau dan kemudian diproyeksikan ke masa datang.
c) Data tentang industri dan saingan, merupakan data pemasaran dasar yang
mungkin bisa atau perlu direkam dalam basis data.

Pada akhirnya tim pengembangan SIM harus merancang dan membangun


sistem basis data yang cukup lengkap dan mampu memberikan dukungan secara
maksimal terhadap ketiga macam kebutuhan informasi tersebut diatas, sekalipun
demikian sangat mungkin bahwa pada waktu tertentu ada sebagaina data yang
diperlukan dan belum termuat dalam basis data, dan untuk selanjutnya
berdasarkan suatu pertimbangan teknis dan ekonomis perlu ditambahkan. Selain
perubahan pada volume data, kemungkinan lain adalah terjadinya perubahan pada
struktur basis data, kerelasian antar file, nilai-nilai rinci data, dan perubahan-
perubahan lain yang diperlukan sesuai dengan kondisi aktual yang ada.
Pengantar Basis Data 42

3.11 Sistem Basis data Sebagai Sarana Efisiensi dan Efektifitas


SIM
Sistem basis data dirancang dirancang dan dibangun dengan orientasi para
pemakai, artinya bahwa sistem basis data ditujukan untuk memenuhi berbagai
macam kebutuhan para pemakainya. Selain harus lengkap sistem basis data juga
dirancang agar mudah digunakan, dapat digunakan dengan berbagai macam cara.
Oleh banyak pemakai baik secara terpisah maupun bersama-sama, serta minim
kerangkapan data. Disamping itu juga kemudahan dalam memodifikasi data dan
mengembangkan data, baik volume maupun strukturnya. Dengan sistem basis
data maka berbagai kebutuhan sistem –sistem baru dapat dipenuhi dengan
segera tanpa perlu mengubah basis data- nya.
Pengembangan suatu sistem basis data memang mahal, namun demikian
mulai pada saat tertentu, penggunaan sistem basis data akan memberikan banyak
manfaat yang mempunyai nilai secara ekonomis. Sistem basis data juga
dirancang agar data-data yang tersimpan di dalamnya dapat ditampilkan kembali
dengan cepat. Secara kuantitatif, kebutuhan personalia dalam sistem juga menjadi
berkurang.
Penggunaan sistem basis data di dalam SIM akan memberikan efisiensi
bagi SIM tersebut. Efisisensi yang dicapai berkat penggunaan sistem basis data
dalam SIM meliputi efisiensi dalam penggunaan waktu, kertas kerja, tenaga/
personalia, serta biaya. Jadi pada akhirnya secara menyeluruh Sistem basis data
akan memberikan keuntungan yang berupa efisiensi bagi SIM yang yang
menggunakannya.
Sistem basis data akan memberikan dukungan bagi tercapainya efektifitas
SIM karena data-data yang disusun dan disimpan dalam file-file dalam sistem
basis data adalah data yang benar, selain itu perangkat lunak-perangkat lunak
yang ada dan digunakan di dalamnya juga telah diuji kebenarannya, keakuratan
dan kehandalannya. Dengan demikian Sistem Manajemen Basis data yang ada
dalam SIM hanya memuat perangkat lunak-perangkat lunak yang benar. Dengan
kata lain, sistem basis data mampu memberikan dukungan yang besar terhadap
efektifitas SIM
Pengantar Basis Data 43

MODEL DATA RELASIONAL DAN


ALJABAR RELASIONAL

 Model data relasional diperkenankan oleh “Codd” pada tahun 1970.


 Didasarkan pada suatu struktur data yang sederhana dan seragam (uniform),
yaitu : ”Relasi” – yang sudah mempunyai dasar teori yang kuat.

3.1. KONSEP-KONSEP MODEL RELASIONAL


 Model relasional menyajikan database sebagai satu kumpulan relasi.
 Secara informal, setiap relasi dapat disamakan dengan sebuah tabel.
 Jika suatu relasi dipandang sebagai sebuah tabel dari sejumlah nilai, maka :
 Setiap baris dalam tabel menyajikan sekumpulan nilai-nilai data yang
berhubungan satu dengan yang lain.
 Nilai-nilai ini dapat diinterpretasikan sebagai fakta-fakta yang
menjelaskan ”entity” atau ”relationship”.
 Nama tabel dan nama-nama kolom digunakan untuk membantu kita
dalam melakukan interpretasi arti dari nilai-nilai dalam setiap baris dari
tabel.
 Dalam terminologi model relasional :
 Sebuah baris disebut sebuah tuple.
 Suatu header dari kolom disebut attribute.
 Tabel itu sendiri disebut relasi.
 Tipe data yang menjelaskan jenis-jenis nilai yanf dapat muncul dalam
setiap kolom disebut domain.

3.1.1. Domain, Tuple, Attribute dan Relasi


 Suatu ”domain” D merupakan satu set dari nilai-nilai yang atomic.
 Atomic mempunyai pengertian bahwa setiap nilai dalam domain harus
utuh (indivisible).
Pengantar Basis Data 44

 Satu cara yang umum dalam menjelaskan suatu domain adalah dengan
cara menjelaskan tipe data dimana nilai-nilai data yang ada membentuk
domain yang dimaksud.
Contoh : domain “Nrp_mahasiswa” : satu set dari 10 digit yang valid
untuk menyatakan nrp.mahasiswa.
 Selain tipe data, suatu domain juga dijelaskan dengan memberikan :
nama dan format data; plus informasi tambahan untuk memudahkan
menginterpretasikan nilai-nilai domain.
 Suatu skema relasi R, yang dituliskan sebagai :
R ( A1, A2, ......, An )
terbentuk dari satu nama relasi R dan satu List attribute : A1, A2, ....., An.
 Setiap attribute Ai merupakan nama dari peran yang dimainkan oleh
beberapa domain D dalam skema realsi R.
 Domain D dari suatu attribute Ai dinotasikan sebagai dom ( Ai ).
 Derajad dari relasi sama dengan jumlah attribute dari skema relasi.
Contoh : skema relasi dengan derajad 4 :
MAHASISWA ( Nama, Nrp, Tgl_lahir, Alamat )
 dom ( Nama ) = Satu set nama-nama mahasiswa dengan
panjang karakter 30.
 dom ( Nrp ) = Satu set nrp mahasiswa berupa 10-digit
nomor pokok mahasiswa yang valid.
 dom ( Tgl_lahir ) = Satu set tgl kelahiran mahasiswa dengan
format : dd-mm-yyyy.
 dom ( Alamat ) = Satu set alamat mahasiswa berupa string
alpha - numerik dengan panjang maks. 40.
 Satu nilai relasi (relation instance) r dari suatu skema realsi R ( A1, A2, .....,
An ) yang dituliskan sebagai : r ( R ) adalah satu set n-tuples r = {t1, t2, ....,
tm }, dimana :
 Setiap n nilai-nilai t = < V1, V2, ....., Vn >, dimana setiap nilai V1 , 1 <=
i <= n merupakan satu elemen dari dom (Ai), atau berupa nilai khusus
Pengantar Basis Data 45

null (belum diketahui atau nilainya memang tidak ada untuk beberapa
tuple).
Definisi nilai relasi di atas dapat juga dinyatakan seperti berikut :
Suatu relasi r( R ) adalah subset dari ’Cartesian Product’ dari domains
yang mendefinisikan R :
R( R ) <= (dom (A1) x dom (A2) x .....x dom (An))
 Dari sem,ua kemungkinan kombinasi yang ada, nilai relasi untuk satu
waktu tertentu ( current relation state ) hanya mencerminkan tuples yang
valid yang menyajikan suatu state tertentu dari dunia nyata.

3.1.2. Karakteristik-karakteristik Relasi


 Pengurutan Tuple dalam suatu Relasi
 Relasi didefinisikan sebagai satu set tuple.
 Secara matematis, elemen-elemen dari suatu set tidak mempunyai
urutan.
Jadi, tuples dalam suatu relasi tidak mempunyai urutan-urutan tertentu.

 Pengurutan nilai dalam suatu tuple


 Berdasarkan definisi sebelumnya bahwa suatu n-tuple merupakan
ordered-list (Satu list terurut) dari n nilai; sehinggan urutan-urutan nilai
dalam suatu tuple (demikian juga urutan attribute dalam suatu relasi)
menjadi penting.

 Nilai-nilai dalam Tuple


 Setiap nilai dalam suatu tuple merupakan satu nilai yang atomic (tidak
dapat dipecah menjadi komponen-komponen yang lebih kecil dalam
kontek model relasional).

 Sehingga Composite dan Multivalued attribute tidak diperbolehkan


dalam model relasional.
Pengantar Basis Data 46

- Attribute-attribute multivalued harus dipisahkan menjadi relasi-


relasi yang terpisah.
- Attribute-attribute composite harus disajikan oleh simple
attributes yang membentuknya.

3.2. CONSTRAINTS
UNTUK MODEL DATA RELASIONAL
1. DOMAIN CONSTRAINTS
Nilai dari setiap attribute suatu relasi harus atomic dari domain attribute
tersebut.

2. KEY CONSTRAINTS
Suatu relasi adalah satu set tuple, dan semua elemen dalam satu set harus
berbeda (tidak boleh terdapat dua tuple yang mempunyai nilai yang sama
untuk semua attributenya).

3. ENTITY INTEGRITY CONSTRAINTS


Dalam suatu relasi, tidak boleh terdapat “Primary Key” yang bernilai kosong
(null).

4. REFERENTIAL INTEGRITY CONSTRAINT


Constraint ini berkaitan dengan konsep FOREIGN KEY ( Kunci Tamu )
antara dua buah relasi yang mempunyai ”relationship”.

KONSEP FOREIGN KEY :


Untuk dua relasi R1 dan R2, satu set attribute FK dalam skema R1 disebut
sebagai kunci tamu dari R2, jika memenuhi 2 attribute sbb :
( i ) Attribute-attribute dalam FK mempunyai domain yang sama dengan
attribute yang menjadi primary key dalam skema relasi R2.
- Attribute-attribute FK dikatakan mengacu pada relasi R2.
Pengantar Basis Data 47

( ii ) Suatu nilai FK dalam suatu tuple t1 dalam R1 mungkin :


a) Berupa suatu nilai PK dalam sembarang tuple t2 dalam R2
Atau
b) Bernilai kosong (tidak ada).
Dalam kasus (a), berlaku t1 [FK] = t2 [PK] dan dikatakan bahwa tuple
t1 mengacu ke tuple t2.

3.3. OPERASI-OPERASI UPDATE PADA RELASI


 Ada 3 operasi dasar : - Insert
- Delete
- Modify
 Penggunaan dari operasi update harus tidak melanggar integrity constraint
yang telah ditentukan pada skema basis data relasional.

1. OPERASI INSERT
 Menyisipkan satu tuple baru ke dalam suatu relasi R.
 Operasi ini dapat melanggar 4 jenis constraint :
a) DOMAIN constraint dapat dilanggar jika suatu nilai attribute yang
diberikan tidak ada dalam domain yang berkorespondensi dengan
attribute tadi.
b) KEY constraint dapat dilanggar jika nilai key dalam tuple baru t sudah
ada dalam tuple lain dalam relasi r(R).
c) ENTITY INTEGRITY dapat dilanggar jika primary key dari tuple baru
t adalah NULL.
d) REFERENTIAL INTEGRITY dapat dilanggar jika nilai dari suatu
foreign key dalam t mengacu ke suatu tuple yang tidak ada dalam
relasi yang diacu.

1.1. Manakah relasi operasi insert berikut yang valid?


Pengantar Basis Data 48

1. Insert <’kolonsky’, ’6776’, ’05-APR-58’, ’6357 Windy Lane Texas’, F,


28000, null, 4 > into EMPLOYEE.
2. Insert <’Zelaya’, ‘9998’, 05-MAY-50’, ‘6357 Windy Lane Texas ‘, F,
28000, ‘9876’, 4> into EMPLOYEE.
3. Insert <’kolonsky’, null, ’05-APR-58’, ’6357 Windy Lane Texas’, F,
28000, null, 4> into EMPLOYEE.
4. Insert <’kolonsky’, ‘6776’, ’05-APR-58’, ‘6357 Windy Lane Texas’, F,
28000, ‘9876’, 7> into EMPLOYEE

1.2. Pilihan tindakan yang dapat dilakukan jika satu atau lebih constraint
dilanggar akibat operasi insert :
1. Menolak (reject) operasi insertion.
Akan berguna jika DBMS menjelaskan mengapa proses insertion ditolak !
2. Berupa memperbaiki alasan penolakan proses insertion.
Insertion diterima jika kemudian user melakukan perubahan nilai-nilai
atribut sehingga insertion dapat diterima.

2. OPERASI DELETE
1. Operasi ini hanya dapat melanggar referential integrity, jika tuple yang
akan dihapus diacu oleh kunci-kunci tamu dari tuple yang lain dalam
database.

2. Manakah dari contoh operasi delete berikut yang valid/ ?


1. Delete tuple dalam Works-on dengan Essn = ’9992’ dan PNO = 10
2. Delete tuple dalam EMPLOYEE dimana SSN = ‘9992’
3. Delete tuple dalam EMPLOYEE dengan SSN = ‘3334’

3. Pilihan tindakan jika suatu deletion melanggar constraint yang telah


ditentukan :
1. Menolak (reject) proses deletion.
Pengantar Basis Data 49

2. Berusaha untuk melakukan ”cascade (propagate deletion)”, yaitu


dengan menghapus sejumlah tuple yang mengacu pada tuple yang akan
dihapus.
3. Melakukan modifikasi nilai-nilai attribute yang mengacu pada tuple
yang dihapus, yaitu setiap nilai diset NULL atau diganti dengan nilai
dari tuple lain yang valid sebagai acuan baru.
 Ingat bahwa jika attribute yang mengacu V8 menyebabkan
pelanggaran adalah bagian dari primary key, maka ia tidak dapat
diset dengan NULL (melanggar entity integrity).
4. Kombinasi 2 dan 3
3. OPERASI MODIFY
 Digunakan untuk merubah nilai-nilai satu atau lebih attribute dalam satu
atau lebih tuple dalam sejumlah relasi R.
 Melakukan modifikasi suatu attribut yang bukan primary key atau bukan
foreign key biasanya tidak akan menimbulkan masalah.
(DBMS hanya perlu untuk mengecek apakah nilai-nilai baru yang
diberikan mempunyai tipe data dan domain yang valid).

Melakukan modifikasi nilai suatu primary key serupa dengan proses


deletion satu teple dan inserting yang lain pada tempat yang sama (karena
menggunakan primary key untuk mengidentifikasi tuple).
 Akibatnya, pilihan-pilihan seperti yang dilakukan pada operasi
INSERT dan DELETE dapat dipakai agar modifikasi tidak melanggar
constrain.

Jika yang dimodifikasikan berupa foreign keys, maka DBMSharus


melakukan pengecekan bahwa nilai-nilai baru yang diberikan mengacu
pada tuple yang ada dalam relasi-relasi ytang diajukan acuan.
Pengantar Basis Data 50

3.4 MENDEFINISIKAN RELASI


 Skema Dasis Data harus didefinisikan pada saat diimplementasikan untuk
digunakan dalam sejumlah aplikasi yang meliputi :
- keputusan mengenai attribute-attribute yang akan dikelompokkan
dalam satu relasi
- menentukan nama-nama yang sesuai untuk relasi dan attribute
- menentukan domain dan tipe data untuk semua attribute yang ada
- mengidentifikasi candidate keys, dan memilih satu primary key untuk
setiap relasi serta menspesifikasikan semua foreign keys.
 Fasilitas pendefinisian sangat tergantung dari DBMS yang
digunakan.

Contoh beberapa definisi relasi dari database COMPANY dalam SQL


(SQLq2):

CREATE TABLE EMPLOYEE


FNAME VARCHAR(15) NOT NULL
MINIT CHAR,
LNAME VARCHAR(15) NOT NULL
SSN CHAR(4) NOT NULL
BDATE DATE,
ADDRESS VARCHAR(30),
SEX CHAR,
SALARY DECIMAL(10,2),
SUPERSSN CHAR(9),
DNO INT NOT NULL DEFAULT

CONSTRAINT EMPPK
PRIMARY KEY(SSN)
CONSTRAIN EMPSUPERFK
FOREIGN KEY(SUPERSSN) REFERENCES EMPLOYEE (SSN)
Pengantar Basis Data 51

ON DELETE SET NULL


ON UPDATE CASCADE,

CONSTRAIN EMPDEPTPK
FOREIGN KEY (DNO) REFERENCE DEPARTMENT (DNUMBER,
ON DELETE SET DEFAULT
ON UPDATE CASCADE)

3.5 ALGORITMA PEMETAAN KE SKEMA ER RELASIONAL


1. untuk setiap entity type E yang regular (non-weak) dalam skema ER, buat
satu relasi R yang attributenya meliputi semua simple attribute dari E.
Untuk suatu composite attribute, hanya komponen simple attributenya
yang dipetakan. Kemudian pilih satu key attribute dari E sebagai primary
key dari R Jika key terpilih adalah composite, maka primary key dari R
dibentuk dari satu set simple attribute dari composite
Note : Dalam langkah pertama ini, keterlibatan kunci tamu dan
relationship attribute jangan dipikirkan dulu.

2. Untuk setiap weak entity type W dalam skema ER dengan owner entity
type E, buat satu relasi R yang attributenya meliputi semua simple
attribute (atau simple component dari composite attribute).
Masukkan sebagai foreign key dalam R, Primary key attribute dari relasi-
relasi yang merupakan owner/pemilik dari W (dapat diperoleh dengan
memperhatikan identifying relationship type dari W).
Primary key dari R dibentuk dari kombinasi antara primary key dari relasi-
relasi pemilik dan partial key dari weak entity type W (jika ada).

3. Untuk setiap binary 1:1 relationship type R dalam skema ER, perhatikan
relasi-relasi S dan T yang berkorespondensi dengan entity type yang
berpartisipasi dalam R. Kemudian, ambil salah satu relasi (misalkan S) dan
cantumkan primary key dari T sebagai foreign key dalam S. Untuk kasus
Pengantar Basis Data 52

ini, S sebaiknya dipilih dari entity type yang berpartisipasi total dalam R
(untuk mengurangi null value dari foreign key yang diambil dari T).

Notes :
Sebagai alternative untuk pemetaan dari 1:1 relationship type ini
adalah dengan menggabungkan kedua entity types menjadi satu relasi
tunggal. Cara ini terutama sangat sesuai bilamana kedua entity typr
berpartisipasi total dan tidak berpartisipasi dalam relationship type
yang lain.

4. Untuk setiap regular (non-weak relasi) binary 1 : N relationship type R,


perhatikan relasi S yang mewakili entity type yang berpartisipasi pada sisi-
N dari relationship type.
Cantumkan primary key dari relasi yang berperan pada sisi-1 sebagai
foreign key dalam S, karena setiap entity instance pada sisi-N terkait
dengan paling banyak satu entity instance pada sisi-1 dari relationship
type. Kemudian, cantumkan semua simple attribute (atau simple
component dari composite attribute) dari 1 relationship type sebagai
attribute dalam S.

5. Untuk setiap binary M : N relationship type R, buat satu relasi baru S


untuk mewakili R. kemudian cantumkan sebagai foreign key dalam S.
Primary key dari relasi-relasi yang mewakili entity type yang
berpartisipasi dalam R; dimana kombinasi dari primary keys ini akan
membentuk primary key dari S juga, cantumkan semua simple attribute
(semua simple component dari composite attribute) dari M:N relationship
type sebagai attribute dari S.
Notes:
Pengantar Basis Data 53

Binary relationship 1 : 1 atau 1 : N selalu dapat dipetakan seperti pada


M:N relationship. Alternatife ini terutama sangat berguna bilamana
relationship instances yang ada sangat sedikit (menghindari null values
dalam foreign key).
Untuk kasus ini, primary key dari relasi ”relationship” hanya akan menjadi
foreign key dari satu ”entity” relasi yang berpartisipasi. Jadi, untuk 1:N
relationship, hanya pada sisi-N, sedang untuk 1:1 adalah entity relasi yang
berpartisipasi total (jika ada) yang dipilih.

6. Untuk setiap multivalued attribute A, buat satu relasi baru R yang


mencantumkan satu attribute yang mewakili A ditambah dengan primary
key K (sebagai foreign key dalam R) dari relasi yang mewakili entity type
atau relationship type yang mempunyai A sebagai attributenya. Primary
key dari R adalah kombinasi A dan K. jika mulltivalued attribute adalah
composite, maka hanya simple componentnya yang dicantumkan.

7. Untuk setiap n-ary relationship type R (n>2), buat satu relasi baru S yang
mewakili R. cantumkan sebagai foreign key attribute dalam S, primary key
dari relasi-relasi yang mewakili entity types yang berpartisipasi juga
cantumkan sebagai attribute dalam S. Semua simple attribute(simple
component dari composite attribute) dalam n-ary relationship type.
Primary key dari S biasanya berupa kombinasi dari foreign key yang
mengacu pada relasi-relasi yang mewakili entity types yang berpartisipasi.
Namun, jika ‘participation constraint’ (min, max) dari satu entity type E
yang berpartisipasi dalam R mempunyai max=1, maka primary key dari S
berupa satu-satu foreign key attribute yang mengacu pada relasi E’ (yang
berkorespondensi dengan E). ini dilakukan karena setiap entity instance e
dalam E hanya akan berpartisipasi dalam paling banyak satu relationship
instance dalam R sehinggaia dapat secara unik mengidentifikasikan
relationship instance dari R.
Pengantar Basis Data 54

KORESPONDENSI ANTARA MODEL ER DENGAN MODEL


RELASIONAL

ER MODELS RELATIONAL MODEL


o Entity type o ”entity” relation
o 1:1 or 1:N relationship o foreign key (”relationship”
type relation)
o M : N relationship type o “relationship” relation and
two Foreign keys
o n-ary relationship o “relationship” relation and
n foreign keys
o simple attribute o attribute
o composite attribute o set of simple component
attributes
o multivalued attribute o relation and foreign key
o value set o domain
o Key attribute o Primary (or secondary) key
Pengantar Basis Data 55

ENTITAS RELATIONSHIP DIAGRAM


(ERD)
Definisi Entity Relational Diagram (ERD)

Penyajian data dengan menggunakan Entity dan relationship

1. Entity

- Entity adalah objek yang dapat dibedakan dalam dunia nyata


- Entity Set adalah kumpulan dari entity yang sejenis
- Entity Set dapat berupa :
o Objek secara Fisik: Rumah, kendaraan, Peralatan
o Objek secara konsep: Pekerjaan, Perusahaan, Rencana

2. Atribut

Karakteristik dari Entity atau relationship, yang menyediakan penjelasan


detail tentang entity atau relationship tersebut.

 Jenis Atribut:

- Nilai Atribut :
Data actual atau informasi yang disimpan pada suatu atribut di
dalam suatu entity atau relationship

- Key
Atribut yang digunakan untuk menentukan suatu Entity secara
unik

- Atribut Simple
Atribut yang bernilai tunggal

Contoh:

nama

pegawai
Pengantar Basis Data 56

- Atribut Multivalue
Atribut yang memiliki sekelompok nilai untuk setiap instant Entity

Contoh Atribut : Atribut Multivalue

Tgl Lahir Gelar NIP Nama

PEGAWAI

- Atribut composite
Suatu atribut yang terdiri dari beberapa atribut yang lebih kecil
yang mempunyai arti tertentu

Contoh:

Nama
Tengah
Nama Depan Nama
belakang

Nama

Pegawai
Pengantar Basis Data 57

- Atribut Derivatif
Suatu atribut yang dihasilkan dari atribut yang lain.

Contoh:

Tgl Lahir Umur

PEGAWAI

3. Relationship

- Definisi
Hubungan yang terjadi antara satu atau lebih entity.
- Relationship Set
Kumpulan Relationship yang sejenis

Contoh:

PEGAWAI KERJA PROYEK

- Derajat dari Relationship


Menjelaskan jumlah Entity yang berpartisipasi dalam suatu
Relationship

 Unary Degree (Derajat Satu)

PEGAWAI
LAPOR

 Binary Degree (Derajat Dua)


Pengantar Basis Data 58

PEGAWAI KERJA DEPART


EMEN

 Ternary Degree (Derajat Tiga)

PEGAWAI KERJA PROYEK

KOTA

4. Cardinality Ratio Constraint

- Definisi :
Menjelaskan batasan Jumlah keterhubungan satu Entity dengan
Entity lainnya.

 Jenis-jenis Cardinality Ratio

 1:1
Pegawai Milik Kendaraan

R1
P1 K1
R2
P2 K2
R3
P3 K3

PEGAWAI MILIK KENDARAAN


Pengantar Basis Data 59

 1:M / N:1

Pegawai Kerja Departemen

r1
p1 d1
r2
p2 d2
r3
p3 d3
r4
p4

PEGAWAI KERJA DEPARTEMEN

 M:N

Pegawai Kerja Proyek

r1
p1 p1
r2
p2 p2
r3
p3 p3
r4

PEGAWAI KERJA PROYEK


Pengantar Basis Data 60

5. Participation Constraint

Definisi:
Menjelaskan apakah keberadaan suatu Entity bergantung pada
hubungannya dengan entity lain

Jenis-Jenis Participation Constraint

1. Total Participation
Keberadaan suatu entity tergantung pada hubungannya dengan
entity lain

PEGAWAI PUNYA BAGIAN

2. Partial Participation
Keberadaan suatu entity tidak tergantung pada hubungannya dengan Entity
lain

PEGAWAI KERJA PROYEK

6. Weak Entity

Definisi:
Weak Entity: suatu entity dimana keberadaan dari entity tersebut
tergantung dari keberadaan entity lain

Entity yang merupakan induknya disebut Identifying Owner dan


relationship-nya
Disebut Identifyimg Relationship
Weak Entity Selalu mempunyai Total Participation Constraint dengan
Identifying Owner
Pengantar Basis Data 61

Contoh Weak Entity:

……. NAMA
NOPEG
.. ……

PEGAWAI MILIK TANGGUNGAN

Simbol-simbol ER-Diagram

Notasi Arti

1. Entity
1.

2. Weak Entity

2.

3. 3. Relationship

4. 4. Identifying Relationship

5. 5. Atribut

6. 6. Atribut Primary Key


_______

7. 7. Atribut Multivalue
Pengantar Basis Data 62

8. 8. Atribut Composite

Transformasi dari ERD ke


Database Relational

1. Setiap tipe Entity dibuat suatu relasi yang memuat semua atribut simple,
sedangkan untuk atribut composite hanya dimuat komponen-
komponennya saja.

ALM1
NOPEG KDPOS

PEGAWAI ALAMAT

PEGAWAI (NO_PEG, ALM1, KDPOS,……)

2. Setiap Relasi yang mempunyai atribut multivalue, buatlah relasi baru


dimana Primary keynya merupakan gabungan dari primary key dari relasi
tersebut dengan atribut multivalue.

……..
NOPRO
LOKASI

PROYEK
Pengantar Basis Data 63

LOKPR(NOPRO, LOKASI)

3. Setiap Unary Relationship 1:N, pada relasi perlu ditambahkan suatu


foreign key yang menunjuk ke nilai primary key-nya.

NOPEG …….

PEGAWAI
KONTROL
Pengantar Basis Data 64

TEKNIK NORMALISASI DALAM PERANCANGAN BASIS DATA


RELASIONAL

Pendahuluan
Perancangan merupakan suatu hal yang sangat penting dalam pembuatan basis
data. Permasalahan yang dihadapi pada waktu perancangan yaitu bagaimana basis
data yang akan dibangun ini dapat memenuhi kebutuhan saat ini dan masa yang
akan datang. Untuk itu diperlukan perancangan basis data baik secara fisik
maupun secara konseptualnya. Perancangan konseptual akan menunjukkan entity
dan relasinya berdasarkan proses yang diiginkan oleh organsisasinya. Untuk
menentukan entity dan relasinya perlu dilakukan analisis data tentang informasi
yang ada dalam spesifikasi di masa yang akan datang.
Suatu basis data dibangun berdasarkan kebutuhan informasi dalam suatu
organisasi, oleh sebab itu pada umumnya perancangan basis data dimulai dari
pengamatan kebutuhan informasi. Proses perancangan basis data , dibagi menjadi
3 tahapan yaitu :
1. Perancangan basis data secara konseptual, tahapan ini merupakan upaya
untuk membuat model yang masih bersifat konsep..
2. Perancangan basis data secara logis, merupakan tahapan untuk memetakan
model konseptual kemodel basis data yang akan dipakai (modal relasional,
hirarkis, atau jaringan). Perancangan ini tidak bergantung pada DBMS
yang akan dipakai, itulah sebabnya perancangan basis data secara logis
terkadang disebut pemetaan model data.
3. Perancangan basis data secara fisis, merupakan tahapan untuk
menuangkan perancangan basis data yang bersifat logis menjadi basis data
fisis yang tersimpan pada media penyimpanan eksternal (yang spesifik
terhadap DBMS yang dipakai ).
Pengantar Basis Data 65

Basisdata
Beberapa pengertian basisdata :
 Basisdata merupakan kumpulan tabel-tabel atau files yang saling berelasi.
 Basisdata merupakan kumpulan data non-redundant yang dapat digunakan
bersama (shared) oleh system aplikasi yang berbeda atau basis data
merupakan kumpulan data non redundant yang saling terkait satu sama
lainya yang dinyatakan oleh atribut-atribut kunci dari table-tabelnya.
Karena tidak semua pengguna basisdata terlatih dengan baik dan penggunanya
terbagi dalam beberapa tingkatan, maka kompleksitas basisdata akan tersembunyi
dari para penggunanya melalui beberapa level abstraksi data, yaitu :
 Level Fisik : merupakan tingkatan terendah dalam abstraksi data yang
menunjukkan bagaimana data disimpan, yang pada umunya tidak terlihat
oleh oleh pengguna atau programmer aplikasinya
 Level konseptual : mengambarkan data apa saja yang sebenarnya (secara
fungsional) disimpan didalam basisdata beserta relasi-relasinya didalam
basisdata, dimana administrator basisdata (DBA) membangun dan
mengolah basisdata, contohnya: penguna akan mengetahui bahwa data
penjualan disimpan didalam tabel-tabel barang, produksi, keuangan,
marketing
 Level View : merupakan tingkatan tertinggi, yaitu pengguna aplikasi dan
programmer hanya mengenal struktur data.

Model Konseptual Basisdata


Perancangan model konseptual basis data dalam sebuah organisasi menjadi tugas
dari Administrator basis data. Model konseptual merupakan kombinasi beberapa
cara untuk memproses data untuk beberapa aplikasi. Model konseptual tidak
tergantung pada aplikasi individual, DBMS digunakan, Hardware komputer dan
model fisiknya. Pada perancangan model konseptual basis data ini penekanan
dilakukan pada struktur data dan relasi antara file. Pada perancangan model
konseptual ini dapat dilakukan dengan menggunakan model data relasional.
Pengantar Basis Data 66

Field (Atribut) Kunci


setiap file selalu terdapat kunci dari file berupa field atau satu set field yang dapat
mewakili record. Misalnya Nomor Pokok Mahasiswa (NPM) merupakan kunci
dari tabel mahasiswa suatu Perguruan Tinggi, setiap pencarian cukup dengan
menyebut nomor mahasiswa tersebut maka dapat diketahui identitas mahasiswa
lainnya seperti nama, alamat dan atribut lainnya.
Nomor Pegawai (NIP) bagi data dosen, NIK untuk data karyawan, Kode_Kuliah
untuk data Mata kuliah, dan lain sebagainya.
Jenis Atribut Pada Entitas
Atribut yang melekat pada suatu entitas ada bermacam tipe seperti yang akan
dijelaskan sebagai berikut :
 Atribut Sederhana : atribut sederhana merupakan atribut atomik yang tidak
dapat lagi dipecah menjadi atribut lain. Contoh
Entitas mahasiswa mempunyai atribut sederhana berupa NIM, Nama
Mahasiswa .
 Atribut Komposit : atribut komposit merupakan atribut yang masih dapat
dipecah menjadi sub-sub atribut yang masing-masing memiliki arti
tersendiri.
Contoh : entitas mahasiswa mempunyai atribut alamat. Alamat disini dapat
dipecah menjadi sub atribut seperti nama_kota, kode_pos.
 Atribut Bernilai Tunggal : yaitu atribut yang hanya memiliki satu nilai
untuk setiap barisnya.
Contoh : entitas mahasiswa mempunyai atribut NPM, Nama, Alamat isi
data dari atribut ini hanya boleh diisi dengan 1 data. Setiap mahasiswa
hanya memiliki 1 NPM, 1 Nama, 1 Alamat.
 Atribut Bernilai Jamak : yaitu atribut yang boleh memiliki lebih dari satu
nilai untuk setiap barisnya.
Contoh : entitas mahasiswa mempunyai atribut Hobby isi data dari atribut
ini boleh lebih dari 1 data. Mahasiswa Roshita memiliki NPM 13402021
beralamat di Jalan Garuda 32 Yogyakarta memiliki Hobby (Olah Raga,
Nyanyi, Masak dan Nonton TV)
Pengantar Basis Data 67

 Atribut Harus Bernilai : yaitu atribut yang harus memiliki nilai data untuk
setiap barisnya. Biasanya atribut seperti ini sudah ditetapkan dalam
perancangan tabelnya sehingga jika dalam pengisian dokosongi akan
terjadi kesalahan.
Contoh : entitas mahasiswa mempunyai atribut NPM dan
Nama_Mahasiswa yang harus diisi datanya, sebab jika tidak diisi akan
terjadi kekacauan dalam basis data.
 Atribut Bernilai Null : yaitu atribut yang boleh tidak memiliki nilai data
untuk setiap barisnya.
Contoh : entitas mahasiswa mempunyai atribut Alamat, Hobby,
Nama_Pacar yang boleh untuk tidak diisi tetapi kalau diisi akan lebih baik,
 Atribut Turunan : yaitu atribut yang nilai-nilainya diperoleh dari
pengolahan atau dapat diturunkan dari atribut lain yang berkaitan.
Contoh : entitas mahasiswa mempunyai atribut IPK yang diperoleh dari
pengolahan atribut Nilai pada tabel (entitas Nilai) dengan kode NIM
mahasiswa yang sama dan diproses sehingga menghasilkan IPK untuk
mahasiswa yang bersangkutan.

Kebergantungan Fungsi
Kebergantungan Fungsi didefinisikan sebagai hubungan antara satu relasi dengan
relasi lainnya.
Misalnya : sebuah relasi R, atribut Y dan R adalah bergantung fungsi pada atribut
X dari R jika dan hanya jika setiap nilai X dalam R punya hubungan dengan tepat
satu nilai Y dalam R (dalam setiap satu waktu). File relasi pegawai atribut berisi :
No Pegawai, No KTP, Nama, Tempat Lahir, Tgl Lahir, Alamat, Kota. Isi dari
atribut nama bergantung pada No Pegawai. Jadi dapat dikatakan bahwa atribut
nama bergantung secara fungsi pada No Pegawai dan Nomor Pegawai
menunjukkan secara fungsi nama. jika anda mengetahui no pegawai maka anda
dapat menentukan nama pegawai tersebut.
Isi dari atribut nama bergantung pada No Pegawai. Jadi dapat dikatakan bahwa
atribut nama bergantung secara fungsi pada No Pegawai dan Nomor Pegawai
Pengantar Basis Data 68

menunjukkan secara fungsi nama. jika anda mengetahui no pegawai maka anda
dapat menentukan nama pegawai tersebut. Notasi untuk kebergantungan fungsi ini
adalah

Teknik Model Data Relasional ada 2 yaitu :


• Teknik Normalisasi
• Teknik Entity Relationship
Namun yang akan dibahas lebih lanjut adalah Teknik Normalisasi.

Teknik Normalisasi
Beberapa pengertian mengenai normalisasi :
 Istilah Normalisasi berasal dari E. F.Codd, salah seorang perintis teknologi
basis data. selain dipakai sebagai metodologi tersendiri untuk menciptakan
struktur tabel 9 relasi) dalam basis data (dengan tujuan utnuk mengurangi
kemubaziran data) , normalisasi terkadang hanya diipakai sebagai
perangkat verifikasi terhadap tabel-tabel yang dihasilkan oleh metodologi
lain ( misalnya E-R). Normalisasi memberikan panduan yang sangat
membantu bagi pengembang untuk mencegah penciptaan struktur tabel
yang kurang fleksibel atau mengurangi keflekxibelan.
 Kroenke mendefinisikan normalisasi sebagai proses untuk mengubah
suatu relasi yang memiliki masalah tertentu ke dalam dua buah relasi atau
lebih yang tida memiliki masalah tersebut. Masalah yang dimaksud oleh
kroenke ini sering disebut dengan istilah anomali.
 Normalisasi merupakan sebuah teknik dalam logical desain sebuah basis
data / database, teknik pengelompokkan atribut dari suatu relasi sehingga
membentuk struktur relasi yang baik (tanpa redudansi).
 Normalisasi adalah suatu proses memperbaiki / membangun dengan model
data relasional, dan secara umum lebih tepat dikoneksikan dengan model
data logika.
Pengantar Basis Data 69

Proses normalisasi adalah proses pengelompokan data elemen menjadi tabel-tabel


yang menunjukkan entity dan relasinya. Pada proses normalisasi dilakukan
pengujian pada beberapa kondisi apakah ada kesulitan pada saat
menambah/menyisipkan, menghapus, mengubah dan mengakses pada suatu basis
data. Bila terdapat kesulitan pada pengujian tersebut maka perlu dipecahkan relasi
pada beberapa tabel lagi atau dengan kata lain perancangan basis data belum
optimal.
Tujuan dari normalisasi itu sendiri adalah untuk menghilangkan kerangkapan
data, mengurangi kompleksitas, dan untuk mempermudah pemodifikasian data.
Tahapan Normalisasi

1. Bentuk Normal Kesatu (1 NF / First Normal Form)


Bentuk Bentuk Normal Kesatu mempunyai ciri yaitu setiap data dibentuk
dalam file flat, data dibentuk dalam satu record demi satu record dan nilai
dari field berupa “atomic value”. Tidak ada set atribut yang berulang ulang
atau atribut bernilai ganda (multi value). Tiap field hanya satu pengertian,
bukan merupakan kumpulan data yang mempunyai arti mendua. Hanya
satu arti saja dan juga bukanlah pecahan kata kata sehingga artinya lain.
Pengantar Basis Data 70

Atom adalah zat terkecil yang masih memiliki sifat induknya, bila dipecah
lagi maka ia tidak memiliki sifat induknya.
Contoh :
Kelas (Kode Kelas, Nama Kelas, Pengajar)
Ini merupakan bentuk 1NF karena tidak ada yang berganda dan tiap atribut
satu pengetian yang tunggal
Contoh Data

Mahasiswa (NPM, Nama, Dosen Wali, Semester1, Semester2 Semester3)


Mahasiswa yang punya NPM, Nama, Dosen Wali mengikuti 3 mata
kuliah. Di sini ada perulangan semester sebanyak 3 kali. Bentuk seperti ini
bukanlah 1NF.

2. Bentuk Normal Kedua (2NF)


Bentuk Normal kedua mempunyai syarat yaitu bentuk data telah
memenuhi kriteria bentuk Normal Kesatu. Atribut bukan kunci haruslah
bergantung secara fungsi pada kunci utama, sehingga untuk membentuk
Normal Kedua haruslah sudah ditentukan kunci-kunci field. Kunci field
harus unik dan dapat mewakili atribut lain yang menjadi anggotanya. Dari
contoh relasi mahasiswa pada bentuk Normal Kesatu, terlihat bahwa kunci
Pengantar Basis Data 71

utama adalah NPM. Nama Mahasiswa dan Dosen Wali bergantung pada
NPM, Tetapi Kode Semester bukanlah fungsi dari Mahasiswa maka file
siswa dipecah menjadi 2 relasi yaitu :
Relasi Mahasiswa

Dan
Relasi Ambil Kuliah

3. Bentuk Normal Ketiga (3NF)


Untuk menjadi bentuk Normal Ketiga maka relasi haruslah dalam bentuk
Normal Kedua dan semua atribut bukan primer tidak punya hubungan
yang transitif. Artinya setiap atribut bukan kunci harus bergantung hanya
pada kunci primer secara menyeluruh. Contoh pada bentuk Normal kedua
di atas termasuk juga bentuk Normal Ketiga karena seluruh atribut yang
ada di situ bergantung penuh pada kunci primernya.
Boyce-Codd Normal Form (BNCF)
Boyce-Codd Normal Form mempunyai paksaan yang lebih kuat dari
bentuk Normal ketiga. Untuk menjadi BNCF, relasi harus dalam bentuk
Normal Kesatu dan setiap atribut dipaksa bergantung pada fungsi pada
atribut super key.
Pada contoh dibawah ini terdapat relasi Seminar, Kunci Primer adalah
NPM + Seminar. Siswa boleh mengambil satu atau dua seminar. Setiap
seminar membutuhkan 2 pembimbing dan setiap siswa dibimbing oleh
salah satu diantara 2 pembimbing seminar tersebut. Setiap pembimbing
Pengantar Basis Data 72

hanya boleh mengambil satu seminar saja. pada contoh ini NPM dan
Seminar menunjukkan seorang Pembimbing.
Relasi Seminar

Bentuk Relasi Seminar adalah bentuk Normal Ketiga, tetapi tidak BCNF
karena Kode Seminar masih bergantung fungsi pada Pembimbing, jika
setiap Pembimbing dapat mengajar hanya satu seminar. Seminar
bergantung pada satu atribut bukan super key seperti yang disayaratakan
oleh BCNF. Maka relasi Seminar harus dipecah menjadi dua yaitu :

Penerapan Bentuk Normalisasi


Proses perancangan basis data dapat dimulai dari dokumen dasar yang dipakai
dalam sistem sesungguhnya. Kadang-kadang basis data dibentuk dari sistem nyata
yang mempunyai bentuk masih belum menggambarkan entitas-entitas secara baik.
Sebagai contoh basis data yang dibangun dari daftar faktur pembelian sebagai
berikut :
Pengantar Basis Data 73

Langkah Pertama
Bentuklah menjadi tabel Un-Normalized, dengan mencantumkan semua field data
yang ada.

Menuliskan semua data yang akan direkam, bagian yang doubel tidak perlu
dituliskan. Terlihat record-record yang tidak lengkap, sulit untuk membayangkan
bagaimana bentuk record yang harus dibentuk untuk merekam data tersebut.
Langkah Kedua
Ubahlah menjadi bentuk Normal Kesatu dengan memisahkan data pada field-field
yang tepat dan bernilai atomik, juga seluruh record harus lengkap datanya. Bentuk
file masih flat.
Dengan bentuk Normal Kesatu ini telah dapat dibuat satu file dengan 11 field
yaitu No faktur, Kode Suplier, Nama Suplier, Kode Barang, Nama Barang,
Tanggal, Jatuh Tempo, Quntity, Harga, Jumlah, Total.
Pengantar Basis Data 74

Namun bentuk Normal Kesatu ini mempunyai banyak kelemahan diantaranya


yaitu :
• Penyisipan data
Kode Suplier dan Nama Suplier tidak bisa ditambahkan tanpa adanya
transaksi pembelian.
• Penghapusan data
Jika salah satu record dihapus maka semua data yang ada di situ akan
terhapus juga.
• Pengubahan data
Data suplier ditulis berkali-kali (Kode dan Nama). Jika suatu saat terjadi
perubahan Nama suplier maka harus mengganti semua record yang ada data
supliernya. Bila tidak maka akan terjadi inkonsistensi.
• Redundansi
Field jumlah merupakan redundansi karena setiap harga dikalikan kuantitas
hasilnya adalah jumlah, sehingga field ini dapat dibuang. Bila tidak maka
dapat mengakibatkan inkonsistensi jika terjadi perubahan harga.
Pengantar Basis Data 75

Langkah Ketiga
Pembentukan Normal Kedua dengan mencari field kunci yang dapat dipakai
sebagai patokan dalam pencarian dan yang mempunyai sifat yang unik. Melihat
kondisi dari permasalahn faktur di atas dapat diambil kunci kandidat sbb :
 No faktur
 Kode Suplier
 Kode Barang
Buatlah tiga tabel dengan kunci tersebut, lihatlah kebergantungan fungsional field
lain terhadap kunci, maka didapatkan tabel sebagai berikut :

Dengan pemecahan seperti di atas maka sebagian dari pertanyaan pengujian pada
bentuk normal kesatu yaitu masalah penyisipan, penghapusan dan pengubahan
dapat dijawab. Data suplier dapat ditambahkan kapan saja tanpa harus ada
transaksi pembelian. Namun permasalahan masih ada yaitu pada tabel nota.
 Field Kuantitas dan Harga tidak bergantung peenuh pada kunci primer
nomor nota, ia juga bergantung fungsi pada kode barang. Hal ini disebut
sebagai kebergantungan yang transitif dan harus dipisahkan dari tabel.
 M = redundansi masih terjadi, yaitu setiap kali satu nota yang terdiri dari 5
macam barang yang dibeli maka 5 kali pula nota dituliskan ke nomor nota,
tanggal nota, tempo dan total. Ini harus dipisahkan bila terjadi penggandaan
tulisan yang berulang-ulang.
Pengantar Basis Data 76

Langkah Ke 4
Bentuk normal ketiga mempunyai syarat setiap tabel tidak mempunyai field yang
bergantung transitif, harus bergantung penuh pada kunci utama. Maka
terbentuklah tabel sebagai berikut :

Langkah Ke-5
Pengujian di sini untuk memastikan kebenaran isi tabel dan hubungan antara tabel
tersebut. Ujian bahwa setiap tabel haruslah punya hubungan dengan tabel yang
lainnya. Bila tidak ada penghubungan antar tabel maka dapat dikatakan
perancangan untuk membuat satu basis data adalah gagal.
Pengantar Basis Data 77

Langkah Ke-6 Relasi Antar tabel


Gambarkan hubungan relasi antar file yang ada sebagai berikut :

Pengertian relasi di atas adalah


 Satu supplier punya banyak nota
 Nota punya relasi dengan suplier bukan sebaliknya suplier punya relasi
terhadap nota.
 Satu nota punya banyak transaksi barang
 Satu barang terjadi beberapa kali transaksi pembelian barang.
Langkah Ke-7
Permasalahan di atas hanya terbatas pada satu dokumen Faktur pembelian barang,
padahal pada kenyataannya tentu faktur tersebut mempunyai dokumen pelengkap
misalnya nota penjualan barang, laporan stok barang, laporan penjualan, laporan
pembelian dan masih banyak lagi laporan dan dokumen data enty lainya.
Dengan langkah-langkah perancangan seperti di atas maka diperoleh field-field
untuk melengkapi tabel-tabel yang ada dalam satu basis data. Misalnya tabel
barang dengan bertambahnya field yang lain menjadi :
Pengantar Basis Data 78

STRUCTURE QUERY LANGUAGE

Structure Query Language (SQL) merupakan komponen bahasa relational


database system. SQL merupakan bahasa baku (ANSI/SQL), non
procedural, dan berorientasi himpunan (set-oriented language). SQL
dapat digunakan baik secara interaktif atau ditempelkan (embedded)
pada sebuah program aplikasi.

Komponen-Komponen SQL

a. Data Definition Language (DDL) :


Digunakan untuk mendefinisikan data dengan menggunakan perintah :

create, drop, alter.

b. Data Manipulation Language (DML) :


Digunakan untuk memanipulasi data dengan menggunakan perintah : select,

insert, update, delete.

Data Manipulation Language merupakan bagian terpadu bahasa SQL.

Perintah-perintahnya dapat dibuat secara interaktif atau ditempelkan pada

sebuah program aplikasi. Pemakai hanya perlu menentukan 'APA' yang ia

inginkan, DBMS menentukan 'BAGAIMANA' cara mendapatkannya.

c. Data Control Language (DCL) :


Digunakan untuk mengontrol hak para pemakai data dengan perintah :
grant, revoke
Pengantar Basis Data 79

SQL
STRUCTURED
QUERY
LANGUAGE

DEFINITION MANIPULATION CONTROL

DDL DML DCL

CREATE SELECT GRANT


DROP INSERT REVOKE
ALTER UPDATE
DELETE

DATA DEFINITION LANGUAGE

1. CREATE TABLE
Fungsi : membuat tabel
Sintaks : CREATE TABLE tbname
(col 1 data type data spec,
col 2 data type data spec,
.
.
PRIMARY KEY (col1,……))

Contoh :
CREATE TABLE PERSONEL
(REGNO CHAR(10) NOT NULL,
NAME CHAR(45) NOT NULL,
Pengantar Basis Data 80

ADDRESS CHAR(45),
BIRTH DATE NOT NULL WITH DEFAULT,
PRIMARY KEY (REGNO))
NULL
Spesifikasi NULL, NOT NULL, NOT NULL WITH DEFAULT

NULL :
dapat diinterpretasikan sebagai nilai yang tidak diketahui atau tidak tersedianya
suatu nilai. Null bukan berarti kosong (blank) atau 0 (Nol)
NOT NULL :

pemakai atau program harus memberikan nilai-nilai pada saat memasukkan

record

NOT NULL WITH DEFAULT :

nilai default disimpan pada saat record dimasukkan tanpa nilai yang ditentukan

untuk kolom ini.

Nilai default-nya :
Nol untuk tipe field NUMERIC
Blank untuk tipe field CHARACTER
CURRENT DATE untuk tipe field DATE
CURRENT TIME untuk tipe field TIME

Pada saat membuat tabel, salah satu atribut tersebut di atas dispesifikasikan pada

sebuah kolom.
Pengantar Basis Data 81

2. CREATE VIEW
Fungsi : membuat tabel view.
View merupakan bentuk alternatif penyajian data dari satu atau lebih
tabel. View dapat berisi semua atau sebagian kolom yang terdapat
pada tabel dimana kolom tersebut didefinisikan.

Tujuan membuat view :

 Meningkatkan keamanan data


 Meningkatkan kemandirian data
 Penyederhanaan bagi end user (data yang sedikit, nama-nama kolom yang
baru dan dapat dibaca dengan lebih baik)

Properti :

 Tidak terdapatnya data tambahan


 View mencakup subset kolom dan / atau baris
 View dapat berisikan data dari beberapa tabel dan / atau tabel-tabel view
lainnya
 View dapat berisikan perolehan data, misal : nilai rata-rata
 Manipulasi data melalui view terbatas

Sintaks : CREATE VIEW viewname (column1, column2, ……..)


AS SELECT statement FROM tbname
[WITH CHECK OPTION]

Keterangan : View-name : nama view yang akan dibuat. Column :

nama atribut untuk view Statement : atribut yang dipilih dari tabel basis

data. Tabel-name : nama tabel basis data.

Contoh :
Pengantar Basis Data 82

CREATE VIEW VPERSON (REGNO, NAME) AS


SELECT REGNO, NAME FROM PAUL.PERSONEL

3. CREATE INDEX
Fungsi : membuat index
Sintaks : CREATE [UNIQUE] INDEX indexname ON
nama_table (nama_kolom)
Contoh :
CREATE UNIQUE INDEX PRSONIDX
ON PERSONEL(REGNO)

Dengan indeks memungkinkan suatu tabel diakses dengan urutan


tertentu tanpa harus merubah urutan fisik dari datanya dan dapat pula
diakses secara cepat melalui indeks yang dibuat berdasar nilai field
tertentu. Spesifikasi UNIQUE akan menolak key yang sama dalam file.

4. DROP TABLE
Fungsi : menghapus Tabel

Sintaks : DROP TABLE tbname

Contoh : DROP TABLE PERSONEL

Dengan perintah itu obyek lain yang berhubungan dengan tabel tersebut

otomatis akan dihapus atau tidak akan berfungsi seperti :

- semua record dalam tabel akan terhapus


- index dan view pada tabel akan hilang
- deskripsi tabel akan hilang
Pengantar Basis Data 83

5. DROP VIEW
Fungsi : menghapus view
Sintaks : DROP VIEW viewname
Contoh : DROP VIEW VPERSON

6. DROP INDEX
Fungsi : menghapus indexSintaks : DROP INDEX indexname

Contoh : DROP INDEX PRSONIDX

7. ALTER

Fungsi : merubah atribut pada suatu tabel

Sintaks : ALTER TABLE tbname

MODIFY (nama_kolom tipe_kolom) ADD


(nama_kolom tipe_kolom [[before, nama_kolom]])
DROP (nama_kolom tipe_kolom)

Contoh : merubah Tabel TABX dengan menambah Field D.

ALTER TABLE TABX


ADD D CHAR(3)

DATA MANIPULATION LANGUAGE

1. INSERT
FUNGSI : MENAMBAH BARIS (RECORD) BARU
Pengantar Basis Data 84

Sintaks : INSERT INTO tbname (col1, ...) VALUES


(value1, ...)
Catatan :
Sintaks tersebut dapat digunakan jika jumlah kolom = jumlah nilai,
tetapi jika dalam tabel semua kolom akan diisi dapat digunakan sintaks
berikut ini :Sintaks : INSERT INTO tbname
VALUES (value1, value2, ...) Nilai-nilai diisikan sebanyak
kolom yang terdapat di tabel tersebut.

2. UPDATE
Fungsi : merubah record

Sintaks : UPDATE tbname SET field = ekspresi


WHERE kondisi

3. DELETE
Fungsi : menghapus record

Sintaks : DELETE FROM tbname WHERE


kondisi
4. SELECT
Fungsi : menampilkan record

Sintaks : SELECT [DISTINCT] colname FROM tbname


[WHERE kondisi] [GROUP BY kondisi]
[HAVING kondisi] [ORDER BY kondisi]
Contoh Kasus DDL :

 Membuat Tabel (CREATE TABLE)


1. CREATE TABLE S(Sn Char(5) NOT NULL,
Sname Char(20) NOT NULL,
Pengantar Basis Data 85

Status Smallint NOT NULL,


City Char(15) NOT NULL);

2. CREATE TABLE P
(Pn Char(6) NOT NULL,
Pname Char(20) NOT NULL,
Color Char(6) NOT NULL,
Weight Smallint NOT NULL);

3. CREATE TABLE SP
(Sn Char(5) NOT NULL,
Pn Char(6) NOT NULL,
QTY INTEGER NOT NULL);

4. CREATE UNIQUE INDEX Sidx ON S(Sn);


CREATE UNIQUE INDEX Pidx ON P(Pn);
CREATE INDEX Sdx ON SP(Sn);
CREATE INDEX Pdx ON SP(Pn);

 Modifikasi Table P dengan perintah :


RENAME COLUMN P.COLOR TO WARNA
ALTER TABLE P ADD (City CHAR(15) NOT NULL)

 Membuat View (CREATE VIEW)1. Membuat view untuk suplier yang


statusnya lebih besar dari 15

CREATE VIEW GOOD_SUPPLIERS AS SELECT


Sn, Status, City FROM S WHERE Status >
15;

2. Membuat view yang berisi supplier yang tinggal di Paris


Pengantar Basis Data 86

CREATE VIEW Paris_Suppliers AS SELECT * FROM


Supliers WHERE City = ' Paris '
3. Membuat view dengan mengganti nama_atributnya
CREATE VIEW Parts (PNum, Part_Name, WT)
AS SELECT P#, Pname, Weight FROM Part
WHERE COLOR = 'Red'
Pengantar Basis Data 87

Contoh Kasus DML :


 Menambah record (INSERT)

INSERT INTO S VALUES ('S1','Smith',20,'London');INSERT INTO S


VALUES ('S2','Jones,10,'Paris');INSERT INTO S VALUES
('S3','Blake',30,'Paris')

Tabel S, P dan SP isikan dengan data-data sebagai berikut :

TABEL S
Sn Sname Status City
S1 Smith 20 London
S2 Jones 10 Paris
S3 Blake 30 Paris
S4 Clark 20 London
S5 Adams 30 Athens

TABEL P
Pn Pname Warna Weight City
P1 Nut Red 12 London
P2 Bolt Green 17 Paris
P3 Screw Blue 17 Rome
P4 Screw Red 14 London
P5 Cam Blue 12 Paris
P6 Cog Red 19 London

TABEL SP
Sn Pn qty
S1 P1 300
S1 P2 200
S1 P 40
S1 P4 200
S1 P5 100
S1 P6 100
S2 P1 300
S2 P2 400
S3 P2 200
S4 P2 200
Pengantar Basis Data 88

S4 P4 300
S4 P5 400

 Merubah record (UPDATE)


1. Merubah data (record) pada tabel P yang mempunyai nomor part
P2, warnanya dirubah menjadi Kuning dan beratnya ditambah 5

UPDATE P SET Warna = 'Yellow', Weight =


Weight + 5 WHERE Pn = 'P2'
2. Merubah record pada tabel S, statusnya menjadi dua kali status
awal untuk supplier yang bertempat tinggal di kota London

UPDATE S SET Status = 2 * Status WHERE City =


'London'

 Menghapus record (DELETE)


Menghapus record pada tabel S yang nomor supplier-nya S5

DELETE FROM S
WHERE Sn ='S5'

 Menampilkan record (SELECT 1 tabel)


1. Menampilkan semua data supplier
SELECT * FROM S
atau
SELECT Sn, Sname, Status, City FROM S
Pengantar Basis Data 89

2. Menampilkan semua nilai Pn pada tabel SP

SELECT Pn FROM SP

3. Menampilkan nomor supplier dan status untuk supplier yang


tinggal di Paris

SELECT Sn, Status FROM S


WHERE City ='Paris'

4. Menampilkan no.supplier yang tinggal di Paris dengan status > 20


SELECT Sn FROM S
WHERE City ='Paris" AND Status > 20

5. Menampilkan jumlah pengiriman P1


SELECT COUNT(*) FROM SP
WHERE Pn = 'P1'

6. Perintah untuk menghindari hasil data yang sama terulang


kembali (distinct)

SELECT DISTINCT Pn FROM SP

7. Menampilkan no.supplier dan status bagi supplier yang tinggal di


Paris dalam urutan status menurun
SELECT Sn,Status FROM S
WHERE City = 'Paris'
ORDER BY Status desc

8. Menampilkan no.Part dari semua part yang dipasok oleh lebih dari
seorang supplier SELECT Pn FROM SP
Pengantar Basis Data 90

GROUP BY Pn
HAVING COUNT(*) > 1

9. Menampilkan semua part yang nomornya dimulai dengan huruf C

SELECT * FROM P
WHERE Pname LIKE 'C%'

 Menampilkan record (SELECT lebih dari satu tabel / JOIN)


1. Menampilkan semua supplier dan part yang keduanya bertempat
tinggal pada kota yang sama

SELECT Sn, Sname,S tatus, S.City , Pn, Pname, Warna, Weight


FROM S,P
WHERE S.City = P.City

2. Menampilkan nama supplier yang memasok barang dengan


nomor part P2

SELECT Sname FROM S, SP


WHERE S.Sn = SP.Sn AND SP.Pn = 'P2'

3. Menampilkan nama supplier yang memasok part berwarna merah


SELECT Sname FROM S, SP, P
WHERE S.Sn = SP.Sn
AND SP.Pn = P.Pn
AND P.COLOR = 'RED'

 Menampilkan record (SELECT lebih dari satu tabel / SELECT


Bertingkat)
Pengantar Basis Data 91

1. Menampilkan nama supplier yang memasok barang dengan


nomor part P2
SELECT Sname FROM S WHERE Sn IN
(SELECT Sn FROM SP WHERE Pn = 'P2')
atau
SELECT Sname FROM S WHERE Sn = ANY
(SELECT Sn FROM SP WHERE Pn = 'P2')

2. Menampilkan nama supplier yang memasok part berwarna merah

SELECT Sname FROM S WHERE Sn IN


(SELECT Sn FROM SP WHERE Pn IN
(SELECT Pn FROM P WHERE Warna = 'Red'))

3. Menampilkan no.supplier dengan nilai status lebih kecil daripada


nilai maksimum status yang ada pada tabel S

SELECT Sn FROM S WHERE Status <


(SELECT MAX(Status) FROM S)

4. Menampilkan nama supplier yang tidak memasok barang dengan


nomor part P2

SELECT Sname FROM S WHERE Sn NOT IN


(SELECT Sn FROM SP WHERE Pn = 'P2')

5. Menampilkan semua nomor supplier yang sama lokasinya dengan


S1

SELECT Sn FROM S WHERE CITY =


(SELECT CITY FROM S WHERE Sn = 'S1')
Pengantar Basis Data 92

 Fungsi Perhitungan
COUNT : jumlah baris dan kolom
SUM : jumlah nilai dam kolom
AVG : rata - rata nilai dalam kolom
MAX : nilai terbesar dalam kolom
MIN : nilai terkecil dalam kolom

Untuk SUM dan AVG nilainya harus numerik (INT, SMALLINT,

FLOAT). Fungsi-fungsi tsb jika dikenakan pada nilai yang NULL maka

nilainya akan diabaikan kecuali untuk COUNT(*)

1. Menghitung jumlah supplier


SELECT COUNT(*) FROM S

atau
SELECT COUNT (Sn) FROM S

2. Menampilkan nomor part dan total kuantitas pengiriman dari


setiap part

SELECT Pn, SUM(QTY) FROM SP


GROUP BY Pn

3. Menghitung jumlah kuantitas dari P2 yang telah disupply

SELECT SUM (QTY) FROM SP WHERE Pn = 'P2'

4. Menampilkan jumlah pengiriman barang dengan nomor P4 dan


dipasok oleh nomor suppplier S1
Pengantar Basis Data 93

SELECT COUNT(*) FROM SP


WHERE Pn = 'P4' AND Sn = 'S1'

5. Menampilkan nomor part dan total kuantitas dari masing-masing


part

SELECT Pn, SUM(QTY) FROM SP


GROUP BY P3

DATA CONTROL LANGUAGE

1. GRANT
Fungsi : digunakan untuk memberikan izin akses kepada user

Sintaks : GRANT privileges ON tbname TO user

Contoh :
GRANT SELECT ON CLUB TO PUBLIC
GRANT SELECT, INSERT, UPDATE, DELETE ON CLUB
TO USER01

2. REVOKE
Fungsi : digunakan untuk mencabut izin akses kepada user

Sintaks : REVOKE privileges ON tbname FROM user

Contoh :
Pengantar Basis Data 94

REVOKE INSERT, UPDATE, DELETE ON CLUB FROM


USER01
REVOKE ALL ON CLUB FROM PUBLIC
DAFTAR PUSTAKA

Fathansyah, 2004. Buku Teks komputer Basis Data, Penerbit Informatika


Kadir, Abdul. 2003. Konsep dan tuntutan Praktis Basis Data. Yogyakarta : Penerbit Andi
Kadir, Abdul. 2009. Dasar Perancangan dan Implementasi Database Relational.
Yogyakarta: Penerbit Andi
Kristanto, Harianto. Ir. 1994. Konsep dan perancangan Database. Yogyakarta: Penerbit
Andi.

Anda mungkin juga menyukai