fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/perancangan-basis-data-ti.pdf ·...
Post on 30-Jun-2019
218 Views
Preview:
TRANSCRIPT
MODUL PERKULIAHAN
Perancangan Basis Data
Pengantar Basis Data
Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh
Fakultas Ilmu Komputer
Teknik Informatika
01 87012 Tim Dosen.
Abstract Kompetensi
Pengantar basis data dalam mengambil suatu keputusan di dalam suatu organisasi
Mahasiswa dapat membedakan bentuk-bentuk database di dalam mengambil suatu keputusan
‘13 2 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Pengantar Basis Data
Basis data menyediakan fasilitas atau mempermudah dalam menghasilkan informasi yang
digunakan oleh pemakai untuk mendukung pengambilan keputusan. Hal inilah yang
menjadikan alasan dari penggunaan teknologi basis data pada saat sekarang (dunia bisnis).
Berikut ini contoh penggunaan Aplikasi basis data dalam dunia bisnis :
• Bank : Pengelolaan data nasabah, akunting, semua transaksi perbankan
• Bandara : Pengelolaan data reservasi, penjadualan
• Universitas : Pengelolaan pendaftaran, alumni
• Penjualan : Pengelolaan data customer, produk, penjualan
• Pabrik : Pengelolaan data produksi, persediaan barang, pemesanan, agen
• Kepegawaian : Pengelolaan data karyawan, gaji, pajak
• Telekomunikasi : Pengelolaan data tagihan, jumlah pul
Sistem Pemrosesan File
Keterangan :
File mahasiswa : Mhs (npm, nama, alamat, tgl_lahir)
MataKul (kd_mk, nama_mk, sks)
File MataKuliah : MataKul (kd_mk, nama, sks)
Sebelumnya, sistem yang digunakan untuk mengatasi semua permasalahan bisnis,
menggunakan pengelolaan data secara tradisional dengan cara menyimpan record-record
pada file-file yang terpisah, yang disebut juga sistem pemrosesan file. Dimana masing-
masing file diperuntukkan hanya untuk satu program aplikasi saja
Kelemahannya dari sistem pemrosesan file ini antara lain :
1. Timbulnya data rangkap (redundancy data) dan Ketidakkonsistensi data
(Inconsistency data)
Karena file-file dan program aplikasi disusun oleh programmer yang berbeda,
sejumlah informasi mungkin memiliki duplikasi dalam beberapa file. Sebagai contoh
‘13 3 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
nama mata kuliah dan sks dari mahasiswa dapat muncul pada suatu file memiliki
record-record mahasiswa dan juga pada suatu file yang terdiri dari record-record
mata kuliah. Kerangkapan data seperti ini dapat menyebabkan pemborosan tempat
penyimpanan dan biaya akases yang bertambah. Disamping itu dapat terjadi
inkonsistensi data. Misalnya, apabila terjadi perubahan jumlah sks mata kuliah,
sedangkan perubahan hanya diperbaiki pada file mata kuliah dan tidak diperbaiki
pada file mahasiswa. Hal ini dapat mengakibatkan kesalahan dalam laporan nilai
mahasiswa.
2. Kesukaran dalam Mengakses Data
Munculnya permintaan-permintaan baru yang tidak diantisipasikan sewaktu
membuat program aplikasi, sehingga tidak memungkinkan untuk pengambilan
data.
3. Data terisolir (Isolation Data)
Karena data tersebar dalam berbagai file, dan file-file mungkin dalam format - format
yang berbeda, akan sulit menuliskan program aplikasi baru untuk mengambil data
yang sesuai.
4. Masalah Pengamanan ( Security Problem )
Tidak semua pemakai diperbolehkan mengakses seluruh data. Bagian Mahasiswa
hanya boleh mengakses file mahasiswa. Bagian Mata kuliah hanya boleh
mengakses file mata kuliah, tidak boleh mengakses file mahasiswa. Tetapi sejak
program-program aplikasi ditambahkan secara ad-hoc maka sulit melaksanakan
pengamanan seperti yang diharapkan.
5. Data Dependence
Apabila terjadi perubahan atau kesalahan pada program aplikasi maka pemakai tidak
dapat mengakses data.
‘13 4 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
File dan Database
• File: suatu kumpulan record atau dokumen tentang suatu organisasi, orang, wilayah
atau obyek
– Berkas kertas
– File komputer
• Database System Management: suatu kumpulan record data operasional yang
memiliki hubungan di antaranya dan diorganisasikan dg mempergunakan metode
dan struktur data tertentu untuk tujuan pendukung pengambilan keputusan suatu
perusahaan/enterprise
Data Personalia, Data Bisnis, Data grafis, dsb
Pengertian Database :
Menurut (C.J Date)
Database adalah suatu koleksi berisi data operasional yang digunakan oleh sistem-sistem
aplikasi suatu perusahaan/organi-sasi
– Database dokumen/kertas
• Sebagian besar informasi di dunia ini masih tersimpan di dalamnya
– Sistem Pengolahan Data Berbasis File
• Mempelopori sistem pengolahan data secara batch untuk (terutama)
bisnis
– Database Management System (DBMS)
• Sistem perangkat lunak untuk mendefinisikan, menciptakan,
menyimpan database serta menyediakan akses ke database dan
repositorynya.
‘13 5 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Aspek
Komputerisasi :
• Hardware
• Software
• Data
Kebutuhan Informasi
• Programmer Aplikasi
• Pemakai
• Administrator DB
Software
Menyediakan Fasilitas :
• Creating Files
• Inserting Data
• Retrieving Data
• Deleting Data
• Security Control
• Integrity Control
• Recovery Control
• Dll
‘13 6 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Users :
• Database Administrator
• Programmer Aplikasi
• End-User
Komponen Sistem Database
Data :
Data Harus bersifat :
• Shared
• Integrated
Hadware :
• Secondary storage volume
• I/O Device
• Device Controllers
• I/O Channel
• Database Machine
‘13 7 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Gambaran Keseluruhan dari Komponen Sistem Database
A1, A2, An = Application Program
Keuntungan Sistem Database
1. Mengurangi Redudansi
Data yang sama pada beberapa aplikasi cukup disimpan sekali saja
2. Integrity
Data yang tersimpan secara akurat
3. Menghindarkan Inkonsisten
Karena redudansi berkurang, sehingga umumnya Update hanya sekali
4. Penggunaan data bersamaan
Data yang sama dapat diakses oleh beberapa User pada saat bersamaan
5. Standarisasi
‘13 8 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Menyangkut keseragaman penyajian data
6. Jaminan Sekuriti
Data hanya dapat diakses oleh yang berhak
7. Meyeimbangkan kebutuhan
Dapat ditentukan prioritas suatu operasi, missal antara update dengan
retrival
Kerugian Sistem Database
1. Diperlukannya Hardware tambahan
a. CPU yang lebih kuat
b. Terminal yang lebih banyak
c. Alat untuk komunikasi
2. Biaya performance yang lebih besar
a. Listrik
b. Personil yang lebih tinggi klasivikasinya
c. Biaya telekomunikasi antar lokasi / kota
3. Sistem tampak lebih komplek
a. Banyaknya aspek yang harus diperhatikan
4. Rawannya keberhasilan operasi
Karena :
a. Gangguan Listrik
b. Gangguan Komunikasi
‘13 9 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Repository Data
- Juga dikenal sbg Data Dictionary/Directory
- Menyimpan semua metadata untuk suatu database
- Metadata termasuk informasi tentang hubungan antar file-file atau tabel-tabel dalam
database tersebut.
Metadata
o Data tentang data
▪ Dalam hubungannya dengan DBMS, yaitu segala karakteristik yang
mendeskripsikan atribut-atribut dari suatu entity, misalnya:
• nama atribut
• tipe datanya
• besarnya (jumlah karakter/digit) nilai atribut
• formatnya atau karakteristik khusus lainnya
o Karakteristik dari file-file/tabel-tabel termasuk hubungan di antaranya.
nama, isi, catatan, dsb
‘13 10 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Dari mana datangnya DBMS?
• Sejarah
– Tahun 50an dan 60an semua aplikasi komputer dirancang khusus untuk
keperluan-keperluan spesifik.
– Umumnya berbasis file
– Berbagai aplikasi serupa/berhubungan menggunakan koleksi data bisnis
yang sama
– Fasilitas DBMS awal adalah bagian dari bahasa pemrograman
– 1970 - E.F. Codd memperkenalkan Model Data Relational
– 1979 - Ashton-Tate menciptakan DBMS pertama untuk PC (komputer mikro)
MODUL PERKULIAHAN
Perancangan Basis Data
Pengantar Data Warehouse dan Data Mining
Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh
Fakultas Ilmu Komputer
Teknik Informatika
02 87012 Tim Dosen.
Abstract Kompetensi
Penjelasan tentang data warehouse dan data mining
Mahasiswa dapat memahami konsep dari data warehouse dan data mining
‘13 2 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Pengantar Data Warehouse & Data Mining
Salah satu efek yang dihasilkan dari adanya suatu sistem informasi adalah munculnya
banyak data. Data yang ada ini berasal dari sistem operasional yang berfungsi untuk
menangani transaksi yang terkait dengan proses bisnis yang ditangani oleh sistem informasi
tersebut.
Contoh: sistem informasi presensi karyawan memunculkan data jumlah kehadiran kehadiran
karyawan setiap hari dengan data yang disimpan tergantung pada apa yang dibutuhkan oleh
sistem informasi tersebut (misalkan: nomor induk pegawai, jam masuk, pintu masuk, dsb.).
Bayangkanlah sistem informasi ini dipakai di perusahaan yang jumlah karyawannya
sebanyak 1000 orang. Apabila data ini dipakai selama seminggu masa kerja saja (5 hari),
maka data yang masuk dalam basis data ada 1000 x 5 = 5000 baris. Anda tinggal kalikan
saja apabila ingin menghitung jumlah data yang disimpan selama seminggu waktu
operasional, sebulan, hingga setahun. Itu baru satu sistem informasi saja. Di korporasi yang
besar sistem informasi yang ada berjumlah banyak dengan berbagai fungsi dan tujuannya.
Akhirnya masalah berikutnya muncul.
Data warehouse adalah data-data yang beorientasi subjek, terintegrasi, memiliki dimensi
waktu, serta merupakan koleksi tetap (non-volatile), yang digunakan dalam mendukung
proses pengambilan keputusan. Sedangkan data mining muncul setelah banyak dari pemilik
data baik perorangan maupun organisasi mengalami penumpukan data yang telah
terkumpul selama beberapa tahun, misalnya data pembelian, data penjualan, data nasabah,
data transaksi, email dan sebagainya. Kemudian muncul pertanyaan dari pemilik data
tersebut, apa yang harus dilakukan terhadap tumpukan data tersebut.
Data mining merupakan prinsip dasar dalam mengurutkan data dalam jumlah yang sangat
banyak dan mengambil informasi – informasi yang berkaitan dengan apa yang diperlukan
seperti apa yang biasa dilakukan oleh seorang analis. Dengan bertambah banyaknya jumlah
data yang ada dalam model bisnis yang kita lakukan dalam perusahaan ini, maka peran
analis untuk menganalisa data secara manual perlu digantikan dengan aplikasi yang
berbasis komputer yang dapat menganalisa data secara otomatis menggunakan alat yang
lebih kompleks dan canggih.
‘13 3 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Data warehouse adalah database yang berisi data dari beberapa system operasional yang
terintegrasi dan terstruktur sehingga dapat digunakan untuk mendukung analisa dan proses
pengambilan keputusan dalam bisnis.
Data warehouse didesain untuk kita bisa melakukan query secara cepat. Informasi
diturunkan dari data lain, dilakukan rolling up untuk dijadikan ringkasan, dilakukan operasi
drilling down untuk mendapatkan informasi lebih detail, atau melihat pola yang menarik atau
melihat trend (kecenderungan).
Ada empat tugas yang bisa dilakukan dengan adanya data warehouse
1. Pembuatan laporan
Pembuatan laporan merupakan salah satu kegunaan data warehouse yang paling umum
dilakukan. Dengan menggunakan query sederhana didapatkan laporan perhari, perbulan,
pertahun atau jangka waktu kapanpun yang diinginkan.
2. On-Line Analytical Processing (OLAP)
OLAP mendayagunakan konsep data multi dimensi dan memungkinkan para pemakai
menganalisa data sampai mendetail, tanpa mengetikkan satupun perintah SQL. Hal ini
dimungkinkan karena pada konsep multi dimensi, maka data yang berupa fakta yang sama
bisa dilihat dengan menggunakan fungsi yang berbeda. Fasilitas lain yang ada pada sofware
OLAP adalah fasilitas rool-up dan drill-down. Drill-down adalah kemampuan untuk melihat
detail dari suatu informasi dan roll-up adalah kebalikannya.
3. Data mining
Data mining merupakan proses untuk menggali pengetahuan dan informasi baru dari data
yang berjumlah banyak pada data warehouse, dengan menggunakan kecerdasan buatan
(Artificial Intelegence), statistik dan matematika. Data mining merupakan teknologi yang
diharapkan dapat menjembatani komunikasi antara data dan pemakainya.
‘13 4 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Beberapa solusi yang diberikan data mining antara lain :
Menebak target pasar
Data mining dapat mengelompokkan (clustering) model-model pembeli dan melakukan
klasifikasi terhadap setiap pembeli dan melakukan klasifikasi terhadap setiap pemebeli
sesuai dengan karakteristik yang diinginkan.
Melihat pola beli dari waktu ke waktu
Data mining dapat digunakan untuk melihat pola beli dari waktu ke waktu.
cross-market analysis
Data mining dapat dimanfaatkan untuk melihat hubungan antara satu produk dengan produk
lainnya.
Profil pelanggan
Data mining bisa membantu pengguna untuk melihat profil pembeli sehingga dapat diketahui
kelompok pembeli tertentu cenderung kepada suatu produk apa saja.
Informasi summary
Data mining dapat membuat laporan summary yang bersifat multi dimensi dan dilengkapi
dengan informasi statistik lainnya.
4. Proses informasi executive
Data warehouse dapat membuat ringkasan informasi yang penting dengan tujuan membuat
keputusan bisnis, tanpa harus menjelajahi keseluruhan data. Dengan menggunakan data
warehouse segala laporan telah diringkas dan dapat pula mengetahui segala rinciannya
secara lengkap, sehingga mempermudah proses pengambilan keputusan. Informasi dan
data pada laporan data warehouse menjadi target informative bagi user.
‘13 5 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Karakteristik Data Warehouse
1. Subject Oriented (Berorientasi subject)
Data warehouse berorientasi subject artinya data warehouse didesain untuk menganalisa
data berdasarkan subject-subject tertentu dalam organisasi,bukan pada proses atau fungsi
aplikasi tertentu. Data warehouse diorganisasikan disekitar subjek-subjek utama dari
perusahaan(customers,products dan sales) dan tidak diorganisasikan pada area-area
aplikasi utama(customer invoicing,stock control dan product sales). Hal ini dikarenakan
kebutuhan dari data warehouse untuk menyimpan data-data yang bersifat sebagai
penunjang suatu keputusan, dari pada aplikasi yang berorientasi terhadap data.
Jadi dengan kata lain, data yang disimpan adalah berorientasi kepada subjek bukan
terhadap proses. Secara garis besar perbedaan antara data operasional dan data
warehouse yaitu :
Data Operasional Data Warehouse
Dirancang berorientasi hanya pada aplikasi
dan fungsi tertentu
Dirancang berdasar pada subjek-subjek
tertentu(utama)
Focusnya pada desain database dan
proses
Focusnya pada pemodelan data dan
desain data
Berisi rincian atau detail data Berisi data-data history yang akan dipakai
dalam proses analisis
Relasi antar table berdasar aturan
terkini(selalu mengikuti rule(aturan)
terbaru)
Banyak aturan bisnis dapat tersaji antara
tabel-tabel
‘13 6 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
2. Integrated (Terintegrasi)
Data Warehouse dapat menyimpan data-data yang berasal dari sumber-sumber yang
terpisah kedalam suatu format yang konsisten dan saling terintegrasi satu dengan lainnya.
Dengan demikian data tidak bisa dipecah-pecah karena data yang ada merupakan suatu
kesatuan yang menunjang keseluruhan konsep data warehouse itu sendiri.
Syarat integrasi sumber data dapat dipenuhi dengan berbagai cara sepeti konsisten dalam
penamaan variable,konsisten dalam ukuran variable,konsisten dalam struktur pengkodean
dan konsisten dalam atribut fisik dari data.
Contoh pada lingkungan operasional terdapat berbagai macam aplikasi yang mungkin pula
dibuat oleh developer yang berbeda. Oleh karena itu, mungkin dalam aplikasi-aplikasi
tersebut ada variable yang memiliki maksud yang sama tetapi nama dan format nya
berbeda. Variable tersebut harus dikonversi menjadi nama yang sama dan format yang
disepakati bersama. Dengan demikian tidak ada lagi kerancuan karena perbedaan nama,
format dan lain sebagainya. Barulah data tersebut bisa dikategorikan sebagai data yang
terintegrasi karena kekonsistenannya.
3. Time-variant (Rentang Waktu)
Seluruh data pada data warehouse dapat dikatakan akurat atau valid pada rentang waktu
tertentu. Untuk melihat interval waktu yang digunakan dalam mengukur keakuratan suatu
data warehouse, kita dapat menggunakan cara antara lain :
Cara yang paling sederhana adalah menyajikan data warehouse pada rentang waktu
tertentu, misalnya antara 5 sampai 10 tahun ke depan.
Cara yang kedua, dengan menggunakan variasi/perbedaan waktu yang disajikan dalam
data warehouse baik implicit maupun explicit secara explicit dengan unsur waktu dalam hari,
minggu, bulan dsb. Secara implicit misalnya pada saat data tersebut diduplikasi pada setiap
akhir bulan, atau per tiga bulan. Unsur waktu akan tetap ada secara implisit didalam data
tersebut.
Cara yang ketiga,variasi waktu yang disajikan data warehouse melalui serangkaian
snapshot yang panjang. Snapshot merupakan tampilan dari sebagian data tertentu sesuai
keinginan pemakai dari keseluruhan data yang ada bersifat read-only.
‘13 7 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
4. Non-Volatile
Karakteristik keempat dari data warehouse adalah non-volatile,maksudnya data pada data
warehouse tidak di-update secara real time tetapi di refresh dari sistem operasional secara
reguler. Data yang baru selalu ditambahkan sebagai suplemen bagi database itu sendiri
dari pada sebagai sebuah perubahan. Database tersebut secara kontinyu menyerap data
baru ini, kemudian secara incremental disatukan dengan data sebelumnya.
Berbeda dengan database operasional yang dapat melakukan update,insert dan delete
terhadap data yang mengubah isi dari database sedangkan pada data warehouse hanya
ada dua kegiatan memanipulasi data yaitu loading data (mengambil data) dan akses data
(mengakses data warehouse seperti melakukan query atau menampilan laporan yang
dibutuhkan, tidak ada kegiatan updating data).
Peranan Penting OLTP VS OLAP dalam Data
Warehouse
OLTP (Online Transactional Processing / OLTP)
Sistem informasi adalah sekumpulan fungsi yang bekerja secara bersama-sama dalam
mengelola, mengumpulkan, menyimpan, memproses serta mendistribusikan informasi.
Dalam dunia kerja mengolah sistem informasi harus dibuat semudah mungkin, sehingga
user dapat menggunakan hasil dari sistem informasi secara mudah. Untuk itu, sistem
informasi haruslah efisien, transparan dan terintegarsi. Untuk megolah suatu sistem
informasi dibutuhkan salah satu komponen yaitu sistem informasi manajemen yang berbasis
komputer yang dinamakan sistem basis data (database).
Sistem basis data mempunyai peran penting sebagai tempat pusat penyimpanan data yang
mendukung kegiatan operasional (Online Transactional Processing / OLTP).
‘13 8 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Ciri-ciri umum sistem OLTP adalah :
Mendukung jumlah pengguna yang banyak yang sering menambah dan merubah data
transaksi
Mengandung data dalam jumlah besar, termasuk di dalamnya validasi data transaksi
Memiliki struktur yang kompleks dan rumit
Diarahkan secara maksimal untuk melayani aktivitas transaksi harian
Menyediakan teknologi infrastruktur yang mendukung operasional transaksi data dalam
perusahaan
Sebuah sistem OLTP yang umum memiliki karakteristik seperti jumlah user yang sangat
banyak yang secara serentak mengolah dan menambah data. Dalam hal ini, apabila banyak
user yang melakukan pengolahan dan penambahan data akan membebani program, saat
database berkembang semakin banyak dan kompleks, waktu respon akan semakin
berkurang disebabkan bertumpuknya pemakaian sumber daya yang tersedia, sehingga
untuk membuat suatu keputusan sangatlah susah dan membutuhkan waktu yang lama dan
untuk membuat query satu persatu pada sumber data tidak praktis dan efisien, apalagi
sumber data yang ada menyimpan current (arus data), sedangkan data yang dibutuhkan
oleh para pembuat keputusan adalah data-data historis. Sebagai contoh data histori
dibutuhkan pada pembuatan informasi mengenai transaksi setoran/tarikan dengan nominal
tertentu per bulan per cabang, besaran rata-rata transaki per cabang per bulan, transaksi
yang di-reverse, dan lain-lain. Dengan adanya masalah diatas maka data warehouse
mempunyai solusi dalam mengolah data historis dari berbagai sumber data tersebut.
Data warehouse menyediakan sebuah interface gabungan terhadap data, sehingga query-
query pendukung keputusan mudah ditulis. Data warehouse juga dapat menyimpan sumber
data yang heterogen (data yang tersebar pada database Online Transactional Processing)
dipindahkan ke data yang homogen, sehinggga dengan kemampuan akses data warehouse
maka upaya untuk pendukung keputusan dapat diakses dengan cepat, efisien dan akurat.
Hal penting untuk menjaga Data Warehouse adalah dengan selalu memantau kekinian data
yang tersimpan, dengan membuat katalog data dan disimpan secara terpisah dalam suatu
sistem repositori meta data yang menyimpan informasi sumber data terkini.
‘13 9 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
OLAP (OnLine Analytical Processing)
OLAP (OnLine Analytical Processing) adalah jenis perangkat lunak yang digunakan untuk
melakukan permintaan terhadap data dalam bentuk yang kompleks dan bersifat sementara
serta sewaktu-waktu.
OLAP memanipulasi dan menganalisis data bervolume besar dari berbagai perspektif
(multidimensi). Oleh karena itu OLAP seringkali disebut analisis data multidimensi.
OLAP bekerja dengan data dalam bentuk multidimensi. Yang umum, bentuk tiga dimensi
diwujudkan ke dalam bentuk kubus data.
Tujuan OLAP adalah menggunakan informasi dalam sebuah basis data (data warehouse)
untuk memandu keputusan-keputusan yang strategic. Beberapa contoh permintaan yang
ditangani oleh OLAP:
• Berapa jumlah penjualan dalam kuartal pertama?
• Berapa jumlah penjualan per kuartal untuk masing-masing kota?
• Tampilkan 5 produk dengan total penjualan tertinggi pada kuartal pertama.
Kadangkala permintaan yang ditangani OLAP bisa diselesaikan dengan pernyataan SQL
sederhana, tetapi dalam banyak kasus tidak dapat diekspresikan dengan SQL. OLAP dapat
digunakan untuk melakukan konsolidasi, drill-down, dan slicing and dicing. Di bawah ini
adalah kegunaan dari konsolidasi, drill-down, dan slicing and dicing yaitu:
Konsolidasi
melibatkan pengelompokan data. Sebagai contoh kantor-kantor cabang dapat
dikelompokkan menurut kota atau bahkan propinsi. Transaksi penjualan dapat ditinjau
menurut tahun, triwulan, bulan, dan sebagainya. Kadangkala istilah rollup digunakan untuk
menyatakan konsolidasi.
‘13 10 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Drill-down
Drill-down adalah suatu bentuk yang merupakan kebalikan dari konsolidasi, yang
memungkinkan data yang ringkas dijabarkan menjadi data yang lebih detail. Sebagai
contoh, mula-mula data yang tersaji didasarkan pada kuartal pertama. Jika dikehendaki,
data masing-masing bulan pada kuartal pertama tersebut bisa diperoleh, sehingga akan
tersaji data bulan Januari, Februari, Maret, dan April.
Slicing and dicing (atau dikenal dengan istilah pivoting)
Untuk menjabarkan pada kemampuan untuk melihat data dari berbagai sudut pandang.
Data dapat diiris-iris atau dipotong-potong berdasarkan kebutuhan. Sebagai contoh, dapat
diperoleh data penjualan berdasarkan semua lokasi atau hanya pada lokasi-lokasi tertentu.
Adapun karakterisik aplikasi-aplikasi OLAP:
permintaan data sangat kompleks,
jarang ada pemutakhiran, dan
transaksi mengakses banyak bagian dalam basis
data.
Contoh perangkat lunak OLAP:
Express Server (Oracle)
PowerPlay (Cognos Software)
Metacube (Informix/Stanford Technology Group)
Sistem OLAP pada masa awal menggunakan larik multidimensi di dalam memori untuk
menyimpan data kubus. Sistem seperti ini disebut MOLAP (Multidimensional OLAP). Pada
perkembangan selanjutnya, data disimpan dalam bentuk basis data relasional. Sistem OLAP
seperti ini dikenal dengan sebutan ROLAP (Relational OLAP), selain MOLAP dan ROLAP,
terdapat pula sistem yang dinamakan 1iybrid OLAP (HOLAP), yaitu sistem OLAP yang
menyimpan beberapa ringkasan dalam memori dan menyimpan basis data dan ringkasan-
ringkasan yang lain dalam basis data relasional.
‘13 11 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Keuntungan Data Warehouse
Data warehouse merupakan pendekatan untuk menyimpan data dimana sumber-sumber
data yang heterogen(yang biasanya tersebar pada beberapa database (OLTP) dimigrasikan
untuk penyimpanan data yang homogen dan terpisah. Keuntungan dengan menggunakan
data warehouse adalah :
Data diorganisir dengan baik untuk query analisis dan sebagai bahan untuk pemrosesan
transaksi.
Perbedaan diantara struktur data yang heterogen pada beberapa sumber yang terpisah
dapat diatasi.
Aturan untuk transformasi data diterapkan untuk memvalidasi dan mengkonsolidasi data
apabila data dipindahkan dari database OLTP ke data warehouse.
Masalah keamanan dan kinerja bisa dipecahkan tanpa perlu mengubah sistem produksi.
MOTIVASI DATA WAREHOUSE
Tekanan terhadap database OLTP untuk proses query terlalu besar
Data warehousing didisain untuk proses pengambilan yang efesien
Data pada sistem yang berbeda-beda umumnya tidak konsisten, kualitasnya buruk dan
disimpan di dalam format yang berbeda
Mengurangi biaya dalam menyediakan data untuk keperluan pengambilan keputusan
Mendukung untuk memfokuskan diri pada proses bisnis lengkap
Mendukung inisiatif baru
Sumber-sumber industri menyebutkan bahwa ROI berjumlah rata-rata 401% dalam tiga
tahun
Tetap kompetitif
Proses Data Warehouse
Salah satu tuntutan dari data mining ketika diterapkan pada data berskala besar adalah
diperlukan metodologi sistematis tidak hanya ketika melakukan analisa saja tetapi juga
ketika mempersiapkan data dan juga melakukan interpretasi dari hasilnya sehingga dapat
menjadi aksi ataupun keputusan yang bermanfaat.
Karenanya data warehouse seharusnya dipahami sebagai suatu proses, yang memiliki
tahapan-tahapan tertentu dan juga ada umpan balik dari setiap tahapan ke tahapan
sebelumnya. Pada umumnya proses data mining berjalan interaktif karena tidak jarang hasil
‘13 12 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
data mining pada awalnya tidak sesuai dengan harapan analisnya sehingga perlu dilakukan
desain ulang prosesnya
MODUL PERKULIAHAN
Perancangan Basis Data
Lingkungan Basis Data
Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh
Fakultas Ilmu Komputer
Teknik Informatika
03 87012 Tim Dosen.
Abstract Kompetensi
Materi ini menyediakan latar belakan informasi yang penting pada basis data, diantaranya tiga tingkatan arsitektur ANSI-SPARC, pengenalan model data, fungsi yang disediakan oleh DBMS multi user
Memahami tiga tingkatan arsitektur database
‘13 2 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Lingkungan basis data
Tujuan utama dari sistem basis data adalah menyediakan pemakai melalui suatu
pandangan abstrak mengenai data, dengan menyembunyikan detail dari bagaimana data
disimpan dan dimanipulasikan. Oleh karena itu, titik awal untuk perancangan sebuah basis
data haruslah abstrak dan deskripsi umum dari kebutuhan-kebutuhan informasi suatu
organisasi harus digambarkan di dalam basis data.
Lebih jauh lagi, jika sebuah basis data merupakan suatu sumber yang bisa digunakan
bersama maka setiap pemakai membutuhkan pandangan yang berbeda-beda terhadap data
di dalam basis data. Untuk memenuhi kebutuhan ini, arsitektur komersial basis data yang
banyak digunakan telah tersedia saat ini dan telah mengalami perluasan yaitu arsitektur
ANSI-SPARC.
Materi ini menyediakan latar belakan informasi yang penting pada basis data, diantaranya
tiga tingkatan arsitektur ANSI-SPARC, pengenalan model data, fungsi yang disediakan oleh
DBMS multi user.
Tiga Tingkatan Arsitektur Basis data ANSI-SPARC
Ada 3 tingkat dalam arsitektur basis data yang bertujuan membedakan cara pandang
pemakai terhadap basis data dan cara pembuatan basis data secara fisik.
3 tingkatan arsitektur basis data :
1. Tingkat Eksternal (External Level)
Tingkat eksternal merupakan cara pandang pemakai terhadap basis data. Pada tingkat ini
menggambarkan bagian basis data yang relevan bagi seorang pemakai tertentu. Tingkat
eksternal terdiri dari sejumlah cara pandang yang berbeda dari sebuah basis data. Masing-
masing pemakai merepresentasikan dalam bentuk yang sudah dikenalnya. Cara pandang
secara eksternal hanya terbatas pada entitas, atribut dan hubungan antar entitas
(relationship) yang diperlukan saja.
2. Tingkat Konseptual (Conseptual Level)
Tingkat konseptual merupakan kumpulan cara pandang terhadap basis data. Pada tingkat
ini menggambarkan data yang disimpan dalam basis data dan hubungan antara datanya.
Hal-hal yang digambarkan dalam tingkat konseptual adalah :
- semua entitas beserta atribut dan hubungannya
‘13 3 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
- batasan data
- informasi semantik tentang data
- keamanan dan integritas informasi
Semua cara pandang pada tingkat eksternal berupa data yang dibutuhkan oleh pemakai
harus sudah tercakup di dalam tingkat konseptual atau dapat diturunkan dari data yang ada.
Deskripsi data dari entitas pada tingkat ini hanya terdiri dari jenis data dan besarnya atribut
tanpa memperhatikan besarnya penyimpanan dalam ukuran byte.
3. Tingkat Internal (Internal Level)
Tingkat internal merupakan perwujudan basis data dalam komputer. Pada tingkat ini
menggambarkan bagaimana basis data disimpan secara fisik di dalam peralatan storage
yang berkaitan erat dengan tempat penyimpanan / physical storage.
Tingkat internal memperhatikan hal-hal berikut ini :
- alokasi ruang penyimpanan data dan indeks
- deskripsi record untuk penyimpanan (dengan ukuran penyimpanan untuk data elemen
- penempatan record
- pemampatan data dan teknik encryption
Berikut adalah gambar tiga level arsitektur system basis data :
Tiga level arsitektur system basis data
‘13 4 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
External Level /View Level
Adalah level user. Yang dimaksud dengan user adalah programmer, end user atau
DBA. Setiap user mempunyai ‘bahasa’ yang sesuai dengan kebutuhannya.
- programmer : bahasa yang digunakan adalah bahasa pemrograman seperti C, COBOL,
atau PL/I dan lain-lain.
- end user : bahasa yang digunakan adalah bahasa query atau menggunakan fasilitas yang
tersedia pada program aplikasi pada level eksternal ini, user dibatasi pada kemampuan
perangkat keras dan perangkat lunak yang digunakan aplikasi basis data. Didefinisikan
sebagai sebuah Skema Eksternal.
Conceptual Level / Logical level
Conceptual level adalah sebuah representasi seluruh muatan informasi yang dikandung oleh
basis data. Tidak seperti level eksternal maka pada level conceptual, keberadaannya tidak
memperhitungkan kekurangan perangkat keras maupun perangkat lunak pembangun
aplikasi basis data. Didefinisikan sebagai sebuah Skema Konseptual
Internal/Physical Level
Adalah level terendah untuk merepresentasikan basis data. Record disimpan dalam media
penyimpanan dalam format byte. Didefinisikan sebagai sebuah Skema Internal.
Contoh dalam sebuah basis data pegawai, ketiga level digambarkan sebagai berikut :
- Pada level konseptual, basis data mengandung informasi tentang sebuah entity yang
disebut EMPLOYEE. Setiap EMPLOYEE mempunyai sebuah EMP_NUMBER (6 karakter),
DEP_NUMBER(4 karakter) & SALARY (5 digit desimal).
- Pada level internal, para pegawai direpresentasikan oleh STRORED_EMP, panjang 20
byte. STORED_EMP terdiri atas 4 field yaitu flag/pointer, 6 byte, tiga field untuk atribut
pegawai.
- User yang menggunakan PL/I mempunyai sisi pandang level eksternal dimana pegawai
direpresentasikan dalam sebuah record yang ditulis dengan sintaks PL/I
‘13 5 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
- Demikianlah pula user yang menggunakan COBOL mempunyai sisi pandang level
eksternal dimana pegawai direpresentasikan dalam sebuah record yang ditulis dengan
sintaks COBOL.
Data Independence
Tujuan utama dari 3 tingkat arsitektur adalah memelihara kemandirian data (data
independence) yang berarti perubahan yang terjadi pada tingkat yang lebih rendah tidak
mempengaruhi tingkat yang lebih tinggi.
Ada 2 jenis data independence, yaitu
1. Physical Data Independence
bahwa internal schema dapat diubah oleh DBA tanpa menggangu conceptual schema.
Dengan kata lain physical data independence menunjukkan kekebalan conceptual schema
terhadap perubahan internal schema.
2. Logical Data Independence
bahwa conceptual schema dapat diubah oleh DBA tanpa menggangu external schema.
Dengan kata lain logical data independence menunjukkan kekebalan external schema
terhadap perubahan conceptual schema.
Prinsip data independence adalah salah satu hal yang harus diterapkan di dalam
pengelolaan sistem basis data dengan alasan-alasan sbb :
1. DBA dapat mengubah isi, lokasi, perwujudan dalam organisasi basis data tanpa
mengganggu program-program aplikasi yang sudah ada.
2. Pabrik / agen peralatan / software pengolahan data dapat memperkenalkan
produk-produk baru tanpa mengganggu program-program aplikasi yang sudah ada.
3. Untuk memindahkan perkembangan program-program aplikasi
4. Memberikan fasilitas pengontrolan terpusat oleh DBA demi keamanan dan integritas data
dengan memperhatikan perubahan-perubahan kebutuhan pengguna.
• Pemisahan antara representasi fisik, lokasi, dan penggunaan data
– Aplikasi tidak perlu tahu bagaimana dan di mana database menyimpan data,
hanya bagaimana mengaksesnya.
‘13 6 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
– Pemindahan database dari satu DBMS ke DBMS lain tidak berpengaruh besar
pada program aplikasi
– Pengubahan nilai, penambahan atribut (field), dsb pada database
tidak mempengaruhi aplikasi yang menggunakannya.
Data Dependent
berarti :
• Sulit mengubah storage structure atau strategi access tanpa harus mengubahprogram aplikasi.
Dua alasan data dependent harus dihindari :
• Beberapa aplikasi memerlukan sejumlah penampilan data yang berbeda atas data yang sama.
• Database administrator (DBA) harus memiliki kebebasan mengubah “storage structure” atau “access strategy”.
Kemungkinan perubahan storage structure.
• Penyajian data numerik * Basis ( Binari, Desimal ) * Scale ( Fixed, Floating Point) * Mode ( Real, Complex )
• Penyajian data character * ASCII atau EBCDIC
• Unit data numerik
• Data Coding
• Struktur “stored record”
Misalnya : Struktur 2 ( dua ) record dilebur atau kebalikannya.
• Struktur dari “stored files”
‘13 7 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Lingkungan Database
Komponen Database
‘13 8 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Bahasa Dalam DBMS
DBMS (Database Management systems) adalah kumpulan program yang
mengkoordinasikan semua kegiatan yang berhubungan dengan basis data. Dengan adanya
berbagai tingkatan pandangan dalam suatu basis data maka untuk mengakomodasikan
masing-masing pengguna dalam piranti lunak manajemen basis data biasanya terdapat
bahasa-bahasa tertentu yang disebut Data Sub language
Data sub language adalah subset bahasa yang dipakai untuk operasi manajemen basis
data. Dalam penggunaan biasanya dapat ditempelkan (embedded) pada bahasa tuan rumah
(Cobol, PL/1, dsb). Secara umum maka setiap pengguna basis data memerlukan bahasa
yang dipakai sesuai tugas dan fungsinya.
Dalam basis data secara umum dikenal 2 data sub language :
1. Data Definition Language (DDL)
Bahasa yang digunakan dalam mendefinisikan struktur atau kerangka dari basis data, di
dalamnya termasuk record, elemen data, kunci elemen, dan relasinya
2. Data Manipulation Language (DML)
Bahasa yang digunakan untuk menjabarkan pemrosesan dari basis data, fasilitas ini
diperlukan untuk memasukkan, mengambil, mengubah data. DML dipakai untuk operasi
terhadap isi basis data
Ada 2 jenis DML :
1. Procedural DML
Digunakan untuk mendefinisikan data yang diolah dan perintah yang akan
dilaksanakan.
2. Non Procedural
Digunakan untuk menjabarkan data yang diinginkan tanpa menyebutkan bagaimana
cara pengambilannya.
Secara khusus pengguna menggunakan berbagai bahasa :
Programmer aplikasi menggunakan bahasa-bahasa seperti Cobol, Informix, dll (host
language) yang ditempelkan dengan bahasa yang dipakai dalam DBMS. Pemakai terminal
menggunakan bahasa Query (misal SQL) atau menggunakan program aplikasi (yang
dirancang oleh programmer). Sedangkan DBA lebih banyak menggunakan bahasa DDL dan
DML yang tersedia dalam DBMS.
DBMS mempunyai tugas untuk menangani semua bentuk akses kepada basis data, secara
konsep :
‘13 9 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
1. Pengguna menyatakan permintaan akses menggunakan DBMS
2. DBMS menangkap dan menginterpretasikan
3. DBMS mencari :
- eksternal / conceptual mapping- conceptual schema - konseptual / internal mapping - internal schema
4. DBMS melaksanakan operasi yang diminta terhadap basis data tersimpan.Proses 1 s/d 4 dapat dilakukan secara interactive atau dicompile dulu.
Model Data
Model data adalah kumpulan konsep yang terintegrasi yang menggambarkan data,
hubungan antara data dan batasan-batasan data dalam suatu organisasi. Fungsi dari
sebuah model data untuk merepresentasikan data sehingga data tersebut mudah dipahami.
Untuk menggambarkan data pada tingkat eksternal dan konseptual digunakan model data
berbasis objek atau model data berbasis record.
atribut
entitas
MKUL
KD_MK MT_KULIAH SKS
KK-021 Peng. Basis Data 2
KD-132 SIM 3
KU-122 Pancasila 2
1. Model Data Berbasis Objek
Model data berbasis objek menggunakan konsep entitas, atribut dan hubungan antar
entitas. Beberapa jenis model data berbasis objek yang umum adalah :
- entity-relationship
- semantic
- functional
- object-oriented
‘13 10 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
2. Model Data Berbasis Record
Pada model data berbasis record, basis data terdiri dari sejumlah record dalam bentuk yang
tetap yang dapat dibedakan dari bentuknya. Ada 3 macam jenis model data berbasis record
yaitu :
- model data relasional (relational)
- model data hierarkhi (hierarchical)
- model data jaringan (network)
MODUL PERKULIAHAN
Perancangan Basis Data
Konfigurasi Database & Fungsi DBMS
Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh
Fakultas Ilmu Komputer
Teknik Informatika
04 87012 Tim Dosen.
Abstract Kompetensi
Materi ini menyediakan latar belakan informasi yang penting pada basis data, diantaranya tiga tingkatan arsitektur ANSI-SPARC, pengenalan model data, fungsi yang disediakan oleh DBMS multi user
Memahami tiga tingkatan arsitektur database
‘13 2 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Konfigurasi Database
Konfigurasi Database
• Database untuk PC
• Access
• FoxPro
• Dbase III
• Oracle
• Etc.
• Database terpusat (centralized)
‘13 3 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
• Database client/server (2-tier)
• Database tersebar (distributed)
Model homogen
‘13 4 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Model Heterogen
Aplikasi Database
Suatu program aplikasi (atau sekumpulan program yang saling berhubungan) yang
digunakan untuk melakukan serentetan aktifitas database:
– Tulis (Create/Write)
– Baca (Read)
– Ubah (Update)
– Hapus (Delete)
untuk keperluan pengguna database.
Skala Aplikasi Database
• Database untuk PC
– Untuk perorangan
• Database kelompok
– Untuk kelompok kecil pengguna dengan akses ke database melalui
LAN
‘13 5 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
• Database departmental
– Sama tetapi untuk kelompok yang lebih besar
• Database perusahaan (enterprise)
Untuk seluruh organisasi dengan akses melalui intranet (atau internet)
‘13 6 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Fungsi DBMS
Layanan-layanan yang sebaiknya disediakan oleh database management system adalah :
1. Penyimpanan, pengambilan dan perubahan data
Sebuah DBMS harus menyediakan kemampuan menyimpan, mengambil dan merubah data
dalam basis data.
2. Katalog yang dapat diakses pemakai
menyediakan sebuah katalog yang berisi deskripsi item data yang disimpan dan diakses
oleh pemakai.
3. Mendukung Transaksi
Menyediakan mekanisme yang akan menjamin semua perubahan yang berhubungan
dengan transaksi yang sudah ada atau yang akan dibuat.
4. Melayani kontrol concurrency
Sebuah DBMS harus menyediakan mekanisme yang menjamin basis data ter-update secara
benar pada saat beberapa pemakai melakukan perubahan terhadap basis data yang sama
secara bersamaan.
5. Melayani recovery
Menyediakan mekanisme untuk mengembalikan basis data ke keadaan sebelum terjadinya
kerusakan pada basis data tersebut.
6. Melayani autorisasi
Sebuah DBMS harus menyediakan mekanisme untuk menjamin bahwa hanya pemakai
yang berwenang saja yang dapat mengakses basis data.
7. Mendukung komunikasi data
Sebuah DBMS harus mampu terintegrasi dengan software komunikasi.
8. Melayani integrity
Sebuah DBMS bertujuan untuk menjamin semua data dalam basis data dan setiap terjadi
perubahan data harus sesuai dengan aturan yang berlaku.
‘13 7 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
9. Melayani data independence
Sebuah DBMS harus mencakup fasilitas untuk mendukung kemandirian program dari
struktur basis data yang sesungguhnya.
10. Melayani utility
Sebuah DBMS sebaiknya menyediakan kumpulan layanan utility.
Komponen DBMS
1. Query Processsor
Komponen yang merubah bentuk query ke dalam instruksi tingkat rendah ke database
manager
2. Database Manager
Database manager menerima query dan menguji skema eksternal dan konseptual untuk
menentukan apakah record-record dibutuhkan untuk memenuhi permintaan. Kemudian DM
memanggil file manager untuk menyelesaikan permintaan
‘13 8 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
3. File Manager
Memanipulasi penyimpanan file dan mengatur alokasi ruang penyimpanan pada disk.
4. DML Preprocessor
Modul yang merubah perintah DML embedded ke dalam program aplikasi dalam bentuk
fungsi-fungsi yang memanggil dalam host language.
5. DDL Compiler
Merubah perintah DDL menjadi kumpulan tabel yang berisi metadata.
6. Dictionary Manager
Mengatur akses dan memelihara data dictionary. Data dictionary diakses oleh komponen
DBMS yang lain.
Komponen Software Utama Database Manager
‘13 9 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Komponen software utama database manager adalah
1. Authorization Control
Modul yang memeriksa apakah pemakai mempunyai wewenang untuk menyelesaikan
operasi
2. Command Processor
Memeriksa apakah pemakai mempunyai wewenang untuk menyelesaikan operasi
3. Integrity Checker
Untuk semua operasi yang merubah basis data, integrity checker memeriksa operasi yang
diminta memerlukan batasan integritas.
4. Query Optimizer
Modul ini menentukan strategi yang optimal untuk eksekusi query
5. Transaction Manager
Modul ini mengerjakan proses-proses yang dibutuhkan operasi yang diterima transaksi
6. Scheduler
Modul ini bertanggung jawab untuk menjamin operasi secara bersamaan terhadap basis
data sehingga berjalan tanpa ada masalah antara yang satu dengan yang lain.
7. Recovery Manager
Modul ini menjamin basis data tetap konsisten walaupun terjadi kerusakan.
8. Buffer Manager
Modul ini bertanggung jawab terhadap pemindahan data antara main memory dan
secondary storage, seperti disk dan tape.
‘13 10 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Arsitektur DBMS Multi
User
Teleprocessing Arsitektur tradisional untuk sistem multi user adalah teleprocessing, dimana satu komputer
dengan sebuah CPU dan sejumlah terminal seperti pada gambar di bawah ini.
Arsitektiur Teleprocessing
Semua pemrosesan dikerjakan dalam batasan fisik komputer yang sama. Terminal untuk
pemakai berjenis 'dumb', yang tidak dapat berfungsi sendiri dan masing-masing
dihubungkan ke komputer pusat. Terminal-terminal tersebut mengirimkan pesan melalui
subsistem pengontrol komunikasi pada sistem operasi ke program aplikasi, yang bergantian
menggunakan layanan DBMS.
Dengan cara yang sama, pesan dikembalikan ke terminal pemakai. Arsitektur ini
menempatkan beban yang besar pada komputer pusat yang tidak hanya menjalankan
program aplikasi tetapi juga harus menyelesaikan sejumlah pekerjaan pada terminal seperti
format data untuk tampilan di monitor.
‘13 11 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
File-Server
Proses didistribusikan ke dalam jaringan sejenis LAN (Local Area Network). File server
mengendalikan file yang diperlukan oleh aplikasi dan DBMS. Meskipun aplikasi dan DBMS
dijalankan pada masing-masing workstation tetapi tetap meminta file dari file server jika
diperlukan (perhatikan gambar di halaman berikut ini).
Arsitektiur File-Server
Dengan cara ini, file server berfungsi sebagai sebuah hard disk yang digunakan secara
bersamaan.
Kerugian arsitektur file-server adalah :
- Terdapat lalulintas jaringan yang besar
- Masing-masing workstation membutuhkan copy DBMS
- Kontrol terhadap concurrency, recovery dan integrity menjadi lebih kompleks karena
sejumlah DBMS mengakses file secara bersamaan
‘13 12 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Client Server
Untuk mengatasi kelemahan arsitektur-arsitektur di atas maka dikembangkan arsitektur
client-server. Client-server menunjukkan cara komponen software berinteraksi dalam bentuk
sistem.
Sesuai dengan namanya, ada sebuah pemroses client yang membutuhkan sumber dan
sebuah server yang menyediakan sumbernya. Tidak ada kebutuhan client dan server yang
harus diletakkan pada mesin yang sama. Secara ringkas, umumnya server diletakkan pada
satu sisi dalam LAN dan client pada sisi yang lain.
Arsitektur Client Server
Dalam konteks basis data, client mengatur interface berfungsi sebagai workstation tempat
menjalankan aplikasi basis data. Client menerima permintaan pemakai, memeriksa sintaks
dan generate kebutuhan basis data dalam SQL atau bahasa yang lain. Kemudian
meneruskan pesan ke server, menunggu response dan bentuk response untuk pemakai
akhir. Server menerima dan memproses permintaan basis data kemudian mengembalikan
hasil ke client.
Proses-proses ini melibatkan pemeriksaan autorisasi, jaminan integritas, pemeliharaan data
dictionary dan mengerjakan query serta proses update. Selain itu juga menyediakan kontrol
terhadap concurrency dan recovery.
‘13 13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Ada beberapa keuntungan jenis arsitektur ini adalah :
• Memungkinkan akses basis data yang besar
• Menaikkan kinerja
• Jika client dan server diletakkan pada komputer yang berbeda kemudian CPU yang
berbeda dapat memproses aplikasi secara paralel. Hal ini mempermudah merubah
mesin server jika hanya memproses basis data.
• Biaya untuk hardware dapat dikurangi
• Hanya server yang membutuhkan storage dan kekuatan proses yang cukup untuk
enyimpan dan mengatur basis data
• Biaya komunikasi berkurang
• Aplikasi menyelesaikan bagian operasi pada client dan mengirimkan hanya bagian
yang dibutuhkan untuk akses basis data melewati jaringan, menghasilkan data yang
sedikit yang akan dikirim melewati jaringan
• Meningkatkan kekonsistenan
• Server dapat menangani pemeriksaan integrity sehingga batasan perlu didefinisikan
dan validasi hanya di satu tempat, aplikasi program mengerjakan pemeriksaan
sendiri
• Map ke arsitektur open-system dengan sangat alami
Berikut ini adalah ringkasan fungsi client-server
‘13 14 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Data Dictionary
Data dictionary adalah tempat penyimpanan informasi yang menggambarkan data dalam
basis data. Data dictionary biasa disebut juga dengan metadata atau data mengenai data.
Modul pengontrol otorisasi menggunakan data dictionary untuk memeriksa apakah seorang
pemakai perlu mempunyai wewenang.
Untuk mengerjakan pemeriksaan tersebut data dictionary menyimpan :
• nama-nama pemakai yang mempunyai wewenang untuk menggunakan DBMS
• nama-nama data item yang ada dalam basis data
• data item yang dapat diakses oleh pemakai dan jenis akses yang diijinkan, misalnya:
insert, update, delete atau read
• Sedangkan untuk memeriksa integritas data, data dictionary menyimpan :
• nama-nama data item dalam basis data
• jenis dan ukuran data item
• batasan untuk masing-masing data item
Sistem data dictionary dapat dibedakan atas sistem aktif dan pasif. Sistem aktif selalu
konsisten dengan struktur basis data karena secara otomatis dikerjakan oleh sistem.
Sebaliknya, sistem pasif tidak konsisten terhadap perubahan basis data yang dilakukan oleh
pemakai.
MODUL PERKULIAHAN
Perancangan Basis Data
Model Relational
Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh
Fakultas Ilmu Komputer
Teknik Informatika
05 87012 Tim Dosen.
Abstract Kompetensi
Materi ini menyediakan pemahaman model relational
Model relational di dalam penerapat data warehouse dan mining
‘13 2 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Model Relational
Model relasi pertama kali dikenalkan oleh Codd, pada tahun 1971. Sejak itu model relasi
memainkan peranan yang sangat penting dalam berbagai perancangan basis data.
Ada tiga alasan mengapa model relasi mempunyai peranan penting dalam perancangan
basis data yaitu :
1. mempunyai piranti komunikasi yang baik antara user & designer
artinya relasi merepresentasikan struktur data yang dapat dimengerti oleh user
maupun designer.
2. model relasional mendefinisikan salah satu kriteria perancangan basis data
yang penting yaitu relasi bentuk normal.
3. Struktur data yang direpresentasikan oleh relasi dapat segera dikonversikan
& diimplementasikan ke RDBMS
APA YANG DISEBUT DENGAN RELASI
Relasi pertama kali didefinisikan menggunakan teori himpunan. Cara termudah untuk
mendefinisikan sebuah relasi adalah sebagai sebuah tabel dimana data-datanya disimpan
dalam baris tabel.
Atau
Relasi
Sebuah tabel yang terdiri dari beberapa kolom dan beberapa baris.
Contoh Table :
Tabel Work dibawah ini
Terdiri dari tiga kolom, yaitu Person_Id, Proj_No dan Total_Time.
Tabel ini menyimpan waktu yang dihabiskan oleh person pada proyek tersebut. Selain tabel
Work terdapat juga relasi Persons. Relasi ini menyimpan secara detail tentang person yang
bekerja pada proyek dimaksud.
Misalnya terdiri dari 4 kolom, yaitu Person_id, Date_of_birth, Name
‘13 3 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Perhatikan gambar:
Work
Person_id Proj_No Total_time
P1 PROJ1 20
P3 PROJ1 16
P2 PROJ2 16
P2 PROJ3 42
P3 PROJ2 17
P3 PROJ1 83
P4 PROJ3 41
Person
Person_id Date_of_bith Name
P1 Jan 62 Joe
P4 FEB 65 Mary
P3 auf
STRUKTUR LOGIC & FISIK
Representasi logic berarti bahwa sebuah relasi harus :
- tidak terdapat duplikasi baris
- urutan baris tidak diperhatikan
- setiap kolom dalam suatu relasi mempunyai sebuah nama yang
unik
struktur fisik diperlukan selama implementasi fisik yaitu pada saat menentukan layout
data & indeks yang digunakan untuk mengakses data dalam suatu relasi. Hal penting
lainnya yang harus diperhatikan dalam merancang relasi adalah bahwa nama-nama
atribut relasi harus menggambarkan sumber data berasal.
‘13 4 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
REDUNDANSI & DUPLIKASI
Redundansi
Salah satu dari perancangan logic basis data adalah meniadakan redundansi. Redundansi
(pengulangan data yang tidak perlu) terjadi jika fakta yang sama disimpan lebih dari
sekali.
Contoh redundansi adalah relasi Project_Data berikut : dalam relasi Project_Data,
Project_Budget dari sebuah proyek disimpan lebih dari sekali. Yaitu sebanyak orang yang
bekerja pada proyek tersebut. Hal ini tidak diinginkan karena menyebabkan banyak kerugian
sebagai berikut :
• Jika Project_Budget untuk Proj_No berubah maka harus dilakukan
perubahan lebih dari satu baris dalam relasi tersebut.
• Setiap kali penambahan orang baru untuk suatu proyek maka
harus dimasukkan pula budget untuk proyek tersebut.
• Sebuah proyek yang tidak ada orangnya, seperti PROJ4, akan hanya mempunyai
sebuah nilai Project_Budget tetapi tidak punya nilai untuk atribut lainnya. Ini
berarti bahwa operasi-operasi terhadap relasi tersbut harus disesuaikan dengan \
keadaan struktur basis data saat itu.
‘13 5 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Duplikasi
Duplikasi berbeda dengan redundansi. Kadang-kadang duplikasi
diperlukan dalam basis data sementara redundansi harus dihindari.
Contoh duplikasi adalah relasi USE dibawah ini. Relasi USE memiliki lebih dari satu
baris yang mempunyai nilai yang sama untuk atribut Project_Id, yaitu Proj1. Demikian
juga untuk Proj2. Nilai-nilai ini harus disimpan lebih dari sekali karena
menggambarkan fakta yang berbeda
USE
Project_Id
Part_no Qty_used Proj1 P1 17
Proj2 P2 85
Proj1 P3 73
Proj2 P2 80
ASSIGMENTS
Person_ID Dept DATE Of Birth Date Started Date Finished
P1 Sales (JKT) 1 June 1980 10 June 83 5 Agust 70
P2 Adms (JKT) 21 June 1982 2 June 80 5 Agust 83
P3 Mngr (JKT) 1 Mei 1980 2 June 80 5 Agust 83
MENGHILANGKAN REDUNDANSI
Salah satu cara untuk menghilangkan redundansi adalah dengan dekomposisi (teknik
memecah sebuah relasi menjadi beberapa relasi).
Sbuah relasi yang menyimpan sebuah fakta lebih dari sekali dapat didekomposisi ke
dalam relasi-relasi yang hanya menyimpan sebuh fakta sekali.
‘13 6 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Contoh relasi Project_Data di atas dapat didekomposisi menjadi relasi Projects dan Work
di bawah ini .
WORK
Person_Id Proj_No Total_Time
P1 Proj1 20
P3 Proj1 16
P2 Proj2 35
P2 Proj3 42
P3 Proj2 17
P3 Proj1 83
P4 Proj3 41
Istilah dalam basis data relasional
Atribut
Kolom pada sebuah relasi
Tupel
Baris pada sebuah relasi
Domain
Kumpulan nilai yang valid untuk satu atau lebih atribut
Derajat
Jumlah atribut dalam sebuah relasi
‘13 7 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Cardinality
Jumlah tupel dalam sebuah relasi
Relational Key
Super key
Satu atribut/kumpulan atribut yang secara unik mengidentifikasi sebuah tupel di dalam
relasi
Candidate key
Atribut di dalam relasi yang biasanya mempunyai nilai unik
Primary key
Candidate key yang dipilih untuk mengidentifikasikan tupel secara unik dalam relasi
Alternate key
Candidate key yang tidak dipilih sebagai primary key
‘13 8 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Foreign key
Atribut dengan domain yang sama yang menjadi kunci utama pada sebuah relasi tetapi
pada relasi lain atribut tersebut hanya sebagai atribut biasa
Perhatikan contoh berikut :
• Relational Integrity Rules
1. Null
Nilai suatu atribut yang tidak diketahui dan tidak cocok untuk baris (tuple) tersebut
2. Entity Integrity
Tidak ada satu komponen primary key yang bernilai null.
3. Referential Integrity
Suatu domain dapat dipakai sebagai kunci primer bila merupakan atribut tunggal
pada domain yang bersangkutan.
• Bahasa Pada Basis data Relational
Menggunakan bahasa query pernyataan yang diajukan untuk mengambil informasi
‘13 9 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Terbagi 2 :
1. Bahasa Formal
Bahasa query yang diterjemahkan dengan menggunakan simbol-simbol matematis.
Contoh: Aljabar relasional
Kalkulus relasional
• Aljabar Relasional
Bahasa query prosedural pemakai menspesifikasikan data apa yang
dibutuhkan dan bagaimana untuk mendapatkannya.
• Kalkulus Relasional
Bahasa query non-prosedural pemakai menspesifikasikan data apa yang
dibutuhkan tanpa menspesifikasikan bagaimana untuk mendapatkannya.
Terbagi 2 :
1. Kalkulus Relasional Tupel
2. Kalkulus Relasional Domain
‘13 10 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
2. Bahasa Komersial
Bahasa Query yang dirancang sendiri oleh programmer menjadi suatu program
aplikasi agar pemakai lebih mudah menggunakannya (user friendly).
Contoh :
• QUEL
Berbasis pada bahasa kalkulus relasional
• QBE
Berbasis pada bahasa kalkulus relasional
• SQL
Berbasis pada bahasa kalkulus relasional dan aljabar relasional
• Contoh-contoh Basis Data Relasional :
- DB2 IBM
- ORACLE Oracle
- SYBASE Powersoft
- INFORMIX Informix
- Microsoft Access Microsoft
MODUL PERKULIAHAN
Perancangan Basis Data
Normalisasi
Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh
Fakultas Ilmu Komputer
Teknik Informatika
06 87012 Tim Dosen.
Abstract Kompetensi
Materi ini memahami Normalisasi Mahasiswa di harapkan lebih paham mengenai Normalisasi dan dapat menyelesaikan kasus
‘13 2 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Normalisasi
Definisi
Normalisasi adalah suatu teknik untuk mengorganisasi data ke dalam tabel-tabel untuk
memenuhi kebutuhan pemakai di dalam suatu organisasi.
Tujuan dari normalisasi
• Untuk menghilangkan kerangkapan data
• Untuk mengurangi kompleksitas
• Untuk mempermudah pemodifikasian data
Proses Normalisasi
• Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan
tertentu ke beberapa tingkat.
• Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut
perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi
bentuk yang optimal.
‘13 3 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Tahapan Normalisasi
Bentuk Tidak Normal
Menghilangkan perulangan group
Bentuk Normal Pertama (1NF)
Menghilangkan ketergantungan sebagian
Bentuk Normal Kedua (2NF)
Menghilangkan ketergantungan transitif
Bentuk Normal Ketiga (3NF)
Menghilangkan anomali-anomali hasil dari ketergantungan fungsional
Bentuk Normal Boyce-Codd (BCNF)
Menghilangkan Ketergantungan Multivalue
Bentuk Normal Keempat (4NF)
Menghilangkan anomali-anomali yang tersisa
Bentuk Normal Kelima
Ketergantungan Fungsional
Definisi :
Atribut Y pada relasi R dikatakan tergantung fungsional pada atribut X (R.X ---> R.Y), jika
dan hanya jika setiap nilai X pada relasi R mempunyai tepat satu nilai Y pada R.
Misal, terdapat skema database Pemasok-barang :
Pemasok (No-pem, Na-pem)
‘13 4 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Tabel PEMASOK-BARANG
Ketergantungan fungsional dari tabel PEMASOK-BARANG adalah :
No-pem Na-pem
Ketergantungan Fungsional Penuh Normalisasi
Definisi :
Atribut Y pada relasi R dikatakan tergantung fungsional penuh pada atribut X pada relasi R,
jika Y tidak tergantung pada subset dari X ( bila X adalah key gabungan)
Contoh :
KIRIM-BARANG( No-pem, Na-pem, No-bar, Jumlah)
Ketergantungan fungsional :
No-pem Na-pem
No-bar, No-pem Jumlah (Tergantung penuh thd
keynya)
‘13 5 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Ketergantungan Transitif
Definisi :
Atribut Z pada relasi R dikatakan tergantung transitif pada atribut X , jika atribut Y tergantung
pada atribut X pada relasi R dan atribut Z tergantung pada atribut Y pada relasi R.
( X Y, Y Z , maka X Z )
Contoh :
Ketergantungan transitif :
No-pem Kode-kota
Kode-kota Kota , maka
No-pem Kota
‘13 6 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Bentuk Normal Kesatu (1NF)
Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kesatu bila setiap data bersifat
atomik yaitu setiap irisan baris dan kolom hanya mempunyai satu nilai data.
Tabel KIRIM-1 (Unnormal)
Tabel KIRIM-2 (1NF)
‘13 7 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Diagram Ketergantungan Fungsional
Bentuk Normal Kedua (2NF)
Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kedua bila relasi tersebut sudah
memenuhi bentuk Normal kesatu, dan atribut yang bukan key sudah tergantung penuh
terhadap keynya.
Tabel PEMASOK-1 (2NF)
‘13 8 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Bentuk Normal Ketiga (3NF)
Suatu relasi dikatakan sudah memenuhi Bentuk Normal ketiga bila relasi tersebut sudah
memenuhi bentuk Normal kedua dan atribut yang bukan key tidak tergantung transitif
terhadap keynya.
Tabel KIRIM-3 (3NF)
Tabel PEMASOK-2 (3NF)
Tabel PEMASOK-3 (3NF)
‘13 9 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Latihan :
Buatkan normalisasi dari table berikut :
Asumsi :
• Seorang mahasiswa dapat mengambil beberapa mata kuliah
• Satu mata kuliah dapat diambil oleh lebih dari satu mahasiswa
• Satu mata kuliah hanya diajarkan oleh satu dosen
• Satu dosen dapat mengajar beberapa mata kuliah
• Seorang mahasiswa pada mata kuliah tertentu hanya mempunyai satu
nilai
MODUL PERKULIAHAN
Perancangan Basis Data
Konsep & Terminology Query Language
Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh
Fakultas Ilmu Komputer
Teknik Informatika
07 87012 Tim Dosen.
Abstract Kompetensi
Materi ini memahami konsep dan terminology Query Language
Mahasiswa di harapkan lebih paham mengenai konsep dan terminology Query Language
‘13 2 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Konsep dan terminologi
Aktifitas Database
• Create/Write (tulis)
– Memasukkan data baru kedalam database
• Read (baca)
– Membaca data yang ada dalam database
• Update (ubah)
– Memperbaharui atau mengubah data yang ada dalam database
• Delete (hapus)
– Menghapus data yang ada dalam database.
Beberapa Istilah yang sering digunakan Pada Database
• Perusahaan (Enterprise)
– Organisasi
• Entitas (Entity)
– Orang, Tempat, Obyek, Kejadian, Konsep, ...
• Atribut (Attribute)
– Elemen-elemen data (fakta) dari suatu entitas
– Juga disebut field atau item atau domain
• Nilai Data
– Nilai (instance) suatu atribut dari suatu entitas
• Record
– Suatu set berisi nilai-nilai semua atribut dari suatu entitas
‘13 3 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
– Juga disebut “tuple” dlm model DBMS relational, “record type” dlm model
DBMS network, “segment” dlm model DBMS hierarchy
• File
– Koleksi berisi record yang sejenis
– Juga disebut “relation” atau “tabel” dalam model DBMS relational
• Key
– Suatu atribut atau beberapa atribut yang digunakan untuk mengidentifikasi
atau mencari record dalam file.
• Primary Key
– Suatu atribut atau beberapa atribut yang secara unik (tidak ada duplikasi)
mengidentifikasi setiap record dalam file
• Administrator Data (DA)
– Orang yang bertanggung jawab atas fungsi administrasi data dalam
organisasi
– Umumnya dipegang oleh CIO -- Chief Information Officer
• Administrator Database (DBA)
– Orang yang bertanggung jawab atas fungsi administrasi database
• Administrasi Data
– Segala aktifitas manajemen sumber daya data organisasi
• Administrasi Database
– Perancangan fisik database dan masalah teknis dalam manajemen database
• Pengendalian (Steward) Data
– Pengaturan suatu subset dari data organisasi dan segala interaksi yang
berhubungan (aplikasi, akses, etc.) dengan data tersebut.
‘13 4 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
• Utility Programs/Routines
– Loading routines; Reorganization routines; Journaling
routines; Recovery routines; Statistical Analysis
routines
Query Language
Query language adalah suatu bahasa yang menyediakan fasilitas bagi user untuk
mengakses informasi dari basis data. Pada umumnya level bahasa ini lebih tinggi dari
bahasa pemrograman standar. Bahasa query dapat dikategorikan sebagai prosedural &
non-prosedural.
Dalam bahsa prosedural, user menginstruksikan ke sistem agar membentuk serangkaian
operasi dalam basis data untuk mengeluarkan hasil yang diinginkan. Dalam bahasa non-
prosedural, user mendeskripsikan informasi yang diinginkan tanpa memberikan prosedur
detail untuk menghasilkan informasi tersebut.
Sebagian besar system basis data relasional yang beredar dipasaran menawarkan bahasa
query dengan pendekatan prosedural & non-prosedural.
Bebrapa bahasa query yang murni adalah : aljabar relasional (relational algebra) merupakan
bahasa query prosedural, sedangkan kalkulus relasional tuple (tuple relational calculus) &
kalkulus relasional domain(domain relational calculus) adalah non-prosedural.
Berikut hanya akan dibahas bahasa query bukan bahasa datamanipulation yang lengkap,
yaitu bahasa yang tidak hanya terdiri dari bahas query tetapi juga bahasa untuk
memodifikasi basis data, seperti perintah insert dan delete tuple.
‘13 5 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Aljabar Relasional ( Relational Algebra)
Aljabar relasional adalah sebuah bahasa query prosedural yang terdiri dari sekumpulan
operasi dimana masukkannya adalah satu atau dua relasi dan keluarannya adalah sebuah
relasi baru sebagai hasil dari operasi tersebut. Operasi-operasi dasar dalam aljabar
relasional adalah : select, project, union, set difference, Cartesian product dan rename.
Disamping operasi-operasi dasar terdapat beberapa operasi lainnya seperti set intersection,
natural join, division dan assignment. Operasi-operasi ini akan didefinisikan dalam
terminology operasi dasar.
Operasi-operasi Dasar
Operasi-operasi select, project dan rename disebut operasi unary, karena operasioperasi
tersebut hanya memerlukan satu relasi. Tiga operasi lainnya memerlukan sepasang relasi,
disebut operasi binary.
a. Operasi Select
Operasi select menyeleksi tuple-tuple yang memenuhi predikat yang diberikan. Digunakan
symbol sigma (σ) untuk menunjukkan operasi select. Predikat muncul sebagai subcript dari
σ. Argumen relasi diberikan dalam kurung yang mengikuti σ. Jadi untuk menyeleksi tuple-
tuple dari relasi loan dimana branch-name-nya adalah “Perryridge”, ditulis :
σbranch-name = “Perryridge”(loan)
‘13 6 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Jika relasi Loan adalah :
Maka hasil dari query di atas adalah :
Contoh-contoh query lain dengan operasi select adalah :
σamount>1200(loan) untuk menemukan tuple dengan nilai amount lebih dari 1200,σbrach-name = “Perryridge” and amount >1200 (loan)
untuk menemukan tuple dengan branch-name = “Perryridge” dimana nilai amountnya
lebih dari 1200.
b. Operasi Project
Seandainya diinginkan semua daftar loan-number dan amount, tanpa branchname. Dengan
operasi project dapat dihasilkan relasi ini. Operasi project disimbolkan dengan symbol phi
(π). Nama-nama atribut yang diinginkan tampil ditulias sebagai subcrip π.
Contoh :
πloan-number,amount(loan),
adalah operasi untuk menampilkan seluruh loan-number & amount tanpa branch-name.
‘13 7 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Hasil operasi tersebut adalah :
c. Komposisi Operasi-operasi relasional
Berikut contoh query yang lebih kompleks :
“ Temukan kastemer-kastemer yang tinggal di Horison “. Maka query-nya ditulis :
πcustomer-name(σcustomer-city=”Horison”(customer))
perhatikan bahwa sebagai argumen dari operasi project adalah sebuah ekspresi untuk suatu
mhsrelasi. Oleh karenanya, operasi-operasi aljabar relasional dapat digabung dengan suatu
ekspresi aljabar relasional.
d. Operasi Union
Operasi union dalam aljabar relasional sama halnya dengan operasi union pada aritmatika.
Misal user menginginkan nama-nama semua nasabah bank yang memiliki sebuah account
atau sebuah loan atau keduanya. Perhatikan bahwa relasi customer tidak mengandung
informasi tersebut. Untuk menjawab query ini diperlukan informasi dari relasi Depositor dan
relasi Borrower. Dengan operasi union informasi yang diinginkan dapat diperoleh dengan
menulis query sebagai berikut :
πcustomer-name(borrower) ∪ πcustomer-name(depositor)
‘13 8 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Depositor
Borrower
Hasil query yang union diatas adalah :
‘13 9 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
e. Operasi Pengurangan Himpunan ( Set Difference)
Disimbolkan dengan tanda “-“. Operasi ini untuk menemukan tuple-tuple yang berada pada
satu relasi tetapi tidak berada pada relasi yang lainnya.
Contoh untuk menemukan semua nasabah bank yang mempunyai account tetapi tidak
mempunyai
loan, ditulis :
πcustomer-name(depositor) - πcustomer-name(borrower)
hasil query di atas :
f. Operasi Cartesian –product
Operasi Cartesian-product disimbolkan dengan “x”. Dengan operasi ini dapat dihasilkan
informasi yang merupakan kombinasi dari dua relasi.
Secara garis besar, jika dipunyai relasi r1(R1) dan r2(R2), maka r1 x r2 adalah relasi yang
skemanya merupakan gabungan dari R1 ( atribut-atribut relasi r1) dan R2 (atribut-atribut
r2). Relasi R mengandung semua tuple t dimana terdapat sebuah tuple t1 dalam r1 dan t2
dalam r2 sedemikian sehingga t[R1] = t1[R1] dan t[R2]=t2[R2].
Contoh : Jika diinginkan nama-nama dari semua nasabah yang mempunyai pinjaman (loan)
di bank cabang Perryridge. Maka query-nya ditulis :
σbranch-name=”Perryridge”(borrower x loan)
‘13 10 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Relasi yang dihasilkan :
g. Operasi Rename
Dilambangkan dengan symbol rho (ρ). Sintaks penulisan rename : ρx(E).
Operasi rename mengeluarkan hasil ekspresi E dengan nama x.
Contoh :
πaccount.balance(σaccount.balance<d.balance (account x ρd(account)))
Definisi Aljabar relasional
Jika E1 & E2 adalah ekspresi aljabar-relasional, maka berikut ini adlah semua ekspresi
aljabar-relasional :
- E1 ∪ E2
- E1 – E2
- E1 x E2
‘13 11 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
- σp(E1), dimana p adalah sebuah predikat untuk atribut-atribut dalam E1
- πs(E1), dimana s adalah daftar yang terdiri dari bebrapa atribut dalam E1
- ρx(E1), dimana x adalah nama baru untuk hasil E1
Modifikasi Dalam Basis Data
1. Penghapusan (Deletion)
Dalam aljabar relasional, operasi deletion diekspresikan dengan :
r r-E, dimana r adalah relasi dan E adalah sebuah query aljabar relasional.
Berikut beberapa contoh dari perintah delete dengan aljabar relasional adalah :
- Hapus semua rekening atas nama Smith
account account - σ customer-name = “Smith” (account)
- Hapus semua pinjaman dengan jumlah diantara 0 s/d 50
loan loan - σamount > = 0 and amount <=50 (loan)
- Hapus semua account pada cabang-cabang yang berlokasi di Needham
r1 σ branch –city = “Needham” (account x branch)
r2 π branch-name, account-number, balance (r1)
account account – r2
2. Penyisipan (Insertion)
Untuk menyisipkan data ke dalam suatu relasi, dapat dilakukan dengan dua cara
yaitu menentukan tuple-tuple yang akan disisipkan. Dalam relasional aljabar,
penyisipan diekspresikan dengan :
r r ∪ E
‘13 12 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
dimana r adalah relasi dan E adalah sebuah ekspresi relasional aljabar.
Contoh : seandainya akan disisipkan fakta bahwa Smith mempunyai $1200 dalam
rekening A-973 pada cabang Perryridge. Query-nya ditulis :
account account ∪ {(“Perryridge”, A-973,1200)}
depositor depositor ∪ {(“Smith”, A-973)}
3. Updating
Dapat digunakan operator proyeksi secara umum sebagai berikut :
r π F1,F2,… Fn (r)
Contoh : seandainya akan dibuat bunga tabungan sebesar 5% ditulis query :
account πbranch-name,account-number,balancebalance*1.05 (account)
4. View
View didefinisikan dengan statement create view. Untuk mendefinisikan sebuah view maka
view tersebut harus diberi nama dan query untuk menghasilkan view tersebut.
Format statement create view sebagai berikut :
Create view v as <ekspresi query>
Dimana ekspresi query adalah sebuah ekspresi query relation-algebra yang sah dan nama
view direpresentasikan dengan v.
Contoh : untuk membuat view yang terdiri dari semua cabang bank dan pelanggannya
Create view all-customer as
π branch-name, customer-name (depositor x account)
∪ π branch-name, customer-name (borrower x loan)
MODUL PERKULIAHAN
Perancangan Basis Data
SQL (Structured Query Language)
Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh
Fakultas Ilmu Komputer
Teknik Informatika
08 87012 Tim Dosen.
Abstract Kompetensi
Materi ini memahami SQL Mahasiswa di harapkan lebih paham mengenai SQL dan dapat menyelesaikan kasus dengan SQL
‘13 2 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
SQL
STRUCTURED QUERY LANGUAGE (SQL)
Sistem basis data komersial menghendaki adanya sebuah bahasa query yang lebih user-
friendly. Oleh karena itu dikenal SQL sebagai bahasa query yang marketable. SQL
menggunakan kombinasi aljabar relasional & kalkulus relasional. Meskipun SQL adalah
bahasa query, namun SQL mempunyai banyak kemampuan lain disamping melakukan
query terhadap basis data. SQL mempunyai kemampuan untuk mendefinisikan struktur
data, modifikasi data dalam basis data dan menentukan konstrain sekuriti.
LATAR BELAKANG
SQL merupakan bahasa basis data relasional standard. Terdapat macam-macam
versi SQL. Versi aslinya pertama kali dikembangkan oleh IBM San Jose Research
Laboratory.
Bahasa SQL mempunyai bebrap bagian yaitu :
- Data Definition Language (DDL)
DDL memberikan perintah untuk mendefinisikan skema relasi, penghapusan
relasi, membuat indeks dan modifikasi skema relasi.
- Interactive Data-Manipulation Language (DML)
DML merupakan bahasa query yang berdasarkan pada aljabar relasi dan kalkulus relasi
tuple. Termasuk didalamnya adalah perintah untuk penyisipan, penghapusan dan
modifikasi. (Contoh pada halaman 9)
- Embedded DML
Bentuk embedded SQL biasanya terdapat dalam bahasa pemrograman multi guna seperti
PL/I, Cobol , Pascal dan Fortran. (COntoh pada halaman 12)
- View Definition
DDL SQL memasukkan perintah untuk mendefinisikan view.
‘13 3 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
- Authorization
DDL SQL memasukkan perintah untuk menentukan hak-hak akses ke relasi dan view.
- Integrity
DDL SQL memasukkan perintah untuk menentukan konstrain integritas yang harus dipenuhi
oleh data yang tersimpan dalam basis data.
- Transaction control
SQL memasukkan perintah-perintah untuk menentukan awal dan akhir transaksi. Beberapa
implementasi juga memungkinkan locking data untuk concurrency control.
STRUKTUR DASAR
Struktur dasar dari ekspresi SQL terdiri dari tiga klausa yaitu :
select, from dan where.
- Klausa Select berhubungan dengan operasi proyeksi dari aljabar relasional.
Operasi ini digunakan untuk mendaftar semua atribut yang diinginkan sebagai hasil suatu
query.
- Klausa From berhubungan dengan operasi Cartesian-product dari aljabar relasional.
Operasi ini mencatat semua relasi yang di”scan” dalam evaluasi suatu query.
- Klausa Where berhubungan dengan operasi predikat seleksi dari aljabar relasional.
Operasi ini terdiri dari sebuah predikat yang menyangkut atributatribut dari relasi yang
muncul dalam klausa from.
Sebuah query SQL biasanya mempunyai bentuk :
Select A1,A2,…..An
From r1,r2,….rn
Where P
‘13 4 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Klausa Select
Contoh : “ Tentukan nama-nama dari semua cabang bank dalam relasi loan “
Query-nya :
select branch-name from loan
Hasil dari query tersebut adalah sebuah relasi yang berisi sebuah atribut tunggal dengan
nama branch-name.
Bahasa query formal bersifat matematis dimana relasi adalah sebuah himpunan sehingga
tuple-tuple yang telah muncul tidak akan muncul lagi (tidak akan terjadi duplikasi tuple). Tapi
dalam prakteknya untuk menghilangkan duplikasi tuple sangat memakan waktu.
Oleh karenanya SQL memungkinkan terjadinya duplikasi tersebut. Dari contoh di atas, maka
query-nya akan mencatat setiap branch-name setiap kali branch-name tersebut ditemukan
dalam relasi loan.
Untuk kasus di atas jika diinginkan untuk menghilangkan duplikasi maka dapat disisipkan
distinct setelah select. Query di atas ditulis ulang sebagai berikut :
Select distinct branch-name from loan
Jika tuple yang terduplikasi diinginkan hilang.
Klausa select dapat juga mengandung operasi aritmatika yaitu operator : +, -, *, / dan
operasi terhadap konstanta atau atribut dari tuple. Contoh query berikut :
Select branch-name, loan-number, amount * 100 From loan
Akan menghasilkan sebuah relasi yang sama dengan relasi loan, kecuali bahwa atribut
amount dikalikan dengan 100. SQL-92 juga menyediakan tipe data spesial seperti tipe date,
dan memungkinkan beberapa fungsi aritmatika untuk beroperasi pada tipe-tipe ini.
‘13 5 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Klausa Where
Contoh query : “Temukan semua loan number untuk pinjaman-pinjaman yang dibuat pada
cabang Perryridge dengan jumlah lebih besar dari $1200”.
Query-nya ditulis sebagai berikut :
Select loan-number
From loan
Where branch-name = “Perryridge” and amount >1200
SQL menggunakan konektivitas lojik and, or dan not dalam klausa where. SQL juga
memasukkan perintah between untuk menentukan apakah suatu nilai lebih kecil daripada
atau sama dengan suatu nilai lain dan lebih besar daripada atau sama dengan suatu
nilai lain.
Contoh : jika diinginkan menemukan loan-number yang jumlah pinjamannya antara
$90000 dan $100000, ditulis sebagai berikut :
Select loan-number
From loan
Where amount between 90000 and 100000
‘13 6 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Klausa From
Contoh query : “Untuk semua customer yang mempunyai sebuah pinjaman dari bank,
temukan nama dan loan number mereka”.
Dalam SQL ditulis :
Select distinct customer-name, borrower.loan-number
From borrower, loan
Where borrower.loan-number = loan.loan.number
Operasi Rename
SQL menyediakan mekanisme operasi rename untuk relasi dan atribut. Operasi rename
dalam SQL menggunakan klausa as dengan bentuk :
Nama-lama as nama-baru
Contoh : Jika atribut dengan nama loan-number akan diganti dengan nama loan-id, dapat
ditulis sebagai berikut :
Select distinct customer-name, borrower.loan-number as loan-id
From borrower,loan
Where borrower.loan-number = loan.loan-number and
branch-name = “Perryridge”
‘13 7 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
OPERASI HIMPUNAN
Operasi operasi himpunan pada SQL-92 meliputi : union, intersect, dan except.
Union identik dengan ∪, intersect identik dengan ∩ dan except identik dengan – pada
aljabar relasional.
Operasi Union
Contoh : Untuk mendapatkan semua customer yang mempunyai pinjaman, rekening
atau keduannya pada bank ditulis :
(select customer-name from depositor)
union
(select customer-name from borrower)
Operasi union secara otomatis akan menghilangkan duplikasi, tidak seperti klausa
select.
Sehingga pada query di atas, jika Jones (seorang customer) mempunyai beberapa
rekening atau pinjaman (atau keduannya) pada bank, maka Jones hanya akan muncul
sekali. Jika duplikasi diinginkan ada maka harus ditulis union all.
Operasi Intersect
Contoh : untuk mendapatkan semua customer yang memiliki pinjaman
dan
rekening pada bank, query-nya ditulis :
(select distinct customer-name from depositor)
intersect
(select distinct customer-name from borrower)
‘13 8 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Operasi intersect secara otomatis menghilangkan duplikasi. Jika diinginkan duplikasi
tetap ada ditulis intersect all.
Operasi Except
Contoh : untuk mendapatkan semua customer yang mempunyai sebuah rekening tetapi
tidak memiliki pinjaman pada bank, ditulis :
(select distinct customer-name from depositor)
except
(select customer-name from borrower)
Operasi except secara otomatis menghilangkan duplikasi. Jika diinginkan ada maka
ditulis : except all.
‘13 9 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Query DDL (Data Definition Language)
Data Definition Language (DDL) merupakan sub bahasa SQL yang berfungsi
mendefinisikan tabel saja. Perintah yang digunakan diantaranya: CREATE, ALTER, dan
DROP. Dengan menggunakan ketiga perintah tersebut kita sudah dapat membangun
struktur data dengan lengkap.
CREATE
Create digunakan untuk membuat tabel
Bentuk umum:
Create Table namatabel(
Kolom_1 tipe(panjang),
Kolom_2 tipe(panjang),
Kolom_n tipe(panjang))
Latihan CREATE:
Membuat tabel Mahasiswa dengan mengetikkan script SQL berikut pada SQL View di
query.
Create Table Mahasiswa( Create Table Mahasiswa(
NIM text(8) not null primary key, NIM text(8) not
null, NAMA text(30) not null, NAMA text(30) not null,
TGL_LAHIR date, TGL_LAHIR date,
ALAMAT text(50)) ALAMAT text(50),
Primarykey(NIM))
Keterangan:
NIM text(8) not null primary key
pada field NIM dan NAMA data tidak boleh kosong (not null)
dan field NIM juga merupakan kunci utama (primary key)
Kemudian untuk menjalankannya kita dapat mengklik run / tanda seru dari icon toolbar.
Untuk melihatnya pada object klik tab tables dan double klik nama tabel mahasiswa.
‘13 10 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
ALTER
Alter digunakan untuk merubah, menambah (ADD), menghapus (DROP) struktur
tabel.
Bentuk umum:
Alter Table namatable [spesifikasi perubahan]
Latihan ALTER:
1. Menambahkan field Jenis_kelamin pada tabel
Mahasiswa.
Sintaks SQL:
ALTER TABLE mahasiswa
ADD Jenis_kelamin text(1)
2. Menambahkan Primary Key pada field NIM di tabel
Mahasiswa.
Sintaks SQL:
ALTER TABLE mahasiswa
ADD constraint NIM Primary Key(NIM)
3. Merubah ukuran dan tipe dari field NIM pada tabel
Mahasiswa.
Sintaks SQL:
ALTER TABLE mahasiswa
ALTER column NIM Number
4. Menghapus field Jenis_kelamin dari tabel
Mahasiswa.
Sintaks SQL:
ALTER TABLE mahasiswa
DROP column Jenis_kelamin
‘13 11 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
DROP
Drop digunakan untuk menghapus tabel.
Bentuk umum:
Drop TABLE namatabel
Latihan DROP:
1. Menghapus tabel
Mahasiswa.
Sintaks SQL:
DROP TABLE mahasiswa
‘13 12 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Query DML (Data Manipulation Language)
Data Manipulation Language (DDL) merupakan sub bahasa SQL yang berfungsi
memanipulasi data yang ada di dalam basis data atau database. Perintah yang termasuk di
dalam DML adalah INSERT, SELECT, UPDATE, dan DELETE.
INSERT
Berfungsi untuk menyisipkan, memasukkan, atau menyimpan data dari luar sistem ke dalam
database.
Bentuk umum:
INSERT INTO namatabel (namafield1, namafield2 …, namafield n)
VALUES (value1, value2, …, value n)
Atau
INSERT INTO namatabel
VALUES (value1, value2, …, value n)
Sintaks SQL:
INSERT INTO Mahasiswa
VALUE (“12099999”, “PRIATNA”, “12/12/1990”, “Jati Bening”)
SELECT
Perintah select berfungsi untuk membentuk tabel baru dengan cara meng-copy (backup)
seluruh data dari tabel aktif.
Bentuk umum:
SELECT namafield1, namafield2, …, namafield n
INTO namatabelbaru
FROM namatabelaktif
‘13 13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Atau
SELECT *
INTO namatabelbaru
FROM namatabelaktif
Sintaks SQL: SELECT
*
INTO mahasiswa_baru
FROM mahasiswa
UPDATE
Perintah update berfungsi untuk mengubah satu atau lebih data field yang terdapat pada stu
lebih record.
Bentuk umum:
UPDATE namatabel
SET field=value
WHERE kriteria
Atau
UPDATE namatabel
SET field1=value1, field2=value2, …, field n = value
n WHERE kriteria
Sintaks SQL:
UPDATE mahasiswa
SET nama=”Pondok Indah B6”
WHERE NIM=”12099999”
DELETE
Berfungsi untuk menghapus satu atau beberapa record dari suau
tabel.
Bentuk umum:
DELETE *
From namatabel
WHERE kriteria
Sintaks SQL:
DELETE mahasiswa
FROM mahasiswa
WHERE NIM=”12099999”
‘13 14 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
FUNGSI-FUNGSI AGREGASI
Yang termasuk fungsi-fungsi agregasi adalah :
- Average : avg
- Minimum : min
- Maximum : max
- Total : sum
- Count : count
Fungsi-fungsi di atas telah tersedia. Input untuk avg dan sum haruslah bertipe numerik.
Untuk operator lainnya dapat non-numerik.
Contoh : untuk mendapatkan rata-rata saldo rekening pada cabang Perryridge
Query-nya dapat ditulis :
Select avg(balance)
From account
where branch-name = “Perryridge”
Jika fungsi agregasi ingin diterapkan pada kelompok himpunan tuple, maka digunakan
klausa group by. Nama atribut/kel. Atribut dalam klausa group by digunakan untuk
membentuk grup/kelompok. Artinya tuple-tuple yang mempunyai nilai yang sama pada
semua atribut dalam klausa group-by dimasukkan dalam satu grup/kelompok.
‘13 15 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Contoh :
Select branch-name, avg(balance)
From account
Group by branch-name
Jika suatu fungsi diterapkan pada grup/kelompok yang dibentuk oleh group by
maka digunakan klausa having setelah group by.
Contoh : ingin ditampilkan nama cabang yang mempunyai rata-rata saldo lebih dari 1200.
Query-nya :
Select branch-name, avg(balance)
From account
Group by branch-name having avg (balance)>1200
Fungsi agregrasi count sering digunakan untuk menghitung jumlah tuple dalam suatu relasi.
Notasi fungsi ini dalam SQL adalah count (*). Jadi untuk menentukan jumlah tuple dalam
relasi customer, ditulis :
Select count(*) from customer
‘13 16 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
SUBQUERI TERSARANG (NESTED SUBQUERYS)
Biasanya digunakan untuk melalukuan test keanggotaan himpunan, perbandingan
himpunan dan kardinalitas himpunan.
Keanggotaan Himpunan
Digunakan in dan not in untuk melakukan test keanggotaan himpunan.
Contoh : untuk mendapatkan semua customer yang mempunyai pinjaman dan rekening
pada bank.
Pertama : menemukan semua pemegang reeking dengan query :
(select customer-name from depositor)
Kedua : mencari semua customer yang merupakan peminjam dan yang muncul dalam daftar
pemegang rekening. Maka dilakukan dengan “menyarangkan” subquery di atas dalam
sebuah select luar (outer select),
menjadi :
Select distinct customer-name
from borrower
Where customer-name
in (select customer-name from depositor)
Perbandingan Himpunan
Perhatikan query berikut : “Temukan semua nama cabang bank yang mempunyai asset
lebih besar dari bank-bank yang mempunyai minimal satu cabang berlokasi di Brooklyn”.
‘13 17 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Query-nya ditulis :
Select branch-name from branch where assets > all
(select assets from branch where branch-city =
“Brooklyn”)
MODIFIKASI BASIS DATA
Meliputi menambah, menghapus dan mengubah informasi menggunakan SQL.
Penghapusan (Deletion)
Yang dapat dihapus (delete) hanyalah tuple bukan nilai pada suatu atribut
tertentu.
Dalam SQL, deletion diekspresikan dengan
Delete from r where p
Dimana p menunjukkan predikat dan r adalah relasi.
Contoh :
- Hapus semua rekening Smith, ditulis :
Delete from depositor where costomer-name = “Smith”
- Hapus semua pinjaman dengan jumlah pinjaman antara $1300 dan $1500
Delete from loan where amount between 1300 and 1500
- Hapus semua rekening pada setiap cabang yang berlokasi di Perryridge
Delete from account where branch-name in
(select branch-name
from branch where branch-city = “Perryridge”)
‘13 18 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Penyisipan (Insertion)
Untuk menambahkan satu tuple dalam relasi digunakan statement insert. Contoh :
Insert into account values (“Perryridge”,”A-9732”,1200)
Query ini identik dengan
Insert into account (branch-name, account-number,balance)
Values (“Perryridge”,”A-9732”,1200)
Insert juga dapat dilakukan untuk suatu hasil dari query yang lain.
Contoh :
Insert into account select branch-name, loan-number, 200
From loan where branch-name = “Perryridge”
Update
Dalam situasi tertentu, diinginkan untuk mengganti nilai dalam sebuah tuple tanpa harus
mengganti semua nilai dalam tuple tersebut. Untuk tujuan ini dapat digunakan statement
update.
Contoh :
- untuk menaikkan saldo para nasabah sebesar 5% ditulis query sebagai berikut :
Update account set balance = balance * 1.05
- untuk menaikkan saldo nasabah sebesar 6% bagi nasabah yang saldonya lebih dari
$10000, ditulis query sebagai berikut :
Update account set balance = balance *1.06
Where balance >10000
‘13 19 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Latihan :
1. Perhatikan relasi table berikut :
a. Sebutkan relasi antar hubungan dari table tersebut
b. Bagaimana cara membuat table tersebut
c. Buatkan Query untuk menampilkan data puskesmas
d. Buatkan Query untuk menampilkan data puskemas yang terdapat di DKI Jakarta
e. Bagaimana menyimpan data menggunakan Query kedlam table refpuskesmas)
‘13 20 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
2. Apabila ada tambahan table sebagi berikut :
a. Buatkan Query untuk mengetahui transaksi bulan Mei tahun 2013 pada puskesmas yang
terdapat di Jakarta
b. Berapa jumlah total nilai pada tahun 2013 untuk semua puskesmas
c. Berapa jumlaj total nilai pada tahun 2013 untuk puskesmas yang memiliki id 10 dan 20
MODUL PERKULIAHAN
Perancangan Basis Data
Model ER (Entity Relationship)
Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh
Fakultas Ilmu Komputer
Teknik Informatika
09 87012 Tim Dosen.
Abstract Kompetensi
Materi ini memahami Model ER (Entitiy Relationship)
Mahasiswa di harapkan lebih paham mengenai ER dan dapat menyelesaikan kasus dengan ER
‘13 2 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Model ER (Entity Relationship)
Model Entity Relationship adalah suatu penyajian data dengan menggunakan
Entity dan Relationship
Mengapa Model E-R
– Mudah dimengerti oleh pemakai
– Mudah disajikan oleh perancang database
Entity adalah obyek yang dapat dibedakan dalam dunia nyata
Entity set adalah kumpulan dari entity yang sejenis
Entity set dapat berupa :
– Obyek secara fisik : Rumah, Kendaraan, Peralatan
– Obyek secara konsep : Pekerjaan , Perusahaan, Rencana
Relationship adalah hubungan yang terjadi antara satu atau lebih entity.
Relationship set adalah kumpulan relationship yang sejenis.
PEGAWAI KERJA
PROYEK
‘13 3 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
ATRIBUT
Atribut adalah karakteristik dari entity atau relationship, yang menyediakan
penjelasan detail tentang entity atau relationship tersebut.
Nilai Atribut merupakan suatu data aktual atau informasi yang disimpan pada
suatu atribut di dalam suatu entity atau relationship.
Jenis-jenis atribut :
Key
Atribut yang digunakan untuk menentukan suatu entity secara unik.
Atribut Simple
Atribut yang bernilai tunggal.
Atribut Multivalue
Atribut yang memiliki sekelompok nilai untuk setiap instan entity.
‘13 4 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Atribut Composite
Suatu atribut yang terdiri dari beberapa atribut yang lebih kecil yang mempunyai
arti tertentu.
Atribut Derivatif
Suatu atribut yang dihasilkan dari atribut yang lain.
Nama
Depan
Nama
Tengah
Nama
Belakang
NAMA
PEGAWAI
‘13 5 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Derajat dari relationship
Menjelaskan jumlah entity yang berpartisipasi dalam suatu
relationship
PEGAWAI KERJA PROYEK
PEGAWAI LAPOR
PEGAWAI KERJA DEPARTEMEN
Unary Degree (Derajat Satu)
Binary Degree (Derajat Dua)
Ternary Degree (Derajat Tiga)
KOTA
‘13 6 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Cardinality Ratio Constraint
Menjelaskan batasan jumlah keterhubungan satu entity dengan entity lainnya.
Jenis Cardinality Ratio
1 : 1
‘13 7 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
1 : N / N : 1
Pegawai Kerja Departemen
. .
PEGAWAI KERJA
DEPARTEMEN
P1
P2
P3
P4
R1
R2
R3
R4
D1
D2
D3
N 1
‘13 8 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
M : N
‘13 9 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Participation Constraint
Menjelaskan apakah keberadaan suatu entity tergantung pada hubungannya
dengan entity lain .
Terdapat 2 macam Participation Constraint :
Total Participation
Keberadaan suatu entity tergantung pada hubungannya dengan entity lain.
Partial Participation
Keberadaan suatu entity tidak tergantung pada hubungannya dengan entity
lain.
PEGAWAI BAGIAN
N 1
PUNYA
‘13 10 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Weak entity
Weak Entity adalah suatu Entity dimana keberadaan dari entity tersebut tergantung dari
keberadaan entity lain.
Entity yang merupakan induknya disebut Identifying Owner dan relationshipnya disebut
Identifying Relationship.
Weak Entity selalu mempunyai Total Participation constraint dengan Identifying Owner.
MILIK
PEGAWAI
TANGGUNGAN
NAMA ………. ………… NOPEG
‘13 11 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Simbol-simbol ER-Diagram
‘13 12 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Contoh Penggambaran Diagram ER
NOPEG NAPEG ALAMAT NABAG LOKASI
PEGAWAI
TGLLAH ANGGOTA
BAGIANUMUR
KERJA
NOBAG
PUNYA
JAM
1
M
N
N 1
1
P R O Y E K
NOPRO
NAPRO
ALM1 KDPOS
LOKAPR
TANGGUNGAN
NAMA JNKELT HUBUNGAN
N
PUNYA
KONTROL
PIMPIN
1 1
1 N
‘13 13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Transformasi dari ERD ke Database Relasional
1. Setiap tipe Entity dibuat suatu relasi yang memuat semua atribut simple, sedangkan
untuk atribut composite hanya dimuat komponen-komponennya saja.
PEGAWAI (NOPEG, 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.
LOKPR(NOPRO, LOKASI)
3. Setiap Unary Relationship 1:N, pada relasi perlu ditambahkan suatu foreign key yang
menunjuk ke nilai primary keynya.
PROYEK
....NOPRO LOKASI
PEGAWAI
NOPEG
ALAMAT
ALM1 KDPOS
‘13 14 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
4. Setiap Unary Relationship M:N, buatlah relasi baru dimana primary keynya
merupakan gabungan dari dua atribut dimana keduanya menunjuk ke primary key
relasi awal dengan penamaan yang berbeda.
5. Setiap Binary Relationship 1:1, dimana Participation Constraint keduanya total, buatlah
suatu relasi gabungan dimana Primary Keynya dapat dipilih salah satu.
6. Setiap Binary Relationship 1:1 dan salah satu Participation Constraintnya Total, maka
Primary Key pada relasi yang Participation Constraintnya Partial menjadi Foreign Key
pada relasi yang lainnya.
‘13 15 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
7. Setiap Binary Relationship 1:1, dimana kedua Participation Constraintnya partial, maka
selain kedua relasi perlu dibuat relasi baru yang berisi Primary Key gabungan dari
Primary Key kedua tipe Entity yang berelasi.
8. Setiap Binary Relationship 1 : N, dimana tipe Entity yang bersisi N mempunyai
Participation Constraint Total, maka Primary Key pada relasi yang bersisi 1 dijadikan
Foreign Key pada relasi yang bersisi N.
9. Setiap Binary Relationship 1 : N, dimana tipe Entity yang bersisi N mempunyai
Participation Constraint partial, buatlah relasi baru dimana Primary Keynya merupakan
gabungan dari Primary Key kedua tipe Entity yang berelasi.
‘13 16 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
10. Setiap Binary Relationship M:N, buatlah relasi baru dimana Primary Keynya
merupakan gabungan dari Primary Key kedua tipe Entity yang berelasi.
11. Setiap Ternary Relationship, buatlah relasi baru dimana Primary Keynya merupakan
gabungan dari Primary Key ketiga tipe Entity yang berelasi.
PEKERJAAN ( NOPEG, NOPRO , NOKOT)
‘13 17 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
12. Setiap tipe Weak Entity, dibuat suatu relasi yang memuat semua atributnya
dimana Primary Keynya adalah gabungan dari Partial Key dan Primary Key dari
relasi induknya (identifying owner).
Hasil Transformasi dari Diagram ER ke database relasional
:
Skema Database
PEGAWAI (NOPEG, NAPEG, ALM1, KDPOS,TGLLAH,
UMUR, SUPERVISOR-ID, NOBAG)
BAGIAN (NOBAG, NABAG, LOKASI, MANAGER)
PROYEK (NOPRO, NAPRO, NOBAG)
LOKPR (NOPRO, LOKAPR)
PEKERJAAN (NOPEG, NOPRO, JAM)
TANGGUNGAN (NOPEG, NAMA, JNKELT,HUBUNGAN)
MODUL PERKULIAHAN
Perancangan Basis Data
DFD (Data Flow Diagram)
Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh
Fakultas Ilmu Komputer
Teknik Informatika
10 87012 Tim Dosen.
Abstract Kompetensi
Materi ini memahami tentang DFD (Data Flow Diagram)
Mahasiswa di harapkan lebih paham mengenai DFD dan dapat menyelesaikan kasus dengan DFD
‘13 2 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
DFF (Data Flow Diagram)
KONSEP PERANCANGAN TERSTRUKTUR
Pendekatan perancangan terstruktur dimulai dari awal 1970. Pendekatan terstruktur
dilengkapi dengan alat-alat (tools) dan teknik-teknik (techniques) yang dibutuhkan dalam
pengembangan sistem, sehingga hasil akhir dari sistem yang dikembangkan akan diperoleh
sistem yang strukturnya didefinisikan dengan baik dan jelas.
Melalui pendekatan terstruktur, permasalahan yang komplek di organisasi dapat
dipecahkan dan hasil dari sistem akam mudah untuk dipelihara, fleksibel, lebih memuaskan
pemakainya, mempunyai dokumentasi yang baik, tepat waktu, sesuai dengan anggaran
biaya pengembangan, dapat meningkatkan produktivitas dan kualitasnya akan lebih baik
(bebas kesalahan)
DATA FLOW DIAGRAM (DFD)
Data Flow Diagram (DFD) adalah alat pembuatan model yang memungkinkan profesional
sistem untuk menggambarkan sistem sebagai suatu jaringan proses fungsional yang
dihubungkan satu sama lain dengan alur data, baik secara manual maupun komputerisasi.
DFD ini sering disebut juga dengan nama Bubble chart, Bubble diagram, model proses,
diagram alur kerja, atau model fungsi.
DFD ini adalah salah satu alat pembuatan model yang sering digunakan, khususnya bila
fungsi-fungsi sistem merupakan bagian yang lebih penting dan kompleks dari pada data
yang dimanipulasi oleh sistem.
Dengan kata lain, DFD adalah alat pembuatan model yang memberikan penekanan hanya
pada fungsi sistem.
DFD ini merupakan alat perancangan sistem yang berorientasi pada alur data dengan
konsep dekomposisi dapat digunakan untuk penggambaran analisa maupun rancangan
sistem yang mudah dikomunikasikan oleh profesional sistem kepada pemakai maupun
pembuat program.
‘13 3 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
KOMPONEN DFD
• Menurut Yourdan dan
DeMarco
• Menurut Gene dan Serson
TERMINATOR / ENTITAS LUAR
Adalah Entitas diluar sistem yang berkomunikasi / berhubungan langsung dengan sistem.
Terdapat 2 jenis Terminator :
1. Terminator Sumber
Merupakan Terminator yang menjadi sumber
2. Terminator Tujuan
Merupakan Terminator yang menjadi tujuan data / informasi sistem.
‘13 4 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Terminator dapat berupa orang, sekelompok orang, organisasi, perusahaan/departemen
yang berada diluar sistem yang akan dibuat, diberi nama yang berhubungan dengan sistem
tsb dan biasanya menggunakan kata benda.
Contoh : Dosen, Mahasiswa.
Hal yang perlu diperhatikan tentang terminator :
1. Alur data yang menghubungkan terminator dgn sistem, menunjukkan hubungan
sistem dgn unia luar.
2. Profesional sistem tidak dapat mengubah isi/cara kerja, prosedur yang berkaitan dgn
Terminator.
3. Hubungan yang ada antar terminator tidak digambarkan dalam DFD.
‘13 5 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
KOMPONEN PROSES
Komponen proses menggambarkan transformasi input menjadi output.
Penamaan proses disesuaikan dgn proses/kegiatan yang sedang dilakukan.
Ada 4 kemungkinan yang dapat terjadi dalam proses sehubungan dgn input dan output
:
Ada bbrp hal yang perlu diperhatikan tentang proses :
1. Proses harus memiliki input dan output.
2. proses dapat dihubungkan dgn komponen terminator, data store atau proses melalui
alur data.
3. Sistem/bagian/divisi/departemen yang sedang dianalisis oleh profesional sistem
digambarkan dgn komponen proses.
‘13 6 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
KOMPONEN DATA STORE
Komponen ini digunakan untuk membuat model sekumpulan paket data dan diberi nama
dgn kata benda bersifat jamak. Data store dapat berupa file/database yang tersimpan dalam
disket, harddisk atau bersifat manual seperti buku alamat, file folder.
Yang perlu diperhatikan tentang data store :
1. Alur data dari proses menuju data store, hal ini berarti data store berfungsi sebagai
tujuan/tempat penyimpanan fari suatu proses (proses write).
2. Alur data dari data store ke proses, hal ini berarti data store berfungsi sbg sumber/
proses memerlukan data (proses read).
3. Alur data dari proses menuju data store dan sebaliknya berarti berfungsi sbg sumber
dan tujuan.
Lihat gambar berikut :
‘13 7 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
KOMPONEN ALUR DATA
Alur data digunakan untuk menerangkan perpindahan data / paket data dari satu bagian ke
bagian lainnya.
Alur data dapat berupa kata, pesan, formulir / informasi.
Ada 4 konsep tentang alur data :
1. Packets of data
Apabila ada 2 data / lebih yg mengalir dari 1 sumber yg sama menuju pada tujuan yg sama
& mempunyai hubungan digambarkan dgn 1 alur data.
Contoh :
‘13 8 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
2. Diverging data flow
Apabila ada sejumlah paket data yg berasal dari sumber yg sama menuju pada tujuan yg
berbeda atau paket data yg kompleks dibagi menjadi bbrp elemen data yg dikirim ke tujuan
yg berbeda.
Contoh :
‘13 9 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
3. Converging data flow
Apabila ada bbrp alur data yg berbeda sumber menuju ke tujuan yg
sama.
Contoh :
4. Sumber dan Tujuan
Arus data harus dihubungkan pada proses, baik dari maupun yg menuju proses.
MODUL PERKULIAHAN
Perancangan Basis Data
DFD (Data Flow Diagram)
Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh
Fakultas Ilmu Komputer
Teknik Informatika
11 87012 Tim Dosen.
Abstract Kompetensi
Materi ini memahami DFD (Data Flow Diagram)
Mahasiswa di harapkan lebih paham mengenai DFD dan dapat menyelesaikan kasus dengan DFD.
‘13 2 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Bentuk Data Flow Diagram
Terdapat dua bentuk DFD, yaitu Diagram Alur Data Fisik, dan Diagram Alur data Logika.
Diagram alur data fisik lebih menekankan pada bagaimana proses dari sistem diterapkan,
sedangkan diagram alur data logika lebih menekankan proses-proses apa yang terdapat di
sistem.
Diagram Alur Data Fisik (DADF)
DADF lebih tepat digunakan untuk menggambarkan sistem yang ada (sistem yang lama).
Penekanan dari DADF adalah bagaimana proses-proses dari sistem diterapkan (dengan
cara apa, oleh siapa dan dimana), termasuk proses-proses manual.
Untuk memperoleh gambaran bagaimana sistem yang ada diterapkan, DADF harus memuat
:
1. Proses-proses manual juga digambarkan.
2. Nama dari alur data harus memuat keterangan yang cukup terinci untuk
menunjukkan bagaimana pemakai sistem memahami kerja sistem.
3. Simpanan data dapat menunjukkan simpanan non komputer.
4. Nama dari simpanan data harus menunjukkan tipe penerapannya apakah secara
manual atau komputerisasi. Secara manual misalnya dapat menunjukkan buku
catatat, meja pekerja. Sedang cara komputerisasi misalnya menunjukkan file urut,
file database.
5. Proses harus menunjukkan nama dari pemroses, yaitu orang, departemen, sistem
komputer, atau nama program komputer yang mengakses proses tersebut.
‘13 3 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Diagram Alur Data Logika (DADL)
DADL lebih tepat digunakan untuk menggambarkan sistem yang akan diusulkan (sistem
yang baru). Untuk sistem komputerisasi, penggambaran DADL hanya menunjukkan
kebutuhan proses dari sistem yang diusulkan secara logika, biasanya proses-proses yang
digambarkan hanya merupakan proses-proses secara komputer saja.
SYARAT-SYARAT PEMBUATAN DATA FLOW DIAGRAM
Syarat pembuatan DFD ini akan menolong profesional sistem untuk menghindari
pembentukkan DFD yang salah atau DFD yang tidak lengkap atau tidak konsisten secara
logika. Beberapa syarat pembutan DFD dapat menolong profesional sistem untuk
membentuk DFD yang benar, menyenangkan untuk dilihat dan mudah dibaca oleh pemakai.
‘13 4 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Syarat-syarat pembuatan DFD ini adalah :
1. Pemberian nama untuk tiap komponen DFD
2. Pemberian nomor pada komponen proses
3. Penggambaran DFD sesering mungkin agar enak dilihat
4. Penghindaran penggambaran DFD yang rumit
5. Pemastian DFD yang dibentuk itu konsiten secara logika
Pemberian Nama untuk Tiap komponen DFD
Seperti yang telah dijelaskan sebelumnya, komponen terminator mewakili lingkungan luar
dari sistem, tetapi mempunyai pengaruh terhadap sistem yang sedang dikembangkan ini.
Maka agar pemakai mengetahui dengan lingkungan mana saja sistem mereka
berhubungan, komponen terminator ini harus diberi nama sesuai dengan lingkungan luar
yang mempengaruhi sistem ini. Biasanya komponen terminator diberi nama dengan kata
benda.
Selanjutnya adalah komponen proses. Komponen proses ini mewakili fungsi sistem yang
akan dilaksanakan atau menunjukkan bagaimana fungsi sistem dilaksanakan oleh
seseorang, sekelompok orang atau mesin. Maka sangatlah jelas bahwa komponen ini perlu
diberi nama yang tepat, agar siapa yang membaca DFD khususnya pemakai akan merasa
yakin bahwa DFD yang dibentuk ini adalah model yang akurat.
Pemberian nama pada komponen proses lebih baik menunjukkan aturan-aturan yang akan
dilaksanakan oleh seseorang dibandingkan dengan memberikan nama atau identitas orang
yang akan melaksanakannya. Ada dua alasan mengapa bukan nama atau identitas orang
(yang melaksanakan fungsi sistem) yang digunakan sebagai nama proses, yaitu :
• Orang tersebut mungkin diganti oleh orang lain saat mendatang, sehingga bila tiap
kali ada pergantian orang yang melaksanakan fungsi tersebut, maka sistem yang
dibentuk harus diubah lagi.
‘13 5 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
• Orang tersebut mungkin tidak melaksanakan satu fungsi sistem saja, melainkan
beberapa fungsi sistem yang berbeda. Daripada menggambarkan beberapa proses
dengan nama yang sama tetapi artinya berbeda, lebih baik tunjukkan dengan
tugas/fungsi sistem yang sebenarnya akan dilaksanakan.
Karena nama untuk komponen proses lebih baik menunjukkan tugas/fungsi sistem yang
akan dilaksanakan, maka lebih baik pemberian nama ini menggunakan kata kerja transitif.
Pemberian nama untuk komponen data store menggunakan kata benda, karena data store
menunjukkan data apa yang disimpan untuk kebutuhan sistem dalam melaksanakan
tugasnya. Jika sistem sewaktu-waktu membutuhkan data tersebut untuk melaksanakan
tugasnya, maka data tersebut tetap ada, karena sistem menyimpannya.
Begitu pula untuk komponen alur data, namanya lebih baik diberikan dengan menggunakan
kata benda. Karena alur data ini menunjukkan data dan infiormasi yang dibutuhkan dan
yang dikeluarkan oleh sistem dalam pelaksanaan tugasnya.
Pemberian Nomor pada Komponen Proses
Biasanya profesional sistem memberikan nomor dengan bilangan terurut pada komponen
proses sebagai referensi. Tidak jadi masalah bagaimana nomor-nomor proses ini diberikan.
Nomor proses dapat diberikan dari kiri ke kanan, atau dari atas ke bawah, atau dapat pula
dilakukan dengan pola-pola tertentu selama pemberian nomor ini tetap konsisten pada
nomor yang dipergunakan.
‘13 6 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Contoh pemberiaan nama pada proses
Nomor-nomor proses yang diberikan terhadap komponen proses ini tidak dimaksudkan
bahwa proses tersebut dilaksanakan secara berurutan. Pemberian nomor ini dimaksudkan
agar pembacaan suatu proses dalam suatu diskusi akan lebih mudah dengan hanya
menyebutkan prosesnya saja jika dibandingkan dengan menyebutkan nama prosesnya,
khususnya jika nama prosesnya panjang dan sulit.
Maksud pemberian nomor pada proses yang lebih penting lagi adalah untuk menunjukkan
referensi terhadap skema penomoran secara hirarki pada levelisasi DFD. Dengan kata lain,
nomor proses ini merupakan dasar pemberian nomor pada levelilasi DFD. (Lihat gambar
levelisasi DVD)
Penggambaran DFD sesering mungkin
Penggambaran DFD dapat dilakukan berkali-kali sampai secara teknik DFD itu benar, dapat
diterima oleh pemakai, dan sudah cukup rapih sehingga profesional sistem tidak merasa
malu untuk menunjukkan DFD itu kepada atasannya dan pemakai.
Dengan kata lain, penggambaran DFD ini dilakukan sampai terbentuk DFD yang enak
dilihat, dan mudah dibaca oleh pemakai dan profesional sistem lainnya. Keindahan
penggambaran DFD tergantung pada standar-standar yang diminta oleh organisasi tempat
profesional sistem
itu bekerja dan perangkat lunak yang dipakai oleh profesional sistem dalam membuat DFD.
‘13 7 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Penggambaran yang enak untuk dilihat dapat di lakukan dengan memperhatikan hal-hal
berikut ini :
• Ukuran dan bentuk proses.
Beberapa pemakai kadang-kadang merasa bingung bila ukuran proses satu berbeda
dengan proses yang lain. Mereka akan mengira bahwa proses dengan ukuran yang
lebih besar akan diduga lebih penting dari proses yang lebih kecil. Hal ini sebenarnya
hanya karena nama proses itu lebih panjang dibandingkan dengan proses yang lain.
Jadi, sebaiknya proses yang digambarkan memiliki ukuran dan bentuk yang sama.
• Alur data melingkar dan alur data lurus.
Alur data dapat digambarkan dengan melingkar atau hanya garis lurus. Mana yang
lebih enak dipandang tergantung siapa yang akan melihat DFD tersebut.
• DFD dengan gambar tangan dan gambar menggunakan mesin.
DFD dapat digambarkan secara manual atau dengan menggunakan bantuan mesin,
tergantung pilihan pemakai atau profesional sistem.
Penghindaran Penggambaran DFD yang rumit
Tujuan DFD adalah untuk membuat model fungsi yang harus dilaksanakan oleh suatu
sistem dan interaksi antar fungsi. Tujuan lainnya adalah agar model yang dibuat itu mudah
dibaca dan dimengerti tidak hanya oleh profesional sistem yang membuat DFD, tetapi juga
oleh pemakai yang berpengalaman dengan subyek yang terjadi. Hal ini berarti DFD harus
mudah dimengerti, dibaca, dan menyenangkan untuk dilihat.
‘13 8 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Pada banyak masalah, DFD yang dibuat tidak memiliki terlalu banyak proses (maksimal
enam proses) dengan data store, alur data, dan terminator yang berkaitan dengan proses
tersebut dalam satu diagram.
Bila terlalu banyak proses, terminator, data store, dan alur data digambarkan dalam satu
DFD, maka ada kemungkinan terjadi banyak persilangan alur data dalam DFD tersebut.
Persilangan alur data ini menyebabkan pemakai akan sulit membaca dan mengerti DFD
yang terbentu. Jadi semakin sedikit adanya persilangan data pada DFD, maka makin baik
DFD yang dibentuk oleh profesional sistem.
Persilangan alur data ini dapat dihindari dengan menggambarkan DFD secara
bertingkat-tingkat (levelisasi DFD), atau dengan menggunakan pemakaian duplikat
terhadap komponen DFD.
Komponen DFD yang dapat menggunakan duplikat hanya komponen store dan terminator.
Pemberian duplikat ini juga tidak dapat diberikan sesuka profesional sistem yang membuat
DFD, tetapi makin sedikit pemakaian duplikat, makin baik DFD yang terbentuk.
Pemberian duplikat terhadap data store dilakukan dengan memberikan simbol garis lurus (|)
atau asterik (*), sedangkan untuk terminator menggunakan simbol garis miring (/) atau
asterik (*). Banyaknya pemberian simbol duplikat pada duplikat yang digunakan tergantung
banyaknya duplikat yang digunakan.
Contoh pemakain symbol duplikat pada terminator:
a) Satu duplikat yang digunakan
b) Dua duplikat yang digunakan
‘13 9 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Penggambaran DFD yang Konsisten
Penggambaran DFD harus konsisten terhadap kelompok DFD lainnya. Profesional sistem
menggambarkan DFD berdasarkan tingkatan DFD dengan tujuan agar DFD yang dibuatnya
itu mudah dibaca dan dimengerti oleh pemakai sistem. Hal ini sesuai dengan salah satu
tujuan atau syarat membuat DFD.
PENGGAMBARAN DFD
Tidak ada aturan baku untuk menggambarkan DFD. Tapi dari berbagai referensi yang
ada, secara garis besar langkah untuk membuat DFD adalah :
1. Identifikasi terlebih dahulu semua entitas luar yang terlibat di sistem.
2. Identifikasi semua input dan output yang terlibat dengan entitas luar.
3. Buat Diagram Konteks (diagram context)
Diagram ini adalah diagram level tertinggi dari DFD yang menggambarkan hubungan
sistem dengan lingkungan luarnya.
Caranya :
• Tentukan nama sistemnya.
• Tentukan batasan sistemnya.
• Tentukan terminator apa saja yang ada dalam sistem.
• Tentukan apa yang diterima/diberikan terminator dari/ke sistem.
• Gambarkan diagram konteks.
4. Buat Diagram Level Zero
Diagram ini adalah dekomposisi dari diagram konteks. Caranya :
• Tentukan proses utama yang ada pada sistem.
• Tentukan apa yang diberikan/diterima masing-masing proses ke/dari sistem sambil
memperhatikan konsep keseimbangan (alur data yang keluar/masuk dari suatu level
harus sama dengan alur data yang masuk/keluar pada level berikutnya).
‘13 10 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
• Apabila diperlukan, munculkan data store (master) sebagai sumber maupun tujuan
alur data.
• Gambarkan diagram level zero.
- Hindari perpotongan arus data
- Beri nomor pada proses utama (nomor tidak menunjukkan urutan proses).
5. Buat Diagram Level Satu
Diagram ini merupakan dekomposisi dari diagram level zero.
Caranya :
• Tentukan proses yang lebih kecil (sub-proses) dari proses utama yang ada di level
zero.
• Tentukan apa yang diberikan/diterima masing-masing sub-proses ke/dari sistem dan
perhatikan konsep keseimbangan.
• Apabila diperlukan, munculkan data store (transaksi) sebagai sumber maupun tujuan
alur data.
• Gambarkan DFD level Satu
- Hindari perpotongan arus data.
- Beri nomor pada masing-masing sub-proses yang menunjukkan dekomposisi
dari proses sebelumnya. Contoh : 1.1, 1.2, 2.1
6. DFD Level Dua, Tiga, …
Diagram ini merupakan dekomposisi dari level sebelumnya. Proses dekomposisi
dilakukan sampai dengan proses siap dituangkan ke dalam program. Aturan yang
digunakan sama dengan level satu.
‘13 11 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Levelisasi DFD
Pada gambar tersebut terlihat bahwa Proses 0 diuraikan lagi ke dalam empat proses,
penguraian ini digambarkan pada diagram Figure 0, sedangkan Proses 2 diuraikan kembali
menjadi tiga proses yang digambarkan pada diagram Figure 2.
‘13 12 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Penguraian ini juga diikuti oleh alur data yang berkaitan dengan tiap proses yang diuraikan.
Alur data yang berkaitan dengan tiap proses yang diuraikan dikenal dengan Alur data
global.
Jadi pada balancing DFD yang perlu diperhatikan adalah jumlah alur data global pada suatu
level harus sama pada level berikutnya.
Ada beberapa hal yang perlu diperhatikan dalam penggambaran levelisasi DFD, yaitu :
• Dalam diagram konteks, ada beberapa hal yang perlu diperhatikan seperti hubungan
sistem dengan dunia luar yang mempengaruhinya, penggambaran sistem dalam
satu proses, dan penggambaran data store (optional) yang dikenal dengan data
store eksternal atau data store master. Data store eksternal ini maksudnya adalah
data store itu dihasilkan oleh sistem yang sedang dianalisis, tetapi digunakan oleh
sistem lain, atau data store itu dihasilkan oleh sistem lain tetapi digunakan oleh
sistem yang sedang dianalisis.
• Balancing (kesimbangan) dalam penggambaran levilisasi DFD perlu diperhatikan.
Balancing DFD ini maksudnya keseimbangan antara alur data yang masuk/keluar
dari suatu level harus sama dengan alur data yang masuk/keluar pada level
berikutnya (lihat gambar levelisasi DFD).
MODUL PERKULIAHAN
Perancangan Basis Data
Desain Fisik Data Warehouse
Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh
Fakultas Ilmu Komputer
Teknik Informatika
12 87012 Tim Dosen.
Abstract Kompetensi
Materi ini berisi penjelasan desain fisik pada data warehouse
Mahasiswa dapat memahami desin fisik data warehuse
‘13 2 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Desain fisik data warehouse
Data Partitioning
Isu desain pada datawarehouse yang cukup penting adalah partitioning. Pengertian dari
data partitioning adalah membagi data pada tempat penyimpanan fisik yang terpisah serta
dapat di atur secara independent.
Benefit yang didapat dengan melakukan pertitioning adalah peningkatan performansi query
pada suatu tabel. Jika tabel terpartisi maka query optimizer dapat menentukan bahwa hasil
dari query tersebut dapat dipenuhi hanya dengan membaca suatu bagian tertentu. Sehingga
proses pencarian dengan full table scan yang memakan resource dapat dihindarkan. Fitur ini
dikenal dengan istilah Partition elimination atau Dynamic partition pruning.
Contoh partitioning pada peningkatan ketersediaan data (availability) adalah dengan cara
meletakan masing-masing partisi pada physical disk yang terpisah. Sehingga jika data pada
suatu disk rusak, maka data lain tetap dapat di akses dengan baik.
Tabel yang dapat dipertimbangkan untuk dipartisi adalah tabel yang memiliki ukuran lebih
dari 2 GB. Selain itu partisi juga dapat digunakan untuk tabel yang bersifat read-only
historical data. Contoh tabel yang biasa dipartisi adalah suatu fact table yang berisi data
‘13 3 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
historical tahunan dimana data yang mengalami perubahan hanya di partisi terakhir
sedangkan partisi yang lain bersifat read-only.
Sebuah tabel dapat dipartisi menggunakan kolom disebut partition key. Secara umum,
setiap kolom numerik, karakter, atau tanggal tipe data dapat digunakan sebagai kunci
partisi, namun Anda tidak bisa partisi tabel dengan tipe LONG atau tipe LOB
Pada RDBMS Oracle, metode partisi pada tabel dapat diklasifikasikan sebagai berikut :
• Range Partitioning
• Hash Partitioning
• List Partitioning
• Composite Partitioning
Range Partitioning
Ini merupakan metoda yang paling sering digunakan, dimana data di partisi kedalam range
tertentu sehingga tidak akan terjadi overlapping. Masing-masing partisi dibuat dengan cara
mendefinisikan batas atas dari suatu data. Data yang masuk akan menyesuaikan dengan
batasan data yang telah di definisikan. Metoda ini sangat cocok untuk suatu partition key
yang bersifat continue seperti time.
Pada metode ini dimungkinkan jumlah data per partisi tidak sama besar. Tergantung
banyaknya transaksi yang terjadi setiap bulan.
‘13 4 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Hash Partitioning
Metoda ini memodifikasi metoda range partition dengan menambahkan fungsi hash pada
partition key nya. Nilai out put yang dihasilkan digunakan untuk menentukan partisi mana
yang akan digunakan.
Dengan metode ini, seluruh produk dengan nilai PRODUCT_ID yang sama akan
ditempatkan pada partisi yang sama, namun user tidak dapat melakukan control suatu
produk untuk diletakkan pada suatu partisi tertentu. User hanya dapat menentukan berapa
banyak jumlah partisi.
Penerapan metoda ini memungkinkan optimizer melakukan partition prunung jika ada query
yang meminta secara spesifik nilai dari partition key. Contoh : berapa banyak tent yang
terjual dalam satu bulan ?. Namun jika queri yang diminta adalah range suati ID product,
maka proses full table scan tetap akan dijalankan.
‘13 5 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
List Partitioning
Metoda ini memungkinkan data untuk didistribusikan berdasarkan nilai diskrit suatu kolom.
Metoda ini memungkinkan optimizer untuk melakukan partition prunning. Sebagai contoh :
queri yang memerlukan Massachusetts (MA) atau data New Hampshire (NH), optimizer
hanya akan mencari pada partisi NortEast.
Composite Partitioning
RDBMS Oracle menyediakan dua macam composite partition, yaitu :
• Range-hash
Seperti yang telah diuraikan di atas, metoda hash partition tidak memungkinkan user
untuk melakukan kontrol terhadap distribusi data, di sisilain metoda range partition
memungkinkan jumlah data yang besar pada partisi tertentu. Metoda range hash
partition menggabungkan benefit dari metoda-metoda tersebut. Pertama data di partisi
berdasarkan range kemudian masing-masing partisi dibagi menjadi sub partisi dengan
distribusi dengan menggunakan fungsi hash.
‘13 6 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Sebagai contoh : pertama data dipartisi dengan menggunakan nilai month kemudian
data di sub partisi berdasarkan product dengan menambahkan fungsi hash.
• Range List
Metoda ini akan melakukan partisi pertama kali dengan metode range-partition dengan
cara menggunakan continues key seperti time kemudian sub partisi pada tiap partisi
akan menggunakan metoda nilai diskrit dari suatu kolom.
Index
Indexing merupakan teknik yang penting dalam efisiensi suatu query. Oracle menyediakan
tiga tipe index yang digunakan dalam data warehouse :
• B*tree Index
• Bitmap Index
• Bitmap Join Index
‘13 7 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
B*tree Index
Indeks B*tree memliki struktur hirarki yang memungkinkan pencarian dalam tabel dengan
cepat berdasarkan suatu nilai tertentu dari index key. Indeks ini menyimpan pointer suatu
record menggunakan rowid, yang secara unik mengidentifikasi lokasi fisik dari record dalam
suatu disk. Terdapat dua jenis index B*tree :
• Unique
Dimana indeks ini akan memastikan setiap record akan memiliki nilai unik sebagai key.
Nilai ini akan terbentuk secara otomatis ketika constraint PRIMARY KEY atau UNIQUE
diaktifkan dalam suatu tebel.
• Non unique
Indeks ini akan meningkatkan performansi queri ketika result yang di hasilkan bukan
berdasarkan key nya.
B*tree indeks digunakan jika isi dari indeks key memiliki nilai distinct yang banyak, dimana
tiap nilai akan mengacu pada suatu record pada tabel.
‘13 8 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Bitmap Index
Indeks ini di desain untuk mempercepat query yang melibatkan kolom bernilai distinct
rendah namun berpotensi untuk menghasilkan jumlah data yang besar. Nilai distinct tersebut
disebut dangan kardinalitas. Metode ini menyimpan nilai bitmap untuk setiap nilai unik dalam
satu row
Bitmap index akan terkompress secara otomatis sehingga akan memerlukan media
penyimpanan yang lebih sediki dibandingkan dengan B*tree index. Penghematan dapat
terjadi secara signifikan jika nilai distinct dari suatu kolom bernilai kecil. Kerugian utama dari
metoda ini adalah diperlukan efort yang besar ketika terjadi perubahan data. Hal ini
dikarenakan indeks tersebut harus di uncompress, recompress dan kemungkinan dilakukan
rebuild.
Sebagai contoh pada kolom GENDER (memiliki dua nilai M dan F, kardinalitas = 2), dua
buah nilai akan dibuat baik untuk nilai M atau F.
Perbedaan lain dengan B*tree adalah pada saat update, jika B*tree hanya melakukan
locking pada suatu record tertentu, pada Bitmap sebagian besar bitmap perlu di lock.
Sehingga bitmap indeks mengurangi concurrency pada sistem dengan kata lain bitmap tidak
cocok diterapkan pada sistem dengan banyak aktivitas update concurrency.
‘13 9 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Bitmap Join Index
Bitmap ini terbentuk dari kondisi join suatu tabel Fact dengan satu atau beberapa tabel
Dimensi. Perbedaan dengan Bitmap index adalah jika Bitmap dibuaat berdasarkan kolom
pada suatu single table sedangkan Bitmap Join Index dibuat pada fact table tapi untuk index
kolomnya dari dimension table. Bitmap join Index juga memiliki low cardinality pada kolom
yang hendak di index nya.
Function Base Index
Salah satu permasalahan yang sering terjadi adalah jika suatu query mengandung unsur
fungsi pada indexnya. Jika ini terjadi maka optimizer tidak akan mempergunakan objek
index. Sebagai contoh adalah query yang menggunakan predicate function seperti
TO_UPPER(), TO_NUMBER() atau suatu ekspresi. Dalam kondisi ini function base index
diperlukan.
Jika hendak menggunakan dengan Bitmap index, hal yang harus diperhatikan adalah kolom
yang digunakan tetap harus memiliki kardinalitas yang rendah.
‘13 10 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Kompresi Data
Peningkatan data secara signifikan ini menjadi suatu tantangan yang cukup serius bagi
manajemen dan pengelola teknologi informasi. Masalah utama yang cukup perlu
diperhatikan adalah tempat penyimpanan data yang akan terus bertambah, walaupun dari
sisi harga per megabyte mengalami penurunan pada masa sekarang ini, namun
pertumbuhan volume data besar yang harus disimpan secara online ini menyebabkan
komponen biaya tempat penyimpanan menjadi besar pula. Di sisilain, pengaksesan data
oleh aplikasi dituntut tidak boleh berkurang performansinya
Kompresi Tabel
Pada database oracle data disimpan pada sebuah segmen yang terdiri dari beberapa data
block dimana ini merupakan satuan terkecil dari tempat penyimpanan denganukuran standar
8 Kb. Data segmen melakukan kompresi pada tabel dengan mengidentifikasi nilai yang
berulang pada setiap data block kemudian meletakkan data tersebut pada tabel lookup di
awal blok.
Ketika sebuah query dijalankan terhadap suatu tabel terkompresi, oracle secara otomatis
melakukan uncompress secara otomatis. Meski ada overhead dalam prosesnya, namun hal
ini sangat kecil dan benefit yang didapat dalam mengurangi I/O sangat besar.
‘13 11 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Kompresi Index
Pada B*tree index, oracle melakukan key compression dengan cara hanya menyimpan
sekali nilai common prefix of index key dalam suatu blok index. Sedang pada Bitmap Index
setiap nilai index sudah ter kompresi secara otomatis.
MODUL PERKULIAHAN
Perancangan Basis Data
OLAP
Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh
Fakultas Ilmu Komputer
Teknik Informatika
13 87012 Tim Dosen.
Abstract Kompetensi
Materi ini berisi penjelasan OLAP Mahasiswa dapat memahami OLAP dan menerapkan dalam kegiatan sehari-hari
‘13 2 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
OLAP
PENGERTIAN
OLAP memiliki beberapa pengertian, hal ini terjadi karena elemen esensial nya
diekspresikan dalam layer teknologi mulai layer dari storage hingga language. Pengertian
tersebut dapat di bagi pada layer konsep, bahasa, produk, dan produk OLAP secara
keseluruhan.
Konsep OLAP mencakup pengertian mengenai notasi atau ide dari multiple dimensi hirarki
yang dapat digunakan oleh siapa saja yang mampu memikirkan sesuatu dalam bentuk
dimensional. Konsep ini dapat dilakukan tanpa tergantung bahasa formal ataupun produk
tertentu.
‘13 3 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Bahasa OLAP mencakup Data Definition Language (DDL), Data Manipulation Language
(DML), Data Representation Language (DRL) dan asscociated parser dapat digunakan
untuk model deskriptif, baik untuk data transaksional atauapun decision support.
Pada layer produk, OLAP biasanya berada diatas suatu database relasional dan
menghasilkan SQL sebagai output dari kompilasinya. Penyimpanan dan akses data
biasanya di atur oleh database.
Produk Full OLAP digunakan untuk pemodelan Decision Support System (DSS) dimana
compiler, storage dan metode akses telah dioptimasi untuk peningkatan kecepatan akses
dan kemampuan kalkulasi..
EVOLUSI FUNGSIONAL OLAP
Dewasa ini produk teknologi yang digunakan untuk menggambarkan informasi berbasiskan
analisis dan decission oriented adalah spreadsheet dan database. Pada umumnya
spreadsheet digunakan oleh end user sedangkan database di administrasi oleh professional
IT,
Evolusi Spreadsheet dan OLAP
Di era 80 dimana kemampuan Personal Computer meningkat tajam, banyak profesional
menggunakan desktop untuk melakukan aplikasi analisis. Spreadsheet yang pertama kali
seperti Panaview , Look ‘n’ Link dan Budget Express. Fitur dan fasilitas terus berkembang
sehingga mendekati kebutuhan fungsional OLAP.
Di era 1993 produk spreadsheet seperti MS Excell menyediakan kemampuan pivot table
Dimana pivot atau n-way crosstab, merupakan representasi multidimensi. Namun produk ini
tidak terintegrasi pada fungsi utama spreadsheet karena untuk menggunakannya, perlu
dilakukan import data dari Excell Worksheet kedalam Excell pivot. Pada saat ini, versi
Microsoft Office 2000 telah memiliki fitur yang disebut dengan pivot table service yang
merupakan bagian dari Microsoft client-resident OLAP technology.
‘13 4 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
OLAP, Model Relasi dan Database
Di era 80 penyedia teknologi seperti Oracle dan IBM menjadikan relasional sebagai produk
komersial. SQL sebagai implementasi dari relasional database untuk melakukan akses data
terus mengalami perkembangan kemampuannya. Hingga pada perkembangan SQL-99
yang di rilis dibulan Desember 2001 telah menambahkan kemampuannya dalam hal
penganan fungsional OLAP
Sebagai contoh adalah sebagai laporan berikut, dimana data menggambarkan penurunan
penjualan dibandingkan dengan perencanaan. Dari data diharapkan manajemen dapat
mengambil keputusan untuk stategi berikutnya.
Product Managers Quarterly report
Regional Managers Quarterly report
‘13 5 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Star schema untuk kebutuhan diatas dapat digambarkan sebagai berikut :
• OLAP dengan Spreadsheet
Masalah pertama yang dihadapi adalah menentukan bentuk data, apakah akan
direpresentasikan dalam sebuah gigantic worksheet ?, jika ya, maka masalah berikutnya
adalah bagaimana cara mengorganisasikannya. Kemungkinan untuk memudahkan, data
akan di distribusikan pada beberapa worksheet. Disini juga dapat dilakukan bermacam
opsi, worksheet dapat dibuat berdasarkan tiap produk dan atau tiap store dan atau tiap
minggu. Secara teoritical semua metode dapat berjalan. Namun akan cukup merepotkan
dalam melakukan integrasi data. Sebagai gambaran dengan asumsi terdapat 100
produk , 3 skenario dan 13 measure maka akan terbentuk 3900 worksheet data.
Spreadsheet tidak di desain untuk bekerja dengan data multi dimensi, dimana ini
seharusnya menjadi prerequisite untuk bekerja dengan OLAP.
‘13 6 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Berikutnya adalah masalah untuk mengagregasikan data dimana tiap worksheet perlu
melakukan roll up untuk mendefinisikan suatu fungsi agregasi. Dengan asumsi terdapat
3900 worksheet , maka akan terbentuk 3900 duplikasi untuk hirarki storage-city-region.
Pada faktanya spreadsheet tidak menyediakan dukungan untuk hirarki OLAP.
• OLAP dengan SQL
Jika SQL digunakan untuk menangani fungsi agregasi, SQL akan membentuk satu tabel
agregasi untuk setiap kombinasi unik tiap level. Dengan tiga level time, tiga level toko,
dan empat level produk akan dibutuhkan 36 tabel kombinasi agregasi yang unik.
Tiga puluh enam level agregasi
Dimana setiap tabel akan dibuat objek secara terpisah dengan menggunakan statement
CREATE TABLE. Sebagai contoh :
‘13 7 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
CREATE TABLE quarter-region-prodtype
( quarter (CHAR 16),
region (CHAR 16),
prodtype (CHAR 16),
scenario (CHAR 16),
sales (DOUBLE FLOAT),
costs (DOUBLE FLOAT) )
Kemudian untuk mempersiapkan populasi data pada tabel quarter-region-prodtype,
dibuat view untuk lookup :
CREATE VIEW quarter-name (quarter, month-id) AS
SELECT quarter, month-id
FROM time-lookup
CREATE VIEW region-level (region, store-id) AS
SELECT region, store-id
FROM store-lookup
CREATE VIEW product-type (prodtype, prod-id) AS
SELECT prodtype, prod-id
FROM product-lookup
Proses penggabungan view serta join dengan base table ini digunakan untuk
menghasilkan data yang dibutuhkan sehingga pada akhirnya dapat dihasilkan data
sebagai berikut :
‘13 8 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Tabel nilai aktual
Berikut ini view data hasil join dari actual dan plan sales :
‘13 9 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Modifikasi tampilan bagi end-user :
Oracle BI Spreadsheet AddIns
Untuk membuat laporan berbasis analisis melalui spreadsheet, DBMS Oracle memiliki
beberapa metoda, salah satunya adalah dengan menambahkan add ins. Berikut ini contoh
tampilan report berbasis analisi yang bisa dihasilkan dengan Ms. Excell, dimana data dan
objek dimensi disimpan pada database Oracle sedangkan ad-hoc report, dibuat dengan
menggunakan Excell.
‘13 10 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
MODUL PERKULIAHAN
Perancangan Basis Data
Data Mining
Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh
Fakultas Ilmu Komputer
Teknik Informatika
14 87012 Tim Dosen.
Abstract Kompetensi
Materi ini berisi penjelasan Data Mining Mahasiswa dapat memahami konsep Data Mining
‘13 2 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Data Mining
Definisi
Pada prinsipnya Data Mining adalah suatu proses untuk menemukan pola-pola tersembunyi
dan hubungan dalam data untuk membantu membuat keputusan bisnis yang lebih baik.
Terminologi data mining telah diperluas dari perngertian analisis data. Beberapa definisi dari
Data Mining atau Knowledge Discovery in Database pada database adalah sebagai berikut :
Data Mining, or Knowledge Discovery in Databases (KDD) as it is also known, is
the nontrivial extraction of implicit, previously unknown, and potentially useful
information from data. This encompasses a number of different technical
approaches, such as clustering, data summarization, learning classification rules,
finding dependency net works, analyzing changes, and detecting anomalies.
William J Frawley, Gregory Piatetsky-Shapiro and Christopher J Matheus
Data mining is the search for relationships and global patterns that exist in large
databases but are ‘hidden’ among the vast amount of data, such as a relationship
between patient data and their medical diagnosis. These relationships represent
valuable knowledge about the database and the objects in the database and, if
the database is a faithful mirror, of the real world registered by the database.
Marcel Holshemier & Arno Siebes (1994)
The analogy with the mining process is described as:
Data mining refers to “using a variety of techniques to identify nuggets of
information or decision-making knowledge in bodies of data, and extracting these
in such a way that they can be put to use in the areas such as decision support,
prediction, forecasting and estimation. The data is often voluminous, but as it
stands of low value as no direct use can be made of it; it is the hidden information
in the data that is useful”
Clementine User Guide, a data mining toolkit
‘13 3 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Basically data mining is concerned with the analysis of data and the use of
software techniques for finding patterns and regularities in sets of data. It is the
computer, which is responsible for finding the patterns by identifying the
underlying rules and features in the data. The idea is that it is possible to strike
gold in unexpected places as the data mining software extracts patterns not
previously discernable or so obvious that no one has noticed them before.
Proses Data Mining
Proses analis diawali dari sekumpulan data, menggunakan metodologi untuk membangun
suatu representasi struktur data yang optimal dimana waktu dan pengetahuan dibutuhkan
untuk memperolehnya. Setelah pengetahuan diperoleh, representasi dapat digunakan pada
data yang lebih besar.
Gambar diatas ini merupakan summary dari tahapan proses identifikasi data mining dan
knowledge discovery di buat oleh Usama Fayyad & Evangelos Simoudis yang merupakan
pakar di bidan Data Mining.
‘13 4 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
• Selection
Seleksi atau segmentasi data menurut aturan criteria tertentu , misalkan sekumpulan
karyawan yang memiliki kendaraan. Dengan criteria ini maka data subset akan
terbentuk.
• Preprocessing
Ini merupakan tahap cleansing data dimana informasi tertentu yang dianggap tidak perlu
dan memperlambat queri bisa dihilangkan. Pada tahap ini, data juga di konfigurasi ulang
untuk memastikan konsistensi format. Misal untuk, data tersimpan f atau m dimana
seharusnya 0 atau 1.
• Transformation
Data tidak hanya ditransfer tetapi juga di transformasi dalam overlay dengan
kemungkinan ada penambahan factor demografi yang banyak digunakan pada riset
pasar. Data dibuat useable dan navigable
• Data mining
Tahap ini di khususkan pada pola ekstraksi data.
• Interpretation and evaluation
Pola yang telah teridentifikasi oleh system akan diinterprestasikan dalam suatu
knowledge yang dapat membantu manusia dakam mengambil suatu keputusan, sebagai
contoh dalam hal klasifikasi dan prediksi, melakukan summari dari konten database atau
menjelaskan suatu fenomena.
‘13 5 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Model Data Mining
IBM mengidentifikasi dua tipe model operasional dari data mining yang dapat digunakan
untuk menemukan informasi yang dibutuhkan oleh user.
1. Model Verifikasi
Model ini menggunakan hipotes dari user dan melakukan tes validitas terhadap datanya.
Penekanan dilakukan oleh user yang bertanggung jawab untuk melakukan formulasi dan
hipotesa serta melakukan query pada data.
Sebagai contoh pada divisi marketing, untuk melakukan kampanye produk baru dengan
anggaran yang terbatas maka perlu diidentifikasi populasi tertentu yang sekiranya
berminat terhadap produk tersebut. User melakukan formulasi dan hipotesa untuk
mengidentifikasi potensial customer termasuk karakteristiknya. Data histori tentang
riwayat pembelian serta demografi di analisa untuk mendapatkan gambaran yang lebih
akurat.
Permasalahan yang terjadi pada model ini adalah pada faktanya tidak ada informasi
baru yang terbentuk pada proses retrieval namun akan menghasilkan sejumlah records
sebagai bahan untuk membentuk hipotesa. Proses pencarian dilakukan secara iterative
setelah meriview output tersebut. Kemudian melakukan query lagi berdasarkan formulasi
dan karakteristik yang lain.
2. Model Discovery
Model ini memiliki penekanan yang berbeda, pada model ini system secata otomatis
menemukan informasi penting yang tersembunyi didalam data. Data di pilah dan diolah
untuk menemukan pola tertentu, trend dan informasi umum tanpa ada campur tangan
dari pengguna. Penggunaan perangkat data mining sering digunakan untuk
mempersingkat proses pencarian tersebut
Sebagai contoh pada sebuam model database Bank, akan dilakukan mining untuk
menemukan kelompok pelanggan guna mensosialisasikan produk baru. Proses
pencarian dilakukan tanpa interverensi , system akan mengelompokan pengguna
berdasarkan suatu karakteristik tertentu.
‘13 6 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Permasalahan Dalam Data Mining
Sistem data mining bergantung dari database untuk menyediakan data dasar sebagai input.
Beberapa hal ini permasalahan yang mungkin timbul adalah sebagai berikut :
• Keterbatasan Informasi
Sebuah database biasanya di desain untuk tujuan tertentu, bukan untuk data mining
sehingga terkadang properties ataupun attribute yang mempermudah proses learning
tidak tersedia. Jika suatu atribut yang merupakan esensi dari suatu knowledge tidak
tersedia maka proses pengungkapan pengetahuan bisa tidak terjadi sebagai mana
mestinya. Sebagai contoh, tidak dapat terungkapnya fenomena penyakit malaria pada
suatu database pasien jika pada database itu tidak terdapat informasi jumlah sel darah
merah pasien.
• Noise dan Missing Values
Database biasanya terkontaminasi oleh error sehingga tidak dapat di asumsikan bahwa
seluruh data tersebut adalah akurat. Attribut yang bergantung pada suatu subjektif
ataupun measurement juga dapat menimbulkan error, misalkan karena adanya
kesalahan klasifikasi. Jenis kesalahan akibat hilangnya nilai field ataupun kesalahan
klasifikasi data disebut dengan Noises.
Hilangnya data dapat di tangani oleh system dengan beberapa cara seperti :
o Mengabaikan nilai yang hilang
o Menghilangkan record-record yang terkait dengan data tersebut
o Menduga nilai yang hilang dari sumber yang dapat dipercaya
o Memperlakukan data yan hilang sebagai special value yang ditambahkan
pada attribute domain
o Melakukan kalkulasi rata-rata Average terhadap data yang
hilang menggunakan teknik Bayesian.
‘13 7 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
• Uncertainty
Uncertainty mengacu pada banyaknya error dan noises yang terdapat dalam data.
Tingkat presisi data merupakan hal penting dalam system discovery.
• Size, Updates, dan Irrelevant Fields
Databases cenderung untuk menjadi besar dan dinamis pada kontennya sejalankan
dengan penambahan, modifikasi ataupun penghapusan. Permasalahan dari prespektif
data mining adalah bagaimana memastikan jika data telah up to date dan konsisten
terhadap informasi terkini. Sistem pembelajaran juga harus bersifat time-sensitive hal ini
dikarenakan bervariasinya perubahan data dan system pembelajaran ini dipengaruhi
oleh timeline data.
Aplikasi Potential
Data mining memiliki banyak penerapan variasi aplikasi dari bidang yang ada dibawah ini
:
Retail/Marketing
• Identifikasi pola pembelian dari pelanngan
• Menemukan asosiasi antara karakteristik dempgrafi pelanggan
• Memprediksi respon dari suatu even promosi
• Analisa Market basket
Banking
• Mendeteksi pola dari kejahatan penggunaan kartu kredit
• Identifikasi ‘loyal’ customers
• Memprediksi customer untuk mengganti afiliasi kartu kreditnya
• Mendeterminasi variasi penggunaan kartu kredit oleh suatu kelompok pengguna
• Menemukan hubungan yang tersembunyi atara beberapa indicator finansial
• Mengidentifikasi peraturan stoct trading dari data histori pasar
‘13 8 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
Tim Dosen. http://www.mercubuana.ac.id
Insurance dan Health Care
• Analisa klaim
• Melakukan prediksi customer yang akan membeli polis baru
• Mengidentifikasi pola perilaku customer yang beresiko
• Mengidentifikasi perilaku fraud yang ada.
Transportation
• Mendeterminasi jadwal distribusi antar outler
• Melakukan analisa pola pemuatan
Medicine
• Melakukan karateristik pasien sehingga dapat terprediksi kunjungan
berkala.
• Identifikasi terapi obat yang berhasil untuk digunakan pada penyakit lain.
top related