fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/perancangan-basis-data-ti.pdf ·...

164
MODUL PERKULIAHAN Perancangan Basis Data Pengantar Basis Data Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Fakultas Ilmu Komputer Teknik Informatika 01 87012 Tim Dosen. Abstract Kompetensi Pengantar basis data dalam mengambil suatu keputusan di dalam suatu organisasi Mahasiswa dapat membedakan bentuk- bentuk database di dalam mengambil suatu keputusan

Upload: lyhanh

Post on 30-Jun-2019

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

MODUL PERKULIAHAN

Perancangan Basis Data

Pengantar Basis Data

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

Fakultas Ilmu Komputer

Teknik Informatika

01 87012 Tim Dosen.

Abstract Kompetensi

Pengantar basis data dalam mengambil suatu keputusan di dalam suatu organisasi

Mahasiswa dapat membedakan bentuk-bentuk database di dalam mengambil suatu keputusan

Page 2: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 2 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Pengantar Basis Data

Basis data menyediakan fasilitas atau mempermudah dalam menghasilkan informasi yang

digunakan oleh pemakai untuk mendukung pengambilan keputusan. Hal inilah yang

menjadikan alasan dari penggunaan teknologi basis data pada saat sekarang (dunia bisnis).

Berikut ini contoh penggunaan Aplikasi basis data dalam dunia bisnis :

• Bank : Pengelolaan data nasabah, akunting, semua transaksi perbankan

• Bandara : Pengelolaan data reservasi, penjadualan

• Universitas : Pengelolaan pendaftaran, alumni

• Penjualan : Pengelolaan data customer, produk, penjualan

• Pabrik : Pengelolaan data produksi, persediaan barang, pemesanan, agen

• Kepegawaian : Pengelolaan data karyawan, gaji, pajak

• Telekomunikasi : Pengelolaan data tagihan, jumlah pul

Sistem Pemrosesan File

Keterangan :

File mahasiswa : Mhs (npm, nama, alamat, tgl_lahir)

MataKul (kd_mk, nama_mk, sks)

File MataKuliah : MataKul (kd_mk, nama, sks)

Sebelumnya, sistem yang digunakan untuk mengatasi semua permasalahan bisnis,

menggunakan pengelolaan data secara tradisional dengan cara menyimpan record-record

pada file-file yang terpisah, yang disebut juga sistem pemrosesan file. Dimana masing-

masing file diperuntukkan hanya untuk satu program aplikasi saja

Kelemahannya dari sistem pemrosesan file ini antara lain :

1. Timbulnya data rangkap (redundancy data) dan Ketidakkonsistensi data

(Inconsistency data)

Karena file-file dan program aplikasi disusun oleh programmer yang berbeda,

sejumlah informasi mungkin memiliki duplikasi dalam beberapa file. Sebagai contoh

Page 3: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 3 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

nama mata kuliah dan sks dari mahasiswa dapat muncul pada suatu file memiliki

record-record mahasiswa dan juga pada suatu file yang terdiri dari record-record

mata kuliah. Kerangkapan data seperti ini dapat menyebabkan pemborosan tempat

penyimpanan dan biaya akases yang bertambah. Disamping itu dapat terjadi

inkonsistensi data. Misalnya, apabila terjadi perubahan jumlah sks mata kuliah,

sedangkan perubahan hanya diperbaiki pada file mata kuliah dan tidak diperbaiki

pada file mahasiswa. Hal ini dapat mengakibatkan kesalahan dalam laporan nilai

mahasiswa.

2. Kesukaran dalam Mengakses Data

Munculnya permintaan-permintaan baru yang tidak diantisipasikan sewaktu

membuat program aplikasi, sehingga tidak memungkinkan untuk pengambilan

data.

3. Data terisolir (Isolation Data)

Karena data tersebar dalam berbagai file, dan file-file mungkin dalam format - format

yang berbeda, akan sulit menuliskan program aplikasi baru untuk mengambil data

yang sesuai.

4. Masalah Pengamanan ( Security Problem )

Tidak semua pemakai diperbolehkan mengakses seluruh data. Bagian Mahasiswa

hanya boleh mengakses file mahasiswa. Bagian Mata kuliah hanya boleh

mengakses file mata kuliah, tidak boleh mengakses file mahasiswa. Tetapi sejak

program-program aplikasi ditambahkan secara ad-hoc maka sulit melaksanakan

pengamanan seperti yang diharapkan.

5. Data Dependence

Apabila terjadi perubahan atau kesalahan pada program aplikasi maka pemakai tidak

dapat mengakses data.

Page 4: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 4 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

File dan Database

• File: suatu kumpulan record atau dokumen tentang suatu organisasi, orang, wilayah

atau obyek

– Berkas kertas

– File komputer

• Database System Management: suatu kumpulan record data operasional yang

memiliki hubungan di antaranya dan diorganisasikan dg mempergunakan metode

dan struktur data tertentu untuk tujuan pendukung pengambilan keputusan suatu

perusahaan/enterprise

Data Personalia, Data Bisnis, Data grafis, dsb

Pengertian Database :

Menurut (C.J Date)

Database adalah suatu koleksi berisi data operasional yang digunakan oleh sistem-sistem

aplikasi suatu perusahaan/organi-sasi

– Database dokumen/kertas

• Sebagian besar informasi di dunia ini masih tersimpan di dalamnya

– Sistem Pengolahan Data Berbasis File

• Mempelopori sistem pengolahan data secara batch untuk (terutama)

bisnis

– Database Management System (DBMS)

• Sistem perangkat lunak untuk mendefinisikan, menciptakan,

menyimpan database serta menyediakan akses ke database dan

repositorynya.

Page 5: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 5 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Aspek

Komputerisasi :

• Hardware

• Software

• Data

Kebutuhan Informasi

• Programmer Aplikasi

• Pemakai

• Administrator DB

Software

Menyediakan Fasilitas :

• Creating Files

• Inserting Data

• Retrieving Data

• Deleting Data

• Security Control

• Integrity Control

• Recovery Control

• Dll

Page 6: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 6 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Users :

• Database Administrator

• Programmer Aplikasi

• End-User

Komponen Sistem Database

Data :

Data Harus bersifat :

• Shared

• Integrated

Hadware :

• Secondary storage volume

• I/O Device

• Device Controllers

• I/O Channel

• Database Machine

Page 7: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 7 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Gambaran Keseluruhan dari Komponen Sistem Database

A1, A2, An = Application Program

Keuntungan Sistem Database

1. Mengurangi Redudansi

Data yang sama pada beberapa aplikasi cukup disimpan sekali saja

2. Integrity

Data yang tersimpan secara akurat

3. Menghindarkan Inkonsisten

Karena redudansi berkurang, sehingga umumnya Update hanya sekali

4. Penggunaan data bersamaan

Data yang sama dapat diakses oleh beberapa User pada saat bersamaan

5. Standarisasi

Page 8: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 8 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Menyangkut keseragaman penyajian data

6. Jaminan Sekuriti

Data hanya dapat diakses oleh yang berhak

7. Meyeimbangkan kebutuhan

Dapat ditentukan prioritas suatu operasi, missal antara update dengan

retrival

Kerugian Sistem Database

1. Diperlukannya Hardware tambahan

a. CPU yang lebih kuat

b. Terminal yang lebih banyak

c. Alat untuk komunikasi

2. Biaya performance yang lebih besar

a. Listrik

b. Personil yang lebih tinggi klasivikasinya

c. Biaya telekomunikasi antar lokasi / kota

3. Sistem tampak lebih komplek

a. Banyaknya aspek yang harus diperhatikan

4. Rawannya keberhasilan operasi

Karena :

a. Gangguan Listrik

b. Gangguan Komunikasi

Page 9: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 9 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Repository Data

- Juga dikenal sbg Data Dictionary/Directory

- Menyimpan semua metadata untuk suatu database

- Metadata termasuk informasi tentang hubungan antar file-file atau tabel-tabel dalam

database tersebut.

Metadata

o Data tentang data

▪ Dalam hubungannya dengan DBMS, yaitu segala karakteristik yang

mendeskripsikan atribut-atribut dari suatu entity, misalnya:

• nama atribut

• tipe datanya

• besarnya (jumlah karakter/digit) nilai atribut

• formatnya atau karakteristik khusus lainnya

o Karakteristik dari file-file/tabel-tabel termasuk hubungan di antaranya.

nama, isi, catatan, dsb

Page 10: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 10 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Dari mana datangnya DBMS?

• Sejarah

– Tahun 50an dan 60an semua aplikasi komputer dirancang khusus untuk

keperluan-keperluan spesifik.

– Umumnya berbasis file

– Berbagai aplikasi serupa/berhubungan menggunakan koleksi data bisnis

yang sama

– Fasilitas DBMS awal adalah bagian dari bahasa pemrograman

– 1970 - E.F. Codd memperkenalkan Model Data Relational

– 1979 - Ashton-Tate menciptakan DBMS pertama untuk PC (komputer mikro)

Page 11: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

MODUL PERKULIAHAN

Perancangan Basis Data

Pengantar Data Warehouse dan Data Mining

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

Fakultas Ilmu Komputer

Teknik Informatika

02 87012 Tim Dosen.

Abstract Kompetensi

Penjelasan tentang data warehouse dan data mining

Mahasiswa dapat memahami konsep dari data warehouse dan data mining

Page 12: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 2 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Pengantar Data Warehouse & Data Mining

Salah satu efek yang dihasilkan dari adanya suatu sistem informasi adalah munculnya

banyak data. Data yang ada ini berasal dari sistem operasional yang berfungsi untuk

menangani transaksi yang terkait dengan proses bisnis yang ditangani oleh sistem informasi

tersebut.

Contoh: sistem informasi presensi karyawan memunculkan data jumlah kehadiran kehadiran

karyawan setiap hari dengan data yang disimpan tergantung pada apa yang dibutuhkan oleh

sistem informasi tersebut (misalkan: nomor induk pegawai, jam masuk, pintu masuk, dsb.).

Bayangkanlah sistem informasi ini dipakai di perusahaan yang jumlah karyawannya

sebanyak 1000 orang. Apabila data ini dipakai selama seminggu masa kerja saja (5 hari),

maka data yang masuk dalam basis data ada 1000 x 5 = 5000 baris. Anda tinggal kalikan

saja apabila ingin menghitung jumlah data yang disimpan selama seminggu waktu

operasional, sebulan, hingga setahun. Itu baru satu sistem informasi saja. Di korporasi yang

besar sistem informasi yang ada berjumlah banyak dengan berbagai fungsi dan tujuannya.

Akhirnya masalah berikutnya muncul.

Data warehouse adalah data-data yang beorientasi subjek, terintegrasi, memiliki dimensi

waktu, serta merupakan koleksi tetap (non-volatile), yang digunakan dalam mendukung

proses pengambilan keputusan. Sedangkan data mining muncul setelah banyak dari pemilik

data baik perorangan maupun organisasi mengalami penumpukan data yang telah

terkumpul selama beberapa tahun, misalnya data pembelian, data penjualan, data nasabah,

data transaksi, email dan sebagainya. Kemudian muncul pertanyaan dari pemilik data

tersebut, apa yang harus dilakukan terhadap tumpukan data tersebut.

Data mining merupakan prinsip dasar dalam mengurutkan data dalam jumlah yang sangat

banyak dan mengambil informasi – informasi yang berkaitan dengan apa yang diperlukan

seperti apa yang biasa dilakukan oleh seorang analis. Dengan bertambah banyaknya jumlah

data yang ada dalam model bisnis yang kita lakukan dalam perusahaan ini, maka peran

analis untuk menganalisa data secara manual perlu digantikan dengan aplikasi yang

berbasis komputer yang dapat menganalisa data secara otomatis menggunakan alat yang

lebih kompleks dan canggih.

Page 13: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 3 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Data warehouse adalah database yang berisi data dari beberapa system operasional yang

terintegrasi dan terstruktur sehingga dapat digunakan untuk mendukung analisa dan proses

pengambilan keputusan dalam bisnis.

Data warehouse didesain untuk kita bisa melakukan query secara cepat. Informasi

diturunkan dari data lain, dilakukan rolling up untuk dijadikan ringkasan, dilakukan operasi

drilling down untuk mendapatkan informasi lebih detail, atau melihat pola yang menarik atau

melihat trend (kecenderungan).

Ada empat tugas yang bisa dilakukan dengan adanya data warehouse

1. Pembuatan laporan

Pembuatan laporan merupakan salah satu kegunaan data warehouse yang paling umum

dilakukan. Dengan menggunakan query sederhana didapatkan laporan perhari, perbulan,

pertahun atau jangka waktu kapanpun yang diinginkan.

2. On-Line Analytical Processing (OLAP)

OLAP mendayagunakan konsep data multi dimensi dan memungkinkan para pemakai

menganalisa data sampai mendetail, tanpa mengetikkan satupun perintah SQL. Hal ini

dimungkinkan karena pada konsep multi dimensi, maka data yang berupa fakta yang sama

bisa dilihat dengan menggunakan fungsi yang berbeda. Fasilitas lain yang ada pada sofware

OLAP adalah fasilitas rool-up dan drill-down. Drill-down adalah kemampuan untuk melihat

detail dari suatu informasi dan roll-up adalah kebalikannya.

3. Data mining

Data mining merupakan proses untuk menggali pengetahuan dan informasi baru dari data

yang berjumlah banyak pada data warehouse, dengan menggunakan kecerdasan buatan

(Artificial Intelegence), statistik dan matematika. Data mining merupakan teknologi yang

diharapkan dapat menjembatani komunikasi antara data dan pemakainya.

Page 14: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 4 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Beberapa solusi yang diberikan data mining antara lain :

Menebak target pasar

Data mining dapat mengelompokkan (clustering) model-model pembeli dan melakukan

klasifikasi terhadap setiap pembeli dan melakukan klasifikasi terhadap setiap pemebeli

sesuai dengan karakteristik yang diinginkan.

Melihat pola beli dari waktu ke waktu

Data mining dapat digunakan untuk melihat pola beli dari waktu ke waktu.

cross-market analysis

Data mining dapat dimanfaatkan untuk melihat hubungan antara satu produk dengan produk

lainnya.

Profil pelanggan

Data mining bisa membantu pengguna untuk melihat profil pembeli sehingga dapat diketahui

kelompok pembeli tertentu cenderung kepada suatu produk apa saja.

Informasi summary

Data mining dapat membuat laporan summary yang bersifat multi dimensi dan dilengkapi

dengan informasi statistik lainnya.

4. Proses informasi executive

Data warehouse dapat membuat ringkasan informasi yang penting dengan tujuan membuat

keputusan bisnis, tanpa harus menjelajahi keseluruhan data. Dengan menggunakan data

warehouse segala laporan telah diringkas dan dapat pula mengetahui segala rinciannya

secara lengkap, sehingga mempermudah proses pengambilan keputusan. Informasi dan

data pada laporan data warehouse menjadi target informative bagi user.

Page 15: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 5 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Karakteristik Data Warehouse

1. Subject Oriented (Berorientasi subject)

Data warehouse berorientasi subject artinya data warehouse didesain untuk menganalisa

data berdasarkan subject-subject tertentu dalam organisasi,bukan pada proses atau fungsi

aplikasi tertentu. Data warehouse diorganisasikan disekitar subjek-subjek utama dari

perusahaan(customers,products dan sales) dan tidak diorganisasikan pada area-area

aplikasi utama(customer invoicing,stock control dan product sales). Hal ini dikarenakan

kebutuhan dari data warehouse untuk menyimpan data-data yang bersifat sebagai

penunjang suatu keputusan, dari pada aplikasi yang berorientasi terhadap data.

Jadi dengan kata lain, data yang disimpan adalah berorientasi kepada subjek bukan

terhadap proses. Secara garis besar perbedaan antara data operasional dan data

warehouse yaitu :

Data Operasional Data Warehouse

Dirancang berorientasi hanya pada aplikasi

dan fungsi tertentu

Dirancang berdasar pada subjek-subjek

tertentu(utama)

Focusnya pada desain database dan

proses

Focusnya pada pemodelan data dan

desain data

Berisi rincian atau detail data Berisi data-data history yang akan dipakai

dalam proses analisis

Relasi antar table berdasar aturan

terkini(selalu mengikuti rule(aturan)

terbaru)

Banyak aturan bisnis dapat tersaji antara

tabel-tabel

Page 16: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 6 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

2. Integrated (Terintegrasi)

Data Warehouse dapat menyimpan data-data yang berasal dari sumber-sumber yang

terpisah kedalam suatu format yang konsisten dan saling terintegrasi satu dengan lainnya.

Dengan demikian data tidak bisa dipecah-pecah karena data yang ada merupakan suatu

kesatuan yang menunjang keseluruhan konsep data warehouse itu sendiri.

Syarat integrasi sumber data dapat dipenuhi dengan berbagai cara sepeti konsisten dalam

penamaan variable,konsisten dalam ukuran variable,konsisten dalam struktur pengkodean

dan konsisten dalam atribut fisik dari data.

Contoh pada lingkungan operasional terdapat berbagai macam aplikasi yang mungkin pula

dibuat oleh developer yang berbeda. Oleh karena itu, mungkin dalam aplikasi-aplikasi

tersebut ada variable yang memiliki maksud yang sama tetapi nama dan format nya

berbeda. Variable tersebut harus dikonversi menjadi nama yang sama dan format yang

disepakati bersama. Dengan demikian tidak ada lagi kerancuan karena perbedaan nama,

format dan lain sebagainya. Barulah data tersebut bisa dikategorikan sebagai data yang

terintegrasi karena kekonsistenannya.

3. Time-variant (Rentang Waktu)

Seluruh data pada data warehouse dapat dikatakan akurat atau valid pada rentang waktu

tertentu. Untuk melihat interval waktu yang digunakan dalam mengukur keakuratan suatu

data warehouse, kita dapat menggunakan cara antara lain :

Cara yang paling sederhana adalah menyajikan data warehouse pada rentang waktu

tertentu, misalnya antara 5 sampai 10 tahun ke depan.

Cara yang kedua, dengan menggunakan variasi/perbedaan waktu yang disajikan dalam

data warehouse baik implicit maupun explicit secara explicit dengan unsur waktu dalam hari,

minggu, bulan dsb. Secara implicit misalnya pada saat data tersebut diduplikasi pada setiap

akhir bulan, atau per tiga bulan. Unsur waktu akan tetap ada secara implisit didalam data

tersebut.

Cara yang ketiga,variasi waktu yang disajikan data warehouse melalui serangkaian

snapshot yang panjang. Snapshot merupakan tampilan dari sebagian data tertentu sesuai

keinginan pemakai dari keseluruhan data yang ada bersifat read-only.

Page 17: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 7 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

4. Non-Volatile

Karakteristik keempat dari data warehouse adalah non-volatile,maksudnya data pada data

