Sistem Database Data dan Informasi Data : Adalah fakta mengenai objek, orang dan lain-lain. Data dinyatakan dengan nilai (angka, deretan karakter, atau simbol). Informasi : Adalah hasil analisis dan sintesis terhadap data. Informasi dapat dikatakan sebagai data yang telah diorganisasikan ke dalam bentuk yang sesuai dengan kebutuhan seseorang, entah itu manajer, staff, ataupun orang lain di dalam suatu organisasi atau perusahaan Basis Data Beberapa definisi basis data (database) : Chou : mendefinisikan basis data sebagai kumpulan informasi bermanfaat yang diorganisasikan ke dalam tatacara yang khusus. Fabbri dan Schwab : Basis data, adalah sistem berkas terpadu yang dirancang terutama untuk meminimalkan pengulangan data. Date : Basis data dapat dianggap sebagai tempat untuk sekumpulan berkas data terkomputerisasi. Basis Data (2) Basis data adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (database management system, DBMS). Basis Data (3) Column (field) Tabel Mahasiswa Tabel Mata Kuliah Tabel Kartu Rencana Studi NIM NAMA ALAMAT 113060005 Anisa Jl. ABC No.10 113070098 Andi Jl. Bunga No.4 113070100 Tono Jl Serang No.30 KodeMK NmMK SKS Fakultas CS12345 Data Structures 2 CS CS43235 Database 3 CS CS65634 Operating System 2 CS NIM KodeMK 113060005 CS12345 113060005 CS43235 113070098 CS12345 113070098 CS65634 113070100 CS43235 Row (record) Basis Data (4) Basis data tidak hanya sekedar kumpulan berkas (tabel), tetapi juga mencakup halhal lain, seperti hubungan antar tabel, view (tabel yang bersifat logis, yang merupakan paduan sejumlah medan milik sejumlah tabel), dan bahkan kode yang disebut prosedur tersimpan. Basis Data (5) Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya: penjelasan ini disebut skema. Skema menggambarkan obyek yang diwakili suatu basis data, dan hubungan di antara obyek tersebut. Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur basis data, hal ini dikenal sebagai model basis data atau model data. Basis Data (6) Ada banyak Model yang umum digunakan untuk memodelkan data. Diantaranya adalah model relasional, yang menurut istilah layman mewakili semua informasi dalam bentuk tabel-tabel yang saling berhubungan dimana setiap tabel terdiri dari baris dan kolom (definisi yang sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan antar tabel diwakili dengan menggunakan nilai yang sama antar tabel. Model yang lain seperti model hierarkis dan model jaringan menggunakan cara yang lebih eksplisit untuk mewakili hubungan antar tabel. Hirarki Data Data secara tradisional diorganisasikan ke dalam suatu hirarki yang terdiri dari elemen data (field), catatan (record), dan file. Elemen data, adalah unit yang terkecil, tidak dapat lagi dibagi menjadi unit yang lebih kecil. Misalnya nama, nomor pegawai, gaji, upah perjam dll. Catatan, terdiri dari elemen data yang berhubungan dengan suatu objek atau kegiatan tertentu, misalnya catatan yang menjelaskan tiap jenis persediaan dan tiap penjualan. File, adalah suatu kumpulan catatan data yang berhubungan dengan suatu subyek tertentu. Misalnya file pemesanan pembelian, file data pegawai, file penjualan. Database Management System (DBMS) Database Management System (DBMS) merupakan suatu atau sekumpulan program yang memungkinkan users untuk membuat, memanipulasi dan mengelola basis data (database) untuk mencapai suatu tujuan. perangkat lunak yang menetapkan dan memelihara integrasi logis antar file, baik ekplisit maupun implisit Database System Users / Programmers DATABASE SYSTEM Application Program / Queries DBMS SOFTWARE Software to Process Queries/Program Software to Access Stored Data Stored Database Definition (Meta-Data) Database System Environment Fundamental Of Database Systems Ramez Elmasri Figure 1.1 Stored Database Keuntungan DBMS Mengurangi pengulangan data. Mencapai independensi data. Spesifikasi data disimpan dalam tiap program aplikasi. Perubahan dapat dibuat pada struktur data tanpa mempengaruhi program yang mengakses data. Mengintegrasikan data dari beberapa file. Saat file dibentuk sehingga menyediakan kaitan logis, organisasi fisik tidak lagi menjadi kendala. Mengambil data dan informasi secara cepat. Hubungan logis query language memungkinkan pemakai mengambil data dalam hitungan detik atau menit. Keuntungan DBMS (2) Meningkatkan keamanan. Baik DBMS mainframe maupun komputer mikro dapat menyertakan beberapa lapis keamanan seperti kata sandi, directori pemakai, dan bahasa sandi. Meningkatkan presentasi kesiapan data (data availability) yang berarti tersedia pada waktu dibutuhkan. Mempercepat penyimpanan dan pengambilan data. Mempercepat dan mempermudah pemrosesan data Mengurangi penyimpanan data yang rangkap Mempermudah pemrograman karena lebih fleksibel. Kerugian DBMS Kurangnya ahli Data Base Biaya pemrosesan data sangat tinggi Kebutuhan software dan Hardware yang bertambah Penggabungan dan pengamanan data mengikat pemakai untuk : Memperoleh Memperoleh perangkat lunak yang mahal konfigurasi perangkat keras yang besar Mempekerjakan dan mempertahankan staf DBA Komponen DBMS Secara sederhana, DBMS dapat dikatakan memiliki komponen-komponen : Perangkat keras (hardware) Data Perangkat lunak (software) Pengguna (user) Komponen Fungsional DBMS Lebih terperinci lagi, sebuah DBMS (Database Management System) umumnya memiliki sejumlah komponen fungsional (modul) seperti : File Manager, Database Manager, Query Processor, DML Precompiler, DDL Compiler, Komponen fungsional DBMS File Manager, yang mengelola ruang dalam disk dan struktur data yang dipakai untuk merepresentasikan informasi yang tersimpan dalam disk. Database Manager, yang menyediakan interface antara data low-level yang ada di basis data dengan program aplikasi dan query yang diberikan ke sistem. Query Processor, yang menterjemahkan perintah-perintah dalam query language ke perintah low-level yang dapat dimengerti oleh database manager. Komponen utama DBMS DML Precompiler, yang mengkonversi perintah DML yang ditambahkan dalam sebuah program aplikasi ke pemanggil prosedur normal dalam bahasa induk. DDL Compiler, yang mengkonversi perintah-perintah DDL ke dalam sekumpulan tabel yang mengandung metadata. Tabel-tabel ini kemudian disimpan dalam kamus data Bahasa Basis Data Sebuah system basis data menyediakan dua tipe bahasa yaitu : DDL (Data-definition Language) tipe bahasa yang dipergunakan untuk menspesifikasikan skema basis data DML (Data-manipulation Language) tipe bahasa yang dipergunakan untuk mengekspresikan queri atau update basis data. Data-definition Language Skema basis data dispesifikasikan oleh sekumpulan definisi dengan sebuah bahasa khusus yang disebut data-definition language (DDL). Hasil kompilasi DDL berupa tabel-tabel yang disimpan dalam sebuah file, disebut data dictionary (kamus data) atau data directory. Kamus data adalah sebuah file yang berisi metadata. File ini yang dikonsultasi sebelum data yang sebenarnya dibaca atau dimodifikasi oleh system basis data. Data-manipulation Language Adalah bahasa untuk memanipulasi data yaitu: Pengambilan informasi yang disimpan dalam basis data Penyisipan informasi baru ke basis data Penghapusan informasi dari basis data Modifikasi informasi yang disimpan dalam basis data Query adalah statemen yang ditulis untuk mengambil informasi. Bagian dari DML yang menangani pengambilan informasi ini disebut bahasa query. RDBMS Salah satu sistem yang paling banyak dikenal dan telah menjadi standar di dalam perancangan database dewasa ini adalah RDBMS atau Relational DataBase Management System. RDBMS Ciri-ciri RDBMS : Data direpresentasikan dalam bentuk tabel-tabel yang masing masing terdiri dari sejumlah baris dan kolom; Baris pada tabel menggambarkan record sementara kolom menggambarkan field atau attribute; dan Masing-masing data dalam struktur tabel dua dimensi ini kemudian saling dihubungkan dengan menggunakan berbagai tipe relasi yang ada sehingga membentuk sebuah struktur data multidimensional. Sistem basis data lainnya : OODBMS (Object-Oriented DataBase Management System), suatu sistem database berbasis objek yang terdiri dari enkapsulasi data dan prosedur ORDBMS (Object-Relational DataBase Management System), suatu sistem database yang memadukan konsep berbasis objek dengan konsep berbasis relasional. Abstraksi Data Kegunaan utama sistem basis data adalah agar pemakai mampu menyusun suatu pandangan abstraksi dari data. Bayangan mengenai data tidak lagi memperhatikan kondisi sesungguhnya bagaimana satu data masuk ke database disimpan dalam sektor mana, tetapi menyangkut secara menyeluruh bagaimana data tersebut dapat diabstraksikan mengenai kondisi yang dihadapi oleh pemakai seharihari. Sistem yang sesungguhnya, tentang teknis bagaimana data disimpan dan dipelihara seakan-akan disembunyikan kerumitannya dan kemudian diungkapkan dalam bahasa dan gambar yang mudah dimengerti oleh orang awam. Abstraksi Data Ada tiga kelompok pemakai dalam tingkatan abstraksi saat memandang suatu database, yang bisa juga disebut dengan level arsitektur basis data yaitu : Level Fisik (Physical level) : Level Konseptual (Conceptual level) : Level Pandangan Pemakai (View level) : Abstraksi Data Level Pandangan Pemakai (View level) : Level ini merupakan level abstraksi data tertinggi yang menggambarkan hanya sebagian saja yang dilihat dan dipakai dari keseluruhan database, hal ini disebabkan beberapa pemakai database tidak membutuhkan semua isi database. Abstraksi Data Level Konseptual (Conceptual level) : Level ini menggambarkan data apa yang disimpan dalam database dan hubungan relasi yang terjadi antara data dari keseluruhan database. Pemakai tidak memperdulikan kerumitan dalam struktur level fisik lagi, penggambaran cukup dengan memakai kotak, garis,dan hubungan secukupnya. mengambarkan data apa saja yang sebenarnya (secara fungsional) disimpan didalam basis data beserta relasi”nya didalam basis data, dimana administrator basis data (DBA) membangun dan mengolah basis data, contohnya: penguna akan mengetahui bahwa data penjualan disimpan didalam tabel” barang, produksi, keuangan, marketing Abstraksi Data Level Fisik (Physical level) : Level ini merupakan level abstraksi paling rendah karena menggambarkan bagaimana data disimpan dalam kondisi sebenarnya yang pada umumnya tidak terlihat oleh oleh pengguna atau programmer aplikasinya DBMS adalah software yang menangani semua akses ke basis data. Secara konsep apa yang terjadi adalah sebagai berikut : 1. user melakukan pengaksesan basis data untuk informasi yang diperlukannya menggunakan suatu bahasa manipulasi data, biasanya disebut SQL. 2. DBMS menerima request dari user & menganalisa request tersebut 3. DBMS memeriksa skema eksternal user, pemetaan eksternal/konseptual, skema konseptual, pemetaan konseptual/internal, & struktur penyimpanan. 4. DBMS mengeksekusi operasi-operasi yang diperlukan untuk memenuhi permintaan user. Jenis Basis Data Jenis Database Menurut Pengaksesan Dapat dibedakan menjadi empat jenis : Basis Data Individual, Basis Data Perusahaan, Basis Data Terdistribusi, dan Bank Data Publik. 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 : Model database hirarki (Hierarchical Database Model) Model database jaringan (Network Database Model) Model database relasi (Relational Database Model) Model Relasional model relasional menggunakan kumpulan tabeltabel untuk merepresentasikan data & relasi antar data-data tersebut. Setiap tabel terdiri atas kolomkolom, dan setiap kolom mempunyai nama yang unik. Sebuah database dalam model ini disusun dalam bentuk tabel dua dimensi yang terdiri dari baris (record) dan kolom (field), pertemuan antara baris dengan kolom disebut item data (data value), tabel-tabel yang ada di hubungkan (relationship) sedemikian rupa menggunakan field-field kunci (Key field) sehingga dapat meminimalkan duplikasi data. Model Relasional Contoh Model Relasional ( Relational Model) Model Jaringan (Network Model ) Data dalam model jaringan direpresentasikan dengan sekumpulan record (Pascal), dan relasi antara data direpresentasikan oleh record & link. Link dipandang sebagai pointer. Record-record diorganisasikan sebagai graf. Model Jaringan (Network Model ) R1 R2 R5 R3 R4 Model Data Berbasis Record (5) Contoh Model Jaringan (Network Model ) Departemen DName manages DNumber MgrName MgrStartDate controls Works for Employee Name SSN Project BDate PNum Address E_Works_on Dependent_of PName P_Works_on Is_a_supervisor Supervisees Works_On SSN Supervisor Dependent ssn Name Sex Plocation BDate Relation Name SSN PNum Hour Model Hirarki (Hirarchical Model) Mirip dengan model jaringan.Data direpresentasikan dalam record dan link (pointer). Perbedaannya adalah, recordrecord diorganisasikan sebagai tree (pohon) dan masing-masing node pada tree tersebut merupakan record/grup data elemen. Model relasional berbeda dengan model jaringan & hirarki, dalam hal penggunaan pointer atau link. Model Hirarki (Hirarchical Model) A B E C F D G H I Model Hirarki (Hirarchical Model) Contoh Model Hirarki (Hirarchical Model) D Departemen Level 0: DName E Level 1: Level 2: MgrName SSN BDate DepName Sex BDate Supervisee Name Project PNum Address S Dependent MgrStartDate P Employee Name T DNumber SSN PName W Plocation Worker SSN PNum Hour Users (System Designer) Database Administrator (Administrator Basis Data) Administrator basis data adalah orang yang bertanggungjawab terhadap pemberian kuasa pengaksesan database, mengoordinasikan dan memonitor penggunaannya, serta menyediakankan hardware dan software yang dibutuhkan. Bertanggung jawab terhadap strategi yang berhubungan dengan pengolahan data di suatu perusahaan atau organisasi. Selain hal tersebut, DBA adalah orang yang bertanggungjawab terhadap implementasi strategi tersebut secara teknis. Users (System Designer) mendefinisikan skema konseptual yaitu memutuskan informasi apa saja yang akan dihasilkan oleh suatu basis data. Dalam hal ini DBA bertugas mendefinisikan objek (entity) yang terlibat pada perancangan basis data. Proses ini disebut dengan Logical Database Design (kadang-kadang disebut Conceptual Database Design). Setelah DBA menentukan muatan dari basis data maka DBA akan menyusun skema konseptual menggunakan DDL (data definition language). Kemudian dengan DBMS, skema tersebut diimplementasikan. mendefinisikan Skema Internal selain menentukan skema konseptual dari basis data, DBA juga bertanggung jawab terhadap desain penyimpanan data secara fisik. Users (System Designer) mensosialisasikan hasil rancangan baik konseptual & internal ke user Dalam hal ini tugas DBA adalah menyakinkan user bahwa data-data yang mereka perlukan semua telah tersedia & membantu user untuk mengimplementasikan rancangan tersebut dalam DDL. mendefinisikan aturan-aturan sekuriti & integritas data mendefinisikan prosedur-prosedur back-up & recovery memonitor performansi system & menangani perubahan-perubahan yang ada. Users (System Builder) Database Programmers Bertanggung jawab untuk membangun atau membuat suatu sistem basis data secara fisik sesuai dengan spesifikasi rancangan logik dari database designer (DBA). Seorang spesialis di bidang teknologi dan bahasa basis data (databases languange and technology) yang membangun, memodifikasi, dan menguji struktur dan program basis data yang dipergunakan serta mengelolanya.