Anda di halaman 1dari 59

DAFTAR ISI

BAB I 1.1 1.2 1.3 1.4 1.5 BAB II 2.1 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.5.1 2.2.5.2 2.2.6 2.2.6.1 2.2.6.2 BAB III 3.1 3.2 3.2.1 3.3 3.3.1 3.4 3.5 3.6 3.6.1 3.6.2 3.6.3 3.7 3.8 PENDAHULUAN Introduksi Database Database Manajemen Sistem (DBMS) Model Data Falsafah Desain DBMS Apa Yang Disebut Sistem Basisdata ? Data Hardware (Perangkat Keras) Software (Perangkat Lunak) User (Pemakai) Procedure Apa Yang Disebut Basisdata Hirarki Data Entitas dan Relasi Preperti Abstraksi Data Data dan Model Data Model Logik Berbasis Objek Model Logikal Berbasis Record Administrasi Data dan Administrasi Baisdata Data Administrator Database Administrator (DBA) ARSITEKTUR SISTEM BASISDATA Arsitektur Tiga Level Database Independence Abstraksi Hubungan Antara User Pada DBMS Dengan Physical Database Arsitektur Database Manajemen Sistem untuk Multi User Administrator Basisdata Implementasi Basisdata Database Manajemen Sistem dan Struktur Tabel Indeks dan Struktur Penyimpanan Indeks Primer (Primary Index) Indeks Sekunder Struktur Penyimpanan (Storage Structure) Arsitektur Klient / Server Proses Terdistribusi (Distributed Processing) hal hal hal hal hal hal hal hal hal hal hal hal hal hal hal hal hal hal hal hal hal hal hal hal hal hal hal hal hal hal hal hal hal hal hal hal hal 3 3 3 6 11 11 13 15 15 16 17 17 18 18 19 20 20 21 22 22 23 23 23 23 25 25 25 26 27 28 28 29 30 31 32 32 33 34

(SEBUAH TINJAUAN DARI) MANAJEMEN BASISDATA hal

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

BAB IV 4.1 4.2 4.3 4.3.1 4.3.2 4.3.3 BAB V 5.1 5.1.1 5.1.2 5.2 BAB VI 6.1 6.2 6.3 BAB VII 7.1 7.1.1 7.1.1.1 7.1.1.2 7.1.2 PUSTAKA

MODEL DATA Pengantar Model Data Model Data Berbasis Objek Model Data Berbasis Record Model Data Hirarkhikal (Hierarchical Data Model) Model Data Jaringan (Network Data Model) Model Data Relational (Relational Data model)
ALJABAR RELASIONAL & KALKULUS RELASIONAL

hal hal hal hal hal hal hal hal hal hal hal hal hal hal hal hal hal hal hal hal hal hal hal

36 36 36 37 37 38 38 39 39 40 43 48 50 50 52 54 56 56 56 56 57 59 60

Aljabar Relasional Operator Dasar Aljabar Relasional Operator Tambahan (Non Dasar) Kalkulus Relasional BAHASA QUERY KOMERSIAL SQL (Structured Query Language) QBE (Query By Example) Quel MODEL HUBUNGAN / RELASI ENTITI (ENTITY-RELATIONSHIP (E-R) MODEL) Elemen-Elemen Diagram Hubungan Entitas Entity Entity Set Representasi dari Entity Set Relationship

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

BAB I PENDAHULUAN 1.1 Introduksi Data merupakan sumberdaya yang vital dalam mendukung suatu sistem informasi (gambar 1). Oleh karena itu ketersediaan data yang tepat waktu dan akurat akan sangat membantu keberadaan sistem informasi.

BRAINWARE H A R D W A R E
Kontrol Kinerja Sistem

Data

Proses

Informasi

Repositor Data

S O F T W A R E

DATAWARE Gambar 1. Sistem Informasi

1.2 Database Apa Itu Basisdata ? Anda mempunyai lemari pakaian ? Anda mempunyai rak buku ? Apabila pakaian atau buku anda sudah cukup banyak, bagaimana menyimpannya? Mengapa demikian ? Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP 3

Bayangkan bahwa Basisdata (Database) adalah sebuah lemari arsip. Jika anda memiliki sebuah lemari arsip dan berwenang untuk mengelolanya, apa yang harus anda lakukan ? Yang paling sederhana adalah menyusun arsip-arsip tersebut sesuai dengan kronologisnya atau tanggalnya. Mengapa ?

Basisdata dan lemari arsip sesungguhnya memiliki prinsip kerja dan tujuan yang sama. Prinsip : - pengaturan data / arsip Tujuan : - kemudahan dan kecepatan pengambilan data / arsip

Perbedaannya : Terletak pada media penyimpanan.

ddd mahasiswa dosen

nilai

matakuliah

Gambar 2. Lemari arsip (dalam ruang) Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP 4

menggunakan lemari besi / kayu langsung dikelola oleh manusia

disk

File mahasiswa

File dosen

File nilai

File matakuliah

Gambar 3. Isi Disk Basisdata dalam harddisk menggunakan media penyimpanan elektronis seperti disk (disket atau harddisk). dikelola melalui perantara mesin pintar elektronik (komputer) Namun demikian tidak semua bentuk penyimpanan data secara elektronis bisa disebut Basisdata. Mengapa ? Jadi Database adalah koleksi terpadu dari data-data yang saling berkaitan dari suatu enterprise, atau kumpulan file-file yang mempunyai kaitan antara satu file dengan file lain sehingga membentuk suatu bangunan data untuk menginformasikan satu perusahaan, instansi dalam batasan tertentu. Sebagai ilustrasi database agroindustri dan hortikultura yang saling terkait satu sama lain. (Gambar 4.)

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

Data Agroindustri Hortikultura

Data Syarat Tumbuh

Data Wilayah Produksi

Data Tek.Pra dan Pasca Panen

Data Aspek Legal

Data Ekspor dan Impor

Data Wilayah Pemasaran

.. ..

.. ..

Gambar 4. Contoh Database

1.3 Database Management System (DBMS) Adalah koleksi terpadu dari database dan program-program komputer (utilitas) untuk mengakses dan memelihara database. Program-program tersebut menyediakan berbagai fasilitas operasi untuk memasukkan data ke dalam database, melacak dan memodifikasi, mendefinisikan data baru, memutakhirkan data, mengkonversi data, serta mengolah data menjadi informasi yang diperlukan. Koleksi terpadu program utilitas ini dapat dipandang sebagai lapisan antara (interface) antara pengguna dengan data yang tersimpan dalam database. Semua pengguna data harus melalui prosedur yang seragam dan baku melalui interface tersebut untuk mengakses data yang tersimpan dalam database. Dengan pendekatan ini, maka siapa saja dapat menggunakan database baik secara individu maupun kolektif (multi user).

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

Pada manajemen data konvensional, data selalu dikaitkan (menjadi milik) dari satu program aplikasi tertentu. Jadi tidak memungkinkan adanya bagi-guna (sharing) data antar program aplikasi tersebut. Dan andaikata dipaksakan maka yang terjadi adalah konversi format data dari substansi data yang sama. Hal ini menyebabkan data dengan substansi yang sama disimpan berulang-ulang (redundant) dengan format yang berbedabeda tergantung siapa program aplikasi yang akan menggunakan data tersebut. Dengan pendekatan DBMS, maka sharing data dapat mudah dilakukan dan siapa saja (program apa saja) boleh menggunakan data tersebut asalkan memenuhi prosedur yang ditetapkan pada interfacenya, yang melindungi database tersebut. Semua tugas termasuk konversi data adalah tanggung jawab interface (program utilitas).

DBMS = Database + Program Utilitas

Program Utilitas

Database

Program Utilitas Gambar 5. DBMS

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

Nave User

Programmer Aplikasi

User Spesialis

Casual User

Administrator Basisdata

Program Aplikasi

System Calls

Bahasa Visual

Kueri

Skema Basisdata

Visual Language Compiler Grafik Interface Query Processor DDL Compiler

DML Compiler

File Manager Database Manager Files

Executetable Program

Gambar 6. Struktur DBMS

Database User (Pengguna Basisdata) : Programmer Aplikasi : User profesional yang berinteraksi dengan sistem melalui DML yang diintegrasikan dalam program komputer yang ditulis dalam bahasa pemrograman seperti Pascal, Clipper, Cobol, C, C++ dan SQL. Casual User : User profesional yang berinteraksi dengan sistem tanpa perlu menulis program komputer, melainkan hanya menyampaikan permintaan dengan bahasa kueri seperti SQL (Structured Query Language) dan QBE (Queri By Example).

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

User Spesialis : User profesional yang berinteraksi dengan sistem dan membangun sistem basisdata dengan memanfaatkan fasilitas grafik, utilitas windows, dan fungsifungsi statistik serta matematik untuk pengolahan dan penyajian data.

Nave User : User umum yang berinteraksi dengan sistem dengan menggunakan program aplikasi yang telah tersedia.

Bahasa Dalam DBMS : Bahasa yang digunakan dalam DBMS diantaranya adalah DDL, DML dan DCL DDL (Data Definition Language / Bahasa Definisi Data) : Adalah bahasa yang digunakan untuk mendeskripsikan data. Hasil kompilasi / interpretasi dari DDL adalah metadata atau kamus data (data dictionary), yaitu data yang menjelaskan mengenai data lain. Metadata ini merupakan rujukan pada saat suatu data akan diakses. DML (Data Modification Language / Data Manipulasi Language) : Adalah bahasa yang digunakan untuk pengolahan data yang meliputi : Penambahan data baru ke basisdata. Penghapusan data di basisdata. Pengubahan data. Pencarian dan pengambilan data.

