Anda di halaman 1dari 164

MODUL PERKULIAHAN

Perancangan
Basis Data
Pengantar Basis Data

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

01
Fakultas Ilmu Teknik Informatika 87012 Tim Dosen.
Komputer

Abstract Kompetensi
Pengantar basis data dalam Mahasiswa dapat membedakan bentuk-
mengambil suatu keputusan di dalam bentuk database di dalam mengambil
suatu organisasi suatu keputusan
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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


2 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


3 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


4 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


5 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


6 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


7 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


8 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


9 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)

‘13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


10 Tim Dosen. http://www.mercubuana.ac.id
MODUL PERKULIAHAN

Perancangan
Basis Data
Pengantar Data Warehouse
dan Data Mining

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

02
Fakultas Ilmu Teknik Informatika 87012 Tim Dosen.
Komputer

Abstract Kompetensi
Penjelasan tentang data warehouse Mahasiswa dapat memahami konsep
dan data mining dari data warehouse dan data mining
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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


2 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


3 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


4 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 Dirancang berdasar pada subjek-subjek
dan fungsi tertentu tertentu(utama)
Focusnya pada desain database dan Focusnya pada pemodelan data dan
proses desain data
Berisi rincian atau detail data Berisi data-data history yang akan dipakai
dalam proses analisis
Relasi antar table berdasar aturan Banyak aturan bisnis dapat tersaji antara
terkini(selalu mengikuti rule(aturan) tabel-tabel
terbaru)

‘13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


5 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


6 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


7 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


8 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


9 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


10 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


11 Tim Dosen. http://www.mercubuana.ac.id
data mining pada awalnya tidak sesuai dengan harapan analisnya sehingga perlu dilakukan
desain ulang prosesnya

‘13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


12 Tim Dosen. http://www.mercubuana.ac.id
MODUL PERKULIAHAN

Perancangan
Basis Data
Lingkungan Basis Data

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

03
Fakultas Ilmu Teknik Informatika 87012 Tim Dosen.
Komputer

Abstract Kompetensi
Materi ini menyediakan latar belakan Memahami tiga tingkatan arsitektur
informasi yang penting pada basis database
data, diantaranya tiga tingkatan
arsitektur ANSI-SPARC, pengenalan
model data, fungsi yang disediakan
oleh DBMS multi user
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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


2 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


3 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


4 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


5 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 mengubah
program 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


6 Tim Dosen. http://www.mercubuana.ac.id
Lingkungan Database

Komponen Database

‘13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


7 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


8 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


9 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)

‘13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


10 Tim Dosen. http://www.mercubuana.ac.id
MODUL PERKULIAHAN

Perancangan
Basis Data
Konfigurasi Database & Fungsi
DBMS

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

04
Fakultas Ilmu Teknik Informatika 87012 Tim Dosen.
Komputer

Abstract Kompetensi
Materi ini menyediakan latar belakan Memahami tiga tingkatan arsitektur
informasi yang penting pada basis database
data, diantaranya tiga tingkatan
arsitektur ANSI-SPARC, pengenalan
model data, fungsi yang disediakan
oleh DBMS multi user
Konfigurasi Database
Konfigurasi Database

• Database untuk PC

• Access

• FoxPro

• Dbase III

• Oracle

• Etc.

• Database terpusat (centralized)

‘13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


2 Tim Dosen. http://www.mercubuana.ac.id
• Database client/server (2-tier)

• Database tersebar (distributed)

Model homogen

‘13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


3 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


4 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


5 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


6 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


7 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


8 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


9 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


10 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


11 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


12 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


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

‘13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


14 Tim Dosen. http://www.mercubuana.ac.id
MODUL PERKULIAHAN

Perancangan
Basis Data
Model Relational

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

05
Fakultas Ilmu Teknik Informatika 87012 Tim Dosen.
Komputer

Abstract Kompetensi
Materi ini menyediakan pemahaman Model relational di dalam penerapat
model relational data warehouse dan mining
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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


