29 AGUSTUS 2014 PENGERTIAN Basis data: kumpulan data yang memuat informasi yang berhubungan dengan suatu organisasi. Penggunaan istilah pertama pada tahun1962 pada laporan oleh System Development Corporation of California. DBMS (Database Management System): kumpulan data yang saling berhubungan dan program untuk mengakses data tersebut. Tujuan utama DBMS: menyediakan cara untuk menyimpan dan menemukan kembali informasi basis data dengan cara yang efisien. Meliputi: Mendefinisikan struktur untuk penyimpanan informasi. Menyediakan mekanisme untuk memanipulasi informasi. Menjamin keamanan informasi. Menjamin integritas data. SEJARAH PENYIMPANAN DATA Awal abad 20: Punched cards, ditemukan oleh Herman Hollerith, digunakan untuk merekam sensus data. Tahun 1950an dan awal 1960an: Penyimpanan dengan magnetic tape. Pemrosesan data secara otomatis, misal: pembayaran gaji pegawai. Pemrosesan data meliputi pembacaan data dari 1 atau lebih tape dan penulisan ke tape yang baru. Tape hanya bisa dibaca secara sekuensial. Akhir tahun 1960an dan 1970an: Penggunaan hard disk memungkinkan akses langsung ke data. Penggunaan struktur data lists dan trees. SEJARAH BASIS DATA Dibagi menjadi 3 masa: Navigasional Relasional Post-relasional Era navigational DBMS: CODASYL Berdasarkan navigasi manual terhadap sekumpulan data yang terhubung. Data disimpan dalam suatu linked list. Record bisa ditemukan dengan penggunaan primary key (CALC key, diimplementasikan dengan hashing). Bahasa kueri sangat sederhana. Berkembang menjadi sangat kompleks. IMS Dibuat oleh IBM. Merupakan basis data hierarki. http://en.wikipedia.org/ Era relational DBMS: Edgar Codd: A Relational Model of Data for Large Shared Data Banks (1970). Data disimpan pada tabel/relation. Data bisa disisipkan, dihapus, diubah tanpa menulis kembali linked dan pointer. Menggunakan key yang mengidentifikasi record secara unik. Operasi dengan menggunakan ubiquitous SQL yang berdasar pada tuple calculus. SQL DBMS: IBM membuat System R berdasar konsep Codd pada 1974/1975. SQL standar sudah ditambahkan pada versi 1978/1979. Postgres dibangun dari Ingres. ER model muncul pada tahun 1976. dBASE Ringan dan mudah. Menjadi salah satu software terlaris pada 80-an dan awal 90-an. Keunggulan basis data relasional dibanding model basis data jaringan dan hierarki: programmer tidak perlu memperhatikan low-level implementation, hanya logical level. Era post-relasional Riset tentang basis data paralel dan basis data terdistribusi. Object-oriented ! data dipandang sebagai objek. Dengan WWW, sistem basis data harus bisa mendukung transaction rate sangat tinggi dan reliabilitas tinggi. XML ! berorientasi pada dokumen. Basis data relasional masih dipakai mayoritas DBMS skala besar. Teknik-teknik data mining bermunculan. SMBD/DBMS SMBD terdiri atas: Kumpulan data yang saling berhubungan Sekumpulan program untuk mengelola data tersebut : membuat, menyimpan, mencari suatu lingkungan yang nyaman dan efisien untuk digunakan KEUNTUNGAN DBMS Basis data dibangun karena kelemahan sistem pemrosesan file. Sistem pemrosesan file: Menyimpan record secara permanen di beberapa file. Memerlukan program yang berbeda untuk mengambil dan menambah record. Kelemahan sistem pemrosesan file: Redundansi Inkonsistensi Kesulitan dalam mengakses data Isolasi data Masalah integritas Masalah keamanan Masalah atomicity Anomali dalam pengaksesan yang konkuren APLIKASI BASIS DATA Pengelolaan informasi untuk perusahaan: Penjualan: konsumen, produk, pembelian Akuntansi: pembayaran, nota, aset. SDM: pegawai, gaji. Produksi: produksi, inventori, order. Perbankan Transaksi: konsumen, rekening, pinjaman. Finance: saham, surat berharga. Universitas Penerbangan: reservasi, penjadwalan, SIG. Telekomunikasi: catatan tentang panggilan telepon, tagihan bulanan, menyimpan informasi untuk jaringan komunikasi. ABSTRAKSI DATA Memudahkan novice user dalam mengakses data. Dibagi 3: Physical level: bagaimana data sebenarnya disimpan (how). Conceptual/logical level: data apa yang disimpan (what) dan relasi antar data. User pada level berikutnya tidak perlu mengetahui detil conceptual level. Digunakan oleh programer untuk mendisain dan administrator untuk mengelola data. View level: user tidak melihat data secara keseluruhan, mekanisme keamanan data untuk user tertentu. CONTOH ABSTRAKSI DATA Misalkan terdapat basis data universitas dengan data sbb: jurusan: nama_jur, gedung, anggaran. matkul: id_matkul, nama_matkul, nama_jur, sks. dosen: id_dosen, nama_dosen, nama_jur, gaji. mahasiswa: id_mhs, nama_jur, total_sks. Level fisik: records disimpan sebagai blok penyimpanan. Level logika: setiap record didefiniskan seperti di atas, relasi antar record didefinisikan. Level view: bagian akademik hanya melihat data kuliah, bagian keuangan hanya melihat data yang berhubungan dengan keuangan. INSTANCES DAN SCHEMA Schema: desain umum basis data Jarang berubah. Contoh: deklarasi variabel. Dipartisi sesuai level abstraksi: physical schema, logical schema, view schema (subschemas). Instance: kumpulan informasi yang disimpan dalam basis data pada suatu waktu tertentu Selalu berubah. Contoh: nilai suatu variabel yang diinputkan. Logical schema: sangat mempengaruhi program aplikasi. Physical schema dapat diubah tanpa mempengaruhi program aplikasi ! physical data independence. BAHASA BASIS DATA Dibagi 2: Data definition language (DDL) Data manipulation language (DML) DDL: mendefiniskan skema Memuat bahasa data storage and definition: struktur penyimpanan dan metode akses. DML: menyatakan kueri dan update Temu kembali, penyisipan, penghapusan, modifikasi. Dibagi 2: Procedural DMLs: data apa dan bagaimana mendapatkan. DeclarativeDMLs: data apa tanpa menyebutkan bagaimana mendapatkannya. PENGGUNA BASIS DATA Berdasar interaksi terhadap sistem dibagi 4: Naive users Application programmers Sophisticated users Specialized users Naive users: Berinteraksi dengan program aplikasi yang sudah ditulis. User interface: form. Bisa melihat laporan. Application programmers: Menulis program aplikasi. Bisa memilih berbagai macam tools. Sophisticated users: Berinteraksi dengan sistem tanpa menulis program. Menggunakan bahasa kueri atau menggunakan tools. Contoh: analis basis data. Specialized users: Menulis aplikasi basis data khusus. Contoh: sistem pakar, SIG, sistem dengan data kompleks (grafik, audio). DATABASE ADMINISTRATOR Database administrator (DBA): memiliki kontrol penuh terhadap data. Wewenang: Definisi skema Definisi struktur penyimpanan dan metode akses Modifikasi skema dan organisasi fisik Autorisasi untuk akses data Spesifikasi konstrain integritas Pemeliharaan rutin: Back-up Mengecek kecukupan penyimpanan Memonitor penggunaan basis data SOAL Buatlah rancangan sederhana record-record yang dipakai pada basis data suatu perusahaan tekstil. Sebutkan juga perbedaan view dari user yang mungkin menggunakan basis data tersebut. Ulangi soal di atas untuk basis data: Kantor pos Maskapai penerbangan Sebutkan record-record yang mungkin digunakan pada basis data Facebook. CONTOH: SISTEM INFORMASI DI PUSKESMAS Inventarisasi entitas : pasien, obat, dokter, pemeriksaan Desain. Berapa tabel yang diperlukan kalau data-data disimpan pada tabel? Kolom-kolomnya apa saja? pasien(noRM, namaPasien, Alamat, Telp, namaIbuPasien) dokter(NIP, namaDokter, spesialisasi) obat(kodeObat, namaObat, jenisObat) penyakit(kodePenyakit, namaPenyakit) pemeriksaan(noRM, tgl periksa, dokter, kodePenyakit, noResep) resep(noResep, tglResep, obat, dosis) Perbedaan view: Dokter Petugas farmasi Petugas pendaftaran ASPEK PENTING PEMANFAATAN BASIS DATA Meskipun telah banyak SMDB tersedia, bagaimanapun mereka adalah sekedar alat (tools). Pencapaian tujuan tetap bergantung pada penggunanya (DBA, application, programmers, sophisticated users, naive users). Aspek penting pemanfaatan optimal basis data analisis menginventarisasi entitas dan atribut yang ada dalam organisasi yang akan dipresentasikan: perlu memahami SOP, business model desain/perancangan memilih bentuk basis data yang tepat sehingga model yang telah dirumuskan dan permasalahn yang ada mampu diakomodasi efisiensi & unjuk kerja. Rancangan yang ada disesuaikan dengan resource yang ada dan pemanfaatannya dapat diusahakan untuk mencapai unjuk kerja maksimum normalisasi, optimasi query