Ada Dua Tipe DML : 1) Prosedural : Yang menuntut pengguna menentukan data apa saja yang diperlukan dan bagaimana cara mendapatkannya. Paket bahasa prosedural DML adalah dBase III, FoxBase.

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

2) Non Prosedural : Yang menuntut pengguna menentukan data apa saja yang diperlukan, tetapi tidak perlu menyebutkan cara mendapatkannya. Paket bahasa Non Prosedural DML diberi nama SQL (Struktur Query Language), QBE (Query By Example). DCL (Data Control Language) DCL berfungsi melakukan pengamanan database. Bahasa Kueri (Query Language) : Adalah bahasa yang dapat digunakan user untuk melacak / mengambil informasi yang terkandung dalam suatu basisdata. Query sesungguhnya berarti pertanyaan atau permintaan. Istilah ini tetap dipertahankan dalam bentuk asli, karena tetap populer dikalangan pengguna DBMS di Indonesia. Database Manager : Adalah modul program (software) yang memberikan fasilitas media akses (interface) antara data yang disimpan dalam basisdata dengan program aplikasi dan kueri. Database Administrator : User profesional yang mempunyai kekuasaan sebagai pusat pengontrolan terhadap seluruh sistem, baik data maupun program yang mengakses data-data disebut database administrator. Meliputi tanggungjawab operasional dan teknis dalam fungsi pengelolaan sumberdaya data : Perawatan basisdata. Pengembangan basisdata. Pemantauan kinerja sistem basisdata. Pembuatan dan pengaturan prosedur. Penggunaan basisdata yang benar dan aman.

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

10

1.4 Model Data Untuk mengorganisir data dalam suatu database diperlukan kaedah konseptual berupa model. Model data diperlukan sebagai dasar untuk melakukan strukturisasi data, interpretasi data, verifikasi dan validasi data, serta manipulasi data. Sekali ditentukan model data yang dipakai untuk membangun suatu database, maka model tersebut menjadi landasan cara memandang, memperlakukan, dan menggunakan database tersebut. Secara umum ada 4 kategori model data : (1). Model data relasional (relational data model) (2). Model data hirarkhikal (hierarchical data model) (3). Model data jaringan (network data model) (4). Model data berorientasi obyek (object-oriented data model) Dari keempat model tersebut maka yang memiliki landasan formal (matematikal) yang kokoh adalah model data relasional, dan oleh karenanya sangat populer dan telah banyak dipakai pada berbagai paket software aplikasi DBMS, seperti Microsoft Access, Oracle, ArcInfo (untuk database spasial yang mendukung aplikasi geografis). Model data yang memiliki landasan formal yang cukup kokoh dan mulai populer digunakan di berbagai aplikasi database adalah model data berorientasi obyek. DBMS yang dibangun dengan model berorientasi obyek umumnya diberi nama OODBMS ( Object-Oriented DBMS). 1.5 Falsafah Desain DBMS Falsafah pokok dalam mendesain suatu DBMS adalah dengan melihat sistem informasi apa yang akan didukung oleh DBMS tersebut (lihat peran dan posisi database dalam konteks Sistem Informasi (SI) pada Gambar 1.). Untuk menentukan data apa saja yang perlu disimpan dalam database, maka perlu analisa mundur (backward analysis) mulai dari melihat dahulu apa saja substansi dan tipe keluaran (informasi) dari SI yang akan didukung dan mundur kebelakang untuk menentukan data apa yang perlu disimpan

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

11

agar SI dapat menghasilkan informasi yang diperlukan tadi (data berbeda dengan informasi) Untuk itu ada 4 tahapan dalam mendesain suatu DBMS : 1. Menentukan data yang perlu disimpan (what to store?) 2. Menentukan relasi yang terjadi antar data (what relations exist among the data?) 3. Menentukan operasi-operasi database yang diperlukan (what services or operations are needed?) 4. Menentukan model data yang digunakan (what model is used?) Tahap 1-3 merupakan tahap faktual, artinya desainer perlu melihat secara nyata (faktual) kondisi yang ada, dan masih bebas dari ikatan-ikatan model pada tahap 4. Hal ini diperlukan agar desainer dapat lebih memfokuskan pada kondisi dan kebutuhan faktual. Sedangkan tahap 4 merupakan tahap-konseptual, yang tentunya ditentukan atas dasar keputusan tahap 1-3 dan justifikasi model yang dianggap paling sesuai.

SOAL Masalah-masalah yang terjadi pada Pengelolaan Data, apa yang terjadi jika : 1. Volume data senantiasa bertambah 2. Duplikasi Data (Data Redundancy) 3. Format dan Struktur Data tidak baku / seragam 4. Keamanan Data yang tak layak 5. Teknologi Manajemen Data yang tak memadai

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

12

BAB II (S E B U A H T I N J A U A N D A R I) MANAJEMEN BASISDATA Sistem Manajemen Basisdata, yaitu koleksi program untuk mengakses basisdata. Sasaran utamanya adalah, menyediakan suatu lingkungan (environment) yang nyaman dan efisien untuk digunakan dalam menyimpan dan mengambil informasi ke dan dari basisdata. Sistem basisdata dirancang untuk menangani gugus informasi yang besar, sedangkan manajemen data meliputi kegiatan dan sarana berikut : Pendefinisian struktur penyimpanan informasi. Penyediaan mekanisme pengolahan data pemanfaatan informasi. Pengamanan bagi informasi terhadap usaha-usaha pengaksesan oleh orang-orang yang tidak berwenang, terhadap kerusakan dan jika data perlu dipakai bersama oleh beberpa user (sharing), sistem harus dapat mencegah kemungkinan terjadinya hasil-hasil yang menyimpang (tidak sesuai). Karena pentingnya informasi dalam organisasi, basisdata adalah suatu sumberdaya yang berharga. Sistem basisdata pada dasarnya adalah sistem terkomputerisasi yang tujuan utamanya adalah memelihara informasi dan membuat informasi tersebut tersedia saat dibutuhkan. User sistem basisdata bisa melakukan berbagai operasi antara lain : Menambah file baru ke sistem basisdata Mengosongkan file Menyisipkan data kesuatu file Mengambil data yang ada pada suatu file Mengubah data pada suatu file Menghapus data pada suatu file Menyajikan suatu informasi yang diambil dari sejumlah file

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

13

Sebagai gambaran, dalam suatu basisdata terdapat sebuah tabel Nasabah : Tabel 1. Nasabah Nasabah. DBF NO_KTP JALAN KOTA NO_REK 03124 Mawar Bogor 812.1451 48616 Salak Bogor 771.2254 48616 Salak Bogor 315.2223 22870 Sawo Bogor 342.2560 22870 Sawo Bogor 511.3332 37662 Harupat Bogor 122.0030

NO 1 2 3 4 5 6

NAMA Geri Saras Saras Agil Agil Tari

STATUS Checking Checking Saving Checking Saving Saving

SALDO 8.000.000 3.000.000 4.000.000 6.000.000 1.000.000 8.500.000

Berbagai operasi dapat dilakukan terhadap data, sebagai contoh dapat dilihat pada perintah berikut : Kueri : Cari semua nasabah beserta NO_KTP nya yang memiliki saldo lebih dari ,Rp. 4.000.000. SQL : SELECT Nama, No_KTP, Saldo FROM nasabah WHERE saldo > 4000000; Hasil : NO 1 2 3 NAMA Geri Agil Tari NO_KTP SALDO 03124 8.000.000 22870 6.000.000 37662 8.500.000

Perintah di atas akan dipelajari pada bab berikutnya Operasi-operasi SELECT (memilih), INSERT (memasukkan), UPDATE (memperbarui), DELETE (menghapus) - semuanya diperlihatkan dalam bahasa yang disebut SQL (Structured Query Language Bahasa Kunci Terstruktur) dan diucapkan sequel adalah bahasa standard untuk berinteraksi dengan basisdata relasional, dan didukung oleh hampir setiap produk basisdata di pasar saat ini. Perhatikan bahwa SQL menggunakan istilah UPDATE yang berarti berubah secara spesifik. Fakta ini dapat membuat kekeliruan, karena istilah UPDATE juga digunakan dalam tiga operasi INSERT, UPDATE dan DELETE sebagai sebuah

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

14

kelompok. Selanjutnya nanti akan dibedakaan antara kedua arti tersebut. 2.1 Apa Yang Disebut Sistem Basisdata ? Sistem Basisdata pada dasarnya adalah, sebuah

UPDATE

komputerisasi

sistem

penyimpanan rekord; yaitu merupakan sebuah sistem komputerisasi yang tujuan keseluruhannya adalah menyimpan informasi dan mengijinkan pemakai untuk mengambil kembali dan memperbarui informasi tersebut atas permintaan. Lima komponen besar sistem basisdata, yaitu ; 1. Data 2. Hardware (perangkat keras) 3. Software (perangkat lunak) 4. User (pemakai) 5. dan Prosedur
Hardware Software DATA Procedures People

Mesin

Jembatan

Mesin

Gambar 7. Lima komponen DBMS 2.1.1 Data Data merupakan sumber daya yang vital dalam mendukung suatu sistem informasi. Oleh karena itu ketersediaan data yang tepat waktu dan akurat akan sangat membantu keberadaan sistem informasi. Sistem Pemakai Tunggal adalah sebuah sistem dimana paling banyak satu orang dapat membuat akses pada basisdata pada waktu tertentu. Sistem pemakai Banyak adalah sistem dimana banyak pemakai dapat membuat akses pada basisdata pada waktu yang sama.

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

