BAB 2 LANDASAN TEORI 2.1 Defenisi Pangkalan Data Pangkalan data atau Database merupakan kumpulan dari item data yang saling berhubungan satu dengan yang lainnya yang diorganisasikan berdasarkan sebuah skema atau struktur tertentu, tersimpan di hardware komputer dan dengan software untuk melakukan manipulasi untuk kegunaan tertentu. Dalam pembuatan aplikasi, pangkalan data mempunyai peranan yang sangat penting karena : 1. Salah satu komponen penting dalam sistem informasi 2. Menentukan kualitas informasi 3. Mengurangi duplikasi data (data redudancy) 4. Hubungan data dapat ditingkatkan (data relatability) 5. Mengurangi pemborosan tempat simpanan luar Tujuan utama dibangunnya pangkalan data (Database) adalah untuk kemudahan dan kecepatan dalam pengambilan kembali data/arsip. 2.2 Database Management Sistem (DBMS) Database Management System (DBMS) secara umum diartikan sebagai suatu program komputer yang digunakan untuk memasukkan, mengubah, menghapus, memanipulasi dan memperoleh data informasi dengan praktis dan efisien. Semua operasi input dan 6 Universitas Sumatera Utara output yang berhubungan dengan database harus menggunakan DBMS. Bila pemakai akan mengakses pangkalan data, DBMS menyediakan penghubung (interface) antara pemakai dengan pangkalan data. Pangkalan data dirancang untuk mengatur informasi yang sangat luas. Yang dimaksud dengan mengatur disini adalah mendefinisikan struktur untuk penyimpanan informasi dan menyediakan mekanisme untuk manipulasi informasi. Selain itu, sistem pangkalan data harus benar-benar merupakan tempat penyimpan informasi yang aman, misalnya aman dari kerusakan data ataupun aman dari usaha pengaksesan legal. Jika data dibagi untuk beberapa user, pangkalan data data harus bebas dari anomali atau keadaan data yang tidak semestinya. Karena informasi adalah suatu hal yang sangat berharga, maka ilmuwan komputer telah mengembangkan konsep dan teknik yang sangat besar untuk mengatur data sehingga mudah diolah menjadi informasi. Hubungan pemakai dengan pangkalan data dapat dilakukan dengan dua cara: 1. Secara interaktif menggunakan bahasa pertanyaan (query language). 2. Dengan menggunakan program aplikasi Aplikasi Hasil query Permintaan Data Database DBMS Data Hasil query Terminal (console) interaktif Gambar 2.1 Hubungan Pemakai dengan Database Universitas Sumatera Utara Dibandingkan dengan sistem yang berbasis kertas, DBMS memiliki 4 keunggulan : a. Kepraktisan Sistem yang berbasis kertas akan menggunakan kertas untuk menyimpan informasi, sedangkan DBMS menggunakan penyimpan sekunder yang berukuran kecil tetapi padat informasi. b. Kecepatan Mesin dapat mengambil atau mengubah data jauh lebih cepat daripada manusia. c. Mengurangi kejemuan Orang cenderung menjadi bosan kalau melakukan tindakan–tindakan berulang menggunakan tangan. d. Kekinian Informasi yang tersedia pada DBMS akan bersifat mutakhir dan akurat setiap saat. Sebelum ditemukan pangkalan data, informasi di simpan berbentuk file. Adapun kelemahan penyimpanan informasi berbasis file adalah : a. Redudansi dan ketidak-konsistenan data Sejak programmer membuat file dan program dalam waktu yang lama, berbagai file yang serupa mempunyai format yang berbeda dan program mungkin saja ditulis dengan beberapa bahasa pemrograman yang berbeda. Lebih dari itu, informasi yang sama mungkin duplikat di beberapa tempat atau file. Misalnya, alamat dan nomor telepon mahasiswa mungkin muncul di record data mahasiswa dan muncul di data nilai. Universitas Sumatera Utara b. Kesulitan dalam mengakses data. Bayangkan jika seorang petugas adminstrasi ingin mencari semua nama mahasiswa yang tinggal berasal dari suatu daerah. Maka petugas ini akan mengalami kesulitan karena sistem berbasis file ini tidak dirancang untuk permintaan seperti ini. c. Isolasi data Karena data tersebar di berbagai macam file, dan file mungkin memiliki struktur data yang berbeda, akan menyebabkan sulitnya memasukkan program yang baru ke data yang tepat. d. Masalah integrasi. Kesulitan terjadi pada saat penambahan batasan data, misalnya batasan bahwa panjang karakter untuk NIM ditambah menjadi 10 karakter yang sebelumnya dirancang untuk 9 karakter. e. Terjadi anomali jika diakses bersamaan Untuk menjaga kinerja sistem dan respon yang cepat, beberapa sistem mengizinkan banyak user untuk meng-update data secara serentak. Dalam keadaan ini, interaksi update yang bersamaan akan menyebabkan data menjadi tidak konsisten. f. Masalah Keamanan Tidak semua user sistem berhak mengakses semua data.. Misalnya mahasiswa tidak berhak mengakses data nilai. Pembatasan ini akan sangat sulit dilakukan pada sistem berbasis file. Salah satu contoh DMBS yang cukup dikenal adalah MySQL, dan uraian tentang MySQL akan dijabarkan pada subbab 2.6. Universitas Sumatera Utara 2.3 Proses Desain Pangkalan Data Pada gambar 2.2 di bawah memperlihatkan komponen-komponen dalam proses desain database. Model Data Desain Relasi • Membuat tabel dan kolom dari entitas serta atribut • Memilih primary key • Merepresentasikan hubungan • Menetapkan batasan • Memeriksa kembali kriteria normalisasi Aturan Pemrosesan Persyaratan sistem tambahan Gambar 2.2 Komponen-Komponen Desain Pangkalan Data Adapun yang menjadi tahapan dalam membangun sebuah desain pangkalan data adalah sebagai berikut : 1. Membuat tabel dan kolom dari entitas dan atribut Untuk mentranformasikan sebuah model entity-relationship ke dalam desain database relasional, masing-masing entitas direpresentasikan sebagai sebuah tabel dan semua atribut entitas akan menjadi kolom tabel tersebut. 2. Memilih primary key (Kunci Utama) Pemilihan primary key merupakan hal yang sangat penting dan hampir semua produk DBMS (Database Management System) menyusun indeks Universitas Sumatera Utara pada kolom primary key sehingga nilai key dapat digunakan untuk mengatur penyimpanan fisik dan memfasilitasi pencarian serta penyeleksian dengan menggunakan primary key. Salah satu ciri primary key adalah unik sehingga bisa digunakan sebagai pengenal atau identifier. 3. Merepresantasikan hubungan Untuk model relasional, semua hubungan dinyatakan dengan menempatkan primary key dari suatu tabel yang satu dengan tabel yang ke dua. 4. Menetapkan batasan Penetapan batasan dimaksudkan untuk tujuan yang lebih luas. Batasan didefenisikan sebagai suatu aturan yang mengatur nilai-nilai statis atribut yang cukup tepat sehingga dapat memastikan apakah nilai itu benar atau tidak. 5. Memeriksa kembali kriteria normalisasi Normalisasi bertujuan untuk menghilangkan anomali modifikasi. 2.4 Model Data Model data adalah sekumpulan konsep untuk menjabarkan data, relasi data, semantik data, dan batasan yang konsisten. Terdapat 2 Model data yaitu model Entity Relationship (E-R) dan Model Relasional. 2.4.1 Model Entity Relationship (E-R) Entity Relationship (E-R) adalah menterjemahkan keadaan yang sebenarnya terdiri dari objek dasar yang disebut entitas dan relasi antar objek (entitas). Model data E-R. adalah satu dari sekian banyak model data semantik. Aspek semantik dari model terletak pada representasi dari maksud data tersebut. Universitas Sumatera Utara Entitas adalah sesuatu atau objek yang dapat dibedakan dari objek-objek lainnya. Misalnya mahasiswa dapat dikatakan sebagai entitas. Setiap entitas mempunyai sekumpulan atribut dan nilai yang mungkin mengidentifikasikan entitas secara unik. Misalnya entitas mahasiswa mempunyai atribut NIM yang tidak akan sama dengan mahasiswa lain. Nama, alamat serta informasi lainnya yang melekat pada mahasiswa disebut atribut. Sedangkan NIM disebut atribut kunci karena sifatnya unik dan tidak akan sama. Entitas dapat merupakan sesuatu yang konkret atau nyata misalnya mahasiswa, dosen, buku. Namun entitas dapat berupa sesuatu yang abstrak misalnya nilai, atau gaji dosen. Setiap entitas mempunyai nilai untuk masing-masing atribut. Misalnya entitas mahasiswa mempunyai atribut “NIM” yang bernilai “031401048”, atribut “nama” yang bernilai “Ika Pratiwi”, atribut alamat “ Jl. H. Adam Malik No 28 Rantauprapat”. Yang perlu diperhatikan disini adalah atribut “alamat” akan menjadi entitas jika alamat itu sendiri mempunyai atribut lagi. Entitas “alamat” dapat dijelaskan dengan menggunakan atribut Kode Pos, Kabupaten, Propinsi. Kompisi seperti ini dapat digambar seperti gambar dibawah ini. Mahasiswa NIM Alamat Nama Nama Jalan Kode Pos Kabupaten Propinsi Gambar 2.3 Komposisi Entitas dan Atribut Universitas Sumatera Utara Untuk memudahkan perancangan relasi data, diperlukan diagram yang disebut Entity Relationship Diagram (E-R-D) yang menggambarkan hubungan antar entitas dan sturktur logika dari pangkalan data yang akan dibangun secara grafik. E-R-D terdiri dari komponen utama yaitu : Kotak mewakili Entitas Elips mewakili Atribut Belah ketupat mewakili Relasi antar Entitas Garis menghubungkan entitas dengan atribut dan atribut dengan entitas Gambar 2.4 Komponen E-R Diagram Misalnya relasi antara mahasiswa dan mata kuliah dapat digambarkan dalam bentuk diagram E-R seperti pada gambar 2.5 di bawah ini. Pada gambar tersebut terdapat dua buah entitas yaitu mahasiswa dan mata kuliah dengan atribut yang melekat pada masing-masing atribut. Model E-R memberikan batasan yang jelas. Salah satu batasan yang penting adalah pemetaan kardinalitas yang menjelaskan jumlah entitas dengan entitas. NIM Alamat Nama MAHASISWA Kode MK Mengambil Nama_MK SKS MATA_KULIAH Gambar 2.5 Contoh Diagram E-R Universitas Sumatera Utara 2.4.2 Model Relasional Model relasional menggunakan tabel untuk mewakili kedua data dan hubungan antar data. Masing-masing tabel mempunyai banyak kolom, dan masing-masing kolom yang mempunyai nama yang unik. Salah satu contoh relasional yang terdiri dari 3 buah tabel yaitu tabel Mahasiswa, Tabel Mata kuliah, dan tabel KRS dapat dilihat pada Gambar 2.6. Pada Gambar tersebut terlihat bahwa data mahasiswa berupa NIM, nama dan alamat tersimpan pada tabel mahasiswa. Misalnya NIM 031401048 adalah milik mahasiswa yang bernama Ika Pratiwi yang tinggal di Rantau Prapat. Pada Tabel KRS terlihat beberapa mata kuliah beserta kode mata kuliah yang sifatnya unik dan tidak pernah sama. Pada tabel KRS terlihat bahwa Mahasiswa 031401048 mengambil Kode Mata Kuliah KTK 401. Tabel yang menjadi relasi antar tabel tabel KRS yang menghubungkan 2 buah. Tabel 2.1 Contoh model relasional dalam 3 buah tabel NIM 031401042 031401047 031401048 031401060 Nama Alamat Binjai Abu Sofyan Jl. Gatot Subroto Jl. Jamin Ginting Syafriana Fajar Andika Ika Pratiwi Kurniawan (a) Tabel Mahasiswa Kode MK KTK214 KTK215 KTL303 KLL302 Nama MK Basis Data Sistem Informasi Komunikasi Data Prak. Grafika Komputer SKS Semester 2 2 2 1 4 4 4 5 (b) Tabel Mata Kuliah NIM 031401060 031401060 031401048 031401048 031401047 031401042 Kode MK KTK214 KTK215 KTL303 KLL302 KTL303 KLL302 Nilai B C A A C C Semester_ambil 4 6 2 2 2 1 (c) Tabel KRS Universitas Sumatera Utara 2.5 Bahasa SQL (Structured Query Language) SQL yang merupakan singkatan dari Structured Query Language merupakan suatu bahasa yang digunakan untuk melakukan request ata perintah terhadap DBMS. Sehingga hampir semua DMBS mendukung bahasa SQL. Bahasa SQL diajukan sebagai standar pada tahun 1980 dan sekarang masih menjadi standar. Pada kenyataannya , SQL menyediakan beberapa kelompok bahasa yang membentuk sebuah landasan yang luas untuk menggunakan pangkalan data. Pengelompokan tersebut adalah sebagai berikut : 1. Data Definition Language (DDL), yaitu bahasa SQL yang digunakan untuk membuat (create), menghapus (drop) dan mengubah (alter) struktur tabel. # Membuat tabel tblmhs CREATE TABLE tblmhs ( NIM varchar(9) NOT NULL default '', Nama varchar(30) NOT NULL default '', password varchar(20) NOT NULL default '', semester varchar(4) NOT NULL default '', DosenID char(3) NOT NULL default '', kelas char(1) NOT NULL default '', Bebansks int(2) NOT NULL default '0', TglKrs varchar(30) NOT NULL default '', Alamat varchar(60) NOT NULL default '', tempatlahir varchar(30) NOT NULL default '', tgllahir date NOT NULL default '0000-00-00', Telepon varchar(14) NOT NULL default '', PRIMARY KEY (NIM) ) #------------------------------------------------# Mengubah Struktur tabel tblmhs # yaitu menambahkan kolom nama_ayah setelah kolom Telepon alter table tblmhs add nama_ayah varchar(30) after Telepon; # -----------------------------------------------# Menghapus tabel tblmhs drop table tblmhs Gambar 2.6 Contoh Tampilan Bahasa SQL Universitas Sumatera Utara 2. Data Manipulation Language (DML), yaitu bahasa SQL yang digunakan untuk memanipulasi isi tabel. Sintaks SQL yang termasuk DML adalah insert into [nama tabel], delete from [nama tabel] dan update [nama tabel] . 2.6 MySQL MySQL adalah sebuah DBMS yang bersifat open source dirancang untuk penggunaan dalam arsitektur client/server, sehingga server MySQL bisa diakses dari komputer lain yang terhubung dengan jaringan. MySQL adalah milik MySQLAB. “AB” merupakan singkatan dari bahasa swedia “AktieBolag” atau “Stock Company”, yang jika diartikan ke dalam istilah inggris menjadi “incorporate” atau “Perseroan Terbatas”. Apa yang dimulai sebagai modal bersama untuk membangun sebuah DBMS open source telah menjadi sebuah alternatif yang dapat diandalkan untuk pasar pangkalan data komersial. MySQL AB menghasilkan pendapatan dengan penjualan lisensi yang komersial, dukungan, dan layanan pengembangan yang profesional, termasuk konsultasi, pelatihan, dan sertifikasi produk mereka. Universitas Sumatera Utara