PERANCANGAN BASIS DATA

dokumen-dokumen yang mirip
Pertemuan 10. Bahasa Query Terapan

BAHASA QUERY KOMERSIAL

BAHASA QUERY KOMERSIAL

BAHASA QUERY KOMERSIAL

BAHASA QUERY KOMERSIAL

BAHASA QUERY KOMPLEKS

BAHASA QUERY KOMERSIAL

Desain Sistem Basis Data. 1. Struktur Basis Data 2. Normalisasi Data 3. ERD (entity relationship diagram)

ANOMALI. Terlihat ada ketidak konsistenan. Fakta pertama menyatakan bahwa pemasok citra berlokasi di Bogor, tetapi fakta kedua menyatakan di Bandung.

STRUCTURE QUERY LANGUAGE ( S Q L ) Jenis SQL 1. Interactive langsung dapat dioperasikan 2. Embedded disisipkan ke dalam sebuah program

STRUCTURE QUERY LANGUAGE ( S Q L )

SISTEM BASIS DATA 1. WAHYU PRATAMA, S.Kom., MMSI.

Statement DDL Create database drop database Create table drop table alter table

Pengertian Normalisasi, Jenis-jenis Normalisasi Dan Contoh Penerapannya.

STRUCTURE QUERY LANGUAGE ( S Q L ) Pengelompokan Statement SQL 1. Data Definition Language ( DDL )

Model Relasional. Basis Data. Pengertian

SISTEM BASIS DATA II S A N T I W I D I A N T I

Model Relasional Basis Data

Pertemuan 12 TEHNIK NORMALISASI LANJUTAN. Contoh data :

SISTEM BASIS DATA. Oleh : Devie Rosa Anamisa

TEHNIK NORMALISASI LANJUTAN

INTERNET PROGRAMMING DATABASE

Basis Data Relational

Teknik Perancangan Basis Data

PENGANTAR BASIS DATA

PERTEMUAN 6 TEKNIK NORMALISASI

SOAL KUIS. 3. Data aktual yang disimpan pada tiap elemen atau atribute: a. Atribute d. Enterprise b. Data Value e. Tuple c. File

MODEL DATA RELASIONAL

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG

BAB III LANDASAN TEORI. organisasi yang merupakan kombinasi dari orang-orang, fasilitas, teknologi,

12 TEHNIK NORMALISASI LANJUTAN

Pertemuan 11 FRAGMENTASI DATA

SATUAN ACARA PERKULIAHAN MATA KULIAH SISTEM BASIS DATA 1 (MI) KODE / SKS KK / 2 SKS

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2

Pertemuan 2 dan 3 : Tujuan Instruksional Khusus :

Pengertian Query. Query adalah perintah-perintah untuk mengakses data pada sistem basis data

Pertemuan 3 dan 4 : MODEL DATA RELASIONAL

Sistem Basis Data; Tutorial Konseptual Oleh : Yakub

Praktikum Basis Data. By. Rita Wiryasaputra, ST., M. Cs.

PERTEMUAN 12 MACAM-MACAM BENTUK NORMALISASI

LAPORAN TUGAS BASIS DATA I

bergantung pada keberadaan entitas lainnya[9]. relasi yang merekatkan dua entitas adalah bersifat

Sistem Basis Data 1. Pertemuan 5 dan 6 Aljabar Relasional dan SQL Rogayah, ST.,MMSI Untuk 3DB01 dan 3DB04

Pertemuan 12. Basis Data Terdistribusi

LATAR BELAKANG IBM San Jose Research Laboratory.

RENCANA PEMBELAJARAN

Macam - Macam Perintah Pada SQL

Data Manipulation Language (DML) & Data Control Language (DCL) pada Database

PENGANTAR BASIS DATA

Sistem Basis Data Danny Kriestanto, S.Kom., M.Eng

DESAIN DATABASE. Pertemuan 06 3 SKS

BAB 7 PENERAPAN BENTUK NORMALISASI

ANALISA RANCANGAN DATABASE

adalah : Q.1) Suatu susunan/kumpulan data operasional lengkap dari suatu organisasi/perusahaan

Konsep Basis Data (Lanjut)

P9 Normalisasi. Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta

Satuan Acara Perkuliahan

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

STRUCTURE QUERY LANGUAGE

SISTEM BASIS DATA (Lanjutan) :

MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA

STRUCTURE QUERY LANGUAGE (SQL)

PENDAHULUAN. Alif Finandhita, S.Kom

BAB 2 LANDASAN TEORI. pengolahan data, pengolahan gambar, pengolahan angka, dan lainnya.

Pertemuan 5 TEHNIK NORMALISASI

PEMROGRAMAN WEB 2 DATABASE,MYSQL. Rio andriyat krisdiawan, m.kom

BAB 2 LANDASAN TEORI

S Q L STRUCTURED QUERY LANGUAGE DEFINITION MANIPULATION C O N T R O L D M L SELECT INSERT UPDATE DELETE

Seminar Internasional, ISSN Peran LPTK Dalam Pengembangan Pendidikan Vokasi di Indonesia

STRUCTURE QUERY LANGUAGE DDL & DML

MODEL DATA RELASIONAL

SQL (Structure Query Language) Gentisya Tri Mardiani, S.Kom

Pertemuan 1. Konsep Dasar Basis Data (Database)

BAB II LANDASAN TEORI

