• Tidak ada hasil yang ditemukan

Perancangan Basis Data

N/A
N/A
Protected

Academic year: 2021

Membagikan "Perancangan Basis Data"

Copied!
164
0
0

Teks penuh

(1)

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

(2)

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)

(3)

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

(4)

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

(5)

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

(6)

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

(7)

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

(8)

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

(9)

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

(10)

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

(11)

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

(12)

Pengantar Data Warehouse & Data Mining

Salah satu efek yang dihasilkan dari adanya suatu sistem informasi adalah munculnya banyak data. Data yang ada ini berasal dari sistem operasional yang berfungsi untuk menangani transaksi yang terkait dengan proses bisnis yang ditangani oleh sistem informasi tersebut.

Contoh: sistem informasi presensi karyawan memunculkan data jumlah kehadiran kehadiran karyawan setiap hari dengan data yang disimpan tergantung pada apa yang dibutuhkan oleh sistem informasi tersebut (misalkan: nomor induk pegawai, jam masuk, pintu masuk, dsb.).

Bayangkanlah sistem informasi ini dipakai di perusahaan yang jumlah karyawannya sebanyak 1000 orang. Apabila data ini dipakai selama seminggu masa kerja saja (5 hari), maka data yang masuk dalam basis data ada 1000 x 5 = 5000 baris. Anda tinggal kalikan saja apabila ingin menghitung jumlah data yang disimpan selama seminggu waktu operasional, sebulan, hingga setahun. Itu baru satu sistem informasi saja. Di korporasi yang besar sistem informasi yang ada berjumlah banyak dengan berbagai fungsi dan tujuannya. Akhirnya masalah berikutnya muncul.

Data warehouse adalah data-data yang beorientasi subjek, terintegrasi, memiliki dimensi waktu, serta merupakan koleksi tetap (non-volatile), yang digunakan dalam mendukung proses pengambilan keputusan. Sedangkan data mining muncul setelah banyak dari pemilik data baik perorangan maupun organisasi mengalami penumpukan data yang telah terkumpul selama beberapa tahun, misalnya data pembelian, data penjualan, data nasabah, data transaksi, email dan sebagainya. Kemudian muncul pertanyaan dari pemilik data tersebut, apa yang harus dilakukan terhadap tumpukan data tersebut.

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

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

seperti apa yang biasa dilakukan oleh seorang analis. Dengan bertambah banyaknya jumlah data yang ada dalam model bisnis yang kita lakukan dalam perusahaan ini, maka peran analis untuk menganalisa data secara manual perlu digantikan dengan aplikasi yang berbasis komputer yang dapat menganalisa data secara otomatis menggunakan alat yang lebih kompleks dan canggih.

(13)

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.

(14)

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.

(15)

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

(16)

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.

(17)

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

(18)

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.

(19)

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

(20)

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.

(21)

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

(22)

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

(23)

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

Memahami tiga tingkatan arsitektur database

(24)

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 :

(25)

- 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

(26)

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

(27)

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

(28)

– Pemindahan database dari satu DBMS ke DBMS lain tidak berpengaruh besar pada program aplikasi

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

tidak mempengaruhi aplikasi yang menggunakannya.

Data Dependent

berarti :

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

Dua alasan data dependent harus dihindari :

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

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

Kemungkinan perubahan storage structure. • Penyajian data numerik

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

* ASCII atau EBCDIC • Unit data numerik • Data Coding

• Struktur “stored record” Misalnya :

Struktur 2 ( dua ) record dilebur atau kebalikannya. • Struktur dari “stored files”

(29)

Lingkungan Database

(30)

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.

(31)

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

(32)

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)

(33)

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

Memahami tiga tingkatan arsitektur database

(34)

Konfigurasi Database

Konfigurasi Database

• Database untuk PC • Access • FoxPro • Dbase III • Oracle • Etc.

(35)

• Database client/server (2-tier)

• Database tersebar (distributed) Model homogen

(36)

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

(37)

• Database departmental

– Sama tetapi untuk kelompok yang lebih besar • Database perusahaan (enterprise)

(38)

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.

(39)

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

(40)

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.

(41)

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

(42)

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.

(43)

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

(44)

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

(45)

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

(46)

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.

(47)

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

(48)

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

(49)

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

(50)

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.

(51)

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

(52)

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

(53)

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

(54)

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

(55)

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

(56)

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

(57)

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

(58)

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.

(59)

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.

(60)

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)

(61)

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

(62)

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)

(63)

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.

(64)

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)

(65)

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

(66)

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

(67)

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

(68)

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

(69)

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

(70)

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 :

(71)

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

(72)

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 :

(73)

Depositor

Borrower

(74)

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 :

(75)

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 :

Gambar

Tabel PEMASOK-BARANG
Tabel  KIRIM-2  (1NF)
Diagram Ketergantungan Fungsional
Tabel  PEMASOK-2 (3NF)
+3

Referensi

Dokumen terkait

Penelitian ini bertujuan untuk mengetahui peningkatan hasil pembelajaran kemampuan menulis teks berita menggunakan model pembelajaran Snowball Throwing pada siswa kelas

Meningkatkan hubungan kerjasama dari berbagai lembaga yang berkaitan dengan upaya pemasaran produk kerajinan tenun ikat Dayak, Strategi ini bermanfaat untuk

Siklus hidup tungau ini, yaitu! Setelah kopulasi "perkawinan$ yang terjadi di atas kulit, tungau jantan akan mati di dalam terowongan yang digali oleh yang tungau

Pada analisis terhadap data kebutuhan bahan tambahan dan konsumsi energi pada setiap tahapan proses, serta potensi limbah dari proses produksi gula di pabrik dengan

Keuntungan dari bakteri ini adalah memiliki protein yang dapat bekerja pada kondisi lingkungan dengan suhu tinggi dimana protein/ enzim lain dapat mengalami denaturasi.. Salah

MENGECAP GAMBAR BUNGA DENGAN MEDIA BELIMBING Bahan dan alat yang digunakan untuk kegiatan tersebut adalah

Berdasarkan pemeriksaan yang telah dilakukan oleh peneliti di perpustakaan Universitas Sumatera Utara diketahui bahwa penelitian tentang Pemberesan Harta Pailit Dengan Gadai

(return) atas jumlah aktiva yang digunakan dalam perusahaan. 3) Return On Equity, merupakan rasio untuk mengukur laba bersih. sesudah pajak dengan modal sendiri. 4) Earning