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
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)
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
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
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
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
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
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
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
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
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
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.
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.
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.
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
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.
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).
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.
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
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.
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
data mining pada awalnya tidak sesuai dengan harapan analisnya sehingga perlu dilakukan desain ulang prosesnya
MODUL PERKULIAHAN
Perancangan
Basis Data
Lingkungan Basis Data
Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh
Fakultas Ilmu Komputer
Teknik Informatika
03
87012 Tim Dosen.Abstract
Kompetensi
Materi ini menyediakan latar belakan informasi yang penting pada basis data, diantaranya tiga tingkatan
Memahami tiga tingkatan arsitektur database
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 :
- 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
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
- 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.
– 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”
Lingkungan Database
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.
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
2. Model Data Berbasis Record
Pada model data berbasis record, basis data terdiri dari sejumlah record dalam bentuk yang tetap yang dapat dibedakan dari bentuknya. Ada 3 macam jenis model data berbasis record yaitu :
- model data relasional (relational) - model data hierarkhi (hierarchical) - model data jaringan (network)
MODUL PERKULIAHAN
Perancangan
Basis Data
Konfigurasi Database & Fungsi
DBMS
Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh
Fakultas Ilmu Komputer
Teknik Informatika
04
87012 Tim Dosen.Abstract
Kompetensi
Materi ini menyediakan latar belakan informasi yang penting pada basis data, diantaranya tiga tingkatan
Memahami tiga tingkatan arsitektur database
Konfigurasi Database
Konfigurasi Database
• Database untuk PC • Access • FoxPro • Dbase III • Oracle • Etc.• Database client/server (2-tier)
• Database tersebar (distributed) Model homogen
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
• Database departmental
– Sama tetapi untuk kelompok yang lebih besar • Database perusahaan (enterprise)
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.
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
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 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
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.
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
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
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
Data Dictionary
Data dictionary adalah tempat penyimpanan informasi yang menggambarkan data dalam
basis data. Data dictionary biasa disebut juga dengan metadata atau data mengenai data. Modul pengontrol otorisasi menggunakan data dictionary untuk memeriksa apakah seorang pemakai perlu mempunyai wewenang.
Untuk mengerjakan pemeriksaan tersebut data dictionary menyimpan :
• nama-nama pemakai yang mempunyai wewenang untuk menggunakan DBMS • nama-nama data item yang ada dalam basis data
• data item yang dapat diakses oleh pemakai dan jenis akses yang diijinkan, misalnya:
insert, update, delete atau read
• Sedangkan untuk memeriksa integritas data, data dictionary menyimpan : • nama-nama data item dalam basis data
• jenis dan ukuran data item
• batasan untuk masing-masing data item
Sistem data dictionary dapat dibedakan atas sistem aktif dan pasif. Sistem aktif selalu konsisten dengan struktur basis data karena secara otomatis dikerjakan oleh sistem. Sebaliknya, sistem pasif tidak konsisten terhadap perubahan basis data yang dilakukan oleh pemakai.
MODUL PERKULIAHAN
Perancangan
Basis Data
Model Relational
Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh
Fakultas Ilmu Komputer
Teknik Informatika
05
87012 Tim Dosen.Abstract
Kompetensi
Materi ini menyediakan pemahaman model relational
Model relational di dalam penerapat data warehouse dan mining
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
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
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.
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).
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
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
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
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
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
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
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.
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.
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)
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
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)
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.
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)
Latihan :
Buatkan normalisasi dari table berikut :
Asumsi :
• Seorang mahasiswa dapat mengambil beberapa mata kuliah • Satu mata kuliah dapat diambil oleh lebih dari satu mahasiswa • Satu mata kuliah hanya diajarkan oleh satu dosen
• Satu dosen dapat mengajar beberapa mata kuliah
• Seorang mahasiswa pada mata kuliah tertentu hanya mempunyai satu nilai
MODUL PERKULIAHAN
Perancangan
Basis Data
Konsep & Terminology Query
Language
Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh
Fakultas Ilmu Komputer
Teknik Informatika
07
87012 Tim Dosen.Abstract
Kompetensi
Materi ini memahami konsep dan terminology Query Language
Mahasiswa di harapkan lebih paham mengenai konsep dan terminology Query Language
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
– 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.
• 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.
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 :
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 π.
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 :
Depositor
Borrower
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 :
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 :