PERANCANGAN SISTEM TERINCI DATABASE

PERANCANGAN BASIS DATA

Basis Data Spasial Modul 2

Database Systems: Lab. Actvity 1: Database Design. Merancang Database. Merancang Database. Tipe Tabel MySQL.

DATABASE TERDISTRIBUSI


Nor o mal a i l s i a s s a i s La L n a j n u j t u an

BAB III 3. LANDASAN TEORI. manajemen dan individu lain terhadap kejadian-kejadian internal dan eksternal

SISTEM BASIS DATA 1. WAHYU PRATAMA, S.Kom., MMSI.

KONSEP DASAR SISTEM DATABASE adalah kepentingan proses pengambilan keputusan.

SISTEM BASIS DATA 2. WAHYU PRATAMA, S.Kom., MMSI.

Pertemuan Sistem Informasi SI adalah suatu suatu sistem dalam suatu organisasi yang merupakan

PEMROSESAN QUERY. Gentisya Tri Mardiani, S.Kom

Pemrosesan data sebelum adanya basis data Perancangan sistemnya masih didasarkan pada kebutuhan individu pemakai, bukan kebutuhan sejumlah pemakai

Agenda SQL. Pemakai SQL. Kemampuan SQL 02/12/2010 STRUCTURED QUERY LANGUAGE (SQL) Structured Query Language (SQL) (Pert. 9)

MODUL V DATA MANIPULATION LANGUAGE (DML) 1

LINGKUNGAN BASIS DATA

Hendra Setiawan ( )

PERANCANGAN DATA BASE BY LILIS PUSPITAWATI, SE.,M.SI

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

Perangkat Lunak Pengembangan Web

BAB II LANDASAN TEORI

SISTEM BASIS DATA (PENDAHULUAN) Alif Finandhita,S.Kom, M.T.

Konsep Sistem Informasi B. BAB 2 - SQL Overview

Apakah SQL? Membuat basis data dan struktur tabel Input, update, dan delete data dari tabel Membuat query sederhana dan kompleks SQL

Model Data Dalam SBD

Transkripsi:

Modul Pengajaran PERANCANGAN BASIS DATA PENYUSUN Sandra J Kuryanti Diploma Tiga Program Studi Manajemen Informatika AMIK BSI BOGOR 1

KATA PENGANTAR Puji syukur penulis panjatkan kehadirat Allah SWT yang telah melimpahkan rahmat dan karunia-nya, sehingga pada akhirnya penulis dapat menyelesaikan modul pengajaran ini dengan baik. Adapun judul modul pengajaran ini adalah Perancangan Basis Data. Penulis berharap semoga modul pengajaran ini dapat bermanfaat dan dapat dipergunakan untuk menambah materi pengajaran. Seperti kata pepatah, tak ada gading yang tak retak, penulis pun menyadari kalau modul pengajaran ini masih belum sempurna, masih banyak terdapat kesalahan di sana sini. Oleh karena itu penulis memohon kritik dan saran yang membangun guna perbaikan modul ini ke depannya. Akhir kata penulis mengucapkan terima kasih kepada semua pihak yang telah membantu dalam penyelesaian modul pengajaran ini. Wassalam Penulis 2

DAFTAR ISI Halaman Lembar cover... 1 Kata Pengantar... 2 Daftar Isi... 3 BAB I... 4 BAB II.... 6 BAB III..... 7 BAB IV..... 11 BAB V..... 18 BAB VI..... 22 BAB VII... 28 3

BAB I KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. Hubungan antar data dapat ditunjukan dengan adanya field/kolom kunci dari tiap file/tabel yang ada. Dalam satu file atau table terdapat record-record yang sejenis, sama besar, sama bentuk, yang merupakan satu kumpulan entitas yang seragam. Satu record (umumnya digambarkan sebagai baris data) terdiri dari field yang saling berhubungan menunjukan bahwa field tersebut dalam satu pengertian yang lengkap dan disimpan dalam satu record. Adapun Struktur Database adalah : Database File/Table Record Elemen data/fielddari pengertian diatas dapat disimpulkan bahwa basis data mempunyai beberapa kriteria penting, yaitu : 1. Bersifat data oriented dan bukan program oriented. 2. Dapat digunakan oleh beberapa program aplikasi tanpa perlu mengubah basis datanya. 3. Dapat dikembangkan dengan mudah, baik volume maupun strukturnya. 4. Dapat memenuhi kebutuhan sistem-sistem baru secara mudah 5. Dapat digunakan dengan cara-cara yang berbeda. Prinsip utama Data Base adalah pengaturan data dengan tujuan utama fleksibelitas dan kecepatan pada saat pengambilan data kembali. Adapun ciri-ciri basis data diantaranya adalah sebagai berikut : 1. Efisiensi meliputi kecepatan, ukuran, dan ketepatan 2. Data dalam jumlah besar. 3. Berbagi Pakai (dipakai bersama sama/sharebility). 4. Mengurangi bahkan menghilangkan terjadinya duplikasi dan ketidakkonsistenan data Istilah-Istilah Yang Dipergunakan Dalam Sistem Basis Data 1. Enterprise yaitu suatu bentuk organisasi Contoh : Enterprise: Sekolah, Database : Nilai Enterprise: Rumah sakit, Database : AdministrasiPasien 2. Entitas yaitu suatu obyek yang dapat dibedakan dengan objek lainnya 4

