Basis Data (4 sks) Rita Wiryasaputra, ST., M. Cs [email protected] Ketentuan Mata Kuliah Basis Data Jurusan Informatika (S1) UIGM • • • • • • • • Atasan Baju batik, Bawahan berwarna hitam (1 semester) Aktif dalam kegiatan kampus Datang tepat waktu, sebelum dosen memasuki ruangan Sebelum dan setelah perkuliahan, papan tulis dibersihkan , memiliki material perkuliahan Presensi kehadiran perkuliahan akan dilakukan apabila telah ada photo mahasiswa berpose rapi dan sopan berjaket almamater/jas berlatar belakang merah. Nilai tugas, apabila dikerjakan sendiri tanpa menjiblak hasil karya orang lain dan dikumpulkan tepat pada waktunya. Nilai Mid (UTS) apabila telah selesai melakukan pembayaran uang perkuliahan Nilai Final (UAS) apabila absensi lebih dari 80% Kontrak Perkuliahan Saya yang bertanda tangan dibawah ini: Nama : .... NPM : ... Dengan ini menyetujui aturan yang berlaku untuk mata kuliah ... (..sks) pada semester ... Aturan yang berlaku adalah sebagai 1. Sistem penilaian (10% absensi, 10% Kuis, 20% Tugas, 30% Mid, 30% Final) 2. Nilai Absensi, Nilai Kuis, Nilai Mid, Nilai Final. Saya berhak mendapatkan nilai, apabila hadir saat kegiatan tersebut dilaksanakan (Tidak ada Susulan) 3. Nilai tugas, Saya berhak mendapatkan nilai tugas, apabila tugas tersebut dikerjakan sendiri tanpa menjiblak hasil karya orang lain dan dikumpulkan tepat pada waktunya. 4. Peraturan Kampus UIGM,Saya berhak dikeluarkan dari kelas, apabila tidak mengikuti peraturan kampus UIGM. Demikianlah kontrak perkuliahan ini dibuat dengan sadar dan tanpa paksaan Palembang, tanggal-bulan-tahun Tanda tangan Nama jelas Penilaian Penilaian Persentase Absensi 10% Tugas 20 % Kuis 10 % Ujian Tengah Semester 30 % Ujian Akhir Semester 30 % Website UniversitasUigm.ac.id Group Facebook Teknik Informatika UIGM Komponen Penilaian UIGM Total Nilai Grade Konversi Nilai 80 > NA >= 100 A 4 68 > NA >= 80 B 3 56 > NA >= 68 C 2 45 > NA >= 56 D 1 NA <= 45 E 0 NA= 10% absensi + 10% Kuis + 20% Tugas + 30% Mid + 30% Final Materi : • Sistem basis data • Relational model • SQL • Relational Database • Database Design and the E-R Model • Data mining dan sistem temu kembali informasi (information retrieval) Daftar Pustaka Utama : • Silberschatsz, Abraham; Korth, Henry; Sudarshan, S.; Database Systems Concepts, 6th edition, Mc.Graw Hill, 2011 Pendukung : • Coronel, Carlos; Morris, Steven; Rob, Peter; Database System: Design, Implementation and Management, 9th edition, Cencage Learning USA, 2011 • Connoly, Thomas; Begg, Carolyn; Strachan, Anne; Database Systems : A Practical Approach to Design, Implementation and Management, 3rd edition, Addison Wesley, 2001 • Ramakrishnan, R.; Gehrke, J.; Database Management Systems, 2nd edition, McGraw-Hill INTRODUCTION • • • • Data File Processing System Database/Basis Data DBMS Data • Data kumpulan dari fakta (seperti alamat, jumlah pesanan, nama pelanggan ) yang saling berkaitan secara logis, dirancang untuk memenuhi kebutuhan sebuah organisasi • Data can be maintained as a collection of operating system files, or stored in a DBMS (Database Management System) Konsep Basis Data • H/W : I, P, O • S/W : O/S : DOS, Windows, UNIX Basis Data/Database (kump. data yg berintegrasi dan shareable). Hierarki data : char, field, record, file. A database is an integrated collection of data, usually so large that it has to be stored on secondary storage devices such as disks or tapes. DBMS (sistem pengelola basis data yg mengelola dan mengendalikan akses terhadap database) : Dbase, SQL • B/W : Programmer, DBA, End-user 10 Tabel 1 Nama Alamat Kota Jumlah Pesanan Tony Andi Tony Andi Tuti Jl. Beo 34 Jl. Siaran Jl. Beo 34 Jl. Siaran Jl. Buntu Jakarta Bandung Jakarta Bandung Bogor 3 4 6 5 3 Sapu Piring Melamin Ember Sapu Ember 11 Satuan DATA • Character satuan terkecil dari data • Field/Atribut kumpulan character yang membentuk 1 unit tertentu • Record/Tuple/Baris kumpulan field yang membentuk unit tertentu • File kumpulan record yang membentuk 1 unit tertentu • Database/Basis Data kumpulan file yang saling berkaitan 13 File Processing System vs DBMS • Both systems contain a collection of data and a set of programs which access that data. File Processing System coordinates only the physical access. DBMS coordinates both the physical and the logical access to the data reduces the amount of data duplication by ensuring that a physical piece of data is available to all programs authorized to have access to it, whereas data written by one program in a file-processing system may not be readable by another program. is designed to allow pre-determined is designed to allow flexible access to data access to data (i.e., compiled programs) (i.e., queries) is usually designed to allow one or is designed to coordinate multiple users more programs to access different data accessing the same data at the same time. files at the same time. In a file-processing system, a file can be accessed by two programs concurrently only if both programs have read-only access to the file. Tabel 2 user id user name message recorded subject id date 54101 7-May meeting today text server id there is 3786 server name IMAP05 3786 IMAP05 3786 IMAP05 6001 IMAP08 6001 IMAP08 2301 Smith 2301 Smith 54098 12-Jul 2301 Smith 54445 6-Oct 5607 Jones 54512 7-Jun 5607 Jones 54101 7-May meeting today 5607 Jones 54660 1-Dec jogging today can you ... 6001 IMAP08 7773 Walsh 54101 7-May meeting today there is 9988 EMEA01 7773 Walsh 54554 17-Mar stock quote the latest.. 9988 EMEA01 2200 Patel 54101 7-May meeting today there is 9988 EMEA01 2200 Patel 54512 7-Jun lunch can you ... 9988 EMEA01 promotions I like to.. your next next assignment ... lunch can you ... there is • Tabel 1 dan tabel 2 data yang berulang/redudansi data. Kendala : apabila terjadi perubahan data maka banyak record terkait yang harus diubah. • Solusi dari redudansi data adalah normalisasi (memecah tabel tunggal menjadi beberapa tabel yang saling berhubungan) 17 • Database tidak dapat menyediakan informasi secara langsung terhadap user. User harus menjalankan aplikasi (ASP/VB/Delphi) untuk mengakses data dalam database. • Untuk bekerja dengan database maka diperlukan suatu bahasa • Kebutuhan dasar manajemen adalah efisiensi dan penghematan. Dalam bidang pendataan dikenal dengan nama database dan relational untuk manajemen database. • Sistem Database lebih teroganisasi dengan baik karena tidak ada duplikasi data Mengapa menggunakan basis data?? • Untuk mempermudah pencarian data.Hal ini dikarenakan data telah diorganisasikan dengan baik (tidak ada duplikasi data) • Untuk meningkatkan pelayanan kepada pelanggan karena informasi cepat diperoleh • Mampu menyimpan semua data yang relevan ke dalam database • Dapat menghapus data yang tidak diperlukan Kelemahan Penggunaan DBMS • s/w cenderung mahal • Konfigurasi h/w yang besar (spesifikasi CPU, terminal banyak, alat untuk komunikasi) • Rawannya keberhasilan operasi (karena gangguan listrik & komunikasi) Penerapan Basis Data • Perbankan(informasi jumlah tabungan nasabah, informasi pinjaman, transaksi perbankan) • Maskapai Penerbangan • Rumah Sakit (history penyakit pasien,pembayaran perawatan) • Pabrik (jumlah produksi, persediaan bahan) • Kepegawaian(penggajian) • Pendidikan(jumlah sks yg ditempuh) Kemampuan DBMS: • Mendefinisikan database melalui DDL (data definition languange) create, drop • Kapasitas besar • Mengendalikan akses terhadap database meliputi : Sistem keamanan mencegah user yang tidak berhak mengakses database Sistem integritas memelihara konsistensi data 22 Lanjutan kemampuan DBMS • Pencarian (query) menampilkan informasi sesuai dengan kriteria tertentu • Pengurutan menyusun informasi dengan urutan khusus • Laporan menghasilkan laporan dengan format tertentu. • Entri data/modifikasi/menghapus data dari database melalui DML (data manipulation languange) insert, delete 23 Untuk memilih macam apa DBMS yang akan dipakai tergantung pada beberapa faktor. Misalnya : • Berapa banyak data yang ditangani pada suatu tabel ? • Berapa banyak pemakai yang akan berbagi data untuk tabel tersebut ? • Perfomansi apa yang diharapkan pada database ? Bahasa Basis Data • DDL (Data Definition Language) : pendefinisian tabel. C/o: create,alter,drop • DML (Data Manipulation Language): manipulasi data. C/o: select,insert DML Prosedural : penentuandata apa yg diperlukan dan bgmn cara mendapatkannya DML non Prosedural : penentuan data tanpa menyebutkan bagaimana cara mendapatkannya 29 Tabel 2.1 Tabel Pelanggan Kode Pelanggan 201 202 203 Nama Alamat Kota Tony Jl. Beo 34 Jakarta Andi Jl. Siaran Bandung Tuti Jl. Buntu Bogor 30 Tabel 2.2 Tabel Pesanan No pesanan 1230 1231 1232 1233 1234 Kode Pelanggan 201 202 201 202 203 Jumlah Pesanan 3 4 6 5 3 Sapu Piring Melamin Ember Sapu Ember 31 Relational Database • Sistem pengorganisasian data yg efektif dlm database krn menggunakan himp. Teori matematika utk pengaturan data. • Relasi = data yg dihimpun dlm tabel dan berhubungan dengan tabel lain • Fitur yg memungkinkan aplikasi utk menyimpan dan memanipulasi data, spesifik database, hub konsisten antar tabel dlm database (referential integrity) 32 Key/ Kunci • Hubungan antara tabel satu dengan lainnya melalui field yang sama disebut relasi • Relasi dibuat dengan menggunakan key 33 Primary Key Jika menambahkan constraint primary key pada kolom, DBMS akan mengecek data dlm kolom yang terlibat. Pengecekannya meliputi : • Tidak ada data dgn nilai null • Tidak ada nilai duplikasi (data bersifat unik) Constraint primary key tidak dapat dihapus jika diacu oleh tabel lain dengan constraint foreign key • Hanya dapat mendefinisikan 1 buah constraint primary key dgn 1 kolom atau lebih kolom. 34 Foreign Key • Merupakan kolom atau kombinasi beberapa kolom yg dipakai utk menghubungkan sebuah tabel dgn tabel lainnya. • Sebuah tabel dapat memiliki beberapa constraint foreign key 35 Bentuk Relasi antar tabel Terdapat 3 bentuk relasi antartabel : • One to one : contoh belajar privat • One to many : contoh belajar sekolah • Many to many : contoh belajar perkuliahan 36