warehouse tidak di-update secara real time tetapi di refresh dari sistem operasional secara

reguler. Data yang baru selalu ditambahkan sebagai suplemen bagi database itu sendiri

dari pada sebagai sebuah perubahan. Database tersebut secara kontinyu menyerap data

baru ini, kemudian secara incremental disatukan dengan data sebelumnya.

Berbeda dengan database operasional yang dapat melakukan update,insert dan delete

terhadap data yang mengubah isi dari database sedangkan pada data warehouse hanya

ada dua kegiatan memanipulasi data yaitu loading data (mengambil data) dan akses data

(mengakses data warehouse seperti melakukan query atau menampilan laporan yang

dibutuhkan, tidak ada kegiatan updating data).

Peranan Penting OLTP VS OLAP dalam Data

Warehouse

OLTP (Online Transactional Processing / OLTP)

Sistem informasi adalah sekumpulan fungsi yang bekerja secara bersama-sama dalam

mengelola, mengumpulkan, menyimpan, memproses serta mendistribusikan informasi.

Dalam dunia kerja mengolah sistem informasi harus dibuat semudah mungkin, sehingga

user dapat menggunakan hasil dari sistem informasi secara mudah. Untuk itu, sistem

informasi haruslah efisien, transparan dan terintegarsi. Untuk megolah suatu sistem

informasi dibutuhkan salah satu komponen yaitu sistem informasi manajemen yang berbasis

komputer yang dinamakan sistem basis data (database).

Sistem basis data mempunyai peran penting sebagai tempat pusat penyimpanan data yang

mendukung kegiatan operasional (Online Transactional Processing / OLTP).

Page 18: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 8 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Ciri-ciri umum sistem OLTP adalah :

Mendukung jumlah pengguna yang banyak yang sering menambah dan merubah data

transaksi

Mengandung data dalam jumlah besar, termasuk di dalamnya validasi data transaksi

Memiliki struktur yang kompleks dan rumit

Diarahkan secara maksimal untuk melayani aktivitas transaksi harian

Menyediakan teknologi infrastruktur yang mendukung operasional transaksi data dalam

perusahaan

Sebuah sistem OLTP yang umum memiliki karakteristik seperti jumlah user yang sangat

banyak yang secara serentak mengolah dan menambah data. Dalam hal ini, apabila banyak

user yang melakukan pengolahan dan penambahan data akan membebani program, saat

database berkembang semakin banyak dan kompleks, waktu respon akan semakin

berkurang disebabkan bertumpuknya pemakaian sumber daya yang tersedia, sehingga

untuk membuat suatu keputusan sangatlah susah dan membutuhkan waktu yang lama dan

untuk membuat query satu persatu pada sumber data tidak praktis dan efisien, apalagi

sumber data yang ada menyimpan current (arus data), sedangkan data yang dibutuhkan

oleh para pembuat keputusan adalah data-data historis. Sebagai contoh data histori

dibutuhkan pada pembuatan informasi mengenai transaksi setoran/tarikan dengan nominal

tertentu per bulan per cabang, besaran rata-rata transaki per cabang per bulan, transaksi

yang di-reverse, dan lain-lain. Dengan adanya masalah diatas maka data warehouse

mempunyai solusi dalam mengolah data historis dari berbagai sumber data tersebut.

Data warehouse menyediakan sebuah interface gabungan terhadap data, sehingga query-

query pendukung keputusan mudah ditulis. Data warehouse juga dapat menyimpan sumber

data yang heterogen (data yang tersebar pada database Online Transactional Processing)

dipindahkan ke data yang homogen, sehinggga dengan kemampuan akses data warehouse

maka upaya untuk pendukung keputusan dapat diakses dengan cepat, efisien dan akurat.

Hal penting untuk menjaga Data Warehouse adalah dengan selalu memantau kekinian data

yang tersimpan, dengan membuat katalog data dan disimpan secara terpisah dalam suatu

sistem repositori meta data yang menyimpan informasi sumber data terkini.

Page 19: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 9 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

OLAP (OnLine Analytical Processing)

OLAP (OnLine Analytical Processing) adalah jenis perangkat lunak yang digunakan untuk

melakukan permintaan terhadap data dalam bentuk yang kompleks dan bersifat sementara

serta sewaktu-waktu.

OLAP memanipulasi dan menganalisis data bervolume besar dari berbagai perspektif

(multidimensi). Oleh karena itu OLAP seringkali disebut analisis data multidimensi.

OLAP bekerja dengan data dalam bentuk multidimensi. Yang umum, bentuk tiga dimensi

diwujudkan ke dalam bentuk kubus data.

Tujuan OLAP adalah menggunakan informasi dalam sebuah basis data (data warehouse)

untuk memandu keputusan-keputusan yang strategic. Beberapa contoh permintaan yang

ditangani oleh OLAP:

• Berapa jumlah penjualan dalam kuartal pertama?

• Berapa jumlah penjualan per kuartal untuk masing-masing kota?

• Tampilkan 5 produk dengan total penjualan tertinggi pada kuartal pertama.

Kadangkala permintaan yang ditangani OLAP bisa diselesaikan dengan pernyataan SQL

sederhana, tetapi dalam banyak kasus tidak dapat diekspresikan dengan SQL. OLAP dapat

digunakan untuk melakukan konsolidasi, drill-down, dan slicing and dicing. Di bawah ini

adalah kegunaan dari konsolidasi, drill-down, dan slicing and dicing yaitu:

Konsolidasi

melibatkan pengelompokan data. Sebagai contoh kantor-kantor cabang dapat

dikelompokkan menurut kota atau bahkan propinsi. Transaksi penjualan dapat ditinjau

menurut tahun, triwulan, bulan, dan sebagainya. Kadangkala istilah rollup digunakan untuk

menyatakan konsolidasi.

Page 20: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 10 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Drill-down

Drill-down adalah suatu bentuk yang merupakan kebalikan dari konsolidasi, yang

memungkinkan data yang ringkas dijabarkan menjadi data yang lebih detail. Sebagai

contoh, mula-mula data yang tersaji didasarkan pada kuartal pertama. Jika dikehendaki,

data masing-masing bulan pada kuartal pertama tersebut bisa diperoleh, sehingga akan

tersaji data bulan Januari, Februari, Maret, dan April.

Slicing and dicing (atau dikenal dengan istilah pivoting)

Untuk menjabarkan pada kemampuan untuk melihat data dari berbagai sudut pandang.

Data dapat diiris-iris atau dipotong-potong berdasarkan kebutuhan. Sebagai contoh, dapat

diperoleh data penjualan berdasarkan semua lokasi atau hanya pada lokasi-lokasi tertentu.

Adapun karakterisik aplikasi-aplikasi OLAP:

permintaan data sangat kompleks,

jarang ada pemutakhiran, dan

transaksi mengakses banyak bagian dalam basis

data.

Contoh perangkat lunak OLAP:

Express Server (Oracle)

PowerPlay (Cognos Software)

Metacube (Informix/Stanford Technology Group)

Sistem OLAP pada masa awal menggunakan larik multidimensi di dalam memori untuk

menyimpan data kubus. Sistem seperti ini disebut MOLAP (Multidimensional OLAP). Pada

perkembangan selanjutnya, data disimpan dalam bentuk basis data relasional. Sistem OLAP

seperti ini dikenal dengan sebutan ROLAP (Relational OLAP), selain MOLAP dan ROLAP,

terdapat pula sistem yang dinamakan 1iybrid OLAP (HOLAP), yaitu sistem OLAP yang

menyimpan beberapa ringkasan dalam memori dan menyimpan basis data dan ringkasan-

ringkasan yang lain dalam basis data relasional.

Page 21: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 11 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Keuntungan Data Warehouse

Data warehouse merupakan pendekatan untuk menyimpan data dimana sumber-sumber

