Database Dan Sistem Manajemen Database (DBMS) Disiapkan oleh: TIM Sistem Informasi Manajement 7/18/2017 1 Pengertian-pengertian penting dalam Sistem basis data: 7/18/2017 2 Entity Adalah segala sesuatu dalam suatu bidang dapat berupa orang, tempat, kejadian atau konsep yang informasinya dapat direkam. Contoh Pada bidang administrasi di Perguruan Tinggi misalnya, entity mahasisswa, buku, pembayaran, nilai, dll. Pada bidang kesehatan, entity pasien, dokter, obat, kamar dll. 7/18/2017 3 ATTRIBUT Setiap entity mempunyai attribute atau sebutan untuk mewakili suatu entity. Seorang Mahasiswa (MHS) dapat dilihat dari attributnya, misalnya NAMA, NIM, ALM, NM-ORTU, HOBBY. Attibut disebut juga sebagai: data elemen, data field, atau data item. 7/18/2017 4 DATA VALUE Adalah data aktual atau informasi yang disimpan pada tiap data elemen atau attribute. Attribute nama karyawan menunjukan tempat dimana informasi nama karyawan disimpan, sedang data value Mise, Budi, merupakan isi nama karyawan 7/18/2017 5 RECORD/TUPLE Kumpulan elemen-elemen yang saling berkaitan menginformasikan tentang suatu entity secara lengkap. Satu record mewakili satu data atau informasi tentang seseorang misalnya NIM, NAMA, ALM, TGL-LHR dan seterusnya. 7/18/2017 6 FILE Adalah kumpulan record-record sejenis yang mempunyai panjang elemen yang sama, attribute yang sama, namun berbeda-beda data valuenya. 7/18/2017 7 DATABASE Adalah kumpulan file/tabel yang mempunyai kaitan antara satu file/tabel dengan file/tabel yang lain sehingga membentuk satu bangunan data untuk menginformasikan satu perusahaan, instansi dalam batasan tertentu. Bila terdapat file yang tidak dapat dipadukan atau dihubungkan dengan file yang lainnya berarti bukanlah kelompok dari satu database, ia akan dapat membentuk satu database sendiri atau data base lain. 7/18/2017 8 DBMS (Database Management System) Kumpulan file yang saling berkaitan bersama dengan program untuk pengelolaannya disebut sebagai DBMS. Data-base system (sistem Basis Data) adalah kumpulan datanya, sedang program pengelolanya berdiri sendiri dalam satu paket program untuk membaca data, mengisi data, menghapus data, melaporkan data yang terdapat dalam sistem data base. 7/18/2017 9 Keuntungan Database 1. Independensi data, DBMS menyediakan pendekatan yang membuat perubahan dalam struktur data tidak membuat program harus berubah. 2. Pengaksesan yang efisien terhadap data DBMS menyediakan berbagai teknik yang canggih sehingga peyimpanan dan pengambilan data dilakukan secara efisiensi. 7/18/2017 10 3. Keamanan data integritas data, karena data dikendalikan oleh DBMS, DBMS dapat melakukan kendali integritas terhadap data. Segala sesuatu yang tidak sesuai dengan definisi suatu field dan kekangan yang melekat pada field akan ditolak. 4. Administrasi data, jika sejumlah pemakai berbagi data, pemusatan administrasi data dapat meningkatkan perbaikan yang sangat berarti. Dengan cara seperti ini duplikasi atau redundansi data dapat diminimalkan. 7/18/2017 11 5. Akses bersama dan pemulihan terhadap kegagalan, DBMS menyediakan mekanisme sehingga data yang sama dapat diakses oleh sejumlah orang dalam waktu yang sama. Selain itu DBMS melindungi pemakai dari efek kegagalan system. Jika terjadi kegagalan, DBMS dapat mengembalikan data sebagaimana kondisi saat sebelum terjadi kegagalan. 6. Waktu pengembagan aplikasi diperpendek, DBMS menawarkan banyak fasilitas yang memudahkan dalam meyusun aplikasi sehingga waktu pengembagan aplikasi dapat diperpendek. 7/18/2017 12 Beberapa contoh DBMS yang terkenal adalah Microsoft Acces, dBase3+, dBaseIV, dBaseV Informix, Ingres, MySQL, Oracle, Sybase, Mic, SQL Server, PosgreSql, dll. 7/18/2017 13 Database Management System system basisdata yang mamiliki kemampuan menajemen untuk menjamin ketersediaan, keamanan, reliabilitas, konsistensi dan validitas data 7/18/2017 14 Database Management System Bagaimana cara mengorganisasikan data dalam database? Salah satu metode yg digunakan Menggunakan metode relasi yang didasarkan pada teori himpunan matematika 7/18/2017 15 Database Management System Himpunan Kumpulan dari object yang berbeda (diskrit) yg digunakan untuk mengelompokkan sejumlah objek (yg disebut dg elemen, unsur atau anggota) 7/18/2017 Himpunan dosen unp 16 Database Management System Himpunan Himpunan B Himpunan A Himpunan C Tabel B Tabel A 7/18/2017 Tabel C Masing-masing Tabel memiliki relasi dng tabel lain 17 Database Management System Himpunan Pekerja 7/18/2017 18 Database Management System Tabel A Tabel B Tabel C Tabel D Tabel E Relational Database Management System 7/18/2017 19 Relational Database Management System DBMS yg menggunakan metode relasi didasarkan pada teori himpunan untuk mengorganisasikan data data dikumpulkan dalam sejumlah object yang disebut dengan tabel Sebuah tabel memiliki sejumlah kolom (yang disebut dengan field, tuple, item, atau attribute) dan baris untuk mengorganisasikan data yang ada Dimungkinkan adanya lebih dari satu relasi dlm satu tabel Dapat meminimalkan redundancy data & menjaga konsistensi data 7/18/2017 20 Relational Database Management System Contoh minimalisasi redundancy data 7/18/2017 21 Relational Database Management System Database design menggunakan Entity Relationship Diagram Relationship Entitas Atribut 7/18/2017 22 Web Database Web merupakan satu set aplikasi komunikasi dan system perangkat lunak dengan karakteristik 1.terletak dalam internet host dan client 2.menggunakan protocol TCP/IP 3.menggunakan bahasa Hypertext Markup Language (HTML) 4.mampu melakukan komunikasi data dua arah 5.client dapat mengakses informasi text, gambar dan suara 6.menggunakan Uniform Resource Locators (URL) 7.untuk mengakses server dapat menggunakan http, ftp, dan telnet. 7/18/2017 23 Web Database Web database merupakan system penyimpanan data yang dapat diakses oleh aplikasi database yang mendukung teknologi Web Multi tier application 7/18/2017 24 MySQL MySQL Open Source SQL database management system relational database mampu menyimpan data dalam skala yang sangat besar dikembangkan, didistribusikan dan disuport oleh MySQL AB menggunakan Structured Query Language (SQL) sebagai bahasa standardnya - SQL:2003 7/18/2017 25 MySQL Prosedur Mengakses MySQL membuka koneksi (connection) dengan database server memilih dan membuka database yang diinginkan mengirim perintah untuk mengakses (membaca, menulis, mengubah, atau menghapus) data membaca hasil akses yang telah dilakukan mengakhiri koneksi dengan database server 7/18/2017 26 ABSTRAKSI DATA Kegunaan utama system database adalah agar user mampu menyusun suatu pandangan abstraksi dari data. Bayangan mengenai data tidak lagi memperhatikan kondisi sesungguhnya bagaimana satu data masuk ke database, disimpan dalam disk sector mana, tetapi menyakut secara menyeluruh bagaimana data tersebut dapat digambarkan menyerupai kondisi yang dihadapi oleh user sehari-hari. 7/18/2017 27 User dapat dikelompokkan menjadi tiga tingkatan abstraksi saat memandang suatu database yaitu 1. Level Fisik, yaitu mengambarkan bagaimana data disimpan dalam kondisi sebenarnya. Level ini tentu paling complex, struktur data level terendah digambarkan pada level ini. 7/18/2017 28 2. Level Konseptual, level data yang lebih tinggi yang menggambarkan keseluruhan database. Pemakai tidak memperdulikan kerumitan dalam struktur level fisik lagi, penggambaran cukup dengan memakai kotak, garis dan keterangan secukupnya. Level ini digunakan oleg DBA yang memutuskan informasi apa yang akan dipelihara dalam satu database. 7/18/2017 29 3. Level Pandangan Pemakai, yaitu level abstraksi tertinggi yang menggambarkan hanya satu bagian dari keseluruhan database. Bila pada level konseptual data merupakan suatu kumpulan besar dan complex. Pada level ini hanya sebagian saja yang dilihat dan dipakai. Hal ini disebabkan beberapa user database tidak membutuhkan semua isi database. 7/18/2017 30 Jenis Basis Data menurut Pengaksesan 7/18/2017 Basis data individual Basis data perusahaan Basis data terdistribusi Basis data Publik 31 Jenis data pada database. DBMS masa sekarang mendukung berbagai jenis data dari teks, suara, hingga gambar. Contoh tipe data yang lebih complex terdapat dalam Microsoft access, yaitu text, number, interger, date/time,ole (object link embeded), memo, dan lain-lain 7/18/2017 32 MODEL DATA Yang dimaksud dengan model data adalah sekumpulan konsep terintegrasi yang dipakai untuk menjabarkan data, huhungan antardata , dan kekangan data terhadap data yang digunakan untuk menjaga konsistensi, kadang kala model data disebut Struktur Data logis. Model data yang umum pada saat ini adalah : 7/18/2017 33 1. Model data hirarki Merupakan model data yang tertua, model ini dijabarkan dalam bentuk pohon terbalik. Didalam model ini dikenal istilah parents and Child (induk dan anak). 7/18/2017 34 2. Model data jaringan Model data ini dibuat untuk mengatasi masalah pada model hirarki. Bentuknya meyerupai model hirarkis, tetapi ada perbedaan: § Tidak mengenal akar § Setiap anak bisa memiliki lebih dari 1 induk. Mengingat bahwa anak bisa memiliki lebih dari satu induk, maka model data ini mendukung hubungan M : M 7/18/2017 35 3. Model data relasional Menggunakan sekumpulan table berdimensi dua (yang disebut relasi atau table). Dengan masing-masing table tersusun atas sejumlah baris dan kolom. Kolom dapat didefinisikan sebagai satuan data terkecil dalam sebuah table yang mempunyai makna. Pada model data relasional kaitan antara dua bauh table disebut Relationship berupa : 7/18/2017 36 Relationship : Macam Relationship al: 1 – 1 (one to one); 1 – M (one to many); M – 1 (many to one); M – M (many to many) 1 – 1 : satu data suatu tabel berpasangan dengan hanya satu data pada tabel lain. 1 – M : satu data suatu tabel berpasangan dengan banyak data pada tabel lain. M – M : banyak data suatu tabel dpt berpasangan dg banyak data pada tabel lain 7/18/2017 37 Secara konsep setiap table harus memiliki kunci primer. Selain kunci primer, juga terdapat kunci tamu yaitu sebuah kolom dalam sebuah table yang menjadi penghubung dengan kunci primer pada table lain. 7/18/2017 38 DBMS yang mengunakan model data relasional biasa disebut RDBMS (Ralational database management system). Contoh RDMS yang terkenal yaitu Ingres dan InterBase. 7/18/2017 39 4. Model Data Berbasis Objek. Model data yang menerapkan teknik pemrograman berorientasi objek. Berbeda dengan tiga model yang telah dibahas diatas. Model data berbasis objek mengemas data dan fungsi untuk mengakses data kedalam bentuk objek. 7/18/2017 40 PAKET BAHASA DBMS : 1. DDL (data definition language) yaitu pola / scheme database dispesifikasikan dengan satu set definisi yang diexpresikan dengan satu bahasa khusus. Contoh perintah : create, modify report, Modi stru dan lain-lain. 7/18/2017 41 PAKET BAHASA DBMS : 2. DML (data manipulation language) yaitu Bahasa yang memperbolehkan user untuk akses atau memanipulasi data yang telah diorganisasikan sebelumnya dalam model data yang tepat, Contoh : append,list, delete, edit dan lain-lain. 3. QUERY : pernyataan yang diajukan untuk mengambil informasi. Ini merupakan bagian dari DML yang pengambilan informasinya disebut query language. 7/18/2017 42 KOMPONEN Sistem Basis Data 1. Perangkat Keras (Hardware) 2. Sistem Operasi (Operating System 3. Basis Data (Database) Sejumlah objek basis data (file/tabel, indeks, dll) Definisi struktur basis data dan objek-objeknya secara detil. 4. Sistem Pengelola Basis Data (DBMS) Software pengelola basis data secara fisik, menentukan bagaimana data diaorganisasi, disimpan, diubah, & diambil kembali. 5. Pemangguna (User) 6. Aplikasi (Software) lainnya. 7/18/2017 43 KOMPONEN DBMS 1. Data Dictionary digunakan untuk menyimpan deskripsi data yang digunakan dalam basis data. Setiap elemen data antara lain memiliki tipe dan ukuran. 7/18/2017 44 KOMPONEN DBMS 2.Utilitas, digunakan utk memudahkan user dalam menciptakan basis data dan table serta dalam memanipulasi data. (Create table dalam access) 7/18/2017 45 KOMPONEN DBMS 3.Pembangkit Laporan, adalah fasilitas yang disediakan kepada pemakai untuk membuat laporan dengan mudah. (pembuatan report via object report dalam access) 7/18/2017 46 KOMPONEN DBMS 4. Pembangkit Aplikasi yaitu fasilitas yang digunakan untuk membuat tampilan yang digunakan oelh user yang akan menggunakan aplikasi basis data. Pembuatan ini pada object FORM via Access. 7/18/2017 47 KOMPONEN DBMS 5. Keamanan akses digunakan untuk mengatur hak akses pemakai. Keamanan akses dapat berupa pengaturan wewenang akses terhadap pemakai tertentu. 7/18/2017 48 KOMPONEN DBMS 6. Pemulihan system berfungsi untuk mengembalikan data semula ke basis data sekiranya terjadi kegagalan system. Beberapa teknik yang digunakan untuk pemulihan system yaitu : Mirroring, reprocessing, dan rollback. 7/18/2017 49 KOMPONEN DBMS 7. SQL (structure Query Language) adalah bahasa yang digunakan untuk mengakses basis data yang tergolong relasional. Ini terdapat pada SQL view dalam Microsoft access. 7/18/2017 50 PENGGUNA DATABASE 1. Database Manager, adalah satu modul program yang meyediakan interface antara penyimpanan data low level dalam database dengan satu aplikasi program dan qery yang diajukan ke system. 7/18/2017 51 PENGGUNA DATABASE Tugas dan tanggung jawab Database Manager : 7/18/2017 Interkasi dengan manager file Integrity enforcement (integritas) Security enforcement (keamanan) Backup dan recovery Concurency Control 52 PENGGUNA DATABASE 2. Database Administrator, orang yang mempunyai kekuasaan sebagai pusat pengontrolan terhadap seluruh system baik data maupun program yang mengakses data tersebut sebagai database administrator. 7/18/2017 53 PENGGUNA DATABASE Fungsi database administrator adalah: Mendefinisikan pola struktur database Mendefinisikan struktur penyimpanan dan metode akses. Mampu memodifikasi pola dan organisasi fisik. Memberikan kekuasaan pada user untuk mengakses data Menspesifikasikan keharusan integritas data 7/18/2017 54 PENGGUNA DATABASE 3. Database User, satu tujuan dari system database adalah menciptakan suasana bagaimana informasi dibaca dan data baru disimpan dalam database. 7/18/2017 55 PENGGUNA DATABASE Ada empat macam pemakai database yang berbeda keperluan dan cara aksesnya yaitu : 7/18/2017 56 PENGGUNA DATABASE § 7/18/2017 Programmer Aplikasi yaitu professional computer yang berinteraksi dengan system lewat DML yang dibuat dengan bahasa program. 57 PENGGUNA DATABASE § 7/18/2017 Casual user, user yang telah berpengalaman, berinteraksi dengan system tanpa menulis program, tetappi memakai bahasa query. 58 PENGGUNA DATABASE § 7/18/2017 Naïve user, user yang tidak berpengalaman, berinteraksi dengan system tanpa menulis program, tinggal menjalankan satu menu dan memilih proses yang telah ada atau telah dibuat sebelumnya oleh programmer. 59 PENGGUNA DATABASE § 7/18/2017 Specialized user, user khusus yang menuliskan aplikasi database tidak dalam kerangka data processing yang tradisional. Aplikasi tersebut diantaranya adalah CAD, Knowledge base Expert system dll. 60 NORMALISASI Proses tahap demi tahap untuk mengganti struktur data pohon atau jaringan menjadi struktur data hubungan dalam bentuk table dua dimensi. Atau kita menjadi table dalam keadaan normal. Ada tahapan normalisasi yaitu : 7/18/2017 61 NORMALISASI 1.Bentuk Normal Kesatu (1 NF / First Normal Form): Mempunyai ciri yaitu setiap data dibentuk dalam flat file, data dibentuk dalam satu record dan nilai field berupa automatic value. 7/18/2017 62 NORMALISASI 2.Bentuk Normal kedua ( 2 NF / Second Normal Form ) Mempunyai syarat bentuk data telah memenuhi criteria bentuk normal kesatu. Attribute bukan kunci haruslah bergantuung secara fungsi pada kunci utama (primary key). 7/18/2017 63 NORMALISASI 3.Bentuk Normal Ketiga ( 3 NF/ Third Normal Form ) Relasi harus berada dalam 2 NF dan semua attribute bukan kunci primer tidak punyai hubungan yang transitif. 7/18/2017 64 NORMALISASI 3. Bentuk Normal Kode Boyce (BCNF/ Boyce Code Normal Form ) dst 7/18/2017 65