15

Secara umum data dalam basisdata (dalam sistem besar), merupakan keterpaduan dan saling berbagi : Secara terpadu (integrated), basisdata dapat dianggap sebagai sebuah penyatuan dari beberapa berkas berbeda, tetapi kemubajiran data tidak akan terjadi atau hanya terjadi sedikit sekali. Contoh : Berkas PEGAWAI terdiri atas nama, alamat, bagian, dan gaji pegawai, serta atribut-atribut lainnya dan berkas PELATIHAN menyatakan kursus atau pelatihan yang diikuti oleh para pegawai. PEGAWAI PELATIHAN
NAMA ALAMAT BAGIAN GAJI

..

NAMA

KURSUS

Gambar 8. Berkas-berkas pada basisdata bersifat terpadu : Duplikasi terhindari Secara saling-berbagi (shared), masing-masing potongan data dalam basisdata dapat digunakan bersama antara pemakai berbeda. Artinya sesuatu data dapat diakses oleh sejumlah pengguna dalam waktu bersamaan (multiuser). 2.1.2 Hardware (Perangkat Keras) Komponen perangkat keras dari sistem terdiri dari : Media penyimpan sekunder : kebanyakan disk magnetik, yang biasa menyimpan simpanan data, bersama dengan alat-alat I/O terkait (disk drive, dll), pengontrol peralatan, saluran I/O, dsb. Pengolah (processor) : perangkat keras dan memori utama yang terkait yang biasa mendukung pelaksanaan perangkat lunak sistem basisdata.

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

16

2.1.3

Software (Perangkat Lunak) Semua permintaan untuk akses basisdata ditangani oleh DBMS bersama dengan

sistem operasi, juga termasuk di dalamnya adalah perangkat lunak jaringan. Fungsi DBMS menjadi pelindung pemakai basisdata dari detil level-perangkat keras. Bahasa pemrograman/program aplikasi dapat dikategorikan sbb: 1. Bahasa pemrograman generasi ketiga, seperti C++, Fortran, PASCAL, dll 2. Bahasa pemrograman generasi keempat, seperti SQL, Oracle, Sybase, LISP, Informaix, dll. DBMS berkedudukan antara basisdata (data yang disimpan dalam harddisk) dan pengguna. Perangkat lunak inilah yang berperan melayani permintaan-permintaan pengguna. Beberapa perangkat lunak yang sudah dikenal umum adalah : 1. Query Processor : merupakan komponen yang mengubah bentuk query ke dalam instruksi pada database manager. 2. Database Manager : berfungsi menerima query dan menguji untuk menentukan apakah rekord-rekord tersebut dibutuhkan untuk memenuhi permintaan, kemudian database tersebut memanggil file manager untuk menyelesaikan permintaan. 3. File Manager : berfungsi memanipulasi penyimpanan dan mengatur alokasi ruang penyimpanan disk. 4. DML Processor : merupakan modul yang mengubah perintah MDL yang ditempelkan ke dalam program aplikasi dalam bentuk fungsi-fungsi. 5. DDL Compiler : berfungsi mengubah statement DDL menjadi kumpulan tabel atau file yang berisi data dictionary/metadata 6. Dictionary Manager : berfungsi mengatur akses dan memelihara data dictionary. 2.1.4 User (Pemakai) Tiga kelas besar dari pemakai (user) : 1. Programer Aplikasi (application programmer), bertanggung jawab untuk menulis program aplikasi basisdata dalam bahasa program seperti COBOL, PL/I, C++, Java, kebanyakan bahasa level lebih tinggi-generasi keempat.

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

17

2. Pemakai Akhir (end user), yang berinteraksi dengan sistem dari tempat kerja atau terminal online. 3. Basisdata Administrator (DBA) 2.1.5 Procedure Prosedure menghubungkan berbagai perintah, dan aturan-aturan yang akan menentukan rancangan dan penggunaan basisdata. User yang akan mengatur dan merancang basisdata berdasarkan prosedur-prosedur yang didokumentasikan. Dokumentasi tersebut berisi tentang bagaimana cara menggunakan dan menjalankan suatu sistem. Instruksi-instruksi ini dapat terdiri dari : 1. Log on ke DBMS 2. Gunakan fasilitas DBMS yang standar atau program aplikasi 3. Memulai dan mengakhiri DBMS 4. Buat backup dari basisdata tersebut 5. Tangani masalah hardware dan software 6. Ubah struktur tabel, dll 2.2 Apa Yang Disebut Basisdata ? Data Tahan Lama (persistent data). Data dalam sebuah basisdata sebagai tahan lama, bahwa data basisdata berbeda jenis dengan data yang lebih berlangsung singkat, seperti data input, data output dsb data apa saja yang sifatnya sementara. Data dalam basisdata disebut tahan lama, karena setelah diterima oleh DBMS untuk masuk kedalam basisdata, data itu kemudian dapat dipindahkan dari basisdata hanya oleh permintaan yang eksplisit pada DBMS, bukan hanya efek samping dari (misalnya) pelaksanaan program. Basisdata adalah sebuah koleksi dari data yang tahan lama yang digunakan oleh sistem aplikasi dari perusahaan tertentu. Contoh : Perusahaan manufaktur

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

18

Bank Rumah Sakit Universitas Departemen Pemerintahan

Perusahaan apapun haruslah mempertahankan sekumpulan data operasionalnya. Data demikian adalah data tahan lama. Contoh : Data produk Data rekening Data pasien Data mahasiswa Data perencanaan

2.2.1

Hirarki Data. Secara tradisonal, data diorganisasikan kedalam suatu hirarki yang terdiri atas

atribut / elemen data, record / rekaman, file / berkas. Atribut : (istilah lain : medan / field, kolom, item, elemen data). Adalah satuan data terkecil yang tidak dapat dipecah lagi menjadi unit lain. Contohnya pada data kepegawaian, atribut data berupa nama_pegawai, alamat, kota tempat tinggal dan atribut lain yang menyangkut seorang pegawai. Record : (tupel atau baris). Adalah gabungan sejumlah elemen data yang saling terkait. Contohnya nama, alamat, kota dan tanggal_lahir seorang pegawai dapat dihimpun dalam sebuah record.

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

19

File: Himpunan seluruh record yang bertipe sama membentuk sebuah file / berkas. File dapat dikatakan sebagai kumpulan record data yang berkaitan dengan suatu subyek. File

Record

Record

Atribut

Atribut

Gambar 9. Hirarki Data 2.2.2 Entitas dan Relasi Istilah entitas umum digunakan dalam lingkaran basisdata yang memberi arti obyek nyata apapun yang akan disajikan dalam basisdata. Contoh : Suatu perusahaan manufaktur berkeinginan untuk menyimpan informasi tentang proyek yang dimiliki, yaitu : suku cadang yang digunakan dalam proyek itu, pemasok yang menyediakan suku cadang, gudang dimana suku cadang itu disimpan, karyawan yang bekerja pada proyek itu, dst. Disini proyek, pemasok, suku cadang, gudang, karyawan disebut Entitas, sebagai penghubung antar entitas tersebut disebut Relasi.

2.2.3

Properti Entitas termasuk relasi dapat dianggap sebagai memiliki properti, sesuai

informasi yang disimpan.

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

20

Contoh : Pemasok memiliki lokasi, suku cadang memiliki bobot, proyek memiliki prioritas, penugasan (atas karyawan) memiliki tanggal mulai, dst. Properti tersebut harus diwakilkan dalam basisdata.

2.2.4

Abstraksi Data Tujuan utama basisdata adalah menyediakan tinjauan abstrak (abstract view)

mengenai data bagi para user. Artinya, sistem menyembunyikan detail-detail tertentu mengenai bagaimana cara data disimpan dan dirawat ( stored dan maintained). Walaupun demikian, data tetap harus dapat diambil secara efisien. Pertimbangan efisiensi mengarah pada bagaimana merancang struktur data yang kompleks tetapi dapat digunakan oleh personil yang awam, tanpa harus mengetahui kompleksitas/kerumitan struktur data tersebut. Hal ini dapat dicapai dengan menentukan beberapa tingkatan abstraksi dalam memandang suatu basisdata. Tingkatan abstraksi data adalah sbb : Tingkatan Tinjauan (View Level) : merupakan level abstraksi tertinggi yang mendeskripsikan bagian tertentu dari keseluruhan basisdata. Pada level ini dapat terjadi lebih dari satu tinjauan yang dapat digunakan oleh user basisdata. Tingkatan Konseptual (Conseptual Level) : merupakan level abstraksi yang lebih rendah yang memberikan deskripsi tentang data apa (what) yang sebenarnya perlu disimpan, serta tentang hubungan-hubungan/relasi-relasi (relationship) yang ada antar data secara keseluruhan. Level ini biasa digunakan oleh administrator basisdata yang menentukan informasi apa yang harus disimpan dalam basisdata. Tingkatan Fisik (Physical Level) : merupakan level abstraksi terendah memberikan deskripsi yang detail tentang bagaimana (how) data disimpan secara aktual. Level ini umum digunakan oleh pakar software dan hardware.

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

21

Tinjauan 1

Tinjauan 2

...........

Tinjauan n

Konseptual

Fisik

Gambar 10. Tingkatan Abstraksi

2.2.5

Data dan Model Data Kata Data berasal dari bahasa Latin memberi, jadi data itu sesungguhnya adalah

