Basis Data Spasial Modul 1 1. Basisdata Pengantar Basisdata DBMS (Database Management System) Normalisasi Pemodelan E-R Perancangan Basisdata 2. Pengenalan PostgreSQL dan PostGIS SQL (Structure Query Language) PostgreSQL PostGIS Basisdata (1) Beberapa Definisi tentang basis data (database) : • Basis data adalah koleksi atau kumpulan data yang mekanis, terbagi / shared, terdefinisi secara formal dan dikontrol terpusat pada organisasi (Gordon C. Everest) • Basis data adalah sebuah sistem file-file yang terintegrasi yang mempunyai minimal primary key untuk pengulangan data (Toni Fabbri) • Basis data adalah koleksi data-data yang saling berhubungan mengenai suatu organisasi / enterprise dengan macam-macam pemakaiannya. (S. Attre) Basisdata (2) Komponen penyusun utama dari sebuah basis data terdiri dari : – Hardware – Operating System – Database – DBMS (Database Management System) – User (pengguna sistem basis data) – Optional Software Basisdata (3) Abstraksi data pada basis data terdiri dari 3 level yaitu level eksternal, level konseptual, dan level internal. Basisdata (4) Manfaat dari pembentukan basis data ini sendiri adalah sebagai berikut: • Sebagai komponen utama atau penting dalam sistem informasi, karena merupakan dasar dalam menyediakan informasi. • Menentukan kualitas informasi yaitu cepat, akurat, dan relevan, sehingga infromasi yang disajikan tidak basi. Informasi dapat dikatakan bernilai bila manfaatnya lebih efektif dibandingkan dengan biaya mendapatkanya. • Mengatasi kerangkapan data (redundancy data). • Menghindari terjadinya inkonsistensi data. • Mengatasi kesulitan dalam mengakses data. • Menyusun format yang standar dari sebuah data. DBMS Database Management System (DBMS) adalah suatu sistem atau perangkat lunak yang dirancang untuk mengelola suatu basis data dan menjalankan operasi terhadap data yang diminta banyak pengguna. DBMS merupakan perangkat lunak yang dirancang untuk dapat melakukan utilisasi dan mengelola koleksi data dalam jumlah yang besar. DBMS juga dirancang untuk dapat melakukan manipulasi data secara lebih mudah. DBMS (1) DBMS juga memiliki beberapa fungsi, diantaranya adalah : Data Definition Data Manipulation Data Security & Integrity Data Recovery & Concurency Data Dictionary Performance Perangkat Lunak DBMS Perangkat lunak basis data yang banyak digunakan dalam pemrograman dan merupakan perangkat basis data arus tinggi (high level) antara lain Microsoft SQL Server, Oracle, Sybase, Interbase, XBase, Firebird, MySQL, PostgreSQL, Microsoft Access, dBase III, Paradox, FoxPro, Visual FoxPro, dll Normalisasi (1) • Proses normalisasi adalah proses pengelompokan data elemen menjadi tabel-tabel yang menunjukkan entity dan relasinya. • Pada proses normalisasi dilakukan pengujian pada beberapa kondisi apakah ada kesulitan pada saat menambah/menyisipkan, menghapus, mengubah dan mengakses pada suatu basis data. • Bila terdapat kesulitan pada pengujian tersebut maka perlu dipecahkan relasi pada beberapa tabel lagi atau dengan kata lain perancangan basis data belum optimal. Normalisasi (2) Proses normalisasi ini memiliki beberapa tahapan, yaitu: Bentuk Normal Kesatu (1 NF/First Normal Form) • Bentuk normal 1NF terpenuhi jika sebuah tabel tidak memiliki atribut bernilai banyak (multivalued attribute), atribut composite. • Setiap atribut dalam tabel tersebut harus bernilai atomic (tidak dapat dibagi-bagi lagi) NIM 15113008 15113009 15113010 NIM Nama Hobi 15113008 Nina Memasak Nina Berenang Nina Membaca Raditya Membaca Raditya Melukis Galuh Membaca komik Galuh Menonton film Nama Hobi Nina Memasak, berenang, membaca 15113008 Raditya Membaca, melukis 15113008 Galuh Membaca komik, menonton film 15113009 15113009 15113010 15113010 Bentuk Normal Tahap Kedua (2nd Normal Form) Bentuk normal 2NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk 1NF Sebuah tabel tidak memenuhi 2NF, jika ada atribut yang ketergantungannya (Functional Dependency) hanya tergantung pada sebagian dari primary key Jika terdapat atribut yang tidak memiliki ketergantungan terhadap primary key, maka atribut tersebut harus dipindah atau dihilangkan Contoh tabel yang sudah memenuhi normal 1NF, tetapi belum memenuhi normal kedua (2NF): mhs_nr p mhs_na ma mhs_alam at mk_kod e mk_nama mk_sks nihuruf Tabel di atas belum memenuhi normal 2NF karena dari kolom {mhs_nrp dan mk_kode} yang dianggap sebagai primary key, hanya kolom {nihuruf} yang bergantung kepada kedua kolom primary key tersebut. • {mhs_nrp dan mk_kode} --/->{mhs_nama} • {mhs_nrp dan mk_kode} --/->{mhs_alamat} • {mhs_nrp dan mk_kode} --/->{mk_nama} • {mhs_nrp dan mk_kode} --/->{mk_sks} • {mhs_nrp dan mk_kode} ---> {nihuruf} Sehingga tabel diatas harus didekomposisi menjadi beberapa tabel yang memenuhi syarat tabel normal 2NF, yang terdiri dari : • Tabel Nilai {mhs_nrp, mk_kode, nihuruf} • Tabel Mahasiswa {mhs_nrp, mhs_nama, mhs_alamat} • Tabel Matakuliah {mk_kode, mk_nama, mk_sks} Bentuk Normal Tahap Ketiga (3rd Normal Form /3NF) • Bentuk normal 3NF terpenuhi jika telah memenuhi bentuk 2NF, dan jika tidak ada atribut non primary key yang memiliki ketergantungan terhadap atribut non primary key yang lainnya. • Contoh tabel yang memenuhi 2NF, tetapi tidak memenuhi 3NF, Tabel Mahasiswa : nrp nama alm_jalan alm_kota alm_provinsi alm_kodepos Sehingga tabel diatas harus didekomposisi menjadi : – Tabel Mahasiswa {nrp, nama, alm_jalan, alm_kodepos} – Tabel kodepos {alm_kodepos, alm_provinsi, alm_kota} Bentuk Normal Tahap Keempat (4rd Normal Form /4NF) 4NF terpenuhi jika : • Telah memenuhi bentuk BCNF, • Tidak mengandung dua atribut atau lebih yang bernilai banyak Bentuk Normal Tahap Kelima (5rd Normal Form /5NF) • Suatu tabel dikatakan tidak memenuhi 5NF jika ia atributnya saling bergantung dengan atribut lain • Bentuk normal 5NF terpenuhi jika data yang ada padanya tidak dapat didekomposisi lagi menjadi tabel yang lebih kecil • Jika 4 bentuk normal sebelumnya dibentuk berdasarkan functional dependency, 5NF dibentuk berdasarkan konsep join dependence. Yakni apabila sebuah tabel telah didekomposisi menjadi tabel-tabel lebih kecil, harus bisa digabungkan lagi (join) untuk membentuk tabel semula Pemodelan E-R • Model data Entity-Relationship (E-R) terdiri dari sekumpulan objek-objek yang disebut dengan entitas dan hubungan yang terjadi diantara objekobjek tersebut. • Model data E-R terbagi menjadi tiga konsep dasar, yaitu himpunan entitas, himpunan relasi, dan atribut. Entitas dan Atribut • Suatu entitas merupakan suatu objek dasar atau individu yang mewakili sesuatu yang nyata eksistensinya dan dapat dibedakan dari objek-objek lain. • Suatu entitas mempunyai sekumpulan sifat, dan nilai beberapa sifat tersebut adalah unik yang dapat mengidentifikasi entitas tersebut. • Artibut merupakan sifat atau properti yang dimiliki oleh entitas. Atribut inilah yang membedakan antara satu entitas dengan entitas lainnya. • Sebagai contoh entitas mahasiswa memiliki atribut berupa NIM, nama mahasiswa, alamat mahasiswa, dan tanggal lahir dari mahasiswa tersebut. NIM Nama_mhs Alamat_mhs Tgl_lahir 15107001 Arini Cisitu Lama 12/04/1989 15107012 Dianrina Tubagus Ismail 15/08/1989 15107032 Fandrio Plesiran 25/01/1990 Relasi • Relasi menunjukkan adanya hubungan diantara sejumlah entitas yang berasal dari sejumlah himpunan entitas yang berbeda. Kardinalitas Relasi Kardinalitas merupakan jumlah maksimum entitas dimana entitas tersebut dapat berelasi dengan entitas pada himpunan entitas yang lain. Satu ke satu (One to one) Satu ke banyak (One to many) Banyak ke banyak (Many to many) Banyak ke satu (Many to one) Kelas Keanggotaan • Kelas keanggotaan menunjukkan apakah semua anggota entitas memiliki hubungan dengan anggota entitas lagi secara pasti atau tidak. • Kelas keanggotaan terdiri dari dua jenis, yaitu • Obligatory adalah jika semua anggota entitas secara pasti berhubungan dengan anggota entitas lainnya. • Non-obligatory adalah jika semua anggota entitas secara pasti berhubungan dengan anggota entitas lainnya . Kelas Keanggotaan Berikut beberapa contoh penggunaan kelas keanggotaan. 1. Obligatori dan Obligatori Enterprise rules : Seorang guru pasti mengajar mata pelajaran Satu mata pelajaran pasti diajar oleh guru 2. Obligatori dan Non Obligatori Enterprise rules : Seorang guru pasti mengajar mata pelajaran Satu mata pelajaran belum tentu diajar oleh guru 3. Non Obligatori dan Non Obligatori Enterprise rules : Seorang guru belum tentu mengajar mata pelajaran Satu mata pelajaran belum tentu diajar oleh guru Diagram E-R Sebuah basis data bisa digambarkan secara grafik dengan menggunakan diagram E-R. Adapun komponen-komponen dari suatu diagram E-R adalah sebagai berikut : • Persegi panjang, menggambarkan himpunan entitas. • Belah ketupat, menggambarkan himpunan relasi. • Elips, menggambarkan atribut-atribut. • Garis, menggambarkan hubungan atribut ke entitas dan himpunan entitas ke himpunan relasi. Perancangan Basisdata (1) Dalam melakukan perancangan basis data, terdapat beberapa tujuan yaitu : • Untuk memenuhi kebutuhan akan informasi dari pengguna dan aplikasi yang digunakan. • Menyediakan struktur informasi yang natural dan mudah dimengerti oleh pengguna. • Mendukung kebutuhan pemrosesan dan objektifitas kinerja (waktu respon, waktu pemrosesan, dan ruang penyimpanan) Proses dalam metodologi perancangan dibagi menjadi 3 tahap : Desain Konseptual Desain Logikal Desain Fisikal Perancangan Basisdata (2) 1. Desain Konseptual adalah proses membangun suatu model berdasarkan informasi yang digunakan oleh perusahaan atau organisasi, tanpa pertimbangan perencanaan fisik (Connolly, 2002:p419). 2. Desain Logikal adalah proses pembuatan suatu model informasi yang digunakan pada perusahan berdasarkan pada model data yang spesifik, tetapi tidak tergantung dari Database Management System (DBMS) yang khusus dan pertimbangan fisik yang lain (Connolly, 2002L:p441). 3. Desain Fisikal adalah proses pembuatan deskripsi dari suatu impelmentasi basis data pada secondary storge. Tujuan utama dari physical database design adalah untuk mendeskripsikan bagaimana desainer bermaksud untuk mengimplementasikan secara fisik dari logical database design. SQL (Structure Query Language) SQL adalah suatu bahasa komputer yang mengikuti standard ANSI (American National Standard Institute), yaitu sebuah bahasa standar yang digunakan untuk mengakses dan melakukan manipulasi suatu sistem database. Mengenal DDL pada SQL • Data Definition Language (DDL), merujuk pada kumpulan perintah yang dapat digunakan untuk mendefinisikan objek – objek basis data, seperti membuat sebuah tabel basis data atau indeks primer atau sekunder. • Berikut penjelasan singkat beberapa sintaks yang sering dijumpai dalam DDL. – – – – – – CREATE DATABASE, yang digunakan untuk membuat basis data. CREATE TABLE, yang digunakan untuk membuat tabel. ALTER TABLE, yang digunakan untuk merubah struktur suatu tabel. DROP TABLE, yang digunakan untuk menghapus suatu tabel. CREATE INDEX, yang digunakan untuk membuat suatu index dalam tabel. DROP INDEX, yang digunakan untuk menghapus suatu index dalam tabel. Mengenal DML pada SQL • Data Manipulation Language (DML), mengacu pada kumpulan perintah yang dapat digunakan untuk melakukan manipulasi data, seperti penyimpanan data ke suatu tabel, kemudian mengubahnya dan menghapusnya atau hanya sekedar menampilkannya kembali. • Berikut merupakan penjelasan singkat dari sintaks-sintaks DML. – SELECT, yang digunakan untuk mengakses data dari suatu tabel dalam basis data. – UPDATE, yang digunakan untuk melakukan update data dalam suatu tabel pada basis data. – DELETE, yang digunakan untuk menghapus data dari suatu tabel dalam basis data. – INSERT, yang digunakan untuk menambahkan data ke dalam suatu tabel dalam basis data. Pengenalan PostgreSQL PostgreSQL sebuah produk database relasional yang termasuk dalam kategori free open source software (FOSS). PostgreSQL terkenal karena fitur-fitur yang advanced dan pendekatan rancangan modelnya menggunakan paradigma object-oriented, sehingga sering dikategorikan sebagai Object Relational Database Management System (ORDBMS). Pengenalan PostGIS Postgis merupakan sebuah teknologi database yang dapat menyimpan data spasial (keruangan). PostGIS menyediakan sejumlah fungsi penting dari Sistem Informasi Geografis (SIG), termasuk membangun hubungan topologi, tampilan antar muka untuk melihat dan mengedit SIG, dan juga dapat diakses dengan perangkat yang berbasis web.