data yang heterogen(yang biasanya tersebar pada beberapa database (OLTP) dimigrasikan

untuk penyimpanan data yang homogen dan terpisah. Keuntungan dengan menggunakan

data warehouse adalah :

Data diorganisir dengan baik untuk query analisis dan sebagai bahan untuk pemrosesan

transaksi.

Perbedaan diantara struktur data yang heterogen pada beberapa sumber yang terpisah

dapat diatasi.

Aturan untuk transformasi data diterapkan untuk memvalidasi dan mengkonsolidasi data

apabila data dipindahkan dari database OLTP ke data warehouse.

Masalah keamanan dan kinerja bisa dipecahkan tanpa perlu mengubah sistem produksi.

MOTIVASI DATA WAREHOUSE

Tekanan terhadap database OLTP untuk proses query terlalu besar

Data warehousing didisain untuk proses pengambilan yang efesien

Data pada sistem yang berbeda-beda umumnya tidak konsisten, kualitasnya buruk dan

disimpan di dalam format yang berbeda

Mengurangi biaya dalam menyediakan data untuk keperluan pengambilan keputusan

Mendukung untuk memfokuskan diri pada proses bisnis lengkap

Mendukung inisiatif baru

Sumber-sumber industri menyebutkan bahwa ROI berjumlah rata-rata 401% dalam tiga

tahun

Tetap kompetitif

Proses Data Warehouse

Salah satu tuntutan dari data mining ketika diterapkan pada data berskala besar adalah

diperlukan metodologi sistematis tidak hanya ketika melakukan analisa saja tetapi juga

ketika mempersiapkan data dan juga melakukan interpretasi dari hasilnya sehingga dapat

menjadi aksi ataupun keputusan yang bermanfaat.

Karenanya data warehouse seharusnya dipahami sebagai suatu proses, yang memiliki

tahapan-tahapan tertentu dan juga ada umpan balik dari setiap tahapan ke tahapan

sebelumnya. Pada umumnya proses data mining berjalan interaktif karena tidak jarang hasil

Page 22: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 12 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

data mining pada awalnya tidak sesuai dengan harapan analisnya sehingga perlu dilakukan

desain ulang prosesnya

Page 23: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

MODUL PERKULIAHAN

Perancangan Basis Data

Lingkungan Basis Data

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

Fakultas Ilmu Komputer

Teknik Informatika

03 87012 Tim Dosen.

Abstract Kompetensi

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

Memahami tiga tingkatan arsitektur database

Page 24: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 2 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Lingkungan basis data

Tujuan utama dari sistem basis data adalah menyediakan pemakai melalui suatu

pandangan abstrak mengenai data, dengan menyembunyikan detail dari bagaimana data

disimpan dan dimanipulasikan. Oleh karena itu, titik awal untuk perancangan sebuah basis

data haruslah abstrak dan deskripsi umum dari kebutuhan-kebutuhan informasi suatu

organisasi harus digambarkan di dalam basis data.

Lebih jauh lagi, jika sebuah basis data merupakan suatu sumber yang bisa digunakan

bersama maka setiap pemakai membutuhkan pandangan yang berbeda-beda terhadap data

di dalam basis data. Untuk memenuhi kebutuhan ini, arsitektur komersial basis data yang

banyak digunakan telah tersedia saat ini dan telah mengalami perluasan yaitu arsitektur

ANSI-SPARC.

Materi ini menyediakan latar belakan informasi yang penting pada basis data, diantaranya

tiga tingkatan arsitektur ANSI-SPARC, pengenalan model data, fungsi yang disediakan oleh

DBMS multi user.

Tiga Tingkatan Arsitektur Basis data ANSI-SPARC

Ada 3 tingkat dalam arsitektur basis data yang bertujuan membedakan cara pandang

pemakai terhadap basis data dan cara pembuatan basis data secara fisik.

3 tingkatan arsitektur basis data :

1. Tingkat Eksternal (External Level)

Tingkat eksternal merupakan cara pandang pemakai terhadap basis data. Pada tingkat ini

menggambarkan bagian basis data yang relevan bagi seorang pemakai tertentu. Tingkat

eksternal terdiri dari sejumlah cara pandang yang berbeda dari sebuah basis data. Masing-

masing pemakai merepresentasikan dalam bentuk yang sudah dikenalnya. Cara pandang

secara eksternal hanya terbatas pada entitas, atribut dan hubungan antar entitas

(relationship) yang diperlukan saja.

2. Tingkat Konseptual (Conseptual Level)

Tingkat konseptual merupakan kumpulan cara pandang terhadap basis data. Pada tingkat

ini menggambarkan data yang disimpan dalam basis data dan hubungan antara datanya.

Hal-hal yang digambarkan dalam tingkat konseptual adalah :

- semua entitas beserta atribut dan hubungannya

Page 25: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 3 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

- batasan data

- informasi semantik tentang data

- keamanan dan integritas informasi

Semua cara pandang pada tingkat eksternal berupa data yang dibutuhkan oleh pemakai

harus sudah tercakup di dalam tingkat konseptual atau dapat diturunkan dari data yang ada.

Deskripsi data dari entitas pada tingkat ini hanya terdiri dari jenis data dan besarnya atribut

tanpa memperhatikan besarnya penyimpanan dalam ukuran byte.

3. Tingkat Internal (Internal Level)

Tingkat internal merupakan perwujudan basis data dalam komputer. Pada tingkat ini

menggambarkan bagaimana basis data disimpan secara fisik di dalam peralatan storage

yang berkaitan erat dengan tempat penyimpanan / physical storage.

Tingkat internal memperhatikan hal-hal berikut ini :

- alokasi ruang penyimpanan data dan indeks

- deskripsi record untuk penyimpanan (dengan ukuran penyimpanan untuk data elemen

- penempatan record

- pemampatan data dan teknik encryption

Berikut adalah gambar tiga level arsitektur system basis data :

Tiga level arsitektur system basis data

Page 26: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 4 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

External Level /View Level

Adalah level user. Yang dimaksud dengan user adalah programmer, end user atau

DBA. Setiap user mempunyai ‘bahasa’ yang sesuai dengan kebutuhannya.

- programmer : bahasa yang digunakan adalah bahasa pemrograman seperti C, COBOL,

atau PL/I dan lain-lain.

- end user : bahasa yang digunakan adalah bahasa query atau menggunakan fasilitas yang

tersedia pada program aplikasi pada level eksternal ini, user dibatasi pada kemampuan

perangkat keras dan perangkat lunak yang digunakan aplikasi basis data. Didefinisikan

sebagai sebuah Skema Eksternal.

Conceptual Level / Logical level

Conceptual level adalah sebuah representasi seluruh muatan informasi yang dikandung oleh

basis data. Tidak seperti level eksternal maka pada level conceptual, keberadaannya tidak

memperhitungkan kekurangan perangkat keras maupun perangkat lunak pembangun

aplikasi basis data. Didefinisikan sebagai sebuah Skema Konseptual

Internal/Physical Level

Adalah level terendah untuk merepresentasikan basis data. Record disimpan dalam media

penyimpanan dalam format byte. Didefinisikan sebagai sebuah Skema Internal.

Contoh dalam sebuah basis data pegawai, ketiga level digambarkan sebagai berikut :

- Pada level konseptual, basis data mengandung informasi tentang sebuah entity yang

disebut EMPLOYEE. Setiap EMPLOYEE mempunyai sebuah EMP_NUMBER (6 karakter),

DEP_NUMBER(4 karakter) & SALARY (5 digit desimal).

- Pada level internal, para pegawai direpresentasikan oleh STRORED_EMP, panjang 20

byte. STORED_EMP terdiri atas 4 field yaitu flag/pointer, 6 byte, tiga field untuk atribut

pegawai.

- User yang menggunakan PL/I mempunyai sisi pandang level eksternal dimana pegawai

direpresentasikan dalam sebuah record yang ditulis dengan sintaks PL/I

Page 27: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 5 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

- Demikianlah pula user yang menggunakan COBOL mempunyai sisi pandang level

eksternal dimana pegawai direpresentasikan dalam sebuah record yang ditulis dengan

sintaks COBOL.

Data Independence

Tujuan utama dari 3 tingkat arsitektur adalah memelihara kemandirian data (data

independence) yang berarti perubahan yang terjadi pada tingkat yang lebih rendah tidak

mempengaruhi tingkat yang lebih tinggi.

Ada 2 jenis data independence, yaitu

1. Physical Data Independence

bahwa internal schema dapat diubah oleh DBA tanpa menggangu conceptual schema.

Dengan kata lain physical data independence menunjukkan kekebalan conceptual schema

terhadap perubahan internal schema.

2. Logical Data Independence

bahwa conceptual schema dapat diubah oleh DBA tanpa menggangu external schema.

Dengan kata lain logical data independence menunjukkan kekebalan external schema

terhadap perubahan conceptual schema.

Prinsip data independence adalah salah satu hal yang harus diterapkan di dalam

pengelolaan sistem basis data dengan alasan-alasan sbb :

1. DBA dapat mengubah isi, lokasi, perwujudan dalam organisasi basis data tanpa

mengganggu program-program aplikasi yang sudah ada.

2. Pabrik / agen peralatan / software pengolahan data dapat memperkenalkan

produk-produk baru tanpa mengganggu program-program aplikasi yang sudah ada.

3. Untuk memindahkan perkembangan program-program aplikasi

4. Memberikan fasilitas pengontrolan terpusat oleh DBA demi keamanan dan integritas data

dengan memperhatikan perubahan-perubahan kebutuhan pengguna.

• Pemisahan antara representasi fisik, lokasi, dan penggunaan data

– Aplikasi tidak perlu tahu bagaimana dan di mana database menyimpan data,

hanya bagaimana mengaksesnya.

Page 28: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 6 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

– Pemindahan database dari satu DBMS ke DBMS lain tidak berpengaruh besar

pada program aplikasi

– Pengubahan nilai, penambahan atribut (field), dsb pada database

tidak mempengaruhi aplikasi yang menggunakannya.

Data Dependent

berarti :

• Sulit mengubah storage structure atau strategi access tanpa harus mengubahprogram aplikasi.

Dua alasan data dependent harus dihindari :

• Beberapa aplikasi memerlukan sejumlah penampilan data yang berbeda atas data yang sama.

• Database administrator (DBA) harus memiliki kebebasan mengubah “storage structure” atau “access strategy”.

Kemungkinan perubahan storage structure.

• Penyajian data numerik * Basis ( Binari, Desimal ) * Scale ( Fixed, Floating Point) * Mode ( Real, Complex )

• Penyajian data character * ASCII atau EBCDIC

• Unit data numerik

• Data Coding

• Struktur “stored record”

Misalnya : Struktur 2 ( dua ) record dilebur atau kebalikannya.

• Struktur dari “stored files”

Page 29: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 7 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Lingkungan Database

Komponen Database

Page 30: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 8 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Bahasa Dalam DBMS

DBMS (Database Management systems) adalah kumpulan program yang

mengkoordinasikan semua kegiatan yang berhubungan dengan basis data. Dengan adanya

berbagai tingkatan pandangan dalam suatu basis data maka untuk mengakomodasikan

masing-masing pengguna dalam piranti lunak manajemen basis data biasanya terdapat

bahasa-bahasa tertentu yang disebut Data Sub language

Data sub language adalah subset bahasa yang dipakai untuk operasi manajemen basis

data. Dalam penggunaan biasanya dapat ditempelkan (embedded) pada bahasa tuan rumah

(Cobol, PL/1, dsb). Secara umum maka setiap pengguna basis data memerlukan bahasa

yang dipakai sesuai tugas dan fungsinya.

Dalam basis data secara umum dikenal 2 data sub language :

1. Data Definition Language (DDL)

Bahasa yang digunakan dalam mendefinisikan struktur atau kerangka dari basis data, di

dalamnya termasuk record, elemen data, kunci elemen, dan relasinya

2. Data Manipulation Language (DML)

Bahasa yang digunakan untuk menjabarkan pemrosesan dari basis data, fasilitas ini

diperlukan untuk memasukkan, mengambil, mengubah data. DML dipakai untuk operasi

terhadap isi basis data

Ada 2 jenis DML :

1. Procedural DML

Digunakan untuk mendefinisikan data yang diolah dan perintah yang akan

dilaksanakan.

2. Non Procedural

Digunakan untuk menjabarkan data yang diinginkan tanpa menyebutkan bagaimana

cara pengambilannya.

Secara khusus pengguna menggunakan berbagai bahasa :

Programmer aplikasi menggunakan bahasa-bahasa seperti Cobol, Informix, dll (host

language) yang ditempelkan dengan bahasa yang dipakai dalam DBMS. Pemakai terminal

menggunakan bahasa Query (misal SQL) atau menggunakan program aplikasi (yang

dirancang oleh programmer). Sedangkan DBA lebih banyak menggunakan bahasa DDL dan

DML yang tersedia dalam DBMS.

DBMS mempunyai tugas untuk menangani semua bentuk akses kepada basis data, secara

konsep :

Page 31: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 9 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

1. Pengguna menyatakan permintaan akses menggunakan DBMS

2. DBMS menangkap dan menginterpretasikan

3. DBMS mencari :

- eksternal / conceptual mapping- conceptual schema - konseptual / internal mapping - internal schema

4. DBMS melaksanakan operasi yang diminta terhadap basis data tersimpan.Proses 1 s/d 4 dapat dilakukan secara interactive atau dicompile dulu.

Model Data

Model data adalah kumpulan konsep yang terintegrasi yang menggambarkan data,

hubungan antara data dan batasan-batasan data dalam suatu organisasi. Fungsi dari

sebuah model data untuk merepresentasikan data sehingga data tersebut mudah dipahami.

Untuk menggambarkan data pada tingkat eksternal dan konseptual digunakan model data

berbasis objek atau model data berbasis record.

atribut

entitas

MKUL

KD_MK MT_KULIAH SKS

KK-021 Peng. Basis Data 2

KD-132 SIM 3

KU-122 Pancasila 2

1. Model Data Berbasis Objek

Model data berbasis objek menggunakan konsep entitas, atribut dan hubungan antar

entitas. Beberapa jenis model data berbasis objek yang umum adalah :

- entity-relationship

- semantic

- functional

- object-oriented

Page 32: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 10 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

2. Model Data Berbasis Record

Pada model data berbasis record, basis data terdiri dari sejumlah record dalam bentuk yang

tetap yang dapat dibedakan dari bentuknya. Ada 3 macam jenis model data berbasis record

yaitu :

- model data relasional (relational)

- model data hierarkhi (hierarchical)

- model data jaringan (network)

Page 33: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

MODUL PERKULIAHAN

Perancangan Basis Data

Konfigurasi Database & Fungsi DBMS

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

Fakultas Ilmu Komputer

Teknik Informatika

04 87012 Tim Dosen.

Abstract Kompetensi

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

Memahami tiga tingkatan arsitektur database

Page 34: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 2 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Konfigurasi Database

Konfigurasi Database

• Database untuk PC

• Access

• FoxPro

• Dbase III

• Oracle

• Etc.

• Database terpusat (centralized)

Page 35: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 3 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

• Database client/server (2-tier)

• Database tersebar (distributed)

Model homogen

Page 36: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 4 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Model Heterogen

Aplikasi Database

Suatu program aplikasi (atau sekumpulan program yang saling berhubungan) yang

digunakan untuk melakukan serentetan aktifitas database:

– Tulis (Create/Write)

– Baca (Read)

– Ubah (Update)

– Hapus (Delete)

untuk keperluan pengguna database.

Skala Aplikasi Database

• Database untuk PC

– Untuk perorangan

• Database kelompok

– Untuk kelompok kecil pengguna dengan akses ke database melalui

LAN

Page 37: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 5 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

• Database departmental

– Sama tetapi untuk kelompok yang lebih besar

• Database perusahaan (enterprise)

Untuk seluruh organisasi dengan akses melalui intranet (atau internet)

Page 38: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 6 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Fungsi DBMS

Layanan-layanan yang sebaiknya disediakan oleh database management system adalah :

1. Penyimpanan, pengambilan dan perubahan data

Sebuah DBMS harus menyediakan kemampuan menyimpan, mengambil dan merubah data

dalam basis data.

2. Katalog yang dapat diakses pemakai

menyediakan sebuah katalog yang berisi deskripsi item data yang disimpan dan diakses

oleh pemakai.

3. Mendukung Transaksi

Menyediakan mekanisme yang akan menjamin semua perubahan yang berhubungan

dengan transaksi yang sudah ada atau yang akan dibuat.

4. Melayani kontrol concurrency

Sebuah DBMS harus menyediakan mekanisme yang menjamin basis data ter-update secara

benar pada saat beberapa pemakai melakukan perubahan terhadap basis data yang sama

secara bersamaan.

5. Melayani recovery

Menyediakan mekanisme untuk mengembalikan basis data ke keadaan sebelum terjadinya

kerusakan pada basis data tersebut.

6. Melayani autorisasi

Sebuah DBMS harus menyediakan mekanisme untuk menjamin bahwa hanya pemakai

yang berwenang saja yang dapat mengakses basis data.

7. Mendukung komunikasi data

Sebuah DBMS harus mampu terintegrasi dengan software komunikasi.

8. Melayani integrity

Sebuah DBMS bertujuan untuk menjamin semua data dalam basis data dan setiap terjadi

perubahan data harus sesuai dengan aturan yang berlaku.

Page 39: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 7 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

9. Melayani data independence

Sebuah DBMS harus mencakup fasilitas untuk mendukung kemandirian program dari

struktur basis data yang sesungguhnya.

10. Melayani utility

Sebuah DBMS sebaiknya menyediakan kumpulan layanan utility.

Komponen DBMS

1. Query Processsor

Komponen yang merubah bentuk query ke dalam instruksi tingkat rendah ke database

manager

2. Database Manager

Database manager menerima query dan menguji skema eksternal dan konseptual untuk

menentukan apakah record-record dibutuhkan untuk memenuhi permintaan. Kemudian DM

memanggil file manager untuk menyelesaikan permintaan

Page 40: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 8 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

3. File Manager

Memanipulasi penyimpanan file dan mengatur alokasi ruang penyimpanan pada disk.

4. DML Preprocessor

Modul yang merubah perintah DML embedded ke dalam program aplikasi dalam bentuk

fungsi-fungsi yang memanggil dalam host language.

5. DDL Compiler

Merubah perintah DDL menjadi kumpulan tabel yang berisi metadata.

6. Dictionary Manager

Mengatur akses dan memelihara data dictionary. Data dictionary diakses oleh komponen

DBMS yang lain.

Komponen Software Utama Database Manager

Page 41: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 9 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Komponen software utama database manager adalah

1. Authorization Control

Modul yang memeriksa apakah pemakai mempunyai wewenang untuk menyelesaikan

operasi

2. Command Processor

Memeriksa apakah pemakai mempunyai wewenang untuk menyelesaikan operasi

3. Integrity Checker

Untuk semua operasi yang merubah basis data, integrity checker memeriksa operasi yang

diminta memerlukan batasan integritas.

4. Query Optimizer

Modul ini menentukan strategi yang optimal untuk eksekusi query

5. Transaction Manager

Modul ini mengerjakan proses-proses yang dibutuhkan operasi yang diterima transaksi

6. Scheduler

Modul ini bertanggung jawab untuk menjamin operasi secara bersamaan terhadap basis

data sehingga berjalan tanpa ada masalah antara yang satu dengan yang lain.

7. Recovery Manager

Modul ini menjamin basis data tetap konsisten walaupun terjadi kerusakan.

8. Buffer Manager

Modul ini bertanggung jawab terhadap pemindahan data antara main memory dan

secondary storage, seperti disk dan tape.

Page 42: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 10 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Arsitektur DBMS Multi

User

Teleprocessing Arsitektur tradisional untuk sistem multi user adalah teleprocessing, dimana satu komputer

dengan sebuah CPU dan sejumlah terminal seperti pada gambar di bawah ini.

Arsitektiur Teleprocessing

Semua pemrosesan dikerjakan dalam batasan fisik komputer yang sama. Terminal untuk

pemakai berjenis 'dumb', yang tidak dapat berfungsi sendiri dan masing-masing

dihubungkan ke komputer pusat. Terminal-terminal tersebut mengirimkan pesan melalui

subsistem pengontrol komunikasi pada sistem operasi ke program aplikasi, yang bergantian

menggunakan layanan DBMS.

Dengan cara yang sama, pesan dikembalikan ke terminal pemakai. Arsitektur ini

menempatkan beban yang besar pada komputer pusat yang tidak hanya menjalankan

program aplikasi tetapi juga harus menyelesaikan sejumlah pekerjaan pada terminal seperti

format data untuk tampilan di monitor.

Page 43: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 11 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

File-Server

Proses didistribusikan ke dalam jaringan sejenis LAN (Local Area Network). File server

mengendalikan file yang diperlukan oleh aplikasi dan DBMS. Meskipun aplikasi dan DBMS

dijalankan pada masing-masing workstation tetapi tetap meminta file dari file server jika

diperlukan (perhatikan gambar di halaman berikut ini).

Arsitektiur File-Server

Dengan cara ini, file server berfungsi sebagai sebuah hard disk yang digunakan secara

bersamaan.

Kerugian arsitektur file-server adalah :

- Terdapat lalulintas jaringan yang besar

- Masing-masing workstation membutuhkan copy DBMS

- Kontrol terhadap concurrency, recovery dan integrity menjadi lebih kompleks karena

sejumlah DBMS mengakses file secara bersamaan

Page 44: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 12 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Client Server

Untuk mengatasi kelemahan arsitektur-arsitektur di atas maka dikembangkan arsitektur

client-server. Client-server menunjukkan cara komponen software berinteraksi dalam bentuk

sistem.

Sesuai dengan namanya, ada sebuah pemroses client yang membutuhkan sumber dan

sebuah server yang menyediakan sumbernya. Tidak ada kebutuhan client dan server yang

harus diletakkan pada mesin yang sama. Secara ringkas, umumnya server diletakkan pada

satu sisi dalam LAN dan client pada sisi yang lain.

Arsitektur Client Server

Dalam konteks basis data, client mengatur interface berfungsi sebagai workstation tempat

menjalankan aplikasi basis data. Client menerima permintaan pemakai, memeriksa sintaks

dan generate kebutuhan basis data dalam SQL atau bahasa yang lain. Kemudian

meneruskan pesan ke server, menunggu response dan bentuk response untuk pemakai

akhir. Server menerima dan memproses permintaan basis data kemudian mengembalikan

hasil ke client.

Proses-proses ini melibatkan pemeriksaan autorisasi, jaminan integritas, pemeliharaan data

dictionary dan mengerjakan query serta proses update. Selain itu juga menyediakan kontrol

terhadap concurrency dan recovery.

Page 45: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Ada beberapa keuntungan jenis arsitektur ini adalah :

• Memungkinkan akses basis data yang besar

• Menaikkan kinerja

• Jika client dan server diletakkan pada komputer yang berbeda kemudian CPU yang

berbeda dapat memproses aplikasi secara paralel. Hal ini mempermudah merubah

mesin server jika hanya memproses basis data.

• Biaya untuk hardware dapat dikurangi

• Hanya server yang membutuhkan storage dan kekuatan proses yang cukup untuk

enyimpan dan mengatur basis data

• Biaya komunikasi berkurang

• Aplikasi menyelesaikan bagian operasi pada client dan mengirimkan hanya bagian

yang dibutuhkan untuk akses basis data melewati jaringan, menghasilkan data yang

sedikit yang akan dikirim melewati jaringan

• Meningkatkan kekonsistenan

• Server dapat menangani pemeriksaan integrity sehingga batasan perlu didefinisikan

dan validasi hanya di satu tempat, aplikasi program mengerjakan pemeriksaan

sendiri

• Map ke arsitektur open-system dengan sangat alami

Berikut ini adalah ringkasan fungsi client-server

Page 46: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 14 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Data Dictionary

Data dictionary adalah tempat penyimpanan informasi yang menggambarkan data dalam

basis data. Data dictionary biasa disebut juga dengan metadata atau data mengenai data.

Modul pengontrol otorisasi menggunakan data dictionary untuk memeriksa apakah seorang

pemakai perlu mempunyai wewenang.

Untuk mengerjakan pemeriksaan tersebut data dictionary menyimpan :

• nama-nama pemakai yang mempunyai wewenang untuk menggunakan DBMS

• nama-nama data item yang ada dalam basis data

• data item yang dapat diakses oleh pemakai dan jenis akses yang diijinkan, misalnya:

insert, update, delete atau read

• Sedangkan untuk memeriksa integritas data, data dictionary menyimpan :

• nama-nama data item dalam basis data

• jenis dan ukuran data item

• batasan untuk masing-masing data item

Sistem data dictionary dapat dibedakan atas sistem aktif dan pasif. Sistem aktif selalu

konsisten dengan struktur basis data karena secara otomatis dikerjakan oleh sistem.

Sebaliknya, sistem pasif tidak konsisten terhadap perubahan basis data yang dilakukan oleh

pemakai.

Page 47: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

MODUL PERKULIAHAN

Perancangan Basis Data

Model Relational

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

Fakultas Ilmu Komputer

Teknik Informatika

05 87012 Tim Dosen.

Abstract Kompetensi

Materi ini menyediakan pemahaman model relational

Model relational di dalam penerapat data warehouse dan mining

Page 48: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 2 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Model Relational

Model relasi pertama kali dikenalkan oleh Codd, pada tahun 1971. Sejak itu model relasi

memainkan peranan yang sangat penting dalam berbagai perancangan basis data.

Ada tiga alasan mengapa model relasi mempunyai peranan penting dalam perancangan

basis data yaitu :

1. mempunyai piranti komunikasi yang baik antara user & designer

artinya relasi merepresentasikan struktur data yang dapat dimengerti oleh user

maupun designer.

2. model relasional mendefinisikan salah satu kriteria perancangan basis data

yang penting yaitu relasi bentuk normal.

3. Struktur data yang direpresentasikan oleh relasi dapat segera dikonversikan

& diimplementasikan ke RDBMS

APA YANG DISEBUT DENGAN RELASI

Relasi pertama kali didefinisikan menggunakan teori himpunan. Cara termudah untuk

mendefinisikan sebuah relasi adalah sebagai sebuah tabel dimana data-datanya disimpan

dalam baris tabel.

Atau

Relasi

Sebuah tabel yang terdiri dari beberapa kolom dan beberapa baris.

Contoh Table :

Tabel Work dibawah ini

Terdiri dari tiga kolom, yaitu Person_Id, Proj_No dan Total_Time.

Tabel ini menyimpan waktu yang dihabiskan oleh person pada proyek tersebut. Selain tabel

Work terdapat juga relasi Persons. Relasi ini menyimpan secara detail tentang person yang

bekerja pada proyek dimaksud.

Misalnya terdiri dari 4 kolom, yaitu Person_id, Date_of_birth, Name

Page 49: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 3 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Perhatikan gambar:

Work

Person_id Proj_No Total_time

P1 PROJ1 20

P3 PROJ1 16

P2 PROJ2 16

P2 PROJ3 42

P3 PROJ2 17

P3 PROJ1 83

P4 PROJ3 41

Person

Person_id Date_of_bith Name

P1 Jan 62 Joe

P4 FEB 65 Mary

P3 auf

STRUKTUR LOGIC & FISIK

Representasi logic berarti bahwa sebuah relasi harus :

- tidak terdapat duplikasi baris

- urutan baris tidak diperhatikan

- setiap kolom dalam suatu relasi mempunyai sebuah nama yang

unik

struktur fisik diperlukan selama implementasi fisik yaitu pada saat menentukan layout

data & indeks yang digunakan untuk mengakses data dalam suatu relasi. Hal penting

lainnya yang harus diperhatikan dalam merancang relasi adalah bahwa nama-nama

atribut relasi harus menggambarkan sumber data berasal.

Page 50: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 4 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

REDUNDANSI & DUPLIKASI

Redundansi

Salah satu dari perancangan logic basis data adalah meniadakan redundansi. Redundansi

(pengulangan data yang tidak perlu) terjadi jika fakta yang sama disimpan lebih dari

sekali.

Contoh redundansi adalah relasi Project_Data berikut : dalam relasi Project_Data,

Project_Budget dari sebuah proyek disimpan lebih dari sekali. Yaitu sebanyak orang yang

bekerja pada proyek tersebut. Hal ini tidak diinginkan karena menyebabkan banyak kerugian

sebagai berikut :

• Jika Project_Budget untuk Proj_No berubah maka harus dilakukan

perubahan lebih dari satu baris dalam relasi tersebut.

• Setiap kali penambahan orang baru untuk suatu proyek maka

harus dimasukkan pula budget untuk proyek tersebut.

• Sebuah proyek yang tidak ada orangnya, seperti PROJ4, akan hanya mempunyai

sebuah nilai Project_Budget tetapi tidak punya nilai untuk atribut lainnya. Ini

berarti bahwa operasi-operasi terhadap relasi tersbut harus disesuaikan dengan \

keadaan struktur basis data saat itu.

Page 51: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 5 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Duplikasi

Duplikasi berbeda dengan redundansi. Kadang-kadang duplikasi

diperlukan dalam basis data sementara redundansi harus dihindari.

Contoh duplikasi adalah relasi USE dibawah ini. Relasi USE memiliki lebih dari satu

baris yang mempunyai nilai yang sama untuk atribut Project_Id, yaitu Proj1. Demikian

juga untuk Proj2. Nilai-nilai ini harus disimpan lebih dari sekali karena

menggambarkan fakta yang berbeda

USE

Project_Id

Part_no Qty_used Proj1 P1 17

Proj2 P2 85

Proj1 P3 73

Proj2 P2 80

ASSIGMENTS

Person_ID Dept DATE Of Birth Date Started Date Finished

P1 Sales (JKT) 1 June 1980 10 June 83 5 Agust 70

P2 Adms (JKT) 21 June 1982 2 June 80 5 Agust 83

P3 Mngr (JKT) 1 Mei 1980 2 June 80 5 Agust 83

MENGHILANGKAN REDUNDANSI

Salah satu cara untuk menghilangkan redundansi adalah dengan dekomposisi (teknik

memecah sebuah relasi menjadi beberapa relasi).

Sbuah relasi yang menyimpan sebuah fakta lebih dari sekali dapat didekomposisi ke

dalam relasi-relasi yang hanya menyimpan sebuh fakta sekali.

Page 52: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 6 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Contoh relasi Project_Data di atas dapat didekomposisi menjadi relasi Projects dan Work

di bawah ini .

WORK

Person_Id Proj_No Total_Time

P1 Proj1 20

P3 Proj1 16

P2 Proj2 35

P2 Proj3 42

P3 Proj2 17

P3 Proj1 83

P4 Proj3 41

Istilah dalam basis data relasional

Atribut

Kolom pada sebuah relasi

Tupel

Baris pada sebuah relasi

Domain

Kumpulan nilai yang valid untuk satu atau lebih atribut

Derajat

Jumlah atribut dalam sebuah relasi

Page 53: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 7 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Cardinality

Jumlah tupel dalam sebuah relasi

Relational Key

Super key

Satu atribut/kumpulan atribut yang secara unik mengidentifikasi sebuah tupel di dalam

relasi

Candidate key

Atribut di dalam relasi yang biasanya mempunyai nilai unik

Primary key

Candidate key yang dipilih untuk mengidentifikasikan tupel secara unik dalam relasi

Alternate key

Candidate key yang tidak dipilih sebagai primary key

Page 54: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 8 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Foreign key

Atribut dengan domain yang sama yang menjadi kunci utama pada sebuah relasi tetapi

pada relasi lain atribut tersebut hanya sebagai atribut biasa

Perhatikan contoh berikut :

• Relational Integrity Rules

1. Null

Nilai suatu atribut yang tidak diketahui dan tidak cocok untuk baris (tuple) tersebut

2. Entity Integrity

Tidak ada satu komponen primary key yang bernilai null.

3. Referential Integrity

Suatu domain dapat dipakai sebagai kunci primer bila merupakan atribut tunggal

pada domain yang bersangkutan.

• Bahasa Pada Basis data Relational

Menggunakan bahasa query pernyataan yang diajukan untuk mengambil informasi

Page 55: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 9 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Terbagi 2 :

1. Bahasa Formal

Bahasa query yang diterjemahkan dengan menggunakan simbol-simbol matematis.

Contoh: Aljabar relasional

Kalkulus relasional

• Aljabar Relasional

Bahasa query prosedural pemakai menspesifikasikan data apa yang

dibutuhkan dan bagaimana untuk mendapatkannya.

• Kalkulus Relasional

Bahasa query non-prosedural pemakai menspesifikasikan data apa yang

dibutuhkan tanpa menspesifikasikan bagaimana untuk mendapatkannya.

Terbagi 2 :

1. Kalkulus Relasional Tupel

2. Kalkulus Relasional Domain

Page 56: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 10 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

2. Bahasa Komersial

Bahasa Query yang dirancang sendiri oleh programmer menjadi suatu program

aplikasi agar pemakai lebih mudah menggunakannya (user friendly).

Contoh :

• QUEL

Berbasis pada bahasa kalkulus relasional

• QBE

Berbasis pada bahasa kalkulus relasional

• SQL

Berbasis pada bahasa kalkulus relasional dan aljabar relasional

• Contoh-contoh Basis Data Relasional :

- DB2 IBM

- ORACLE Oracle

- SYBASE Powersoft

- INFORMIX Informix

- Microsoft Access Microsoft

Page 57: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

MODUL PERKULIAHAN

Perancangan Basis Data

Normalisasi

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

Fakultas Ilmu Komputer

Teknik Informatika

06 87012 Tim Dosen.

Abstract Kompetensi

Materi ini memahami Normalisasi Mahasiswa di harapkan lebih paham mengenai Normalisasi dan dapat menyelesaikan kasus

Page 58: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 2 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Normalisasi

Definisi

Normalisasi adalah suatu teknik untuk mengorganisasi data ke dalam tabel-tabel untuk

memenuhi kebutuhan pemakai di dalam suatu organisasi.

Tujuan dari normalisasi

• Untuk menghilangkan kerangkapan data

• Untuk mengurangi kompleksitas

• Untuk mempermudah pemodifikasian data

Proses Normalisasi

• Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan

tertentu ke beberapa tingkat.

• Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut

perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi

bentuk yang optimal.

Page 59: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 3 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Tahapan Normalisasi

Bentuk Tidak Normal

Menghilangkan perulangan group

Bentuk Normal Pertama (1NF)

Menghilangkan ketergantungan sebagian

Bentuk Normal Kedua (2NF)

Menghilangkan ketergantungan transitif

Bentuk Normal Ketiga (3NF)

Menghilangkan anomali-anomali hasil dari ketergantungan fungsional

Bentuk Normal Boyce-Codd (BCNF)

Menghilangkan Ketergantungan Multivalue

Bentuk Normal Keempat (4NF)

Menghilangkan anomali-anomali yang tersisa

Bentuk Normal Kelima

Ketergantungan Fungsional

Definisi :

Atribut Y pada relasi R dikatakan tergantung fungsional pada atribut X (R.X ---> R.Y), jika

dan hanya jika setiap nilai X pada relasi R mempunyai tepat satu nilai Y pada R.

Misal, terdapat skema database Pemasok-barang :

Pemasok (No-pem, Na-pem)

Page 60: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 4 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Tabel PEMASOK-BARANG

Ketergantungan fungsional dari tabel PEMASOK-BARANG adalah :

No-pem Na-pem

Ketergantungan Fungsional Penuh Normalisasi

Definisi :

Atribut Y pada relasi R dikatakan tergantung fungsional penuh pada atribut X pada relasi R,

jika Y tidak tergantung pada subset dari X ( bila X adalah key gabungan)

Contoh :

KIRIM-BARANG( No-pem, Na-pem, No-bar, Jumlah)

Ketergantungan fungsional :

No-pem Na-pem

No-bar, No-pem Jumlah (Tergantung penuh thd

keynya)

Page 61: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 5 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Ketergantungan Transitif

Definisi :

Atribut Z pada relasi R dikatakan tergantung transitif pada atribut X , jika atribut Y tergantung

pada atribut X pada relasi R dan atribut Z tergantung pada atribut Y pada relasi R.

( X Y, Y Z , maka X Z )

Contoh :

Ketergantungan transitif :

No-pem Kode-kota

Kode-kota Kota , maka

No-pem Kota

Page 62: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 6 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Bentuk Normal Kesatu (1NF)

Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kesatu bila setiap data bersifat

atomik yaitu setiap irisan baris dan kolom hanya mempunyai satu nilai data.

Tabel KIRIM-1 (Unnormal)

Tabel KIRIM-2 (1NF)

Page 63: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 7 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Diagram Ketergantungan Fungsional

Bentuk Normal Kedua (2NF)

Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kedua bila relasi tersebut sudah

memenuhi bentuk Normal kesatu, dan atribut yang bukan key sudah tergantung penuh

terhadap keynya.

Tabel PEMASOK-1 (2NF)

Page 64: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 8 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Bentuk Normal Ketiga (3NF)

Suatu relasi dikatakan sudah memenuhi Bentuk Normal ketiga bila relasi tersebut sudah

memenuhi bentuk Normal kedua dan atribut yang bukan key tidak tergantung transitif

terhadap keynya.

Tabel KIRIM-3 (3NF)

Tabel PEMASOK-2 (3NF)

Tabel PEMASOK-3 (3NF)

Page 65: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 9 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Latihan :

Buatkan normalisasi dari table berikut :

Asumsi :

• Seorang mahasiswa dapat mengambil beberapa mata kuliah

• Satu mata kuliah dapat diambil oleh lebih dari satu mahasiswa

• Satu mata kuliah hanya diajarkan oleh satu dosen

• Satu dosen dapat mengajar beberapa mata kuliah

• Seorang mahasiswa pada mata kuliah tertentu hanya mempunyai satu

nilai

Page 66: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

MODUL PERKULIAHAN

Perancangan Basis Data

Konsep & Terminology Query Language

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

Fakultas Ilmu Komputer

Teknik Informatika

07 87012 Tim Dosen.

Abstract Kompetensi

Materi ini memahami konsep dan terminology Query Language

Mahasiswa di harapkan lebih paham mengenai konsep dan terminology Query Language

Page 67: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 2 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Konsep dan terminologi

Aktifitas Database

• Create/Write (tulis)

– Memasukkan data baru kedalam database

• Read (baca)

– Membaca data yang ada dalam database

• Update (ubah)

– Memperbaharui atau mengubah data yang ada dalam database

• Delete (hapus)

– Menghapus data yang ada dalam database.

Beberapa Istilah yang sering digunakan Pada Database

• Perusahaan (Enterprise)

– Organisasi

• Entitas (Entity)

– Orang, Tempat, Obyek, Kejadian, Konsep, ...

• Atribut (Attribute)

– Elemen-elemen data (fakta) dari suatu entitas

– Juga disebut field atau item atau domain

• Nilai Data

– Nilai (instance) suatu atribut dari suatu entitas

• Record

– Suatu set berisi nilai-nilai semua atribut dari suatu entitas

Page 68: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 3 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

– Juga disebut “tuple” dlm model DBMS relational, “record type” dlm model

DBMS network, “segment” dlm model DBMS hierarchy

• File

– Koleksi berisi record yang sejenis

– Juga disebut “relation” atau “tabel” dalam model DBMS relational

• Key

– Suatu atribut atau beberapa atribut yang digunakan untuk mengidentifikasi

atau mencari record dalam file.

• Primary Key

– Suatu atribut atau beberapa atribut yang secara unik (tidak ada duplikasi)

mengidentifikasi setiap record dalam file

• Administrator Data (DA)

– Orang yang bertanggung jawab atas fungsi administrasi data dalam

organisasi

– Umumnya dipegang oleh CIO -- Chief Information Officer

• Administrator Database (DBA)

– Orang yang bertanggung jawab atas fungsi administrasi database

• Administrasi Data

– Segala aktifitas manajemen sumber daya data organisasi

• Administrasi Database

– Perancangan fisik database dan masalah teknis dalam manajemen database

• Pengendalian (Steward) Data

– Pengaturan suatu subset dari data organisasi dan segala interaksi yang

berhubungan (aplikasi, akses, etc.) dengan data tersebut.

Page 69: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 4 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

• Utility Programs/Routines

– Loading routines; Reorganization routines; Journaling

routines; Recovery routines; Statistical Analysis

routines

Query Language

Query language adalah suatu bahasa yang menyediakan fasilitas bagi user untuk

mengakses informasi dari basis data. Pada umumnya level bahasa ini lebih tinggi dari

bahasa pemrograman standar. Bahasa query dapat dikategorikan sebagai prosedural &

non-prosedural.

Dalam bahsa prosedural, user menginstruksikan ke sistem agar membentuk serangkaian

operasi dalam basis data untuk mengeluarkan hasil yang diinginkan. Dalam bahasa non-

prosedural, user mendeskripsikan informasi yang diinginkan tanpa memberikan prosedur

detail untuk menghasilkan informasi tersebut.

Sebagian besar system basis data relasional yang beredar dipasaran menawarkan bahasa

query dengan pendekatan prosedural & non-prosedural.

Bebrapa bahasa query yang murni adalah : aljabar relasional (relational algebra) merupakan

bahasa query prosedural, sedangkan kalkulus relasional tuple (tuple relational calculus) &

kalkulus relasional domain(domain relational calculus) adalah non-prosedural.

Berikut hanya akan dibahas bahasa query bukan bahasa datamanipulation yang lengkap,

yaitu bahasa yang tidak hanya terdiri dari bahas query tetapi juga bahasa untuk

memodifikasi basis data, seperti perintah insert dan delete tuple.

Page 70: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 5 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Aljabar Relasional ( Relational Algebra)

Aljabar relasional adalah sebuah bahasa query prosedural yang terdiri dari sekumpulan

operasi dimana masukkannya adalah satu atau dua relasi dan keluarannya adalah sebuah

relasi baru sebagai hasil dari operasi tersebut. Operasi-operasi dasar dalam aljabar

relasional adalah : select, project, union, set difference, Cartesian product dan rename.

Disamping operasi-operasi dasar terdapat beberapa operasi lainnya seperti set intersection,

natural join, division dan assignment. Operasi-operasi ini akan didefinisikan dalam

terminology operasi dasar.

Operasi-operasi Dasar

Operasi-operasi select, project dan rename disebut operasi unary, karena operasioperasi

tersebut hanya memerlukan satu relasi. Tiga operasi lainnya memerlukan sepasang relasi,

disebut operasi binary.

a. Operasi Select

Operasi select menyeleksi tuple-tuple yang memenuhi predikat yang diberikan. Digunakan

symbol sigma (σ) untuk menunjukkan operasi select. Predikat muncul sebagai subcript dari

σ. Argumen relasi diberikan dalam kurung yang mengikuti σ. Jadi untuk menyeleksi tuple-

tuple dari relasi loan dimana branch-name-nya adalah “Perryridge”, ditulis :

σbranch-name = “Perryridge”(loan)

Page 71: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 6 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Jika relasi Loan adalah :

Maka hasil dari query di atas adalah :

Contoh-contoh query lain dengan operasi select adalah :

σamount>1200(loan) untuk menemukan tuple dengan nilai amount lebih dari 1200,σbrach-name = “Perryridge” and amount >1200 (loan)

untuk menemukan tuple dengan branch-name = “Perryridge” dimana nilai amountnya

lebih dari 1200.

b. Operasi Project

Seandainya diinginkan semua daftar loan-number dan amount, tanpa branchname. Dengan

operasi project dapat dihasilkan relasi ini. Operasi project disimbolkan dengan symbol phi

(π). Nama-nama atribut yang diinginkan tampil ditulias sebagai subcrip π.

Contoh :

πloan-number,amount(loan),

adalah operasi untuk menampilkan seluruh loan-number & amount tanpa branch-name.

Page 72: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 7 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Hasil operasi tersebut adalah :

c. Komposisi Operasi-operasi relasional

Berikut contoh query yang lebih kompleks :

“ Temukan kastemer-kastemer yang tinggal di Horison “. Maka query-nya ditulis :

πcustomer-name(σcustomer-city=”Horison”(customer))

perhatikan bahwa sebagai argumen dari operasi project adalah sebuah ekspresi untuk suatu

mhsrelasi. Oleh karenanya, operasi-operasi aljabar relasional dapat digabung dengan suatu

ekspresi aljabar relasional.

d. Operasi Union

Operasi union dalam aljabar relasional sama halnya dengan operasi union pada aritmatika.

Misal user menginginkan nama-nama semua nasabah bank yang memiliki sebuah account

atau sebuah loan atau keduanya. Perhatikan bahwa relasi customer tidak mengandung

informasi tersebut. Untuk menjawab query ini diperlukan informasi dari relasi Depositor dan

relasi Borrower. Dengan operasi union informasi yang diinginkan dapat diperoleh dengan

menulis query sebagai berikut :

πcustomer-name(borrower) ∪ πcustomer-name(depositor)

Page 73: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 8 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Depositor

Borrower

Hasil query yang union diatas adalah :

Page 74: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 9 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

e. Operasi Pengurangan Himpunan ( Set Difference)

Disimbolkan dengan tanda “-“. Operasi ini untuk menemukan tuple-tuple yang berada pada

satu relasi tetapi tidak berada pada relasi yang lainnya.

Contoh untuk menemukan semua nasabah bank yang mempunyai account tetapi tidak

mempunyai

loan, ditulis :

πcustomer-name(depositor) - πcustomer-name(borrower)

hasil query di atas :

f. Operasi Cartesian –product

Operasi Cartesian-product disimbolkan dengan “x”. Dengan operasi ini dapat dihasilkan

informasi yang merupakan kombinasi dari dua relasi.

Secara garis besar, jika dipunyai relasi r1(R1) dan r2(R2), maka r1 x r2 adalah relasi yang

skemanya merupakan gabungan dari R1 ( atribut-atribut relasi r1) dan R2 (atribut-atribut

r2). Relasi R mengandung semua tuple t dimana terdapat sebuah tuple t1 dalam r1 dan t2

dalam r2 sedemikian sehingga t[R1] = t1[R1] dan t[R2]=t2[R2].

Contoh : Jika diinginkan nama-nama dari semua nasabah yang mempunyai pinjaman (loan)

di bank cabang Perryridge. Maka query-nya ditulis :

σbranch-name=”Perryridge”(borrower x loan)

Page 75: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 10 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Relasi yang dihasilkan :

g. Operasi Rename

Dilambangkan dengan symbol rho (ρ). Sintaks penulisan rename : ρx(E).

Operasi rename mengeluarkan hasil ekspresi E dengan nama x.

Contoh :

πaccount.balance(σaccount.balance<d.balance (account x ρd(account)))

Definisi Aljabar relasional

Jika E1 & E2 adalah ekspresi aljabar-relasional, maka berikut ini adlah semua ekspresi

aljabar-relasional :

- E1 ∪ E2

- E1 – E2

- E1 x E2

Page 76: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 11 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

- σp(E1), dimana p adalah sebuah predikat untuk atribut-atribut dalam E1

- πs(E1), dimana s adalah daftar yang terdiri dari bebrapa atribut dalam E1

- ρx(E1), dimana x adalah nama baru untuk hasil E1

Modifikasi Dalam Basis Data

1. Penghapusan (Deletion)

Dalam aljabar relasional, operasi deletion diekspresikan dengan :

r r-E, dimana r adalah relasi dan E adalah sebuah query aljabar relasional.

Berikut beberapa contoh dari perintah delete dengan aljabar relasional adalah :

- Hapus semua rekening atas nama Smith

account account - σ customer-name = “Smith” (account)

- Hapus semua pinjaman dengan jumlah diantara 0 s/d 50

loan loan - σamount > = 0 and amount <=50 (loan)

- Hapus semua account pada cabang-cabang yang berlokasi di Needham

r1 σ branch –city = “Needham” (account x branch)

r2 π branch-name, account-number, balance (r1)

account account – r2

2. Penyisipan (Insertion)

Untuk menyisipkan data ke dalam suatu relasi, dapat dilakukan dengan dua cara

yaitu menentukan tuple-tuple yang akan disisipkan. Dalam relasional aljabar,

penyisipan diekspresikan dengan :

r r ∪ E

Page 77: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 12 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

dimana r adalah relasi dan E adalah sebuah ekspresi relasional aljabar.

Contoh : seandainya akan disisipkan fakta bahwa Smith mempunyai $1200 dalam

rekening A-973 pada cabang Perryridge. Query-nya ditulis :

account account ∪ {(“Perryridge”, A-973,1200)}

depositor depositor ∪ {(“Smith”, A-973)}

3. Updating

Dapat digunakan operator proyeksi secara umum sebagai berikut :

r π F1,F2,… Fn (r)

Contoh : seandainya akan dibuat bunga tabungan sebesar 5% ditulis query :

account πbranch-name,account-number,balancebalance*1.05 (account)

4. View

View didefinisikan dengan statement create view. Untuk mendefinisikan sebuah view maka

view tersebut harus diberi nama dan query untuk menghasilkan view tersebut.

Format statement create view sebagai berikut :

Create view v as <ekspresi query>

Dimana ekspresi query adalah sebuah ekspresi query relation-algebra yang sah dan nama

view direpresentasikan dengan v.

Contoh : untuk membuat view yang terdiri dari semua cabang bank dan pelanggannya

Create view all-customer as

π branch-name, customer-name (depositor x account)

∪ π branch-name, customer-name (borrower x loan)

Page 78: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

MODUL PERKULIAHAN

Perancangan Basis Data

SQL (Structured Query Language)

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

Fakultas Ilmu Komputer

Teknik Informatika

08 87012 Tim Dosen.

Abstract Kompetensi

Materi ini memahami SQL Mahasiswa di harapkan lebih paham mengenai SQL dan dapat menyelesaikan kasus dengan SQL

Page 79: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 2 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

SQL

STRUCTURED QUERY LANGUAGE (SQL)

Sistem basis data komersial menghendaki adanya sebuah bahasa query yang lebih user-

friendly. Oleh karena itu dikenal SQL sebagai bahasa query yang marketable. SQL

menggunakan kombinasi aljabar relasional & kalkulus relasional. Meskipun SQL adalah

bahasa query, namun SQL mempunyai banyak kemampuan lain disamping melakukan

query terhadap basis data. SQL mempunyai kemampuan untuk mendefinisikan struktur

data, modifikasi data dalam basis data dan menentukan konstrain sekuriti.

LATAR BELAKANG

SQL merupakan bahasa basis data relasional standard. Terdapat macam-macam

versi SQL. Versi aslinya pertama kali dikembangkan oleh IBM San Jose Research

Laboratory.

Bahasa SQL mempunyai bebrap bagian yaitu :

- Data Definition Language (DDL)

DDL memberikan perintah untuk mendefinisikan skema relasi, penghapusan

relasi, membuat indeks dan modifikasi skema relasi.

- Interactive Data-Manipulation Language (DML)

DML merupakan bahasa query yang berdasarkan pada aljabar relasi dan kalkulus relasi

tuple. Termasuk didalamnya adalah perintah untuk penyisipan, penghapusan dan

modifikasi. (Contoh pada halaman 9)

- Embedded DML

Bentuk embedded SQL biasanya terdapat dalam bahasa pemrograman multi guna seperti

PL/I, Cobol , Pascal dan Fortran. (COntoh pada halaman 12)

- View Definition

DDL SQL memasukkan perintah untuk mendefinisikan view.

Page 80: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 3 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

- Authorization

DDL SQL memasukkan perintah untuk menentukan hak-hak akses ke relasi dan view.

- Integrity

DDL SQL memasukkan perintah untuk menentukan konstrain integritas yang harus dipenuhi

oleh data yang tersimpan dalam basis data.

- Transaction control

SQL memasukkan perintah-perintah untuk menentukan awal dan akhir transaksi. Beberapa

implementasi juga memungkinkan locking data untuk concurrency control.

STRUKTUR DASAR

Struktur dasar dari ekspresi SQL terdiri dari tiga klausa yaitu :

select, from dan where.

- Klausa Select berhubungan dengan operasi proyeksi dari aljabar relasional.

Operasi ini digunakan untuk mendaftar semua atribut yang diinginkan sebagai hasil suatu

query.

- Klausa From berhubungan dengan operasi Cartesian-product dari aljabar relasional.

Operasi ini mencatat semua relasi yang di”scan” dalam evaluasi suatu query.

- Klausa Where berhubungan dengan operasi predikat seleksi dari aljabar relasional.

Operasi ini terdiri dari sebuah predikat yang menyangkut atributatribut dari relasi yang

muncul dalam klausa from.

Sebuah query SQL biasanya mempunyai bentuk :

Select A1,A2,…..An

From r1,r2,….rn

Where P

Page 81: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 4 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Klausa Select

Contoh : “ Tentukan nama-nama dari semua cabang bank dalam relasi loan “

Query-nya :

select branch-name from loan

Hasil dari query tersebut adalah sebuah relasi yang berisi sebuah atribut tunggal dengan

nama branch-name.

Bahasa query formal bersifat matematis dimana relasi adalah sebuah himpunan sehingga

tuple-tuple yang telah muncul tidak akan muncul lagi (tidak akan terjadi duplikasi tuple). Tapi

dalam prakteknya untuk menghilangkan duplikasi tuple sangat memakan waktu.

Oleh karenanya SQL memungkinkan terjadinya duplikasi tersebut. Dari contoh di atas, maka

query-nya akan mencatat setiap branch-name setiap kali branch-name tersebut ditemukan

dalam relasi loan.

Untuk kasus di atas jika diinginkan untuk menghilangkan duplikasi maka dapat disisipkan

distinct setelah select. Query di atas ditulis ulang sebagai berikut :

Select distinct branch-name from loan

Jika tuple yang terduplikasi diinginkan hilang.

Klausa select dapat juga mengandung operasi aritmatika yaitu operator : +, -, *, / dan

operasi terhadap konstanta atau atribut dari tuple. Contoh query berikut :

Select branch-name, loan-number, amount * 100 From loan

Akan menghasilkan sebuah relasi yang sama dengan relasi loan, kecuali bahwa atribut

amount dikalikan dengan 100. SQL-92 juga menyediakan tipe data spesial seperti tipe date,

dan memungkinkan beberapa fungsi aritmatika untuk beroperasi pada tipe-tipe ini.

Page 82: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 5 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Klausa Where

Contoh query : “Temukan semua loan number untuk pinjaman-pinjaman yang dibuat pada

cabang Perryridge dengan jumlah lebih besar dari $1200”.

Query-nya ditulis sebagai berikut :

Select loan-number

From loan

Where branch-name = “Perryridge” and amount >1200

SQL menggunakan konektivitas lojik and, or dan not dalam klausa where. SQL juga

memasukkan perintah between untuk menentukan apakah suatu nilai lebih kecil daripada

atau sama dengan suatu nilai lain dan lebih besar daripada atau sama dengan suatu

nilai lain.

Contoh : jika diinginkan menemukan loan-number yang jumlah pinjamannya antara

$90000 dan $100000, ditulis sebagai berikut :

Select loan-number

From loan

Where amount between 90000 and 100000

Page 83: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 6 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Klausa From

Contoh query : “Untuk semua customer yang mempunyai sebuah pinjaman dari bank,

temukan nama dan loan number mereka”.

Dalam SQL ditulis :

Select distinct customer-name, borrower.loan-number

From borrower, loan

Where borrower.loan-number = loan.loan.number

Operasi Rename

SQL menyediakan mekanisme operasi rename untuk relasi dan atribut. Operasi rename

dalam SQL menggunakan klausa as dengan bentuk :

Nama-lama as nama-baru

Contoh : Jika atribut dengan nama loan-number akan diganti dengan nama loan-id, dapat

ditulis sebagai berikut :

Select distinct customer-name, borrower.loan-number as loan-id

From borrower,loan

Where borrower.loan-number = loan.loan-number and

branch-name = “Perryridge”

Page 84: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 7 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

OPERASI HIMPUNAN

Operasi operasi himpunan pada SQL-92 meliputi : union, intersect, dan except.

Union identik dengan ∪, intersect identik dengan ∩ dan except identik dengan – pada

aljabar relasional.

Operasi Union

Contoh : Untuk mendapatkan semua customer yang mempunyai pinjaman, rekening

atau keduannya pada bank ditulis :

(select customer-name from depositor)

union

(select customer-name from borrower)

Operasi union secara otomatis akan menghilangkan duplikasi, tidak seperti klausa

select.

Sehingga pada query di atas, jika Jones (seorang customer) mempunyai beberapa

rekening atau pinjaman (atau keduannya) pada bank, maka Jones hanya akan muncul

sekali. Jika duplikasi diinginkan ada maka harus ditulis union all.

Operasi Intersect

Contoh : untuk mendapatkan semua customer yang memiliki pinjaman

dan

rekening pada bank, query-nya ditulis :

(select distinct customer-name from depositor)

intersect

(select distinct customer-name from borrower)

Page 85: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 8 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Operasi intersect secara otomatis menghilangkan duplikasi. Jika diinginkan duplikasi

tetap ada ditulis intersect all.

Operasi Except

Contoh : untuk mendapatkan semua customer yang mempunyai sebuah rekening tetapi

tidak memiliki pinjaman pada bank, ditulis :

(select distinct customer-name from depositor)

except

(select customer-name from borrower)

Operasi except secara otomatis menghilangkan duplikasi. Jika diinginkan ada maka

ditulis : except all.

Page 86: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 9 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Query DDL (Data Definition Language)

Data Definition Language (DDL) merupakan sub bahasa SQL yang berfungsi

mendefinisikan tabel saja. Perintah yang digunakan diantaranya: CREATE, ALTER, dan

DROP. Dengan menggunakan ketiga perintah tersebut kita sudah dapat membangun

struktur data dengan lengkap.

CREATE

Create digunakan untuk membuat tabel

Bentuk umum:

Create Table namatabel(

Kolom_1 tipe(panjang),

Kolom_2 tipe(panjang),

Kolom_n tipe(panjang))

Latihan CREATE:

Membuat tabel Mahasiswa dengan mengetikkan script SQL berikut pada SQL View di

query.

Create Table Mahasiswa( Create Table Mahasiswa(

NIM text(8) not null primary key, NIM text(8) not

null, NAMA text(30) not null, NAMA text(30) not null,

TGL_LAHIR date, TGL_LAHIR date,

ALAMAT text(50)) ALAMAT text(50),

Primarykey(NIM))

Keterangan:

NIM text(8) not null primary key

pada field NIM dan NAMA data tidak boleh kosong (not null)

dan field NIM juga merupakan kunci utama (primary key)

Kemudian untuk menjalankannya kita dapat mengklik run / tanda seru dari icon toolbar.

Untuk melihatnya pada object klik tab tables dan double klik nama tabel mahasiswa.

Page 87: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 10 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

ALTER

Alter digunakan untuk merubah, menambah (ADD), menghapus (DROP) struktur

tabel.

Bentuk umum:

Alter Table namatable [spesifikasi perubahan]

Latihan ALTER:

1. Menambahkan field Jenis_kelamin pada tabel

Mahasiswa.

Sintaks SQL:

ALTER TABLE mahasiswa

ADD Jenis_kelamin text(1)

2. Menambahkan Primary Key pada field NIM di tabel

Mahasiswa.

Sintaks SQL:

ALTER TABLE mahasiswa

ADD constraint NIM Primary Key(NIM)

3. Merubah ukuran dan tipe dari field NIM pada tabel

Mahasiswa.

Sintaks SQL:

ALTER TABLE mahasiswa

ALTER column NIM Number

4. Menghapus field Jenis_kelamin dari tabel

Mahasiswa.

Sintaks SQL:

ALTER TABLE mahasiswa

DROP column Jenis_kelamin

Page 88: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 11 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

DROP

Drop digunakan untuk menghapus tabel.

Bentuk umum:

Drop TABLE namatabel

Latihan DROP:

1. Menghapus tabel

Mahasiswa.

Sintaks SQL:

DROP TABLE mahasiswa

Page 89: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 12 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Query DML (Data Manipulation Language)

Data Manipulation Language (DDL) merupakan sub bahasa SQL yang berfungsi

memanipulasi data yang ada di dalam basis data atau database. Perintah yang termasuk di

dalam DML adalah INSERT, SELECT, UPDATE, dan DELETE.

INSERT

Berfungsi untuk menyisipkan, memasukkan, atau menyimpan data dari luar sistem ke dalam

database.

Bentuk umum:

INSERT INTO namatabel (namafield1, namafield2 …, namafield n)

VALUES (value1, value2, …, value n)

Atau

INSERT INTO namatabel

VALUES (value1, value2, …, value n)

Sintaks SQL:

INSERT INTO Mahasiswa

VALUE (“12099999”, “PRIATNA”, “12/12/1990”, “Jati Bening”)

SELECT

Perintah select berfungsi untuk membentuk tabel baru dengan cara meng-copy (backup)

seluruh data dari tabel aktif.

Bentuk umum:

SELECT namafield1, namafield2, …, namafield n

INTO namatabelbaru

FROM namatabelaktif

Page 90: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Atau

SELECT *

INTO namatabelbaru

FROM namatabelaktif

Sintaks SQL: SELECT

*

INTO mahasiswa_baru

FROM mahasiswa

UPDATE

Perintah update berfungsi untuk mengubah satu atau lebih data field yang terdapat pada stu

lebih record.

Bentuk umum:

UPDATE namatabel

SET field=value

WHERE kriteria

Atau

UPDATE namatabel

SET field1=value1, field2=value2, …, field n = value

n WHERE kriteria

Sintaks SQL:

UPDATE mahasiswa

SET nama=”Pondok Indah B6”

WHERE NIM=”12099999”

DELETE

Berfungsi untuk menghapus satu atau beberapa record dari suau

tabel.

Bentuk umum:

DELETE *

From namatabel

WHERE kriteria

Sintaks SQL:

DELETE mahasiswa

FROM mahasiswa

WHERE NIM=”12099999”

Page 91: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 14 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

FUNGSI-FUNGSI AGREGASI

Yang termasuk fungsi-fungsi agregasi adalah :

- Average : avg

- Minimum : min

- Maximum : max

- Total : sum

- Count : count

Fungsi-fungsi di atas telah tersedia. Input untuk avg dan sum haruslah bertipe numerik.

Untuk operator lainnya dapat non-numerik.

Contoh : untuk mendapatkan rata-rata saldo rekening pada cabang Perryridge

Query-nya dapat ditulis :

Select avg(balance)

From account

where branch-name = “Perryridge”

Jika fungsi agregasi ingin diterapkan pada kelompok himpunan tuple, maka digunakan

klausa group by. Nama atribut/kel. Atribut dalam klausa group by digunakan untuk

membentuk grup/kelompok. Artinya tuple-tuple yang mempunyai nilai yang sama pada

semua atribut dalam klausa group-by dimasukkan dalam satu grup/kelompok.

Page 92: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 15 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Contoh :

Select branch-name, avg(balance)

From account

Group by branch-name

Jika suatu fungsi diterapkan pada grup/kelompok yang dibentuk oleh group by

maka digunakan klausa having setelah group by.

Contoh : ingin ditampilkan nama cabang yang mempunyai rata-rata saldo lebih dari 1200.

Query-nya :

Select branch-name, avg(balance)

From account

Group by branch-name having avg (balance)>1200

Fungsi agregrasi count sering digunakan untuk menghitung jumlah tuple dalam suatu relasi.

Notasi fungsi ini dalam SQL adalah count (*). Jadi untuk menentukan jumlah tuple dalam

relasi customer, ditulis :

Select count(*) from customer

Page 93: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 16 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

SUBQUERI TERSARANG (NESTED SUBQUERYS)

Biasanya digunakan untuk melalukuan test keanggotaan himpunan, perbandingan

himpunan dan kardinalitas himpunan.

Keanggotaan Himpunan

Digunakan in dan not in untuk melakukan test keanggotaan himpunan.

Contoh : untuk mendapatkan semua customer yang mempunyai pinjaman dan rekening

pada bank.

Pertama : menemukan semua pemegang reeking dengan query :

(select customer-name from depositor)

Kedua : mencari semua customer yang merupakan peminjam dan yang muncul dalam daftar

pemegang rekening. Maka dilakukan dengan “menyarangkan” subquery di atas dalam

sebuah select luar (outer select),

menjadi :

Select distinct customer-name

from borrower

Where customer-name

in (select customer-name from depositor)

Perbandingan Himpunan

Perhatikan query berikut : “Temukan semua nama cabang bank yang mempunyai asset

lebih besar dari bank-bank yang mempunyai minimal satu cabang berlokasi di Brooklyn”.

Page 94: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 17 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Query-nya ditulis :

Select branch-name from branch where assets > all

(select assets from branch where branch-city =

“Brooklyn”)

MODIFIKASI BASIS DATA

Meliputi menambah, menghapus dan mengubah informasi menggunakan SQL.

Penghapusan (Deletion)

Yang dapat dihapus (delete) hanyalah tuple bukan nilai pada suatu atribut

tertentu.

Dalam SQL, deletion diekspresikan dengan

Delete from r where p

Dimana p menunjukkan predikat dan r adalah relasi.

Contoh :

- Hapus semua rekening Smith, ditulis :

Delete from depositor where costomer-name = “Smith”

- Hapus semua pinjaman dengan jumlah pinjaman antara $1300 dan $1500

Delete from loan where amount between 1300 and 1500

- Hapus semua rekening pada setiap cabang yang berlokasi di Perryridge

Delete from account where branch-name in

(select branch-name

from branch where branch-city = “Perryridge”)

Page 95: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 18 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Penyisipan (Insertion)

Untuk menambahkan satu tuple dalam relasi digunakan statement insert. Contoh :

Insert into account values (“Perryridge”,”A-9732”,1200)

Query ini identik dengan

Insert into account (branch-name, account-number,balance)

Values (“Perryridge”,”A-9732”,1200)

Insert juga dapat dilakukan untuk suatu hasil dari query yang lain.

Contoh :

Insert into account select branch-name, loan-number, 200

From loan where branch-name = “Perryridge”

Update

Dalam situasi tertentu, diinginkan untuk mengganti nilai dalam sebuah tuple tanpa harus

mengganti semua nilai dalam tuple tersebut. Untuk tujuan ini dapat digunakan statement

update.

Contoh :

- untuk menaikkan saldo para nasabah sebesar 5% ditulis query sebagai berikut :

Update account set balance = balance * 1.05

- untuk menaikkan saldo nasabah sebesar 6% bagi nasabah yang saldonya lebih dari

$10000, ditulis query sebagai berikut :

Update account set balance = balance *1.06

Where balance >10000

Page 96: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 19 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Latihan :

1. Perhatikan relasi table berikut :

a. Sebutkan relasi antar hubungan dari table tersebut

b. Bagaimana cara membuat table tersebut

c. Buatkan Query untuk menampilkan data puskesmas

d. Buatkan Query untuk menampilkan data puskemas yang terdapat di DKI Jakarta

e. Bagaimana menyimpan data menggunakan Query kedlam table refpuskesmas)

Page 97: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 20 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

2. Apabila ada tambahan table sebagi berikut :

a. Buatkan Query untuk mengetahui transaksi bulan Mei tahun 2013 pada puskesmas yang

terdapat di Jakarta

b. Berapa jumlah total nilai pada tahun 2013 untuk semua puskesmas

c. Berapa jumlaj total nilai pada tahun 2013 untuk puskesmas yang memiliki id 10 dan 20

Page 98: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

MODUL PERKULIAHAN

Perancangan Basis Data

Model ER (Entity Relationship)

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

Fakultas Ilmu Komputer

Teknik Informatika

09 87012 Tim Dosen.

Abstract Kompetensi

Materi ini memahami Model ER (Entitiy Relationship)

Mahasiswa di harapkan lebih paham mengenai ER dan dapat menyelesaikan kasus dengan ER

Page 99: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 2 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Model ER (Entity Relationship)

Model Entity Relationship adalah suatu penyajian data dengan menggunakan

Entity dan Relationship

Mengapa Model E-R

– Mudah dimengerti oleh pemakai

– Mudah disajikan oleh perancang database

Entity adalah obyek yang dapat dibedakan dalam dunia nyata

Entity set adalah kumpulan dari entity yang sejenis

Entity set dapat berupa :

– Obyek secara fisik : Rumah, Kendaraan, Peralatan

– Obyek secara konsep : Pekerjaan , Perusahaan, Rencana

Relationship adalah hubungan yang terjadi antara satu atau lebih entity.

Relationship set adalah kumpulan relationship yang sejenis.

PEGAWAI KERJA

PROYEK

Page 100: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 3 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

ATRIBUT

Atribut adalah karakteristik dari entity atau relationship, yang menyediakan

penjelasan detail tentang entity atau relationship tersebut.

Nilai Atribut merupakan suatu data aktual atau informasi yang disimpan pada

suatu atribut di dalam suatu entity atau relationship.

Jenis-jenis atribut :

Key

Atribut yang digunakan untuk menentukan suatu entity secara unik.

Atribut Simple

Atribut yang bernilai tunggal.

Atribut Multivalue

Atribut yang memiliki sekelompok nilai untuk setiap instan entity.

Page 101: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 4 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Atribut Composite

Suatu atribut yang terdiri dari beberapa atribut yang lebih kecil yang mempunyai

arti tertentu.

Atribut Derivatif

Suatu atribut yang dihasilkan dari atribut yang lain.

Nama

Depan

Nama

Tengah

Nama

Belakang

NAMA

PEGAWAI

Page 102: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 5 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Derajat dari relationship

Menjelaskan jumlah entity yang berpartisipasi dalam suatu

relationship

PEGAWAI KERJA PROYEK

PEGAWAI LAPOR

PEGAWAI KERJA DEPARTEMEN

Unary Degree (Derajat Satu)

Binary Degree (Derajat Dua)

Ternary Degree (Derajat Tiga)

KOTA

Page 103: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 6 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Cardinality Ratio Constraint

Menjelaskan batasan jumlah keterhubungan satu entity dengan entity lainnya.

Jenis Cardinality Ratio

1 : 1

Page 104: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 7 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

1 : N / N : 1

Pegawai Kerja Departemen

. .

PEGAWAI KERJA

DEPARTEMEN

P1

P2

P3

P4

R1

R2

R3

R4

D1

D2

D3

N 1

Page 105: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 8 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

M : N

Page 106: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 9 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Participation Constraint

Menjelaskan apakah keberadaan suatu entity tergantung pada hubungannya

dengan entity lain .

Terdapat 2 macam Participation Constraint :

Total Participation

Keberadaan suatu entity tergantung pada hubungannya dengan entity lain.

Partial Participation

Keberadaan suatu entity tidak tergantung pada hubungannya dengan entity

lain.

PEGAWAI BAGIAN

N 1

PUNYA

Page 107: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 10 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Weak entity

Weak Entity adalah suatu Entity dimana keberadaan dari entity tersebut tergantung dari

keberadaan entity lain.

Entity yang merupakan induknya disebut Identifying Owner dan relationshipnya disebut

Identifying Relationship.

Weak Entity selalu mempunyai Total Participation constraint dengan Identifying Owner.

MILIK

PEGAWAI

TANGGUNGAN

NAMA ………. ………… NOPEG

Page 108: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 11 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Simbol-simbol ER-Diagram

Page 109: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 12 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Contoh Penggambaran Diagram ER

NOPEG NAPEG ALAMAT NABAG LOKASI

PEGAWAI

TGLLAH ANGGOTA

BAGIANUMUR

KERJA

NOBAG

PUNYA

JAM

1

M

N

N 1

1

P R O Y E K

NOPRO

NAPRO

ALM1 KDPOS

LOKAPR

TANGGUNGAN

NAMA JNKELT HUBUNGAN

N

PUNYA

KONTROL

PIMPIN

1 1

1 N

Page 110: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 13 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Transformasi dari ERD ke Database Relasional

1. Setiap tipe Entity dibuat suatu relasi yang memuat semua atribut simple, sedangkan

untuk atribut composite hanya dimuat komponen-komponennya saja.

PEGAWAI (NOPEG, ALM1, KDPOS, …….)

2. Setiap relasi yang mempunyai atribut multivalue, buatlah relasi baru dimana Primary

Keynya merupakan gabungan dari Primary Key dari relasi tersebut dengan atribut

multivalue.

LOKPR(NOPRO, LOKASI)

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

menunjuk ke nilai primary keynya.

PROYEK

....NOPRO LOKASI

PEGAWAI

NOPEG

ALAMAT

ALM1 KDPOS

Page 111: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 14 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

4. Setiap Unary Relationship M:N, buatlah relasi baru dimana primary keynya

merupakan gabungan dari dua atribut dimana keduanya menunjuk ke primary key

relasi awal dengan penamaan yang berbeda.

5. Setiap Binary Relationship 1:1, dimana Participation Constraint keduanya total, buatlah

suatu relasi gabungan dimana Primary Keynya dapat dipilih salah satu.

6. Setiap Binary Relationship 1:1 dan salah satu Participation Constraintnya Total, maka

Primary Key pada relasi yang Participation Constraintnya Partial menjadi Foreign Key

pada relasi yang lainnya.

Page 112: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 15 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

7. Setiap Binary Relationship 1:1, dimana kedua Participation Constraintnya partial, maka

selain kedua relasi perlu dibuat relasi baru yang berisi Primary Key gabungan dari

Primary Key kedua tipe Entity yang berelasi.

8. Setiap Binary Relationship 1 : N, dimana tipe Entity yang bersisi N mempunyai

Participation Constraint Total, maka Primary Key pada relasi yang bersisi 1 dijadikan

Foreign Key pada relasi yang bersisi N.

9. Setiap Binary Relationship 1 : N, dimana tipe Entity yang bersisi N mempunyai

Participation Constraint partial, buatlah relasi baru dimana Primary Keynya merupakan

gabungan dari Primary Key kedua tipe Entity yang berelasi.

Page 113: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 16 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

10. Setiap Binary Relationship M:N, buatlah relasi baru dimana Primary Keynya

merupakan gabungan dari Primary Key kedua tipe Entity yang berelasi.

11. Setiap Ternary Relationship, buatlah relasi baru dimana Primary Keynya merupakan

gabungan dari Primary Key ketiga tipe Entity yang berelasi.

PEKERJAAN ( NOPEG, NOPRO , NOKOT)

Page 114: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 17 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

12. Setiap tipe Weak Entity, dibuat suatu relasi yang memuat semua atributnya

dimana Primary Keynya adalah gabungan dari Partial Key dan Primary Key dari

relasi induknya (identifying owner).

Hasil Transformasi dari Diagram ER ke database relasional

:

Skema Database

PEGAWAI (NOPEG, NAPEG, ALM1, KDPOS,TGLLAH,

UMUR, SUPERVISOR-ID, NOBAG)

BAGIAN (NOBAG, NABAG, LOKASI, MANAGER)

PROYEK (NOPRO, NAPRO, NOBAG)

LOKPR (NOPRO, LOKAPR)

PEKERJAAN (NOPEG, NOPRO, JAM)

TANGGUNGAN (NOPEG, NAMA, JNKELT,HUBUNGAN)

Page 115: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

MODUL PERKULIAHAN

Perancangan Basis Data

DFD (Data Flow Diagram)

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

Fakultas Ilmu Komputer

Teknik Informatika

10 87012 Tim Dosen.

Abstract Kompetensi

Materi ini memahami tentang DFD (Data Flow Diagram)

Mahasiswa di harapkan lebih paham mengenai DFD dan dapat menyelesaikan kasus dengan DFD

Page 116: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 2 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

DFF (Data Flow Diagram)

KONSEP PERANCANGAN TERSTRUKTUR

Pendekatan perancangan terstruktur dimulai dari awal 1970. Pendekatan terstruktur

dilengkapi dengan alat-alat (tools) dan teknik-teknik (techniques) yang dibutuhkan dalam

pengembangan sistem, sehingga hasil akhir dari sistem yang dikembangkan akan diperoleh

sistem yang strukturnya didefinisikan dengan baik dan jelas.

Melalui pendekatan terstruktur, permasalahan yang komplek di organisasi dapat

dipecahkan dan hasil dari sistem akam mudah untuk dipelihara, fleksibel, lebih memuaskan

pemakainya, mempunyai dokumentasi yang baik, tepat waktu, sesuai dengan anggaran

biaya pengembangan, dapat meningkatkan produktivitas dan kualitasnya akan lebih baik

(bebas kesalahan)

DATA FLOW DIAGRAM (DFD)

Data Flow Diagram (DFD) adalah alat pembuatan model yang memungkinkan profesional

sistem untuk menggambarkan sistem sebagai suatu jaringan proses fungsional yang

dihubungkan satu sama lain dengan alur data, baik secara manual maupun komputerisasi.

DFD ini sering disebut juga dengan nama Bubble chart, Bubble diagram, model proses,

diagram alur kerja, atau model fungsi.

DFD ini adalah salah satu alat pembuatan model yang sering digunakan, khususnya bila

fungsi-fungsi sistem merupakan bagian yang lebih penting dan kompleks dari pada data

yang dimanipulasi oleh sistem.

Dengan kata lain, DFD adalah alat pembuatan model yang memberikan penekanan hanya

pada fungsi sistem.

DFD ini merupakan alat perancangan sistem yang berorientasi pada alur data dengan

konsep dekomposisi dapat digunakan untuk penggambaran analisa maupun rancangan

sistem yang mudah dikomunikasikan oleh profesional sistem kepada pemakai maupun

pembuat program.

Page 117: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 3 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

KOMPONEN DFD

• Menurut Yourdan dan

DeMarco

• Menurut Gene dan Serson

TERMINATOR / ENTITAS LUAR

Adalah Entitas diluar sistem yang berkomunikasi / berhubungan langsung dengan sistem.

Terdapat 2 jenis Terminator :

1. Terminator Sumber

Merupakan Terminator yang menjadi sumber

2. Terminator Tujuan

Merupakan Terminator yang menjadi tujuan data / informasi sistem.

Page 118: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 4 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Terminator dapat berupa orang, sekelompok orang, organisasi, perusahaan/departemen

yang berada diluar sistem yang akan dibuat, diberi nama yang berhubungan dengan sistem

tsb dan biasanya menggunakan kata benda.

Contoh : Dosen, Mahasiswa.

Hal yang perlu diperhatikan tentang terminator :

1. Alur data yang menghubungkan terminator dgn sistem, menunjukkan hubungan

sistem dgn unia luar.

2. Profesional sistem tidak dapat mengubah isi/cara kerja, prosedur yang berkaitan dgn

Terminator.

3. Hubungan yang ada antar terminator tidak digambarkan dalam DFD.

Page 119: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 5 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

KOMPONEN PROSES

Komponen proses menggambarkan transformasi input menjadi output.

Penamaan proses disesuaikan dgn proses/kegiatan yang sedang dilakukan.

Ada 4 kemungkinan yang dapat terjadi dalam proses sehubungan dgn input dan output

:

Ada bbrp hal yang perlu diperhatikan tentang proses :

1. Proses harus memiliki input dan output.

2. proses dapat dihubungkan dgn komponen terminator, data store atau proses melalui

alur data.

3. Sistem/bagian/divisi/departemen yang sedang dianalisis oleh profesional sistem

digambarkan dgn komponen proses.

Page 120: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 6 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

KOMPONEN DATA STORE

Komponen ini digunakan untuk membuat model sekumpulan paket data dan diberi nama

dgn kata benda bersifat jamak. Data store dapat berupa file/database yang tersimpan dalam

disket, harddisk atau bersifat manual seperti buku alamat, file folder.

Yang perlu diperhatikan tentang data store :

1. Alur data dari proses menuju data store, hal ini berarti data store berfungsi sebagai

tujuan/tempat penyimpanan fari suatu proses (proses write).

2. Alur data dari data store ke proses, hal ini berarti data store berfungsi sbg sumber/

proses memerlukan data (proses read).

3. Alur data dari proses menuju data store dan sebaliknya berarti berfungsi sbg sumber

dan tujuan.

Lihat gambar berikut :

Page 121: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 7 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

KOMPONEN ALUR DATA

Alur data digunakan untuk menerangkan perpindahan data / paket data dari satu bagian ke

bagian lainnya.

Alur data dapat berupa kata, pesan, formulir / informasi.

Ada 4 konsep tentang alur data :

1. Packets of data

Apabila ada 2 data / lebih yg mengalir dari 1 sumber yg sama menuju pada tujuan yg sama

& mempunyai hubungan digambarkan dgn 1 alur data.

Contoh :

Page 122: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 8 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

2. Diverging data flow

Apabila ada sejumlah paket data yg berasal dari sumber yg sama menuju pada tujuan yg

berbeda atau paket data yg kompleks dibagi menjadi bbrp elemen data yg dikirim ke tujuan

yg berbeda.

Contoh :

Page 123: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 9 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

3. Converging data flow

Apabila ada bbrp alur data yg berbeda sumber menuju ke tujuan yg

sama.

Contoh :

4. Sumber dan Tujuan

Arus data harus dihubungkan pada proses, baik dari maupun yg menuju proses.

Page 124: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

MODUL PERKULIAHAN

Perancangan Basis Data

DFD (Data Flow Diagram)

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

Fakultas Ilmu Komputer

Teknik Informatika

11 87012 Tim Dosen.

Abstract Kompetensi

Materi ini memahami DFD (Data Flow Diagram)

Mahasiswa di harapkan lebih paham mengenai DFD dan dapat menyelesaikan kasus dengan DFD.

Page 125: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 2 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Bentuk Data Flow Diagram

Terdapat dua bentuk DFD, yaitu Diagram Alur Data Fisik, dan Diagram Alur data Logika.

Diagram alur data fisik lebih menekankan pada bagaimana proses dari sistem diterapkan,

sedangkan diagram alur data logika lebih menekankan proses-proses apa yang terdapat di

sistem.

Diagram Alur Data Fisik (DADF)

DADF lebih tepat digunakan untuk menggambarkan sistem yang ada (sistem yang lama).

Penekanan dari DADF adalah bagaimana proses-proses dari sistem diterapkan (dengan

cara apa, oleh siapa dan dimana), termasuk proses-proses manual.

Untuk memperoleh gambaran bagaimana sistem yang ada diterapkan, DADF harus memuat

:

1. Proses-proses manual juga digambarkan.

2. Nama dari alur data harus memuat keterangan yang cukup terinci untuk

menunjukkan bagaimana pemakai sistem memahami kerja sistem.

3. Simpanan data dapat menunjukkan simpanan non komputer.

4. Nama dari simpanan data harus menunjukkan tipe penerapannya apakah secara

manual atau komputerisasi. Secara manual misalnya dapat menunjukkan buku

catatat, meja pekerja. Sedang cara komputerisasi misalnya menunjukkan file urut,

file database.

5. Proses harus menunjukkan nama dari pemroses, yaitu orang, departemen, sistem

komputer, atau nama program komputer yang mengakses proses tersebut.

Page 126: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 3 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Diagram Alur Data Logika (DADL)

DADL lebih tepat digunakan untuk menggambarkan sistem yang akan diusulkan (sistem

yang baru). Untuk sistem komputerisasi, penggambaran DADL hanya menunjukkan

kebutuhan proses dari sistem yang diusulkan secara logika, biasanya proses-proses yang

digambarkan hanya merupakan proses-proses secara komputer saja.

SYARAT-SYARAT PEMBUATAN DATA FLOW DIAGRAM

Syarat pembuatan DFD ini akan menolong profesional sistem untuk menghindari

pembentukkan DFD yang salah atau DFD yang tidak lengkap atau tidak konsisten secara

logika. Beberapa syarat pembutan DFD dapat menolong profesional sistem untuk

membentuk DFD yang benar, menyenangkan untuk dilihat dan mudah dibaca oleh pemakai.

Page 127: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 4 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Syarat-syarat pembuatan DFD ini adalah :

1. Pemberian nama untuk tiap komponen DFD

2. Pemberian nomor pada komponen proses

3. Penggambaran DFD sesering mungkin agar enak dilihat

4. Penghindaran penggambaran DFD yang rumit

5. Pemastian DFD yang dibentuk itu konsiten secara logika

Pemberian Nama untuk Tiap komponen DFD

Seperti yang telah dijelaskan sebelumnya, komponen terminator mewakili lingkungan luar

dari sistem, tetapi mempunyai pengaruh terhadap sistem yang sedang dikembangkan ini.

Maka agar pemakai mengetahui dengan lingkungan mana saja sistem mereka

berhubungan, komponen terminator ini harus diberi nama sesuai dengan lingkungan luar

yang mempengaruhi sistem ini. Biasanya komponen terminator diberi nama dengan kata

benda.

Selanjutnya adalah komponen proses. Komponen proses ini mewakili fungsi sistem yang

akan dilaksanakan atau menunjukkan bagaimana fungsi sistem dilaksanakan oleh

seseorang, sekelompok orang atau mesin. Maka sangatlah jelas bahwa komponen ini perlu

diberi nama yang tepat, agar siapa yang membaca DFD khususnya pemakai akan merasa

yakin bahwa DFD yang dibentuk ini adalah model yang akurat.

Pemberian nama pada komponen proses lebih baik menunjukkan aturan-aturan yang akan

dilaksanakan oleh seseorang dibandingkan dengan memberikan nama atau identitas orang

yang akan melaksanakannya. Ada dua alasan mengapa bukan nama atau identitas orang

(yang melaksanakan fungsi sistem) yang digunakan sebagai nama proses, yaitu :

• Orang tersebut mungkin diganti oleh orang lain saat mendatang, sehingga bila tiap

kali ada pergantian orang yang melaksanakan fungsi tersebut, maka sistem yang

dibentuk harus diubah lagi.

Page 128: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 5 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

• Orang tersebut mungkin tidak melaksanakan satu fungsi sistem saja, melainkan

beberapa fungsi sistem yang berbeda. Daripada menggambarkan beberapa proses

dengan nama yang sama tetapi artinya berbeda, lebih baik tunjukkan dengan

tugas/fungsi sistem yang sebenarnya akan dilaksanakan.

Karena nama untuk komponen proses lebih baik menunjukkan tugas/fungsi sistem yang

akan dilaksanakan, maka lebih baik pemberian nama ini menggunakan kata kerja transitif.

Pemberian nama untuk komponen data store menggunakan kata benda, karena data store

menunjukkan data apa yang disimpan untuk kebutuhan sistem dalam melaksanakan

tugasnya. Jika sistem sewaktu-waktu membutuhkan data tersebut untuk melaksanakan

tugasnya, maka data tersebut tetap ada, karena sistem menyimpannya.

Begitu pula untuk komponen alur data, namanya lebih baik diberikan dengan menggunakan

kata benda. Karena alur data ini menunjukkan data dan infiormasi yang dibutuhkan dan

yang dikeluarkan oleh sistem dalam pelaksanaan tugasnya.

Pemberian Nomor pada Komponen Proses

Biasanya profesional sistem memberikan nomor dengan bilangan terurut pada komponen

proses sebagai referensi. Tidak jadi masalah bagaimana nomor-nomor proses ini diberikan.

Nomor proses dapat diberikan dari kiri ke kanan, atau dari atas ke bawah, atau dapat pula

dilakukan dengan pola-pola tertentu selama pemberian nomor ini tetap konsisten pada

nomor yang dipergunakan.

Page 129: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 6 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Contoh pemberiaan nama pada proses

Nomor-nomor proses yang diberikan terhadap komponen proses ini tidak dimaksudkan

bahwa proses tersebut dilaksanakan secara berurutan. Pemberian nomor ini dimaksudkan

agar pembacaan suatu proses dalam suatu diskusi akan lebih mudah dengan hanya

menyebutkan prosesnya saja jika dibandingkan dengan menyebutkan nama prosesnya,

khususnya jika nama prosesnya panjang dan sulit.

Maksud pemberian nomor pada proses yang lebih penting lagi adalah untuk menunjukkan

referensi terhadap skema penomoran secara hirarki pada levelisasi DFD. Dengan kata lain,

nomor proses ini merupakan dasar pemberian nomor pada levelilasi DFD. (Lihat gambar

levelisasi DVD)

Penggambaran DFD sesering mungkin

Penggambaran DFD dapat dilakukan berkali-kali sampai secara teknik DFD itu benar, dapat

diterima oleh pemakai, dan sudah cukup rapih sehingga profesional sistem tidak merasa

malu untuk menunjukkan DFD itu kepada atasannya dan pemakai.

Dengan kata lain, penggambaran DFD ini dilakukan sampai terbentuk DFD yang enak

dilihat, dan mudah dibaca oleh pemakai dan profesional sistem lainnya. Keindahan

penggambaran DFD tergantung pada standar-standar yang diminta oleh organisasi tempat

profesional sistem

itu bekerja dan perangkat lunak yang dipakai oleh profesional sistem dalam membuat DFD.

Page 130: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 7 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Penggambaran yang enak untuk dilihat dapat di lakukan dengan memperhatikan hal-hal

berikut ini :

• Ukuran dan bentuk proses.

Beberapa pemakai kadang-kadang merasa bingung bila ukuran proses satu berbeda

dengan proses yang lain. Mereka akan mengira bahwa proses dengan ukuran yang

lebih besar akan diduga lebih penting dari proses yang lebih kecil. Hal ini sebenarnya

hanya karena nama proses itu lebih panjang dibandingkan dengan proses yang lain.

Jadi, sebaiknya proses yang digambarkan memiliki ukuran dan bentuk yang sama.

• Alur data melingkar dan alur data lurus.

Alur data dapat digambarkan dengan melingkar atau hanya garis lurus. Mana yang

lebih enak dipandang tergantung siapa yang akan melihat DFD tersebut.

• DFD dengan gambar tangan dan gambar menggunakan mesin.

DFD dapat digambarkan secara manual atau dengan menggunakan bantuan mesin,

tergantung pilihan pemakai atau profesional sistem.

Penghindaran Penggambaran DFD yang rumit

Tujuan DFD adalah untuk membuat model fungsi yang harus dilaksanakan oleh suatu

sistem dan interaksi antar fungsi. Tujuan lainnya adalah agar model yang dibuat itu mudah

dibaca dan dimengerti tidak hanya oleh profesional sistem yang membuat DFD, tetapi juga

oleh pemakai yang berpengalaman dengan subyek yang terjadi. Hal ini berarti DFD harus

mudah dimengerti, dibaca, dan menyenangkan untuk dilihat.

Page 131: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 8 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Pada banyak masalah, DFD yang dibuat tidak memiliki terlalu banyak proses (maksimal

enam proses) dengan data store, alur data, dan terminator yang berkaitan dengan proses

tersebut dalam satu diagram.

Bila terlalu banyak proses, terminator, data store, dan alur data digambarkan dalam satu

DFD, maka ada kemungkinan terjadi banyak persilangan alur data dalam DFD tersebut.

Persilangan alur data ini menyebabkan pemakai akan sulit membaca dan mengerti DFD

yang terbentu. Jadi semakin sedikit adanya persilangan data pada DFD, maka makin baik

DFD yang dibentuk oleh profesional sistem.

Persilangan alur data ini dapat dihindari dengan menggambarkan DFD secara

bertingkat-tingkat (levelisasi DFD), atau dengan menggunakan pemakaian duplikat

terhadap komponen DFD.

Komponen DFD yang dapat menggunakan duplikat hanya komponen store dan terminator.

Pemberian duplikat ini juga tidak dapat diberikan sesuka profesional sistem yang membuat

DFD, tetapi makin sedikit pemakaian duplikat, makin baik DFD yang terbentuk.

Pemberian duplikat terhadap data store dilakukan dengan memberikan simbol garis lurus (|)

atau asterik (*), sedangkan untuk terminator menggunakan simbol garis miring (/) atau

asterik (*). Banyaknya pemberian simbol duplikat pada duplikat yang digunakan tergantung

banyaknya duplikat yang digunakan.

Contoh pemakain symbol duplikat pada terminator:

a) Satu duplikat yang digunakan