fakta yang diberikan. Model data adalah suatu kesimpulan terlengkap konseptual untuk memaparkan : data, hubungan (relasi) antar data, semantika (makna logika) data dan kendala-kendala data. Ada tiga kelompok yang berbeda dari model data : 1. Model Logik berbasis obyek 2. Model Logik berbasis record 3. Model Data Fisikal pada level terendah (fisikal) tak akan dibahas. 2.2.5.1 Model Logik Berbasis Obyek Mendeskripsikan data pada level konseptual Dicirikan oleh ketersediaan kemampuan strukturisasi yang fleksibel dan memungkinkan spesifikasi kendala/batasan (constrains) secara eksplisit. Beberapa model data dalam kelas ini yang dikenal luas adalah : Model hubungan entiti (entity relationship model) Model berbasis obyek (obyek oriented model) Model biner Model data semantik pada level konseptual dan tinjauan

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

22

2.2.5.2

Model infological Model data fungsional

Model Logikal Berbasis Record Digunakan mendeskripsikan data pada level tinjauan dan konseptual. Model ini

tidak menyediakan fasilitas untuk spesifikasi kendala-kendala (constrains) secara eksplisit. Tiga model dalam kelas ini yang dipakai secara luas adalah : 2.2.6 Model relasional Model jaringan (network) Model hirarki (hierarchical)

Administrasi Data dan Administrasi Basisdata Adalah sekelompok sumber daya yang akan mengelola data beserta DBMS nya.

2.2.6.1 berupa:

Data Administrator Data Administrator akan bertanggung jawab dalam mengelola sumberdaya Perencanaan basisdata Pemeliharaan dan peremajaan suatu standarisasi formal yang berlaku Menentukan kebijakan-kebijakan, prosedur formal, merancang basisdata logic (Logical Database)

2.2.6.2

Database Administrator (DBA) Database Administrator akan bertanggungjawab dalam mengelola sumberdaya

fisik dari sistem basisdata berupa : Bertanggung jawab terhadap seluruh informasi yang berada di dalam database Bertanggung jawab terhadap strategi pengaksesan data dan mengorganisasikan file di dalam media penyimpanan. Sebagai media penghubung/perantara dengan user

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

23

Memiliki otoritas pengecekan dan menjalankan prosedur validasi Bertanggung jawab terhadap strategi backup dan peremajaan data Mengontrol performasi data dan berhak memberi tanggapan atas usulanusulan perubahan dan peremajaan data

SOAL 1. Apa beda Data dan Informasi 2. Apa perbedan Sistem Basisdata dan Basisdata 3. Berikan contoh Data Integrated dan Data Shared 4. Bagaimana cara Bank memproses suatu Sistem Pengolahan File ( file processing system) pada unit tertentu yang didukung oleh sistem operasi (OS) konvensional. 5. Sistem yang dijelaskan pada soal No.4 di atas memiliki sejumlah kelemahan, jelaskan ! 6. Ada 4 keunggulan DBMS, jelaskan 7. Sebutkan keuntungan basisdata terhadap sistem pemrosesan berkas.

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

24

BAB III ARSITEKTUR SISTEM BASISDATA

3.1

Arsitektur Tiga Level Aritektur basisdata terbagi menjadi 3 tingkatan : Level Internal (juga dikenal sebagai level fisik) adalah level yang terdekat dengan penyimpanan fisik, yaitu : yang memperhatikan cara data disimpan secara fisik. Level Eksternal (juga dikenal sebagai level pemakai) adalah level yang terdekat dengan pemakai, yaitu : yang memperhatikan cara data dilihat oleh pemakai individual. Level Konseptual (juga dikenal sebagai level logika komunitas) adalah sebuah level tidak langsung diantara dua lainnya.

3.2

Data Independence Data Independence merupakan salah satu kelebihan sistem database dimana DBA

dapat mengubah struktur storage dan strategi akses dalam pengembangan sistem database tanpa mengganggu program-program aplikasi yang sudah ada. Data Independence terdiri dari dua tingkat : Logical Data Independence Merupakan conceptual schema (skema konseptual) yang dapat diubah tanpa mempengaruhi external schema (skema eksternal). Perubahan terhadap conceptual schema seperti penambahan dan pemindahan entitas, atribut, ataupun relasi, tanpa mengubah external schema yang telah ada. Physical Data Independence Adalah internal schema yang dapat diubah tanpa mengganggu conceptual schema. Perubahan terhadap internal schema seperti penggunaan organisasi file atau struktur penyimpanan yang berbeda. Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP 25

Skema Eksternal Eksternal/Konseptual Mapping

Skema Eksternal

Skema Eksternal

Logical data independence

Skema Konseptual Konseptual/Internal Mapping Logical data independence

Skema Internal

Gambar 11. Data Independence dan Tiga Level Arsitektur

3.2.1

Abstraksi Hubungan antara User pada DBMS dengan Physical Database

Pemakai
Kejadian pada record eksternal

User Interface DBMS Store Record Interface

Kejadian pada record penyimpanan

Metode Pengaksesan
Kejadian pada record fisik

Physical Record Interface Basis Data

(Blocks)

Gambar 12. Arsitektur Database

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

26

3.3

Arsitektur DBMS untuk Multiuser Suatu database digunakan untuk mengatasi masalah-masalah pada penyusunan

data diantaranya adalah masalah multiple user. Dalam rangka mempercepat semua daya guna sistem dan mendapat responsi waktu yang cepat, beberapa sistem mengizinkan banyak pemakai untuk mengupdate data secara simultan. Alasan mengapa database dibangun adalah data tersebut nantinya akan dipergunakan oleh banyak orang dalam waktu yang berbeda atau diakses oleh program yang sama, namun berbeda orang dan waktu. USER I USER II USER III USER IV

BAHASA PEMROGRAMAN

BAHASA PEMROGRAMAN

BAHASA PEMROGRAMAN

BAHASA PEMROGRAMAN

Pandangan Eksternal user

Pandangan Eksternal user

DBA

PANDANGAN KONSEPTUAL

DBM

SS
Pemetaan Secara Fisik / Internal

Gambar 13. Arsitektur DBMS untuk Multiuser

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

27

3.3.1

Administrator Basisdata Bertanggungjawab untuk keseluruhan kontrol sistem pada level teknis. Secara

umum tugas DBA adalah sebagai berikut : 3.4 Mendefinisikan skema konseptual Mendefinisikan skema internal Hubungan dengan para pemakai Mendefinisika batasan keamanan dan integritas Mendefinisikan kebijakan pencadangan dan pemulihan kembali (dump & reload) Memantau kinerja dan merespon perubahan persyaratan.

Implementasi Basisdata Tahapan implementasi sistem mencakup pengkodean program, pengujian

program, pemasangan program, dan juga pelatihan kepada pengguna. Tahap ini merupakan suatu upaya untuk membangun basisdata fisik yang ditempatkan dalam memori sekunder (disk) dengan bantuan DBMS. Diawali dengan melakukan transformasi dari model data yang telah selesai dibuat ke skema/struktur basisdata sesuai dengan DBMS yang dipilih. Secara umum, sebuah diagram E-R akan dipresentasikan menjadi sebuah basisdata secara fisik, sedangkan komponen-komponen diagram E-R yang berupa himpunan entitas dan himpunan relasi akan ditransformasikan menjadi tabel-tabel (filefile data) yang merupakan komponen utama pembentuk basisdata. Selanjutnya atributatribut yang melekat pada masing-masing himpunan entitas dan himpunan relasi akan dinyatakan sebagai field-field dari tabel-tabel yang sesuai. Implementasi dari sebuah perancangan basisdata yang telah selesai dilakukan hanya bermanfaat secara langsung bagi para pemakai mahir (nave user), tapi bukan untuk para pemakai akhir (end-user).

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

28

3.5

DBMS dan Struktur Tabel Dalam menentukan struktur tabel, terdapat pilihan-pilihan, antara lain : Data Angka Berupa Numerik atau Alfanumerik (teks). Dalam hal ini sering ditemukan adanya field yang isinya berupa angka tapi tidak menunjukkan suatu jumlah. Data demikian kurang cocok kalau dianggap sebagai data numerik, tapi lebih cocok kalau dianggap sebagai data alfanumerik, sehingga akan lebih fleksibel dan tampilannya akan lebih mudah diatur. Data Numerik Merupakan bilangan bulat (integer) atau bilangan nyata (real), Integer merupakan pilihan pertama untuk tipe data numerik. Namun jika data untuk sebuah field tidak selalu bernilai bulat atau dominan nilainya di luar range barulah tipe real dijadikan sebagai pilihan. Data Bilangan Bulat (Integer) Ada beberapa pilihan untuk bilangan bulat. Byte merupakan pilihan pertama (dengan dominan nilai 0-255), tetapi jika dominan nilai tersebut tidak memadai, maka dapat dimanfaatkan bilangan bulat berikutnya. Data Bilangan Nyata Berupa single (4 byte) atau double (8 byte). Tipe data single dapat menampung hingga tujuh digit pecahan sedangkan double hingga 15 digit pecahan. Data integer akan memerlukan waktu lebih cepat daripada data real, single juga lebih cepat pengolahannya daripada data double. Sejumlah DBMS juga menyediakan feature (perangkat) tambahan seperti

mandatory (harus diisi), null (boleh kosong) dan nilai default. Pastikan apakah sebuah field harus memiliki data atau boleh dikosongkan. Fieldd-field yang berfungsi sebagai key tentu saja harus memiliki data dan tidak boleh ada row (baris data) dalam tabel yang nilai keynya kosong (null). Field inilah yang bersifat mandatory.

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

