teknologi informasi€¦ · terminologi yang digunakan dalam database cukup bervariasi sehingga...

21
08 Teknologi Basis Data 1 Sumber: • Blog Faisal Akib: http://faisalakib.net/ • Download: http://download.faisalakib.net/ • Artikel Kuliah: http://teknik-informatika.com/ Pengantar Teknologi Informasi

Upload: others

Post on 13-Nov-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Teknologi Informasi€¦ · Terminologi yang digunakan dalam Database cukup bervariasi sehingga dianggap perlu untuk menggunakan istilah yang sekiranya dapat dipakai bersama dengan

08 Teknologi Basis Data 1

Sumber:

• Blog Faisal Akib: http://faisalakib.net/

• Download: http://download.faisalakib.net/

• Artikel Kuliah: http://teknik-informatika.com/

Pengantar Teknologi Informasi

Page 2: Teknologi Informasi€¦ · Terminologi yang digunakan dalam Database cukup bervariasi sehingga dianggap perlu untuk menggunakan istilah yang sekiranya dapat dipakai bersama dengan

Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/

Halaman 1 08 Teknologi Basis Data 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..

Page 3: Teknologi Informasi€¦ · Terminologi yang digunakan dalam Database cukup bervariasi sehingga dianggap perlu untuk menggunakan istilah yang sekiranya dapat dipakai bersama dengan

Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/

Halaman 2 08 Teknologi Basis Data 1

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 pengelolaan-

nya 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.

Page 4: Teknologi Informasi€¦ · Terminologi yang digunakan dalam Database cukup bervariasi sehingga dianggap perlu untuk menggunakan istilah yang sekiranya dapat dipakai bersama dengan

Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/

Halaman 3 08 Teknologi Basis Data 1

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.

Page 5: Teknologi Informasi€¦ · Terminologi yang digunakan dalam Database cukup bervariasi sehingga dianggap perlu untuk menggunakan istilah yang sekiranya dapat dipakai bersama dengan

Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/

Halaman 4 08 Teknologi Basis Data 1

Entity Pegawai Entity Jabatan

Entity Pendidikan

Program Aplikasi

Query Language

Entity Mahasiswa

Entity

MataKuliah

Database Pegawai / Dosen

Relasi

Akses Data Entry

Retrieve

Relasi

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.

Page 6: Teknologi Informasi€¦ · Terminologi yang digunakan dalam Database cukup bervariasi sehingga dianggap perlu untuk menggunakan istilah yang sekiranya dapat dipakai bersama dengan

Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/

Halaman 5 08 Teknologi Basis Data 1

� 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 Model Hirarkis (Hierarchical Model)

o Model Jaringan (Network Model)

o Model Relasional (Relational Model)

o Model Relasi Entitas (Entity-Relationship Model)

o 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),

Page 7: Teknologi Informasi€¦ · Terminologi yang digunakan dalam Database cukup bervariasi sehingga dianggap perlu untuk menggunakan istilah yang sekiranya dapat dipakai bersama dengan

Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/

Halaman 6 08 Teknologi Basis Data 1

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 Alamat_Mhs tgl_Lahir Maha-

siswa

Kode- Mkuliah Nama_Mkuliah sks 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 Lidya

Algoritma C/C++ Ekonomi Akuntansi

Adi Ida Dian Lola Dian Lola Ida Adi

Gambar 8.3 – Diagram Hirarkis Dosen-Matakuliah-Mahasiswa

Page 8: Teknologi Informasi€¦ · Terminologi yang digunakan dalam Database cukup bervariasi sehingga dianggap perlu untuk menggunakan istilah yang sekiranya dapat dipakai bersama dengan

Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/

Halaman 7 08 Teknologi Basis Data 1

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 nama_mhs alamat_mhs tgl_lahir

Kode_

Mkuliah Nama_Mkuliah sks 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

Page 9: Teknologi Informasi€¦ · Terminologi yang digunakan dalam Database cukup bervariasi sehingga dianggap perlu untuk menggunakan istilah yang sekiranya dapat dipakai bersama dengan

Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/

Halaman 8 08 Teknologi Basis Data 1

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 Nama_mhs Alamat_mhs Tgl_lahir

011234 Ahmad Jl. Melati 50 21-3-1980

011345 Bobby Jl. Mawar 103 13-5-1980

011456 Charles Jl. Mangga 145 17-8-1980

tabel kuliah

Kode_mkuliah Nama_Mkuliah sks Semester

315KP2 Pemrograman Visual 2 5

317KP2 Pemrograman Web 2 5

319MP2 Analisis Numerik 2 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-to-

1 dapat digabung menjadi satu file.

Page 10: Teknologi Informasi€¦ · Terminologi yang digunakan dalam Database cukup bervariasi sehingga dianggap perlu untuk menggunakan istilah yang sekiranya dapat dipakai bersama dengan

Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/

Halaman 9 08 Teknologi Basis Data 1

• 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 Kode_kuliah Nilai

011234 315KP2 A

011234 319MP2 B

011345 315KP2 C

011345 317KP2 A

011345 319MP2 C

011456 317KP2 D

011456 319MP2 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:

Page 11: Teknologi Informasi€¦ · Terminologi yang digunakan dalam Database cukup bervariasi sehingga dianggap perlu untuk menggunakan istilah yang sekiranya dapat dipakai bersama dengan

Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/