b) Dua duplikat yang digunakan

Page 132: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 9 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Penggambaran DFD yang Konsisten

Penggambaran DFD harus konsisten terhadap kelompok DFD lainnya. Profesional sistem

menggambarkan DFD berdasarkan tingkatan DFD dengan tujuan agar DFD yang dibuatnya

itu mudah dibaca dan dimengerti oleh pemakai sistem. Hal ini sesuai dengan salah satu

tujuan atau syarat membuat DFD.

PENGGAMBARAN DFD

Tidak ada aturan baku untuk menggambarkan DFD. Tapi dari berbagai referensi yang

ada, secara garis besar langkah untuk membuat DFD adalah :

1. Identifikasi terlebih dahulu semua entitas luar yang terlibat di sistem.

2. Identifikasi semua input dan output yang terlibat dengan entitas luar.

3. Buat Diagram Konteks (diagram context)

Diagram ini adalah diagram level tertinggi dari DFD yang menggambarkan hubungan

sistem dengan lingkungan luarnya.

Caranya :

• Tentukan nama sistemnya.

• Tentukan batasan sistemnya.

• Tentukan terminator apa saja yang ada dalam sistem.

• Tentukan apa yang diterima/diberikan terminator dari/ke sistem.

• Gambarkan diagram konteks.