29

Skema dan pemetaan sumber

Permintaan DML terencana

Permintaan DML (tidak terencana)

Pemroses DDL

Pemroses DDL

Pemroses Bahasa Kunci

Susunan permintaan Skema sumber, obyek dan pemetaan Menjalankan batasan keamanan dan integritas

Optimisator

Permintaan yang dioptimalkan

Manajer saat-jalan

Metadata

Basisdata

data
Metadata (kamus data)

Gambar 14. Fungsi dan Komponen Utama DBMS

3.6

Indeks dan Struktur Penyimpanan Salah satu ciri dari basisdata relasional adalah keberadaan key yang disamping

berfungsi untuk menjamin keunikan entitas dalam tabel juga akan menjadi acuan dalam melakukan pencarian / pengaksesan data. Pada tahap implementasi, atribut-atribut entitas / relasi yang ditetapkan sebagai key akan direpresentasikan sebagai indeks primer dan sekunder.

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

30

3.6.1 Indeks Primer (Primary Index) Indeks primer pada setiap tabel hanya ada satu dan berasal (ditentukan) dari key primer yang telah ditetapkan oleh sebuah entitas/relasi karena ada kemungkinan indeks primer tidak berasal dari key primer yang seharusnya. Contoh :

Kode_bar Kode_distr Kode_distr Distributor No_penjualan

Penjualan

Barang

Tgl_jual Harga_jual

Jumlah Kode_bar

Gambar 15. Diagram Index Primer Dengan adanya relasi banyak ke banyak (M-to-M) maka relasi penjualan akan diimplementasikan menjadi sebuah tabel khusus. Sesuai dengan diagram E-R di atas, key primer dari relasi tersebut adalah kode_distr + kode_bar yang berasal dari himpunan entitas yang dihubungkannya. Jika ditambah dengan atribut : tgl_penjual, maka key primernya adalah kode_distr + kode_bar + tgl_penjual, dan sebagai indeks primernya adalah field no penjualan, dan indeks sekunder adalah field kode_distr + kode_bar + tgl_jual. Kriteria indeks yang baik adalah sebagai berikut : 1. Field yang menjadi komponen indeks primer harus bersifat mandatory (datanya tidak boleh kosong atau berisi nilai null) 2. Keseluruhan nilai indeks primer bersifat unik 3. Nilai-nilainya lebih permanen 4. Berukuran kecil

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

31

3.6.2

Indeks Sekunder Digunakan untuk mendukung /melengkapi keberadaan indeks primer yang

sengaja dibuat untuk suatu tabel dengan alasan untuk mempercepat berbagai pengaksesan ke suatu tabel. Tidak seperti indeks primer, jumlah indeks sekunder yang dapat dibuat untuk setiap tabel boleh lebih dari satu nilai field. Pembentukan nilai sekunder ini juga tidak disyaratkan untuk selalu bersifat unik, karena fungsinya hanya untuk mempermudah pencarian dan bukan untuk pengidentifikasian keunikan. 3.6.3 Struktur Penyimpanan (Storage Structure) Kecepatan akses dan manipulasi data dipengaruhi oleh struktur penyimpanan (storage structure). Structure peyimpanan yang dimaksud disini adalah yang berkaitan dengan cara penempatan (penyusunan) baris-baris data setiap tabel. Ada 6 pilihan struktur penyimpanan dasar yang diterapkan pada suatu tabel (Gio Wiederhold), yaitu: Pile, Heap, Hash, Sekuensial Berindeks, File Berindeks dan Multiring. Yang paling umum adalah Heap dan Sekuensial Berindeks HEAP merupakan struktur penyimpanan yang paling sederhana dengan keunggulan sbb: 1. Hemat dalam membutuhkan ruang penyimpanan. 2. Setiap baris data disusun berdasarkan kronologis penyimpanannya 3. Data (record) yang pertama disimpan akan ditempatkan di posisi awal ruang penyimpanan. 4. Jika terjadi penghapusan, maka record-record di bawahnya akan segera dimanfaatkan untuk mengisi tempat yang kosong akibat penghapusan tersebut. Kelemahan HEAP antara lain sebagai berikut : 1. Pencarian data terhadap tabel akan berjalan dengan lambat karena selalu dilakukan secara sekuensial 2. Struktur Heap lebih cocok untuk tabel-tabel yang berukuran kecil dan jarang berubah, dan tidak cocok untuk tabel yang berukuran besar atau

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

32

yang bersifat dinamis (mudah berubah) atau yang sering menjadi referensi (acuan) bagi tabel-tabel lain. HASH merupakan struktur penyimpanan yang menempatkan baris data berdasarkan nilai alamat fisik yang diperoleh dari hasil perhitungan terhadap nilai key-nya. Struktur penyimpanan Hash cocok untuk tabel-tabel yang sering menjadi acuan bagi tabel-tabel lain. Hash memberikan performasi yang paling baik (dibandingkan dengan struktur lain) dalam hal pencarian data tunggal berdasarkan nilai key. Cocok untuk tabel berukuran besar atau yang sering diakses dengan pencarian data kelompok.. Kelemahan lain adlah kebutuhan ruang penyimpanan awal. SEKUENSIAL BERINDEKS merupakan struktur penyimpanan yang

menempatkan data dengan urutan tertentu di dalam tabel. Struktur penyimpanan ini cocok untuk Tabel yang bersifat statis, dan lebih baik dari struktur Hash, jika lebih sering menggunakan pencarian data kelompok pada suatu tabel. FILE BERINDEKS merupakan struktur penyimpanan yang dikembangkan dari struktur Heap. Dalam struktur ini baris data tetap disusun sebagaimana kronologis penyimpanannya (sama seperti Heap). Struktur penyimpanan ini cocok untuk tabel yang dinamis dan tabel yang berukuran besar. 3.7 Arsitektur Klien / Server Sistem Basisdata dapat dianggap sebagai memiliki struktur dua bagian yang amat sederhana, terdiri dari sebuah server (backend) dan sebuah kumpulan klien (frontends) Server adalah DBMS itu sendiri, yang mendukung semua dasar fungsi DBMS yaitu, definisi data, manipulasi data, keamanan dan integritas data dsb. Klien adalah beragam aplikasi yang bekerja di atas DBMS, baik aplikasi yang ditulis pemakai maupun aplikasi yang disediakan oleh penjual DBMS.

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

33

Pemakai Akhir

Aplikasi

Klien Server

DBMS

Basisdata

Gambar 16. Arsitektur klien / server 3.8 Proses Terdistribusi (Distributed Processing) Sistem Basisdata dapat dianggap sebuah server (DBMS itu sendiri) dan sebuah kumpulan klien (aplikasi). Secara umum, setiap server dapat melayani banyak klien, dan setiap klien dapat mengakses banyak server. Sistem Basisdata Terdistribusi yang benar adalah jika sistem menyediakan transparansi total, berarti bahwa setiap klien dapat berlaku seolah berhadapan dengan sebuah server tunggal pada sebuah mesin tunggal. ............
Mesin Klien Jaringan Kerja Komunikasi

Mesin Server

Gambar 17. Satu mesin server, banyak mesin klien

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

34

Klien Server Klien Server Klien Server

Jaringan Kerja Komunikasi

Klien Server Klien, Server, jaringan kerja komunikasi

Klien Server

Gambar 18. Setiap mesin menjalankan baik klien dan server

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

35

BAB IV MODEL DATA

4.1

Pengantar Model Data Model Data adalah sekumpulan konsep yang terintegrasi untuk menggambarkan /

merancang data dan hubungan antara data dengan batasan-batasan data dalam suatu organisasi atau enterprise. Model data suatu organisasi harus dapat mencerminkan organisasi tersebut. Tujuan model data adalah untuk merepresentasikan data dan membuat dapat dipahami dengan mudah. Dengan demikian, maka data akan sangat mudah digunakan dalam merancang suatu basisdata. Terdapat banyak model data yang dibahas dalam berbagai literatur. Model data tersebut terbagi ke dalam tiga kategori, yaitu sbb: Model data berbasis objek (object-based data model) Model data berbasis record (record-based data model) Model data fisik (physical data model) Model Logika Model Data Model Fisik Gambar 19. Struktur / bentuk Model Data Basis Objek Basis Record

4.2

Model Data Berbasis Objek Model data ini menggunakan konsep entitas, atribut, dan relationship. Entity