2 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


3 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


4 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


5 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


6 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


7 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


8 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


9 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

‘13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


10 Tim Dosen. http://www.mercubuana.ac.id
MODUL PERKULIAHAN

Perancangan
Basis Data
Normalisasi

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

06
Fakultas Ilmu Teknik Informatika 87012 Tim Dosen.
Komputer

Abstract Kompetensi
Materi ini memahami Normalisasi Mahasiswa di harapkan lebih paham
mengenai Normalisasi dan dapat
menyelesaikan kasus
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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


2 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


3 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


4 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


5 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


6 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


7 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


8 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

‘13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


9 Tim Dosen. http://www.mercubuana.ac.id
MODUL PERKULIAHAN

Perancangan
Basis Data
Konsep & Terminology Query
Language

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

07
Fakultas Ilmu Teknik Informatika 87012 Tim Dosen.
Komputer

Abstract Kompetensi
Materi ini memahami konsep dan Mahasiswa di harapkan lebih paham
terminology Query Language mengenai konsep dan terminology
Query Language
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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


2 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


3 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


4 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


5 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


6 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


7 Tim Dosen. http://www.mercubuana.ac.id
Depositor

Borrower

Hasil query yang union diatas adalah :

‘13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


8 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


9 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


10 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


11 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,balancebalance*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)

‘13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


12 Tim Dosen. http://www.mercubuana.ac.id
MODUL PERKULIAHAN

Perancangan
Basis Data
SQL (Structured Query
Language)

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

08
Fakultas Ilmu Teknik Informatika 87012 Tim Dosen.
Komputer

Abstract Kompetensi
Materi ini memahami SQL Mahasiswa di harapkan lebih paham
mengenai SQL dan dapat
menyelesaikan kasus dengan SQL
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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


2 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


3 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


4 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


5 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


6 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


7 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


8 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


9 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


10 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


11 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


12 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


13 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


14 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


15 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


16 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


17 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


18 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


19 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

‘13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


20 Tim Dosen. http://www.mercubuana.ac.id
MODUL PERKULIAHAN

Perancangan
Basis Data
Model ER (Entity Relationship)

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

09
Fakultas Ilmu Teknik Informatika 87012 Tim Dosen.
Komputer

Abstract Kompetensi
Materi ini memahami Model ER (Entitiy Mahasiswa di harapkan lebih paham
Relationship) mengenai ER dan dapat menyelesaikan
kasus dengan ER
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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


2 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


3 Tim Dosen. http://www.mercubuana.ac.id
 Atribut Composite
Suatu atribut yang terdiri dari beberapa atribut yang lebih kecil yang mempunyai
arti tertentu.

Nama Nama Nama


Depan Tengah Belakang

NAMA

PEGAWAI

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

‘13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


4 Tim Dosen. http://www.mercubuana.ac.id
Derajat dari relationship

 Menjelaskan jumlah entity yang berpartisipasi dalam suatu


relationship
Unary Degree (Derajat Satu)

PEGAWAI LAPOR

Binary Degree (Derajat Dua)

PEGAWAI KERJA DEPARTEMEN

Ternary Degree (Derajat Tiga)

PEGAWAI KERJA PROYEK

KOTA

‘13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


5 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


6 Tim Dosen. http://www.mercubuana.ac.id
1:N / N:1

Pegawai Kerja Departemen

P1 R1
D1
P2 R2
D2
P3 R3
D3
P4 R4

N 1
. .
KERJA DEPARTEMEN
PEGAWAI

‘13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


7 Tim Dosen. http://www.mercubuana.ac.id
M:N

‘13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


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

N 1

PUNYA
PEGAWAI BAGIAN
Partial Participation
Keberadaan suatu entity tidak tergantung pada hubungannya dengan entity
lain.

‘13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


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

NOPEG ………. NAMA …………

MILIK TANGGUNGAN
PEGAWAI

‘13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


10 Tim Dosen. http://www.mercubuana.ac.id
Simbol-simbol ER-Diagram

