BAB 2 TINJAUAN PUSTAKA
2.1 Teori yang Berkaitan Dengan Database
Sebelum melakukan perancangan sebuah database, alangkah baiknya penulis mencari teori-teori pendukung yang dapat memastikan kebenaran penulisan tabel yang dilakukan oleh penulis sebelum membuat aplikasi secara keseluruhan. Berikut adalah teori yang telah kami tinjau dan digunakan selama pembangunan aplikasi
2.1.1
Pengertian Data
Menurut Connolly dan Begg (2010) data adalah komponen dalam DBMS. Data menjembatani hubungan antara mesin dan pengguna.
2.1.2
Pengertian Sistem
Menurut Connolly dan Begg (2010, p316), sistem digunakan untuk menggambarkan lingkup dan batasan dari sebuah sistem database dan pandangan pengguna secara keseluruhan. User views mendefinisikan apa saja yang di butuhkan oleh sebuah aplikasi berdasarkan peranan pekerjaan, seperti manajer dan supervisor atau berdasarkan area aplikasi perusahaan, seperti pemasaran, personalia, dan pengendalian persediaan.
7
8 2.1.3
Pengertian Basis Data
Menurut Connolly dan Begg (2010, p65), basis data adalah kumpulan data yang memiliki hubungan secara logikal yang dapat digunakan oleh banyak user dan dirancang untuk memenuhi kebutuhan sebuah organisasi.
Basis data juga merupakan tempat
penyimpanan data yang berukuran besar yang berisikan data-data organisasi berikut deskripsi dari data atau meta-data. Menurut Turban (2003, p16), basis data adalah kumpulan file atau record yang terorganisir menyimpan data beserta hubungan diantara data tersebut.
2.1.4
Pengertian Sistem Basis Data
Menurut Connolly dan Begg (2010, p65), Sistem basis data adalah sekumpulan perintah dalam aplikasi yang dapat berinteraksi dengan basis data dalam sebuah aplikasi. Sistem basis data merupakan suatu sistem pada komputer yang bertujuan untuk menyimpan informasi dan memungkinkan pengguna untuk melakukan tindak manipulasi terhadap data sesuai dengan keinginan dan permintaan.
2.1.5
Sistem Manajemen Basis Data (DBMS)
Pengertian Sistem Manajemen Basis Data (DBMS) menurut Connolly dan Begg (2010, p66) adalah sebuah sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, merawat dan mengontrol akses ke sebuah basis data. Menurut Menurut Elmasri dan Navathe (2004, p5), sistem manajemen basis data merupakan kumpulan program yang mengijinkan pengguna untuk membuat dan memelihara basis data.
9 2.1.5.1 Komponen Sistem Manajemen Basis Data
Menurut Connolly dan Begg (2010, p68) terdapat lima komponen utama pada Sistem Manajemen Basis Data (DBMS), yaitu : hardware, software, data, prosedur, dan manusia seperti yang diilustrasikan pada gambar berikut:
Gambar 2.1 Komponen Sistem Manajemen Basis Data
1. Perangkat Keras (Hardware) DBMS dan aplikasi-aplikasi lainnya memerlukan perangkat keras atau hardware untuk berjalan. Hardware dapat bervariasi jenisnya, bisa berupa single personal computer, single mainframe atau jaringan komputer. Beberapa DBMS hanya bisa berjalan di hardware atau sistem operasi tertentu, namun ada pula DBMS yang bisa dijalankan di berbagai hardware dan sistem operasi. 2. Perangkat Lunak (Software) Perangkat lunak terdiri dari DBMS itu sendiri dan program aplikasi bersama dengan sistem operasi termasuk perangkat lunak jaringan jika DBMS digunakan pada sebuah network atau jaringan. 3. Data Merupakan komponen yang paling penting dari DBMS, terutama jika dilihat dari sudut pandang pengguna utama.
10 4. Prosedur Prosedur menunjuk kepada instruksi dan aturan yang mengatur desain dan penggunaan dari database. Prosedur bisa berisi instruksi bagi pengguna mengenai cara untuk masuk ke DBMS, memulai dan menghentikan DBMS, membuat salinan data dari basis data, dan menggunakan fasilitas tertentu dari DBMS. 5. Manusia Komponen terakhir dari DBMS adalah manusia yang terlibat dengan sistem, contohnya Database Administrator, Database Designers, Application Developers dan EndUsers.
2.1.5.2 Fungsi Sistem Manajemen Basis Data
Menurut Connolly dan Begg (2010, p48), beberapa fungsi dari sistem manajemen basis data adalah sebagai berikut: 1. Data storage, retrieval, and update Sebuah DBMS harus menyediakan kemampuan bagi pengguna untuk menyimpan, menelusuri kembali, dan mengubah data yang ada dalam basis data. 2. A user-accessible catalog Sebuah DBMS harus menyediakan katalog yang
dapat
diakses
oleh
pengguna
dan
mendeskripsikan lokasi penyimpanan data dalam basis data. 3. Transaction support DBMS harus menyediakan mekanisme yang menjamin semua kegiatan perubahan pada data
11 yang berhubungan dengan transaksi dapat dikelola dengan baik. 4. Concurrency control services DBMS harus menyediakan sebuah mekanisme untuk menjamin bahwa basis data terubah dengan benar ketika beberapa pengguna mengubah data tersebut pada waktuyang bersamaan. 5. Recovery service DBMS harus menyediakan sebuah mekanisme untuk memperbaiki basis data yang rusak karena suatu kejadian. 6. Authorization service DBMS harus menyediakan sebuah mekanisme untuk menjamin bahwa hanya pengguna yang diberi otoritas yang dapat mengakses basis data. 7. Support for data communication DBMS harus mampu mendukung komunikasi data. 8. Integrity service DBMS harus menyediakan sebuah cara untuk menjamin bahwa data dalam basis data telah mengikuti aturan-aturan integritas yang ada. 9. Service to promote data independence DBMS harus mencakup fasilitas-fasilitas yang mendukung program-program independensi dari struktur basis data aktual. 10. Utility Service DBMS seharusnya menyediakan sekumpulan layanan utilitas agar basis data dapat diatur atau dikelola
secara efektif.
Layanan utilitas ini
biasanya meliputi: a. Fasilitas mengimpor basis data; b. Fasilitas memonitor penggunaan basis data dan operasi basis data;
12 c. Program analisis statistikal untuk analisis performa dan statistik pemakaian; d. Fasilitas pengaturan kembali index.
2.1.5.3 Kelebihan dan Kekurangan Sistem Manajemen Basis Data
Beberapa kelebihan yang dimiliki oleh DBMS menurut Connolly dan Begg (2010, p77) adalah sebagai berikut:
1. Kontrol atas redudansi atau pengulangan data Pendekatan basis data berusaha menghapus redundansi dengan menggabungkan file sehingga data yang sama tidak akan disimpan kembali. Bagaimanapun,
pendekatan
basis
data
tidak
menghapus redundansi secara keseluruhan, tetapi mengontrol jumlah redundansi yang terdapat pada basis data. 2. Konsistensi data. Dengan redundansi,
menghapus maka
dan
mengontrol
mengurangi
resiko
ketidakkonsistensian yang akan muncul. 3. Informasi lebih banyak dari data yang sama. Integrasi
dari
data
operasional
memungkinkan perusahaan untuk menurunkan informasi tambahan dari data yang sama. 4. Data Sharing Kemampuan Basis data milik keseluruhan organisasi untuk dapat dibagi-bagi kepada user yang berhak mengaksesnya. 5. Peningkatan integritas data. Integritas data merunjuk pada validitas dan konsistensi
data
yang
disimpan.
Integritas
biasanya digambarkan dalam bentuk constraint,
13 yang merupakan peraturan yang konsisten pada basis data yang tidak diijinkan untuk dilanggar. 6. Peningkatan keamanan. Keamanan basis data adalah perlindungan basis data dari user yang tidak memiliki hak akses. Hal ini
dapat
dilakukan
dengan
cara
membuat
username dan password untuk mengidentifikasi user yang mempunyai hak akses ke basisdata. Akses yang diberikan kepada user dapat dibatasi oleh jenis operasi yaitu insert, update, delete dan retrieval data. 7. Penetapan standar. Integrasi memungkinkan DBA mendefinisikan dan menjalankan standar yang diperlukan. Standar ini
meliputi
standar
departemen,
organisasi,
nasional dan internasional. 8. Skala ekonomi. 9. Keseimbangan
antara
kebutuhan
yang
bertentangan. 10. Peningkatan akses data dan respon. 11. Peningkatan produktivitas. 12. Peningkatan perawatan dengan independensi data. 13. Peningkatan konkurensi. 14. Fasilitas back up dan recovery.
Sedangkan kerugian dari penggunaan DBMS menurut Connolly dan Begg (2010, p77) adalah sebagai berikut:
1. Kompleksitas Perancang dan pengembang basis data, data dan database administrator, serta user harus memahami keseluruhan fungsionalitas DBMS yang kompleks. Kegagalan dalam memahami sistem dapat membawa ke keputusan rancangan
14 yang buruk dimana akan terjadi konsekuensi yang serius untuk perusahaan. 2. Ukuran Fungsionalitas yang kompleks menjadikan DBMS sebagai sebuah perangkat lunak yang membutuhkan tempat penyimpanan yang sangat besar dan jumlah memori yang besar untuk menjalankan DBMS secara efisien. 3. Biaya DBMS Biaya untuk suatu DBMS sangat bervariasi tergantung pada lingkungan dan fungsionalitas yang diberikan terhadap suatu DBMS. 4. Biaya perangkat keras tambahan Kebutuhan
tempat
penyimpanan
untuk
DBMS dan basis data membutuhkan pembelian tempat penyimpanan tambahan. Selain itu, untuk mendapatkan performance yang diinginkan, maka diperlukan untuk membeli mesin yang lebih besar untuk menjalankan DBMS. Penambahan perangkat
keras
baru
akan
menghasilkan
pengeluaran biaya tambahan. 5. Biaya konversi Biaya tambahan untuk melakukan konversi aplikasi yang telah ada agar berjalan pada DBMS dan perangkat keras yang baru. Hal tersebut juga meliputi biaya tambahan untuk pelatihan staff untuk menggunakan sistem baru dan mungkin memperkerjakan staff ahli untuk membantu
dalam melakukan konversi dan
menjalankan sistem baru. 6. Performa DBMS digunakan untuk memenuhi banyak permintaan aplikasi sehingga beberapa aplikasi tidak berjalan sesuai yang seharusnya.
15
7. Dampak dari kegagalan Dampak dari kegagalan tidak hanya bisa mempengaruhi fungsi DBMS namun juga data yang berada didalamnya berikut dengan hubungan langsung ke aplikasi yang menggunakan DBMS tersebut.
2.1.6
Database Language
Menurut Connolly dan Begg (2010, p92), database language terbagi menjadi dua bagian besar, yaitu Data Definition Language dan Data Manipulation Language.
2.1.6.1 Data Definition Language (DDL)
Menurut Connolly dan Begg (2010, p92), Data Definition Language (DDL) adalah sebuah bahasa yang mengizinkan seorang Database Administrator atau user untuk mendiskripsikan nama entitas, atribut serta hubungan yang diperlukan
aplikasi
beserta
macam
integritas
yang
berhubungan. Beberapa fungsi DDL umum antara lain, a. Create table, berguna untuk membuat table dan mengidentifikasi tipe data pada tiap kolom. b. Alter table,
berguna
untuk menambah atau
membuang kolom dan constraint. c. Drop table, berguna untuk menghapus table beserta data yang ada di dalam nya. d. Create index, Berguna untuk membuat index pada suatu table. e. Drop Index, Berguna untuk membuang atau menghapus index yang dibuat sebelumnya
16
2.1.6.2 Data Manipulation Language (DML)
Data Manipulation Language (DML) dibagi menjadi 2 jenis yaitu Procedural DML dan Non-Procedural DML. Procedural DML adalah suatu bahasa yang memperbolehkan pengguna untuk mendiskripsikan ke sistem data apa yang dibutuhkan dan bagaimana mendapatkan data tersebut secara tepat, sedangkan Non-procedural DML adalah sebuah bahasa yang mengizinkan pengguna untuk menentukan data apa yang dibutuhkan tanpa memperhatikan bagaimana data diperoleh. Menurut Connolly dan Begg (2010, p92), Data Manipulation Language (DML) adalah suatu bahasa yang menyediakan perangkat operasi untuk mendukung manipulasi data yang berada pada sebuah basis data. Pengoperasian data yang hendak dimanipulasi biasanya meliputi beberapa proses, diantaranya: a. Penambahan data baru ke dalam basis data. b. Modifikasi data yang disimpan ke dalam basis data. c. Pengembalian data yang terdapat di dalam basis data. d. Penghapusan data dari basis data.
2.1.7 Siklus Hidup Pengembangan Sistem Basis Data
Siklus hidup pengembangan sistem basis data berisi tahapantahapan yang dapat digunakan untuk merancang sistem basis data. Menurut Connolly dan Begg (2010, p314) siklus hidup sistem pengembangan basis data dapat dijelaskan melalui gambar berikut:
17
Gambar 2.2 Tahapan Database System Development Lifecycle
Berikut ini adalah penjelasan dari tiap tahapan yang terdapat pada gambar:
2.1.7.1 Database Planning
Merencanakan bagaimana tahapan siklus hidup dari pengembangan sistem basis data tersebut dapat direalisasikan dengan seefisien dan seefektif mungkin menurut Connolly dan
18 Begg (2010, p315). Terdapat tiga isu utama yang perlu diperhatikan dalam merumuskan strategi sistem informasi: 1. Mengidentifikasi rencana dan tujuan perusahaan. 2. Mengevaluasi sistem informasi saat ini untuk mengetahui kelebihan dan kekurangannya. 3. Penilaian peluang TI yang bisa menghasilkan keuntungan kompetitif.
2.1.7.2 System Definition
Spesifikasi ruang lingkup dan batasan dari aplikasi basis data, termasuk definisi sudut pandang utama pengguna menurut Connolly dan Begg (2010, p315). Sudut pandang pengguna mendefinisikan apa yang dibutuhkan sistem basis data dari perspektif peran tertentu, misalnya manager atau supervisor, atau area aplikasi perusahaan seperti pemasaran dan kontrol stok.
2.1.7.3 Requirement Collection and Analysis
Menurut Connolly dan Begg (2010, p315) tahapan ini adalah saat untuk mengumpulkan dan menganalisa informasi mengenai bagian dari organisasi yang akan menggunakan sistem
basis
data.
Informasi
ini
digunakan
untuk
mengidentifikasi kebutuhan sistem basis data baru. Terdapat banyak teknik untuk mengumpulkan informasi yang disebut dengan fact-finding techniques. Informasi yang dikumpulkan mencakup: 1. Deskripsi data yang digunakan atau dihasilkan. 2. Rincian bagaimana data akan digunakan atau dihasilkan. 3. Kebutuhan tambahan untuk sistem basis data baru.
19 2.1.7.4 Database Design
Proses membuat desain yang mendukung fungsi basis data yang diperlukan perusahaan. Terdapat tiga fase dalam perancangan basis data, yaitu: conceptual database design, logical database design, dan physical database design. .Terdapat dua pendekatan dalam perancangan basis data, yaitu: a. Top Down Dimulai pendekatan
dengan ini
menggunakan
merancang
dapat
model
digambarkan
Entity-Relationship
data, dengan
model
high
level, kemudian mengenalkan entitas dan relasi antar
entitas.
Pendekatan
ini
cocok
untuk
pembuatan basis data yang kompleks.
b. Bottom Up Dimulai dari level dasar atribut (properti entitas dan relasi), penjabaran hubungan antar atribut, menggabungkannya menggambarkan
tipe
dengan entitas
relasi dan
yang
relasinya.
Pendekatan ini cocok bagi basis data yang memiliki sedikit atribut.
2.1.7.5 DBMS Selection (optional)
Memilih DBMS yang sesuai untuk mendukung sistem basis data (Connolly dan Begg, 2010, p325). Tujuannya adalah untuk memilih sistem yang memenuhi kebutuhan saat ini dan seterusnya. Cara paling sederhana adalah dengan mencocokan antara fitur DBMS dengan kebutuhan. Dalam memilih DBMS, pastikan bahwa seleksi direncanakan dengan baik dan sistem memberi manfaat bagi perusahaan.
20 2.1.7.6 Application Design
Mendesain tampilan antarmuka pengguna atau user interface dan program aplikasi yang menggunakan dan memproses basis data. Selain merancang bagaimana fungsi dijalankan, antarmuka pengguna juga harus dirancang dengan tepat.
Antarmuka
harus
menyajikan
informasi
yang
dibutuhkan secara user-friendly.
2.1.7.7 Prototyping (optional)
Membangun prototipe dari sistem basis data, yang memungkinkan
desainer
atau
pengguna
untuk
memvisualisasikan dan mengevaluasi bagaimana sistem akan terlihat dan berfungsi. Sebuah prototipe biasanya tidak memiliki semua fitur yang dibutuhkan. Prototipe dibuat dengan tujuan agar pengguna dapat menyarankan perbaikan sistem atau penambahan fitur baru untuk sistem basis data.
2.1.7.8 Implementation
Merupakan realisasi dari perancangan basis data dan aplikasi secara fisik (Connolly dan Begg, 2010, p333). Implementasi basis data dicapai menggunakan Data Definiton Language (DDL) dari DBMS yang dipilih atau Graphical User Interface (GUI). Pandangan pengguna ( user view ) lainnya juga diimplementasikan dalam tahapan ini. Bagian lain aplikasi
program
adalah
transaksi
basis
data
yang
diimplementasikan dengan menggunakan Data Manipulation Language dari sasaran DBMS.
21 2.1.7.9 Data Conversion and Loading
Memindahkan data dari sistem lama ke sistem baru dan jika perlu mengkonversi aplikasi yang ada agar dapat berjalan di basis data baru (Connolly dan Begg, 2010, p334). Tahap ini diperlukan hanya ketika sistem basis data baru menggantikan yang lama. Sekarang ini, sangat umum bagi sebuah DBMS untuk memiliki fungsi pemindahan data ke basis data baru. Fungsi ini biasanya membutuhkan spesifikasi file sumber dan basis data tujuan, kemudian secara otomatis mengkonversi data ke format dari basis data baru.
2.1.7.10 Testing
Memeriksa apakah terdapat error atau kesalahan validasi dengan menjalankan sistem basis data tersebut (Connolly, 2010, p344). Hasil dicapai dengan menggunakan strategi uji yang direncanakan dengan data realistis sehingga seluruh proses pengetesan dilakukan sesuai aturan yang ada.
2.1.7.11 Operational Maintenance
Menurut Connolly dan Begg (2010, p355), operational maintenance merupakan proses pemantauan dan pemeliharaan sistem
basis
data.
Ditahapan
ini,
basis
data
sudah
diimplementasikan dan sistem dipelihara serta diawasi secara kontinu.
2.1.8 Metodologi Perancangan Basis Data
Menurut Connolly dan Begg (2010, p466), metodologi perancangan
basis
data
adalah
pendekatan
terstruktur
yang
menggunakan prosedur, alat bantu dan bantuan dokumentasi untuk mendukung dan memfasilitasi proses perancangan.
22 Metodologi perancangan basis data dibagi ke dalam tiga fase utama, yaitu perancangan basis data konseptual, perancangan basis data logikal, dan perancangan basis data fisikal.
2.1.8.1 Perancangan Basis Data Konseptual
Menurut
Connolly
dan
Begg
(2010,
p467),
Perancangan basis data konseptual adalah adalah proses membangun sebuah model dari informasi yang digunakan dalam perusahaan, terbebas dari semua pertimbangan fisik. Conceptual database design meliputi
pembuatan
sebuah
konseptual data model sebagai bagian dari perusahaan. Data model
dibangun
menggunakan
informasi
yang
didokumentasikan dari user requirement. Conceptual database design
secara
keseluruhan
tidak
mencakup
detail
implementasinya, seperti DBMS software yang dipakai, aplikasi program, programming, language, hardware platform atau berbagai pertimbangan fisik lainnya. Berikut ini adalah langkah-langkah dari perancangan basis data konseptual :
1. Identifikasi tipe entity. Dilakukan untuk mengidentifikasi entity utama yang dibutuhkan oleh user.
2. Identifikasi tipe relasi/ relationship. Dilakukan untuk mengidentifikasi relasi yang penting diantara entity type.
3. Identifikasi dan asosiasi atribut suatu entity. Dilakukan
untuk
menghubungkan
atribut
dengan entitas atau tipe relationship yang sesuai.
23 4. Menentukan domain atribut. Dilakukan untuk menentukan domain untuk atribut untuk model data konseptual.
5. Menentukan atribut candidate key dan primary key. Dilakukan untuk mengidentifikasi candidate key pada tiap-tiap entity, jika candidate key lebih dari satu, maka dipilih satu primary key dan candidate key yang lain menjadi alternate key. Candidate key adalah super key dalam relasi. Super key adalah atribut atau himpunan atribut yang mengidentifikasi secara unik tuple-tuple yang ada dalam relasi. Alternate key adalah candidate key yang tidak terpilih sebagai primary key.
6. Mempertimbangkan penggunaan konsep enchange modelling (langkah optional). Dilakukan
untuk
mempertimbangkan
penggunaan konsep enchange modelling, seperti: specialization /generalization, aggregation atau composition. Spesialization adalah proses untuk memaksimalkan perbedaan antara anggota pada sebuah
entitas
dengan
mengidentifikasi
perbedaan
karakteristik mereka. Generalization
adalah sebuah
proses meminimalkan perbedaan
antara
pada sebuah entitas dengan
anggota
mengidentifikasi perbedaan karakteristik mereka. Aggregation merepresentasikan relasi “has a” atau “is part of” antar entitas dimana relasi “has a” merepresentasikan keseluruhan sedangkan “is part
of”
Composition aggregation
merepresentasikan adalah yang
bentuk
bagian
dari.
spesifik
dari
merepresentasikan
hubungan antar entitas.
sebuah
24
7. Memeriksa model untuk redundansi. Dilakukan untuk mengecek apakah terjadi redundansi data. Redundansi adalah data yang berulang.
8. Validasi model konseptual lokal dengan transaksi user Dilakukan untuk memastikan bahwa model konseptual mendukung transaksi-transaksi yang dibutuhkan.
9. Review model data konseptual dengan user. Dilakukan untuk meninjau kembali model data konseptual yang telah dibangun untuk memastikan bahwa model tersebut sesuai dengan representasi yang sebenarnya dari persyaratan data yang dibutuhkan oleh perusahaan.
2.1.8.2 Perancangan Basis Data Logikal
Menurut
Connolly
dan
Begg
(2010,
Perancangan basis data logikal adalah proses sebuah model informasi
p467),
membangun
yang digunakan dalam sebuah
perusahaan berdasarkan pada sebuah data model tertentu tetapi terbebasdari penggunaan DBMS tertentu dan pertimbangan fisik lainnya. Conceptual data model yang dibuat pada tahap sebelumnya disempurnakan dan dipetakan menjadi sebuah logical data model. Tujuannya adalah untuk membangun suatu model data logikal lokal dari suatu model data konseptual lokal yang merepresentasikan pandangan tertentu dari perusahaan dan kemudian memvalidasi model data ini
25 untuk memastikan strukturnya sudah benar dan memastikan
bahwa
model
untuk
tersebut mendukung transaksi
yang diminta. Berikut ini langkah-langkah dari perancangan basis data logikal:
1. Menghilangkan fitur-fitur yang tidak kompatibel pada model relasional. Langkah ini bertujuan untuk memperbaiki model
logical
data
konseptual
dengan
menghilangkan fitur-fitur yang tidak kompatibel dengan model relasional. Ada 4 hal yang perlu diperhatikan dalam tahap ini, yaitu: a. Menghilangkan
tipe
hubungan
binary
many-to- many (*:*). b. Menghilangkan tipe hubungan rekursif many-to- many (*:*). c. Menghilangkan tipe hubungan kompleks. d. Menghilangkan atribut multi-valued.
2. Membuat hubungan untuk model logikal lokal. Dilakukan untuk membuat relasi model data logikal lokal untuk mewakili entitas, relasi dan atribut yang telah diidentifikasi.
3. Validasi relasi menggunakan normalisasi. Dilakukan untuk memvalidasi relasi pada model data logikal lokal menggunakan normalisasi.
4. Menvalidasikan
relasi terhadap
transaksi
pengguna. Dilakukan untuk memastikan bahwa relasi pada model data logikal mendukung transaksi- transaksi yang dibutuhkan oleh view.
26
5. Menentukan batas integritas. Dilakukan
untuk
memeriksa
integrity
constraint yang direpresentasikan pada model data logikal. Integrity constraint adalah batasan-batasan yang digunakan agar kelengkapan, keakuratan dan kekonsistensian sistem basis data terjaga baik. Beberapa tipe integrity constraint adalah:
a. Required data Harus ada nilai valid (tidak boleh null) b. Attribute domain constraint Setiap atribut harus mempunyai sebuah domain, satu set nilai yang sah. c. Entity integrity Primary key dari sebuah tabel harus unik dan tidak mengandung nilai null untuk setiap baris. d. Referential integrity Sebuah foreign key menghubungkan tiap tuple pada relasi child ke tuple pada relasi
parent
yang
mengandung
nilai
candidate key yang sama. Referential integrity terdiri atas :
i. NO ACTION Mencegah parent dihapus. ii. CASCADE Jika parent dihapus maka child juga akan dihapus secara otomatis. iii. SET NULL Jika parent dihapus, foreign key pada semua child akan di set null. iv. SET DEFAULT
27 Jika parent dihapus, foreign key pada semua child akan di set default. v. NO CHECK Jika parent dihapus, maka tidak akan
melakukan
memastikan
apa-apa
referential
untuk integrity
terjaga.
e. General constraints Perubahan pada tabel yang dibatasi oleh aturan yang mengatur transaksi pada dunia nyata
yang
direpresentasikan
oleh
perubahan tersebut.
6. Review model data logikal global dengan user Dilakukan untuk meninjau kembali model data lokal yang telah dibangun untuk memastikan bahwa model tersebut sesuai dengan representasi yang sebenarnya dari persyaratan data yang dibutuhkan oleh perusahaan.
7. Menggabungkan model data logikal lokal menjadi model global. Dilakukan untuk menggabungkan model-model data logikal lokal menjadi sebuah model data logikal global yang merepresentasikan view sistem basis data bagi semua user.
8. Menvalidasikan model data logikal global. Dilakukan untuk menvalidasikan relasi yang dibentuk dari model data logikal global dengan menggunakan teknik normalisasi sera menjamin model data logikal global ini mendukung transaksitransaksi yang dibutuhkan.
28
9. Cek perkembangan di masa yang akan datang. Dilakukan untuk memperkirakan apakah akan terjadi perubahan yang signifikan dimasa yang akan datang dan untuk menilai apakah model data logikal yang ada sekarang dapat mengikuti perubahan tersebut.
2.1.8.3 Perancangan Basis Data Fisikal
Menurut
Connolly
dan
Begg
(2010,
p466),
perancangan basis data logikal dilakukan untuk memutuskan struktur logic secara fisik diimplementasikan ke dalam tujuan Sistem Manajemen Basis data (DBMS), para perancang juga harus membuat keputusan mengenai bagaimana basis data tersebut dapat diimplementasikan dan diterapkan. Oleh karena itu, physical database design harus disesuaikan dengan DBMS yang spesifik. Terdapat hubungan antara physical dan logical database design, karena keputusan yang diambil pada physical database design untuk meningkatkan kinerja dari basis data tersebut dapat mempengaruhi logical data model. Berikut ini langkah-langkah dari perancangan basis data fisikal:
1. Menerjemahkan model data logikal global terhadap DBMS yang telah ditentukan. Tujuannya adalah untuk menghasilkan skema relasional sistem basis data dari model data logikal sehingga bisa diimplementasikan pada DBMS yang dituju. Ada tiga aktivitas yang dilakukan di langkah ini, yaitu:
a. Merancang base relation.
29 Dilakukan
untuk
menentukan
bagaimana merepresentasikan base relation yang telah teridentifikasi pada model data logikal di DBMS yang dituju.
b. Merancang representasi dari data yang diturunkan. Dilakukan
untuk
menentukan
bagaimana merepresentasikan derived data yang terdapat pada model
data
logikal
global ke dalam DBMS yang dituju
c. Merancang batasan umum Dilakukan untuk merancang batasan umum untuk DBMS yang dituju.
2. Melakukan perancangan organisasi file dan indexes Tujuannya adalah untuk mengerti fungsi dari transaksi yang akan berlaku pada basis data dan untuk
menganalisa
transaksi
yang
penting.
Didalamnya mencakup beberapa tahapan, yaitu:
a. Menganalisis transaksi. Bertujuan untuk mengetahui fungsifungsi transaksi yang berjalan pada sistem basis
data
dan
untuk
menganalisis
transaksi-transaksi yang penting.
b. Memilih file organizations. Dilakukan
untuk
mengetahui
pengaturan file yang efisien untuk base relation.
c. Memilih indexes.
30 Dilakukan untuk menentukan apakah terdapat
penambahan
indeks
akan
meningkatkan performa sistem.
d. Memperkirakan
besarnya
tempat
penyimpanan yang dibutuhkan. Dilakukan besarnya
untuk
tempat
memperkirakan
penyimpanan
yang
dibutuhkan oleh sistem basis data.
3. Merancang user views. Dilakukan untuk melakukan rancangan user views yang telah
teridentifikasi
selama
tahap
requirements collection dan tahap analisa dari siklus pengembangan sistem basis data.
4. Merancang mekanisme keamanan. Dilakukan
untuk
merancang
mekanisme
keamanan sistem basis data seperti yang telah dispesifikasi oleh user selama tahap requirements collection dari siklus pengembangan sistem basis data.
5. Mempertimbangkan penggunaan dari redundansi terkontrol Dilakukan
untuk
menentukan
apakah
penggunaan redundansi terkontrol yang telah ternormalisasi
dapat
meningkatkan
performa
sistem.
6. Melakukan pengawasan dan
pemeliharaan
terhadap sistem operasi Tujuannya adalah untuk mengawasi sistem operasi dan meningkatkan performa dari sistem
31 untuk memperbaiki kurang sesuai
atau
rancangan-rancangan sebagai
refleksi
yang adanya
perubahan kebutuhan.
Ukuran efisien untuk perancangan database fisikal dalam penyimpanan data antara lain:
a. Transaction throughput Jumlah transaksi yang dapat diproses dalam jangka waktu tertentu. b. Waktu respon Waktu yang melengkapi transaksi tunggal. c. Tempat penyimpanan Jumlah
tempat
penyimpanan
yang
dibutuhkan untuk menyimpan file database.
2.1.9 Entity Relationship Modelling
Menurut Connolly dan Begg (2010, p371) ER Modelling adalah salah satu cara untuk memahami data agar dapat digunakan dengan efektif di suatu perusahaan.
2.1.9.1 Entity Types Menurut Connolly dan Begg (2010, p372) Entity types merupakan sekelompok objek yang memiliki sifat yang sama, yang dapat diidentifikasi oleh perusahaan yang memiliki eksistensi independen. Entity type dibedakan menjadi dua macam, yakni:
1. Strong Entity Type Strong entity type adalah entitas yang keberadaannya tidak bergantung pada entitas lain. Biasanya strong entity type disebut dengan parent atau owner dominant.
32
2. Weak Entity Type Weak entity type adalah entitas yang keberadaannya bergantung pada entitas lain. Weak entity type biasa disebut child, dependent, subordinate.
2.1.9.2 Relationship Types
Relationship types merupakan sekumpulan hubungan yang bermakna antar jenis entitas. Dalam
sebuah diagram,
relasi berderajat dua (binary) digambarkan sebagai sebuah garis yang menghubungkan entitas-entitas yang berasosiasi yang diberi label dengan nama relasi tersebut berserta arah relasinya. Sedangkan untuk relasi berderajat tiga (ternary) atau lebih digambarkan berupa belah ketupat.
2.1.9.3 Atributes
Atribut adalah suatu properti dari sebuah entitas atau tipe relasi. Atribut domain adalah sekelompok nilai tersembunyi yang
yang
terdapat pada atribut. Atribut dapat
diuraikan menjadi:
1. Simple Attribute Simple attribute merupakan suatu atribut yang terdiri dari unsur-unsur tunggal yang berdiri sendiri. Simple attribute tidak dapat dibagi menjadi unsur yang lebih kecil.
2. Composite Attribute Composite attribute merupakan atribut yang memliki beberapa komponen yang dapat berdiri sendiri.
33
3. Single-valued Attribute Single-valued
attribute
adalah
sebuah
attribute yang menyimpan nilai tunggal untuk setiap kejadian dalam entitas (entity type).
4. Multi-valued Attribute Multi-valued attribute merupakan sebuah atribut yang menyimpan lebih dari satu nilai untuk setiap kejadian dalam entitas (entity type).
5. Derived Attribute Derived attribute adalah suatu atribut yang menggantikan sebuah nilai yang diturunkan dari nilai suatu attribute yang bersangkutan atau set attribute tidak perlu berasal dari entitas yang sama.
2.1.9.4 Keys
Key adalah satu ikatan dari beberapa atribut yang dapat membedakan semua basis data (row) dalam tabel secara unik. Jenis-jenis key :
1. Candidate key Candidate key adalah sebuah atribut atau minimal
satu
set
atribut
yang
hanya
mengidetifikasi secara unik suatu kejadian spesifik dari entitas.
34 2. Primary key Primary key adalah sebuah kunci kandidat yang dipilih secara unik untuk mengidentifikasi setiap kejadian dari suatu entitas.
3. Composite key Composite key adalah suatu kunci yang terdiri dari lebih dari satu atribut.
2.1.9.5 Multiplicity
Menurut Connolly dan Begg (2010, p385), multiplicity merupakan jumlah atau rentang peluang kejadian dari suatu entitas yang mungkin berhubungan dengan kejadian tunggal dari tipe entitas terkait melalui hubungan tertentu. Jenis-jenis multiplicity antara lain:
1. One to one (1:1) Relationships Relasi yang terjadi antara dua entitas tunggal yang saling berhubungan.
Gambar 2.3 One to one (1:1) Relationships
Pada gambar diatas, terlihat A memiliki hubungan One-to-One dengan C, dan B juga memiliki hubungan One-to-One dengan D.
Dari
35 hubungan A One-to-One ke C dan B One-to-One ke D tersebut, multiplicitynya dpat ditulis sebagai berikut:
Gambar 2.4 Notasi One to one (1:1) Relationships
2. One to many (1:*) Relationships
Relasi yang terjadi apabila satu entitas tunggal memiliki hubungan dengan banyak entitas tunggal.
Gambar 2.5 One to Many (1:*) Relationships
Pada gambar diatas, terlihat C memiliki hubungan One-to-Many dengan E dan F. jadi multiplicity-nya dapat digambarkan seperti gambar dibawah ini:
36
Gambar 2.6 Notasi One to Many (1:*) Relationships
3. Many to many (*:*) Relationships Relasi yang terjadi antara banyak entitas dengan banyak entitas lainnya, seperti yang terlihat pada gambar:
Gambar 2.7 Many to Many (*:*) Relationships
Pada gambar diatas, dapat dilihat B memiliki hubungan One-to-Many terhadap E dan F dan F juga memiliki hubungan One-to-Many terhadap B dan C. Dari gambar tersebut multiplicity-nya dapat digambarkan seperti ini :
37
Gambar 2.8 Notasi Many to Many (*:*) Relationships
2.1.10 Normalisasi
Menurut Connolly dan Begg (2010, p416), normalisasi adalah sebuah teknik untuk menghasilkan kumpulan dari relasi dengan properti yang diinginkan, sesuai dengan kebutuhan dari perusahaan. Tujuan
dari
normalisasi
adalah
untuk
mengidentifikasi
dan
mengeliminasi anomali pada satu set relasi. Menurut Connolly dan Begg (2010, p428), proses normalisasi meliputi:
1. Unnormalized Form (UNF) Menurut Connolly dan Begg (2010, p430), UNF merupakan suatu tabel yang berisikan satu atau lebih grup yang berulang.
2. First Normal Form (1NF) 1NF merupakan aturan pertama dari normalisasi, dapat dikatakan bahwa sebuah hubungan dimana titik potong dari setiap baris kolom hanya berisi satu nilai.
3. Second Normal Form (2NF) Pada normalisasi kedua ini dilakukan pemisahan sesuai dengan sifat ketergantungan fungsional. Setiap atribut nonprimary key secara fungsional tergantung sepenuhnya pada primary key.
38 4. Third Normal Form (3NF) Suatu relasi yang ada dibentuk 1NF dan 2NF dimana tidak ada atribut non-primary key bersifat transitif bergantung pada primary key.
2.1.11 Metode Perancangan Waterfall
Menurut Pressman (2010, p39) model waterfall atau biasa disebut classic life cycle, menyediakan pendekatan yang sistematis dan bertahap dalam pengembangan software yang dimulai dari menentukan spesifikasi kebutuhan customer kemudian berlanjut ke tahap proses yaitu melalui planning, modelling, konstruksi dan pengembangan. Skema waterfall model berdasarkan teori Pressman:
Gambar 2.9 Metode Perancangan Waterfall
Berikut merupakan penjelasan dari setiap tahapan waterfall model: 1. Communication Melakukan analisis terhadap kebutuhan software, yaitu tahapan untuk mengumpulkan data dengan melakukan baik wawancara dengan user maupun mengumpulkan data tambahan misalnya pada buku atau jurnal.
39 2. Planning Merupakan kelanjutan proses communication. Pada tahap ini hasil yang diharapkan adalah berupa user requirements sebagai data yang berhubungan dengan keinginan user dalam pembuatan software.
3. Modeling Menerjemahkan
kebutuhan
kedalam
perkiraan
perancangan sebuah software sebelum mulai bagian coding. Fokus kepada rancangan struktur data, arsitektur software, dan software requirements.
4. Construction Proses pengkodean atau coding, yaitu menerjemahkan hasil desain kedalam bahasa pemrograman. Di tahap inilah pengerjaan nyata sebuah software dilakukan. Setelah pengkodean
selesai
akan
dilakukan
testing
untuk
menemukan kesalahan yang ada pada sistem untuk diperbaiki kemudian.
5. Deployment Merupakan tahapan final dalam pembuatan software atau sistem. Sistem yang sudah selesai dan digunakan oleh user harus dipelihara secara berkala.
2.1.12 MySQL
Menurut Peranginangin (2006, p389), MySQL adalah sebuah basis data yang bisa digunakan secara client maupun server. MySQL menggunakan suatu format pada standar SQL. Salah satu bahasa pemrograman yang banyak memakai MySQL sebagai database-nya adalah PHP. MySQL memiliki dua bentuk lisensi, yaitu free software dan shareware. MySQL yang banyak digunakan adalah MySQL free
40 software yang berada di bawah lisensi GNU/GPL(General Public Licence). Menurut Welling dan Thomson (2005, p3), MySQL adalah sistem manajemen basis data yang berhubungan dan sangat cepat. Sebuah basis data memungkinkan untuk menyimpan, mencari, mengurutkan, dan menerima data secara efisien. MySQL bersifat multi user, multithread server, dan menggunakan SQL atau bahasa pemrograman yang terstruktur. MySQL juga merupakan bahasa pemrograman open source yang paling banyak digunakan oleh para programmer, terutama pada Linux, karena query basis datanya yang handal dan jarang bermasalah.
2.2 Teori yang terkait tema penelitian
Berikut merupakan beberapa teori yang digunakan untuk mendukung tema penelitian.
2.2.1 Internet Menurut Conolly dan Begg (2010, p1024), internet adalah sekumpulan jaringan komputer yang terkoneksi. Menurut Turban, Rainer, dan Potter (2005, p50), internet merupakan sebuah kumpulan jaringan komputer yang saling terkoneksi satu sama lain yang bersifat mandiri, publik, dan kooperatif untuk menghubungkan akses-akses jaringan ke seluruh dunia.
2.2.2 World Wide Web
Menurut Connolly dan Begg (2010, p1028), web adalah sistem yang menyediakan akses pencarian informasi dengan menggunakan internet dengan bantuan hyperlink.
41 2.2.3 Uniform Resource Locator (URL)
Menurut Connolly dan Begg (2010, p1033) Uniform Resource Locator atau yang biasa disingkat URL adalah sebuah rangkaian dari karakter alfanumerik yang melambangkan lokasi atau sebuah alamat di internet dan bagaimana sumber daya tersebut dapat diakses. Menurut Turban et. al. (2004, p483), URL adalah sekumpulan karakter yang mengidentifikasikan alamat dari suatu sumber yang spesifik pada web. Sedangkan menurut Williams dan Sawyer (2007, p66), URL adalah kumpulan karakter yang menunjuk pada informasi khusus atau alamat di bagian mana saja pada suatu web.
2.2.4 Aplikasi Web
2.2.4.1 HTML (Hypertext Mark-up Language)
Menurut Connolly dan Begg (2010, p1028), HTML adalah dokumen yang mengolah bahasa yang digunakan untuk merancang sebuah halaman web. Menurut Williams dan Sawyer (2007, p67), HTML (Hypertext Markup Language) adalah sekumpulan perintah khusus (disebut tag atau markup) yang dipakai untuk menentukan struktur, bentuk, dan link pada dokumen ke dokumen multimedia lain di web. Sedangkan menurut Behrouz A. Forouzan (2007, p855), Hypertext Markup Languange (HTML) adalah sebuah bahasa markup untuk menciptakan web pages .
2.2.4.2 PHP
Menurut Kevin Tatroe, Peter MacIntyre, Rasmus Lerdorf (2013, p1), Hypertext Processor (PHP) adalah salah satu bahasa HTML open source yang populer dan sering
42 didudkung oleh banyak server web diantaranya Server Apache HTTP dan Microsoft Internet Information Server untuk menciptakan konten HTML. Di dalam page HTML, dapat dimasukkan kode PHP yang akan di eksekusi setiap waktu page dikunjungi. Kode PHP diinterpretasikan pada web server dan menghasilkan HTML atau keluaran lainnya yang akan dilihat oleh pengguna.
2.2.5 Interaksi Manusia dan Komputer (IMK)
2.2.5.1 Definisi Interaksi Manusia dan Komputer
Menurut Shneiderman dan Plaisant (2010, p22), interaksi manusia dan komputer adalah ilmu yang mempelajari implementasi dan perancangan dan evaluasi user interface agar user dapat berinteraksi dengan sistem komputer.
2.2.5.2 User Interface
Menurut Shneiderman dan Plaisant (2010), user interface adalah bagian dari komputer dan software yang manusia dapat dilihat, didengar, disentuh, diajak berbicara, diajak mengerti, dan diarahkan.
2.2.5.3 Delapan Aturan Emas
Menurut Shneiderman dan Plaisant (2010, p74-75), dalam perancangan sebuah interface, terdapat delapan aturan emas yang harus diperhatikan dalam melakukan perancangan. Delapan aturan emas tersebut adalah:
1. Berusaha konsisten Konsistensi yang diperlukan dalam perancangan interface antara lain dengan
43 menggunakan bentuk layout yang sama, font yang sama, warna yang sama, dan terminologi yang sama pada setiap halaman.
2. Menyediakan fungsi yang bersifat universal Agar pengguna yang baru menggunakan dapat terbantu dengan adanya prosedur yang bersifat dasar sehingga dapat lebih mudah dimengerti.
3. Memberikan umpan balik yang informatif Umpan
balik
yang
informatif
dimaksudkan agar user dapat mengerti setiap aksi yang dilakukannya. Umpan balik yang diberikan haruslah jelas agar user dapat mengetahui dan memahami apa yang dilakukan aplikasi.
4. Merancang dialog untuk keadaan akhir Pengorganisasian urutan tindakan ke dalam kelompok awal, tengah, dan akhir. Tampilan akan menunjukkan closing ketika aplikasi selesai dijalankan.
5. Memberikan pecegahan dan penanganan kesalahan yang sederhana Sistem harus mampu
mendeteksi
kesalahan dan memberikan penjelasan berupa penanganan untuk memperbaikinya. Sebaiknya desain sistem dirancang agar user tidak mengalami kesalahan yang serius dan berakibat user enggan untuk menggunakan aplikasi kembali.
44 6. Memberikan pembalikan aksi yang mudah Jika terjadi kesalahan, sistem akan memberikan
pembalikan
digunakan
user
aksi
untuk
yag
dapat
memperbaiki
kesalahannya.
7. Mendukung pusat kendali internal User sebagai pemegang kendali dalam melakukan proses.
8. Mengurangi beban ingatan jangka pendek Batas pendek
kemampuan
manusia
ingatan
menyebabkan
jangka tampilan
interface yang diberikan harus sederhana sehingga user tidak perlu mengingat terlalu banyak, tampilan yang jumlahnya banyak harus digabungkan.
2.2.5.4 Lima Faktor Manusia Terukur
Terdapat lima faktor yang digunakan sebagai pengukur evaluasi
mengenai
tercapainya
tujuan
IMK.
Menurut
Shneiderman dan Plaisant (2010, p32-33) kelima faktor manusia terukur tersebut adalah:
1. Waktu untuk belajar Merupakan ukuran seberapa lama waktu yang dibutuhkan user untuk mempelajari fungsi-fungsi dalam sebuah aplikasi.
2.
Kecepatan performa Ukuran waktu yang diperlukan bagi serangkaian tugas dalam aplikasi untuk dilakukan.
45 3. Tingkat kesalahan Merupakan
ukuran
seberapa
banyak
user
melakukan kesalahan ketika menjalankan aplikasi.
4. Daya ingat pengguna Ukuran
seberapa
lama
user
mengingat
pengetahuannya tentang aplikasi.
5. Kepuasan subjektif Ukuran seberapa puas user atas tiap aspek dari sistem.
2.2.6 Rich Picture Diagram
Menurut Mathiassen (2000, p26) rich picture diagram merupakan gambaran informal yang menggambarkan pengertian tentang situasi sebuah sistem. Rich picture berfokus pada aspek penting situasi yang ditentukan pembuat. Rich picture harus mampu memberi penjelasan mengenai gambaran umum situasi.
2.2.7 Data Flow Diagram (DFD)
Menurut Whitten (2007, p317), Data Flow Diagram adalah model yang digunakan untuk menggambarkan aliran data dan cara kerja yang dilakukan sistem. DFD bertujuan untuk menggambarkan fungsi-fungsi dan sub-fungsi yang mentransformasi aliran data.
Tabel 2.1 Simbol Data Flow Diagram Simbol
Keterangan Menggambarkan eksternal entitas atau terminal dalam sistem
46
Menggambarkan
proses
atau
pekerjaan yang harus diselesaikan Menggambarkan aliran data atau input/output
dari
dan
menuju
proses Menggambarkan
penyimpanan
data atau biasa disebut basis data (data store).
Tingkatan DFD terdiri dari: a. Diagram Konteks Menggambarkan seluruh input dan output sistem. Merupakan level tertinggi dalam DFD. b.
Diagram Nol Merupakan rincian dari diagram konteks, pada diagram ini data store yang digunakan terlihat.
c. Diagram Rinci Rincian lebih detil dari diagram nol.
2.2.8 State Transition Diagram (STD)
Menurut Whitten (2007, p663) State Transition Diagram adalah alat yang digunakan untuk menggambarkan urutan dan juga variasi layar yang terjadi selama digunakan oleh user.
Tabel 2.2 Simbol State Transition Diagram Simbol
Keterangan Simbol state, yaitu kumpulan keadaan atau atribut yang mencirikan seseorang
47 atau benda pada waktu atau kondisi tertentu Simbol
transition
state,
yaitu
perubahan yang digambarkan dengan simbol panah dan setiap panah diberi label
2.3 Hasil penelitian dan produk sebelumnya
Aplikasi yang kami kerjakan mempunyai karakteristik yang mirip dengan banyak aplikasi perekrutan karyawan, salah satunya adalah seperti yang digunakan di Provinsi Jawa Tengah untuk perekrutan calon pegawai negeri sipil (CPNS). Dari hasil penelitian yang kami lakukan, pengembangan aplikasi egovernment bidang penerimaan CPNS berbasis web di Provinsi Jawa Tengah memiliki beberapa kesimpulan sebagai berikut:
1. Melalui Sistem Informasi Manajemen Penerimaan CPNS, proses administrasi Penerimaan Calon Pegawai Negeri Sipil dapat berjalan dengan efektif dan efisien sebab sistem tersebut kini telah bersifat online dan dapat diakses oleh seluruh lapisan masyarakat
yang
melakukan
fungsi
kontrol
terhadap jalannya proses pada sistem tersebut. 2. Proses
pengelolaan
data
kepegawaian
dapat
dilaksanakan dengan cepat dan terintegrasi dengan data lainnya yang mengakibatkan data tersebut dapat digunakan untuk pengambilan keputusan serta dapat menyajikan informasi yang up to date kepada masyarakat.