4. Buat Diagram Level Zero

Diagram ini adalah dekomposisi dari diagram konteks. Caranya :

• Tentukan proses utama yang ada pada sistem.

• Tentukan apa yang diberikan/diterima masing-masing proses ke/dari sistem sambil

memperhatikan konsep keseimbangan (alur data yang keluar/masuk dari suatu level

harus sama dengan alur data yang masuk/keluar pada level berikutnya).

Page 133: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 10 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

• Apabila diperlukan, munculkan data store (master) sebagai sumber maupun tujuan

alur data.

• Gambarkan diagram level zero.

- Hindari perpotongan arus data

- Beri nomor pada proses utama (nomor tidak menunjukkan urutan proses).

5. Buat Diagram Level Satu

Diagram ini merupakan dekomposisi dari diagram level zero.

Caranya :

• Tentukan proses yang lebih kecil (sub-proses) dari proses utama yang ada di level

zero.

• Tentukan apa yang diberikan/diterima masing-masing sub-proses ke/dari sistem dan

perhatikan konsep keseimbangan.

• Apabila diperlukan, munculkan data store (transaksi) sebagai sumber maupun tujuan

alur data.

• Gambarkan DFD level Satu

- Hindari perpotongan arus data.

- Beri nomor pada masing-masing sub-proses yang menunjukkan dekomposisi