adalah suatu apa saja yang ada di dalam sistem, nyata maupun abstrak dimana data tersimpan atau dimana terdapat data. Entitas diberi nama dengan kata benda dan dapat dikelompokkan dalam empat jenis nama, yaitu orang, benda, lokasi, kejadian (terdapat Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP 36

unsur waktu di dalamnya), sedangkan atribut merupakan relasi fungsional dari satu object set ke object set yang lain. Relationship adalah hubungan alamiah yang terjadi diantara entitas. Model data berbasis objek memiliki beberapa bentuk sebagai berikut : 1. Model Entity Relationship 2. Model Data Semantik 3. Model Data Fungsional 4. Model Data Berbasis Objek Model Entity Relationship merupakan salah satu teknik utama untuk merancang basisdata konseptual. Sedangkan model data berbasis objek memperluas pemahaman tentang suatu entitas yang mencakup berbagai aktivitas yang berinteraksi dengan objek (karakteristik dari objek dan entitas). 4.3 Model Data Berbasis Record Model data dan hubungannya dengan sublanguage (bahasa untuk memanipulasi) data adalah pemahaman dasar yang harus dimiliki demi mencapai implementasi data independence. Model data dan sublanguage data seperti apa yang akan digunakan ? Terdapat tiga pendekatan yang dapat digunakan untuk mengatasi masalah tersebut, yaitu : 1. Pendekatan Hirarki (Model Data Hirarki) 2. Pendekatan Jaringan (Model Data Jaringan) 3. Pendekatan relasional (Model Data Relasional) 4.3.1 Model Data Hirarkhikal (Hierarchical Data Model) Biasa disebut model pohon, menggunakan pola hubungan orangtua anak. Setiap simpul (dinyatakan dengan lingkaran atau kotak) menyatakan sekumpulan medan. Simpul yang terhubung pada simpul di bawahnya disebut orangtua. Setiap orangtua bisa memiliki satu atau beberapa anak, tetapi setiap anak hanya memiliki satu orangtua. Model Hirarki dapat menunjukkan hubungan (kardinalitas antar entitas) one-toone dan one-to-many. Namun tidak dapat menunjukkan hirarki / hubungan many-tomany. Hal inilah yang menjadi salah satu kelemahan model ini.

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

37

4. 3.2 Model Data Jaringan (Network Data Model) Menyerupai model hirarkis, dengan perbedaan suatu simpul anak bisa memiliki lebih dari satu orangtua. Pada model jaringan dapat menunjukkan hubungan (kardinalitas antara entitas) one-to-one, one-to-many dan many-to-many 4.3.3 Model Data Relational (Relational Data Model) Merupakan model yang paling sederhana sehingga mudah digunakan dan dipahami oleh pengguna, serta merupakan yang paling populer saat ini. Model ini menggunakan sekumpulan tabel berdimensi dua (yang disebut relasi atau tabel), dengan masing-masing relasi tersusun dari tupel atau baris dan atribut. Note - Relasional - Tuple - Atribute - Degree - Domain = tabel = baris / record = kolom / field = jumlah kolom = sekumpulan data

- Cardinality = jumlah baris

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

38

BAB V ALJABAR RELASIONAL DAN KALKULUS RELASIONAL

Bahasa manipulasi adalah bahasa yang digunakan untuk mengekspresikan modifikasi ataupun query terhadap data yang terkandung dalam suatu database relasional. Berdasarkan metode ekspresinya bahasa manipulasi terbagi menjadi dua, yaitu : Bahasa Prosedural, yaitu bahasa yang ekspresinya menyatakan How (bagaimana) langkah-langkah untuk melakukan manipulasi yang dikehendaki. Bahasa Non Prosedural , yaitu bahasa yang ekspresinya menyatakan What (apa) yang perlu dimanipulasi. Aljabar Relasional dan Kalkulus Relasional adalah contoh bahasa manipulasi untuk basisdata relasional. 5.1 Aljabar Relasional Termasuk dalam kategori bahasa prosedural yang menyediakan seperangkat operator untuk memanipulasi data. Terdapat 2 operator yang digunakan dalam aljabar relasional, yaitu : Operator Dasar : (untuk Fundamental Operation) 1. Select 2. Project notasi : notasi :

3. Cartesian Product notasi : X 4. Union 5. Difference 6. Rename notasi : U notasi : notasi :

Ke-enam operasi dasar tersebut bersifat tertutup terhadap relasi, artinya bahwa aplikasi operator-operator tersebut terhadap relasi akan menghasilkan relasi baru.

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

39

Operation)

Operator Tambahan

(Non-Dasar) : (untuk Additional

Merupakan operator yang selalu dapat diturunkan (diderivasi) dari operatoroperator dasar. Operator tambahan digunakan untuk menyederhanakan /meringkas operasi-operasi yang panjang dan kompleks. Beberapa operator tambahan adalah : 1. 2. 3. 4. Intersection Theta Join Natural Join Division notasi : notai : notasi : notasi :

Karena semua operator tambahan selalu dapat diturunkan dari operator-operator dasar, maka semua operator tambahan juga bersifat tertutup terhadap relasi. 5.1.1 Operator Dasar Aljabar Relasional 1. Selection (), = Lower-Case Omega Memilih secara horizontal. Digunakan untuk mencari / memilih rekord yang memenuhi predikat / kondisi tertentu. Contoh : a) kota = Bogor (Nasabah) Berarti mencari semua rekord dari tabel Nasabah yang tinggalnya di kota Bogor. b) saldo 4000000 Status = Saving (Rekening) Berarti mencari semua rekord dari tabel Rekening yang Saldonya 4000000 dan status rekeningnya adalah Saving. Hasil kueri a) dan b) juga berupa tabel tetapi hanya berisi rekord-rekord yang memenuhi kondisi di atas. 2. Operasi Project ()

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

40

Memilih secara vertikal. Digunakan untuk memilih kolom / atribut tertentu untuk ditampilkan. Contoh : a) nama, No_KTP (Nasabah) Berarti menampilkan semua rekord dari file Nasabah dengan hanya memilih atribut nama dan no_KTP nya saja. Kolom / atribut Jalan dan Kota tidak ditampilkan. b) nama, No_KTP (kota = Bogor (Nasabah)) Berarti menampilkan Nama dan No_KTP semua nasabah yang tinggalnya di kota Bogor. Hasil kueri a) dan b) juga berupa tabel dengan 2 kolom. 3. Cartesian Product (X) Digunakan untuk merelasikan semua rekord-rekord dari dua tabel atau lebih dalam 1 query. Contoh : Jika diketahui 2 tabel A dan B seperti berikut: A X a d g Y b e h Z c f i B X a d g W t v u

Maka operasi A x B menghasilkan :

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

41

(a, t) (a, b, c)

(a, b, c, a, t)

(d, v) (a, b, c, d, v) (g, u) (a, b, c, g, u) (a, t) (d, e, f, a, t) Hasil AxB

(d, e, f)

(d, v) (d, e, f, d, v) (g, u) (d, e, f, g, u) (a, t) (g, h, i, a, t)

(g, h, i)

(d, v) (g, h, i, d, v) (g, u) (g, h, i, g, u)

Hasil AxB A.X a a a d d d g g g Y b b b e e e h h h Z c c c f f f i i i B.X a d g a d g a d g W t v Jadi jika ada kueri u Y, Z, W (AX = BX(AxB)) t Akan menghasilkan Tabel v sebagai berikut : u Y Z W t b c t v e f v u h i u

4. Union (U) Digunakan untuk operator binary, akan membentuk relasi baru dengan tuple-tuple yang terdapat di kedua relasi tersebut : R = R1 U R2, dimana R1,R2 dan R3 adalah relasi-relasi. Operasi ini dapat dilaksanakan jika R1 dan R2 mempunyai arity yang sama sehingga jumlah komponennya sama.

Contoh :

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

42

R1 A a d c B b a b C c f d

R2 A b d B a a C g f

R = R 1 U R2 A a d c b B b a b a C c f d g

5. Difference () Operator ini berfungsi untuk mengeliminasi entity / rekord dari suatu tabel yang ada pada tabel lain, dan kedua tabel harus memiliki atribut yang sama. Operator ini mempunyai sintaks / formula : [tabel 1] - [tabel 2] 6. Rename () Operator yang berfungsi menyalin tabel lama menjadi tabel dengan nama baru, sintaks formulanya adalah : [new Nama] [old Nama]

5.1.2

Operator Tambahan (Non Dasar) : 1. Intersection () Operator ini dapat di derivasi dari operator dasar, sebagai berikut : A B = A (A B) atau A B = B (B A) Operator ini merupakan binary operation yang digunakan untuk membentuk sebuah relasi baru dengan tuple yang berasal dari kedua relasi yang di hubungkan, misalnya : R1 = (e1, e2, ....., en), R2 = (t1, t2, ....., tn) Maka R = R 1 R2 , akan menghasilkan relasi R dengan elemen yang terdapat di R1 dan R2 . Contoh : R1 A B C R2 A B C R = R 1 R2 A B C 43

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

a d c

b a b

c f d

b d

a a

g f

2.

Theta Join (

):

Merupakan operator yang menggabungkan operasi Cartesian Product dengan operasi Selection. Contoh : RELATION : DEPOSIT
BRANCH-NAME DOWNTOWN PERRYRIDGE *ACCOUNT 101 102 CUSTOMER-NAME JOHNSON HAYES BALANCE 500 400

RELATION : BORROW
BRANCH-NAME DOWNTOWN PERRYRIDGE *LOAN 17 15 CUSTOMER-NAME JOHNSON HAYES AMOUNT 1.000 1.500

RELATION :CLIENT
CUSTOMER-NAME JOHNSON HAYES EMPLOYEE-NAME JOHNSON JONES

RELATION : CUSTOMER
CUSTOMER-NAME JOHNSON HAYES STREET ALMA MAIN CITY PALO ALTO HARRISON

RELATION : BRANCH
BRANCH-NAME DOWNTOWN PERRYRIDGE ADDRESS BROADWAY 5 TiL BRANCH-CITY BROOKLYN BROOKLYN ASSETS 2.000.000 150.000

Misal : Cari semua customer pada cabang Perryridge yang mempunyai Loan pada cabang tersebut, sekalian mendapatkan kota tempat tinggalnya.

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

44

Untuk menjawab query di atas, lakukan operasi Cartesian Product terhadap relation BORROW & CUSTOMER, kemudian lakukan operasi Selection terhadap tuple-tuple yang diinginkan, dengan relation algebra sbb:

