Teknologi Basis Data 1 - Rangga Rizwanur`s Blog

advertisement
08 Teknologi Basis Data 1
Pengantar
Teknologi Informasi
Sumber:
• Blog Faisal Akib: http://faisalakib.net/
• Download: http://download.faisalakib.net/
• Artikel Kuliah: http://teknik-informatika.com/
08 Teknologi Basis Data 1
Halaman 1
Modul 8 : Teknologi Basis-Data (1)
Sub Pokok bahasan : 8.1 Defenisi dan Terminologi
8.2 Peranan Basis-Data
8.3 Model Data
8.4 Sistem Manajemen Basis Data
8.5 SQL
Tujuan Pembelajaran: Setelah mengikuti perkuliahan ini mahasiswa diharapkan mampu
membuat abstraksi data sebuah objek, model basis data baik
dengan model hirarkis, jaringan, relasional, relasi entitas, dan
model berbasis objek.
Gambaran Singkat
: Pada perkuliahan ini akan dibahas mengenai peranan basis data
pada sistem informasi, teknik-teknik pemodelan data, dan berbagai
sistem manajemen basis data..
Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/
08 Teknologi Basis Data 1
Halaman 2
Manajemen organisasi memerlukan pengambilan keputusan, baik dalam operasional sehari-hari,
maupun dalam perencanaan strategis ke masa depan. Proses pengambilan keputusan harus dilandasi
oleh data dan informasi yang tepat waktu dan tepat isi agar keputusan yang diambil tepat sasaran.
Informasi diperoleh dari pengolahan data, dan pengolahan data dilaksanakan oleh sistem informasi
dengan dukungan teknologi informasi.
Data adalah bahan baku informasi dan dikumpulkan dalam suatu basis-data (database) agar
pengumpulan, penyimpanan, pemeliharaan, pengolahan, dan pengamanan-nya dapat dilaksanakan
secara effektif dan effisien. Sebagai contoh suatu institusi akademik harus membangun database
akademik, minimal memuat data mahasiswa, data dosen, data matakuliah, data ruangan, jadwal,
sehingga dapat diperoleh informasi yang tepat tentang penyelenggaran akademik institusi tersebut.
Agar suatu database yang effektif dapat dibangun, diperlukan pengetahuan dasar tentang database.
8.1 Definisi dan Terminologi
Data adalah representasi objek yang menjadi perhatian, misalnya bila mahasiswa menjadi perhatian
maka dikumpulkan data yang dapat mewakili objek mahasiswa, misalnya nama, tanggal lahir, jenis
kelamin, agama, alamat, dan sebagainya. Apabila kumpulan representasi data ini direkam dan
disimpan maka diperoleh file data. Informasi tentang mahasiswa dapat diperoleh dengan cara
mengolah kumpulan data mahasiswa tersebut, misalnya dapat diperoleh informasi tentang komposisi
umur mahasiswa, tentang komposisi agama, jenis kelamin dan sebagainya.
Adakalanya diperlukan lebih dari satu file yang saling berkaitan untuk merepresentasikan suatu objek,
kumpulan file yang diatur dan saling berkaitan (memiliki relasi) disebut sebagai “database” (atau
pangkalan data). Informasi dapat diperoleh dengan cepat dan tepat apabila basisdata telah tersusun
rapi dan sempurna. Database harus merepresentasi-kan objek secara sempurna, agar bisa
memberikan informasi yang tepat, misalnya database nasabah bank harus memuat data nasabah
secara lengkap dan mutakhir, kalau tidak maka informasi tentang keadaan keuangan nasabah akan
kacau. Database juga harus memiliki kemampuan untuk mengamankan data yang dikandungnya
sehingga tidak dapat dibaca, digunakan, diubah, dan dirusak oleh orang yang tidak berhak.
Database (basisdata) dapat pula diumpamakan sebagai suatu lemari arsip, dimana dalam pengelolaannya memerlukan aturan-aturan tertentu agar suatu arsip mudah ditemukan, misalnya dibundel
menurut kelompok dan jenis arsipnya, kemudian diberi nomer yang mengikuti suatu sistem
penomoran arsip, lalu bundel-bundel arsip ini ditempatkan pada lemari mengikuti urutan tertentu.
Pada sistem basisdata digital, setiap bundel adalah file data, dimana didalamnya direkam record-data
yang sejenis. Antara satu file dengan file lainnya terdapat relasi, dan bila ada file yang tidak memiliki
relasi dengan file lain maka sebenarnya file tersebut bukan anggota dari basisdata.
Data adalah representasi dari fakta dunia nyata yang mewakili suatu objek yang sedang
ditinjau (manusia, barang, peristiwa, hewan, konsep, keadaan, dsb), dan direkam dalam
bentuk huruf, kata, angka, simbol, gambar, bunyi, atau kombinasinya. Base adalah basis yang
dapat diartikan sebagai gudang, markas, tempat berkumpul dari suatu objek atau representasi
objek.
Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/
08 Teknologi Basis Data 1
Halaman 3
Definisi : Basisdata dapat didefinisikan dalam berbagai cara:
Kumpulan file data yang saling berhubungan (berelasi) dan diorganisasi sedemikian rupa agar
dapat diakses dengan mudah dan cepat.
Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan
tanpa pengulangan (redundansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan
(Fathansyah, 1999).
Kumpulan file-file yang saling berelasi, relasi tersebut ditunjukkan dengan kunci dari tiap file
yang ada untuk digunakan dalam satu lingkup perusahaan, instansi (Kristanto, 1994).
Kumpulan file data yang terorganisasi, terintegrasi, dan bisa dipakai bersama (C.J Date, 1981)
Kumpulan rekaman data berbagai tipe yang memiliki relasi satu sama lain (Martin, 1977)
Dalam semua definisi diatas ditonjolkan adanya relasi / hubungan, tanpa pengulangan,
pengelompokan, peng-organisasian, effisiensi, dan effektivitas.
Terminologi yang digunakan dalam Database cukup bervariasi sehingga dianggap perlu untuk
menggunakan istilah yang sekiranya dapat dipakai bersama dengan suatu pengertian yang sama.
Entity : Entitas, adalah objek yang bisa mewakili orang, tempat, kejadian, atau konsep yang
informasi-nya perlu direkam. Pada bidang administrasi akademik, entitas adalah mahasiswa,
matakuliah, dosen, ruangan, daftar pustaka, pembayaran, nilai ujian, dsb.
Attribute : Atribut, suatu nama atau sebutan untuk mewakili suatu entitas. Misalnya mahasiswa
memiliki atribut seperti NoInduk, Nama, Alamat, Tgl-Lahir, Tempat Lahir, Agama, Status, Jenis
Kelamin, dsb.
Data Value : Nilai data, yaitu nilai yang dimiliki atau diberikan kepada suatu atribut, misalnya
atribut Nama diberi nilai “Ahmad”, Tgl-Lahir diberi nilai “27-Maret-1978”, dsb.
Data Field : Field data, adalah elemen data yang memiliki nilai. Pada hakekatnya Field data sama
fungsinya dengan Atribut data. Nama, Alamat, Jenis Kelamin, dsb, apabila nilainya direkam ke
dalam suatu file maka disebut Field-data.
Record / Tuple : Record atau Rekaman data, merupakan kumpulan elemen data, atau kumpulan
beberapa nilai Atribut, atau kumpulan Field-data yang mewakili satu Entitas secara lengkap.
Misalnya: Entitas pegawai memiliki record: NIP, Nama, Alamat, Pangkat, Jabatan, dsb.
File : File data, adalah kumpulan Record data yang sejenis yang direkam ke dalam satu media,
memiliki Atribut-atribut yang sama, namun nilai data-nya berbeda.
Database : Basis-data, kumpulan File data yang dipadu dan saling berkaitan untuk membentuk
suatu fondasi pengelolaan informasi pada satu organisasi.
Database Management System (DBMS) : Sistem Manajemen Basisdata, suatu sistem yang terdiri
atas Basis-data dan Perangkat Lunak (Software / program) yang bertujuan untuk effektivitas dan
effisiensi dalam pengelolaan basisdata.
Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/
08 Teknologi Basis Data 1
Halaman 4
Database Pegawai / Dosen
Entity Pegawai
Entity Jabatan
Relasi
Entity Pendidikan
Akses
Data Entry
Retrieve
Entity Mahasiswa
Program Aplikasi
Entity
MataKuliah
Relasi
Query Language
Software DBMS
Database Mahasiswa
Gambar 8.1 – Relasi antara Basis data
8.2 Peranan Basis-Data
Basisdata memiliki peranan penting dalam suatu organisasi, dan dimanfaatkan untuk sejumlah tujuan
yang mendukung tujuan utama organisasi. Peranan utama basisdata antara lain sebagai berikut:
Ketersediaan (availability) : basisdata harus diorganisasi sedemikian rupa sehingga data selalu
tersedia ketika diperlukan, walaupun secara fisik penyimpanan file-file datanya tidak harus
berada pada satu lokasi, tetapi dengan teknologi jaringan komputer file-file data ini secara logis
tersedia bagi penggunanya.
Kecepatan dan kemudahan (speed) : basisdata harus bisa menjamin bahwa data dapat diakses
dengan mudah dan cepat ketika diperlukan.
Kelengkapan (completeness) : data yang tersimpan dalam basisdata harus lengkap, dengan kata
lain dapat melayani semua kebutuhan penggunanya, walaupun kata lengkap adalah relatif
terhadap kebutuhan setiap orang, namun basisdata menjamin kemudahan dalam menambah
koleksi data, menjamin kemudahan dalam memodifikasi struktur data seperti penambahan
field-field data.
Keakuratan (accuracy) : data dalam file-file database diorganisasi sedemikian rupa sehingga
dapat menekan kesalahan-kesalahan pada saat pemasukan (dataentry) dan pada penyimpanan
(datastore).
Keamanan (security) : sistem basisdata yang baik pasti menyediakan fasilitas pengamanan data
sehingga data tidak dapat diakses, dimodifikasi, diubah, atau dihapus oleh orang yang tidak
diberi hak. Sistem basisdata harus bisa menentukan siapa yang boleh meng-akses data siapa
yang tidak boleh, dengan demikian data dapat diamankan.
Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/
08 Teknologi Basis Data 1
Halaman 5
Pemakaian bersama (data sharing) : basisdata umum-nya dirancang agar dapat digunakan oleh
berbagai unit kerja, dan tidak terbatas pada satu pemakai, pada satu lokasi, atau satu aplikasi
saja.
Effisiensi penyimpanan (space/storage efficiency) : organisasi basisdata dibuat sedemikian rupa
sehingga dapat menghindari duplikasi data (redundancy), karena duplikasi data memperbesar
ruang penyimpanan. Sistem pengkodean dan relasi data yang diterapkan pada basisdata dapat
menghemat ruang penyimpanan
Secara teknis bidang-bidang fungsional organisasi yang telah umum menerapkan sistem basis data
demi efisiensi, keamanan, keakuratan, dan kecepatan serta kemudahan dalam pengelolaan data,
antara lain adalah:
Kepegawaian (personalia)
Pergudangan (inventaris)
Akuntansi (keuangan)
Reservasi (pemesanan tiket, kamar hotel, dsb)
Layanan pelanggan (customer services)
Penjualan (point of sale di supermarket)
dan sebagainya
Berbagai organisasi telah menerapkan basisdata dalam sistem informasi-nya, dan berhasil
meningkatkan kinerja organisasi, antara lain:
Perbankan
Asuransi
Pendidikan / sekolah
Swalayan
Rumah sakit
Biro perjalanan
Industri / manufaktur
Telekomunikasi
dan lain lain
8.3 Model Data
Model Data pada hakekatnya adalah kumpulan perangkat konseptual untuk menggambarkan data,
relasi data, makna (semantik) data, dan batasan data. Ada sejumlah cara dalam merepresentasikan
Model Data untuk keperluan perancangan basis data, yaitu dikelompokkan sebagai berikut:
o
o
o
o
o
Model Hirarkis (Hierarchical Model)
Model Jaringan (Network Model)
Model Relasional (Relational Model)
Model Relasi Entitas (Entity-Relationship Model)
Model Berbasis Objek (Object Oriented Model)
8.3.1 Model Data Hirarkis
Model data hirarkis adalah model data paling tua yang pernah diterapkan dalam suatu DBMS. Model
ini mengikuti pola hirarki pada suatu organisasi atau pada suatu keluarga, dimana terdapat rekaman
data yang berfungsi sebagai “bapak” (parent-record) ada yang berfungsi sebagai “anak” (child-record),
Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/
08 Teknologi Basis Data 1
Halaman 6
atau sebagai “pimpinan’ dan “anak-buah”. Dalam model ini seorang “bapak” bisa memiliki lebih dari
satu “anak” tetapi seorang “anak” hanya boleh memiliki satu “bapak”.
Sebagai contoh basis-data yang menggambarkan rencana studi mahasiswa dimana seorang mahasiswa
boleh mengambil beberapa matakuliah.
Nim
Nama-Mhs
KodeMkuliah
Alamat_Mhs
Nama_Mkuliah
tgl_Lahir
sks
Mahasiswa
semester
Mata
Kuliah
Gambar 8.2 – Model Data Hirarkis
Pada model diatas tidak direpresentasikan bahwa satu matakuliah diambil oleh beberapa mahasiswa,
karena berarti menyalahi aturan dimana satu “anak” (kuliah) memiliki banyak “bapak” (mahasiswa).
Model diatas akan menyebabkan timbulnya “redudansi” data, karena banyak kemungkinan bahwa
matakuliah yang sama diambil oleh beberapa mahasiswa, sehingga record-matakuliah tersebut
direkam berkali-kali dibawah record-mahasiswa yang mengambilnya. Disamping itu apabila ada
matakuliah yang tidak diprogram-kan oleh mahasiswa maka ada kemungkinan record-nya tidak ada
dalam database karena tidak memiliki parent.
Contoh model hirarkis yang menunjukkan hubungan Dosen-MataKuliah-Mahasiswa dapat pula
digambarkan dalam bentuk diagram sebagai berikut.
Dosen
Widya
Algoritma
Adi
Ida
Lidya
C/C++
Dian
Lola
Ekonomi
Dian
Lola
Akuntansi
Ida
Adi
Gambar 8.3 – Diagram Hirarkis Dosen-Matakuliah-Mahasiswa
Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/
08 Teknologi Basis Data 1
Halaman 7
Perhatikan dalam model hirarki diatas, data mahasiswa yang sama terpaksa direkam berulang ketika
mahasiswa tersebut memprogramkan lebih dari satu matakuliah.
Model hirarkis ini pernah di-implementasikan oleh IBM pada sebuah DBMS yang diberi nama IMS
(Information Management System) namun kemudian di-kalahkan oleh implementasi model yang lebih
mutakhir seperti model Data Relasional seperti Rbase, dsb.
8.3.2 Model Data Jaringan
Model data jaringan adalah pengembangan dari model data hirarkis, melihat kekurangan dari model
hirarkis tersebut. Pada model jaringan diperkenankan bahwa sebuah child-record bisa memiliki lebih
dari satu parent-record. Pada implementasi-nya berarti antara parent-record dan child-record
diperlukan penghubung (link atau pointer) yang bisa satu arah atau dua-arah.
Nim
Kode_
Mkuliah
nama_mhs
alamat_mhs
Nama_Mkuliah
sks
tgl_lahir
semester
Gambar 8.4 – Model Data Jaringan
Dengan model jaringan ini maka informasi dimana seorang mahasiswa dapat mengambil beberapa
matakuliah (pointer dari record mahasiswa tsb ke beberapa record-kuliah) dan juga informasi bahwa
satu matakuliah dapat di-program-kan oleh banyak mahasiswa (pointer dari record-kuliah ke beberapa
record-mahasiswa) keduanya dapat di-representasikan.
Model Jaringan dari Dosen-Matakuliah-Mahasiswa dapat digambarkan sebagai berikut.
Gambar 8.5 – Diagram Model Jaringan Dosen-MataKuliah-Mahasiswa
Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/
08 Teknologi Basis Data 1
Halaman 8
Persoalan yang timbul adalah “terjadinya hutan pointer” akibat relasi antar record yang rumit
sehingga penelusuran data menjadi sangat sulit. Ketika model relasional menjadi lebih populer maka
model inipun ditinggalkan orang.
8.3.3 Model Data Relasional
Model data relasional adalah model data yang diciptakan berdasarkan teori-relasional seperti
relational algebra, dan relational calculus. Salah seorang pencetus awal dari basis data relasional
adalah E.F.Codd yang juga telah menciptakan serangkaian operasi matematika relasional terhadap
model data relasional.
Pada prinsipnya model data relasional dapat di-representasikan dalam bentuk table (tabel) data,
dimana:
•
•
•
•
•
satu tabel mewakili satu “domain” data atau entity, bila direkam merupakan satu file yang hanya
memiliki satu tipe record saja, setiap record adalah baris
setiap record terdiri atas beberapa field (atribut) atau tuple, atau kolom
jumlah tuple / field pada setiap record sama
setiap record memiliki atribut kunci utama (primary key) yang unik dan dapat dipakai untuk
mengenali satu record
record dapat diurutkan menurut kunci utama,
Contoh: domain mahasiswa dapat diwakili oleh satu tabel mahasiswa dengan kunci utama adalah NIM
(Nomor Induk Mahasiswa), dan domain matakuliah dapat diwakili oleh satu tabel kuliah dengan kunci
utama kode-mkuliah.
tabel mahasiswa
Nim
011234
011345
011456
Nama_mhs
Ahmad
Bobby
Charles
Alamat_mhs
Jl. Melati 50
Jl. Mawar 103
Jl. Mangga 145
Tgl_lahir
21-3-1980
13-5-1980
17-8-1980
tabel kuliah
Kode_mkuliah
315KP2
317KP2
319MP2
Nama_Mkuliah
Pemrograman Visual
Pemrograman Web
Analisis Numerik
sks
2
2
2
Semester
5
5
5
Tabel 8.1 – Tabel Mahasiswa dan Matakuliah
Hubungan antara kedua domain ini dinyatakan dalam bentuk relasi, ada tiga kemungkinan relasi antar
dua domain yaitu:
•
relasi satu-satu (one-to-one relation) : bahwa satu mahasiswa hanya boleh mengambil
satu matakuliah, dan satu matakuliah hanya boleh diambil oleh satu mahasiswa, relasi
disingkat dengan simbol 1-to-1. Dalam implementasi dua file yang memiliki relasi 1-to1 dapat digabung menjadi satu file.
Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/
08 Teknologi Basis Data 1
•
•
Halaman 9
relasi satu-banyak (one-to-many relation) : bahwa satu mahasiswa boleh ambil banyak
matakuliah tetapi satu matakuliah hanya boleh diambil oleh satu mahasiswa, relasi
disingkat dengan simbol 1-to-M atau M-to-1. Pada relasi 1-to-M atau M-to-1, kunci
record dari file pada sisi-1 harus ditambahkan sebagai kunci-tamu pada file sisi-M
relasi banyak-banyak (many-to-many relation) : bahwa satu mahasiswa boleh ambil
banyak matakuliah, dan satu matakuliah boleh diambil oleh banyak mahasiswa, relasi
disingkat dengan simbol M-to-M. Pada relasi M-to-M harus diciptakan sebuah file
‘relasi’ yang berisi minimal dua field kunci record dari masing-masing file yang
berelasi.
Contoh relasi antara domain mahasiswa dan matakuliah secara logis hanya bisa diterima pada jenis
relasi banyak-banyak (M-to-M). Perwujudan dari relasi banyak-banyak ini diwakili oleh tabel relasi
yang minimal memuat kunci utama masing-masing domain yang berelasi.
Nim
011234
011234
011345
011345
011345
011456
011456
Kode_kuliah
315KP2
319MP2
315KP2
317KP2
319MP2
317KP2
319MP2
Nilai
A
B
C
A
C
D
B
Tabel 8.2 – Tabel Relasi (M-to-M) antara Mahasiswa dan MataKuliah
8.3.4 Model Relasi-Entitas
Model Relasi-Entitas atau (Entity Relationship Model) pada hakekatnya perwujudan dari model
relasional dalam bentuk diagram, yaitu E-R Diagram. Domain data disebut juga sebagai himpunan
entitas, diwakili oleh diagram kotak. Field-data atau atribut diwakili oleh diagram lingkaran atau ellips.
Hubungan atau relasi antar domain diwakili oleh jajaran-genjang.
Domain data
Atribut / Field data
Relasi
Contoh relasi antara domain mahasiswa dan domain matakuliah diwujudkan dalam diagram E-R
sebagai berikut:
Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/
08 Teknologi Basis Data 1
Nim
Halaman 10
Mahasiswa
Alamat_
Mhs
Nim
Nama_
Mhs
M
Tgl_lahir
Kode_
Mkuliah
Ambil
M
Nama_
Mkuliah
Matakuliah
Nilai
Semester
SKS
Kode_
Mkuliah
Gambar 8.6 – Diagram E-R dari Mahasiswa dan Matakuliah
8.3.5 Model Data Berbasis Objek
Model data berbasis objek dikembangkan searah dengan perkembangan pemrograman berbasis
objek. Salah satu karakteristik dari sistem berbasis objek adalah encapsulation yaitu suatu objek
terpisah dari objek lain sehingga setiap objek seakan-akan berada dalam kapsulnya masing-masing.
Pada setiap kapsul terdapat komponen data (attribute) dikemas bersama dengan komponen aksesnya (methods). Sebagai contoh, berikut ini disajikan data pegawai dalam format berbasis objek.
Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/
08 Teknologi Basis Data 1
PEGAWAI
Data :
NIP, Nama,
Alamat, TgLahir,
Jkelamin, Status,
Pendidikan
Halaman 11
Relasi antara
File Pegawai
dan File
Pekerjaan
Metoda :
Tambah Data
Edit Data
Hapus Data
Relasi antara
File Pekerjaan
dan File Unit
Kerja
PEKERJAAN
Data :
NIP, Kode_unit,
Gol, Jabatan,
TgJabatan.
Metoda :
Tambah Data
Hapus Data
UNIT KERJA
Data :
Kode_unit,
Nama_unit,
Lokasi
Metoda:
Tambah Data
Edit Data
Gambar 8.7 – Model Objek dari Data Pegawai
8.4 Sistem Manajemen Basis-Data
Sistem Manajemen Basis-Data (Data Base Management System / DBMS) adalah perangkat lunak
sistem yang memungkinkan para pemakai membuat, memelihara, mengontrol, dan meng-akses basis
data dengan cara praktis dan efisien. DBMS dapat digunakan untuk meng-akomodasikan berbagai
macam pemakai yang memiliki kebutuhan akses yang berbeda-beda. DBMS pada umumnya
menyediakan fasilitas atau fitur-fitur yang memungkinkan data dapat diakses dengan mudah, aman,
dan cepat. Beberapa fitur yang secara umum tersedia adalah:
Keamanan : DBMS menyediakan sistem pengamanan data sehingga tidak mudah diakses oleh
orang yang tidak memiliki hak akses.
Independensi : DBMS menjamin independensi antara data dan program, data tidak bergantung
pada program yang meng-akses-nya, karena struktur data-nya dirancang berdasarkan
kebutuhan informasi, bukan berdasarkan struktur program. Sebaliknya program juga tidak
bergantung pada data, sehingga walaupun struktur data diubah, program tidak perlu berubah.
Konkruensi / data sharing : data dapat diakses secara bersamaan oleh beberapa pengguna
karena manajemen data dilaksanakan oleh DBMS.
Integritas : DBMS mengelola file-file data serta relasi-nya dengan tujuan agar data selalu dalam
keadaan valid dan konsisten
Pemulihan : DBMS menyediakan fasilitas untuk memulihkan kembali file-file data ke keadaan
semula sebelum terjadi-nya kesalahan (error) atau gangguan baik kesalahan perangkat keras
maupun kegagalan perangkat lunak.
Kamus / katalog sistem : DBMS menyediakan fasilitas kamus data atau katalog sistem yang
menjelaskan deskripsi dari field-field data yang terkandung dalam basisdata.
Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/
08 Teknologi Basis Data 1
Halaman 12
Perangkat Produktivitas : DBMS menyediakan sejumlah perangkat produktivitas sehingga
memudahkan para pengguna untuk menarik manfaat dari database, misalnya report generator
(pembangkit laporan) dan query generator (pembangkit query / pencarian informasi).
Sistem Manajemen Basis-Data (DBMS) memiliki berbagai keunggulan dibandingkan dengan
pengelolaan data tanpa DBMS, walaupun tidak terlepas dari beberapa kelemahan.
Keunggulan DBMS antara lain sbb:
Mengurangi duplikasi data atau data redundancy
Menjaga konsistensi dan integritas data
Meningkatkan keamanan data
Meningkatkan effisiensi dan effektivitas penggunaan data
Meningkatkan produktivitas para pengguna data
Memudahkan pengguna dalam menggali informasi dari kumpulan data
Meningkatkan pemeliharaan data melalui independensi data
Meningkatkan pemakaian bersama dari data
Meningkatkan layanan backup dan recovery data
Mengurangi konflik antar pengguna data
Kelemahan DBMS antara lain sbb:
Memerlukan suatu skill tertentu untuk bisa melakukan administrasi dan manajemen database
agar dapat diperoleh struktur dan relasi data yang optimal
Memerlukan kapasitas penyimpanan baik eksternal (disk) maupun internal (memory) agar
DBMS dapat bekerja cepat dan efisien.
Harga DBMS yang handal biasanya sangat mahal
Kebutuhan akan sumber daya (resources) biasanya cukup tinggi
Konversi dari sistem lama ke sistem DBMS terkadang sangat mahal, disamping biaya pengadaan
perangkat keras dan perangkat lunak, diperlukan pula biaya pelatihan.
Apabila DBMS gagal menjalankan misinya maka tingkat kegagalan menjadi lebih tinggi karena
banyak pengguna yang bergantung pada sistem ini.
Berikut ini disajikan tabel beberapa DBMS yang terkenal.
DBMS
Access
DB2
Informix
Ingress
mySQL
Oracle
Postgres SQL
Sybase
Visual dBase
Visual FoxPro
Perusahaan
Microsoft Corporation
IBM
IBM
Computer Associate
The MySQL Company
Oracle Corporation
Postgres
Sybase Inc.
Borland
FoxPro Corporation
Tabel 8.3 – Tabel berbagai DBMS
DBMS untuk model data berbasis objek biasanya dinamakan sebagai Object Oriented Data Base
Management System (OODBMS). Beberapa OODBMS yang terkenal adalah sebagai berikut:
Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/
08 Teknologi Basis Data 1
Halaman 13
OODBMS
Gemstone
Matisse
Versant
Jeevan
Vision
Objectivity
ObjectStone
Poet
Perusahaan
Gemstone System
ADB Inc.
Versant
W3 Apps.
Insyte
Objectivity Inc.
Object Design Inc.
Poet Software.
Tabel 8.4 – Tabel berbagai OODBMS
Perlu ditambahkan disini bahwa beberapa DBMS berbasis objek sebenarnya tetap menggunakan file
data relasional biasa, dengan kata lain, programnya berbasis objek tetapi datanya masih model
relasional biasa. Software seperti ini biasanya disebut sebagai Object Oriented Relational DataBase
Management System (OORDBMS), misalnya Visual dBase.
Arsitektur DBMS
Salah satu tujuan dari DBMS adalah untuk menyediakan sarana antar muka (interface) dalam mengakses data secara efisien tanpa harus melihat kerumitan atau detail tentang cara data direkam dan
dipelihara. DBMS memiliki arsitektur untuk melakukan abstraksi dari data sehingga dapat diperoleh
independensi data-program.
Pada tahun 1975, badan standarisasi nasional Amerika ANSI-SPARC (American National Standards
Institute – Standards Planning and Requirements Committee) menetapkan tiga level abstraksi dalam
database, yaitu:
1. Level Eksternal (external level) atau Level Pandangan (view level)
2. Level Konseptual (conceptual level)
3. Level Internal (internal level) atau Level Fisik (physical level)
Level Eksternal adalah level yang berhubungan langsung dengan pengguna database. Pada level ini
pengguna (user) hanya bisa melihat struktur data sesuai dengan keperluannya sehingga setiap user
bisa memiliki pandangan (view) yang berbeda dari user lainnya. Pada level ini pula dimungkinkan
pandangan user berbeda dengan representasi fisik dari data, misalkan untuk data hari secara fisik data
direkam dalam bentuk kode (1, 2, 3, dst) sedang user melihat data dalam bentuk teks nama hari
(Ahad, Senin, Selasa, ...). Data yang dilihat oleh user seakan-akan berasal dari satu file, secara fisik
mungkin diambil dari beberapa file yang berelasi.
Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/
08 Teknologi Basis Data 1
User-1
View-1
Halaman 14
User-2
View-2
User-3
View-3
Eksternal
Konseptual
Internal
File-file
Basisdata
Gambar 8.8 - Arsitektur Sistem Manajemen Basisdata
Level Konseptual adalah level dari para administrator database, pada level ini didefinisikan hubungan
antar data secara logik, sehingga diperlukan struktur data secara lengkap. Para administrator database
memahami bagaimana satu view dijabarkan dari beberapa file data, demikian pula pada saat
perancangan database mereka dapat saja membagi data menjadi beberapa file agar dapat diakses dan
disimpan secara efisien.
Level Internal adalah level dimana data disimpan secara fisik dalam bentuk kode, teks, angka, bit. Pada
level ini didefinisikan allokasi ruang penyimpanan data, deskripsi data dalam penyimpanan, kompressi
data (agar lebih hemat), dan enkripsi data (agar lebih aman).
Agar independensi data dapat dicapai maka disediakan pemetaan antar lapisan (level), yatiu pemetaan
eksternal-konseptual dan pemetaan konseptual-internal. Pada pemetaan eksternal-konseptual, DBMS
dapat memetakan field-field data dari user-view ke dalam struktur data yang sesungguhnya. Pada
pemetaan konseptual-internal, DBMS dapat menemukan rekaman fisik dari data yang didefinisikan
pada struktur logik.
Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/
08 Teknologi Basis Data 1
Halaman 15
user view-1
user view-2
NoMhs, Nama, Alamat, Jkel
NoMhs, Nama, Agama, Hobby
Level Eksternal
NoMhs, Nama, Jkel, Agama, Hobby, Alamat
Level Konseptual
Level Internal
Struct Mahasiswa {
char NoMhs[9];
char Nama[25];
int Jkel;
int Agama;
char Hobby[15];
char Alamat[30];
struct Mahasiswa *next;
};
index NoMhs;
Gambar 8.9 – Tiga level abstraksi dari data mahasiswa
Bahasa DBMS
Implementasi bahasa DBMS bervariasi sesuai dengan variasi perusahaan yang merancangnya, namun
pada prinsipnya bahasa ini bisa dikategorikan ke dalam tiga komponen bahasa, yaitu:
1. Data Definition/Decription Language (DDL)
2. Data Manipulation Language (DML)
3. Device Control Media Language (DCML)
DDL adalah komponen bahasa DBMS yang digunakan untuk mendefinisikan struktur data antara lain
perintah untuk membuat tabel baru (CREATE) dimana terdefinisi komponen/field data dengan tipe
dan panjangnya, mengubah index (INDEX, REINDEX) agar setiap rekord dalam satu file data dapat
diakses melalui indeks-nya, mengubah struktur (MODIFY STRUCT) dari file data, dan sebagainya.
Komponen bahasa ini banyak digunakan oleh para administrator basisdata pada saat merencanakan
atau membangun file-file basisdata.
DML adalah komponen bahasa DBMS yang digunakan untuk memanipulasi data, komponen ini
diperlukan oleh para pengguna untuk memanipulasi data, antara lain perintah-perintah untuk
melakukan hal-hal berikut ini:
mengambil data dari basisdata (LIST, DISPLAY)
menambah data kedalam basisdata (INSERT, APPEND)
meremajakan data yang ada dalam basisdata (UPDATE)
menghapus data yang tidak diperlukan (DELETE)
meng-urutkan data (SORT)
menghitung frekuensi data (COUNT)
mencari data (SEEK, FIND)
Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/
08 Teknologi Basis Data 1
Halaman 16
DML dapat dibedakan atas dua macam, yaitu DML Prosedural dan DML Non-Prosedural. Pada DML
Prosedural ketika data akan dimanipulasi maka perintah harus disertai dengan perintah-perintah
bagaimana data diakses dari file database. Perintah DML Prosedural biasanya termuat dalam bahasa
program tingkat tinggi (high level programming language) seperti COBOL, C, C++ dan sebagainya. Pada
DML non-Prosedural data dapat dimanipulasi langsung tanpa harus memerintahkan bagaimana data
dibaca dari file. Perintah DML non-Prosedural biasanya digunakan dalam bahasa-bahasa DBMS seperti
pada dBase, Access, Paradox, FoxPro, SQL, dan sebagainya.
DCML adalah komponen bahasa DBMS yang digunakan untuk mengatur perekaman atau
penyimpanan data secara fisik. Komponen bahasa DCML digunakan oleh operator-operator sistem
basisdata didalam mengatur file-file data secara fisik. Perintah-perintah yang termuat dalam
komponen ini, antara lain perintah perintah: merekam (Write Record, Create Table), menghapus
(Drop, Delete Table).
8.5 SQL
SQL (Structured Query Language) adalah salah satu bahasa DBMS yang meng-adopsi model data
relasional. SQL muncul dalam berbagai variasi seperti Microsoft SQL, MySQL, dan versi SQL lainnya.
Pengetahuan dasar tentang SQL diperlukan karena bahasa ini menjadi salah satu bahasa populer
dalam akses data di dunia Internet. SQL telah distandarisasi oleh ISO (International Standards
Organization) dan ANSI (American National Standard Institute) sejak tahun 1986 (SQL86) dan
diperbaharui ketika diperlukan adanya modifikasi baru (misalnya pada SQL99).
Sesungguhnya SQL tidak terbatas pada penyajian data (query) tetapi juga mencakup pembuatan tabel
data baru (Create Table), menghapus tabel data (Drop Table), menambahkan data kedalam tabel
(Insert), menghapus data dari tabel (Delete/Drop record). Beberapa perintah dasar SQL diperlihatkan
pada tabel berikut ini.
Perintah
SELECT
INSERT
UPDATE
DELETE
CREATE TABLE
DROP TABLE
ALTER TABLE
GRANT
REVOKE
Manfaat
membaca data dari database
menambahkan data kedalam database
meremajakan / mengganti data
menghapus rekord data
membuat tabel data baru
menghapus tabel data
merubah struktur tabel/file
memberi hak akses pada user
membatalkan hak akses dari user
Tabel 8.5 – Daftar perintah SQL
Perintah SELECT
Perintah SELECT digunakan untuk membaca data dari database, perintah ini mempunyai bentuk
umum sebagai berikut:
SELECT field-1 [, field-2, field-3, ...]
FROM tabel-1 [, tabel-2, tabel-3, ...]
WHERE syarat/predikat
[ORDER BY field ]
Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/
08 Teknologi Basis Data 1
Halaman 17
Berikut ini diberikan sebuah contoh pemakaian perintah SELECT untuk membaca data matakuliah yang
diajarkan oleh dosen tertentu.
SELECT k.kodeMK, k..namaMK, d.namaDosen
FROM kuliah k, dosen d
WHERE k.kodeDos = d.kodeDOS
ORDER BY k.kodeMK
Perintah diatas membaca data dari dua file data, yaitu file matakuliah (kuliah yang disingkat dengan
huruf k) dan file dosen (yang disingkat dengan huruf d) dengan menampilkan daftar yang terdiri atas
kolom-kolom kodeMK, namaMK, namaDosen terurut menurut kodeMK.
Perintah INSERT
Perintah INSERT digunakan untuk menyisipkan atau menambah satu rekord data kedalam satu
tabel/file data. Bentuknya sebagai berikut:
INSERT INTO tabel-1 [ (field-1, field-2, ...]
VALUES (v1, v2, ...)
Berikut ini adalah contoh instruksi untuk menyisipkan sebuah rekord data mahasiswa kedalam tabel
mahasiswa.
INSERT INTO mahasiswa (NoMhs, NamaMhs, Jkel, Alamat)
VALUES (‘02010345’, ‘Abdurahman Wahid’, P, ‘Jl.Disket No.45 Makassar’)
Perintah UPDATE
Perintah UPDATE digunakan untuk merubah isi rekord data dari suatu tabel/file database. Bentuknya
sebagai berikut:
UPDATE tabel
SET perubahan
[ WHERE syarat/predikat ]
Apabila hanya data tertentu saja yang akan diubah/diremajakan maka klaus WHERE perlu ditulis,
tanpa WHERE maka perubahan berlaku untuk semua rekord dalam tabel tersebut. Contoh:
UPDATE kuliah
SET sks=2
WHERE kodeMK = ‘3SI423’
Perintah ini merubah sks matakuliah berkode 3SI423 menjadi 2 pada file kuliah.
UPDATE dosen
SET namaDos = ‘Prof. ‘ + namaDos
WHERE kodeDOS = ‘132234122’
Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/
08 Teknologi Basis Data 1
Halaman 18
Perintah ini menambahkan gelar Prof pada seorang dosen dengan kode 132234122.
Perintah DELETE
Perintah DELETE digunakan untuk menghapus satu rekord dari satu file/tabel database. Bentuknya
sebagai berikut:
DELETE FROM tabel
[WHERE syarat/predikat]
Klaus WHERE digunakan apabila hanya rekord tertentu yang akan dihapus, apabila klaus WHERE tidak
ditulis maka semua rekord akan terhapus (hati-hati memakainya). Contoh:
DELETE FROM kuliah
WHERE kodeMK = ‘2TI123’
Perintah ini menghapus rekord matakuliah berkode 2TI123.
Perintah CREATE TABLE
Perintah CREATE TABLE digunakan untuk menciptakan tabel baru (DDL) dilengkapi dengan definisi
struktur datanya. Bentuk umumnya sbb:
CREATE TABLE tabel (field-1 tipe-1, field-2 tipe-2, ...)
Sebagai contoh andaikan akan dibuat tabel mahasiswa dengan struktur sebagai berikut:
KodeMHS char, dengan 9 digit
NamaMHS char, sepanjang 25 karakter
Jkel
char, kode 1 huruf
Alamat
char, sepanjang 30 karakter
TgLahir
date
maka perintahnya adalah sbb:
CREATE TABLE mahasiswa (KodeMHS char(9), NamaMHS char(25),
Jkel char(1), Alamat char(30), Tglahir date)
Primary key KodeMHS.
Perintah DROP TABLE
Perintah ini digunakan untuk menghapus file/tabel dari database, harus digunakan secara hati-hati,
walaupun DBMS biasanya memiliki proteksi tertentu sehingga penghapusan data bisa dibatalkan bila
diperlukan. Bentuknya sbb:
DROP TABLE tabel
Sebagai contoh file mahasiswa dapat dihapus dengan perintah:
DROP TABLE mahasiswa.
Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/
08 Teknologi Basis Data 1
Halaman 19
Perintah ALTER TABLE
Perintah ini digunakan untuk mengubah struktur file data, baik dengan menambah field data maupun
menghapus field data tertentu. Bentuknya sbb:
ALTER TABLE tabel
ADD field-1, tipe-1 [field-2 tipe-2, ... ]
untuk menambahkan field baru kedalam tabel data.
ALTER TABLE tabel
DROP field
untuk menghapus field tertentu.
Contoh pemakaian:
a. menambahkan field agama dan status pada file mahasiswa
ALTER TABLE mahasiswa
ADD agama int, status char(1)
b. menghapus field gelar dari file dosen
ALTER TABLE dosen
DROP gelar.
Perintah GRANT
Perintah GRANT digunakan untuk memberi hak akses tertentu pada user, bentuk umumnya adalah
sbb:
GRANT akses-1 [ ,akses-2, ...] ON tabel TO user-1 [, user-2, ...]
Contoh pemakaian sebagai berikut:
GRANT INSERT, DELETE, UPDATE ON kuliah TO Judy, John
Pengguna dengan login-name Judy dan John memperoleh hak untuk melakukan operasi INSERT,
DELETE, dan UPDATE pada file/tabel kuliah.
Perintah REVOKE
Perintah REVOKE digunakan untuk membatalkan hak akses dari user, bentuk umumnya sebagai
berikut:
REVOKE akses-1 [, akses-2, ...] ON tabel FROM user-1 [, user-2, ...]
Contoh pemakaian sebagai berikut:
Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/
08 Teknologi Basis Data 1
Halaman 20
REVOKE INSERT, DELETE ON kuliah FROM John
Perintah ini membatalkan hak dari John untuk melakukan INSERT dan DELETE pada file kuliah.
Rangkuman
Data base atau basis data merupakan sekumpulan file yang saling berelasi satu sama lain. Dengan
adanya basis data, berbagai keperluan pengolahan data dapat dilakukan secara efisien dan akurat.
Untuk mengaplikasikan sebuah basis data yang tepat, maka sebelum dibangun sebuah basis data
dimodelkan terlebih dahulu sehingga mudah untuk merancang basis data yang normal.
Latihan
1. Jelaskan arti masing-masing istilah berikut!
a. Entity
b. Attribute
c. Data value
d. Data field
e. Record/tuple
f. File
g. Database
h. Database management system
2. Apa peranan utama sistem basis data pada sebuah organisasi?
3. Sebutkan berbagai macam teknik untuk memodelkan objek!
Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/
Download