Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Dasar-dasar Database

Dasar-dasar Database Terminologi Dan Konsep Basis Data (1) • Basis dapat diartikan sebagai markas / gudang, tempat berkumpul. • Data adalah fakta yang mewakili suatu objek seperti manusia, barang, hewan peristiwa, keadaan dan sebagainya, yang direkam dalam bentuk angka, huruf simbol, teks gambar, bunyi atau kombinasinya. Terminologi Dan Konsep Basis Data (2) • Basis data sendiri dapat di definisikan dalam sejumlah sudut pandang seperti : ▫ Himpunan kelompok data / arsip yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat & mudah. ▫ Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan/ penumpukan (redundansi), untuk memenuhi berbagai kebutuhan. ▫ Kumpulan file/ tabel /arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis. Basis data dan lemari arsip memiliki prinsip kerja dan tujuan yang sama. Prinsip utamanya adalah pengaturan data/arsip. Dan tujuan utamanya adalah kemudahan dan kecepatan dalam pengambilan kembali data/ arsip. Perbedaannya hanya terletak pada media penyimpanan yang digunakan . jika lemari arsip menggunakan lemari sebagai media penyimpanannya, maka basisdata mnenggunakan media penyimpanan elektronis seperti disk (disket, harddisk). Terminologi Dan Konsep Basis Data (3) • Tidak semua bentuk penyimpanan data secara elektronis bisa disebut basis data. • Yang sangat ditonjolkan dalam basis data adalah pengaturan/pemilahan/pengelompokkan/pengo rganisasian data yang akan kita simpan sesuai fungsi/jenisnya. • Pemilahan/ pengelompokan ini dapat berbentuk sejumlah file/ tabel terpisah atau dalam bentuk pendefinisian kolom-kolom/field-field data dalam setiap file/tabel. Tujuan Basis data (1) • Kecepatan & kemudahan (speed) • Efisiensi ruang penyimpanan (space) • Keakuratan (accuracy) • Ketersediaan (availability) • Kelengkapan (completeness) • Keamanan (security) • Kebersamaan pemakaian (sharability) Operasi dasar pembuatan Basis data(1) • Pembuatan Basis Data (Create Database) • Penghapusan Basis Data (Drop Database) • Pembuatan File/Table baru ke suatu basis data (Create Table) • Penghapusan File/Table dari suatu basis data (Drop Table) Operasi dasar pembuatan Basis data(1) • Penambahan data baru ke suatu file/table di sebuah basis data (insert) • Pengambilan data dari sebuah file/table (Retrieve/Search) • Pengubahan data dari sebuah file/table (Update) • Penghapusan data dari sebuah file/table (Delete) Hirarki Data (1) • basis data, merupakan sekumpulan dari bermacam-macam tipe record yang memiliki hubungan antar record. • berkas/file, merupakan sekumpulan rekaman data yang berkaitan denngan suatu objek. • record , merupakan sekumpulan field/atribut/data item yang saling berhubungan terhadap obyek tertentu • field/atribut/data item, merupakan unit terkecil yang disebut data,yang tidak dapat dipecah lagi menjadi unit lain yang bermakna. ▫ fixed length field, memiliki ukuran yang tetap. ▫ variabel length field, field-field dalam record dapat memiliki ukuran berbeda. Sistem Basis Data Basis Data File Record Field byte Bit Hirarki Data (2) • byte, adalah bagian terkecil yang dialamatkan dalam memori. byte mrupakan sekumpulan bit yang secara konvensional terdiri atas kombinasi delapan bit yang menyatakan sebuah karakter dalam memori (I byte= I karakter) • bit, adalah sistem binner yang terdiri atas dua macam nilai, yaitu 0 dan 1. sistem binner merupakan dasar yang dapat digunakan untuk komunikasi antara manusia dan mesin, yang merupakan serangkaian komponen elektronik dan hanya dapat membedakan 2 macam keadaan, yaitu ada tegangan dan tidak ada tegangan yang masuk ke rangkaian tersebut. Sistem Basis Data Basis Data File Record Field byte Bit Konsep DBMS (database management system) • Database Management System (DBMS) merupakan paket program (Software) yang dibuat agar memudahkan dan mengefisienkan pemasukan, pengeditan, penghapusan dan pengambilan informasi terhadap database. • Software yang tergolong kedalam DBMS antara lain, Microsoft SQL, MySQL, Oracle, MS. Access, MS Visual Foxpro dan lain-lain Komponen utama DBMS (1) • Perangkat keras berupa komputer dan bagian-bagian didalamnya, seperti prosesor, memori & harddisk. Komponen inilah yang melakukan pemrosesan dan juga untuk menyimpan basis data. • Basisdata sebuah DBMS dapat memiliki beberapa basisdata, setiap basisdata dapat berisi sejumlah obyek basisdata (file,tabel,indeks dsb). Disamping berisi data,setiap basisdata juga menyimpan definisi struktur (baik untuk basisdata maupun obyek-obyeknya secara detail). • Perangkat lunak perangkat lunak ini terdiri dari sistem operasi dan perangkat lunak/program pengelola basisdata. Perangkat lunak inilah yang akan menentukan bagaimana data diorganisasi,disimpan, diubah dan diambil kembali. Ia juga menerapkan mekanisme pengamanan data, pemakaian data secara bersama, pemaksaan keakuratan/konsistensi data, dsb. Contoh perangkat lunak DBMS : MS access, SQL Server, Oracle dsb. Komponen utama DBMS (2) • Pengguna/user pengguna dapat digolongkan menjadi 3 : 1. Pengguna akhir / end user. Dapat dibagi menjadi 2 :  pengguna aplikasi : adalah orang yang mengoperasikan program aplikasi yang dibuat oleh pemrogram aplikasi.  pengguna interaktif : adalah orang yg dpt memberikan perintahperintah pada antar muka basisdata, misalnya SELECT, INSERT dsb. 2. Pemrogram aplikasi adalah orang yang membuat program aplikasi yang menggunakan basisdata. 3. Administrator database / DBS (database administrator) adalah orang yang bertanggungjawab terhadap pengelolaan basisdata. Tugas DBA :  mendefinisikan basisdata  menetukan isi basisdata  menentukan sekuritas basisdata Abstraksi Data • Salah satu tujuan dari DBMS adalah untuk menyediakan fasilitas/antarmuka (interface) kepada user. • Untuk itu system tersebut akan menyembunyikan detail tentang bagaimana data disimpan dan dipelihara, sehingga data yang terlihat oleh user sebenarnya berbeda dengan yang tersimpan secara fisik. • Abstraksi data merupakan tingkatan-tingkatan pengguna dalam memandang bagaimana sebenarnya data diolah dalam sebuah sistem database sehingga menyerupai kondisi yang sebenarnya dihadapi oleh pengguna sehari-hari. Terdapat 3 level abstraksi : 1. Level Fisik (Physical Level) Lapis fisik merupakan lapis terendah, lapis ini menjelaskan bagaimana (how) data sesungguhnya disimpan. Pada lapis inilah struktur data dijabarkan secara rinci. 2. Level Logik / Konseptual (Conceptual Level) Lapis konseptual lebih tinggi dari lapis fisik. Lapis ini menjabarkan data apa (what) saja yang sesungguhnya disimpan pada basisdata, dan juga menjabarkan hubungan-hubungan antardata secara keseluruhan. 3. Level Penampakan/pandangan (View Level) Lapis view merupakan lapis tertinggi pada abstraksi data. Pada lapis ini pengguna hanya mengenal struktur data yang sederhana, yang berorientasi pada kebutuhan pengguna. Data yang dikenal oleh masing-masing pengguna bisa berbeda-beda dan barangkali hanya mencakup sebagian dari basis data. Contoh Abstraksi Data • Sebagai gambaran , misalnya terdapat struktur data bertipe record seperti berikut : Pegawai = RECORD Nama : STRING; Alamat : STRING; Bagian : STRING; Gaji : LongInt; End: • Pada contoh ini record pegawai berisi 4 buah field (nama, alamat, bagian, gaji ). Setiap field memiliki nama, dan setiap nama memiliki tipe data. • Pada level fisik, pegawai dapat dijabarkan sebagai blok data yang terletak pada lokasi berurutan (satuan byte). Pada lapis konseptual masing-masing record dijabarkan dengan definisi tipe data . pada lapis view, user tertentu hana boleh mengakses data tertentu, contohnya, seorang yang menangani penggajian berhak mengetahui gaji seseorang bahkan mengubahnya, tetapi orang yang bekerja di bagian lain tentu tidak boleh melihatnya. Model Basis Data • Model database adalah suatu konsep yang terintegrasi dalam menggambarkan hubungan (relationships) antar data dan batasan-batasan (constraint) data dalam suatu sistem database. Model data yang paling umum, berdasarkan pada bagaimana hubungan antar record dalam database (Record Based Data Models), terdapat tiga jenis,yaitu : 1. Model Database Hirarki (Hierarchical Database Model) 2. Model Database Jaringan (Network Database Model) 3. Model Database Relasi (Relational Database Model) Model Database Hirarki (Hierarchical Database Model) • Model hirarkis biasa disebut model pohon, karena menyerupai pohon yang dibalik. Model ini menggunakan pola hubungan orangtua-anak Rudi Dosen Dosen Siti Nurbaya Ashadi Pengantar Pemrograman Basis Data C Asti Dina Dina Edi Matematika I Ita Edi Model Database Jaringan (Network Database Model) Rudi Dosen Dosen Siti Nurbaya Ashadi Pengantar Pemrograman Basis Data C Asti Dina Edi Matematika I Ita Model Database Relasi (Relational Database Model) Tingkatan Data Dalam Database Relasi • • • • • Karakter (Characters) Field atau Attribute Record atau Tupple Table/Entity Database MACAM-MACAM PERINTAH DATA BASE • Bahasa Definisi Data (Data Definition Language/ DDL) • Bahasa Manipulasi Data (Data Manipulation laguage/ DML) • DQL ( Data Query Language) Model Entity-Relationship (ER • Model Entity-Relationship adalah model data konseptual tingkat tinggi untuk perancangan basis data. • Model data konseptual adalah himpunan konsep yang mendeskripsikan struktur basis data, transaksi pengambilan dan pembaruan basis data. Komponen-komponen utama model ER • Entitas (entity) Entitas memodelkan objek-objek yang berada diperusahaan/lingkungan. • Relationship Relationship memodelkan koneksi/hubungan di antara entitas-entitas. • Atribut-atribut (properti-properti) Memodelkan properti-properti dari entitas dan relationship. • Konstrain-konstrain (batasan-batasan) integritas, Konstrain-konstrain ketentuan validitas. Kardinalitas/derajat Relasi • Kardinalitas Relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain. • Kardinalitas relasi merujuk kepada hubungan maksimum yang terjadi dari himpunan entitas yang satu ke himpunan entitas yang lain dan begitu juga sebaliknya Kardinalitas • Satu ke satu (One to One), • Satu ke Banyak (one to many), Kardinalitas • Banyak ke Banyak (Many to Many) Tahap Pembuatan Diagram ER • Mengidentifikasi dan menetapkan seluruh entity yang terlibat dalam sistem database tersebut. • Menentukan attribute-attribute atau field dari masing-masing entity beserta kunci (key)-nya. • Mengidentifkasi dan menetapkan seluruh himpunan relasi diantara himpunan-himpunan entity yang ada beserta kunci tamu (foreign key)- nya. • Menentukan derajat relasi untuk setiap himpunan relasi. • Melengkapi himpunan entitas dan himpunan relasi dengan atribut-atribut deskriptif (non key). Jenis-Jenis Kunci (Key) (1) • Candidat Key Sebuah attribute atau lebih yang secara unit mengidentifikasi sebuat record, disebut candidate key. Attribute ini mempunyai nilai yang unik pada hampir setiap recordnya. Fungsi dari candidate key ini adalah sebagai calon primary key. Contoh candidate-key : Jenis-Jenis Kunci (Key) (2) • Primary Key Salah satu atrribut dari candidat key dapat dipilih menjadi primary key dengan 3 kriteria sbb : ▫ Key tersebut lebih natural untuk dijadikan acuan ▫ Key tersebut lebih sederhana ▫ Key tersebut cukup uniqe • Foreign Key Jika sebuah primary key terhubung ke table/entity lain, maka keberadaan primary key pada entity tersebut di sebut sebagai foreign key. Misal : Primary Key KodeDosen dari entity Dosen digunakan juga pada field entity KRS, maka keberadaan field KodeDosen pada entity KRS disebut sebagai foreign key. Jenis-Jenis Kunci (Key) (2) • Alternate Key Setiap atribut dari candidate key yang tidak terpilih sebagai primary key akan dinamakan alternate key. Pada contoh sebelumnya bila untuk primary key dipilih ID_Cus maka alternate key nya adalah No.of Pay Normalisasi Proses normalisasi adalah proses untuk memperoleh properti-properti skema relasi yang bagus menjadi bentuk normal lebih tinggi sehingga syarat-syarat dibawah ini terpenuhi: • Mengoptimalisasi redudansi (pengulangan data yang tidak perlu). Redudansi tidak bisa dihilangkan sama sekali karena berguna untuk integritas referensial, tetapi redudansi bisa dioptimalisasi. • Menghilangkan anomali. Anomali pada dasarnya adalah ketidakkonsistenan (inkonsistensi). Misalkan ada pergantian nama dari Bank Perkasa menjadi Bank Perkasa Utama sebanyak 4 record. Jika pergantian nama hanya dilakukan pada salah satu record saja, maka terjadi ketidak-konsistenan yaitu satu nomor bank berrelasi dengan 2 nama bank yang berbeda. Dekomposisi tabel dapat mengurangi redudansi yang ada dan menghilangkan anomali. Bentuk Normal • Tujuan proses normalisasi adalah mengkonversi relasi menjadi bentuk normal lebih tinggi. Terdapat beragam tingkat bentuk normal, yaitu : a. Bentuk normal pertama (1NF) b. Bentuk normal kedua (2NF) c. Bentuk normal ketiga (3NF) d. Bentuk normal Boyce-Codd (BCNF) e. Bentuk normal keempat (4NF) f. Bentuk normal kelima (5NF) Bentuk Normal Pertama • Bentuk normal pertama adalah ekivalen dengan definisi model relasional. Relasi adalah bentuk normal pertama (1NF) jika semua nilai atributnya adalah sederhana (bukan komposit). Syarat : ▫ Tidak ada set atribut yang berulang atau bernilai ganda. ▫ Telah ditentukannya primary key untuk tabel atau relasi. ▫ Tiap atribut hanya memiliki satu pengertian. ▫ Tiap atribut yang dapat memiiki banyak nilai sebenarnya menggambarkan entitas atau relasi yang terpisah. Bentuk Normal Kedua • Syarat : ▫ Bentuk data telah memenuhi kriteria bentuk normal ke satu. ▫ Atribut bukan kunci(non-key attribute) haruslah memiliki ketergantungan fungsional sepenuhnya pada primary key • Relasi pada bentuk normal kedua harus tidak menyimpan fakta-fakta mengenai bagian kunci relasi. Bentuk normal kedua menghilangkan kebergantungan parsial dan masih memiliki anomali-anomali yang secara praktis tidak dapat diterima. Bentuk Normal Ketiga • Syarat : ▫ Bentuk data telah memenuhi kriteria bentuk normal ke dua. ▫ Atribut bukan kunci(non-key attribute) tidak boleh memiliki ketergantungan fungsional terhadap atribut bukan kunci lainnya. Seluruh atribut bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional terhadap primary key di relasi itu saja. • Bentuk normal ketiga menghilangkan kebergantungan transitif, awalnya bentuk normal ketiga dipikir sebagai bentuk normal puncak/paling akhir. Namun kemudian dapat ditemukan bentuk normal lebih kuat yaitu bentuk normal Boyce-Codd. Bentuk Normal Boyce-Codd (BCNF) • BCNF memiliki ketentuan yaitu masing-masing atribut utama bergantung fungsional penuh pada masing-masing kunci dimana kunci tersebut bukan bagiannya. Relasi adalah BCNF (optimal) jika setiap determinan atribut-atribut relasi adalah kunci relasi. Relasi adalah BCNF (optimal) jika kapanpun fakta-fakta disimpan mengenai beberapa atribut, maka atribut-atribut ini merupakan satu kunci relasi. BCNF dapat memiliki lebih dari satu kunci. Properti penting BCNF adalah relasi tidak memiliki informasi yang redundan. Bentuk Normal Keempat • Relasi dalam bentuk normal keempat (4NF) jika relasi dalam BCNF dan tidak berisi kebergantungan banyak nilai. Untuk menghilangkan kebergantungan banyak nilai dari satu relasi, kita membagi relasi menjadi dua relasi baru. Masing – masing relasi berisi dua atribut yang mempunyai hubungan banyak nilai. Bentuk Normal Kelima • Bentuk normal kelima (5NF) berurusan dengan properti yang disebut join tanpa adanya kehilangan informasi (lossless join). Bentuk normal kelima (5NF) juga disebut PJNF (projection-join normal form). Kasus-kasus ini sangat jarang muncul dan sulit untuk dideteksi secara praktis. Contoh Normalisasi • Diberikan tabel Mahasiswa di bawah ini, akan dilakukan normalisasi sampai bentuk normal ke tiga Perhatikan bahwa tabel di atas sudah dalam bentuk normal ke Satu(1NF). Bentuk Normal 2 ( NF2 ) Belum memenuhi kriteria 3NF, Karena atribut non-key Nilai dan bobot masih memiliki ketergantu-ngan fungsional Bentuk Normal 3 NF3