BORROW.CUSTOMER-NAME, CUSTOMER.CITY (P(BORROWxCUSTOMER))


Dimana P merupakan Predicate, yaitu : P = BORROW.BRANCH-NAME = PERRYRIDGE BORROW.CUSTOMER-NAME = CUSTOMER.CUSTOMER-NAME Untuk menyederhanakan penulisan operasi di atas, digunakan operator Theta-Join, simbol Dimana : berikut :

adalah simbol join adalah simbol sebagai pengganti predicate pada selection

Sehingga operasi di atas dapat ditulis dengan operator Theta Join sebagai

BORROW.CUSTOMER-NAME, CUSTOMER.CITY ((BORROW


Dimana adalah Predicate, yaitu : BORROW.BRANCH-NAME = PERRYRIDGE

CUSTOMER))

BORROW.CUSTOMER-NAME = CUSTOMER.CUSTOMER-NAME Dari uraian di atas, bila R1 dan R2 adalah Relation, sedangkan adalah Predicate, maka operator-operator Theta Join bentuk umumnya adalah : R1 R2 =

( R1 x R2 )

3.

Natural Join (

):

Merupakan operator yang melakukan operasi penggabungan terhadap tuple-tuple dari relation-relation yang dioperasikan. Misal : R1 dan R2 adalah relation yang mempunyai beberapa atribute/kolom yang sama.

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

45

Hasil operasi Natural Join adalah operasi Cartesian Product dari tupletuple di relation R1 dan R2, tetapi dipilih isi kolom di relation R1 dan R2 yang atribute dan valuenya sama, yang dikenakan operasi tersebut. Natural Join dapat digambarkan sebagai berikut : Relation R1 A a d b c B b b b a C c c f d Relation R2 B b b a a C c c d d D d e b b A a a d d c R1 B b b b b a R2 C c c c c d D d e d e b

Untuk mencari data Customer yang memiliki Loan pada beberapa cabang, berikut data kota tempat Customer tersebut tinggal, Relation Algebranya:

BORROW.CUSTOMER-NAME, CUSTOMER.CITY (BORROW


NAME-CUSTOMER.CUSTOMER-NAME

BORROW.CUSTOMER-

CUSTOMER)

Ekspresi di atas dapat disederhanakan penulisannya dengan operator Natural Join sebagai berikut :

CUSTOMER-NAME, CITY (BORROW

CUSTOMER)

Karena Relation Borrow & Customer, keduanya memiliki atribut yang sama, yaitu Customer-Name, maka Natural Join hanya mengambil tupletuple dari kedua realation tersebut yang data value dari atribut Customer Namenya sama. Contoh lainnya : Cari informasi mengenai Customer, beserta kota tempat tinggalnya, bagi Customer-Customer yang mempunyai Loan pada cabang PERRYRIDE, Relational Algebranya adalah sebagai berikut :

CUSTOMER-NAME, CITY (BRANCH-NAME=PERRYRIDE (BORROW


CUSTOMER) 4. Division () Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP 46

Merupakan operasi pembagian atas tuple-tuple dari 2 relation Misal : R1 sebuah relation dengan Arity R, dan R2 sebuah relation dengan Arity S, maka operator Division dengan simbol , akan menghasilkan relation baru dengan Arity R-S. Division dapat digambarkan sebagai berikut : Relation R1 = R R2 = S R=RS A a e B b d A B C D C D a b c d c d a b e f e f b c e f e d c d e d e f a b d e Secara matematis dapat ditulis sebagai berikut : Misal Relation R dengan atribut r dan relasi S dengan atribut s, dimana s r, maka relation R S adalah sebuah relation dengan tuple-tuple sbb : tr[S] = ts[S] tR[R-S] = tS[R-S] Operator Division dapat ditulis dengan menggunakan operator-operator dasar sbb : R S = r-s (R) - r-s ((R) x S) R) Disederhanakan menjadi : R S = r-s ((r-s (R) x S) R) Contoh : Cari semua Customer yang mempunyai Account pada semua cabang berlokasi di Brooklyn. Relational Algebranya : R1 = BRANCH-NAME (BRANCH-CITY = BROOKLYN (BRANCH)) Cari Customer-customer, berikut kotanya, bagi yang mempunyai Account pada cabang. Relational Algebranya : Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP 47

R2 = CUSTOMER-NAME, BRANCH-NAME(DEPOSIT) Cari Customer pada R2, yang BRANCH-nya ada pada R1, menggunakan Division operator sbb : R1 R2 Atau

CUSTOMER-NAME, BRANCH-NAME(DEPOSIT) BRANCH-NAME (BRANCH-CITY = BROOKLYN (BRANCH))

5.2

Kalkulus Relasional Kalkulus Relasional merupakan Non-Procedural Language, dimana dalam

mendapatkan informasi yang diinginkan dari sebuah Database, user hanya memberikan deskripsi formalnya saja, tanpa spesifikasi tentang bagaimana urutan-urutan proses untuk mendapatkan informasi tersebut. Terdapat 2 bentuk Kalkulus Relasional, yaitu : 1. Tuple Relational Calculus Pada Relational Tuple Calculus, variabel-variabelnya merepresentasikan value dan tuple-tuplenya. Query pada sebuah Tuple Calculus, direpresentasikan sebagai berikut : {t P(t) }, yaitu: Sejumlah tuple dari seluruh tuple t, dimana Predikat P adalah TRUE untuk tuple tersebut. Simbol lainnya, yaitu : t [A] : menyatakan value tuple t pada atribut A t r : menyatakan tuple t berada pada relation r Contoh : Cari Branch-Name, Loan Number, Customer Name dan Amount untuk Loan di atas 1200. Ekspresi Relational Tuple Calculusnya : { t t BORROW t AMOUNT 1200 < }

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

48

2. Domain Relational Calculus Pada Relational Domain Calculus, variabel-variabelnya merepresentasikan domain-domainnya, sedangkan operasi-operasinya mirip dengan Tuple Relational Calculus. Contoh : Pilih Branch-Name, Loan, Cutomer-Name, Amount, untuk pinjaman di atas 1200, maka ekspresinya : { < b, l, c, a > < b, l, c, a > BORROW a > 1200 } Cari Customer yang Loannya lebih besar dari 120, maka ekspresinya : { <c> b, l, a ( < b, l, c, a > BORROW

a > 1200)}

Cari Customer serta kota tempat tinggalnya, bagi Customer yang mempunyai Loan pada cabang PERRYRIDGE, maka ekspresi Domain Kalkulusnya sbb: { <c, x> b, l, a ( < b, l, c, a > BORROW

y ( <c, y, x> CUSTOMER ))}

b = PERRYRIDGE

BAB VI BAHASA QUERY KOMERSIAL Bahasa query adalah bahasa yang dapat digunakan untuk mencari informasi di dalam suatu basisdata (database). 6.1 SQL (Structured Query Language) Nama awalnya adalah Sequel. Merupakan bahasa kueri prosedural yang sudah banyak disediakan dibeberapa paket software (contoh: Q + E di Microsoft Excel 4.0 dan SQL pada Visual Basic).

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

49

Dibangun dengan basis aljabar relasional dan memberikan bahasa query tingkat tinggi (a high level query language). SQL dapat dipakai sebagai pengganti program aplikasi untuk pelacakan data. Bahkan SQL dapat utilisasi oleh program aplikasi agar dapat meminimasi upaya pemrograman. Pada dasarnya SQL ini dapat dipandang sebagai menu yang bersifat dinamik, artinya memungkinkan untuk menyediakan fasilitas pelacakan informasi yang bersifat adhoc yang dibutuhkan mendadak dan bervariasi. Tabel VI.1 Aljabar Relasional Operator SQL vs operator Aljabar Relasional SQL AND OR <> or >< >= <=

Format SQL Format SQL hanya terdiri dari 3 kata kunci utama: SELECT atribut1, ..... , atributm FROM tabel1, ..... , tabeln WHERE kondisi_yang_dikehendaki Format kueri SQL tersebut ekuivalen dengan ekspresi pada Aljabar Relasional sbb :

atribut1, ..... , atributm (p (tabel1 x tabel2 x ..... x tabeln ))


Contoh Penggunaan SQL : NASABAH. DBF NO_KTP NAMA_JALAN 22870 Sindanglaya 48616 Merdeka 03124 Tajur 37662 Harupat

1 2 3 4

NAMA Lila Kudang Komang Yosi

KOTA Bogor Bogor Bogor Bogor

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

50

1 2 3 4 5 6 Kueri :

REKENING. DBF NO_REK STATUS SALDO 012.145 Checking 8,000,000 771. 225 Checking 3,000,000 315. 222 Saving 4,000,000 342. 256 Checking 6,000,000 511. 333 Saving 1,000,000 122. 003 Saving 8,500,000

1 2 3 4 5 6

R1. DBF NO_KTP NO_REK 22870 342. 256 22870 511. 333 48616 771. 225 48616 315. 222 03124 012.145 37662 122. 003

Cari semua nasabah beserta nomor KTPnya yang memiliki saldo lebih dari 4000.000. SQL : SELECT nama, nasabah.No_KTP, saldo FROM nasabah, rekening, R1 WHERE saldo >= 4000000 AND nasabah.No_KTP = R1.No_KTP AND rekening.No_Rek = R1. No_Rek Hasil : 1 2 3 4 Kueri : Cari total saldo dari nasabah Lila. SQL : SELECT nama, nasabah.No_KTP, saldo FROM nasabah, rekening, R1 WHERE nama = Lila AND nasabah.No_KTP = R1.No_KTP AND rekening.No_Rek = R1. No_Rek COMPUTE SUM (saldo) Hasil : NAMA Lila Kudang Komang Yosi NO_KTP 22870 48616 03124 37662 SALDO 6,000,000 4,000,000 8,000,000 8,500,000

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

