BAB 2
TINJAUAN PUSTAKA 2.1 2.1.1
Teori Yang Berkaitan Dengan Database Database Menurut Connoly ( 2010 : 65 ) Database adalah suatu kumpulan dari data yang terselubung secara logis , dan deskripsi dari data yang digunakan untuk kebutuhan informasi organisasi
2.1.2
Siklus Hidup Database Menurut Connoly ( 2010 : 314 ), gambaran waktu database dianalisis dan dirancang berdasarkan siklus hidup adalah sebagai berikut :
Gambar 2.1 Diagram Siklus Hidup Database
9
10
a. Database planning Dalam tahap ini dilakukan perencanaan bagaimana tahapan – tahapan perancangan berikutnya dapat direalisasikan secara efektif dan efisien. b. System definition Tahap ini menjabarkan spesifikasi jangkauan dan batasan dari aplikasi database,
penggunaannya
dan
lingkungan
tempat
aplikasi
diimplementasikan.
c. Requirements collection and analysis Pada
tahap
ini
dilakukan
pengumpulan
dan
analisis
kebutuhan
pengguna dan lingkungan aplikasi. d. Database Design Pada tahap ini dilakukan perancangan database secara konseptual, logikal dan fisikal. e. DBMS Selection ( optional ) DBMS yang paling cocok dipilih dengan aplikasi basis data. f. Application Design Tahap ini dilakukan untuk merancang interface bagi pengguna dan program aplikasi yang menggunakan dan memproses database. g. Prototyping ( optional ) Tahap ini ditujukan unktuk membangun prototype dari aplikasi database. Hasil prototype ini memungkinkan perancang atau pengguna untuk menvisualisasikan dan mengevaluasi bagaimana bentuk fungsionalitas sistem akhir. h. Implementation Dalam tahap ini dilakukan pembuatan definisi database eksternal, koseptual dan internal, serta program aplikasi. i. Data Conversion and loading Dalam tahap ini dilakukan konversi data dari sistem lama ke sistem baru. j. Testing
11
Aplikasi database yang telah selesai akan diuji coba dengan tujuan untuk mencari error pada aplikasi. Selain itu, dilakukan pula validasi aplikasi atas kebutuhan yang telah dispesifikasikan sebelumnya oleh pengguna. k. Operational Maintenance Pada tahap ini implementasi basis data dilakukan secara sepenuhnya. Sistem diawasi dan dipelihara secara berkelanjutan. Jika diperlukan, kebutuhan – kebutuhan baru dimasukkan dalam aplikasi database melalui tahapan database terlebih dahulu. 2.1.3
Tahapan Perancangan Database Menurut Thomas Connolly dan Carolyn Begg (2010 : 465) mendefinisikan metodologi perancangan basis data atas 3 (tiga) tahapan, yaitu : 1. Perancangan Conceptual Database Tahap
ini
adalah
proses
pembuatan
model
informasi
yang digunakan agar tidak tergantung pada semua masalah fisik. Awal tahap
ini
dimulai
Model organisasi ataupun bebas
dari detail
program
dengan
pembuatan
perusahaan
implementasi
Conceptual
Data
yang secara keseluruhan
DBMS
yang
digunakan
:
aplikasi, bahasa pemprograman, platform untuk hardware,
tingkat kinerja maupun bentuk masalah fisik lainnya. Tahapan dalam perancangan conceptual database : 1. Mengidentifikasikan tipe – tipe dari entitas 2. Mengidentifikasikan tipe – tipe dari relationship 3. Identifikasi dan Asosiasi Atribut dengan Entitas 4. Menentukan Domain Atribut 5. Menentukan Atribut untuk Candidate, Primary, dan Alternate Key 6. Memeriksa Redundansi 7. Validasi Model Konseptual Lokal Terhadap Transaksi Pengguna 8. Review konseptual data model dengan user 2. Perancangan Logical Database Perancangan logical database merupakan proses tahapan model
12
informasi yang digunakan berdasarkan model data khusus, tapi bebas dari DBMS tertentu dan masalah fisik lainnya. Tahapan dalam perancangan logical database : 1.
Menghilangan Fitur – Fitur yang Tidak Kompatibel dengan Model Relasional a. Menghilangkan relasi binary many to many (*...*) b. Menghilangkan atribut multivalue
2.
Memvalidasi relasi – relasi menggunakan normalisasi
3.
Memvalidasi relasi – relasi terhadap transaksi pengguna
4.
Menentukan integrity constraint
5.
Mereview logikal data model dengan user
6.
Menggabungkan model data logikal ke dalam model data global
3. Perancangan Physical Database Perancangan
ini
merupakan
sebuah
proses
pembuatan
deskripsi dari implementasi database secondary storage yang menjelaskan basis relasi, organisasi file, dan indeks yang digunakan untuk memperoleh akses pada data yang efisien, dan masalah intergritas lainnya yang berkaitan, serta menentukan mekanisme keamanan. Tahap ini memungkinkan perancang untuk menentukan bagaimana database diimplementasikan. rancangan
Oleh
karena
itu,
fisikal dirancang utnuk DBMS yang khusus. Antara
rancangan logikal dan fisikal terdapat ketekaitan, hal ini disebabkan karena keputusan yang diambil selama pernacangan fisikal untuk meningkatkan kinerja bisa mempengaruhi logical data model. Aktifitas dari physical database design adalah menterjemahkan model data logikal global ke dalam sasaran DBMS, dimana dengan membuat base relation dengan menggunakan
database design
language yang tujuannya untuk memutuskan bagaimana representasi relasi utama yang diidentifikasi dalam model data logikal global ke dalam
DBMS,
merancang
constraint
organisasi
untukkegiatan
13
transaksi (update dan retrieve data), menentukan sumber daya sistem dan organisasi file. Tahapan dalam perancangan physical database : 1. Merancang relational database 2. Merancang representasi dari data yang diturunkan 3. Merancang constraint 4. Menganalisa transaksi 5. Memilih organisasi index 6. Memilih index 7. Memperkirakan disk space 8. Merancang user view 9. Merancang mekanisme keamanan 10. Memperkirakan rendundansi yang terkontrol 11. Memonitor sistem operasional 2.1.4
Entity Relational Modelling Menurut Thomas Connolly dan Carolyn Begg (2010 : 71), salah satu aspek yang sulit dalam perancangan database adalah kenyataannya bahwa perancang, programmer, dan end user. Berikut ini adalah notasi Entity Relational Modelling menurut Thomas Connolly dan Carolyn Begg :
2.1.4.1
Entity Type Entity type atau tipe Entitas adalah kumpulan objek-objek dengan
properti yang sama, yang didefinisikan oleh organisasi yang keberadaanya tidak bergantung. Konsep dasar dari bentuk Entity Relationship adalah tipe Entitas. Sebuah tipe Entitas memiliki keberadaan yang bebas menjadi
dan bisa
objek dengan keberadaan fisik maupun menjadi objek dengan
keberadaan konseptual. Hal ini berarti dengan perancang yang berbeda memungkinkan mengidentifikasi Entitas yang berbeda. Entity Occurence adalah objek dan tipe entitas yang dapat diidentifikasi secara unik. 2.1.4.2
Tipe Relationship Tipe Relationship adalah gabungan yang mempunyai arti diantara
tipe entitas. Setiap tipe relationship diberi nama sesuai dengan fungsinya. Relationship Occurence adalah suatu gabungan yang dapat diidentifikasi
14
secara unik, yang meliputi
suatu kejadian dari setiap tipe entitas
yang
berpartisipasi. Derajat dari Relationship adalah jumlah dari partisapasi tipe entitas dalam sebuah tipe relationship tertentu. Entitas yang berkaitan dalam sebuah tipe relationship
dikenal sebagai participant
dalam
relationship dan jumlah participant dalam relationship disebut sebagai derajat dari relationship. Oleh karena itu derajat dari sebuah relationship menunjukkan jumlah dari entitas terkait dalam relationship. Sebuah relationship berderajat dua disebut binary, sedangkan relationship berderajat tiga disebut ternary, dan relationship berderajat empat disebut quarternary. 2.1.4.3
Attribute Attribute adalah sebuah sifat dari entitas atau sebuah tipe
relationship. Attribute
menyimpan
sebuah
nilai
dari
setiap
entity
occurence dan mewakili bagian utama dari data yang akan disimpan dalam database. Adapun jenis-jenis Attribute sebagai berikut : •
Simple Attribute adalah atribut yang terdiri dari satu komponen tunggal degan keberadaan yang bebas. Simple attribute tidak dapat lagi dibagi lagi. Dikenal juga sebagai Atomic Attribute.
•
Composite
Attribute
beberapa komponen
adalah dengan
atribut
yang terdiri
keberadaan
yang
dari bebas.
Dalam hal ini beberapa atribut dapat dipisahkan menjadi beberapa
komponen
yang lebih kecil lagi dengan
keberadaan yang bebas. •
Single Value Attribute adalah atribut yang memiliki nilai tunggal untuk masing-masing kejadian dari entitas.
•
Multi Value Attribute adalah atribut yang memiliki banyak nilai untuk masing-masing kejadian dari entitas.
•
Derived Attribute adalah atribut menggantikan sebuah nilai yang diturunkan dari nilai sebuah atribut yang berhubungan, tidak perlu pada jenis entitas yang sama.
15
2.1.4.4
Strong and Weak Entity Type Tipe entitas yang kuat adalah tipe entitas yang keberadaannya tidak
bergantung pada tipe entitas yang lainnya. Karakteristiknya adalah setiap kejadian entitas-nya secara unik mampu diidentifikasi
menggunakan
atribut primary key pada entitas-nya. Tipe entitas yang lemah adalah tipe entitas yang bergantung pada tipe entitas yang lainnya. Karakteristiknya adalah setiap kejadian entitas-nya tidak
bisa
diidentifikasi
secara
unik
menggunakan
atribut
yang
bergantung pada entitas-nya. 2.1.4.5
Structural Constraints Tipe utama dari batasan hubungan di dalam relationship disebut
Multyplicity.
Multyplicity
adalah
sejumlah
kemungkinan
kejadian-
kejadian dari sebuah tipe entitas di dalam sebuah hubungan n-nary ketika nilai-nilai yang lain (n-1) ditentukan. Multyplicity biasanya terdiri dari dua batasan terpisah, yaitu : •
Cardinality : Mendeskripsikan
jumlah maksimum dari
kemungkinan kejadian-kejadian yang saling berhubungan untuk sebuah partisipasi entity pada proses penentuan tipe relationship. •
Participation kejadian
: Menentukan
apakah
semua
kejadian-
entity akan ikut berpatisipasi dalam sebuah
relationship atau hanya beberapa saja yang ikut berpartisipasi. Jenis-jenis multiplicity menurut Thomas Connolly dan Carolyn Begg (2010, p345) adalah : 1. One-to-One (1 : 1) Relationship
Gambar 2.2 Multiplicity One to One Relationship
16
2. One-to-Many (1:*) Relationship
Gambar 2.3 Multiplicity One to Many Relationship 3. Many-to-Many (*:*) Relationship
Gambar 2.4 Multiplicity Many to Many Relationship Masalah yang akan timbul dari Entity Types Model adalah : •
Fan
Traps,
terjadi
karena
sebuah
model
merepresentasikan
sebuah relasi antara tipe-tipe dari entitas, tetapi jalur yang terdapat diantara kejadian-kejadian entity masih ambigu. •
Chasm
Traps,
terjadi
ketika
seuah
model
menganjurkan
keberadaan sebuah relasi diantara tipe-tipe dari entitas, tetapi tidak terdapat jalur diantara kejadian-kejadian entitas tersebut. 2.1.4.6 Keys Keys
memiliki
peran
yang
sangat
penting
untuk
menghubungkan satu objek dengan objek yang lainnya. Keys diletakkan pada suatu atribut yang telah ditentukan kedudukannya, agar dapat dihubungkan dengan atribut pada entity yang lain. Beberapa jenis keys yang bisa digunakan antara lain :
17
•
Candidat
key,
yaitu
himpunan
atribut
minimal
yang
secara unik mengidentifikasikan tiap-tiap keberadaan suatu entity. •
Primary key, yaitu candidat key yang dipilih secara unik untuk mengidentifikasikan tiap-tipa keberadaan suatu entity.
•
Foreign
key, yaitu himpunan
atribut dalam suatu relasi
yang cocok dengan candidat key dari beberapa relasi. •
Alternate key, yaitu candidat key yang tidak terpilih menjadi primary key.
2.1.5
Evaluasi Database Untuk mengevaluasi suatu database, dapat dengan mengecek apakah integrity constraintnya sudah benar atau belum. Menurut Connolly (), integrity constraint terdiri dari : 1. Data yang dibutuhkan Beberapa atribut harus memiliki nilai yang valid (tidak boleh NULL). 2. Attribute domain constraint Setiap atribut memiliki domain, yaitu kumpulan nilai yang legal. 3. Multiplicity Multiplicity merepresentasikan constraint yang diletakkan pada hubungan antara data pada database. 4. Entity integrity Primary key pada suatu entitas tidak boleh NULL. 5. Referential integrity Foreign key pada suatu tabel harus sesuai dengan primary key pada tabel yang lain
18
6. General constraint Constraint yang ditentukan oleh perusahaan. Contohnya adalah umur harus lebih besar dari 5 tahun. 2.2 Teori Yang Terkait Dengan Tema Penelitian 2.2.1 MySQL Menurut Luke Welling dan Laura Thomson (2001 : 2) MySQL adalah suatu RDBMS (Relational Database Management System) yang dapat mengontrol akses ke data dan memastikan hanya user yang memiliki hak yang dapat mengaksesnya. MySQL menggunakan SQL sebagai bahasa untuk penggunaannya. MySQL adalah server yang multi-user dan multi-threaded. Multi-threaded memiliki arti bahwa setiap seseorang melakukan koneksi dengan server, program servernya membuat suatu thread atau proses untuk melayani permintaan client. MySQL juga dapat digunakan pada berbagai platform, sehingga seseorang tidak perlu mengganti platformnya untuk menggunakan MySQL. Keuntungan MySQL antara lain : -
Performa yang tinggi
-
Hemat biaya
-
Mudah penggunaannya -
Bisa digunakan dimana saja
-
Source codenya mudah didapat
19
2.2.2 PHP Menurut Luke Welling dan Laura Thomson (2001 : 2) PHP adalah server-side scripting language yang dibuat untuk web. Kode PHP di interpretasikan di web server dan menghasilkan HTML atau hasil lain yang akan dilihat oleh pengunjung web. Keuntungan dari PHP antara lain : -
Performa yang tinggi
-
Interface yang dapat digunakan oleh berbagai sistem database
-
Library yang sudah terdapat di dalamnya (built in)
-
Hemat biaya
-
Mudah dipelajari dan digunakan
-
Portability
-
Source codenya mudah didapat
Contoh syntax PHP adalah : 2.2.3 HTML Menurut Laura Lemay (2000 : 52) HTML mempunyai singkatan yang berarti Hypertext Markup Language. HTML adalah sebuah bahasa yang mendeskripsikan struktur dari sebuah dokumen. HTML mendefinisikan sebuah bentuk umum untuk halaman web seperti judul, paragraf, daftar, dan tabel. HTML juga mendefinisikan
20
bentuk - bentuk karakter. Setiap elemen mempunyai nama dan mengandung tag. Berdasarkan Jon Duckett (2010 : 3) struktur HTML adalah sebagai berikut : …….. ……. 2.2.4 Cascading Style Sheet Menurut Jon Duckett (2010 : 243) Cascading Style Sheets atau biasa di singkat dengan CSS berfungsi untuk mengontrol bentuk dari halaman, termasuk warna dan ukuran font, lebar dan warna garis, dan jumlah spasi di antara benda yang berada di dalam halaman. Spesifikasi CSS bekerja sesuai dengan peraturan yang ditentukan bagaimana sejumlah elemen seharusnya muncul di dalam dokumen. 2.2.5 5 Faktor Manusia Terukur Menurut Ben Shneiderman (2004 : 32) untuk membuat sistem perancangan antarmuka yang efisien, efektif, dan memuaskan,
21
terdapat 5 faktor pengukur yang dapat dijadikan evaluasi. Faktor – faktor tersebut antara lain : 1. Waktu pembelajaran 2. Kecepatan kinerja 3. Tingkat kesalahan yang dibuat user 4. Daya ingat 5. Tingkat kepuasan user 2.2.6 8 Aturan Emas Berdasarkan Ben Shneiderman (2004 : 63) terdapat aturan aturan yang digunakan untuk merancang suatu tampilan layar. Aturan tersebut disebut sebagai 8 aturan emas. Isi dari aturan tersebut adalah : 1. Berusaha untuk tetap konsisten 2. Universal 3. Memberikan umpan balik 4. Menghasilkan dialog penutup 5. Terdapat error handling yang sederhana 6. Dapat kembali ke tindakan sebelumnya 7. Mendukung control internal 8. Mengurangi beban ingatan jangka pendek 2.2.7 Data Flow Diagram Menurut Whitten (2004 : 344) data flow diagram (DFD) adalah alat yang menunjukkan aliran data melalui sistem dan proses yang dilakukan oleh sistem. Simbol – simbol yang digunakan pada DFD adalah :
22
1.
Rounded rectangles atau segi empat sisi tidak lancip menunjukkan proses yang dilakukan
2.
Segi empat sisi lancip menunjukkan external agent
3.
Open ended boxes menunjukkan data stores atau tempat penyimpanan data
4.
Panah menunjukkan aliran data DFD memecah sistemnya menjadi beberapa level, yaitu : 1. Diagram Konteks ( level 0)
Diagram
konteks
mendokumentasikan
batasan
sistem
dengan
menekankan sumber dan tujuannya, 2. Diagram Nol (Level 1) Diagram Nol menunjukkan proses utama sistem, sumber data, dimana data disimpan, dan tujuannya. 3. Diagram Level 2 Sub proses dari proses yang dimiliki diagram nol. 2.2.8 State Transition Diagram Menurut Whitten (2004 : 673) state transition diagram (STD) digunakan untuk menunjukkan urutan dan variasi dari suatu layar yang dapat terjadi ketika system user berada di terminal. Simbol – simbol yang digunakan pada STD adalah : 1. Segi empat digunakan untuk menunjukkan layar 2. Panah menunjukkan aliran dari kontrol dan event yang membuat layarnya menjadi aktif.
23
2.2.9 Flowchart Menurut Lesley Anne Robertson (2006 : 264) flowchart merupakan metode alternatif untuk merepresentasikan algoritma. Flowchart merepresentasikan logika secara grafis dengan symbol geomatris tertentu dan garis yang terhubung. Simbol flowchart terdiri dari : 1. Simbol terminal Digambarkan dengan segi empat lancip. Setiap flowchart harus dimulai dan diakhiri dengan simbol terminal 2. Simbol output/input Digambarkan dengan jajar genjang 3. Simbol proses Digambarkan dengan segi empat siku 4. Simbol pilihan Digambarkan dengan belah ketupat 5. Aliran Digambarkan dengan panah 2.2.10
Metode Waterfall Menurut Roger S.Pressman (2005 : 79) model waterfall memberitahu suatu pengembangan software yang sistematis dan bertahap yang dimulai dari spesifikasi kebutuhan customer dan proses perencanaan, pemodelan, konstruksi, dan penyebaran dalam pembuatan software.
24
Gambar 2.5 Waterfall Method 2.2.11
Factfinding Menurut Connolly (2010 : 315) factfinding adalah proses formal menggunakan teknik seperti wawancara dan kuesioner untuk memperoleh fakta mengenai sistem, kebutuhan, dan preferensi. Factfinding dibagi menjadi : 1. Observasi Observasi adalah teknik pengumpulan data dimana peneliti langsung meninjau tempat dimana permasalahan terjadi. 2. Penelitian Contoh dari penelitian adalah melalui jurnal, buku referensi, dan internet. 3. Wawancara Wawancara adalah teknik pengumpulan data dimana peneliti bertanya kepada pihak – pihak terkait atas permasalah yang terjadi 4. Studi Pustaka Studi pustaka adalah teknik pengumpulan data dimana peneliti mengumpulkan data dari literatur – literatur yang sudah ada. 5. Kuesioner Kuesioner adalah pertanyaan terstruktur yang diisi sendiri oleh responden atau diisi oleh pewawancara
yang
25
membacakan pertanyaan dan kemudian mencatat jawaban yang berikan. 5.2.1 Pendaftaran Menurut Departemen Pendidikan dan Kebudayaan, Pendaftaran adalah proses, cara, dan perbuatan mendaftar seperti pencatatan nama, alamat dan sebagainya dalam daftar. Jadi pendaftaran adalah sebuah proses pencatatan identitas pendaftar yang dimasukkan kedalam sebuah media penyimpanan. 5.2.2 Peminjaman Peminjaman berasal dari kata pinjam yang berarti memakai barang orang lain untuk waktu tertentu ( kalau sudah sampai waktunya, barang harus dikembalikan ) dan penambahan imbuhan pem- dan –an yang artinya proses, cara, dan perbuatan. Jadi peminjaman adalah suatu proses meminjam atau meminjamkan dan harus dikembalikan lagi kepada pemiliknya. 5.2.3 Pendataan Pendataan berasal dari kata data yang berarti keterangan atau bahan nyata yang dapat dijadikan bahan kajian. Penambahan imbuhan pem- dan –an memiliki arti proses, cara, perbuatan. Jadi pendataan adalah suatu proses pengumpulan data dan pencarian data. 5.2.4 Download dan Upload (Sharing Data) Menurut Shelly, Cashman dan Vermaat (2004 : 76) Download adalah sebuah proses dimana komputer menerima informasi seperti halaman web atau dari sebuah server di internet. Menurut Shelly, Cashman dan Vermaat (2004 : 95) Upload merupakan keterbalikan
26
dari proses download. Jadi upload adalah sebuah proses mentransfer dokumen, grafik, dan objek lain dari computer ke sebuah server di internet.