Contoh : Database : Nilai, Entitas: mahasiswa, Matapelajaran Database : Administrasi Pasien, Entitas: pasien, dokter, obat 3. Atribute/field yaitu setiap entitas mempunyai atribut atau suatu sebutan untuk mewakili suatu entitas. Contoh : Entity : siswa, Field = Nim, nama_siswa,alamat,dll Entity : nasabah, Field=Kd_nasabah,nama_nasabah,dll 4. Data value yaitu data aktual atau informasi yang disimpan pada tiap data elemen atau atribute. Contoh : Atribut nama_karyawan : sutrisno, budiman, dll 5. Record/tuple yaitu kumpulan elemen-elemen yang saling berkaitan menginformasikan tentang suatu entity secara lengkap. Contoh : Record mahasiswa: nim, nm_mhs, alamat. 6. File yaitu kumpulan record-record sejenis yang mempunyai panjang elemen sama, atribute yang sama namun berbeda-beda data valuenya 7. Kunci elemen data yaitu tanda pengenal yang secara unik mengindentifikasikan entitas dari suatu kumpulan entitas 5

BAB II DATA MODEL Sekumpulan konsep-konsep untuk menerangkan data, hubungan-hubungan antara data dan batasan-batasan data yang terintegrasi di dalam suatu organisasi. Tujuan model data adalah untuk Menyajikan data agar mudah di modifikasi dan di mengerti. Jenis-Jenis Model Data 1. Model data berbasis objek Model data berbasis objek menggunakan konsep entitas, atribut dan hubungan antar entitas. Model data berbasis objek terdiri dari : Entity Relationship model Model untuk menjelaskan hubungan antar data dalam basis data berdasarkan suatu persepsi bahwa real word terdiri dari objek-object dasar yang mempunyai hubungan atau relasi antara objek-objek tersebut Semantik data model Hampir sama dengan Entity Relationship model dimana relasi antara objek dasar tidak dinyatakan dengan simbol tetapi menggunakan kata-kata (Semantic). 2. Model data berbasis record Model ini berdasarkan pada record untuk menjelaskan kepada user tentang hubungan logic antar data dalam basis data 3. Model data fisik Digunakan untuk menguraikan data pada internal level. Beberapa model yang umum digunakan : Unifying model Model ini menggabungkan memori dan transaksi database dalam satu kesatuan model. Frame memory Frame Memory adalah sebuah virtual view dari tempat penyimpanan sekunder yang digunakan untuk mendukung penyimpanan record database 4. Model data konseptual Model yang dibuat berdasarkan anggapan bahwa dunia nyata terdiri dari koleksi obyekobyek dasar yang dinamakan entitas (entity) serta hubungan (relationship) antara entitasentitas itu. Biasanya direpresentasikan dalam bentuk Entity Relationship Diagram. 6

BAB IIII ENTITY RELATIONSHIP DIAGRAM Basisdata Relasional adalah kumpulan dari relasi-relasi yang mengandung seluruh informasi berkenaan suatu entitas/ objek yang akan disimpan di dalam database. Tiap relasi disimpan sebagai sebuah file tersendiri. Perancangan basisdata merupakan suatu kegiaatan yang setidaknya bertujuan sebagai berikut: 1. Menghilangkan redundansi data 2. Meminimumkan jumlah relasi di dalam basis data 3. Membuat relasi berada dalam bentuk normal, sehingga dapat meminimumkan permasalahan berkenaan dengan penambahan, pembaharuan dan penghapusan. Entity relationship diagram / ERD adalah suatu pemodelan dari basisdata relasional yang didasarkan atas persepsi di dalam dunia nyata, dunia ini senantiasa terdiri dari sekumpulan objek yang saling berhubungan antara satu dengan yang lainnya. Suatu objek disebut entity dan hubungan yang dimilikinya disebut relationship. Suatu entity bersifat unik dan memiliki atribut sebagai pembeda dengan entity lainnya Simbol Entity Relationship Diagram Simbol Entity Keterangan Weak Entity Relationship Identifying Relationship 7

Atribut Atribut Primari Key Atribut Multi Value Atribut Derivatif Atribut Composite Contoh Kasus Pada saat mendaftar menjadi anggota perpustakaan, dicatatlah nama, nomor mahasiswa dan alamat mahasiswa. Setelah itu mereka baru bisa meminjam buku di perpustakaan. Buku-buku yang dimiliki perpustakaan banyak sekali jumlahnya. Tiap buku memiliki data nomor buku, judul, pengarang, penerbit, tahun terbit. Satu buku bisa ditulis oleh beberapa pengarang. Tahapan pembuatan ERD 1. Mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan terlibat. 2. Menentukan atribut-atribut key dari masing-masing himpunan entitas. 3. Mengidentifikasi dan menetapkan seluruh himpunan relasi diantara himpunan entitashimpunan entitas yang ada beserta foreign key-nya. 4. Menentukan derajat/kardinalitas relasi untuk setiap himpunan relasi. 5. Melengkapi himpunan entitas dan himpunan relasi dengan atribut-atribut deskriptif (non key). 8

