6 BAB 2 LANDASAN TEORI 2.1 Teori Basis Data 2.1.1 Pengertian

advertisement
BAB 2
LANDASAN TEORI
2.1 Teori Basis Data
2.1.1 Pengertian Data
Menurut Turban (2003, p2), data ialah fakta yang belum diolah atau
gambaran dari transaksi yang ditangkap, direkam, disimpan dan
diklasifikasikan.
2.1.2 Pengertian Basis Data
Menurut Thomas M. Connolly dan Carolyn Begg (2002, p14), basis
data adalah kumpulan data yang saling berhubungan secara logis dan
dirancang untuk memenuhi kebutuhan informasi dalam suatu organisasi.
2.1.3 Arsitektur Basis Data
Menurut Thomas M. Connolly dan Carolyn Begg (2002, p34), ada
tiga level arsitektur basis data (Three-Level ANSI-SPARC Architecture)
yaitu:
•
External Level
Level ini merupakan view basis data pada user. Setiap user
mempunyai view
masing-masing tergantung kebutuhan informasi dari
user tersebut.
6
7
•
Conceptual Level
Level ini menggambarkan data apa saja yang disimpan dalam basis
data dan hubungan antara data-data tersebut.
• Internal Level
Level ini merupakan reperesentasi fisik dari basis data yang ada di
komputer. Level ini menggambarkan bagaimana data disimpan dalam
suatu basis data.
2.1.4 Sistem Basis Data
Sistem basis data merupakan kumpulan dari program aplikasi yang
berinteraksi dengan basis data (Connolly dan Begg, 2002, p4).
Jadi, sistem basis data ialah kombinasi dari beberapa program
aplikasi dengan basis data yang telah berjalan sehingga keseluruhan sistem
terkomputerisasi tersebut memungkinkan pengguna menelusuri kembali
dan mengubah informasi sesuai kebutuhan.
2.1.5 Database Relational
Database Relational merupakan database yang dalam gambaran
penggunaannya merupakan kumpulan dari tabel-tabel, dimana tabel
tersebut terdiri dari baris dan kolom, atau dengan kata lain terdiri dari
kumpulan record dan field. Tabel tersebut kemudian dihubungkan dengan
satu field di tabel lain yang disebut sebagai key.
8
Pada database relational terdapat dua jenis field yang dapat
menggambarkan hubungan, yaitu primary key dan foreign key.
•
Primary key adalah suatu field yang merupakan kunci utama
dari suatu tabel yang menunjukkan bahwa field yang menjadi kunci
tersebut tidak dapat diisi dengan data yang sama, menjadikan record
memiliki identitas yang membedakan satu sama lainnya.
•
Foreign key merupakan sebuah field yang digunakan sebagai
field tujuan yang dihubungkan dengan field dari tabel pemanggil.
Hubungan antar tabel dalam database relational dapat dibagi
menjadi tiga, yaitu:
•
Hubungan one to one, ialah hubungan antar tabel dimana satu
isi record pada satu tabel hanya dapat berhubungan dengan satu record
pada tabel lainnya.
•
Hubungan one to many atau many to one, ialah hubungan antar
tabel dimana satu isi record pada satu tabel dapat berhubungan dengan
beberapa record pada tabel lainnya atau sebaliknya.
•
Hubungan many to many, ialah hubungan antar tabel dimana
satu isi record pada salah satu table dapat berhubungan dengan beberapa
record pada tabel tersebut.
9
2.1.6 Normalisasi
Menurut Connolly
dan
Begg (2010, p428) normalisasi
merupakan suatu teknik untuk menghasilkan sekumpulan hubungan
dengan properti yang diinginkan, yang memberikan kebutuhan data
terhadap suatu perusahaan.
Tujuan dari normalisasi adalah sebagai berikut :
o Meminimalkan jumlah atribut yang diperlukan untuk mendukung
kebutuhan data dari suatu perusahaan.
o Untuk memperoleh atribut yang bersifat functional dependencies.
o Untuk menghilangkan data yang bersifat redundancy pada tiap atribut.
Langkah-langkah normalisasi menurut Connolly dan Begg (2010, p430)
adalah :
•
Unnormalized Normal Form (UNF)
Unnormalized
form
(UNF)
merupakan
sebuah
tabel
yang
mengandung satu atau lebih repeating group
•
First Normal Form (1NF)
First Normal Form (1NF) merupakan sebuah relasi dimana setiap
potongan baris dan kolom mengandung satu dan mungkin hanya satu
nilai, dan proses untuk mengubah tabel UNF ke dalam First Normal
Form
(1NF)
adalah
dengan
cara
mengidentifikasi
dan
menghilangkan bagian yang mengandung repeating group pada
tabel.
10
•
Second Normal Form (2NF)
Second Normal Form (2NF) dapat dihasilkan dengan cara melihat
apakah ada atribut yang bukan merupakan primary key dapat
merupakan fungsi dari sebagian primary key (partial dependence)
didalam bentuk normal kedua setiap atribut yang yang bergantung
secara parsial harus dipisahkan. Bentuk normal akan diperoleh bila
setiap atribut yang bukan merupakan primary key dari suatu tabel
secara penuh merupakan functional dependence dari primary key itu.
•
Third Normal Form (3NF)
Didalam Third Normal Form (3NF) akan secara langsung dilakukan
pengujian dengan cara melihat apakah terdapat atribut bukan key
yang bergantung fungsional terhadap atribut yang bukan key yang
lain atau disebut transitive dependence. Dengan cara yang sama,
maka setiap transitive dependence harus dipisahkan. Third Normal
Form (3NF) dapat dikatakan sudah normal apabila anomali yang ada
didalamnya sudah tidak ada, pada kasus tertentu normalisasi
dilakukan sampai BCNF.
11
2.1.7 Entity Relationship
Menurut Connolly dan Begg (2010, p372) salah satu kesulitan
dalam perancangan database adalah kenyataan bahwa user dan
programmer cenderung berbeda dalam melihat data yang ada.
Berikut ini adalah konsep dasar dari ER model :
• Entity types, entity types adalah sekelompok obyek dengan sifat
yang sama, yang diidentifikasi oleh perusahaan memiliki
keberadaan yang bebas.
• Relationship type, relationship type adalah sekelompok hubungan
yang memiliki satu atau lebih entity.
• Attribute, attribute adalah properti dari sebuah entity atau sebuah
relationship.
• Key, key terdiri dari beberapa jenis, yaitu:
o Candidate key
Set minimal atribut yang secara unik mengidentifikasi setiap
terjadinya suatu tipe entitas.
o Primary key
Candidate key yang dipilih untuk mengidentifikasi secara unik
setiap kejadian atau sebuah tipe entitas.
o Composite key
Candidate key yang terdiri dari dua atribut atau lebih.
Menurut Whitten, Jeffrey L. (2004, p295) entity relationships
adalah model data yang menggunakan beberapa notasi untuk
menggambarkan data dalam hubugan antara hal Perusahaan,
12
Peserta dan hubungan antara entity dan relationship yang
menggambarkan data.
• Entity adalah kelompok orang, tempat, benda, peristiwa, atau
konsep tentang apa yang dibutuhkan untuk menangkap dan
menyimpan data.
• Attribute adalah properti deskriptif atau karakteristik dari suatu
entitas, meliputi elemen, properti, dan lapangan.
• Relationship adalah asosiasi bisnis alami yang ada antara satu
atau lebih entitas.
• Key
merupakan
atribut
atau
kelompok
atribut
yang
mengasumsikan nilai unik untuk tiap contoh entitas. kadangkadang disebut identifier. Beberapa jenis key :
o Candidate key
Salah satu kunci yang secara unik dapat berfungsi sebagai kunci
utama suatu entitas, dan dapat mengenali setiap kejadian
didalam tipe entity. Candidate key tidak boleh NULL dan setiap
entity mungkin punya lebih dari satu candidate key.
o Primary key
Candidate key yang akan paling sering digunakan sebagai kunci
primer untuk mengenali secara unik dan untuk mengidentifikasi
contoh entitas tunggal. Pemilihan primary key untuk sebuah
entity berdasarkan pada pertimbangan panjang atribut, jumlah
minimal dan kebutuhan atribut serta memiliki keunikan.
13
o Alternate Key
Candidate key yang tidak terpilih menjadi primary key, sama
dengan secondary key.
2.2 Interaksi Manusia dan Komputer
Menurut Shneiderman (2010, p32), dalam mendesain suatu user
interface ada 5 faktor manusia terukur yaitu:
1. Waktu belajar, berapa lama waktu yang dibutuhkan oleh user untuk
mempelajari cara relevan untuk melakukan suatu tugas?
2. Kecepatan kinerja, berapa lama waktu yang diperlukan untuk
mengerjakan suatu tugas?
3. Tingkat kesalahan, berapa banyak kesalahan dan kesalahankesalahan seperti apa yang bisa terjadi saat user mengerjakan tugastugas tersebut.
4. Daya ingat, bagaimana kemampuan pemakai mempertahankan
pengetahuannya setelah jangka waktu tertentu?
5. Kepuasan subyektif, bagaimana kepuasan user terhadap berbagai
aspek dari sistem?
14
2.2.1
Delapan Aturan Emas (8 Golden Rules)
Menurut Shneiderman (2010, p88-89), disebutkan bahwa ada
delapan aturan emas yang digunakan dalam merancang antar muka,
yaitu:
1. Berusaha untuk konsisten, seperti dalam penggunaan warna, layout,
jenis huruf, dan sebagainya.
2. Memenuhi kegunaan yang universal. Memenuhi kebutuhan yang
berbeda-beda dari setiap user dan design yang fleksibel.
3. Memberikan umpan balik informatif yang memberikan kejelasan
dari setiap aksi yang dilakukan.
4. Merancang dialog yang memberikan penutupan (keadaan akhir).
5. Memberikan pencegahan kesalahan dan penanganan kesalahan yang
sederhana.
6. Memungkinkan aksi timbal balik yang sederhana.
7. Mendukung pusat kendali internal, dimana sistem hendaknya
mampu memberikan user sebagai bagian dari sistem itu sendiri dan
memiliki kebebasan sendiri.
8. Mengurangi beban ingatan jangka pendek, dimana user diberikan
kemudahan dalam menjelajahi situs dengan petunjuk-petunjuk yang
sederhana dan mudah diingat.
15
2.3 Perancangan Web Database.
Menurut Eaglestone dan Ridley (2001, p262) pada bagian ini
digambarkan sebuah metode untuk merancang sistem web database. Sistem
web database adalah sistem dimana dipadukannya teknologi web dan
tekonologi database. Pertama yang harus dilakukan adalah menggambarkan
tahap desain database konvensional, namun terdapat dua hal yang harus
ditambahkan, yaitu :
1. Web Page Design, hal ini meliputi :
a. Menampilkan web data (Webdata representation) yaitu mengambil
data dari database atau data yang di input user.
b. Kumpulan web data (Webdata association) yaitu rancangan yang
dibuat sedemikian rupa untuk digunakan sebagai petunjuk didalam
maupun antara halaman web.
c. Desain web antarmuka (Web interface design) yaitu fitur-fitur yang
ada dihalam web, termasuk didalamnya penggunaan grafik dan animasi
2. Perancangan hubungan antara Web Pages dan database, yaitu:
a.
Web database logical mapping
Definisi antara mapping dengan data yang ditampilkan dalam
halaman web dan data yang disimpan di dalam basis data.
b.
Web database physical mapping.
Merupakan implementasi dari mekanisme dimana data melewati
halaman web dan database.
Web database design method merupakan serangkaian model yang
menampilkan data yang disimpan kedalam halaman web dengan
menambahkan data ke dalam database dengan tujuan untuk menyediakan
16
cara yang sistematis untuk merancang data. Berikut ini merupakan gambar
dari web database design method.
Gambar 1.1 Perancangan webdatabase
(Eaglestone and Ridley, 2001, p264)
17
Tahapan-tahapan dalam web database design yaitu :
1. Requirement Analysis
Merupakan proses mengumpulkan dan menganalisis informasi
mengenai bagian dari organisasi yang didukung oleh database yang
terintegrasi dengan baik dan informasi ini digunakan untuk
mengidentifikasi syarat-syarat untuk sistem baru.
2. Data Analysis
Merupakan proses yang menggambarkan kegiatan organisasi
yang dalam kaitannya dengan kejadian yang dapat di representasikan
dan yang harus disimpan dalam database.
3. Web Data Analysis
Merupakan proses mendefinisikan model konseptual dari
informasi yang digambarkan didalam halaman web yang berasal dari
database, Tujuan dari web data analysis adalah sebagai berikut :
• Untuk mapping antara informasi yang digambarkan di halaman
web dan disimpan ke dalam database.
• Untuk memeriksa valid atau tidaknya database.
• Untuk
memverifikasi
kedetailan
suatu
design
dan
implementasi.
• Untuk menghindari kompleksitas suatu data.
4. Logical database design
Merupakan proses untuk mentranslasikan atau mendefinisikan
model data logikal dan mengimplementasikannya ke dalam model
koseptual database.
18
5. Logical Web Database Design
Merupakan proses untuk mendefinisikan struktur data dari
halaman web yang aktual, termasuk didalamnya link didalam suatu
halaman web ke halaman yang lain.
6. Physical Database Design.
Merupakan fase yang ada didalam proses design, dimana desainer
dapat memutuskan bagaimana database dapat disimpan kedalam
database management system (DBMS).
7. Physical Web Database design.
Merupakan proses pengimplementasian halaman web dan
menghubungkannya ke dalam database.
Menurut Connolly dan Begg (2010), ada beberapa alasan utama
suatu software mengalami kesalahan, yaitu :
1. Kurangnya spesifikasi kebutuhan
2. Metodologi perancangan yang kurang baik
3. Komposisi desain komponen yang kurang baik
Sebagai solusi atas masalah tersebut, pendekatan terstruktur
untuk pengembangan software dibuatlah Siklus Hidup Sistem Informasi
/ Information Systems Lifecycle (ISLC) atau Siklus Hidup Perangkat
Lunak / Software Development Lifecycle (SDLC). Namun, jika software
yang sedang dibangun merupakan sistem database, maka disebut Siklus
Hidup Sistem Basisdata / Database System Development Lifecycle
(DSDLC).
19
Gambar 2.1 Database System Development Lifecycle (DSDLC).
(Sumber : Connolly)
20
2.4 Rekayasa Perangkat Lunak
2.4.1 Pengertian Rekayasa Perangkat Lunak
Menurut Sommerville (2011, p7), Rekayasa perangkat lunak
adalah disiplin ilmu yang membahas semua aspek produksi perangkat
lunak. Mulai dari tahap awal spesifikasi sistem sampai pemeliharaan
sistem setelah digunakan. Pada definisi ini, ada dua istilah kunci:
1. Disiplin Rekayasa
Developer membuat suatu alat bekerja. Mereka merupakan teori,
metode, dan alat bantu yang sesuai, selain itu mereka menggunakannya
dengan selektif dan selalu mencoba mencari solusi terhadap
permasalahan, walaupun tidak ada teori atau metode yang mendukung.
Developer juga menyadari bahwa mereka harus bekerja dalam
batasan organisasi dan keuangan, sehingga mereka berusaha mencari
solusi dalam batasan-batasan ini.
2. Semua aspek produski perangkat lunak
Rekayasa prianti lunak tidak hanya berhubungan dengan proses
teknis dari pengembangan perangkat lunak tetapi juga dengan kegiatan
seperti manajemen proyek perangkat lunak, pengembangan alat bantu,
metode, dan teori untuk mendukung produksi perangkat lunak.
21
2.4.2 Tahapan Pengembangan
P
RPL
Menurut Sommerville (2011, p29), Waterfall model mengambil
kegiatan proses dasar spesifikasi, pengembangan, validasi, evolusi, dan
mewakili kegiatan tersebut fase proses terpisah seperti spesifikasi
persyaratan, perancangan perangkat lunak, implementasi, pengujian,
dan sebagainya.
Berikut merupakan tahap-tahap
tahap
dalam waterfall model:
Gambar 2.2 Waterfall Model
a. Requirements definition
Sistem layanan, kendala, dan tujuan diterapkan melalui
konsultasi dengan pengguna sistem, kebutuhan tersebut kemudian
ditetapkan secara rinci dan berfungsi sebagai spesifikasi sistem.
22
b. System and software design
Proses desain sistem mengalokasikan persyaratan baik untuk
sistem perangkat keras atau perangkat lunak dengan mendirikan
sebuah arsitektur sistem secara keseluruhan. Desain software
melibatkan mengidentifikasikan dan menggambarkan abstraksi sistem
perangkat lunak yang mendasar.
c. Implementation and unit testing
Selama tahap ini, desain perangkat lunak disadari sebagai
serangkaian program atau program unit. Unit testing memverifikasi
bahwa setiap unit sesuai spesifikasi.
d. Integration and system testing
Program unit individu atau program diintegrasikan dan diuji
sebagai sistem yang lengkap untuk memastikan bahwa persyaratan
perangkat lunak telah dipenuhi. Setelah pengujian, sistem software
diserahkan kepada pelanggan.
e. Operation and maintenance
Ini adalah fase yang terpanjang. Sistem ini dipasang dan
dimasukkan ke dalam penggunaan praktis. Pemeliharaan melibatkan
mengoreksi kesalahan yang tidak ditemukan dalam tahap awal siklus,
meningkatkan implementasi unit sistem dan peningkatan sistem
sebagai kebutuhan baru ditemukan.
Download