7 BAB II LANDAS AN TEORI
2.1
Teori-teori Basis Data 2.1.1
Pengertian Data M enurut Kadir (1998, p.5), data adalah fakta mengenai suatu objek atau orang. Data dinyatakan dengan nilai (angka, deretan karakter, atau simbol). Hirarki data menurut Kadir (1998, p.8-p.9), secara tradisional data diorganisasikan ke dalam suatu hirarki yang terdiri dari elemen, rekaman (record), dan berkas (file). •
Elemen data Elemen data adalah satuan data terkecil yang tidak dapat dipecah lagi menjadi unit lain yang bermakna. Istilah lain untuk elemen data adalah medan (field), kolom, item, dan atribut.
•
Rekaman Rekaman adalah gabungan sejumlah elemen data yang saling terkait. Dalam sistem basis data relasional, rekaman biasa disebut dengan istilah tuple atau baris.
•
Berkas Himpunan seluruh rekaman yang bertipe sama membentuk sebuah berkas. Berkas dapat dikatakan sebagai kumpulan rekaman data yang berkaitan dengan suatu objek. Dalam sistem basis data relasional, berkas mewakili komponen yang disebut tabel atau relasi.
7
8 2.1.2
Pengertian Basis Data Basis
data dan
teknologi dalam basis
data mengalami
perkembangan yang besar seiring dengan berkembangnya penggunaan komputer. Basis data dapat diartikan sebagai suatu kumpulan data yang secara logika saling terkait, dan terdapat uraian mengenai data tersebut, dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi (Connolly, 2002 p.14). Basis data (Bambang Harianto, 2004, p.4) adalah kumpulan
data (elementer)
yang secara logik
berkaitan
dalam
merepresentasikan fenomena/fakta secara terstruktur dalam domain tertentu untuk mendukung aplikasi pada sistem tertentu. Atau bisa juga diartikan sebagai kumpulan data yang saling berhubungan yang merefleksikan fakta-fakta yang terdapat di organisasi. Basis data mendeskripsikan state organisasi/perusahaan/sistem.
2.1.3
Sistem Basis Data M enurut Date (1990, p.5) sistem basis data pada dasarnya merupakan
sebuah
sistem
penyimpanan
record
yang
telah
terkomputerisasi, dimana hal tersebut bertujuan untuk memelihara informasi dan untuk membuat informasi tersebut tersedia pada saat diperlukan. Sistem basis data meliputi empat komponen utama yaitu : •
Data
•
Perangkat keras (hardware)
•
Perangkat lunak (software)
9 •
Pemakai (user) Keuntungan dari pendekatan basis data menurut Date (1990, p.15)
yaitu :
2.1.4
•
Kerangkapan data dapat dikurangi
•
Ketidaksamaan dapat di hindari
•
Penggunaan data bersama
•
Standarisasi dapat dilakukan
•
Pembatasan keamanan dapat diterapkan
•
Integritas data terpelihara
•
Kebutuhan yang kompleks dapat diatasi
Database Management System (DBMS ) Database Management System (DBM S) adalah suatu system perangkat lunak yang bisa mendefinisikan, membuat, memelihara, dan mengontrol akses ke basis data (Connolly, 2002, p.16). DBM S menyediakan beberapa fasilitas sebagai berikut : •
Data Definition Language (DFL) M emperbolehkan pemakai untuk membuat spesifikasi tipe data, mendefinisikan basis data, struktur data dan constraint data untuk disimpan dalam basis data.
•
Data Manipulation Language (DM L) M emperbolehkan
pemakai
untuk
memasukkan,
memperbaharui, menghapus, dan mengirim data dari basis data.
10 2.2
Teori-teori khusus 2.2.1
Database Application Lifecycle (DBLC) Untuk merancang aplikasi sistem basis data diperlukan tahapantahapan terstruktur yang harus diikuti yang dinamakan dengan Siklus Hidup Aplikasi Basis Data (Database Application Lifecycle). Tahapantahapan terebut terlihat pada gambar 2.1. Database
Sy stem Definition
Requirements Collection and Analy sis
Database Design Conceptual Database Design DBMS Selection (optional) Logical Database Design
Application Design
Phy sical Database Design
Prototy ping (optional)
Implementation
Data Conversion and Loading
Testing
Operational Maintanance
Gambar 2.1 Database Application Lifecycle (Connolly, 2002, p.272)
11 2.2.2
Pengumpulan Kebutuhan dan Analisa Dalam tahap ini dilakukan proses pengumpulan dan analisa informasi tentang bagian organisasi yang akan didukung oleh aplikasi basis data, dan menggunakan informasi ini untuk mengidentifikasi kebutuhan pengguna terhadap sistem yang baru (Connolly, 2002, p.276). Ada lima kegiatan yang dipakai dalam teknik fact-finding, yaitu : 1. Memeriksa dokumentasi Pemahaman terhadap jalannya sistem akan cepat diperoleh dengan memeriksa dokumen-dokumen, formulir, laporan, dan berkas yang terkait dengan sistem yang sedang berjalan pada perusahaan.
Dengan
pemeriksaan
ini
diharapkan
dapat
mengetahui data-data apa saja yang akan disimpan di dalam basis data.
2. Wawancara Wawancara bertujuan untuk mengumpulkan fakta-fakta, memeriksa kebenaran fakta yang ada dan mengklarifikasinya, membangkitkan
semangat,
melibatkan
pengguna
akhir,
mengidentifikasi kebutuhan-kebutuhan, dan mengumpulkan ideide dan pendapat (Connolly, 2002, p.306).
3. Mengamati operasional perusahaan Pengamatan operasional perusahaan
memungkinkan
untuk ikut serta atau mengamati seseorang dalam melakukan
12 kegiatan
untuk
mempelajari sistem.
Setelah
satu
faktor
pengamatan dapat berhasil adalah dengan mencari informasi sebanyak mungkin tentang aktivitas tersebut.
4. Penelitian Selain melakukan penelitian yang berasal dari dalam organisasi itu sendiri, dapat juga dilakukan pengumpulan informasi yang berasal dari luar organisasi tersebut. Beberapa contoh sumber informasi tersebut diantaranya jurnal komputer, buku-buku referensi, dan internet.
5. Kuisioner Teknik lain yang dapat digunakan untuk mengumpulkan informasi
yang
dibutuhkan
adalah
dengan
menggunakan
kuisioner. Kuisioner adalah suatu dokumen dengan tujuan khusus yang memungkinkan fakta-fakta dikumpulkan dari banyak orang sambil menjaga kontrol terhadap tanggapan yang diberikan (Connolly, 2002, p.308).
2.2.3
Proyek Proyek (Iman Soeharto, 1995, p.13) adalah kegiatan sekali lewat, dengan waktu dan sumber daya terbatas untuk mencapai hasil akhir yang telah ditentukan. Dalam proses mencapai hasil akhir kegiatan proyek dibatasi oleh anggaran, jadwal dan mutu.
13 2.2.4
Manajemen Proyek M anajemen proyek (Iman Soeharto, 1995, p.17) adalah kegiatan merencanakan, mengorganisasikan, mengarahkan dan mengendalikan sumberdaya organisasi untuk mencapai tujuan tertentu dalam waktu tertentu dengan sumberdaya tertentu. Fungsi manajemen menurut pengertian di atas dapat diuraikan sebagai berikut : •
Merencanakan Suatu proses mendefinisikan suatu tujuan, membangun strategi untuk mencapai tujuan itu dan membangun rencana yang terintegrasi dan terkoordinasi.
•
Mengorganisasi Suatu
proses
menentukan
tugas
yang
harus
diselesaikan, siapa yang harus melakukannya, bagaimana membagi tugas, siapa yang harus harus melapor kepada siapa dan dimana keputusan harus dibuat.
•
Memimpin Suatu proses mengarahkan dan mempengaruhi sumber daya manusia dalam organisasi agar dapat bekerja dengan baik sehingga dapat mencapai tujuan yang telah digariskan.
14 •
Mengendalikan Suatu proses dalam menuntun, memantau, mengkaji, dan bila perlu melakukan koreksi agar hasil sesuai dengan yang telah ditentukan.
2.3
Teori Metodologi Perancangan Basis Data 2.3.1
Perancangan Basis Data Konseptual (Conceptual Database Design) Perancangan Basis Data Konseptual adalah proses membangun suatu model informasi yang digunakan oleh perusahaan atau organisasi yang tidak tergantung dari pertimbangan fisik (Connolly, 2002, p.419). Langkah pertama : M embuat local conceptual data model untuk setiap pandangan. Bertujuan untuk memecah rancangan menjadi tugastugas yang dapat diatur dengan memeriksa sudut pandang yang berbeda dari pengguna di dalam suatu organisasi (Connolly, 2002, p.421). Pada tahap membuat local conceptual data model, langkahlangkah yang dilakukan adalah sebagai berikut :
a. Mengidentifikasi entity types Bertujuan untuk menentukan entity types utama yang dibutuhkan.
M enentukan
entity
dapat
dilakukan
dengan
memeriksa user requirements specification. Setelah terdefinisi, entity diberikan nama yang tepat dan jelas seperti mahasiswa, dosen, mataKuliah.
15 b. Mengidentifikasi relationship types Bertujuan untuk mengidentifikasi suatu relationship yang penting yang ada antar entity yang telah didefinisikan. Namun dari suatu relationship menggunakan kata kerja (verb) seperti mempelajari, memiliki, mempunyai, dan lain-lain.
c. Mengidentifikasi attribute dengan entity atau relationship types Bertujuan untuk menghubungkan attribute dengan entity atau relationship yang tepat. Attribute yang dimiliki setiap entity atau relationship memiliki identitas atau karakteristik yang sesuai dengan memperhatikan attribute berikut : simple/composite attribute, single-valued attribute, dan derived attribute.
d. Menentukan attribute domain Bertujuan untuk menentukan attribute domain pada conceptual data model. Contohnya yaitu menentukan nilai attibute jenisKelamin pada entity mahasiswa dengan ‘M ’ atau ‘F’ atau nilai attribute sks pada entity mataKuliah dengan ‘1’,’2’,’3’, dan ’4’.
e. Menentukan candidate key dan primary key attribute Bertujuan untuk mengidentifikasi candidate key pada setiap entity dan memilih primary key jika ada lebih dari satu
16 candidate key. Pemilihan primary key didasari pada panjang dari attribute dan keunikan key di masa datang.
f. Mempertimbangkan
Penggunaan
Enhance
Modelling
Concepts (pilihan) Pada
langkah
ini
bertujuan
untuk
menentukan
specialization, generalization, aggregation, composition. Dimana masing-masing pendekatan dapat dilakukan sesuai dengan kebutuhan yang ada. Specialization dan generalization adalah proses dalam mengelompokkan beberapa entity dan menghasilkan entity yang baru. Beda dari keduanya adalah cara prosesnya, dimana spesialisasi menggunakan proses top-down dan generalisasi menggunakan proses buttom-up. Aggregation menggambarkan sebuah entity types dengan sebuah relationship types dimana suatu relasi hanya akan ada jika telah ada relationship lainnya.
g. Mengecek redundansi Bertujuan untuk memeriksa conceptual model
untuk
menghindari adanya informasi yang redundan. Yang dilakukan pada langkah ini adalah :
17 •
M emeriksa kembali one-to-one relationship (1:1) Setelah entity diidentifikasikan maka kemungkinan ada dua entity yang mewakili satu objek. Untuk itu dua entity tersebut harus di-merger bersama. Dan jika primary key-nya berbeda maka harus dipilih salah satu dan yang lainnya disajikan alternate key.
•
M enghilangkan relasi yang redundansi Untuk
menekan
jumlah
model data,
maka
relationship data yang redundan harus dihilangkan.
h. Memvalidasi conceptual model dengan transaksi Bertujuan untuk menjamin bahwa conceptual data model mendukung kebutuhan transaksi. Dengan menggunakan model yang
telah
divalidasi
tersebut,
dapat
digunakan
untuk
melaksanakan operasi secara manual. Ada dua pendekatan yang mungkin untuk menjamin bahwa local conceptual data model mendukung kebutuhan transaksi yaitu : •
M endeskripsikan transaksi M emeriksa
seluruh
informasi
(entities,
relationship, dan attribute) yang diperlakukan pada setiap transaksi
yang
disediakan
oleh
model
dengan
18 mendokumentasikan penggambaran dari tiap kebutuhan transaksi. •
M enggunakan transaksi pathways Pendekatan kedua, untuk memvalidasi data model dengan keperluan transaksi yang melibatkan diagram yang mewakili pathways diambil dari tiap transaksi secara langsung yang terdapat pada E-R diagram.
2.3.2
Perancangan Basis Data Logikal (Logical Database Design) Logical database design adalah proses pembuatan suatu model informasi yang digunakan pada perusahaan berdasarkan pada model data yang spesifik, tetapi tidak tergantung dari Database Management System (DBM S) yang khusus dan pertimbangan fisik lain (Connolly, 2002, p.441). Langkah kedua : M embuat dan memvalidasi local logical data model untuk setiap pandangan. Bertujuan untuk membuat local logical data model dari local conceptual data model yang merepresentasikan pandangan khusus dari perusahaan dan memvalidasi model tersebut untuk menjamin kebenaran strukturnya (dengan menggunakan teknik normalisasi) dan menjamin bahwa model tersebut mendukung kabutuhan transaksi. Pada perancangan model logical langkah kedua, tahapantahapannya adalah :
19 a. Menghilangkan feature yang tidak kompetibel dengan model relasional (pilihan) Bertujuan untuk menghasilkan model yang kompatibel dengan model relasional, yaitu dengan : •
M enghilangkan many-to-many (*:*) binary relationship types Dengan
cara
mengandung
memecah
many-to-many
relationship (*:*)
yang untuk
mengidentifikasikan sebuah entity tengah (intermediate entity) sehingga relationship ini digantikan dengan dua buah one-to-many (1:*) relationship, dengan entity tengah berada di antara dua buah entity lama. •
M enghilangkan many-to-many (*:*) recursive relationship types Jika recursive relationship ada pada conceptual data model, relationship tersebut harus dipecah untuk mengidentifikasikan sebuah entity tengah dengan cara menganggap entity lain yang terlibat pada relationship ini merupakan dua buah entity dengan jenis relationship many-to-many (*:*) binary sehingga penyelesaiannya sama dengan penyelesaian pada relationship many-tomany (*:*) binary.
20 •
M enghilangkan complex-relationship types Dihilangkan dengan memecah relationship ini untuk mengindentifikasi entity tengah. Kemudian complex relationship ini akan digantikan dengan beberapa one-tomany (1:*) relationship.
•
M enghilangkan multi-valued attributes Dengan
cara
memecah
atribut
ini
untuk
mengidentifikasi sebuah entity.
b. Memperoleh relasi untuk local logical data model Bertujuan untuk membuat hubungan logical model yang mewakili entity, relationship dan attribute yang telah didefinisi. M endeskripsikan komposisi tiap hubungan memakai Database Definition Language (DDL) untuk relasi basis data. Dengan menggunakan DDL dapat dibuat spesifikasi nama dari relasi yang diikuti dengan daftar dari relasi attribute yang mudah lalu mengidentifikasikan primary key dan
foreign key dari suatu
relasi. Untuk memperoleh relasi untuk local logical data model, maka diperlukan penjelasan untuk mendeskripsikan struktur yang mungkin dalam data model saat ini.
21 c. Memvalidasi relasi dengan menggunakan normalisasi M enurut Connolly dan Begg (2002, p.376), normalisasi adalah sebuah teknik untuk menghasilkan relasi dengan propertiproperti yang diinginkan, memberikan kebutuhan data dari sebuah perusahaan. Tujuan normalisasi adalah terjaminnya struktur yang konsisten, kerangkapan yang minimal, dan stabilitas struktur data yang maksimal. M anfaat normalisai adalah sebagai berikut : 1. M eminimalkan
jumlah kapasitas penyimpanan yang
diperlukan untuk menyimpan data. 2. M eminimalkan resiko data yang tidak konsisten dalam suatu basis data. 3. M eminimalkan kemungkinan update dan delete anomally. 4. M emaksimalkan stabilitas struktur data. Struktur normalisasi tabel secara detil dibagi menjadi lima tahap sehingga dikenal bentuk-bentuk tabel normal sesuai dengan tahapan normalisasi yang telah dilakukan yaitu bentuk normal pertama, kedua, ketiga, Boyce-Codd, keempat, dan kelima.
d. Memvalidasi Relasi Dengan Transaksi Pengguna Bertujuan untuk menjamin bahwa relasi dalam logical model tersebut mendukung user requirement specification secara
22 detil. Selain itu juga untuk menyakinkan bahwa tidak ada kesalahan yang muncul sewaktu membuat suatu relasi.
e. Menentukan Integrity Constraints Bertujuan untuk mendefinisikan integrity constraints yang disampaikan dalam pandangan. Terdapat lima tipe integrity constraints yang harus diperhatikan, yaitu : •
Required data
•
Attribute domain constraints
•
Entity integrity
•
Referential integrity
•
Enterprise constraints
Langkah ketiga : M embuat dan memvalidasi global logical data model. Bertujuan untuk menyatukan local logical data model menjadi global logical data model. Pada perancangan logical model langkah ketiga, tahapantahapannya adalah :
a. Menggabungkan local logical data model M enghasilkan E-R diagram, skema relasional, kamus data dan dokumen pendukung yang mendeskripsikan constraints dari
23 model. Beberapa tugas yang harus dikerjakan adalah sebagai berikut : •
M emeriksa kembali nama dan isi dari entities dari relationships dan candidate key.
•
M emeriksa kembali nama dan isi dari relationships / foreign keys.
•
M enggabungkan entities atau hubungan dari local data model.
•
M engikutsertakan (tanpa menggabungkan) entities atau relationships yang unik pada tiap local data model.
•
M enggabungkan relationships atau foreign key dari local data model.
•
M engikutsertakan (tanpa menggabungkan) relationships atau foreign key unik pada tiap local data model.
•
M emeriksa untuk entities (hubungan) dan relationships atau foreign key.
•
M emeriksa integrity constraints.
•
M enggambarkan E-R diagram.
•
M elakukan update dokumen.
24 b. Memvalidasi Global Logical Data Model Bertujuan untuk memvalidasi relasi yang dibuat dari global logical data model dengan teknik normalisasi dan menjamin bahwa model tersebut mendukung kebutuhan transaksi.
c. Mengecek pertumbuhan yang akan datang Bertujuan untuk menentukan apakah ada perubahan yang signifikan seperti keadaan yang tidak terduga dimasa mendatang dan menilai apakah model logikal tersebut dapat menampung atau menyesuaikan perubahan yang terjadi.
d. Melihat Kembali Global Logical Data Model dengan Pengguna Bertujuan untuk menjamin model data logikal yang bersifat global telah tepat untuk perusahaan.
2.3.3
Perancangan Basis Data Fisik (Physical Database Design) Physical database design adalah suatu proses untuk menghasilkan gambaran dari implementasi basis data pada tempat penyimpanan, menjelaskan dasar dari relasi, organisasi file dan indeks yang digunakan untuk efesiensi data dan menghubungkan beberapa integrity constraints dan tindakan keamanan (Connolly, 2002, p.478). Langkah keempat : M enerjemahkan global logical data model untuk target DBM S. Bertujuan menghasilkan skema basis data relasional
25 dalam global logical data model yang dapat diimplementasikan ke DBM S. Pada perancangan physical model, langkah-langkahnya adalah : a. M erancang basis data relasional Dalam
memulai
merancang
physical
design,
diperlukan untuk mengumpulkan dan memahami informasi tentang relasi yang dihasilkan dari logical database design. Informasi yang penting bisa didapatkan dari kamus data dari DDL.
b. M erancang representasi dari data yang diperoleh Bertujuan untuk menentukan bagaimana setiap data yang diperoleh mewakili global logical data model ke dalam DBM S.
c. M erancang enterprise constraints Pada langkah ini bertujuan untuk merancang batasanbatasan yang ada pada perusahaan.
Langkah kelima : M erancang representasi physical. Bertujuan untuk
menentukan
organisasi file yang untuk
menyimpan dan
menentukan indeks yang dibutuhkan untuk meningkatkan performa. Terdapat tiga faktor yang memungkinkan digunakan representasi physical :
26 1. Transaction throughput 2. Response time 3. Disk storage Dalam langkah kelima ini perlu untuk memahami system resource untuk menigkatkan performa basis data. •
Main memory Dengan semakin besar main memory yang ada maka akan dapat menigkatkan performa DBM S dan aplikasi basis data yang digunakan.
•
CPU M engontrol tugas-tugas dari system resource lain dan mengeksekusi prosesnya.
•
Disk I/O Dengan menggunakan DBM S yang besar, maka disk I/O yang diperlukan sangat signifikan dalam menyimpan dan mengambil data. Untuk menghindari kemacetan transfer data, maka: i. File sistem operasi harus dipisahkan dari file basis data. ii. File utama basis data harus dipisahkan dari file indeks.
27 iii. File recovery log harus dipisahkan dari basis data yang sedang digunakan.
•
Network Ketika jumlah data yang ditransfer telah banyak, maka dengan menggunakan network sangat dianjurkan. Selain itu juga untuk menghindari dari kemacetan dalam mentransfer data.
Langkah-langkah dalam langkah kelima ini adalah : a. Menganalisa transaksi Bertujuan untuk memahami fungsi dari transaksi yang dijalankan pada basis data dan menganalisa transaksi yang penting. Kriteria kemampuan yang harus diidentifikasi dalam menganalisa transaksi adalah : •
Transaksi dapat
berjalan
secara sering
dan
akan
mempunyai dampak yang signifikan pada performa. •
Transaksi yang kritis pada operasi dan bisnis.
•
Waktu selama sehari atau seminggu ketika akan ada permintaan yang tinggi pada saat basis data dibuat.
28 b. Memilih file organisasi Bertujuan untuk menyimpan data secara tepat ke tempat penyimpanan data.
c. Memilih indeks Bertujuan untuk meningkatkan performa dalam suatu sistem basis data. Salah satu pendekatan untuk memilih organisasi file yang cocok untuk relasi adalah untuk menyimpan tuples yang tidak disimpan dan dibuat sebanyak
secondary indexes
sebagaimana diperlukan. Oleh karena itu, pilih attribute yang digunakan adalah : •
Attribute yang sering digunakan untuk join operations untuk membuat lebih efisien.
•
Attribute yang sering dipesan untuk mengakses tuples pada suatu relasi di dalam urutan yang menunjukkan attribute.
d. Memperkirakan kebutuhan ruang penyimpanan Bertujuan penyimpanan
untuk
yang
akan
memperkirakan diperlukan
jumlah dalam
basis
ruang data.
Perkiraannya didasari pada ukuran setiap tabel dalam suatu relasi. Contohnya dalam lima tahun mendatang berapa kapasitas hard disk yang dibutuhkan untuk menampung data.
29 Langkah keenam : M erancang pandangan pengguna (user interface). Bertujuan untuk merancang user interface yang telah diidentifikasi selama mengumpulkan kebutuhan dan menganalisa langkah dari relasional database lifecycle. Contohnya pada branch terdiri dari interface direktur dan manajer. Langkah ketujuh : M erancang keamanan. Dalam sebuah sistem basis data, keamanan adalah elemen yang sangat penting mengingat isi dari basis data berupa informasi yang sangat penting. Langkah kedelapan :
M empertimbangkan pengenalan dan
redundansi kontrol. Pada langkah physical database design ini mempertimbangkan denormalisasi skema relasional untuk meningkatkan performa. Hasil dari normalisasi adalah perancangan basis data logikal secara struktural konsisten dan menekan jumlah redundansi. Faktor yang perlu dipertimbangkan adalah : •
Denormalisasi membuat implementasi lebih kompleks.
•
Denormalisasi selalu mengorbankan fleksibilitas.
•
Denormalisasi akan membuat cepat dalam retrieve data tetapi lambat dalam updates.
Ukuran performa dari suatu perancangan basis data dapat dilihat dari sudut pandang tertentu yaitu melalui pendekatan efisiensi data (Normalisasi) atau pendekatan efisiensi proses (Denormalisasi). Efesiensi data dimaksudkan untuk meminimalkan kapasitas disk, dan efesiensi
30 proses dimaksudkan untuk mempercepat proses saat retrieve data dari basis data. Langkah kesembilan : M emonitor dan memasang sistem operasi. Bertujuan untuk memonitor sistem operasi, meningkatkan performa dan menentukan perancangan sistem yang tepat atau menggambarkan perubahan kebutuhan.
2.4
Entity Relationship Modelling 2.4.1
Entity type Entity adalah kumpulan objek dengan sifat-sifat sama yang diidentifikasikan oleh perusahaan dan mempunyai keberadaannya sendiri. Entity dilambangkan dengan sebuah kotak yang dibubuhi nama dari entity tersebut didalam kotak tersebut. Dalam UM L huruf pertama entity selalu menggunakan huruf capital. Entity ada dua jenis, yaitu : a. Strong entity : keberadaannya tidak bergantung pada entity lain. b. Weak entity : keberadaannya bergantung pada enitity lain.
2.4.2
Relationship type Sekumpulan asosiasi yang artinya mempunyai satu atau lebih tipe entity. Setiap tipe relasi diberikan nama yang menggambarkan fungsinya. Representasi diagram dari tipe relasi ditunjukkan dengan garis yang menghubungkan tipe entity yang berasosiasi dan diberi label dengan nama relasi.
31 2.4.2.1
Derajat tipe relasi Entity yang dilibatkan dalam tipe relasi tertentu dinyatakan sebagai partisipan pada relasi tersebut. Jumlah partisipan pada tipe relasi disebut derajat relasi. Relasi dengan derajat dua disebut binary. Relasi dengan derajat tiga disebut ternary. Relasi dengan derajat empat disebut quaternary.
2.4.2.2
Relasi rekursif M erupakan tipe relasi dimana tipe entity yang sama berpartisipasi lebih dari sekali dengan peranan yang berbeda.
2.4.3
Atribut M erupakan property
dari sebuah entity atau tipe relasi.
Contohnya, tipe entity Pegawai, bisa memiliki atribut nomor pegawai, nama pegawai, jabatan, dan gaji. Atribut dapat dikelompokan sebagai berikut :
2.4.3.1
Atribut S ederhana dan Komposit Atribut sederhana merupakan atribut yang terdiri dari satu komponen tunggal dengan keberadaannya sendiri, sehingga tidak dapat dipecah menjadi komponen-kompenen yang lebih kecil lagi. Contoh atribut sederhana meliputi jabatan dan gaji dari entity Pegawai. Atribut komposit merupakan atribut yang
32 dibentuk dari banyak komponen. Contohnya atribut alamat dapat dipecah menjadi atribut jalan, kota, dan kode pos.
2.4.3.2
Atribut Single-Valued dan Multi-Valued Atribut Single-Valued merupakan atribut yang menyimpan nilai tunggal untuk setiap entity. Kebanyakan atribut adalah Single-Valued. Atribut Multi-Valued merupakan atribut yang menyimpan banyak nilai untuk setiap entity.
2.4.3.3
Atribut Turunan Atribut Turunan merupakan atribut dimana nilainya diperoleh atau diturunkan dari nilai atribut atau sekumpulan atribut lainnya, dan tidak harus dari tipe entity yang sama.
2.4.4. Keys 2.4.4.1. Simple Key Simple key merupakan candidate key yang terdiri atas dua atau lebih atribut, dimana nilai dari atribut tersebut bila digabungkan
secara
bersama-sama
baru
akan
dapat
mengidentifikasikan sebuah record unik untuk tipe entity tersebut.
33 2.4.4.2. Composite Key Composite Key merupakan candidate key yang terdiri atas dua lebih atribut, dimana nilai dari atribut tersebut bila digabungkan
secara
bersama-sama
baru
akan
dapat
mengidentifikasikan sebuah record unik tipe entity tersebut.
2.4.4.3. Candidate Key Candidate Key merupakan sekumpulan minimal atribut yang secara unik untuk mengidentifikasikan setiap kemunculan tipe entity.
2.4.4.4. Primary Key Primary Key merupakan key yang terpilih secara unik untuk mengidentifikasikan setiap kemunculan tipe entity.
2.4.4.5. Alternate Key Alternate Key merupakan kunci candidate yang tidak dapat dipakai sebagai kunci primer (primary key).
2.4.4.6. Foreign Key Foreign Key yang merupakan
suatu
atribut yang
melengkapi satu hubungan (relationship) yang menunjukkan ke induknya.
34 2.5
Normalisasi M erupakan serangkaian test dari sebuah relasi untuk menentukan apakah relasi tersebut memuaskan atau mengganggu kebutuhan dari sebuah normal form yang diberikan (Connolly,2002,p.376).
2.5.1
Proses Normalisasi Teknik normalisasi menyangkut sebuah rangkaian aturan yang digunakan untuk memeriksa sebuah relasi, sehingga sebuah basis data dapat dinormalisasi dalam beberapa tahap. Normalisasi biasanya dijalankan seperti sekumpulan langkah secara bertahap, dimana relasi menjadi semakin kuat bila langka (degree) yang dikenakan padanya semakin tinggi.
2.5.1.1
Bentuk Normal Kesatu (1NF) M engidentifikasi dan membuang atribut yang berulang (repeting group) dan memiliki nilai yang lebih dari satu. Suatu hubungan dikatakan normal pertama jika : a) Setiap dari baris dan kolom berisi atribut yang bernilai tunggal. b) Kunci primer telah ditentukan. c) Atribut nilai banyak (multi value) telah dihilangkan.
35 2.5.1.2
Bentuk Normal kedua (2NF) Suatu relasi yang memiliki composite key sebagai primary key-nya mempunyai kemungkinan untuk memiliki partial functional dependency, dimana atribut primary key merupakan fungsi pada salah satu atau sebagian dari primary key. Dalam 2NF maka setiap atribut yang merupakan partial functional dependency harus dipisahkan ke relasi atau tabel yang baru dengan mengikutsertakan determinannya. Bentuk 2NF diperoleh apabila setiap atribut bukan bagian dari primary key suatu tabel merupakan functional dependency dari primary key tabel tersebut.
2.5.1.3
Bentuk Normal Ketiga (3NF) Suatu tabel atau relasi memiliki transitive dependency apabila memiliki atribut bukan primary key yang bergantung fungsional pada atribut bukan primary key lainnya pada tabel tersebut. M aka setiap atribut yang transitive dependency dipisahkan menjadi relasi yang baru dengan mengikutsertakan determinannya. Bentuk 3NF diperoleh apabila setiap atribut bukan primary key dalam suatu tabel merupakan transitive dependency dari atribut bukan primary key tabel tersebut.
36 2.5.1.4
Bentuk Normal Boyce-Codd (BCNF) Normalisasi BCNF dapat dilakukan bila terdapat kondisi dimana relasi memiliki dua atau lebih composite key dimana candidate key-nya saling melengkapi, yang sedikitnya memiliki satu atribut pada umumnya. Sebuah relasi dikatakan BCNF, jika dan hanya jika setiap determinant adalah candidate key.
2.5.1.5
Bentuk Normal Keempat (4NF) Sebuah
relasi
dikatakan
memiliki
multi-value
dependency apabila dua atau lebih one to many relationship saling bebas terdapat pada relasi tersebut. Multi-Value dependency dapat dihilangkan dengan memisahkan masingmasing relasi one to many menjadi sebuah tabel baru dengan mengikutsertakan determinantnya. Bentuk 4NF diperoleh apabila relasi tersebut telah BCNF dan tidak terdapat multivalue dependency.
2.5.1.6
Bentuk Normal Kelima (5NF) Relasi dikatakan telah 5NF bila relasi tersebut tidak memiliki joint dependency.
37 2.6
SQL (Structured Query Language) 2.6.1
Pengertian SQL M enurut Kadir (2002, p.101), SQL singkatan dari Structured Query Language. Dalam bahasa inggris sering dibaca sebagai SEQUEL. SQL merupakan bahasa query standard yang digunakan untuk mengakses basis data relasional. Standardisasi internasional terhadap sql pertama kali dilakukan oleh ANSI (American National Standard Institution), melalui publikasi database language SQL (ANSI X3.136 – 1986). Saat ini, ANSI dan ISO (International Standards Organization) merupakan dua organisasi yang membuat standardisasi terhadap SQL. SQL pertama kali diterapkan pada sistem R (sebuah proyek riset pada laboratorium riset San Jose, IBM ). Namun kini SQL juga di jumpai pada berbagai platform, dari microcomputer hingga mainframe. SQL dapat digunakan baik secara berdiri sendiri maupun dilekatkan pada bahasa-bahasa lain seperti COBOL dan C. SQL juga telah menjadi bagian dari sejumlah DBM S, seperti ORACLE, SYBA SE, dan INFORM IX. SQL bukanlah satu-satunya query yang diterapkan pada basis data. QUELL adalah contoh bahasa query yang lain, yang pertama kali diperkenalkan pada sistem basis data Ingres.
38 2.6.2
SQL sebagai Sub Bahasa Penyebutan SQL sebagai bahasa query tidak tepat sebab kemampuan SQL tidak terbatas hanya untuk query (memperoleh data) tetapi juga mencakup kemampuan lain seperti : a. Pendefinisian struktur data. b. Pengubahan data. c. Pengaturan sekuritas, dan sebagainya. Terkadang SQL dikatakan sebagai sub bahasa data, bukan sebagai bahasa. Alasan SQL bukanlah bahasa query telah dijelaskan. Adapun alasan SQL dikatakan sebagai sub bahasa data adalah karena SQL tidak mendukung persyaratan bahasa yang lengkap, sekaligus SQL dapat dipakai untuk mengakses basis data. SQL tidak menyediakan hal-hal berikut : •
Pernyataan penguji kondisi (semacam IF pada COBOL).
•
Pernyataan pengulangan/iterasi (semacam REPEAT pada pascal).
2.6.3
Antarmuka SQL Terhadap DBMS Penggunaan SQL pada DBM S cukup luas. SQL dapat dipakai oleh berbagai kalangan (DBA, pemrogram, ataupun pengguna).
2.6.3.1
SQL sebagai bahasa administrasi basis data Dalam hal ini SQL dipakai oleh DBA untuk menciptakan serta mengendalikan pengaksesan basis data.
39 2.6.3.2
SQL sebagai bahasa query interaktif Pengguna dapat memberikan perintah-perintah untuk mengakses basis data yang sesuai dengan kebutuhannya. Hal seperti ini sangat berguna untuk memenuhi kebutuhankebutuhan yang seketika (hanya digunakan saat itu saja).
2.6.3.3
SQL sebagai bahasa pemrograman basis data Pemrograman dapat menggunakan perintah-perintah SQL dalam program aplikasi yang dibuat, guna mengakses basis data.
2.6.3.4
SQL sebagai bahasa client / server SQL juga dipakai untuk mengimplementasikan system client/server. Sebuah klien dapat menjalankan suatu aplikasi yang mengakses basis data yang ada pada suatu server. Dalam hal ini sistem operasi antara server dan klien bisa berbeda. Sebagai contoh, server barangkali menggunakan UNIX dan client menggunakan perangkat lunak DBM S yang berbeda. Sebagai contoh, client menggunakan Visual Foxpro dan server menggunakan Informix.
40 2.6.4
Elemen SQL M enurut Kadir (1999,p.104-p.106), elemen dasar SQL mencakup pernyataan, nama, tipe data, konstanta, ekspresi, dan fungsi bawaan.
2.6.4.1
Pernyataan Pernyataan adalah perintah SQL yang meminta suatu tindakan pada DBM S. SQL memiliki kira-kira 30 pernyataan. Beberapa pernyataan dasar SQL bisa dilihat pada tabel berikut :
PERNYATAAN
KETERANGAN
ALTER
M engubah struktur tabel
COMM IT
M engakhiri sebuah eksekusi transaksi
CREATE
M enciptakan tabel, indeks, atau pandangan
DELETE
M enghapus baris pasa tabel
DROP
M enghapus tabel, indeks,atau pandangan
GRANT
M enugaskan
hak
terhadap
basis data kepada pengguna atau grup pengguna INSERT
M enambahkan sebuah baris
41 pada tabel REVOKE
M embatalkan hak terhadap basis data
ROLLBACK
M engembalikan ke keadaan semula sekiranya transaksi gagal dilaksanakan
SELECT
M emilih baris dan kolom pada tabel
UPDATE
M engubah nilai pada sebuah baris Tabel 2.1 Tabel Pernyataan dasar S QL
2.6.4.2
Nama Nama digunakan sebagai identitas bagi objek-objek pada DBM S. Contoh objek pada DBM S adalah tabel, kolom, dan pengguna.
2.6.4.3
Tipe Data Setiap data memiliki tipe data. Beberapa tipe data standar dapat dilihat pada tabel berikut :
TIPE DATA
KETERANGAN
CHAR
Untuk
menyatakan
deretan
42 karakter (string). M isalnya, untuk menyatakan nama orang, nama jalan, atau nama kota INTEGER
Untuk menyatakan bilangan bulat
NUM ERIC
Untuk menyatakan bilangan real Tabel 2.2 Tabel Tipe data dasar
Adapun beberapa tipe data perluasan dapat dilihat pada tabel berikut : TIPE DATA
KETERANGAN
VARCHAR
Untuk menyatakan string yang panjangnya bervariasi
MONEY
Untuk menyatakan uang
BOOLEAN
Untuk menyatakan tipe logis (true atau false)
BLOB
Untuk menyatakan data biner
AUTO INCREM ENT
Untuk menyatakan nilai yang urut
Tabel 2.3 Tabel Tipe Data Perluasan
2.6.4.4
Konstanta Konstanta menyatakan nilai yang tetap (kebalikan dari konstanta variable). Beberapa contoh konstanta :
43 •
Konstanta numerik : 123, -245, 5.45
•
Konstanta : ‘Jl. Kartika 21’
•
Konstanta simbolik
(konstanta
yang
tersedia
pada SQL dan mempunyai makna tersendiri) : SYSDATE
(tanggal
system),
USER
(nama
pengguna yang menjalankan SQL), Konstanta simbolik seringkali disebut variabel sistem.
2.6.4.5
Ekspresi Ekspresi adalah segala sesuatu yang menghasilkan nilai. Ekspresi digunakan untuk menghitung nilai. Contoh : (LABA / M ODAL) * 100 merupakan ekspresi untuk membagi isi variable LABA dengan M ODAL, dan kemudian dikalikan dengan 100. Simbol-simbol yang dapar digunakan pada ekspresi aritmatika antara lain :
S IMBOL
KETERANGAN
*
Perkalian
/
Pembagian
+
Penjumlahan
-
Pengurangan Tabel 2.4 Tabel Simbol ekspresi Aritmatika
44 2.6.4.6
Fungsi Bawaaan Fungsi bawaan adalah sebuah sub-program yang menghasilkan suatu nilai jika dipanggil. SQL memiliki sejumlah fungsi bawaan (fungsi yang disediakan oleh SQL). Sebagai contoh, terdapat fungsi bernama M IN yang digunakan untuk memperoleh nilai terkecil atau avg untuk memperoleh nilai rata-rata.
2.6.5
Kelompok Pernyataan SQL Pernyataan SQL dapat dikelompokkan menjadi 5 kelompok yaitu DDL (Data Definition Language), DM L (Data Manipulation Language), DCL (Data Control Language)
2.6.5.1
DDL (Data Definition Language) Suatu bahasa yang mengijinkan seorang DBA atau pengguna untuk menggambarkan dan memberikan nama suatu entity, attribute dan relationships yang dibutuhkan untuk
aplikasi,
bersama-sama yang terhubung dan
memiliki batasan keamanan (Connolly, 2002, p.40). DDL digunakan untuk mendefinikan skema atau memodifikasi skema yang sudah ada. DDL tidak dapat digunakan untuk memanipulasi data.
45 2.6.5.2
DML (Data Manipulation Language) Suatu bahasa yang medukung suatu sekumpulan operasi untuk mendukung operasi manipulasi basis data yang dibuat dalam basis data (Connolly, 2002, p.41). Perintah yang masuk kategori DM L adalah :
2.6.5.3
•
SELECT memilih data
•
INSERT memasukkan data
•
DELETE menghapus data
•
UPDATE mengubah data
DCL (Data Control Language) DCL berisi perintah-perintah untuk mengendalikan pengaksesan data. Pengendalian dapat dilakukan per pengguna, per table, per kolom, maupun per operasi yang boleh dilakukan. Perintah-perintah yang termasuk DCL :
2.6.5.4
•
GRANT memberikan pengendalian akses data
•
REVOKE mencabut kemampuan pengaksesan data
•
LOCK TABLE mengunci table
Pengendali Transaksi Pengendalian transaksi adalah perintah-perintah yang berfungsi untuk mengendalikan pengeksekusian
46 transaksi. Perintah yang termasuk dalam kategori ini antara lain : •
COMM IT menyetujui rangkaian perintah ynag berhubungan erat (disebut transakasi) yang telah berhasil dilakukan.
•
ROLLBACK membatalkan transaksi yang ada karena ada kesalahan atau kegagalan pada salah satu rangkaian perintah.
2.6.5.5
Pengendali Programatik Pengendali programatik mencakup pernyataanpernyataan yang berhubungan dengan pemanfaatan SQL dalam bahasa lain (SQL yang dilekatkan). Pernyataanpernyataan ini bisa dipakai pada bahasa konvensional (3GL) seperti COBOL. Yang termasuk dalam pengendalian programatik : • CLOSE menutup kursor (pointer yang menunjuk ke tabel) • DECLARE mendeklarasikan kursor • FETCH mengambil nilai baris berikutnya • OPEN untuk membuka kursor
47 2.7
Teori-teori Lain 2.7.1
Entity Relationship Diagram (ERD) M enurut Whitten (2004, p.281) Entity Relationship Diagram (ERD) yaitu model data yang menggunakan beberapa notasi untuk menggambarkan data dalam konteks entitas dan hubungan yang dideskripsikan oleh data tersebut.
2.8
Teori-teori Pendukung 2.8.1
Internet 2.8.1.1
Pengertian Internet Internet
berasal
dari
kata
Interconnection
Networking yang mempunyai arti hubungan komputer dengan berbagai tipe yang membentuk sistem jaringan yang mencakup seluruh dunia (jaringan komputer global) dengan melalui jalur telekomunikasi seperti telepon, radio link, satelit dan lainnya. Dalam mengatur integrasi dan komunikasi jaringan komputer ini digunakan protokol yaitu TCP/IP. TCP (Transmission Control Protocol) bertugas memastikan bahwa semua hubungan bekerja dengan benar, sedangkan IP (Internet Protocol) yang mentransmisikan data dari satu komputer ke komputer lain. TPC/IP secara umum berfungsi memilih rute terbaik transmisi data, memilih
48 rute alternatif jika suatu rute tidak dapat di gunakan, mengatur dan mengirimkan paket-paket pengiriman data. Dengan
memanfaatkan
internet,
pemakaian
komputer di seluruh dunia dimungkinkan untuk saling berkomunikasi dan pemakaian bersama informasi dengan cara saling kirim e-mail, menghubungkan ke komputer lain, mengirim dan menerima file, membahas topik tertentu pada newsgroup dan lain-lain.
2.8.1.2
Sejarah Internet Internet pertama kali dibuat oleh Advance Projects Agency (ARPA) dari pemerintah Amerika Serikat pada tahun 1969 dan pertama kali dikenal sebagai ARPANet. Ide dari ARPANet ini awalnya adalah untuk menghubungkan
komputer-komputer
riset
antar
universitas. ARPANet pertama kali terhubung dengan empat universitas besar di Amerika Serikat yaitu University of California at Los Angeles (UCLA), University of California at Santa Barbara (UCSB), Stanford Research Institute, dan University Utah. Secara umum ARPANet diperkenalkan pada tahun 1972. Proyek ARPANet merangsang bentuk jaringan, kehandalan, dan sampai berapa besar informasi dapat dipindahkan, dan akhirnya semua standar yang mereka
49 tentukan menjadi cikal bakal untuk pengembangan protokol yang sekarang dikenal sebagai Transfer Control Protocol/Internet Protocol (TCP/IP). Protokol jaringan dari ARPANet menggunakan teknologi yang disebut packet switching. Dengan teknik data komputer dikirim dan diterima melalui satu saluran, sehingga hanya dengan menggunakan satu pasang kabel, data dapat disalurkan melalui beberapa tempat yang berbeda. Pada awal tahun 80an, seluruh jaringan yang menggunakan
protokol
berkomunikasi.
Komunikasi
TCP/IP antar
untuk
dapat
jaringan
dapat
dilaksanakan, data dan informasi dari komputer yang masih dalam bentuk digital perlu diubah terlebih dahulu ke dalam bentuk analog, shingga dapat dikirimkan melalui jaringan telepon. Data analog yang dikirim tersebut kemudian diubah kembali menjadi data digital dengan bantuan alat modem (modulator demodulator).
2.8.2
Web World Wide Web ("WWW", atau singkatnya "Web") adalah suatu ruang informasi di mana sumber-sumber daya yang berguna diidentifikasi oleh pengenal global yang disebut Uniform Resource Identifier (URI).
50 WWW sering dianggap sama dengan Internet secara keseluruhan, walaupun sebenarnya ia hanyalah bagian daripadanya. Hiperteks dilihat dengan sebuah program bernama penjelajah web yang mengambil informasi (disebut "dokumen" atau "halaman web") dari peladen web (server web) dan menampilkannya, biasanya di sebuah tampilan komputer. Kita lalu dapat mengikuti pranala di setiap halaman untuk pindah ke dokumen lain atau bahkan mengirim informasi kembali kepada peladen untuk berinteraksi dengannya. Ini disebut "surfing" atau "berselancar" dalam bahasa Indonesia. Halaman web biasanya diatur dalam koleksi material yang berkaitan yang disebut "situs web".
2.8.3
Personal Home Page (PHP) Php merupakan gabungan dari beberapa fitur-fitur terbaik dari bahasa pemrograman yang modern untuk membuat sesuatu yang unik dan pendekatan untuk membuat web aplikasi yang baru. PHP adalah singkatan dari PHP Hypertext Preprocessor, merupakan bahasa berbentuk skrip yang ditempatkan dalam server dan diproses di server dan kemudian hasilnya dikirim ke klien, tempat pemakai browser. PHP dirancang untuk membentuk web dinamis, artinya dapat membentuk suatu tampilan berdasarkan permintaan terkini (Kadir, 2003, p.1).
51 2.8.4
Javascript Javascript
adalah
salah
satu
bahasa
pemrograman
yang
dikembangkan oleh Netscape untuk dipakai pada pembuatan halaman web yang dinamis dan interaktif. Javascript merupakan bahasa pemrograman yang dibuat untuk memudahkan bagi setiap orang untuk mempelajari bahasa Java. Bahasa pemograman javascript dibuat secara khusus untuk membuat suatu halaman web yang interaktif maupun dinamis. Jika java merupakan bahasa pemograman dan HTM L (Hyper Text Markup Language) merupakan bahasa kode maka javascript hibrid yang menjadi perpaduan antara bahasa java dengan HTM L.
2.8.5
MySQL MySQL adalah Relational Database Management System (RDBM S) yang didistribusikan secara gratis dibawah lisensi GPL (General
Public
License).
Dimana
setiap
orang
bebas
untuk
menggunakan M ySQL, namun tidak boleh dijadikan produk turunan yang bersifat closed source atau komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. Keandalan suatu sistem database (DBM S) dapat diketahui dari cara kerja optimizer-nya dalam melakukan proses perintahperintah SQL, yang dibuat oleh user maupun program-program
52 aplikasinya. Sebagai database server, MySQL dapat dikatakan lebih unggul dibandingkan database server lainnya dalam query data. Hal ini terbukti untuk query yang dilakukan oleh single user, kecepatan query MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih cepat dibandingkan Interbase.