51

1 2 SUM

NAMA Lila

NO_KTP 22870

SALDO 6,000,000 1,000,000 7,000,000

6.2 QBE (Query By Example) Contoh lain dari bahasa kueri komersial selain SQL adalah QBE (Query By Example). Sesuai dengan namanya, dimana kueri dengan QBE dapat dibuat dengan contoh (by-example), maka bentuk ekspresi QBE mencontoh bentuk tabel yang terdiri dari baris (rekord) dan kolom (atribut). Tabel-tabel yang kosong dalam QBE disebut sebagai skeleton yang bisa diisi oleh pengguna untuk menyatakan ekspresi kueri yang dikehendaki. Dua karakteristik utama : 1. Memiliki sintaks dua dimensi yaitu dengan tabel kerangka (skeleton table) 2. Diekspresikan dengan contoh (example) Termasuk dalam kategori bahasa kueri non-prosedural Sudah ada pada paket software komersial (contoh: Dbase 5 for windows)

Contoh Skeleton dari tabel-tabel : Rekening NO_REK STATUS SALDO R1 NO_KTP NO_REK

Nasabah NAMA NO_KTP NAMA_JALAN KOTA

Kueri : Cari semua nomor rekening yang memiliki saldo lebih atau sama dengan 4000.000. QBE : Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

52

Rekening NO_REK P._x Keterangan : P _x P._x Kueri : Cari semua nomor KTP nasabah yang memiliki rekening saving dan memiliki saldo lebih besar atau sama dengan 4.000.000 QBE : Rekening NO_REK _x STATUS saving SALDO >= 4000000 R1 NO_KTP P._y NO_REK _x : perintah menampilkan atribut/kolom : tanda garis bawah menunjukkan bahwa x variabel : cetak semua nilai x pada kolom No_Rek yang nilai SALDO >= 4000000. STATUS SALDO >= 4000000

Kueri : Cari semua nama nasabah dan nomor KTP yang memiliki rekening saving atau memiliki saldo lebih besar atau sama dengan 4.000.000 QBE : Rekening NO_REK _x _z Nasabah NAMA P._m P._m NO_KTP P._y P._y NAMA_JALAN KOTA STATUS saving SALDO >= 4000000 R1 NO_KTP _y _y NO_REK _x _z

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

53

6.3 QUEL QUEL merupakan Query Language yang paling sesuai untuk Relational Tuple Calculus, diperkenalkan sebagai Query Language untuk System Database INGRES, yang dikembangkan oleh University Of California At Berkeley, dengan Operating System UNIX. QUEL dapat ditulis tersendiri pada processor QUEL, atau disisipkan pada CLanguage dengan memberikan tanda # # pada awal instruksi QUEL. Struktur dasar QUEL mendekati Relational Tuple Calculus, dimana QUEL terbentuk dari 3 clause, yaitu Range Of, Retrieve dan Where. Range OF menyatakan setiap Tuple -Variabel. Contoh : RANGE OF t is r, untuk menyatakan t adalah Tuple-Variable yang digunakan untuk menerima value dari tuple-tuple di relation r. RETRIEVE, hampir sama dengan SELECT CLAUSE pada SQL WHERE, berisi Predicate / Persyaratan untuk memilih / selection Bentuk Umum Instruksi QUEL : RANGE OF t1 is r1 RANGE OF t2 is r2 RANGE OF tm is rm RETRIEVE (ti1. Aj1, ti2. Aj2, ..... , tin. Ajn) WHERE P Dimana : ti rj : adalah Tuple-Variable : adalah Relation

Ajn : adalah Atribut Sedangkan untuk menyatakan value dari Tuple-Variable t pada atribut A, ditulis sbb: t.A Yang hampir mirip dengan: t [A] pada Relational Tuple Calculus Contoh :

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

54

Mencari Customer pada cabang PERRYRIDGE yang mempunyai Account, ditulis dengan QUEL sbb : RANGE OF t is DEPOSIT RETRIEVE (t.CUSTOMER-NAME) WHERE t.BRANCH-NAME = PERRYRIDGE BAB VII MODEL HUBUNGAN / RELASI ENTITI (ENTITY-RELATIONSHIP (E-R) MODEL)

Model relasi entiti didasarkan pada persepsi dunia nyata yang terdiri dari himpunan obyek dasar yang disebut entiti dan relasi antar entiti. 7.1 Elemen-Elemen Diagram Hubungan Entitas 7.1.1 Entity Suatu obyek yang dapat diidentifikasi secara unik. Pada E-R diagram, entity digambarkan dengan sebuah bentuk persegi panjang. Entitas diberi nama dengan kata benda dan dapat dikelompokkan dalam empat jenis nama, yaitu : orang, benda, lokasi, kejadian (terdapat unsur waktu di dalamnya), bisa pula berbentuk abstrak misalnya konsep. 7.1.1.1 Entity Set Entity dikarakterisasi dan dipresentasikan dengan suatu gugus atribut. Contoh gugus atribut dari entity pekerja adalah : nama, tanggal lahir, NIP, golongan / pangkat. Pada setiap atribut terdapat sekumpulan value (nilai) yang sesuai dengan atributnya, yang disebut Domain. Contoh : Domain dari atribut NAMA berupa sekumpulan text-string dengan panjang tertentu.

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

55

Domain NIM berupa sekumpulan bilangan integer positif.

Sehingga dapat disimpulkan bahwa atribut adalah sebuah fungsi (function) yang menghubungkan sebuah entity set ke dalam domain-domainnya. Dan setiap entity dibentuk dari sejumlah pasangan (atribut dan data value). Contoh : Sebuah entity tertentu dibentuk dari {(NIM. 825014), (NAMA. Dewi Sinta), (ALAMAT. Jl. Anggur 10), (TGL-LAHIR, 251280). Sekelompok entity yang memiliki karakterisasi entity disebut gugus entity (entity set). Setiap entity dari gugus tersebut disebut anggota gugus (member of set). Contoh Gugus Entity gugus entity pegawai Bank gugus entity nasabah Bank

Dari beberapa gugus tadi mungkin terjadi suatu relasi, misalnya relasi antara gugus Bank, dengan gugus nasabah Bank. Berdasarkan jumlah gugus yang terlibat maka relasi antar entity dibedakan menjadi : relasi biner : relasi antara 2 gugus entity relasi trio : relasi antara 3 gugus enity dan seterusnya 4, 5, ... 7.1.1.2 Representasi Dari Entity Set Entity set direpresentasikan dalam bentuk tabel dan nama yang unique. Setiap tabel terdiri dari sejumlah kolom, dimana masing-masing kolom diberinama yang unique pula. Entity Set Terbagi Atas : Strong-Entity Set Weak-Entity Set

Representasi dari Strong-Entity Set :

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

56

Strong-Entity Set adalah entity set yang satu atau lebih atributnya digunakan oleh entity set lain sebagai key. Contoh : A adalah sebuah entity set dengan atribut-atributnya a1, a2, ... , an maka entity set tersebut dipresentasikan dalam bentuk tabel A yang terdiri dari n kolom, dimana setiap kolom berkaitan dengan atribut-atributnya. Representasi dari Weak-Entity Set : Weak-Entity Set adalah entity set yang dependent terhadap Strong-Entity Set Contoh : A adalah Weak entity set dengan atribut-atributnya a1, a2, ... , ar dan B adalh Strong entity set dengan atribut-atributnya b1, b2, ... , bs dimana b1 adalah atribut primary-key, maka Weak-Entity Set direpresentasikan berupa table A, dengan atribut-atribut : {b1}

{ a1, a2, ... , ar}

Digambarkan denan E-R diagram sbb :


ACCOUNT # TRANSACTION BALANCE AMOUNT DATE

ACCOUNT

LOG

TRANSACTION

Contoh : Strong-Entity Set Account


ACCOUNT#
259 401 630 700

Weak-Entity Set Transaction


ACCOUNT#
259 6.30 401 700 259 401 259

BALANCE
1.000 1.500 2.000 1.500

TRANSACTION DATE
5 11 22 69 6 23 7 11-05-05 13-05-05 17-05-05 20-05-05 20-05-05 21-05-05 22-05-05

AMOUNT
+50 +70 -300 -500 +900 +700 -100

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

57

7.1.2 Relationship Adalah asosiasi dari beberapa entity. Pada E-R diagram, relationship dapat digambarkan dengan sebuah bentuk belah ketupat dihubungkan dengan 2 buah empat persegi panjang. Contoh : Relationship yang menghubungkan antara Dewi Sinta dengan kode mata kuliah SBD001 (Sistem Basisdata) yang berarti Dewi Sinta adalah mahasiswa yang ikut kuliah Sistem Basisdata.

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

58

PUSTAKA:
1. 2. 3. Henry F. Korth, Abraham Silberschatz; Database System Concept; Mc. Graw Hill 1986. C.J. Date, An Introduction to Database System, Addison-Wesley, Reading, MA, 1995. Raymond Mc Leod, Jr., Management Information Systems, A Study of Computerbased Information Systems, MacMillan Publishing Company, New-York, 1993.

Andiani/Modul Sistem Basisdata/PHK-A1 2005/IT-FTUP

59

Anda mungkin juga menyukai