Contoh 1. Entitas = Anggota, Buku 2. Atribut Key = Nomor Mahasiswa, Nomor Buku 3. Relasi Anggota Dengan Buku = Meminjam 4. 1 : N 5. Anggota = Nama Mahasiswa, Alamat Mahasiswa Buku = Judul, Pengarang, Penerbit, Tahun Terbit Langkah 1 ANGGOTA BUKU Langkah 2 No_mhs No_buku ANGGOTA BUKU Langkah 3 No_mhs No_buku ANGGOTA Meminjam BUKU 9

Langkah 4 No_mhs No_buku ANGGOTA 1 Meminjam N BUKU Langkah 5 No_mhs Nama No_buku Pengarang ANGGOTA 1 Meminjam N BUKU Alamat Penerbit Thn_Terbit 10

BAB IV TEKNIK NORMALISASI Normalisasi adalah teknik perancangan yang banyak digunakan sebagai pemandu dalam merancang basisdata relasional. Pada dasarnya, normalisasi adalah proses dua langkah yang meletakkan data dalam bentuk tabulasi dengan menghilangkan kelompok berulang lalu menghilangkan data yang terduplikasi dari tabel relasional. Tujuan normalisasi : 1. Mengatur data dalam kelompok-kelompok sehingga masing-masing kelompok hanya menangani bagian kecil sistem. 2. Meminimalkan jumlah data yang berulang dalam basisdata. 3. Membuat basisdata yang datanya diakses dan dimanipulasi secara cepat dan efisien tanpa melupakan integrasi data. 4. Mengatur data sedemikian rupa sehingga ketika memodifikasi data, anda hanya mengubah pada suatu tempat. Aturan Normalisasi 1. Hilangkan kelompok berulang, buat tabel terpisah untuk setiap himpunan atribut yang berhubungan dan tentukan kunci utama pada masing-masing tabel. 2. Hilangkan data berulang, jika sebuah atribut hanya tergantung pada sebagian kunci utama gabungan, pindahkan atribut ke tabel lain. 3. Hilangkan kolom yang tidak tergantung pada kunci, jika atribut tidak tergantung pada kunci, pindahkan atribut ke tabel lain. 4. Pisahkan relasi majemuk, tidak ada tabel yang bias mengandung dua atau lebi relasi 1:n atau n:m yang tidak berhubungan langsung. 5. Pisahkan relasi majemuk yang berhubungan secara semantik, ada batasan pada informasi yang memperbolehkan pemisahan relasi many-to-many yang berhubungan secara logis. 6. Bentuk normal optimal, sebuah model hanya dibatasi oleh fakta sederhana. 7. Bentuk normal domain-key, sebuah model harus terbebas dari semua anomaly Tahapan Normalisasi 1. Bentuk Normal Kesatu (1 NF / First Normal Form) Bentuk Bentuk Normal Kesatu mempunyai ciri yaitu setiap data dibentuk dalam file flat, data dibentuk dalam satu record demi satu record dan nilai dari field berupa atomic 11

value. Tidak ada set atribut yang berulang ulang atau atribut bernilai ganda (multi value). Tiap field hanya satu pengertian, bukan merupakan kumpulan data yang mempunyai arti mendua. Hanya satu arti saja dan juga bukanlah pecahan kata kata sehingga artinya lain. Atom adalah zat terkecil yang masih memiliki sifat induknya, bila dipecah lagi maka ia tidak memiliki sifat induknya. 2. Bentuk Normal Kedua (2NF) Bentuk Normal kedua mempunyai syarat yaitu bentuk data telah memenuhi kriteria bentuk Normal Kesatu. Atribut bukan kunci haruslah bergantung secara fungsi pada kunci utama, sehingga untuk membentuk Normal Kedua haruslah sudah ditentukan kunci-kunci field. Kunci field harus unik dan dapat mewakili atribut lain yang menjadi anggotanya. Bentuk Normal Ketiga (3NF) 3. Untuk menjadi bentuk Normal Ketiga maka relasi haruslah dalam bentuk Normal Kedua dan semua atribut bukan primer tidak punya hubungan yang transitif. Artinya setiap atribut bukan kunci harus bergantung hanya pada kunci primer secara menyeluruh. Contoh pada bentuk Normal kedua di atas termasuk juga bentuk Normal Ketiga karena seluruh atribut yang ada di situ bergantung penuh pada kunci primernya. 4. Boyce-Codd Normal Form (BNCF) Boyce-Codd Normal Form mempunyai paksaan yang lebih kuat dari bentuk Normal ketiga. Untuk menjadi BNCF, relasi harus dalam bentuk Normal Kesatu dan setiap atribut dipaksa bergantung pada fungsi pada atribut super key. Jenis Jenis Key Field / atribute kunci dalam database: 1. Super key Yaitu himpunan dari satu atau lebih entitas yang digunakan untuk mengidentifikasikan secara unik sebuah entitas dalam entitas set. 2. Candidate key Yaitu satu attribute atau satu set minimal atribute yang mengidentifikasikan secara unik suatu kejadian yang spesifik dari entity. 3. Primary key Yaitu satu atribute atau satu set minimal atribute yang tidak hanya mengidentifikasikan secara unik suatu kejadian yang spesifik tapi juga dapat mewakili setiap kejadian dari suatu entity 12