dari proses sebelumnya. Contoh : 1.1, 1.2, 2.1

6. DFD Level Dua, Tiga, …

Diagram ini merupakan dekomposisi dari level sebelumnya. Proses dekomposisi

dilakukan sampai dengan proses siap dituangkan ke dalam program. Aturan yang

digunakan sama dengan level satu.

Page 134: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 11 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Levelisasi DFD

Pada gambar tersebut terlihat bahwa Proses 0 diuraikan lagi ke dalam empat proses,

penguraian ini digambarkan pada diagram Figure 0, sedangkan Proses 2 diuraikan kembali

menjadi tiga proses yang digambarkan pada diagram Figure 2.

Page 135: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 12 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Penguraian ini juga diikuti oleh alur data yang berkaitan dengan tiap proses yang diuraikan.

Alur data yang berkaitan dengan tiap proses yang diuraikan dikenal dengan Alur data

global.

Jadi pada balancing DFD yang perlu diperhatikan adalah jumlah alur data global pada suatu

level harus sama pada level berikutnya.

Ada beberapa hal yang perlu diperhatikan dalam penggambaran levelisasi DFD, yaitu :

• Dalam diagram konteks, ada beberapa hal yang perlu diperhatikan seperti hubungan

sistem dengan dunia luar yang mempengaruhinya, penggambaran sistem dalam