Halaman 10 08 Teknologi Basis Data 1

Mahasiswa

Nim Nama_

Mhs

Alamat_

Mhs Tgl_lahir

Ambil

Matakuliah

Kode_

Mkuliah

Nama_

Mkuliah

Semester

SKS

Nim

Kode_

Mkuliah

Nilai

M M

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 akses-

nya (methods). Sebagai contoh, berikut ini disajikan data pegawai dalam format berbasis objek.

Page 12: Teknologi Informasi€¦ · Terminologi yang digunakan dalam Database cukup bervariasi sehingga dianggap perlu untuk menggunakan istilah yang sekiranya dapat dipakai bersama dengan

Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/

Halaman 11 08 Teknologi Basis Data 1

PEGAWAI PEKERJAAN

Data : Relasi antara Data :

NIP, Nama, File Pegawai NIP, Kode_unit,

Alamat, TgLahir, dan File Gol, Jabatan,

Jkelamin, Status, Pekerjaan TgJabatan.

Pendidikan Metoda :

Tambah Data

Metoda : Hapus Data

Tambah Data

Edit Data

Hapus Data UNIT KERJA

Data :

Relasi antara Kode_unit,

File Pekerjaan Nama_unit,

dan File Unit Lokasi

Kerja

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.

Page 13: Teknologi Informasi€¦ · Terminologi yang digunakan dalam Database cukup bervariasi sehingga dianggap perlu untuk menggunakan istilah yang sekiranya dapat dipakai bersama dengan

Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/

Halaman 12 08 Teknologi Basis Data 1

� 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 Perusahaan

Access Microsoft Corporation

DB2 IBM

Informix IBM

Ingress Computer Associate

mySQL The MySQL Company

Oracle Oracle Corporation

Postgres SQL Postgres

Sybase Sybase Inc.

Visual dBase Borland

Visual FoxPro 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:

Page 14: Teknologi Informasi€¦ · Terminologi yang digunakan dalam Database cukup bervariasi sehingga dianggap perlu untuk menggunakan istilah yang sekiranya dapat dipakai bersama dengan

Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/

Halaman 13 08 Teknologi Basis Data 1

OODBMS Perusahaan

Gemstone Gemstone System

Matisse ADB Inc.

Versant Versant

Jeevan W3 Apps.

Vision Insyte

Objectivity Objectivity Inc.

ObjectStone Object Design Inc.

Poet 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 meng-

akses 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.

Page 15: Teknologi Informasi€¦ · Terminologi yang digunakan dalam Database cukup bervariasi sehingga dianggap perlu untuk menggunakan istilah yang sekiranya dapat dipakai bersama dengan

Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/

Halaman 14 08 Teknologi Basis Data 1

User-1 User-2 User-3

View-1 View-2 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.

Page 16: Teknologi Informasi€¦ · Terminologi yang digunakan dalam Database cukup bervariasi sehingga dianggap perlu untuk menggunakan istilah yang sekiranya dapat dipakai bersama dengan

Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/

Halaman 15 08 Teknologi Basis Data 1

user view-1 user view-2

NoMhs, Nama, Alamat, Jkel NoMhs, Nama, Agama, Hobby

Level Eksternal

NoMhs, Nama, Jkel, Agama, Hobby, Alamat

Level Konseptual

Struct Mahasiswa {

char NoMhs[9];

char Nama[25];

int Jkel;

Level Internal 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)

Page 17: Teknologi Informasi€¦ · Terminologi yang digunakan dalam Database cukup bervariasi sehingga dianggap perlu untuk menggunakan istilah yang sekiranya dapat dipakai bersama dengan

Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/

Halaman 16 08 Teknologi Basis Data 1

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 Manfaat

SELECT membaca data dari database

INSERT menambahkan data kedalam database

UPDATE meremajakan / mengganti data

DELETE menghapus rekord data

CREATE TABLE membuat tabel data baru

DROP TABLE menghapus tabel data

ALTER TABLE merubah struktur tabel/file

GRANT memberi hak akses pada user

REVOKE 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 ]

Page 18: Teknologi Informasi€¦ · Terminologi yang digunakan dalam Database cukup bervariasi sehingga dianggap perlu untuk menggunakan istilah yang sekiranya dapat dipakai bersama dengan

Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/

Halaman 17 08 Teknologi Basis Data 1

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’

Page 19: Teknologi Informasi€¦ · Terminologi yang digunakan dalam Database cukup bervariasi sehingga dianggap perlu untuk menggunakan istilah yang sekiranya dapat dipakai bersama dengan

Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/

Halaman 18 08 Teknologi Basis Data 1

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.

Page 20: Teknologi Informasi€¦ · Terminologi yang digunakan dalam Database cukup bervariasi sehingga dianggap perlu untuk menggunakan istilah yang sekiranya dapat dipakai bersama dengan

Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/

Halaman 19 08 Teknologi Basis Data 1

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:

Page 21: Teknologi Informasi€¦ · Terminologi yang digunakan dalam Database cukup bervariasi sehingga dianggap perlu untuk menggunakan istilah yang sekiranya dapat dipakai bersama dengan

Sumber: http://faisalakib.net/ -- http://download.faisalakib.net/ -- http://teknik-informatika.com/

Halaman 20 08 Teknologi Basis Data 1

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!