4. Alternate key Yaitu kunci kandidat yang tidak dipakai sebagai primary key 5. Foreign key yaitu satu atribute (atau satu set atribute) yang melengkapi satu relationship (hubungan yang menunjukkan ke induknya Contoh UNNORMAL FORM SISWA(No_siswa, Nama, Wali_studi, Kelas1, Kelas2, Kelas3) Siswa yang punya nomor siswa, nama dan wali studi mengikuti 3 mata pelajaran/ kelas. Disini ada perulangan kelas 3 kali ini bukan bentuk 1 NF. Contoh Data: No_siswa Nama Wali_studi Kelas-l Kelas2 Kelas3 22890100 Tanzania Zaman 1234 1543 22890101 Nia Rizki 1234 1775 1543 KELAS(Kode_kelas,nama_kelas,instruktur) merupakan bentuk 1NF karena tidak ada yang berganda dan tiap atribute satu pengertian yang tunggal. Contoh Data: Kode_kelas Nama_kelas Instruktur 1234 FisikaDasar Suroso 1543 Matematika Paulus 1775 Teknik Program Bagus No_siswa Nama Wali_studi Kelas-l Kelas2 Kelas3 22890100 Tanzania Zaman 1234 1543 22890101 Nia Rizki 1234 1775 1543 13

FIRST NORMAL FORM Bentuk normal kesatu dari bentuk diatas menjadi: No_siswa Nama Wali_studi Kode_kelas 22890100 Tanzania Zaman 1234 22890100 Tanzania Zaman 1543 22890101 Nia Rizki 1234 22890101 Nia Rizki 1775 22890101 Nia Rizki 1543 PT SANTA PURI BARANG Jalan Senopati 11 Yogyakarta FAKTUR PEMBELIAN Kode Nama Barang Qty Harea Jumlah Kode R02 Supplier: RICE S02 COOKER CC3 10.0 150.000, 00 1. Tanggal: 500.000,00 02/02/90 Nama Total Faktur Supplier: Gobel Nustra Nomor : 779 1. 500.000,00 Jatuh Tempo Faktur: 09/03/90 PT SANTA PURI FAKTUR PEMBELIAN BARANG Jalan Senopati 11 Yogyakarta Kode Nama Barang Qty Harea Jumlah Kode A01 Supplier: AC G01 SPLIT. 1/2 PK 10.0 1,350,000 13,500,000 Tanggal: 07/02/90 Nama A02 Supplier: AC Gobel SPLIT Nustra 1 PK 10.0 Nomor 2,000,000 : 998 20,000,000 Total Faktur 33,500,000 Jatuh Tempo Faktur: 09/03/90 14

1. Step I bentuk unnormalized Bentuklah menjadi tabel unnormalized, dengan mencantumkan semua field data yang ada Menuliskan semua data yang akan direkam Terlihat record record yang tidak lengkap, sulit untuk membayangkan bagaimana bentuk record yang harus dibentuk untuk merekam data tersebut. 2. Step II bentuk normal kesatu Bentuklah menjadi bentuk normal kesatu dengan memisah misahkan data pada field field yang tepat dan bernilai atomic, juga seluruh record harus lengkap adanya. Bentuk file adalah flat file. 3. Step III bentuk normal kedua Pembentukan bentuk normal kedua dengan mencari kunci kunci field yang dapat dipakai sebagai patokan dalam pencarian dan sifatnya unik. Melihat kondisi dari permasalahan factur di atas dapat diambil kunci kandidat yaitu: No factur (no fac) Kode supplier 15

Kode barang Bentuklah tiga tabel dengan kunci tersebut, lihatlah ketergantungan fungsional field field lain terhadap field kunci, maka didapatkan tabel sebagai berikut: Field Qty dan Harga pada tabel tersebut tidak bergantung penuh pada kunci primer nomor nota, ia juga bergantung fungsi pada kode barang. Hal ini disebut sebagai kebergantungan yang transitif dan haruslah dipisahkan dalam dua tabel. Masih terdapat redundancy yaitu setiap kali satu nota yang terdiri dari 5 macam barang yang dibeli maka 5 kali pula dituliskan no nota, tanggal nota, tempo, dan totai. Ini harus pula dipisahkan bila terjadi penggandaan tulisan berulang ulang. 4. Step IV Bentuk Normal Ketiga Bentuk normal ketiga mempunyai syarat setiap tabel tidak mempunyai field yang bergantung transitif, harus bergantung penuh pada kunci utama. Maka terbentuklah tabel sebagai berikut: 16

5. Step V Pengujian dengan data contoh Pengujian disini untuk memastikan kebenaran isi tabel dan hubungan antara tabel tersebut. Ujilah bahwa setiap tabel haruslah punya hubungan dengan tabel yang lainnya. Bila tidak ada penghubunga antar tabel maka dapat dikatakan perancangan untuk membuat satu database adalah gagal. 17

BAB V BAHASA QUERY FORMAL Query adalah suatu objek database yang dapat digunakan untuk menampilkan, menyunting atau menganalisa suatu data dengan memberikan baris-baris perintah tertentu. Pada aplikasi ini sudah dilengkapi dengan Structured Query Language (SQL) yang menjadi standard bahasa dalam mengolah database. Dengan SQL kita dapat mempersingkat penulisan listing program yang panjang karena pada setiap perintahnya dapat mencakup banyak perintah sekaligus. Bahasa query formal basis data relasional adalah bahasa untuk meminta informasi dari basis data. Bahasa query relasional formal merupakan bahasa antara yang digunakan basis data, yaitu SQL dikonversi menjadi bahasa relasional formal sehingga dapat diterapkan sekumpulan informasi untuk memperoleh query paling efisien. Terdapat dua jenis bahasa query relasional formal yang utama, yaitu: 1. Aljabar relasional. 2. Kalkulus relasional Aljabar Relasional aljabar relasional merupakan kumpulan operasi terhadap relasi dimana setiap operasi menggunakan satu atau lebih relasi untuk menghasilkan satu relasi yang baru dan termasuk kategori prosedural dan juga menyediakan seperangkat operator untuk memanipulasi data. Operasi Dalam Aljabar Relasional Operasi-operasi dasar dalam aljabar relasional adalah sebagai berikut : 1. Operasi selection (σ) Operasi select berfungsi untuk menyeleksi tuple-tuple yang memenuhi predikat yang diberikan dari sebuah tabel relasi. 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 σ. 18

2. Operasi projection (π) Operasi project berfungsi untuk memilih nilai atribut-atribut tertentu saja dari sebuah tabel relasi. Operasi project disimbolkan dengan symbol phi (π). Nama-nama atribut yang diinginkan tampil ditulis sebagai subcript π. 3. Operasi cartesian (x) Operasi cartesian product berfungsi untuk mengkombinasikan informasi yang ada dalam 2 tabel relasi atau lebih dan menghasilkan sebuah tabel relasi yang baru. 4. Operasi union (U) A B adalah relasi dengan heading (atribut) yang sama untuk setiap A dan B, dimana terdiri dari himpunan semua tuples yang terdapat pada A atau B atau kedua-duanya. Operasi union berfungsi untuk mendapatkan gabungan nilai atribut dari sebuah tabel relasi dengan nilai atribut dari tabel relasi lainnya. 5. Opersi set difference (-) Operasi set difference berfungsi untuk mendapatkan nilai yang ada dalam sebuah tabel relasi, tapi tidak ada dalam tabel relasi lainnya. A MINUS B adalah relasi dengan heading (atribut) yang sama untuk setiap A dan B, dimana terdiri dari himpunan semua tuples yang terdapat pada A, tetapi tidak terdapat pada B. 6. Operasi rename (ρ) Dalam operasi himpunan Cross Product, bisa menimbulkan terjadinya Konflik Penamaan, karena Cross Product bisa menghasilkan suatu relasi dari 2 relasi dengan skema yang sama, sehingga skema hasil akan muncul field dengan nama yang sama. Operator Renaming (r) digunakan untuk menghindari terjadinya Konflik Penamaan tersebut. 19

Operasi turunan dalam aljabar relasional adalah sebagai berikut : 1. Operasi set interface 2. Operasi natural join 3. Operasi theta join 4. Operasi devision Kalkulus Relasional Kalkulus relasional adalah bahasa query yang non prosedural. Bahasa ini mendeskripsikan informasi yang diinginkan tanpa memberi prosedurnya secara detil untuk mendapatkan informasi tersebut. Kalkulus relational dibagi menjadi dua : 1. Kalkulus relasional tupel Mendiskripsikan informasi tanpa perlu memberikan prosedur/cara spesifik untuk memperoleh infomasi tersebut. konsep dari kalkulus relasional tupel adalah konseb variabel tupel. Dimana variabel merepresentasikan tupel-tupel padarelasi dan digunakan untuk mengekstrak data dari relasi. Komponen-komponen lain rumus kalkulus tupel adalah kualifikasi data dengan membatasi nilai-nilai dari atribut-atribut yang dispesifikasikan. Query pada kalkulus realsional tupel dapat diekspresikan dengan: {t P(t)} Yaitu himpunaan semua tupel t sehingga predikat P bernilai true untuk t, notasi t[a] untuk menunjukan nilai tuple t pada atributr A, dan menggunakan t ϵ r untuk menunjukan nilai tuple t di relasi r. Predikat P adalah berupa rumus, beberapa rumus, beberapa variabel tuple dapat muncul di rumus. 2. Kalkulus relasional domain Kalkulus realsional domain menggunakan variable-variable pada nilai-nilai domain atribut, bukan nilai-nilai untuk sebuah tupel. Ekspresi pada relasional domain berbentuk: {<X1,X2,...,Xn> P(X1,X2,..., Xn)} X1, X2,...,Xn menyatakan variable-variable domain. 20

P menyatakan rumus-rumus yang disusun dari atom-atom. Berdasarkan acuan model relasional, ada 2 bahasa query kemersial yaitu SQL dan QBE. 21

BAB VI BAHASA QUERY KOMERSIAL Struktur Query Language (Sql) SQL dipublikasikan oleh E.F. CODD (1970) mengenai model relational. Kemudian pada tahun 1974, D. Chamberlin dan R.F. Boyce mengembangkan bahasa query untuk memanipulasi dan mengekstraksi data dari basisdata relational. Sasaran SQL 1. Menciptakan basis data dan struktur relasi 2. Melakukan menajemen data tingkat dasar 3. Membentuk query sederhana dan kompleks 4. Melakukan tugas-tugas dengan seminimal mungkin memakai struktur dan sintaks perintah relatif mudah dipelajari 5. Harus portabel Jenis SQL 1. Interactive SQL 2. Static SQL 3. Dynamic SQL Subdivisi SQL 1. DDL (Data Definition Language) Query-query ini digunakan untuk mendefinisikan struktur atau skema basis data 2. DML (Data Manipulation Language) Query-query ini digunakan untuk manajemen data dalam basis data 3. DCL ( Data Control Language) Query-query ini berhubungan dengan pengaturan hak akses dan wewenang. 22

Pengelompokan Statemen Sql 1. Data Definition Language (DDL) CREATE DATABASE DROP DATABASE CREATE TABEL DROP TABEL CREATE INDEX DROP INDEX CREATE VIEW DROP VIEW ALTER TABLE 2. Data Manipulation Language INSERT, SELECT, UPDATE, DELETE 3. Data Access GRANT, REVOKE 4. Data Integrity RECOVER TABLE 5. Auxiliary SELECT INTO OUTFILE, LOAD, RENAME TABLE Kasus Data Definition Language (DDL) A. CREATE 1. Pembuatan Database Nama Database adalah yang dapat mewakili suatu kejadian dapat berupa nama organisasi atau perusahaan. Sintaks : CREATE DATABASE nama_database Contoh : Buat database dengan nama PT.ABC CREATE DATABASE PT.ABC 2. Pembuatan Tabel Sintaks : CREATE TABLE nama_table 23

( nama_kolom1 tipe_data_kolom1, nama_kolom2,tipe_data_kolom2,.) Contoh : Buat struktur tabel dengan nama tabel MHS dengan data NIM char(8), NAMA char(25), ALAMAT char(30) CREATE TABLE MHS (NIM char(8) not null, NAMA char(25) notnull, ALAMAT char(30) notnull) 3. Pembuatan Index Sintaks : CREATE [UNIQUE] INDEX nama_index ON nama_table (nama_kolom) ; Contoh : Buat index data mahasiswa berdasarkan NIM dengan nama MHSIDX Dimana NIM tidak boleh sama CREATE UNIQUE INDEX MHSIDX ON MHS(NIM) 4. Pembuatan View Sintaks : CREATE VIEW nama_view [ (nama_kolom1,.) ] AS SELECT statement [WITH CHECK OPTION] ; Contoh : Buat view dengan nama MHSVIEW yang berisi semua data mahasiswa CREATE VIEW MHSVIEW AS SELECT * FROM MHS B. DROP (MENGHAPUS) 1. Menghapus Database Sintaks : DROP DATABASE nama_db ; 24

2. Menghapus Tabel Sintaks : DROP TABLE nama_table ; 3. Menghapus Index Sintaks : DROP INDEX nama_index ; 4. Menghapus View Sintaks : DROP VIEW nama_view ; Contoh : DROP DATABASE Mahasiswa; DROP TABLE MHS; DROP INDEX MHSIDX; DROP VIEW MHSVIEW; C. ALTER TABLE (MERUBAH STRUKTUR TABEL) Sintaks : ALTER TABLE nama_tabel ADD nama_kolom jenis_kolom [FIRST AFTER nama_kolom] CHANGE [COLUMN] oldnama newnama MODIFY nama_kolom jenis kolom, DROP nama_kolom RENAME newnama_tabel Contoh : 1. Tambahkan kolom JKEL dengan panjang 1 char pada tabel MHS ALTER TABLE MHS ADD JKEL char(1); 2. Ubah panjang kolom MTKULIAH menjadi 30 char ALTER TABLE MKUL MODIFY COLUMN MTKULIAH char(30); 3. Hapus kolom JKEL dari data table MHS ALTER TABLE MHS DROP JKEL; 25

Data Manipulation Language (DML) 1. INSERT Sintaks : INSERT INTO Nama_tabel [(nama_kolom1, )] Contoh : Masukan data matakuliah Berkas Akses dengan kode KK222 dan besarnya 2 INSERT INTO MKUL VALUES( KK222, Berkas Akses, 2); 2. UPDATE Sintaks : UPDATE nama_tabel SET nama_kolom = value_1 WHERE kondisi ; Contoh : Ubah alamat menjadi Depok untuk mahasiswa yang memiliki NPM 50096487 UPDATE MHS SET ALAMAT= Depok WHERE NPM= 50096487 ; DELETE Sintaks : DELETE FROM nama_table WHERE kondisi Contoh : Hapus data nilai matakuliah KK021 bagi mahasiswa yang mempunyai NPM 10296832 DELETE FROM NILAI WHERE NPM= 10296832 AND KDMK= KK021. SELECT Sintaks : SELECT [DISTINCT ALL] nama_kolom FROM nama_tabel [ WHERE condition ] [ GROUP BY column_list ] [HAVING condition ] [ ORDER BY column_list [ASC DESC]] 26

Contoh : a. Tampilkan semua data mahasiswa SELECT NIM,NAMA,ALAMAT FROM MAHASISWA; Atau SELECT * FROM MAHASISWA; 27

BAB VII FRAGMENTASI DATA Merupakan sebuah proses pembagian atau pemetaan database dimana database dipecahpecah berdasarkan kolom dan baris yang kemudian disimpan didalam site atau unit komputer yang berbeda dalam suatu jaringan data, sehingga memungkinkan untuk pengambilan keputusan terhadap data yang telah terbagi. Secara umum proses fragmentasi ini dibagi kedalam tiga jenis, yaitu: 1. Fragmentasi horizontal Fragmentasi horizontal ini terjadi ketika suatu data yang berada pada suatu table dipisah ke dalam beberapa table yang lain. Tabel-tabel yang lain tersebut mempunyai struktur yang sama persis dengan table yang asli. Fragmentasi horizontal dibagi menjadi dua yaitu: a. Primary horizontal fragmentation Merupakan horizontal fragmentation dimana suatu data dalam table secara horizontal dipecah berdasarkan pada suatu nilai dalam satu atau lebih kolom tertentuk b. Derived horizontal fragmentation Merupakan suatu teknik horizontal fragmentation dimana data yang berada pada suatu table secara horizontal dipecah ke dalam beberapa table yang lain, dengan kriteria data yang dimasukan tergantung apakah data tersebut berelasi yang dengan data yang berada di dalam table yang dipecah secara primary horizontal fragmentation atau tidak 2. Fragmentasi vertical Merupakan suatu teknik fragmentasi data dimana data dipecah kedalam beberapa table yang merupakan hasil pemisahan beberapa kolom yang berada pada table utama. Tabel yang difragmentasi secara vertical harus dapat dikembalikan lagi seperti semula (reconstruct) 3. Fragmentasi hybrid Merupakan gabungan antara fragmentasi horizontal dan fragmentasi vertikal 28

Fungsi Fragmentasi : 1. Penggunaan 2. Efisiensi 3. Paralleslisme 4. Keamanan Kerugian fragmentasi yaitu : Kinerja yang dapat turun karena data tersebar dan butuh proses untuk penggabungan kembali Integritas yang dapat terganggu dikarenakan kegagalan pada salah satu site database server. CONTOH KASUS JENIS-JENIS FRAGMENTASI Ujian (NIM,Nama_Mhs,Kode_MK,Mt_Kuliah,Nil_Akhir,Grade) 29

Fragmentasi Horisontal terbagi menjadi 3 fragment yang berbeda berdasarkan Mt_Kuliah 1. Relasi Mt_Kuliah= Sistem Basis Data Mt_Kuliah= Sistem Basis Data (Ujian) 2. Relasi Mt_Kuliah= Peranc. Sistem Mt_Kuliah= Peranc. Sistem (Ujian) 3. Relasi Mt_Kuliah= Visual Basic Mt_Kuliah= Visual Basic (Ujian) 30

Fragment di atas memenuhi kondisi jika Nama_Mhs dan Mt_Kuliah adalah hal-hal yang memenuhi syarat Fragmentasi vertical:berdasarkan dekomposisi-nya dengan menambahkan tupel id Relasi 1 = NIM, Nama_Mhs, Mt,Kuliah, Nil_Akhir, Grade, Tuple_ID p NIM,Nama_Mhs,Mt,Kuliah,Nil_Akhir,Grade,Tuple_ID (UJian) 31

Relasi 2 = NIM,Kode_MK,Nil_Akhir,Grade,Tuple_ID p NIM,Kode_MK,Nil_Akhir,Grade,Tuple_ID (Ujian) Terdapat relasi berdasarkan Mata Kuliah yang sama Relasi 1a. p NIM,Nama_Mhs,Mt_Kuliah,Nil_Akhir,Grade,Tuple_ID(s Mt_Kuliah= Sistem Basis Data (Ujian)) Relasi 1b. p NIM, Nama_Mhs, Mt_Kuliah, Nil_Akhir, Grade, Tuple_ID(s Mt_Kuliah= Peranc.Sistem (Ujian)) 32

Relasi 1c p NIM,Nama_Mhs,Mt_Kuliah,Nil_Akhir,Grade,Tuple_ID(s Mt_Kuliah= Visual Basic (Ujian)) Bagaimana bentuk database untuk data yang telah mengalami proses fragmentasi? Fragmentasi data merupakan langkah yang diambil untuk menyebarkan data dalam database terdistribusi. Selanjutnya akan dibahas apa yang dimaksud Database terdistribusi. Database Terdistribusi Yaitu kumpulan data yang digunakan bersama yang saling terhubung secara logik tetapi tersebar secara fisik pada suatu jaringan komputer.karakteristik Database terdistribusi, yaitu : 1. Kumpulan data yang digunakan bersama secara logik tersebar pada sejumlah komputer yang berbeda 2. Komputer yang dihubungkan menggunakan jaringan komunikasi 3. Data pada masing-masing situs dapat menangani aplikasiaplikasi lokal secara otonom 4. Data pada masing situs dibawah kendali satu DBMS 5. Masing-masing DBMS berpartisipasi dalam sedikitnya satuaplikasi global 33

BENTUK-BENTUK TOPOLOGI DISTRIBUSI DATA : a. Fully Connected network b. Partialy conneted network 34

c. Tree Strutured Network d. Ring network 35

e. Star network Keuntungan Dan Kerugian Database Terdistribusi KEUNTUNGAN : 1. Secara alami mengikuti struktur organisasi 2. Adanya otonomi lokal 3. Sifatnya dapat dipakai secara bersama 4. Peningkatan ketersediaan 5. Peningkatan kehandalan 6. Peningkatan kinerja 7. Ekonomis 8. Pertumbuhan yang modular KERUGIAN : 1. Harga software mahal (Biaya) 2. Kompleksitas 3. Kelemahan dalam keamanan 4. Sulitnya menjaga keutuhan data 5. Kurangnya standar 6. Kurangnya pengalaman 7. Perancangan basisdata lebih kompleks 36