satu proses, dan penggambaran data store (optional) yang dikenal dengan data

store eksternal atau data store master. Data store eksternal ini maksudnya adalah

data store itu dihasilkan oleh sistem yang sedang dianalisis, tetapi digunakan oleh

sistem lain, atau data store itu dihasilkan oleh sistem lain tetapi digunakan oleh

sistem yang sedang dianalisis.

• Balancing (kesimbangan) dalam penggambaran levilisasi DFD perlu diperhatikan.

Balancing DFD ini maksudnya keseimbangan antara alur data yang masuk/keluar

dari suatu level harus sama dengan alur data yang masuk/keluar pada level

berikutnya (lihat gambar levelisasi DFD).

Page 136: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

MODUL PERKULIAHAN

Perancangan Basis Data

Desain Fisik Data Warehouse

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

Fakultas Ilmu Komputer

Teknik Informatika

12 87012 Tim Dosen.

Abstract Kompetensi

Materi ini berisi penjelasan desain fisik pada data warehouse

Mahasiswa dapat memahami desin fisik data warehuse

Page 137: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 2 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Desain fisik data warehouse

Data Partitioning

Isu desain pada datawarehouse yang cukup penting adalah partitioning. Pengertian dari

data partitioning adalah membagi data pada tempat penyimpanan fisik yang terpisah serta

dapat di atur secara independent.

Benefit yang didapat dengan melakukan pertitioning adalah peningkatan performansi query

pada suatu tabel. Jika tabel terpartisi maka query optimizer dapat menentukan bahwa hasil

dari query tersebut dapat dipenuhi hanya dengan membaca suatu bagian tertentu. Sehingga

proses pencarian dengan full table scan yang memakan resource dapat dihindarkan. Fitur ini

dikenal dengan istilah Partition elimination atau Dynamic partition pruning.

Contoh partitioning pada peningkatan ketersediaan data (availability) adalah dengan cara

meletakan masing-masing partisi pada physical disk yang terpisah. Sehingga jika data pada

suatu disk rusak, maka data lain tetap dapat di akses dengan baik.

Tabel yang dapat dipertimbangkan untuk dipartisi adalah tabel yang memiliki ukuran lebih

dari 2 GB. Selain itu partisi juga dapat digunakan untuk tabel yang bersifat read-only

historical data. Contoh tabel yang biasa dipartisi adalah suatu fact table yang berisi data

Page 138: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 3 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

historical tahunan dimana data yang mengalami perubahan hanya di partisi terakhir

sedangkan partisi yang lain bersifat read-only.

Sebuah tabel dapat dipartisi menggunakan kolom disebut partition key. Secara umum,

setiap kolom numerik, karakter, atau tanggal tipe data dapat digunakan sebagai kunci

partisi, namun Anda tidak bisa partisi tabel dengan tipe LONG atau tipe LOB

Pada RDBMS Oracle, metode partisi pada tabel dapat diklasifikasikan sebagai berikut :

• Range Partitioning

• Hash Partitioning

• List Partitioning

• Composite Partitioning

Range Partitioning

Ini merupakan metoda yang paling sering digunakan, dimana data di partisi kedalam range

tertentu sehingga tidak akan terjadi overlapping. Masing-masing partisi dibuat dengan cara

mendefinisikan batas atas dari suatu data. Data yang masuk akan menyesuaikan dengan

batasan data yang telah di definisikan. Metoda ini sangat cocok untuk suatu partition key

yang bersifat continue seperti time.

Pada metode ini dimungkinkan jumlah data per partisi tidak sama besar. Tergantung

banyaknya transaksi yang terjadi setiap bulan.

Page 139: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 4 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Hash Partitioning

Metoda ini memodifikasi metoda range partition dengan menambahkan fungsi hash pada

partition key nya. Nilai out put yang dihasilkan digunakan untuk menentukan partisi mana

yang akan digunakan.

Dengan metode ini, seluruh produk dengan nilai PRODUCT_ID yang sama akan

ditempatkan pada partisi yang sama, namun user tidak dapat melakukan control suatu

produk untuk diletakkan pada suatu partisi tertentu. User hanya dapat menentukan berapa

banyak jumlah partisi.

Penerapan metoda ini memungkinkan optimizer melakukan partition prunung jika ada query

yang meminta secara spesifik nilai dari partition key. Contoh : berapa banyak tent yang

terjual dalam satu bulan ?. Namun jika queri yang diminta adalah range suati ID product,

maka proses full table scan tetap akan dijalankan.

Page 140: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 5 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

List Partitioning

Metoda ini memungkinkan data untuk didistribusikan berdasarkan nilai diskrit suatu kolom.

Metoda ini memungkinkan optimizer untuk melakukan partition prunning. Sebagai contoh :

queri yang memerlukan Massachusetts (MA) atau data New Hampshire (NH), optimizer

hanya akan mencari pada partisi NortEast.

Composite Partitioning

RDBMS Oracle menyediakan dua macam composite partition, yaitu :

• Range-hash

Seperti yang telah diuraikan di atas, metoda hash partition tidak memungkinkan user

untuk melakukan kontrol terhadap distribusi data, di sisilain metoda range partition

memungkinkan jumlah data yang besar pada partisi tertentu. Metoda range hash

partition menggabungkan benefit dari metoda-metoda tersebut. Pertama data di partisi

berdasarkan range kemudian masing-masing partisi dibagi menjadi sub partisi dengan

distribusi dengan menggunakan fungsi hash.

Page 141: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 6 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Sebagai contoh : pertama data dipartisi dengan menggunakan nilai month kemudian

data di sub partisi berdasarkan product dengan menambahkan fungsi hash.

• Range List

Metoda ini akan melakukan partisi pertama kali dengan metode range-partition dengan

cara menggunakan continues key seperti time kemudian sub partisi pada tiap partisi

akan menggunakan metoda nilai diskrit dari suatu kolom.

Index

Indexing merupakan teknik yang penting dalam efisiensi suatu query. Oracle menyediakan

tiga tipe index yang digunakan dalam data warehouse :

• B*tree Index

• Bitmap Index

• Bitmap Join Index

Page 142: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 7 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

B*tree Index

Indeks B*tree memliki struktur hirarki yang memungkinkan pencarian dalam tabel dengan

cepat berdasarkan suatu nilai tertentu dari index key. Indeks ini menyimpan pointer suatu

record menggunakan rowid, yang secara unik mengidentifikasi lokasi fisik dari record dalam

suatu disk. Terdapat dua jenis index B*tree :

• Unique

Dimana indeks ini akan memastikan setiap record akan memiliki nilai unik sebagai key.

Nilai ini akan terbentuk secara otomatis ketika constraint PRIMARY KEY atau UNIQUE

diaktifkan dalam suatu tebel.

• Non unique

Indeks ini akan meningkatkan performansi queri ketika result yang di hasilkan bukan

berdasarkan key nya.

B*tree indeks digunakan jika isi dari indeks key memiliki nilai distinct yang banyak, dimana

tiap nilai akan mengacu pada suatu record pada tabel.

Page 143: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 8 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Bitmap Index

Indeks ini di desain untuk mempercepat query yang melibatkan kolom bernilai distinct

rendah namun berpotensi untuk menghasilkan jumlah data yang besar. Nilai distinct tersebut

disebut dangan kardinalitas. Metode ini menyimpan nilai bitmap untuk setiap nilai unik dalam

satu row

Bitmap index akan terkompress secara otomatis sehingga akan memerlukan media

penyimpanan yang lebih sediki dibandingkan dengan B*tree index. Penghematan dapat

terjadi secara signifikan jika nilai distinct dari suatu kolom bernilai kecil. Kerugian utama dari

metoda ini adalah diperlukan efort yang besar ketika terjadi perubahan data. Hal ini

dikarenakan indeks tersebut harus di uncompress, recompress dan kemungkinan dilakukan

rebuild.

Sebagai contoh pada kolom GENDER (memiliki dua nilai M dan F, kardinalitas = 2), dua

buah nilai akan dibuat baik untuk nilai M atau F.

Perbedaan lain dengan B*tree adalah pada saat update, jika B*tree hanya melakukan

locking pada suatu record tertentu, pada Bitmap sebagian besar bitmap perlu di lock.

Sehingga bitmap indeks mengurangi concurrency pada sistem dengan kata lain bitmap tidak

cocok diterapkan pada sistem dengan banyak aktivitas update concurrency.

Page 144: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 9 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Bitmap Join Index

Bitmap ini terbentuk dari kondisi join suatu tabel Fact dengan satu atau beberapa tabel

Dimensi. Perbedaan dengan Bitmap index adalah jika Bitmap dibuaat berdasarkan kolom

pada suatu single table sedangkan Bitmap Join Index dibuat pada fact table tapi untuk index

kolomnya dari dimension table. Bitmap join Index juga memiliki low cardinality pada kolom

yang hendak di index nya.

Function Base Index

Salah satu permasalahan yang sering terjadi adalah jika suatu query mengandung unsur

