Konsep Database dan RDBMS
Outline Pengertian Database Tradisional vs Computerized File vs DBMS
Basis Data dan Lemari Arsip Basis data bisa dibayangkan sebagai lemari arsip dengan berbagai cara pengaturannya Basis data dan lemari arsip memiliki prinsip kerja dan tujuan yang sama; prinsipnya yakni pengaturan data/arsip. Tujuan utamanya adalah kemudahan dan kecepatan dalam pengambilan kembali data/arsip. ?
Pencarian data pada arsip tradisional
Gunung Arsip
Definisi Basis Data BASIS DATA Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redundancy) yang tidak perlu, untuk memenuhi berbagai kebutuhan Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpanan tertentu
Setiap data elektronis = Basis Data ? Studi Kasus Badan Administrasi Kepegawaian di PT XYZ selalu menggunakan komputer -yaitu aplikasi MS Word dan MS Excel- untuk mencatat data-data kepegawaian, organisasi dan penggajian. Bisakah dikatakan PT XYZ telah menerapkan basis data ? Jawaban: Belum tentu, karena di dalam pengelolaannya belum tentu terdapat pemilahan dan pengelompokan data sesuai jenis / fungsi data. Contoh Pemilahan: Data Mahasiswa Sistem Akademik Data Dosen Data Mata Kuliah Data Perkuliahan
Tujuan Pemanfaatan Basis Data (1) 1. Kecepatan dan Kemudahan (Speed) Yakni agar pengguna basis data bisa: menyimpan data melakukan perubahan/manipulasi terhadap data menampilkan kembali data dengan lebih cepat dan mudah dibandingkan dengan cara biasa (baik manual ataupun elektronis). 2. Efisiensi Ruang Penyimpanan (Space) Dengan basis data kita mampu melakukan penekanan jumlah redundansi (pengulangan) data, baik dengan menerapkan sejumlah pengkodean atau dengan membuat relasi-relasi antara kelompok data yang saling berhubungan.
Tujuan Pemanfaatan Basis Data (2) 3. Keakuratan (Accuracy) Agar data sesuai dengan aturan dan batasan tertentu dengan cara memanfaatkan pengkodean atau pembentukan relasi antar data bersama dengan penerapan aturan/batasan (constraint) tipe data, domain data, keunikan data dsb. 4. Ketersediaan (Availability) Agar data bisa diakses oleh setiap pengguna yang membutuhkan, dengan penerapan teknologi jaringan serta melakukan pemindahan/penghapusan data yang sudah tidak digunakan / kadaluwarsa untuk menghemat ruang penyimpanan.
Tujuan Pemanfaatan Basis Data (3) 5. Kelengkapan (Completeness) Agar data yang dikelola senantiasa lengkap baik relatif terhadap kebutuhan pemakai maupun terhadap waktu, dengan melakukan penambahan baris-baris data ataupun melakukan perubahan struktur pada basis data; yakni dengan menambahkan field pada tabel atau menambah tabel baru. 6. Keamanan (Security) Agar data yang bersifat rahasia atau proses yang vital tidak jatuh ke orang / pengguna yang tidak berhak, yakni dengan penggunaan account (username dan password) serta menerapkan pembedaan hak akses setiap pengguna terhadap data yang bisa dibaca atau proses yang bisa dilakukan.
Tujuan Pemanfaatan Basis Data (4) 7. Kebersamaan (Sharability) Agar data yang dikelola oleh sistem mendukung lingkungan multiuser (banyak pemakai), dengan menjaga / menghindari munculnya problem baru seperti inkonsistensi data (karena terjadi perubahan data yang dilakukan oleh beberapa user dalam waktu yang bersamaan) atau kondisi deadlock (karena ada banyak pemakai yang saling menunggu untuk menggunakan data).
Data VS Informasi Data Fakta yang diperoleh di lapangan Diperlukan suatu proses agar data bisa digunakan Informasi Hasil dari pengolahan data Sebagai acuan dalam pengambilan keputusan Lapangan bola, data pertandingan sepak bola piala dunia
Data vs. Information Information Data 6.34 6.45 6.39 6.62 6.57 6.64 6.71 6.82 7.12 7.06
Alur Informasi
Pemakai Basis Data Secara umum, seluruh sistem dalam kehidupan bisa menggunakan konsep basis data dalam pengelolaan informasi, karena semua sistem tersebut tak bisa lepas dari fakta. Bidang-bidang fungsional yang memanfaatkan basis data dalam hal efisiensi, akurasi dan kecepatan operasi antara lain adalah: - Kepegawaian, untuk berbagai perusahaan yang memiliki banyak pegawai Pergudangan (inventory), untuk perusahaan manufaktur (pabrik), grosir (reseller), apotik dll - Akademik, untuk sekolah, universitas, akademi dll. Akuntansi, untuk berbagai perusahaan Layanan pelanggan (Customer care), untuk perusahaan yang berhubungan dengan banyak pelanggan (bank, konsultan dll)
Model Sistem Basis Data Menggunakan Sistem File Menggunakan Sistem Database Management System (DBMS)
Basis Data dengan model Sistem File Basis data dalam format sistem file adalah mekanisme penyimpanan data dalam format file terpisah berdasar kebutuhan informasi .
Kelemahan Basis Data model File Pengulangan (redundancy) dan inkonsistensi data Kesulitan Mengakses Data Masalah Integritas Atomik Data Anomali pada akses bersamaan Keamanan data
Basis Data dengan (DBMS) DBMS (Database Management System) adalah perangkat lunak yang didesain untuk membantu dan memelihara untuk memanfaatkan kumpulan data yang besar guna diolah untuk menghasilkan informasi.
Keuntungan DBMS Mengurangi perulangan data Mencapai independensi data Menginteregasikan data beberapa file Mengambil data dan informasi dengan cepat Meningkatkan Keamanan
Perbedaan File Systems dengan DBMS : Data terpisah dan terisolasi Terintegrasi Banyak data terduplikasi Dikurangi Program aplikasi bergantung pada format file Independence - Standarization File sering tidak kompatibel dengan file lain Sulit mereprensentasikan data dalam perspektif user Mudah, dengan adanya berbagai cara pandang terhadap data
Contoh Perangkat Lunak DBMS Microsoft Access Microsoft SQL Server MySQL PostgreSQL Oracle Informix Sybase DB2 Interbase dll
Tahap Perancangan Basis Data (1) 1. Database Planing Database planing atau perencanaan basis data merupakan aktivitas manajemen untuk merealisasikan tahapan Database Aplication Lifecycle secara efektif dan efesien. Perencanaan basis data mencakup hal-hal berikut: - Cara pengumpulan data - Format data - Dokumentasi yang diperlukan (laporan harian, bulanan dll) - Cara membuat desain - Tahap Implemantasi
Tahap Perancangan Basis Data (1) 2. System definition System definition : untuk mendeskripsikan batasan dan ruang lingkup aplikasi basis data serta sudut pandang user yang utama. Aplikasi basis data seharusnya memiliki satu atau lebih user view, yang berfungsi : Mendefinisikan apa yang diharapkan dari aplikasi basis data berdasarkan peranan pekerjaan. Membantu memastikan agar tidak ada pengguna basis data yang terlupakan. Mengetahui apa yang diinginkan pengguna saat aplikasi baru akan dibuat. Membantu mengembangkan aplikasi basis data yang rumit serta dapat menguraikannya menjadi subbagian-subbagian yang lebih sederhana.
Tahap Perancangan Basis Data (3) 3. Requirement collection and analysis Analisis dan pengumpulan kebutuhan merupakan proses mengumpulkan dan menganalisis informasi tentang organisasi yang akan didukung oleh aplikasi basis data dan menggunakan informasi tersebut untuk mengidentifikasikan kebutuhan user terhadap sistem yang baru.
Tahap Perancangan Basis Data (4) 4. Database design Database design atau desain basis data adalah proses membuat desian yang akan mendukung operasional dan tujuan perusahaan. Tujuan desain basis data, antara lain: Menggambarkan relasi data antara data yang dibutuhkan oleh aplikasi dan user view. Menyediakan model data yang mendukung seluruh transaksi yang diperlukan. Menspesifikasikan desain dengan struktur yang sesuai dengan kebutuhan sistem.
Tahap Perancangan Basis Data (5) 5. DBMS Selection Memilih DBMS adalah kegiatan yang digunakan dalam pembuatan basis data, karena pemilihan DBMS yang tepat sangat mendukung aplikasi basis data. Langkah-langkah dalam memilih DBMS: Definisikan waktu untuk melakukan studi referensi. Catat dua atau tiga produk yang akan dievalusi untuk digunakan. Evaluasi produk tersebut. Rekomendasikan produk yang dipilih dan buat laporan yang mendukung produk.
Tahap Perancangan Basis Data (6) 6. Application Design Desain aplikasi merupakan perencanaan user interface dan program aplikasi yang menggunakan dan melakukan proses terhadap basis data. 7. Implementation Implementation merupakan realisasi fisik dari basis data dan desain aplikasi. Implementasi basis bata dapat dicapai dengan menggunakan: DDL untuk membuat skema basis data dan database file yang kosong. DDL untuk membuat user view yang diinginkan.
Tahap Perancangan Basis Data (7) 8. Prototyping Fungsinya adalah membuat model kerja suatu aplikasi basis data. Tujuan utama dari tahapan ini adalah: Mengidentifikasi fitur sistem yang sedang berjalan. Memberikan perbaikan atau penambahan file fitur baru. Klarifikasi kebutuhan user. Evaluasi kelayakan dan kemungkinan apa yang terjadi dari desain sistem.
Tahap Perancangan Basis Data (8) 9. Data Conversion and Loading Merupakan tahapan pemindahan data yang ada ke dalam basis data yang baru dan mengkonversikan aplikasi yang ada agar dapat menggunakan basis data yang baru. 10. Testing Testing adalah suatu proses eksekusi program aplikasi dengan tujuan untuk menemukan kesalahan dan ketidaksesuaian data yang sesungguhnya.
Tahap Perancangan Basis Data (9) 11. Operational Maintenance Merupakan suatu proses pengawasan dan pemeliharaan sistem setelah proses instalasi, yang mencakup: Pengawasan kinerja sistem. Pemeliharaan dan pembaharuan aplikasi basis data jika dibutuhkan. Penggabungan kebutuhan baru ke dalam aplikasi basis data.
Ada tiga fase dalam membuat desain basis data, yaitu : Conseptual Database Design Merupakan suatu proses pembentukan model yang berasal dari informasi yang digunakan dalam perusahaan yang bersifat indefenden dari keseluruhan aspek fisik. Logical Database Design Merupakan suatu proses pembentukan model yang berasal dari informasi yang digunakan dalam perusahaan yang berdasarkan model data tertentu, akan tetapi independen terhadap DBMS tertentu. Physical Database Design Merupakan proses yang menghasilkan deskripsi implementasi basis data pada penyimpanan sekunder. Atau dapat dikatakan, desain fisikal merupakan cara pembuatan menuju DBMS tertentu.
Level Abstraksi dalam desain Database (1) Physical Level mendeskripsikan bagaimana data sesungguhnya disimpan, metode akses, indeks dan struktur data dijabarkan secara rinci. Menunjukkan bagaimana representasi fisik dari penyimpanan/pengorganisasian data → sebagai teks, angka, atau himpunan bit
Level Abstraksi (2) Conceptual Level View Level mendeskripsikan data apa saja yang sesungguhnya disimpan pada basis data dan hubungan antar data. Didefinisikan sebagai sebuah skema. View Level mendeskripsikan penggunaan data yang berorientasi pada kebutuhan pengguna. Data yang dikenal oleh masing-masing pengguna bisa saja berbeda dan bisa saja hanya mencakup sebagian dari basis data bergantung pada otoritas pengguna. Didefinisikan sebagai sub skema.
Level Abstraksi Database
User – DBMS - Physical
Skema Database Tables Indexes Procedures Views Constraints Schema Owner schema objects 1) Stephens, R.K. and Plew. R.R., 2001. Database Design. SAMS, Indianapolis , IN. (with slight changes by V.G.D.)
Pada umumnya suatu database memiliki lebih dari 1 tabel. “Tabel adalah unit utama penyimpan data secara fisik dalam suatu database.” Pada umumnya suatu database memiliki lebih dari 1 tabel. 1) Stephens, R.K. and Plew. R.R., 2001. Database Design. SAMS, Indianapolis , IN.
Tabel
Field (Column) Customers a field
Record (Row) Customers a record
Primary Key Customers primary key field Primary key adalah identitas unique tiap record dalam suatu tabel. Nilai Primary key dapat di buat secara manual or otomatis.
Contoh Relasional Database NIP Nama Alamat Nomor telepon Golongan TMT 10000001 Andi Malang 515151 IIIA 1 januari 1993 IIIB 1 Januari 1998 10240101 Ali 212121 1 Oktober 1999 IIIC 1 Oktober 2005 10240202 ahmad 313131 1 Januari 2000 Biodata NIP NAMA Alamat nomor telp 10000001 Andi Malang 515151 10240101 Ali 212121 10240202 ahmad 313131 History Pangkat NIP Golongan TMT 10000001 IIIA 1 januari 1993 IIIB 1 Januari 1998 10240101 1 Oktober 1999 IIIC 1 Oktober 2005 10240202 1 Januari 2000
Sekian Terimakasih