‘13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


11 Tim Dosen. http://www.mercubuana.ac.id
Contoh Penggambaran Diagram ER

ALM1 KDPOS

NOPEG NAPEG ALAMAT NOBAG NABAG LOKASI

TGLLAH N ANGGOTA 1

PEGAWAI BAGIAN
UMUR 1 1
PIMPIN
1
1 N M
JAM
KONTROL
KERJA PUNYA

N
1

PUNYA PROYEK

LOKAPR
NOPRO
N
NAPRO

TANGGUNGAN

NAMA JNKELT HUBUNGAN

‘13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


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

NOPEG ALM1 KDPOS

PEGAWAI
ALAMAT

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.

NOPRO .... LOKASI

PROYEK

LOKPR(NOPRO, LOKASI)

3. Setiap Unary Relationship 1:N, pada relasi perlu ditambahkan suatu foreign key yang
menunjuk ke nilai primary keynya.

‘13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


13 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


14 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


15 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


16 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)

‘13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


17 Tim Dosen. http://www.mercubuana.ac.id
MODUL PERKULIAHAN

Perancangan
Basis Data
DFD (Data Flow Diagram)

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

10
Fakultas Ilmu Teknik Informatika 87012 Tim Dosen.
Komputer

Abstract Kompetensi
Materi ini memahami tentang DFD Mahasiswa di harapkan lebih paham
(Data Flow Diagram) mengenai DFD dan dapat
menyelesaikan kasus dengan DFD
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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


2 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


3 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


4 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


5 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


6 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


7 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


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

‘13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


9 Tim Dosen. http://www.mercubuana.ac.id
MODUL PERKULIAHAN

Perancangan
Basis Data
DFD (Data Flow Diagram)

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

11
Fakultas Ilmu Teknik Informatika 87012 Tim Dosen.
Komputer

Abstract Kompetensi
Materi ini memahami DFD (Data Flow Mahasiswa di harapkan lebih paham
Diagram) mengenai DFD dan dapat
menyelesaikan kasus dengan DFD.
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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


2 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


3 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


4 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


5 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


6 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


7 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


8 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


9 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


10 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


11 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).

‘13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


12 Tim Dosen. http://www.mercubuana.ac.id
MODUL PERKULIAHAN

Perancangan
Basis Data
Desain Fisik Data Warehouse

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

12
Fakultas Ilmu Teknik Informatika 87012 Tim Dosen.
Komputer

Abstract Kompetensi
Materi ini berisi penjelasan desain fisik Mahasiswa dapat memahami desin fisik
pada data warehouse data warehuse
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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


2 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


3 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


4 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


5 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


6 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


7 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


8 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


9 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


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

‘13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


11 Tim Dosen. http://www.mercubuana.ac.id
MODUL PERKULIAHAN

Perancangan
Basis Data
OLAP

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

13
Fakultas Ilmu Teknik Informatika 87012 Tim Dosen.
Komputer

Abstract Kompetensi
Materi ini berisi penjelasan OLAP Mahasiswa dapat memahami OLAP dan
menerapkan dalam kegiatan sehari-hari
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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


2 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


3 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


4 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


5 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


6 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


7 Tim Dosen. http://www.mercubuana.ac.id
Tabel nilai aktual

Berikut ini view data hasil join dari actual dan plan sales :

‘13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


8 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


9 Tim Dosen. http://www.mercubuana.ac.id
‘13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning
10 Tim Dosen. http://www.mercubuana.ac.id
MODUL PERKULIAHAN

Perancangan
Basis Data
Data Mining

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

14
Fakultas Ilmu Teknik Informatika 87012 Tim Dosen.
Komputer

Abstract Kompetensi
Materi ini berisi penjelasan Data Mining Mahasiswa dapat memahami konsep
Data Mining
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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


2 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


3 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


4 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


5 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


6 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 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


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

‘13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning


8 Tim Dosen. http://www.mercubuana.ac.id

Anda mungkin juga menyukai