fungsi pada indexnya. Jika ini terjadi maka optimizer tidak akan mempergunakan objek

index. Sebagai contoh adalah query yang menggunakan predicate function seperti

TO_UPPER(), TO_NUMBER() atau suatu ekspresi. Dalam kondisi ini function base index

diperlukan.

Jika hendak menggunakan dengan Bitmap index, hal yang harus diperhatikan adalah kolom

yang digunakan tetap harus memiliki kardinalitas yang rendah.

Page 145: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 10 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Kompresi Data

Peningkatan data secara signifikan ini menjadi suatu tantangan yang cukup serius bagi

manajemen dan pengelola teknologi informasi. Masalah utama yang cukup perlu

diperhatikan adalah tempat penyimpanan data yang akan terus bertambah, walaupun dari

sisi harga per megabyte mengalami penurunan pada masa sekarang ini, namun

pertumbuhan volume data besar yang harus disimpan secara online ini menyebabkan

komponen biaya tempat penyimpanan menjadi besar pula. Di sisilain, pengaksesan data

oleh aplikasi dituntut tidak boleh berkurang performansinya

Kompresi Tabel

Pada database oracle data disimpan pada sebuah segmen yang terdiri dari beberapa data

block dimana ini merupakan satuan terkecil dari tempat penyimpanan denganukuran standar

8 Kb. Data segmen melakukan kompresi pada tabel dengan mengidentifikasi nilai yang

berulang pada setiap data block kemudian meletakkan data tersebut pada tabel lookup di

awal blok.

Ketika sebuah query dijalankan terhadap suatu tabel terkompresi, oracle secara otomatis

melakukan uncompress secara otomatis. Meski ada overhead dalam prosesnya, namun hal

ini sangat kecil dan benefit yang didapat dalam mengurangi I/O sangat besar.

Page 146: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 11 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Kompresi Index

Pada B*tree index, oracle melakukan key compression dengan cara hanya menyimpan

sekali nilai common prefix of index key dalam suatu blok index. Sedang pada Bitmap Index

setiap nilai index sudah ter kompresi secara otomatis.

Page 147: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

MODUL PERKULIAHAN

Perancangan Basis Data

OLAP

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

Fakultas Ilmu Komputer

Teknik Informatika

13 87012 Tim Dosen.

Abstract Kompetensi

Materi ini berisi penjelasan OLAP Mahasiswa dapat memahami OLAP dan menerapkan dalam kegiatan sehari-hari

Page 148: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 2 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

OLAP

PENGERTIAN

OLAP memiliki beberapa pengertian, hal ini terjadi karena elemen esensial nya

diekspresikan dalam layer teknologi mulai layer dari storage hingga language. Pengertian

tersebut dapat di bagi pada layer konsep, bahasa, produk, dan produk OLAP secara

keseluruhan.

Konsep OLAP mencakup pengertian mengenai notasi atau ide dari multiple dimensi hirarki

yang dapat digunakan oleh siapa saja yang mampu memikirkan sesuatu dalam bentuk

dimensional. Konsep ini dapat dilakukan tanpa tergantung bahasa formal ataupun produk

tertentu.

Page 149: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 3 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Bahasa OLAP mencakup Data Definition Language (DDL), Data Manipulation Language

(DML), Data Representation Language (DRL) dan asscociated parser dapat digunakan

untuk model deskriptif, baik untuk data transaksional atauapun decision support.

Pada layer produk, OLAP biasanya berada diatas suatu database relasional dan

menghasilkan SQL sebagai output dari kompilasinya. Penyimpanan dan akses data

biasanya di atur oleh database.

Produk Full OLAP digunakan untuk pemodelan Decision Support System (DSS) dimana

compiler, storage dan metode akses telah dioptimasi untuk peningkatan kecepatan akses

dan kemampuan kalkulasi..

EVOLUSI FUNGSIONAL OLAP

Dewasa ini produk teknologi yang digunakan untuk menggambarkan informasi berbasiskan

analisis dan decission oriented adalah spreadsheet dan database. Pada umumnya

spreadsheet digunakan oleh end user sedangkan database di administrasi oleh professional

IT,

Evolusi Spreadsheet dan OLAP

Di era 80 dimana kemampuan Personal Computer meningkat tajam, banyak profesional

menggunakan desktop untuk melakukan aplikasi analisis. Spreadsheet yang pertama kali

seperti Panaview , Look ‘n’ Link dan Budget Express. Fitur dan fasilitas terus berkembang

sehingga mendekati kebutuhan fungsional OLAP.

Di era 1993 produk spreadsheet seperti MS Excell menyediakan kemampuan pivot table

Dimana pivot atau n-way crosstab, merupakan representasi multidimensi. Namun produk ini

tidak terintegrasi pada fungsi utama spreadsheet karena untuk menggunakannya, perlu

dilakukan import data dari Excell Worksheet kedalam Excell pivot. Pada saat ini, versi

Microsoft Office 2000 telah memiliki fitur yang disebut dengan pivot table service yang

merupakan bagian dari Microsoft client-resident OLAP technology.

Page 150: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 4 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

OLAP, Model Relasi dan Database

Di era 80 penyedia teknologi seperti Oracle dan IBM menjadikan relasional sebagai produk

komersial. SQL sebagai implementasi dari relasional database untuk melakukan akses data

terus mengalami perkembangan kemampuannya. Hingga pada perkembangan SQL-99

yang di rilis dibulan Desember 2001 telah menambahkan kemampuannya dalam hal

penganan fungsional OLAP

Sebagai contoh adalah sebagai laporan berikut, dimana data menggambarkan penurunan

penjualan dibandingkan dengan perencanaan. Dari data diharapkan manajemen dapat

mengambil keputusan untuk stategi berikutnya.

Product Managers Quarterly report

Regional Managers Quarterly report

Page 151: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 5 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Star schema untuk kebutuhan diatas dapat digambarkan sebagai berikut :

• OLAP dengan Spreadsheet

Masalah pertama yang dihadapi adalah menentukan bentuk data, apakah akan

direpresentasikan dalam sebuah gigantic worksheet ?, jika ya, maka masalah berikutnya

adalah bagaimana cara mengorganisasikannya. Kemungkinan untuk memudahkan, data

akan di distribusikan pada beberapa worksheet. Disini juga dapat dilakukan bermacam

opsi, worksheet dapat dibuat berdasarkan tiap produk dan atau tiap store dan atau tiap

minggu. Secara teoritical semua metode dapat berjalan. Namun akan cukup merepotkan

dalam melakukan integrasi data. Sebagai gambaran dengan asumsi terdapat 100

produk , 3 skenario dan 13 measure maka akan terbentuk 3900 worksheet data.

Spreadsheet tidak di desain untuk bekerja dengan data multi dimensi, dimana ini

seharusnya menjadi prerequisite untuk bekerja dengan OLAP.

Page 152: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 6 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Berikutnya adalah masalah untuk mengagregasikan data dimana tiap worksheet perlu

melakukan roll up untuk mendefinisikan suatu fungsi agregasi. Dengan asumsi terdapat

3900 worksheet , maka akan terbentuk 3900 duplikasi untuk hirarki storage-city-region.

Pada faktanya spreadsheet tidak menyediakan dukungan untuk hirarki OLAP.

• OLAP dengan SQL

Jika SQL digunakan untuk menangani fungsi agregasi, SQL akan membentuk satu tabel

agregasi untuk setiap kombinasi unik tiap level. Dengan tiga level time, tiga level toko,

dan empat level produk akan dibutuhkan 36 tabel kombinasi agregasi yang unik.

Tiga puluh enam level agregasi

Dimana setiap tabel akan dibuat objek secara terpisah dengan menggunakan statement

CREATE TABLE. Sebagai contoh :

Page 153: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 7 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

CREATE TABLE quarter-region-prodtype

( quarter (CHAR 16),

region (CHAR 16),

prodtype (CHAR 16),

scenario (CHAR 16),

sales (DOUBLE FLOAT),

costs (DOUBLE FLOAT) )

Kemudian untuk mempersiapkan populasi data pada tabel quarter-region-prodtype,

dibuat view untuk lookup :

CREATE VIEW quarter-name (quarter, month-id) AS

SELECT quarter, month-id

FROM time-lookup

CREATE VIEW region-level (region, store-id) AS

SELECT region, store-id

FROM store-lookup

CREATE VIEW product-type (prodtype, prod-id) AS

SELECT prodtype, prod-id

FROM product-lookup

Proses penggabungan view serta join dengan base table ini digunakan untuk

menghasilkan data yang dibutuhkan sehingga pada akhirnya dapat dihasilkan data

sebagai berikut :

Page 154: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 8 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Tabel nilai aktual

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

Page 155: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 9 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Modifikasi tampilan bagi end-user :

Oracle BI Spreadsheet AddIns

Untuk membuat laporan berbasis analisis melalui spreadsheet, DBMS Oracle memiliki

beberapa metoda, salah satunya adalah dengan menambahkan add ins. Berikut ini contoh

tampilan report berbasis analisi yang bisa dihasilkan dengan Ms. Excell, dimana data dan

objek dimensi disimpan pada database Oracle sedangkan ad-hoc report, dibuat dengan

menggunakan Excell.

Page 156: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 10 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Page 157: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

MODUL PERKULIAHAN

Perancangan Basis Data

Data Mining

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

Fakultas Ilmu Komputer

Teknik Informatika

14 87012 Tim Dosen.

Abstract Kompetensi

Materi ini berisi penjelasan Data Mining Mahasiswa dapat memahami konsep Data Mining

Page 158: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 2 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Data Mining

Definisi

Pada prinsipnya Data Mining adalah suatu proses untuk menemukan pola-pola tersembunyi

dan hubungan dalam data untuk membantu membuat keputusan bisnis yang lebih baik.

Terminologi data mining telah diperluas dari perngertian analisis data. Beberapa definisi dari

Data Mining atau Knowledge Discovery in Database pada database adalah sebagai berikut :

Data Mining, or Knowledge Discovery in Databases (KDD) as it is also known, is

the nontrivial extraction of implicit, previously unknown, and potentially useful

information from data. This encompasses a number of different technical

approaches, such as clustering, data summarization, learning classification rules,

finding dependency net works, analyzing changes, and detecting anomalies.

William J Frawley, Gregory Piatetsky-Shapiro and Christopher J Matheus

Data mining is the search for relationships and global patterns that exist in large

databases but are ‘hidden’ among the vast amount of data, such as a relationship

between patient data and their medical diagnosis. These relationships represent

valuable knowledge about the database and the objects in the database and, if

the database is a faithful mirror, of the real world registered by the database.

Marcel Holshemier & Arno Siebes (1994)

The analogy with the mining process is described as:

Data mining refers to “using a variety of techniques to identify nuggets of

information or decision-making knowledge in bodies of data, and extracting these

in such a way that they can be put to use in the areas such as decision support,

prediction, forecasting and estimation. The data is often voluminous, but as it

stands of low value as no direct use can be made of it; it is the hidden information

in the data that is useful”

Clementine User Guide, a data mining toolkit

Page 159: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 3 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Basically data mining is concerned with the analysis of data and the use of

software techniques for finding patterns and regularities in sets of data. It is the

computer, which is responsible for finding the patterns by identifying the

underlying rules and features in the data. The idea is that it is possible to strike

gold in unexpected places as the data mining software extracts patterns not

previously discernable or so obvious that no one has noticed them before.

Proses Data Mining

Proses analis diawali dari sekumpulan data, menggunakan metodologi untuk membangun

suatu representasi struktur data yang optimal dimana waktu dan pengetahuan dibutuhkan

untuk memperolehnya. Setelah pengetahuan diperoleh, representasi dapat digunakan pada

data yang lebih besar.

Gambar diatas ini merupakan summary dari tahapan proses identifikasi data mining dan

knowledge discovery di buat oleh Usama Fayyad & Evangelos Simoudis yang merupakan

pakar di bidan Data Mining.

Page 160: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 4 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

• Selection

Seleksi atau segmentasi data menurut aturan criteria tertentu , misalkan sekumpulan

karyawan yang memiliki kendaraan. Dengan criteria ini maka data subset akan

terbentuk.

• Preprocessing

Ini merupakan tahap cleansing data dimana informasi tertentu yang dianggap tidak perlu

dan memperlambat queri bisa dihilangkan. Pada tahap ini, data juga di konfigurasi ulang

untuk memastikan konsistensi format. Misal untuk, data tersimpan f atau m dimana

seharusnya 0 atau 1.

• Transformation

Data tidak hanya ditransfer tetapi juga di transformasi dalam overlay dengan

kemungkinan ada penambahan factor demografi yang banyak digunakan pada riset

pasar. Data dibuat useable dan navigable

• Data mining

Tahap ini di khususkan pada pola ekstraksi data.

• Interpretation and evaluation

Pola yang telah teridentifikasi oleh system akan diinterprestasikan dalam suatu

knowledge yang dapat membantu manusia dakam mengambil suatu keputusan, sebagai

contoh dalam hal klasifikasi dan prediksi, melakukan summari dari konten database atau

menjelaskan suatu fenomena.

Page 161: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 5 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Model Data Mining

IBM mengidentifikasi dua tipe model operasional dari data mining yang dapat digunakan

untuk menemukan informasi yang dibutuhkan oleh user.

1. Model Verifikasi

Model ini menggunakan hipotes dari user dan melakukan tes validitas terhadap datanya.

Penekanan dilakukan oleh user yang bertanggung jawab untuk melakukan formulasi dan

hipotesa serta melakukan query pada data.

Sebagai contoh pada divisi marketing, untuk melakukan kampanye produk baru dengan

anggaran yang terbatas maka perlu diidentifikasi populasi tertentu yang sekiranya

berminat terhadap produk tersebut. User melakukan formulasi dan hipotesa untuk

mengidentifikasi potensial customer termasuk karakteristiknya. Data histori tentang

riwayat pembelian serta demografi di analisa untuk mendapatkan gambaran yang lebih

akurat.

Permasalahan yang terjadi pada model ini adalah pada faktanya tidak ada informasi

baru yang terbentuk pada proses retrieval namun akan menghasilkan sejumlah records

sebagai bahan untuk membentuk hipotesa. Proses pencarian dilakukan secara iterative

setelah meriview output tersebut. Kemudian melakukan query lagi berdasarkan formulasi

dan karakteristik yang lain.

2. Model Discovery

Model ini memiliki penekanan yang berbeda, pada model ini system secata otomatis

menemukan informasi penting yang tersembunyi didalam data. Data di pilah dan diolah

untuk menemukan pola tertentu, trend dan informasi umum tanpa ada campur tangan

dari pengguna. Penggunaan perangkat data mining sering digunakan untuk

mempersingkat proses pencarian tersebut

Sebagai contoh pada sebuam model database Bank, akan dilakukan mining untuk

menemukan kelompok pelanggan guna mensosialisasikan produk baru. Proses

pencarian dilakukan tanpa interverensi , system akan mengelompokan pengguna

berdasarkan suatu karakteristik tertentu.

Page 162: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 6 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Permasalahan Dalam Data Mining

Sistem data mining bergantung dari database untuk menyediakan data dasar sebagai input.

Beberapa hal ini permasalahan yang mungkin timbul adalah sebagai berikut :

• Keterbatasan Informasi

Sebuah database biasanya di desain untuk tujuan tertentu, bukan untuk data mining

sehingga terkadang properties ataupun attribute yang mempermudah proses learning

tidak tersedia. Jika suatu atribut yang merupakan esensi dari suatu knowledge tidak

tersedia maka proses pengungkapan pengetahuan bisa tidak terjadi sebagai mana

mestinya. Sebagai contoh, tidak dapat terungkapnya fenomena penyakit malaria pada

suatu database pasien jika pada database itu tidak terdapat informasi jumlah sel darah

merah pasien.

• Noise dan Missing Values

Database biasanya terkontaminasi oleh error sehingga tidak dapat di asumsikan bahwa

seluruh data tersebut adalah akurat. Attribut yang bergantung pada suatu subjektif

ataupun measurement juga dapat menimbulkan error, misalkan karena adanya

kesalahan klasifikasi. Jenis kesalahan akibat hilangnya nilai field ataupun kesalahan

klasifikasi data disebut dengan Noises.

Hilangnya data dapat di tangani oleh system dengan beberapa cara seperti :

o Mengabaikan nilai yang hilang

o Menghilangkan record-record yang terkait dengan data tersebut

o Menduga nilai yang hilang dari sumber yang dapat dipercaya

o Memperlakukan data yan hilang sebagai special value yang ditambahkan

pada attribute domain

o Melakukan kalkulasi rata-rata Average terhadap data yang

hilang menggunakan teknik Bayesian.

Page 163: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 7 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

• Uncertainty

Uncertainty mengacu pada banyaknya error dan noises yang terdapat dalam data.

Tingkat presisi data merupakan hal penting dalam system discovery.

• Size, Updates, dan Irrelevant Fields

Databases cenderung untuk menjadi besar dan dinamis pada kontennya sejalankan

dengan penambahan, modifikasi ataupun penghapusan. Permasalahan dari prespektif

data mining adalah bagaimana memastikan jika data telah up to date dan konsisten

terhadap informasi terkini. Sistem pembelajaran juga harus bersifat time-sensitive hal ini

dikarenakan bervariasinya perubahan data dan system pembelajaran ini dipengaruhi

oleh timeline data.

Aplikasi Potential

Data mining memiliki banyak penerapan variasi aplikasi dari bidang yang ada dibawah ini

:

Retail/Marketing

• Identifikasi pola pembelian dari pelanngan

• Menemukan asosiasi antara karakteristik dempgrafi pelanggan

• Memprediksi respon dari suatu even promosi

• Analisa Market basket

Banking

• Mendeteksi pola dari kejahatan penggunaan kartu kredit

• Identifikasi ‘loyal’ customers

• Memprediksi customer untuk mengganti afiliasi kartu kreditnya

• Mendeterminasi variasi penggunaan kartu kredit oleh suatu kelompok pengguna

• Menemukan hubungan yang tersembunyi atara beberapa indicator finansial

• Mengidentifikasi peraturan stoct trading dari data histori pasar

Page 164: fasilkom.mercubuana.ac.idfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Perancangan-Basis-Data-TI.pdf · Author: mocher Created Date: 10/19/2017 4:17:05 PM

‘13 8 Perancangan Basis Data Pusat Bahan Ajar dan eLearning

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

Insurance dan Health Care

• Analisa klaim

• Melakukan prediksi customer yang akan membeli polis baru

• Mengidentifikasi pola perilaku customer yang beresiko

• Mengidentifikasi perilaku fraud yang ada.

Transportation

• Mendeterminasi jadwal distribusi antar outler

• Melakukan analisa pola pemuatan

Medicine

• Melakukan karateristik pasien sehingga dapat terprediksi kunjungan

berkala.

• Identifikasi terapi obat yang berhasil untuk digunakan pada penyakit lain.