PERTEMUAN 1 Sistem Basis Data Presented by : Sity Aisyah Nasution, M.Kom Email : [email protected] Blog : yeshasalsabila.blogspot.com 1 Pokok Bahasan 1 Sejarah Kemunculan Basis Data 2 Konsep Dasar Basis Data 3 Istilah-Istilah Dasar Basis Data 4 Hirarki Basis Data 5 Tujuan Basis Data 6 Manfaat Basis Data, dan lain-lain 2 Sejarah Kemunculan Basis Data Menurut sejarah, sistem pemrosesan basis data terbentuk setelah masa sistem pemrosesan manual dan sistem pemrosesan berkas. Sistem pemrosesan manual (berbasis kertas) merupakan bentuk pemrosesan yang menggunakan dasar berupa setumpuk rekaman yang disimpan pada rak-rak berkas. Sistem pemrosesan berkas merupakan sekelompok rekaman yang disimpan pada sejumlah berkas secara terpisah. 3 nomor HP Rita mana yaaahh.. Kekurangan : Lama dalam melakukan pencarian data Kurang luwes karena data tidak bisa diurutkan menurut kata atau no. telepon 4 Program Aplikasi Personalia Program Aplikasi Keuangan Berkas Personalia Berkas Keuangan Gambar 1.1 Gambaran sistem pemrosesan berkas : masing-masing aplikasi memiliki berkas tersendiri Kelebihan & Kekurangan sistem pemrosesan berkas dibandingkan sistem pemrosesan manual : Kekurangan : Kelebihan : Cepat dalam melakukan pencarian data Datanya lebih akurat Kemubaziran data Keterbatasan berbagi data Ketidakkonsistenan & kurangnya integritas Ketidakluwesan 5 Apa itu Basis Data (Database)? Untuk mengatasi kekurangan-kekurangan pada sistem pemrosesan berkas, maka muncullah sistem pemrosesan basis data yang dikenal dengan sebutan DBMS (Database Management System) Database itu sama gak ya seperti Lemari ???... - diberi sampul - di beri nomor - di arsip dg urutan tertentu 6 Apa perbedaan antara Database dengan lemari arsip ???..... Data disimpan dalam bentuk lembaranlembaran dokumen Lama dalam melakukan pencarian Lambat dalam memperoleh informasi yang diinginkan Data disimpan dalam bentuk tabel atau file sesuai fungsinya Mudah dalam melakukan pencarian DATABASE Cepat dalam memperoleh informasi yang diinginkan 7 Jadi Sistem pemrosesan basis data itu lebih baik dibandingkan sistem pemrosesan manual dan berkas, karena : - Lebih cepat - Lebih akurat - Lebih luwes - Tidak ada redudansi data - Tidak ada data yang tidak konsisten - Dapat berbagi data, dll. 8 Konsep Dasar Basis Data Basis data terdiri dari 2 kata, yaitu basis & data Basis dapat diartikan sebagai markas / gudang, tempat berkumpul. Sedangkan Data adalah representasi fakta dunia nyata yang mewakili suatu objek seperti manusia (pegawai, mahasiswa, pembeli), barang, hewan, peristiwa, konsep, keadaan, dan sebagainya yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi atau kombinasinya. Basis Data sendiri dapat di definisikan dalam sejumlah sudut pandang seperti : 1. himpunan kelompok data / arsip yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat & mudah. 2. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan/ penumpukan (redundansi), untuk memenuhi berbagai kebutuhan. 3. Kumpulan file/ tabel /arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis. 9 Sistem Basis Data terdiri dari basis data dan DBMS. DATABASE Database Management System (DBMS) Database Application DBMS (Database Management System) adalah Perangkat Lunak yang menangani semua pengaksesan ke basis data. 10 Istilah-Istilah Dasar Basis Data Enterprise Suatu bentuk organisasi seperti : bank, universitas, rumah sakit, pabrik, dsb. Data yang disimpan dalam basis data merupakan data operasional dari suatu enterprise. Contoh data operasional : data keuangan, data mahasiswa, data pasien Entitas Suatu obyek yang dapat dibedakan dari lainnya yang dapat diwujudkan dalam basis data. Contoh Entitas dalam lingkungan bank terdiri dari : Nasabah, Simpanan, Hipotik Contoh Entitas dalam lingkungan universitas terdiri dari : Mahasiswa, mata kuliah Kumpulan dari entitas disebut Himpunan Entitas Atribut (Elemen Data) Karakteristik dari suatu entitas. Contoh : Entitas Mahasiswa atributnya terdiri dari Nim, Nama, Alamat, Tanggal lahir. 11 Nilai Data (Data Value) Isi data / informasi yang tercakup dalam setiap elemen data. Contoh Atribut Nama Mahasiswa dapat berisi Nilai Data : Haidar, Hayfa, Wawan. Kunci Elemen Data (Key Data Element) Tanda pengenal yang secara unik mengidentifikasikan entitas dari suatu kumpulan entitas. Contoh Entitas Mahasiswa yang mempunyai atribut-atribut nim, nama, alamat, tanggal lahir menggunakan Kunci Elemen Data nim. Record Data Kumpulan Isi Elemen data yang saling berhubungan. Contoh : kumpulan atribut nim, nama, alamat, tanggal lahir dari Entitas Mahasiswa berisikan : "10200123", “Haidar", "Jl. Sirsak 28 Jakarta", “9 Maret 1990". 12 Gambar 1.1 Basis Data Dalam Sebuah Hard Disk HARD DISK File Kuliah File Nilai File Mahasiswa Tabel. Kuliah Tabel. Mahasiswa Kd_MK Nama_MK Sks SI138 Basis Data 3 NIM PA115 PPN 3 1011451234 Andi Jakarta TI 1011452345 Ismi Taagerang SI Nama_Mhs Almt_Mhs Jur Field Record Tabel. Nilai Kd_MK NIM Nilai SI138 1011451234 A PA115 1011452345 B PA115 1011451234 C 13 Hirarki Basis Data Berdasarkan tingkat kompleksitas nilai data, tingkatan data dapat disusun kedalam sebuah hirarki, mulai dari yang paling sederhana hingga yang paling komplek. 1. Basis Data, merupakan sekumpulan dari bermacam-macam tipe record yang memiliki hubungan antar record. 2. Berkas/File, merupakan sekumpulan rekaman data yang berkaitan dengan suatu objek. 3. Record, merupakan sekumpulan field/atribut/data item yang saling berhubungan terhadap obyek tertentu - Fixed length record, semua field dalam record memiliki ukuran yang tetap. - Variabel length record, field-field dalam record dapat memiliki ukuran berbeda (metode penandaan yang digunakan adalah : end of record marker, indikator panjang, dan tabel posisi record) 4. Field/atribut/data item, unit terkecil yang disebut data,yang tidak dapat dipecah lagi menjadi unit lain yang bermakna. - fixed length field, memiliki ukuran yang tetap. - variabel length field, field-field dalam record dapat memiliki ukuran berbeda. 5. Byte, adalah bagian terkecil yang dialamatkan dalam memori. byte mrupakan sekumpulan bit yang secara konvensional terdiri atas kombinasi delapan bit yang menyatakan sebuah karakter dalam memori (I byte= I karakter) 6. Bit, sistem binner yang terdiri atas dua macam nilai, yaitu 0 dan 1. sistem binner merupakan dasar yang dapat digunakan untuk komunikasi antara manusia dan mesin, yang merupakan serangkaian komponen elektronik dan hanya dapat membedakan 2 macam keadaan, yaitu ada tegangan dan tidak ada tegangan yang masuk ke rangkaian tersebut. Sistem Basis Data Basis Data File Record Field Byte Bit 14 Efisiensi yang meliputi speed, space dan accuracy Menangani data dalam jumlah besar Kebersamaan pemakai (sharebility) Meniadakan duplikasi & inkonsistensi data 15 Kecepatan & kemudahan (speed) Efisiensi ruang penyimpanan (space) Keakuratan (accuracy) Ketersediaan (availability) Kelengkapan (completeness) Keamanan (security) Kebersamaan pemakaian (sharebility) 16 Kecepatan & kemudahan (speed) Dgn memanfaatkan basis data, memungkinkan kita untuk dapat menyimpan data atau melakukan perubahan/ manipulasi terhadap data atau menampilkan kembali data tersebut secara lebih cepat & mudah. Efisiensi ruang penyimpanan (space) Karena keterkaitan yang erat antara kelompok data dalam sebuah basisdata,maka redundansi (pengulangan) pasti akan selalu ada, sehingga akan memperbesar ruang penyimpanan. Dengan basisdata, efisiensi ruang penyimpanan dapat dilakukan dengan menerapkan sejumlah pengkodean, atau dengan membuat relasi-relasi antar kelompok data yang saling berhubungan. Keakuratan (accuracy) Pengkodean atau pembentukan relasi antar data bersama dengan penerapan aturan/batasan (constraint), dmain data, keunikan data, dsb, yang secara ketat dapat diterapkan dalam sebuah basis data, sangat berguna untuk menekan ketidak akuratan penyimpanan data. 17 Ketersediaan (availability) Dengan pemanfaatan jaringan komputer, maka data yang berada di suatu lokasi/cabang dapat juga diakses (tersedia/available) bagi lokasi/cabang lain. Kelengkapan (completeness) Kelengkapan data yang disimpan dalam sebuah database bersifat relatif, bisa jadi saat ini dianggap sudah lengkap, tetapi belum tentu pada suatu saat dianggap lengkap. Keamanan (security) Aspek keamanan dapat diterapkan dengan ketat, dengan begitu kita dapat menentukan pemakai basis data serta obyek-obyek didalamnya ,serta jenis-jenis operasi apa saja yang boleh dilakukannya. Kebersamaan pemakaian (sharebility) Basis data yang dikelola dengan aplikasi multi user dapat memenuhi kebutuhan ini. 18 Operasi Basis Data Pada sebuah disk (hard disk), basis data dapat diciptakan & dapat pula ditiadakan. Pada sebuah disk juga dapat menempatkan beberapa basis data, misalnya basis data akademik, penjualan, perpustakaan, dan lain-lain. Sementara dalam sebuah basis data dapat ditempatkan pada satu file atau lebih. Misalkan basis data penjualan terdiri dari file atau tabel barang, faktur, pelanggan dan transaksi barang. Operasi-operasi dasar yang dapat dilakukan basis data : Pembuatan Basis Data (Create Database) yang identik dengan pembuatan lemari arsip yang baru. Penghapusan Basis Data (Drop Database) yang identik dengan perusakan lemari arsip (sekaligus beserta isinya, jika ada) Pembuatan File/Table baru ke suatu basis data (Create Table) yang identik dengan penambahan map arsip baru ke sebuah lemari arsip yang telah ada. 19 Penghapusan File/Table dari suatu basis data (Drop Table) yang identik dengan perusakan map arsip lama yang ada di sebuah lemari arsip. Penambahan data baru ke suatu file/table di sebuah basis data (Insert) Identik dengan penambahan lembaran arsip baru kesebuah map arsip. Pengambilan data dari sebuah file/table (Retrieve/Search) Identik dengan pencarian lembaran arsip dari sebuah map arsip. Pengubahan data dari sebuah file/table (Update) Identik dengan perbaikan isi lembaran arsip yang ada di sebuah map arsip. Penghapusan data dari sebuah file/table (Delete) Identik dengan penghapusan sebuah lembaran arsip yang ada di sebuah map arsip. 20 Persyaratan Basis Data Ketentuan yang harus diperhatikan pada pembuatan basis data agar dapat memenuhi kriteria sebagai basis data, yaitu : Redudansi dan Inkonsistensi Data Penyimpanan data yang sama dibeberapa tempat disebut redudansi, hal ini akan menyebabkan pemborosan & menimbulkan inkonsistensi data (data tidak konsisten) karena bila terjadi maka data harus dirubah pada beberapa tempat, hal ini tentunya tidak efisien. Pengaksesan data Data di dalam basis data harus siap diakses oleh siapa saja yang membutuhkan & mempunyai hak untuk mengaksesnya. Oleh karena itu perlu dibuat suatu program pengelolaan atau suatu aplikasi untuk mengakses data yang dikenal sebagai Database Management System (DBMS). 21 Data Terisolasi untuk Standarisasi Jika data tersebar dalam beberapa file dalam bentuk format yang tidak sama, maka akan menyulitkan dalam menulis program aplikasi, baik untuk mengambil & menyimpan data. Oleh karena itu dalam satu database harus dibuat satu format yang sama, sehingga mudah dibuat program aplikasinya. Masalah Keamanan (Security) Setiap pemakai sistem basis data tidak semua bagian diperbolehkan untuk mengakses semua data, misalnya data mengenai gaji pegawai hanya boleh dibuka oleh bagian keuangan, sedang bagian gudang & bagian lain tidak diperkenankan untuk membukanya. Keamanan dapat diatur & disesuaikan baik ditingkat basis data atau aplikasinya. Multiple User Salah satu alasan basis data dibangun karena nantinya data tersebut akan digunakan oleh banyak orang, baik dalam waktu berbeda maupun bersamaan. Oleh karena itu diperlukan basis data yang handal & dapat mendukung banyak pemakai atau multiuser. 22 Data Independency Pada aplikasi yang dibuat dengan bahasa pemrograman seperti BASIC misalnya,apabila program telah selesai dibuat & ternyata terjadi perubahan terhadap struktur file maka program tersebut harus dirubah, ini artinya program tersebut tidak bebas terhadap database yang ada. Lain halnya jika dengan paket DBMS, apapun yang terjadi pada struktur file setiap kali hendak melihat data cukup dengan utility LIST. Data independensi diartikan sebagai ketidakketergantungan data dalam basis data. Independensi data mempunyai 2 dimensi, yaitu physical data independency dan logical data independency. 23 Kebolehan untuk mengubah pola fisik database tanpa mengakibatkan suaatu aplikasi program ditulis kembali. Modifikasi pada level fisik biasanya hanya pada saat meningkatkan daya guna. Physical data independency diartikan bahwa teknik & cara-cara penyimpanan & pengaksesan data dalam fisik media penyimpanan dapat mengalami perubahan tanpa harus mengubah deskripsi logik basis data (conceptual view). 24 Kebolehan untuk mengubah pola konseptual tanpa mengakibatkan suatu aplikasi program ditulis kembali. Modifikasi pada level konseptual teristimewa pada saat struktur logika database berubah, ditambahkan atau dikurangi. Logical data independency diartikan bahwa kebutuhankebutuhan data para pemakai dapat mengalami perubahan tanpa harus mengubah pandangan logik pemakai terhadap basis data atau deskripsi logik basis data (conceptual view). 25 Gambar 1.2 Independensi Data Dalam Arsitektur Tiga Level View 1 View 2 Pemetaan Konseptual/ Eksternal View 3 Independensi Logis Skema Konseptual Pemetaan Konseptual/ Internal Independensi Fisik Skema Fisik 26 Berdasarkan keterangan di atas, maka data independensi akan memberikan jaminan berupa fleksibilitas basis data, yaitu : a. Media & metode akses data dari fisik media penyimpanan basis data dapat mengalami perubahan tanpa harus mengubah pandangan konseptual (conceptual view). b. Kebutuhan data oleh para pemakai (user) basis data dapat mengalami perubahan tanpa harus mengubah pandangan konseptual (conceptual view). c. Pemakai tidak akan mengalami kesulitan dengan perancangan basis data & teknis penyimpanannya dalam media penyimpanan data yang digunakan. 27 Integritas Data • • • Domain adalah himpunan yang dapat diberikan pada suatu atribut yang mencakup; nama, arti, tipe data, ukuran (panjang), & nilai yang diijinkan. Semua nilai yang disimpan pada kolom-kolom harus memiiki domain yang sama. Integritas data ini merujuk pada batasan nilai yang diperbolehkan untuk setiap atribut dalam tabel yang dimiliki oleh suatu atribut. Integrity Entity dirancang untuk : • memastikan setiap relasi atau tabel yang sudah memiliki primary key, • memastikan bahwa nilai-nilai data untuk kunci primer adalah sah atau valid, • dan memastikan bahwa setiap atribut kunci primer adalah bukan NULL. 28 Nilai NULL adalah : • Nilai yang diberikan ke suatu atribut saat tidak ada nilai yang dimasukkan atau nilai yang diterapkan tidak diketahui. • Bukan nilai melainkan ketidakhadiran nilai pada suatu atribut tertentu. • Nilai NULL disini bukan nol (angka 0) & juga bukan space (untuk jenis data alpha, alphanumeric, dan string) melainkan mewakili nilai data tidak diketahui (unknown) atau tidak menentu (indeterminate) atau kosong (absence of value). • NULL untuk menyatakan nilai kolom dapat diisi. • NOT NULL utnuk menyatakan nilai kolom harus diisi. Contoh : CREATE TABLE tblpengarang (Kd_pengarang INTEGER NOT NULL. Nama_pengarang CHAR(15) NOT NULL, Alamat_pengarang CHAR (30), Kota CHAR (15)) Tabel di samping menyatakan : • Kd_pengarang harus diisi • Nama_pengarang harus diisi • Lainnya boleh tidak diisi 29 • Integrity Referensial adalah garis yang menghubungkan antara kunci tamu (foreign key) di suatu tabel dengan kunci primer (primary key) di tabel lainnya. • Integrity Referensial merupakan aturan yang memelihara konsistensi antara baris-baris pada 2 (dua) relasi. • Aturan ini menerapkan bahwa jika ada kunci tamu di satu relasi tertentu, maka kunci tamu itu harus sesuai dengan nilai kunci primer di relasi lain. • Sebagai contoh tabel Mata Kuliah dan Dosen didefiniskan dengan atribut kd-Dosen sebagai kunci tamu pada tabel Mata Kuliah. • Tanda panah menggambarkan arah dari setiap kunci tamu ke kunci primer yang berhubungan. • Integrity Referensial Harus didefinisikan untuk setiap tanda panah pada setiap skema. 30 Contoh : Dosen NID 08168 Sity Aisyah, S.Kom Mata_kuliah Kode_MK Mata_kuliah NID AK161 Pemeriksaan Akuntansi 08168 SI350 Konsep Sistem Informasi 08168 SI140 Teknologi Basis Data 08191 Primary key Nama Dosen 08191 Nawang Kalbuana, SE. Primary key Foreign key Gambar 1.3 Integrity Referensial 31 Ipin, kamu tau gak, berapa sih jumlah mhs yg ikut kuliah basis data ??... Hmm,...berapa ya Nyil..? Tugas Anda : Bantulah Ipin agar dapat menjawab pertanyaan Unyil dengan membuat tabel-tabel yang sekiranya berhubungan dengan pertanyaan di atas. 32 33