7
BAB 2
LANDASAN TEORI
2.1 Teori Umum
2.1.1 Basis Data
Menurut Post (2002, p2), “A database is a collection of data stored in a
standardized format, designed to be shared by multiple users” yang berarti basis
data adalah sebuah koleksi data yang tersimpan dalam format yang terstandar,
yang didesain untuk digunakan oleh banyak pengguna.
Menurut Connolly (2002, p14), “Basis data adalah suatu kumpulan data yang
berhubungan secara logika dan dapat digunakan bersama-sama, serta deskripsi
dari data-data tersebut, yang dirancang untuk memenuhi kebutuhan dari sebuah
organisasi”.
Kumpulan data yang berhubungan adalah data yang terintegrasi dengan
redundansi atau duplikasi seminimum mungkin. Berhubungan secara logika
maksudnya adalah hubungan data dibuat berdasarkan data model tertentu tanpa
memperhatikan pertimbangan fisik. Data model yang digunakan misalnya
pemodelan hubungan entitas / entity-relationship modeling (ERM). Pertimbangan
fisik misalnya penggunaan sistem manajemen basis data / Database Management
System (DBMS) tertentu. ERM dan dan DBMS akan dibahas lebih lanjut dalam
bab ini.
Basis data dapat digunakan bersama-sama oleh banyak departemen dan
pengguna sehingga basis data tidak lagi hanya memenuhi kebutuhan departemen
melainkan kebutuhan dari sebuah organisasi. Selain menyimpan data-data
8
operasional milik organisasi, basis data juga menyimpan data tentang data-data
tersebut, yang sering disebut sistem katalog atau kamus data atau meta-data atau
data definition language (DDL).
2.1.2 Sistem Manajemen Basis Data / Database Management System (DBMS)
Database Management System (DBMS) merupakan pengantara bagi
pemakai dengan basis data dalam disk. Menurut Post (2002, p2), DBMS adalah
perangkat lunak yang mendefinisikan sebuah basis data, menyimpan data,
mendukung query language, menghasilkan laporan, dan membuat tampilan input
data.
Menurut Connolly dan Begg (2002, p16), Database management system
(DBMS) adalah suatu sistem piranti lunak yang membuat pemakai dapat
mendefinisikan, menciptakan, mengatur dan mengontrol akses ke dalam basis
data. DBMS menyediakan beberapa fasilitas sebagai berikut :
• Data Definition Language (DDL)
Menurut Connoly (2002, p40), DDL (Data Definition Language) adalah
suatu bahasa yang memungkinkan Database Administrator atau pengguna untuk
mendefinisikan, menerangkan dan memberi nama entiti, atribut dan hubungan
yang dibutuhkan untuk aplikasi. DDL berfungsi untuk menjalankan perintah
(mengubah suatu data yang dapat berguna bagi pengguna).
Beberapa statement DDL (Connolly,2002, p167) :
1. Create Table
Untuk membuat tabel dengan mengidentifikasikan tipe data
untuk tiap kolom.
9
2. Alter Table
Untuk menambah atau membuang kolom dan constrain.
3. Drop Table
Untuk membuang atau menghapus tabel beserta semua data
yang terkait di dalamnya.
4. Create Index
Untuk membuat index pada suatu tabel.
5. Drop Index
Untuk membuang atau menghapus index yang telah dibuat
sebelumnya.
• Data Manipulation Language (DML)
Menurut Connoly (2002, p41), DML (Data Manipulation Language)
adalah suatu bahasa yang menyediakan kumpulan operasi yang akan diinginkan
untuk mendukung operasi manipulasi data utama pada data yang diperoleh dalam
basis data. Menyediakan operasi dasar manipulasi data pada data yang ada dalam
basis data, yaitu :
- Penyisipan data baru ke dalam basis data (insertion).
- Mengubah atau memodifikasi data yang disimpan di dalam basisdata
- Pemanggilan data yang ada dalam basis data (retrieve).
- Menghapus data dari basis data (delete).
Menurut Connoly (2002, p41-42), kita dapat membedakan DML menjadi 2
tipe yang berbeda yaitu :
- Prosedural DML
Prosedural DML adalah suatu bahasa yang memungkinkan pengguna
(umumnya programmer) untuk memberi instruksi ke sistem mengenai data apa
10
yang dibutuhkan dan bagaimana cara pemanggilannya (retrieve). Artinya
pengguna harus menjelaskan operasi pengaksesan data yang akan digunakan
dengan menggunakan prosedur yang ada untuk mendapatkan informasi yang
dibutuhkan.
- Non-Prosedural DML
Non-prosedural DML adalah bahasa yang memungkinkan pengguna
untuk menentukan data apa yang dibutuhkan dengan menyebutkan
spesifikasinya tanpa menspesifikasikan bagaimana cara mendapatkannya.
• Menyediakan akses yang terkontrol ke basis data, misalnya :
- Sistem keamanan
- Sistem integrasi
- Keamanan sistem kontrol akses
- Sistem kontrol perbaikan (recovery control)
- Katalog user-accessible
2.1.2.1 Komponen Lingkungan DBMS
1. Query Processsor
Komponen yang merubah bentuk query ke dalam instruksi tingkat rendah
ke database manager
2. Database Manager
Database manager menerima query dan menguji skema eksternal dan
konseptual untuk menentukan apakah record-record dibutuhkan untuk
memenuhi permintaan. Kemudian DM memanggil file manager untuk
menyelesaikan permintaan
3. File Manager
11
Memanipulasi penyimpanan file dan mengatur alokasi ruang
penyimpanan pada disk.
4. DML Preprocessor
Modul yang merubah perintah DML embedded ke dalam program
aplikasi dalam bentuk fungsi-fungsi yang memanggil dalam host
language.
5. DDL Compiler
Merubah perintah DDL menjadi kumpulan tabel yang berisi metadata.
6. Dictionary Manager
Mengatur akses dan memelihara data dictionary. Data dictionary diakses
oleh komponen DBMS yang lain.
2.1.3 Sistem Basis Data
terdiri dari basis data dan DBMS
Komponen Sistem Basisdata
Komponen-komponen basisdata :
1. Perangkat keras
2. Pengguna (user)
3. Sistem Operasi
4. Sistem pengelola Basisdata (DBMS)
5. Program Aplikasi Lain
6. Basisdata
2.1.4 Keuntungan dan Kelemahan Basis data
12
Basis data memiliki keuntungan dan kelemahan:
Keuntungan Basis data
1. Terkontrolnya kerangkapan data
Dalam basis data hanya mencantumkan satu kali saja field yang sama
yang dapat dipakai oleh semua aplikasi yang memerlukannya.
2. Terpeliharanya keselarasan (kekonsistenan) data
Apabila ada perubahan data pada aplikasi yang berbeda maka secara
otomatis perubahan itu berlaku untuk keseluruhan
3. Dapat dipakai secara bersama (shared)
Data dapat dipakai secara bersama-sama oleh beberapa program aplikasi
(secara batch maupun on-line) pada saat bersamaan.
4. Diterapkan standarisasi
Dengan adanya pengontrolan yang terpusat maka DBA dapat
menerapkan standarisasi data yang disimpan sehingga memudahkan
pemakaian, pengiriman maupun pertukaran data.
5. Data terjamin
DBA dapat memberikan batasan-batasan pengaksesan data, misalnya
dengan memberikan password dan pemberian hak akses bagi pemakai
(misal : modify, delete, insert, retrieve)
6. Integritas data
Jika kerangkapan data dikontrol dan kekonsistenan data dapat dijaga
maka data menjadi akurat
7. Keseimbangan antara kebutuhan data yang berbeda dalam setiap aplikasi
13
Struktur basis data diatur sedemikian rupa sehingga dapat melayani
pengaksesan data dengan cepat
8. Independence (kemandirian data)
Dapat digunakan untuk bermacam-macam program aplikasi tanpa harus
merubah format data yang sudah ada
Kelemahannya dari sistem pemrosesan file ini antara lain :
1. Timbulnya data rangkap (redundancy data) dan Ketidakkonsistensi data
(Inconsistency data)
Karena file-file dan program aplikasi disusun oleh programmer yang
berbeda, sejumlah informasi mungkin memiliki duplikasi dalam beberapa
file. Sebagai contoh nama mata kuliah dan sks dari mahasiswa dapat
muncul pada suatu file memiliki record-record mahasiswa dan juga pada
suatu file yang terdiri dari record-record mata kuliah. Kerangkapan data
seperti ini dapat menyebabkan pemborosan tempat penyimpanan dan
biaya akases yang bertambah. Disamping itu dapat terjadi inkonsistensi
data. Misalnya, apabila terjadi perubahan jumlah sks mata kuliah,
sedangkan perubahan hanya diperbaiki pada file mata kuliah dan tidak
diperbaiki pada file mahasiswa. Hal ini dapat mengakibatkan kesalahan
dalam laporan nilai mahasiswa.
2. Kesukaran dalam Mengakses Data
Munculnya permintaan-permintaan baru yang tidak diantisipasikan
sewaktu membuat program aplikasi, sehingga tidak memungkinkan untuk
pengambilan data.
14
3. Data terisolir (Isolation Data)
Karena data tersebar dalam berbagai file, dan file-file mungkin dalam
format - format yang berbeda, akan sulit menuliskan program aplikasi
baru untuk mengambil data yang sesuai.
4. Masalah Pengamanan ( Security Problem )
Tidak semua pemakai diperbolehkan mengakses seluruh data. Bagian
Mahasiswa hanya boleh mengakses file mahasiswa. Bagian Mata kuliah
hanya boleh mengakses file mata kuliah, tidak boleh mengakses file
mahasiswa. Tetapi sejak program-program aplikasi ditambahkan secara
ad-hoc maka sulit melaksanakan pengamanan seperti yang diharapkan.
5. Data Dependence
Apabila terjadi perubahan atau kesalahan pada program aplikasi maka
pemakai tidak dapat mengakses data.
15
2.2 Teori Khusus
2.2.1 Sistem
Menurut Sommerville (2001, p21) sistem adalah sekumpulan komponen-
komponen yang saling berhubungan, yang bekerja sama untuk mencapai suatu
tujuan.
2.2.2 Analisis
Tahap analisis sistem (System Analysis) dilakukan setelah tahap
perencanaan sistem (System Planning) dan sebelum tahap desain sistem (System
Design). Tahap analisis merupakan tahap yang kritis dan sangat penting, karena
kesalahan di dalam tahap ini akan menyebabkan juga kesalahan pada tahap
selanjutnya.
Analisis sistem dapat didefinisikan sebagai (Jogiyanto, 1995, p129):
penguraian dari suatu sistem informasi yang utuh kedalam bagian-bagian
komponennya dengan maksud untuk mengidentifikasikan dan mengevaluasi
permasalahan-permasalahan, kesempatan-kesempatan, hambatan-hambatan,
yang terjadi dan kebutuhan-kebutuhan yang diharapkan sehingga dapat diusulkan
perbaikan-perbaikannya.
2.2.2.1 Langkah-Langkah Pada Analisis Sistem
Langkah-langkah di dalam tahap analisis sistem hampir sama dengan
langkah-langkah yang dilakukan dalam mendefinisikan proyek sistem yang akan
dikembangkan di tahap perencanaan sistem, perbedaannya terletak pada ruang
16
lingkup tugasnya. Pada analisis sistem ruang lingkup tugasya adalah lebih terinci
(detail) dimana penelitian yang dilakukan oleh analisis sistem merupakan
penelitian terinci, sedangkan pada perancangan sistem, sifatnya hanya penelitian
pendahuluan.
Berdasarkan pendapat Jogiyanto (1995, p130), dalam tahap analisis
sistem terdapat langkah-langkah dasar yang harus dilakukan oleh analis sistem,
yaitu:
1. Identify, yaitu mengidentifikasi masalah.
2. Understand, yaitu memahami kerja dari sistem yang ada
2. Analyze, yaitu menganalisis sistem
3. Report, yaitu membuat laporan hasil analisis
Dari pendapat diatas dapat ditarik kesimpulan bahwa analisis sistem
(System Analysis) adalah suatu penelitian terhadap sistem dan kebutuhan
informasi bagi pemakai yang bertujuan untuk merancang sistem baru dengan
spesifikasi yang telah ditetapkan sesuai dengan yang diinginkan pemakai untuk
memperbaiki kelemahan sistem yang ada sehingga sistem yang baru dapat lebih
diandalkan dan disempurnakan.
2.2.3 Perancangan
Perancangan sistem berdasarkan McLeod (2001a, p192) adalah penentuan
proses dan data yang diperlukan oleh sistem baru. Jika sistem itu berbasis
komputer, perancangan dapat menyertakan spesifikasi jenis peralatan yang akan
digunakan.
17
Mulyadi (2001, p51) menyatakan bahwa perancangan sistem adalah proses
penerjemahan kebutuhan pemakai informasi kedalam alternatif rancangan sistem
informasi yang diajukan kepada pemakai informasi untuk dipertimbangkan.
Dapat diambil kesimpulan bahwa perancangan sistem ( System Design )
adalah penentuan proses dan data yang diperlukan oleh sistem baru yang berbasis
komputer dimana rancangan sistem tersebut menyertakan spesifikasi jenis
peralatan yang digunakan yang bertujuan sesuai dengan kebutuhan pemakai
sehingga pemakai memperoleh gambaran yang jelas serta rancang bangun yang
lengkap dari pihak-pihak yang terlibat didalamnya.
2.2.4 Pelayanan Pegawai
Menurut Kamus Besar Bahasa Indonesia pelayanan adalah usaha melayani
kebutuhan orang lain dengan memperoleh imbalan (uang). Sedangkan pegawai
adalah sekelompok orang yg bekerja sama membantu seorang direktur, ketua, dsb
mengelola sesuatu dalam sebuah perusahaan atau badan pemerintahan.
2.2.5 Internet
Menurut Turban (2003, G-11) internet adalah sebuah jaringan
komunikasi elektronik yang sangat besar yang menghubungkan komputer-
komputer dari bidang bisnis, pelanggan, agensi pemerintahan, sekolah, dan
organisasi lainnya diseluruh dunia, yang saling bertukar informasi dengan
18
informasi, menggunakan standar dan protokol terbuka sehingga dapat digunakan
siapa saja.
Menurut Strauss (2003, p8), internet adalah sebuah jaringan global dari
jaringan-jaringan yang saling berhubungan. Media penghubung tersebut bisa
melalui kabel, satelit, maupun frekuensi radio. Dengan demikian, komputer-
komputer yang saling terhubung dapat saling berkomunikasi. Internet berasal
dari kata Interconnection Networking yang memiliki arti hubungan berbagai
komputer dengan berbagai tipe yang membentuk suatu sistem jaringan yang
mencakup seluruh dunia (jaringan komputer global) dengan melalui jalur
telekomunikasi seperti telepon. Jaringan internet terbentuk melalui berjuta-juta
komputer yang terintegrasi yang letaknya tersebar diseluruh dunia.
2.2.5.1 Sejarah internet
Dalam bukunya, Turban(2003) mengatakan bahwa internet
bermula dari jaringan yang disebut ARPANET, sebuah jaringan
eksperimen milik pemerintah US yang didirikan tahun 1969 yang
menghubungkan antara militer, agensi pemerintahan, ilmuwan, serta
peneliti akademisi. Tujuan dari proyek ini adalah untuk dapat bertukar
informasi antar peneliti tanpa memperhatikan lokasi mereka,
menciptakan jaringan komunikasi yang luas untuk kepentingan militer.
Pada tahun 1980-an, ARPANET dipecah menjadi 2 jaringan, ARPANET
dan Milnet. Pada tahun-tahun awal, akses terhadap ARPANET terbatas
19
pada pihak militer, dewan pertahanan, dan universitas yang melakukan
penelitian.
Diawal tahun 1980-an, ARPANET dikenal sebagai “internet” dan
jumlah komputer yang terhubung ke jaringan ini bertambah banyak.
Mulanya internet hanya digunakan untuk pertukaran informasi diantara
para ilmuwan dan digunakan oleh kalangan akademis (UCLA) untuk
keperluan penelitian dan pengembangan teknologi.
Pada awal 1990-an, internet mulai banyak digunakan secara
global diluar Amerika Serikat. Pada saat ini, internet terdiri atas lebih
dari 15.000 jaringan yang mengelilingi dunia, sekitar 25 juta orang dapat
saling mengirim pesan melalui internet dan jaringan-jaringan lain yang
terhubung dengannya. Pemakaiannya sudah bukan murni untuk riset
saja, tetapi mencakup kegiatan sosial, komersial, budaya, dan lainnya
(McLeod, 2001, p73).
2.2.5.2 Teori Internet Service
Pertukaran informasi melalui internet bisa menggunakan aplikasi-
aplikasi sebagai berikut:
2.2.5.2.1 World Wide Web (WWW)
World Wide Web (WWW) adalah aplikasi yang digunakan untuk
transportasi fungsi. Teknologi yang digunakan World Wide Web
(WWW) diciptakan oleh Timothy Berners-Lee yang pada tahun 1989
mengusulkan sebuah jaringan global dari dokumen hypertext yang dapat
memungkinkan para peneliti untuk bekerja bersama. (Turban, 2003,
p214).
20
2.2.5.2.2 HTML (Hypertext markup language)
HyperText Markup Language (HTML) adalah bahasa standar bagi
web yang memformat dokumen dan menyatukan link dynamic hypertext
ke penyimpanan dokumen lain pada komputer yang sama ataupun
berbeda (The web is based on a standart hypertext language called
HTML, which format documents and incorporates dynamic hypertext link
to other documents stored on the same of different computers). (Turban,
2003, p214).
2.2.5.2.3 Web Browser
Web browser merupakan aplikasi yang dijalankan PC (dalam
internet pada sisi klien) untuk menyediakan antar muka grafis interaktif
untuk mencari, menemukan, dan melihat dokumen-dokumen teks, suara,
animasi, dan sumber-sumber multimedia lain dalam web(Vaughan, 2006,
p294).
Browser mampu untuk berkomunikasi melalui HTTP, mengatur
HTML, dan menampilkan tipe data tertentu seperti GIF (Graphics
Interchange Format) dan JPEG ( Joint Photographic Expert Group)
untuk grafik dan Microsoft Window WAV untuk suara (Turban, 2003,
p214).
2.2.6 Kebutuhan Untuk Implementasi
2.2.6.1 PHP
21
PHP Hypertext Preprocessor merupakan HTML-embedded
scripting language, maksudnya adalah sebuah bahasa pemrograman yang
bisa dimasukan kedalam penggunaan HTML. PHP mengkombinasikan
fitur-fitur terbaik dari bahasa pemrograman modern untuk menciptaan
pendekatan yang unik untuk membuat aplikasi web. Walaupun banyak
bahasa pemrograman namun PHP didesain dari dasar hingga keatas
dengan menggunakan pemikiran web-development ( Allen, 2002, p xix )
2.2.6.2 MySQL
Menurut Allen dan Hornberger (2002, p220) MySQL merupakan
bahasa pemrograman open source yang paling popular dan banyak
digunakan di lingkungan Linux. Kepopuleran ini karena ditunjang oleh
performansi query dari databasenya yang jarang bermasalah.
Nugroho (2004, p29) mengemukakan, MySQL (My Structure
Query Language) adalah sebuah program pembuat database yang bersifat
open source, artinya siapa saja dapat menggunakannya secara bebas.
Karena sifatnya open source, MySQL dapat berjalan pada semua
platform baik Windows maupun Linux. Selain itu, MYSQL juga
merupakan program pengakses database yang bersifat jaringan sehingga
dapat digunakan untuk aplikasi multiuser (banyak pengguna). Saat ini
database MYSQL telah digunakan oleh hampir semua pemrograman
database , terlebih dalam pemrograman web.
2.2.7 Database Application Lifecycle
22
Database life cycle merupakan komponen yang penting dalam sistem
basisdata karena aplikasi dari database life cycle berkaitan dengan sistem
informasi yang ada. Langkah-langkah dalam database life cycle (Connolly, 2002,
p272) dapat dilihat pada gambar berikut:
.
23
System Definition
Requirement collection and analysis
Conceptual Database
Logical Database Design
Physical Database Design
Application Design
DBMS Selection ( i l)
Prototyping (optimal)
Data Convertion And Loading
Testing
Operational maintainance
Gambar 2.1 Database Application Lifecycle
Implementation
24
2.2.7.1 Perancangan Basis Data (Database Planning)
Menurut Connolly dan Begg (2002, p273-274), Database Planning
merupakan aktivitas-aktivitas manajemen yang memungkinkan tahap-tahap dalam
aplikasi basis data direalisasikan se-efisien dan seefektif mungkin. Perencanaan
basis data harus diintegrasikan dengan keseluruhan strategi sistem informasi dari
organisasi. Ada 3 permasalahan pokok dalam merumuskan suatu strategi sistem
informasi :
• Identifikasi rencana dan tujuan perusahaan dengan penentuan sistem
informasi yang dibutuhkan.
• Evaluasi sistem informasi yang berjalan untuk memutuskan
kekurangan dan kelemahan yang ada.
• Penilaian dari kesempatan teknologi informasi yang menghasilkan
kekuatan kompetitif.
Langkah penting dari tahap ini adalah mendefinisikan secara jelas tentang
pernyataan misi untuk proyek bisnis data. Pernyataan tersebut mendefinisikan
tujuan utama dari aplikasi basis data. Bila pernyataan tersebut selesai maka
langkah selanjutnya adalah mengidentifikasikan sasarannya. Pernyataan dan
sasaran ini perlu didukung oleh informasiinformasi tambahan yang menentukan
pekerjaan apa saja yang harus diselesaikan, sumber-sumber yang mendukungnya,
dan biaya yang harus dikeluarkan.
25
2.2.7.2 Definisi Sistem (System definition)
System definition menggambarkan ruang lingkup dan batasan dari
aplikasi basis data dan pandangan pengguna (user view) yang utama (Connolly,
2002, p274). Sebelum merancang aplikasi basis data, maka harus
mengidentifikasikan batasan dari sistem dan bagaimana sistem tersebut
berinteraksi dengan bagian lain dari informasi perusahaan.
User view menggambarkan apa yang dibutuhkan oleh aplikasi basis data
dari sudut pandang jabatan tertentu, seperti manajer atau pengawas, maupun dari
sudut pandang area aplikasi perusahaan, seperti pemasaran, personalia, atau
pengawasan persediaan, dalam hubungannya dengan data yang akan disimpan
dan transaksi yang akan dijalankan terhadap data itu (Connolly, 2002, p275).
2.2.7.3 Pengumpulan dan Analisis Kebutuhan (Requirement Collection And
Analysis)
Pengumpulan dan analisis kebutuhan adalah proses pengumpulan dan
analisis informasi tentang bagian perusahaan yang didukung oleh aplikasi basis
data dan yang menggunakan informasi ini untuk mengidentifikasikan kebutuhan
– kebutuhan user dari sistem yang baru (Connolly, 2002, p276).
Pengumpulan kebutuhan atau fact-finding memiliki 5 jenis teknik yang
penggunaannya sesuai kebutuhan :
1) Memeriksa dokumentasi dan formulir
26
Pemahaman terhadap jalannya sistem akan cepat diperoleh dengan
memeriksa dokumen – dokumen, formulir, laporan, dan file yang berhubungan
dengan sistem yang sedang berjalan.
2) Wawancara
Bertujuan untuk mengumpulkan fakta – fakta, memeriksa kebenaran
fakta yang ada dan mengklarifikasinya, membangkitkan semangat, melibatkan
pengguna akhir, mengidentifikasi kebutuhan – kebutuhan, dan mengumpulkan
ide – ide dan pendapat (Connolly, 2002, p306). Teknik ini memerlukan
kemampuan komunikasi yang baik untuk menghadapi pengguna yang memiliki
nilai, prioritas,
pendapat, motivasi, dan kepribadian yang beragam.
3) Mengamati Operasional Perusahaan
Memungkinkan untuk ikut serta atau mengamati seseorang dalam
melakukan kegiatan untuk mempelajari sistem. Salah satu factor pengamatan
dapat berhasil adalah dengan mencari informasi sebanyak mungkin tentang
aktivitas yang akan diamati serta orang yang melakukan aktivitas tersebut.
4) Penelitian
Jurnal komputer, buku – buku referensi, dan internet merupakan sumber
informasi yang baik yang menyediakan informasi bagaimana orang lain
memecahkan masalah yang serupa.
5) Kuisioner
Kuesioner adalah suatu dokumen dengan tujuan khusus yang
memungkinkan fakta – fakta dikumpulkan dari banyak orang sambil menjaga
kontrol terhadap tanggapan yang diberikan (Connolly,2002, p308)
27
2.2.7.4 Database Design (Perancangan Basis data)
Perancangan basis data adalah suatu proses menciptakan perancangan
untuk basis data yang akan mendukung keseluruhan operasi dan tujuan – tujuan
perusahaan (Connolly, 2002, p279).
Terdapat dua pendekatan yang dapat digunakan untuk merancang basis
data, yaitu:
1. Bottom up Approach
Pendekatan bottom up dimulai dari atribut awal (entity dan relationship)
yang dianalisa asosiasi antar atribut, kemudian dibentuk relation yang mewakili
tipe dari entity dan relationship antar entity. Pendekatan ini sesuai untuk
perancangan basis data yang sederhana dengan jumlah atribut sedikit.
2. Top down Approach
Pendekatan Top down dimulai dengan pengembangan data model yang
terdiri dari sedikit atau banyak entity dan relationship, kemudian melakukan
perbaikan top down untuk mengidentifikasikan lower-level entity, relationship,
dan asosiasi antar atribut. Pendekatan ini digambarkan dengan entity relationship
(ER) model, yang dimulai dari identifikasi entity dan relationship antar entity.
Dalam database design terdapat tiga fase utama, yaitu perancangan konseptual
(Conceptual Database Design), perancangan logikal (Logical Database Design),
dan perancangan fisik (Physical Database Design).
28
2.2.7.4.1 Perancangan Basis Data Konseptual (Conceptual Database Design)
Perancangan basis data konseptual adalah proses membangun sebuah
model dari informasi yang digunakan di perusahaan, yang terlepas dari semua
pertimbangan – pertimbangan fisik (Connolly,2002, p419). Tujuan dari
perancangan konseptual basis data adalah untuk membangun representasi
konseptual dari basis data, yang meliputi identifikasi dari entity penting,
relationship – relationship, dan atribut – atribut (Connolly, 2002, p417).
Conceptual Database Design secara keseluruhan terbebas dari detil
penerapannya, seperti Database Management System (DBMS) software, aplikasi
program, programming language, hardware platform atau pertimbangan fisik
lainnya. Tahapan yang dilakukan dalam conceptual database design adalah
membangun model data konseptual lokal untuk setiap view, yang dapat diuraikan
sebagai berikut :
• Menentukan tipe entity
Entity ditentukan dengan mencari tahu spesifikasi kebutuhan user.
• Menentukan tipe relationship
Mengidentifikasi hubungan – hubungan yang penting antar tipe –tipe entity yang
telah diidentifikasikan.
• Menentukan dan menghubungkan atribut dengan entity (relationship)
Menentukan atribut – atribut apa saja yang terdapat dalam suatu
entity.
29
• Menentukan atribut domain
Menentukan domain pada setiap atribut yang ada di dalam model.
• Menentukan atribut candidate dan primary key
Menentukan candidate key dari suatu entity yang kemudian akan dipilih sebuah
primary key dari candidate key yang ada.
• Mempertimbangkan penggunaan enchanced modeling concepts
Mempertimbangkan perlu tidaknya menggunakan konsep model specialization
atau generalisasi, agregation, dan composition.
• Cek model untuk redudansi
Memeriksa model data konseptual lokal dengan spesifikasi objektif dari
pengidentifikasi walaupun ada beberapa redudansi dan kemudian menghilangkan
redudansi tersebut.
• Validasi model konseptual lokal dengan transaksi user
Memeriksa apakah model konseptual lokal sudah dapat memenuhi segala
transaksi yang dilakukan user, jika masih ada transaksi yang tidak dapat
dilakukan secara manual maka perlu dilakukan pembetulan terlebih dahulu.
• Review model data konseptual lokal dengan user
Melakukan pemeriksaan ulang dengan user untuk memastikan apakah model
konseptual ini sudah sesuai.
2.2.7.4.2 Perancangan Basis Data Logikal (Logical Database Design)
Tujuan perancangan logikal basis data adalah untuk menerjemahkan
representasi konseptual ke struktur logikal dari basis data yang meliputi
perancangan relasi – relasi (Connolly, 2002, p417).
30
Logical database design adalah suatu proses membangun sebuah model
dari informasi yang digunakan di perusahaan berdasarkan sebuah model data
spesifik, tapi terlepas dari DBMS dan pertimbangan fisik lain (Connolly, 2002,
p441).
Tahapan yang dilakukan dalam logical database design adalah sebagai
berikut:
• Membangun dan memvalidasi logical data model untuk setiap view, yang dapat
diuraikan sebagai berikut:
- Menghapus fitur yang tidak sesuai dengan relational model
Menghilangkan relasi biner many-to-many, relasi rekursif many to many, relasi
kompleks, dan atribut multi-valued.
- Menurunkan Relasi untuk Model Data Logikal Lokal
Membuat relasi model data logikal lokal untuk merepresentasikan entity,
relationship, dan atribut yang telah diidentifikasi.
- Validasi relasi – relasi menggunakan normalisasi
Normalisasi digunakan untuk meyakinkan suatu resultant model. Resultant
model adalah model yang sudah konsistent, redundansinya sudah minimal dan
stabilitasnya sudah maksimum.
- Validasi relasi – relasi dengan transaksi user
Memeriksa relasi yang telah dibuat pada tahap sebelumnya apakah mendukung
transaksi ini, untuk memastikan tidak ada kesalahan yang dibuat selama
membuat relasi - relasi.
- Mendefinisikan integrity constraint
31
Adalah constraint yang kita harapkan untuk menjaga agar basis data tetap
konsisten. Data yang disimpan ke dalam sebuah basis data haruslah valid dan
konsisten. Integrity biasanya diekspresikan sebagai constraint, dimana constraint
merupakan aturan yang tidak boleh dilanggar oleh basis data.
1. Domain Constraint
Domain Constraint adalah aturan yang menentukan
format nilai apa yang diperbolehkan untuk disimpan
dalam attribute dari suatu relation
2. Entity Integrity
Dalam base relation, attribute yang menjadi primary key
dari suatu tabel tidak boleh berisi nilai null.
3. Referential Integrity
Jika terdapat foreign key maka nilai foreign key harus
mengacu pada relasi tabel utamanya.
- Review logical model data lokal dengan user
Memeriksa kembali model logikal dan menyediakan dokumentasi untuk user
• Membangun dan memvalidasi logical data model global, yang dapat diuraikan
sebagai berikut :
- Menggabungkan logical data model lokal ke dalam model global menggunakan
ERD, skema relasional, kamus data, dan dokumentasi yang mendukung untuk
mengidentifikasi persamaan dan perbedaan antara model-model, dan membantu
untuk menggabungkan model – model tersebut.
- Memvalidasi logical data model global
32
Memvalidasi relasi yang telah dibuat dari model data logikal global
menggunakan teknik normalisasi dan meyakinkan relasi tersebut mendukung
kebutuhan transaksi yang ada.
- Cek untuk perkembangan selanjutnya
Menentukan apakah akan sering terjadi perubahan yang drastic di masa yang
akan datang, dan menilai apakah model data logikal global ini dapat
mengakomodasi perubahan yang terjadi.
- Review logical data model global dengan user
Melakukan pemeriksaan kembali dengan user untuk menentukan apakah model
ini sudah sesuai dengan representasi perusahaan.
2.2.7.4.3 Perancangan Basis data Fisikal (Physical Database Design)
Perancangan basis data fisikal adalah proses untuk menghasilkan
penjelasan dari pengimplementasian suatu basis data pada media penyimpanan
kedua, juga menjelaskan base realtion, pengaturan file, dan indeks yang
digunakan untuk mencapai akses data yang efisien, integrity, constraint, serta
ukuran keamanan (Connolly, 2002, p282).
Tahapan yang dilakukan dalam physical database design adalah sebagai
berikut :
• Menerjemahkan logical data model global untuk target DBMS, yang dapat
diuraikan sebagai berikut :
- Merancang relasi – relasi dasar
Menentukan bagaimana merepresentasikan relasi dasar yang telah
diidentifikasikan di dalam model data logikal global ke dalam DBMS.
33
- Merancang representasi dari data yang diturunkan
Menentukan bagaimana merepresentasikan beberapa data yang
diturunkan dalam model data logikal global ke dalam DBMS.
- Merancang entreprise constraints
• Merancang representasi physical, yang dapat diuraikan sebagai berikut :
- Menganalisa transaksi
Memahami fungsionalitas dari transaksi yang akan berjalan pada basis
data dan untuk menganalisa transaksi – transaksi yang penting.
- Memilih organisasi file
Menentukan organisasi file secara efisien untuk setiap relasi dasar.
- Memilih indeks – indeks
Menentukan apakah penambahan indeks – indeks akan meningkatkan
performa dari sistem.
- Memperkirakan kebutuhan disk space
Menentukan jumlah disk space yang dibutuhkan oleh basis data.
- Merancang user view
Merancang user view yang telah diidentifikasikan selama tahapan
pengumpulan dan analisis kebutuhan dari relational database application
lifecycle.
- Merancang mekanisme keamanan
Menentukan tingkat keamanan basis data berdasarkan spesifikasi user.
• Mempertimbangkan pengenalan dari kontrol redundansi, yang dapat diuraikan
sebagai berikut :
- Menggabungkan relasi one-to-one (1:1)
34
- Menduplikasikan atribut non-key dalam relasi one-to-many (1:*) untuk
mengurangi join.
- Menduplikasikan atribut foreign key dalam relasi one-to-many (1:*)
untuk mengurangi join.
- Menduplikasikan atribut – atribut dalam relasi many-to-many (*:*)
untuk mengurangi join.
- Memperkenalkan repeating groups
- Menggabungkan lookup tables dengan base relations.
- Membuat extract tables
• Memonitor dan menjalankan sistem operasional
Memonitor sistem operasional dan meningkatkan performa sistem untuk
memperbaiki keputusan rancangan yang tidak sesuai.
2.2.7.5 Pemilihan DBMS (DBMS Selection)
Menurut Connolly dan Begg (2002, pp287-288), DBMS selection adalah
memilih DBMS yang sesuai dengan aplikasi basis data yang akan dibuat.
Pemilihan DBMS dilakukan antara tahapan conceptual database design dan
logical database design. Tujuan dari pemilihan DBMS adalah untuk
kecukupan sekarang dan kebutuhan masa mendatang pada perusahaan, membuat
keseimbangan biaya termasuk pembelian produk DBMS, piranti lunak/perangkat
keras lainnya untuk mendukung aplikasi basis data, biaya yang berhubungan
dengan perubahan dan pelatihan pegawai.
Langkah utama dalam memilih DBMS adalah :
1. Menggambarkan cakupan tugas berdasarkan kebutuhan perusahaan.
35
2. Membuat perbandingan mengenai dua atau tiga produk DBMS.
3. Mengevaluasi produk-produk DBMS tersebut.
4. Merekomendasikan pemilihan DBMS dan membuat laporan hasil dari
evaluasi produk DBMS tersebut.
2.2.7.6 Perancangan Aplikasi (Application Design)
Menurut Connolly dan Begg (2002, pp287-288), perancangan aplikasi
adalah merancang user interface dan program aplikasi, yang akan memproses
basis data. Dalam database application lifecycle, perancangan basis data dan
perancangan aplikasi dilakukan secara bersamaan. Dalam kasus sebenarnya,
adalah tidak mungkin untuk menyelesaikan perancangan aplikasi sebelum
perancangan basis data selesai. Pada sisi lain, basis data ada untuk mendukung
aplikasi tersebut, dan demikian harus ada suatu informasi antar desain aplikasi
dan desain basis data.
Dalam perancangan aplikasi harus memastikan bahwa semua kemampuan
menyatakan spesifikasi kebutuhan pemakai hadir di dalam desain aplikasi untuk
aplikasi basis data. Ini melibatkan program aplikasi yang mengakses basis data
akan merancang transaksi tersebut ke dalam metode akses basis data. Artinya
bagaimana fungsi yang dibutuhkan bias terpenuhi dan merancang antarmuka
pemakai yang tepat. Selain itu, antarmuka yang dirancang harus memberikan
informasi yang dibutuhkan secara user-friendly.
36
2.2.7.7 Prototipe (Prototyping)
Merupakan pembuatan suatu model kerja dari aplikasi basis data. Suatu
prototype adalah model yang bekerja yang tidak mempunyai semua fiturfitur
yang diperlukan atau menyediakan semua fungsionaliti dari sistem terakhir.
Tujuan utama dari pengembangan suatu aplikasi basis data prototype adalah
memungkinkan pengguna menggunakan prototype tersebut untuk menentukan
fitur-fitur dari sistem yang bekerja dengan baik, dan jika mungkin mengusulkan
sistem yang bekerja dengan baik, dan jika mungkin mengusulkan peningkatan
atau bahkan fitur-fitur baru pada aplikasi basis data.
Ada 2 (dua) strategi prototyping pada zaman sekarang:
• Requirements prototyping, menggunakan suatu prototype untuk menentukan
kebutuhan-kebutuhan dari aplikasi basis data yang diusulkan dan suatu waktu
kebutuhan-kebutuhan tersebut lengkap prototype dibuang.
• Evolutionary prototyping, digunakan untuk tujuan yang sama, perbedaan yang
penting adalah bahwa prototype tidak dibuang tetapi dengan perkembangan yang
lebih jauh menjadi aplikasi basis data yang digunakan.
2.2.7.8 Implementasi (Implementation)
Menurut Connolly dan Begg (2002, p292), implementasi adalah membuat
definisi basis data eksternal, konseptual dan internal serta program-program
aplikasi. Implementasi basis data dicapai dengan menggunakan Data Definiton
Languange(DDL) dari DBMS yang dipilih atau graphical user interface(GUI),
dimana menyediakan fungsionalitas yang sama ketika menyembunyikan
37
pernyataan DDL tingkat rendah. Pernyataan DDL tersebut digunakan untuk
membuat struktur basis data dan file basis data kosong.
Program aplikasi diimplementasikan dengan menggunakan bahasa
generasi ketiga atau keempat (3GL atau 4GL). Bagian dari program aplikasi ini
adalah transaksi basis data, dimana diimplementasikan dengan menggunakan
Data Manipulation Language (DML) dari DBMS tujuan, yang mungkin
disimpan dalam sekumpulan bahasa pemrograman, seperti Visual Basic, Delphi,
C, C++, Java, COBOL, atau Pascal.
2.2.7.9 Konversi dan Pemuatan Data (Data conversion and loading)
Data Conversion and Loading adalah suatu proses menstransfer data
yang ada ke dalam basis data baru dan mengubah apliasi yang ada untuk
dijalankan dalam basis data baru (Connolly, 2002, p292). Tahap ini hanya
dibutuhkan ketika sistem basis data baru menggantikan sistem yang lama
2.2.7.10 Pengujian (Testing)
Merupakan proses pengeksekusian program aplikasi dengan maksud
pencarian kesalahan-kesalahan. Sebelum ditunjukkan secara langsung aplikasi
basis data yang baru dikembangkan seharusnya diuji sepenuhnya.
2.2.7.11 Pemeliharaan Operasional (Operational Maintenance)
Merupakan proses pengawasan dan pertahanan sistem berikut instalasi.
Pada langkah sebelumnya, aplikasi basis data telah diimplementasikan dan diuji
38
sepenuhnya. Sekarang sistem memasuki langkah perawatan, yang melibatkan
aktivitas-aktivitas berikut:
• mengawasi kinerja sistem
• mempertahankan dan meng-upgrade aplikasi basis data (ketika dibutuhkan)
2.2.8 Normalisasi
Menurut Post (2002, p66), relasi basis data mengoperasikan tabel-
tabel data dan tabel-tabel tersebut harus didefinisikan untuk mendapatkan
keuntungan dari basis data. Proses penentuan dari tabel-tabel yang sesuai
tersebut untuk suatu basis data disebut normalisasi.
Menurut Connoly (2002,p376-377), normalisasi merupakan suatu teknik
untuk menghasilkan kumpulan relasi-relasi dengan properti yang diperlukan,
untuk menyediakan kebutuhan data dari perusahaan. Normalisasi adalah suatu
teknik formal untuk menganalisa relasi berdasarkan primary key dan
ketergantungan fungsional diantara atribut tiap tabelnya. Tujuan normalisasi
adalah terjaminnya struktur yang konsisten, kerangkapan yang minimal, dan
stabilitas struktur data yang maksimal.
Manfaat normalisasi :
1. Meminimalkan jumlah kapasitas penyimpanan yang diperlukan untuk
menyimpan data
2. Meminimalkan resiko data yang tidak konsisten dalam suatu basis data.
3. Meminimalkan kemungkinan update dan delete anomally.
4. Memaksimalkan stabilitas dari struktur data.
39
2.2.8.1 Tahap-tahap normalisasi
Pada saat belum dinormalisasikan suatu tabel masih dalam bentuk tidak
normal atau unformal form dimana relasi antara tabel masih terdapat repeating
group atau ada kelompok atribut yang berulang.
Untuk mendapatkan bentuk tabel yang normal, yang terstruktur dengan
baik, tanpa ada error harus dilakukam tahapan-tahapan normalisasi sebagai
berikut:
• 1NF (First Normal Form)
Menurut Conolly (2002, p388), First Normal Form adalah relasi dimana
pertemuan antar setiap baris dan kolom terdiri 1 (satu) dan hanya 1 (satu)
nilai. Dalam normalisasi pertama ini, data yang berulang-ulang dihilangkan..
Jadi aturan yang berlaku pada 1 NF :
Mendefinisikan atribut kunci
Tidak adanya group berulang
Semua atribut bukan kunci tergantung pada atribut kunci
• 2NF (Second Normal Form)
Menurut Conolly (2002.p392), Second Normal Form (2NF) adalah
merupakan sebuah relasi dalam 1NF yang setiap atribut non-primarykey
bersifat Full Function Dependency pada primary key dari relasi tersebut.
Dalam normalisasi kedua ini, atribut yang tergantung pada sebagian dari
suatu composite key sebuah tabel dipindahkan ke sebuah
tabel yang terpisah.
40
Menurut Conolly (2002.p391), Full function dependency adalah
mengindikasikan bahwa jika A dan B adalah atribut dari sebuah relasi, B
adalah fully functional dependent dari A jika B adalah functionally dependent
dari A, bukan merupakan bagian dari A.
Aturan yang berlaku:
Sudah memenuhi dalam bentuk normal pertama
Sudah tidak ada ketergantungan parsial dimana sebuah field hanya
tergantung pada sebagian field kunci.
• 3NF (Third Normal Form)
Menurut Conolly (2002, p394), Third Normal Form (3NF) adalah sebuah
relasi yang memenuhi normal pertama dan normal kedua dimana tidak
terdapat atribut non primary key yang bersifat transitively dependent dari
primary key-nya.
Menurut Conolly (2002.p394), Transitively dependency adalah jika kondisi
A,B, dan C merupakan atribut-atribut dari sebuah relasi seperti jika A→ B
dan B → C, maka C adalah transitively dependent dari A melalui atau via B
(disediakan bahwa A bukan functionally dependent dari B dan C)
Dalam normalisasi ketiga ini, atribut yang tidak memberikan kontribusi
terhadap penjelasan karakteristik primary key, akan dipindahkan kesebuah
tabel yang terpisah
Aturan yang berlaku:
Sudah berada dalam bentuk normal kedua
41
Tidak ada ketergantungan transitive dimana field bukan key
tergantung pada field bukan key lainnya
2.2.9 Data Flow Diagram (DFD)
Data Flow Diagram adalah model proses yang digunakan untuk
menggambarkan aliran data melalui sebuah sistem dan tugas atau pengolahan
yang dilakukan oleh sistem (Whitten, 2004, p326).
Simbol-simbol yang digunakan dalam DFD antara lain :
• External Entity
Entity yang berada diluar sistem yang memberikan data kepada
sistem (source) atau yang menerima informasi dari sistem (sink). Entity
external tidak termasuk dalam sistem.
Gambar:
• Proses
Proses ialah sesuatu yang mengubah input menjadi output. Proses
sering juga disebut bubble. Proses dapat digambarkan dengan lingkaran,
segi empat, dan segi empat membulat.
Gambar:
• Aliran data (Data Flow)
Menggambarkan aliran data dari suatu entity ke entity lainnya. Simbol
yang digunakan berupa anak panah. Tanda panah tersebut
42
menggambarkan aliran data yang terjadi bisa antara 2 proses yang
berurutan, dari data store ke proses atau sebaliknya dari proses ke sink.
Gambar :
• Penyimpanan data (Data Store)
Data store berfungsi sebagai tempat penyimpanan data. Proses dapat
mengambil data atau memberikan data ke store.
Gambar :
2.2.10 State Transition Diagram
State Transition Diagram (STD) merupakan suatu tools
pemodelan yang menggambarkan sifat ketergantungan pada waktu dari suatu
sitem. Adapun Simbol yang digunakan :
State / keadaan
Perubahaan State / keadaan
Untuk melengkapi STD masih diperlukan dua hal lagi, yaitu Condition
(kondisi), adalah sebuah sinyal yang menyebabkan perubahan terhadap state dari
state satu ke state berikutnya. Action (aksi), adalah yang dilakukan sistem bila
terjadi perubahan state atau merupakan reaksi terhadap kondisi.
43
2.2.11 Perancangan User Interface atau layar
Interaksi manusia dengan komputer adalah ilmu yang berhubungan dengan
perancangan, evaluasi, dan implementasi sistem komputer interaktif untuk
digunakan manusia, serta studi fenomena besar yang berhubungan dengannya
(Shneiderman, 1998, p8). Menurut Shneiderman (1998, p74-75) dalam merancang
antarmuka pemakai ( user interface ) perlu menggunkan delapan aturan emas yang
terdiri dari :
• Berusaha konsisten.
Aplikasi yang dirancang harus konsisten, baik dalam tampilan, susunan menu,
teks dan warna
• Memungkinkan frequent user menggunakan shortcut.
Aplikasi yang dirancang sebaiknya mempunyai fasilitas shortcut bagi user untuk
lebih menjelajahi aplikasi
• Memberikan umpan balik yang informatif.
Sebuah aplikasi harus dapat memberikan navigasi ataupun informasi mengenai
tujuan dari sebuah link, sehingga akan dapat mengurangi kesalahan yang
mungkin dilakukan user
• Merancang dialog untuk menghasilkan keadaan akhir
Aksi – aksi yang ada seharusnya diorganisasikan untuk mempunyai suatu
perusahaan, pertengahan, dan tahap akhir, seperti sebuah cerita pendek yang
bagus. Dengan adanya umpan balik yang informatif pada tahap akhir dari suatu
form akan memberithukan user sehingga mereka dapat mengetahui kapan
mereka dapat berpindah ke form berikutnya.
44
• Memberikan pencegahan kesalahan dan penanganan kesalahan yang sederhana.
Jika terjadi kesalahan, maka aplikasi mampu memberikan petunjuk sederhana
dan praktis dalam menanganinya. Misalnya disediakan fasilitas help
• Memungkinkan pembalikan aksi ( undo yang mudah ).
Aplikasi harus menyediakan fasilitas bagi user ntuk kembali ke menu dengan
mudah.
• Mendukung internal locus of control.
Memberikan user memutuskan apa yang diperlukan dan kemudian sistem
menyediakan informasi yang dibutuhkan.
• Mengurangi beban ingatan jangka panjang.
Aplikasi harus memudahkan user dalam mengingat hal – hal penting. Misalnya
dengan kombinasi kode – kode, maka kode tersebut diusahakan mudah diingat
dengan kemampuan berpikir manusia. Kode jangan terlalu panjang.
2.2.12 Entity- Relationship Model
Model Entity- Relationship (ER) menggunakan pendekatan top-down dalam
perancangan basis data yang dimulai dengan mengidentifikasikan data yang
penting yang disebut entity dan relationship dan data harus direpresentasikan di
dalam model, kemudian ditambahkan beberapa atribut , dan constraint pada
entity , atribut dan relationship.
45
2.2.12.1 Entity type
Entitas merupakan individu yang mewakili sesuatu yang nyata
(eksistensinya) dan dapat dibedakan dari sesuatu yang lain. Sekelompok entitas
yang sejenis dan berada dalam lingkup yang sama membentuk sebuah Himpunan
Entitas (Entity Set). Contoh himpunan entitas : semua Pelanggan atau Pelanggan
saja. Dengan entitas Jack, Mike dan seterusnya.
Setiap entitas memiliki atribut yang mendeskripsikan karakteristik
(property) dari entitas tersebut.
Entity type dapat diklasifikasikan menjadi
• Strong entity type, yaitu entity type yang keberadaannya tidak bergantung
pada entity type lain (Connoly dan Begg, 2005, p354). Misalnya, kita dapat
mengidentifikasi setiap anggota staff secara unik menggunakan atribut
noStaff, yang merupakan primary key untuk tipe entity Staff.
• Weak entity type, yaitu entity type keberadaannya bergantung pada entity type
lain (Connoly dan Begg, 2005, p355).
2.2.12.2 Relationship type
Menurut Connolly dan Begg (2002, p334), relationship type adalah
sekumpulan hubungan antara satu atau lebih dari tipe-tipe entiti. Setiap tipe relasi
diberi nama sesuai dengan fungsinya.
Derajat dari relasi adalah jumlah dari partisipasi tipe entiti dalam sebuah
tipe relasi tertentu. Sebuah relasi yang berderajat dua disebut binary relationship,
46
relasi yang berderajat tiga disebut ternary relationship, dan relasi yang berderajat
empat disebut quartenary relationship.
Recursive relationship adalah sebuah tipe hubungan relasional dimana
entiti yang sama berpartisipasi lebih dari satu dalam peran yang berbeda.
Hubungan relasional dapat diberikan nama peran untuk menandai setiap tipe
entiti yang berpartisipasi dalam hubungan relasional tersebut.
2.2.12.3 Atribut-atribut
Menurut Connolly dan Begg (2002, pp338-342), atribut adalah sifat dari
sebuah entiti atau tipe relasi. Sifat tertentu dari entiti disebut atribut. Atribut
menyimpan nilai dari setiap entity occurrence dan mewakili bagian utama dari
data yang disimpan di dalam basis data.
• Simple / Composite Attribute
Simple attribute adalah susunan atribut yang terdiri dari satu komponen
tunggal dengan keberadaan yang bebas. Simple attribute tidak bisa dibagi
lagi ke dalam komponen yang lebih kecil, misalnya posisi dan gaji dari entiti
pegawai.
Composite attribute adalah susunan atribut yang terdiri dari banyak
komponen dengan sebuah keberadaan yang bebas. Dalam hal ini beberapa
atribut dapat dipisahkan menjadi komponen yang lebih kecil lagi dengan
keberadaan yang bebas. Contohnya atribut alamat dari entity kantor cabang
yang mengandung nilai (jalan, kota, kode pos) bias dipecahkan menjadi
atribut sederhana yaitu jalan, kota, dan kode pos.
47
• Single / multi-valued attribute
Single-valued attribute adalah atribut yang mempunyai nilai tunggal
untuk setiap kejadian atau sebuah entity type.
Multi-valued attribute adalah atribut yang mempunyai beberapa nilai
untuk setiap kejadian atau sebuah entity type. Contohnya atribut telepon pada
entity kantor cabang yang bisa memiliki lebih dari satu nomor telepon.
• Derived Attribute
Derived Attribute adalah atribut yang memiliki nilai yang dihasilkan
dari satu atau beberapa atribut lainnya, dan tidak harus berasal dari entity
yang sama.
• Attribute domain
Satuan nilai-nilai yang diperkenankan untuk satu atau lebih atribut. Setiap
atribut yang dihubungkan dengan sejumlah nilai disebut domain. Domain
mendefinisikan nilai-nilai yang dimiliki sebuah atribut atau sama dengan
konsep domain pada model relasi.
2.2.12.4 Key
• Candidate Key, adalah sekumpulan atribut minimal yang secara
unik mengenali setiap kejadian dalam tipe entiti Sebuah entiti dapat
mempunyai lebih dari satu candidate key. Sebuah candidate key tidak boleh
NULL.
48
• Primary Key, kunci primer yang dipilih dari candidate key untuk mengenali
secara unik setiap kejadian dari sebuah tipe entiti. Pemilihan primary key
untuk sebuah entiti adalah berdasarkan pada pertimbangan panjang atribut,
jumlah minimal dari kebutuhan atribut, dan memenuhi syarat unik
• Alternate Key, adalah setiap candidate key yang tidak terpilih menjadi
primary key
• Composite Key, candidate key yang terdiri dari dua atribut atau lebih. Atribut
tersebut jika digabungkan akan menghasilkan sebuah record yang unik dalam
suatu entiti.
• Foreign Key, adalah sebuah kunci primer yang terhubung dengan entiti yang
lain, fungsinya sebagai penghubung antar entiti. Dengan adanya foreign key
maka relasi antar entiti saling berhubungan
2.2.12.5 Structural Constraints
Constraint harus mencerminkan pembatasan (restriction) pada
relationship sebagai perhatian (preceived) di dalam dunia nyata. Tipe utama dari
constraint di dalam relationship disebut multiplicity. Menurut Connolly (2005,
p356), multiplicity adalah jumlah (jangkauan) dari kemungkinan occurence
tunggal dari sebuah entity yang bias menghubungkan sebuah occurence tunggal
dari tipe entity yang berasosiasi melalui relationship tertentu.
Multiplicity menentukan cara dimana entity dihubungkan. Ini adalah
sebuah representasi dari aturan bisnis yang ditetapkan oleh user atau perusahaan.
Seperti yang disebutkan sebelumnya bahwa relationship berderajat dua yang
49
disebut dengan binary, umumnya binary relationship bisa ditunjukkan sebagai
hubungan one:to:one (1:1), onet:to:many (1:*), atau many:to:many (*:*).
Multiplicity sesungguhnya mengandung dua constraint yang dipisahkan, yang
dikenal sebagai cardinality dan participation.
• Cardinality menggambarkan jumlah maksimum kemungkinan relationship
occurence untuk sebuah entity pengikutsertaan (participating entity) dalam
relationship yang diberikan.
• Participation adalah menetapkan semua atau beberapa occurrence yang
diikutsertakan dalam sebuah tipe relationship. Sebuah participation constraint
yang menunjukkan semua entity occurrence terkait dalam relationship tertentu
disebut sebagai mandatory participation. Sedangkan yang menunjukkan hanya
bebrapa disebut sebagai optional participation.