BAB 2
TINJAUAN PUSTAKA
2.1. Teori yang berkaitan dengan Database Teori-teori database yang dibahas adalah teori sistem basis data, database management system, siklus hidup aplikasi basis data, dan metodologi perancangan basis data. 2.1.1. Pengertian Data Menurut McFadden (1999,p5) data adalah fakta-fakta tentang segala sesuatu di dunia nyata yang dapat direkam dan disimpan pada media komputer. Menurut Whitten et.al. (2007, p21), data adalah fakta mentah mengenai orang, tempat, kejadian, dan hal-hal yang penting dalam organisasi. Menurut Inmon (2005, p493) menyatakan bahwa data adalah rekaman dari fakta, konsep, ataupun instruksi pada sebuah media penyimpanan untuk komunikasi, pengambilan, maupun pemrosesan dari pengertian otomatis dan presentasi dari informasi yang dapat dimengerti oleh manusia. 2.1.2. Pengertian Basis Data Menurut Connolly dan Begg(2010,p65),Basis data adalah kumpulan data dan deskripsi data yang terhubung secara logika serta dirancang untuk memenuhi kebutuhan informasi organisasi. Menurut Inmon (2005, p493) tentang basis data adalah sekumpulan data yang saling
berhubungan
dan
disimpan
(biasanya telah terkontrol dan memiliki redudansi yang terbatas) berdasarkan suatu skema. Menurut O'Brien (2005, p211) menyatakan bahwa basis data adalah sebuah kumpulan terintegrasi dari elemen data yang 7
8 secara
logika
saling
berhubungan.
Elemen
data
yang
mendeskripsikan entitas dan hubungan antar entitas. 2.1.3. Pengertian Sistem Basis Data Menurut Connolly dan Begg(2010,p54),sistem basis data sebagai kumpulan program aplikasi yang berinteraksi dengan basis data bersama dengan Database Management System (DBMS). Jadi, untuk
sistem
basis
data
merupakan
aplikasi
yang
dibuat
membantu pengguna mengolah data yang terdapat dalam
basis data dengan sejumlah fungsi-fungsi yang telah disediakan. 2.1.4. Pengertian DBMS (Database Management System) Menurut
Connolly
dan
Begg(2010,p66),
Database
Management System (DBMS) merupakan sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara dan kontrol akses ke database. 2.1.5. Fasilitas DBMS (Database Management System) Umumnya, sebuah DBMS menyediakan fasilitas sebagai berikut : a. Data Definition Language Data Definition Language (selanjutnya disingkat DDL) memberikan
fasilitas
kepada
pengguna
untuk
menspesifikasikan tipe data dan strukturnya serta batasan aturan mengenai data yang bisa disimpan ke dalam basis data tersebut. b. Data Manipulation Language Data Manipulation Language (selanjutnya disingkat DML) memberikan fasilitas kepada pengguna untuk menambah, mengedit, menghapus, dan memperoleh kembali data. c. Query Language Query language memberikan fasilitas kepada pengguna untuk mengakses data. Structured Query Language (selanjutnya disingkat SQL) merupakan bahasa query
9 yang paling diakui dan secara de facto merupakan standar bagi DBMS. Pengendalian Akses ke dalam basis data, meliputi : 1) Keamanan Sistem : mencegah pengguna yang tidak memiliki hak akses untuk memasuki basis data. 2) Integritas Sistem : menjaga konsistensi data di dalam basis data. 3) Pengendalian Share Data. 4) Backup and Recovery System : mengembalikan data ke dalam
kondisi semula apabila
terjadi kegagalan dalam perangkat keras ataupun perangkat lunak. 5) Terdapat katalog yang dapat diakses pengguna yang berisi deskripsi data dalam basis data.
d. Mekanisme View, berfungsi untuk menampilkan data yang hanya diinginkan dan diperlukan oleh pengguna.
2.1.5.1. Komponen DBMS Ada lima komponen utama dalam lingkungan DBMS (Connolly dan Begg, 2010, p68), yaitu : a. Perangkat keras Perangkat keras menjangkau mulai dari komputer personal, mainframe tunggal dan sebuah jaringan komputer. b. Perangkat lunak Komponen perangkat lunak merupakan
perangkat lunak
DBMS itu sendiri dan program aplikasi yang tergabung dengan sistem operasi, termasuk perangkat lunak jaringan apabila DBMS digunakan dalam jaringan. c. Data Komponen paling penting pada lingkungan DBMS, dilihat dari sudut pandang pengguna akhir, adalah data. Data
10 bertindak sebagai jembatan antara komponen mesin dan komponen manusia. Basis data mencakup data operasional dan metadata, ‘data mengenai data.
d. Prosedur Prosedur mengatur
merupakan
instruksi
perancangan
dan
aturan yang
dan penggunaan dari basis
data. e. Orang Komponen terakhir dalam lingkungan DBMS adalah orang. Kita bisa mengidentifikasikan empat tipe orang yang berpartisipasi dalam lingkungan DBMS yaitu : 1) Data and Database Administrators 2) Database Designers 3) Application Developers 4) End-Users
2.1.5.2. Keuntungan DBMS Menurut Connolly dan Begg (2010, p77), keuntungan dari DBMS adalah: a. Kontrol atas redudansi atau perulangan data. b. Konsistensi data. c. Informasi yang diperoleh dari data yang sama lebih banyak. d. Meningkatkan integritas data. e. Meningkatkan keamanan data. f. Penetapan
standarisasi
data, penamaan dan
pelaksanaan
(format
prosedurupdate).
g. Pengurangan biaya, data operasional dijadikan satu kemudian dibuat aplikasi dengan menggunakan sumber data yang tunggal tersebut sehingga akan mengurangi biaya.
11 h. Mempermudah pengoperasian data. i. Meningkatkan aksesbilitas dan respon data. j. Meningkatkan produktivitas. k. Meningkatkan pemeliharaan data melalui data independence (data menjadi global). l. Mengurangi kehilangan informasi dan intergritas data. m. Meningkatkan layanan Backup and Recovery.
2.1.5.3. Kerugian DBMS Menurut Connolly dan Begg (2010, p80), kerugian dari DBMS adalah : a.
Kompleksitas.
b.
Ukuran.
c.
Biaya dari penggunaan DBMS.
d.
Biaya penambahan perangkat keras.
e.
Biaya pelatihan dan staff spesialis.
2.1.6. Structured Query Language Menurut
Connolly
dan
Begg
(2010,
p185),
SQL
merupakan bahasa basis data yang mengijinkan pengguna untuk membuat basis data dan struktur hubungan dalam basis data, menampilkan tugas manajemen basis data (insert, menyediakan modifikasi dan penghapusan data) dan menyediakan query yang sederhana maupun kompleks. SQL merupakan contoh dari transform-oriented language atau bahasa yang dirancang untuk mengubah input menjadi output yang diinginkan pada suatu relasi.
2.1.6.1. Data Definition Language Menurut Connolly dan Begg (2010, p92), DDL merupakan bahasa yang mengijinkan pengguna untuk menggambarkan dan memberikan nama terhadap entitas,
12 atribut, dan hubungan yang dibutuhkan untuk aplikasi, dengan batasan-batasan integritas dan keamanan yang dibutuhkan. DDL digunakan untuk mendefinisikan sebuah skema atau untuk memodifikasi skema yang sudah ada serta mengontrol akses data. DDL tidak bisa digunakan untuk memanipulasi data. Operasi nya mencakup hal-hal berikut: a. CREATE (untuk membentuk basis data, table atau index) b. DROP (untuk mengubah struktur table) c. ALTER (untuk menghapus basis data, table atau index)
2.1.6.2. Data Manupulation Language Menurut Connolly dan Begg (2010, p92), DML adalah sebuah bahasa yang menyediakan sekumpulan operasi untuk mendukung operasi manipulasi data dasar terhadap data yang disimpan di dalam basis data. Operasi manipulasi data biasanya mencakup hal-hal berikut : a. Memasukkan data baru ke dalam basis data. b. Modifikasi data yang disimpan di dalam basis data. c. Memperoleh data yang ada di dalam basis data. d. Menghapus data dari basis data. Bagian
dari
DML
yang
melibatkan
perolehan data disebut query language. Query language dapat didefinisikan sebagai bahasa tingkat tinggi bertujuan khusus yang digunakan untuk memenuhi permintaan yang beraneka ragam pada data yang
disimpan di dalam basis data. DML
13 dapat dibedakan menjadi dua tipe, yaitu DML procedural dan DML non-procedural.
2.1.7. Data Flow Diagram (DFD) Data Flow Diagram (DFD) Data Flow Diagram atau disingkat DFD merupakan suatu penggambaran model yang memungkinkan profesional sistem untuk menggambarkan
sistem
sebagai
suatu
susunan
proses
yang
dihubungkan satu sama lain dengan alur data, baik secara manual maupun terkomputerisasi. Menurut Indrajani (2011, p11) Data Flow Diagram
(DFD)
adalah sebuah alat yang menggambarkan aliran data sampai sebuah sistem selesai, dan kerja atau proses dilakukan dalam sistem tersebut. Dalam DFD ini terdapat 4 komponen utama yaitu:
Tabel 2.1 4 Komponen DFD
Keterangan Komponen 1. External Agents. Agen external mendefinisikan orang atau sebuah unit organisasi, sistem lain, atau organisasi yang berada diluar sistem proyek tapi dapat mempengaruhi kerja sistem.
DeMarco and Yourdan Symbols
Gane and Sarson Symbols
14 2. Process. Proses adalah penyelenggaraan kerja atau jawaban, datangnya aliran data atau kondisi. 3. Data Stores. Data stores adalah sebuah penyimpanan data. 4. Data Flow. Data flow merepresentasikan sebuah input data ke dalam sebuah proses atau output dari data (atau informasi) pada sebuah proses
Jenis-jenis DFD dibagi menjadi tiga tingkatan, dimana masingmasing level tersebut menggambarkan detail dari level sebelumnya, berikut penjelasan tiga jenis DFD tersebut : 1.
Level 0 (Diagram Konteks) Level ini merupakan sebuah proses yang berada di level pusat.
2.
Level 1 (Diagram 0) Level ini merupakan sebuah proses yang terdapat di level 0 yang dipecahkan
menjadi
beberapa
proses
lainnya.
Sebaiknya
maksimum 7 proses untuk sebuah diagram konteks. 3.
Level 2 (Diagram Rinci) Pada level ini merupakan diagram yang merincikan diagram level 1. Tanda * pada proses menandakan bahwa proses tersebut tidak dapat dirincikan lagi. Penomoran yang dilakukan berdasarkan urutan proses.
15 2.1.8. Flowchart Diagram Menurut
Indrajani
(2011,p22),
Flowchart
merupakan
penggambaran secara grafik dari langkah-langkah dan urutan prosedur suatu program. Biasanya mempermudah penyelesaian masalah yang khususnya perlu dipelajari dan dievaluasi lebih lanjut. Flowchart di bedakan menjadi 5 jenis flowchart, antara lain system flowchart, document flowchat, schematic flowchart, program flowchart, process flowchart. Masing-masing jenis flowchart akan di jelaskan berikut ini. 1.
System Flowchart System flowchart dapat didefinisikan sebagai bagan yang menunjukkan arus pekerjaan secara keseluruhan dari sistem. Bagan ini menjelaskan urut-urutan dari prosedur-prosedur yang ada di dalam sistem. Bagan alir sistem menunjukkan apa yang dikerjakan di sistem.
2.
Document Flowchart Bagan alir dokumen (document flowchart) atau disebut juga bagan alir formulir (form flowchart) atau paperwork flowchart merupakan bagan alir yang menunjukkan arus dari laporan dan formulir termasuk tembusan-tembusannya.
3.
Schematic Flowchart Bagan alir skematik (schematic flowchart) merupakan bagan alir yang mirip dengan bagan alir sistem, yaitu untuk menggambarkan prosedur di dalam sistem. Perbedaannya adalah, bagan alir skematik selain menggunakan simbol-simbol bagan alir sistem,
16 juga menggunakan gambar-gambar komputer dan peralatan lainnya yang digunakan. Maksud penggunaan gambar-gambar ini adalah untuk memudahkan komunikasi kepada orang yang kurang paham dengan simbol-simbol bagan alir. Penggunaan gambargambar ini memudahkan untuk dipahami, tetapi sulit dan lama menggambarnya. 4.
Program Flowchart Bagan alir program (program flowchart) merupakan bagan yang menjelaskan secara rinci langkah-langkah dari proses program. Bagan alir program dibuat dari derivikasi bagan alir sistem. Bagan alir program dapat terdiri dari dua macam, yaitu bagan alir logika program (program logic flowchart) dan bagan alir program komputer terinci (detailed computer program flowchart). Bagan alir logika program digunakan untuk menggambarkan tiap-tiap langkah di dalam program komputer secara logika. Bagan alatlogika program ini dipersiapkan oleh analis sistem. Gambar berikut menunjukkan bagan alir logika program. Bagan alir program komputer terinci (detailed computer program flowchart) digunakan untuk menggambarkan instruksi-instruksi program komputer secara terinci. Bagan alir ini dipersiapkan oleh pemrogram.
5.
Process Flowchart Bagan alir proses (process flowchart) merupakan bagan alir yang banyak digunakan di teknik industri. Bagan alir ini juga
17 berguna bagi analis sistem untuk menggambarkan proses dalam suatu prosedur.
Berikut ini merupakan notasi atau symbol-simbol dalam penggambaran flowchart yaitu: Tabel 0.2 Notasi/Simbol Penggambaran Flowchart Simbol
Keterangan Symbol Off-line Connector ( Simbol untuk keluar/masuk prosedure atau proses dalam lembar/halaman yang lain) Symbol Connector (Simbol untuk keluar/masuk prosedur atau proses dalam lembar/halaman yang sama) Symbol Process (Simbol menunjukkan pengolahan dilakukan oleh komputer)
yang yang
Symbol Manual Operation (Simbol yang menunjukkan pengolahan yang tidak dilakukanoleh komputer) Symbol Decision (Simbol untuk kondisi yang akan menghasilkan beberapa kemungkinan jawaban/aksi) Symbol Predefined Process (Simbol untuk mempersiapkan penyimpanan yang akan digunakan sebagai tempat pengolahan di dalam storage) Symbol Terminal (Simbol untuk permulaan atau akhir dari suatu program) Symbol Off-line Storage (Simbol yang menunjukkan bahwa data di dalam symbol ini akan disimpan)
18 Symbol Manual Input (Simbol untuk pemasukan data secara manual on-line keyboard) Symbol input-output (Symbol yang menyatakan proses input dan output tanpa tergantung dengan jenis peralatannya) Symbol magnetic-tape unit (Symbol yang menyatakan input berasal pita magnetic atau output disimpan ke pita magnetic) Symbol punched card (Simbol yang menyatakan input berasal dari kartu atau output ditulis ke kartu) Symbol disk and on-line storage (Simbol untuk menyatakan input berasal dari disk atau output disimpan ke disk) Symbol display (Simbol yang menyatakan peralatan output yang digunakan yaitu layar, plotter, printer, dan sebagainya) Symbol dokumen (Simbol yang menyatakan input berasal dari dokumen dalam bentuk kertas atau output dicetak ke kertas)
2.1.9. Teori Database System Development Life cycle Menurut Connolly dan Begg (2010, p313), siklus hidup aplikasi database secara inheren terkait dengan siklus hidup sistem informasi. Penting untuk mengenali bahwa tahapan siklus hidup aplikasi database tidak selalu berurutan, tetapi melibatkan beberapa jumlah pengulangan tahap sebelumnya melalui loop feedback. Berikut ditunjukkan tahapan daur hi dup aplikasi database pada Gambar 2.1 di bawah ini.
19
Gambar 2.1 Siklus Hidup Basis Data
2.1.9.1. Database Planning (Perancangan Basis Data) aktivitas manajemen yang memungkinkan tahapan dari siklus hidup sistem database yang akan direalisasikan secara efisiensi dan seefektif mungkin. (Connolly dan Begg 2010, p313).
2.1.9.2. System Definition (Definisi Sistem) Menentukan ruang lingkup dan batas-batas dari sistem database, termasuk pandangan pengguna utama, penggunanya, dan area aplikasi. Pandangan pengguna mendefinisikan apa yang dibutuhkan dari sistem database dari perspektif peran pekerjaan tertentu (seperti sebagai Manajer atau Supervisor) atau area aplikasi enterprise (seperti pemasaran, personalia, atau pengontrol stok). (Connolly dan Begg (2010, p316),)
20 2.1.9.3. Requirement Collection and Analysis (Pengumpulan dan Analisis Kebutuhan) Menurut Connolly dan Begg (2010, p316), proses mengumpulkan dan menganalisis informasi tentang bagian dari organisasi yang harus didukung oleh sistem database, dan menggunakan informasi ini untuk mengidentifikasi persyaratan untuk sistem baru. Ada tiga pendekatan utama untuk mengelola persyaratan sistem database dengan pandangan beberapa pengguna, yaitu : i. The centralized approach (Pendekatan terpusat) ii. The view integration approach (Pendekatan integrasi tampilan) iii. A combination of both approach (Kombinasi dari pendekatan keduanya) Ada banyak teknik untuk mengumpulkan informasi ini, yang disebut fact finding techniques. Terdapat lima teknik fact finding yang umum digunakan : a. Mempelajari dokumen. b. Mewawancarai c. Mengamati kegiatan perusahaan d. Penelitian e. Kuisioner
2.1.9.4. Database Design (Desain Basis Data) Menurut
Connolly
dan
Begg
(2010,
p320),
proses
menciptakan desain yang akan mendukung pernyataan misi perusahaan dan tujuan misi untuk sistem database yang diperlukan. Terdapat dua pendekatan perancangan database, yaitu i.
Bottom-up Pendekatan ini dimulai pada tingkat dasar atribut (yaitu, sifatsifat entitas dan relasi), yang melalui analisis hubungan antara atribut, dikelompokkan ke dalam relasi yang mewakili jenis entitas dan relasi antar entitas.
ii.
Top-down
21 Pendekatan ini dimulai dengan pengembangan model data yang berisi tingkat tinggi beberapa entitas dan relasi kemudian berturut-turut menerapkan perbaikan top-down untuk mengidentifikasi tingkat rendah entitas, hubungan dan atribut yang terkait. Perancangan database terdiri dari tiga fase yaitu: 1. Conceptual database design Menurut Connolly dan Begg (2010, p322), proses membangun suatu model data yang digunakan dalam suatu perusahaan, independen dari semua pertimbangan fisik. 2. Logical database design Menurut Connolly dan Begg (2010, p323), proses membangun model data yang digunakan dalam suatu perusahaan berdasarkan model data tertentu, tetapi independen dari DBMS tertentu dan pertimbangan fisik lainnya. 3. Physical database design Menurut Connolly dan Begg (2010, p523), proses pendeskripsian implementasi basis data pada penyimpanan sekunder; proses itu menggambarkan basis relasi, organisasi file, dan indeks yang digunakan untuk mencapai akses yang efisien ke data, dan setiap kendala integritas terkait dan tahapan keamanan.
2.1.9.5. DBMS Selection (Pemilihan DBMS) Menurut Connolly dan Begg (2010, p325), pemilihan DBMS yang tepat untuk mendukung sistem basis data. Jika tidak ada DBMS yang sesuai maka bagian dari siklus hidup akan membuat seleksinya yaitu antara konseptual dengan desain logikal. Langkah-langkah dalam pemilihan DBMS : i.
Menetapkan kerangka referensi belajar .
ii.
Daftar sederhana dari dua atau tiga produk.
iii.
Evaluasi produk. Merekomendasikan seleksi dan menghasilkan laporan.
22 2.1.9.6. Application Design (Desain Aplikasi) Menurut Connolly dan Begg (2010, p329), desain user interface dan program aplikasi yang digunakan untuk memproses database. Rancangan aplikasi dibagi menjadi dua aspek, yaitu: 1. Transaction Design (Rancangan Transaksi) Menurut Connolly dan Begg (2010, p330), suatu tindakan, atau serangkaian tindakan yang dilakukan oleh single user atau program aplikasi, yang mengakses atau merubah isi database. Ada tiga tipe transaksi ini : i. Retrieval transactions. ii. Update transactions. iii. Mixed transactions 2. User Interface Design Guidelines i. Meaningful tittle. ii. Comprehensive instruction iii. Familiar field tables. iv. Consistent use coler. v. Error message for fields vi. Completion signal.
2.1.9.7. Prototyping Menurut Connolly dan Begg (2010, p333), prototyping adalah membangun sebuah model kerja dari sistem basis data. Sebuah prototipe adalah model kerja tidak secara normal yang mempunyai semua fitur-fitur yang dibutuhkan atau yang menyediakan semua fungsi dari sistem akhir. Prototipe harus mempunyai keuntungan utama menjadi murah secara relatif dan cepat untuk dibangun. Ada dua strategi prototipe yang akhir-akhir sering digunakan : i.
Requirements prototyping, menggunakan sebuah prototipe untuk mendiktekan persyaratan dari sebuah usulan sistem basis data dan setelah semua persyaratan selesai maka prototipe dibuang.
23 ii.
Evolutionary prototyping, menggunakan usulan yang sama, perbedaan yang penting adalah prototipe tidak dibuang tetapi dikembangkan lebih jauh menjadi pekerjaan sistem basis data.
2.1.9.8. Implementation (Implementasi) Menurut
Connolly
dan
Begg
(2010,
p333),
implementasi adalah realisasi fisikal dari basis data dan desain aplikasi. Implementasi basis data dicapai dengan menggunakan : i.
Data Definition Language (DDL) yaitu sebuah bahasa yang mengijinkan DBA atau user untuk mendeskripsikan dan menamai entitas, atribut, dan relasi yang dihubungkan untuk aplikasi, bersama dengan integritas terkait dan kendala keamanan.
ii.
Program aplikasi yang diimplementasi menggunakan bahasa generasi ketiga atau keempat (3GL atau 4GL) yaitu bahasa pemrograman tingkat tinggi seperti yang digunakan pada SQL dan QBE.
iii.
Bagian dari program
aplikasi ini adalah transaksi basis
data, yang diimplementasikan menggunakan Data Manipulation Language (DML) yaitu bahasa yang menyediakan seperangkat operasi untuk mendukung operasi dasar manipulasi data pada data yang ada dalam database. Pada DBMS, terpancang dengan sebuah bahasa pemrograman seperti Visual Basic (VB), VB.net, Phyton, Delphi, C, C++, C#, Java, COBOL, Fortran, Ada, atau Pascal. Keamanan
dan
integrity
control
dari
sistem
juga
diimplementasikan. Beberapa kontrol ini diimplementasikan menggunakan DDL, tetapi yang lain mungkin butuh batasan luar dalam menggunakan DDL.
24 2.1.9.9. Data Conversion and Loading (Pengubahan dan Pemuatan Data) Menurut Connolly dan Begg (2010, p334), Data Conversion and Loading adalah mentransferkan beberapa data yang ada ke dalam database baru dan mengkonversikannya ke beberapa aplikasi yang ada untuk menjalankanya pada database baru tersebut.
2.1.9.10. Testing (Uji Coba) Menurut Connolly dan Begg (2010, p334), Testing adalah proses menjalankan sistem basis data dengan maksud menemukan kesalahan. Pengujian juga harus mencakup kegunaan dari sistem basis data. Idealnya, sebuah evaluasi harus dilakukan terhadap spesifikasi kegunaannya. Contoh kriteria yang dapat digunakan untuk melakukan evaluasi meliputi : 1. Learnability,
berapa
lama
waktu
yang
dibutuhkan
pengguna baru untuk menjadi produktif dengan sistem. 2. Performance, seberapa baik respon sistem sesuai praktek kerja pengguna. 3. Robustness, seberapa toleransinya sistem dari kesalahan pengguna. 4. Recoverability, seberapa baik sistem pulih dari kesalahan pengguna. 5. Adaptability, seberapa dekat sistem terkait dengan satu model pekerjaan Setelah pengujian selesai, sistem basis data siap untuk ‘ditandatangani’ dan diserahkan pada pengguna.
2.1.9.11. Operational Maintenance (Perawatan Operasional) Menurut Connolly dan Begg (2010, p335), Operational Maintenance adalah proses pemantauan dan pemeliharaan instalasi sistem basis data berikut. Tahap pemeliharaan ini melibatkan dua kegiatan yaitu :
25 i.
Pemantauan kinerja sistem. Jika kinerja turun ke bawah tingkat yang dapat diterima, tuning atau reorganisasi basis data mungkin diperlukan.
ii.
Memelihara dan meningkatkan sistem basis data melalui tahap-tahap sebelumnya dari siklus hidup.
2.1.10. Normalisasi Normalisasi adalah teknik desain database, yang dimulai dengan memeriksa hubungan (disebut dependensi fungsional) antara atribut. Atribut menjelaskan beberapa properti. dari data atau hubungan antara data
yang
penting
bagi
perusahaan.
Normalisasi
menggunakan
serangkaian tes (digambarkan sebagai bentuk normal) untuk membantu mengidentifikasi pengelompokan optimal untuk atribut ini untuk akhirnya mengidentifikasi himpunan relasi yang cocok yang dapat mendukung kebutuhan data perusahaan. Connolly dan Beg(2010,p438) Terdapat beberapa tahapan dalam proses normalisasi : a. Unnormalized Form (UNF) sebuah tabel yang mengandung satu atau lebih repeating groups. b. First Normal Form (1NF) sebuah relasi di dalam mana titik potong setiap baris dan kolom mengandung satu dan hanya satu nilai. Untuk mengubah unnormalized table menjadi first normal form (1NF), kita harus mengidentifikasi dan menghilangkan repeating groups dari tabel serta kolom yang dapat dihitung. c. Second Normal Form (2NF) Second Normal Form (2NF) dibuat berdasarkan konsep full fuctional dependency. Second Normal Form (2NF) adalah sebuah relasi yang berada dalam first normal form dan setiap atribut non-primary-key secara penuh bergantung secara fungsional pada primary key. d. Third Normal Form (3NF)
26 sebuah relasi dalam bentuk 1NF dan 2NF dimana tidak ada atribut non-primary-key yang bergantung secara transitif terhadap primary key. Proses normalisasi dari relasi
2NF
ke
3NF
melibatkan
penghapusan
ketergantungan transitif. Jika terdapat ketergantungan transitif, kita menghilangkan atribut yang bergantung secara transitif dari relasi dengan menggantikan atribut dalam relasi yang baru bersamaan dengan duplikasi dari determinannya. e. Boyce-Code (BCNF) Menurut Thomas Connolly dan Carolyn Begg (2002, p398), suatu relasi disebut memenuhi bentuk normal boyce-codd jika penentu (determinan) adalab
candidat
key.
BCNF
adalab
bentuk
normal sebagai perbaikan terhadap 3NF karena bentuk normal ketiga berkemungkinan
masih
memiliki
anomali
sehingga
perlu dinormalisasi lebih jauh. Suatu relasi yang memenuhi BCNF selalu memenuhi 3NF tetapi tidak untuk sebaliknya. Bentuk normal
pertarna
hingga
ketiga
merupakan
bentuk normal
yang umum digunakan. Artinya, babwa pada kebanyakan relasi hila ketiga bentuk normal tersebut telab dipenuhi maka persoalan anomali tidak akan muncullagi. Bentu normal BoyceCodd merupakan revisi terhadap bentuk normal ketiga. Bentuk normal 4NF dan SNF hanya dipakai pada kasus - kasus khusus, yakni pada relasi yang mengandung ketergantungan banyak nilai.
2.1.11. Metodologi Perancangan Basis Data 2.1.11.1.Perancangan Basis Data Konseptual Menurut Connolly dan Begg (2010,p467), perancangan konseptual basis data adalah suatu proses membangun sebuah model dari informasi yang digunakan oleh perusahaan. Langkah-langkah perancangan basis data konseptual: 1. Mengidentifikasi tipe entitas Bertujuan untuk mengidentifikasi tipe entitas utama yang
27 dibutuhkan oleh pengguna. Untuk mengidentifikasikan tipe entitas dapat dilakukan dengan menelusuri kata benda, objek utama yang ada dalam prosedur sistem yang berjalan. Setelah tipe entitas diidentifikasi, dilakukan pemberian nama yang berarti dan jelas kepada pengguna dan mencatat nama dan deskripsi entitas dalam kamus data. Jika entitas dikenal dengan nama berbeda, nama tersebut menunjuk kepada sinonim atau alias, yang dicatat dalam kamus data (Connolly dan Begg, 2010, p471).
Gambar 2.2 Contoh Kamus Data Entity
2. Mengidentifikasi tipe relasi Bertujuan untuk mengidentifikasi relasi yang penting diantara tipe entitas yang telah diidentifikasi. Untuk mengidentifikasikan tipe entitas dapat dilakukan dengan menelusuri kata kerja yang ada dalam prosedur sistem yang berjalan (Connolly dan Begg, 2010, p472).
Gambar 2.3 Contoh Kamus Data Relasi
28 3. Mengidentifikasi dan menggabungkan atribut dan entitas atau relasi Bertujuan untuk menggabungkan atribut dan tipe entitas atau relasi yang sesuai yaitu dengan mengidentifikasi simple/composite attribute, single/multi-value attribute dan derived attribute. Setelah atribut diidentifikasi, dilakukan pemberian nama yang berarti kepada pengguna, kemudian mencatat beberapa informasi untuk tiap atribut (Connolly dan Begg, 2010, p474).
Gambar 2.4 Contoh Kamus Data Atribut
4. Menentukan domain atribut Bertujuan untuk menentukan domain atribut dalam model data konseptual. 5. Menentukan atribut primary key dan candidate key Bertujuan untuk mengidentifikasi candidate key untuk setiap tipe entitas dan bila ada lebih dari satu candidate key, perlu memilih sebuah primary key. Acuan dalam memilih suatu primary key diantara banyak candidate key, antara lain: a. Merupakan candidate key dengan jumlah set paling sedikit. b. Merupakan candidate key yang nilainya jarang sekali berubah.
29 c. Merupakan candidate key dengan jumlah karakter paling sedikit. d. Merupakan candidate key dengan jumlah paling sedikit dari nilai maksimumnya (untuk tipe atribut dengan tipe numerik). e. Merupakan candidate key yang paling mudah digunakan dari sudut pandang pengguna. 6. Mempertimbangkan
penggunaan
enhanced
modeling
concept (optional) Bertujuan untuk mempertimbangkan penggunaan dari enhanced
modeling
concept,seperti
specialization,
generalization, dan composition. 7. Mengecek model redundansi Bertujuan untuk mengecek adanya redudansi dalam model data dan menghilangkannya jika ada. 8. Menvalidasi model konseptual lokal terhadap transaksi pengguna Bertujuan untuk memastikan bahwa model konseptual lokal mendukung transaksi yang dibutuhkan oleh view. 9. Mengecek model data konseptual terhadap pengguna Bertujuan untuk mengecek model data konseptual dengan pengguna untuk meyakinkan bahwa model tersebut adalah representasi yang benar dari view. Jika terdapat anomali pada model data, kita harus melakukan perubahan yang pantas, yang mungkin membutuhkan langkah sebelumnya. Proses ini berlangsung terus sampai pengguna siap untuk ’sign-off’ sebagai
model bagian
menjadi dari
representasi
perusahaan
yang
yang
benar
dimodelkan.
2.1.11.2. Perancangan Basis Data Logikal Menurut Connolly dan Begg (2010,p490), langkah kedua adalah membangun perancangan logikal basis data merupakan proses membangun sebuah model informasi yang
30 digunakan dalam sebuah perusahaan berdasarkan pada sebuah model data yang spesifik, tetapi tidak bergantung pada
sebuah
pertimbangan
DBMS fisik
tertentu
lainnya.
dan
Langkah
pertimbanganpokok
dari
perancangan basis data logikal untuk relational model mencakup : 1. Menghilangkan fitur yang tidak kompatibel dengan model
relasional
(optional)
Bertujuan
untuk
memperbaiki model data konseptual lokal dengan menghilangkan fitur yang yang tidak kompatibel dengan model relasional. 2. Menentukan relasi untuk model data logikal lokal Bertujuan untuk menciptakan relasi untuk model data logikal lokal yang mewakili entitas, relationship, dan atribut yang sudah diidentifikasi. 3. Menvalidasi relasi dengan menggunakan normalisasi Bertujuan untuk menvalidasi relasi dalam model data logikal lokal dengan menggunakan teknik normalisasi. 4. Menvalidasi relasi terhadap transaksi pengguna Bertujuan untuk memastikan bahwa relasi dalam model data logikal lokal mendukung transaksi yang dibutuhkan view, juga bahwa tidak ada error dalam relasi yang telah dibuat. 5. Menentukan integrity constraint\ Bertujuan untuk menetapkan integrity constraint yang diberikan dalam view.
6. Mengecek model data logikal lokal dengan pengguna Bertujuan untuk memastikan model data logikal lokal dan dokumen pendukung yang menjelaskan model data adalah representasi yang benar dari view. Apabila pengguna merasa tidak puas dengan model tersebut maka dilakukan pengulangan kembali langkah-langkah sebelumnya jika diperlukan.
31 2.1.11.3.Perancangan Basis Data Fisikal Perancangan basis data fisikal adalah proses memproduksi
sebuah
deskripsi
mengenasi
implementasi dari basis data yang berada di secondary storage, mendeskripsikan relasi dasar, organisasi file, dan indeks yang digunakan untuk pengaksesan data yang efisien dan penggabungan beberapa batasan dan sistem keamanan. Menurut Connolly dan Begg (2010,p542), langkah ketiga adalah menerjemahkan model data logikal global untuk target DBMS mencakup: a. Merancang relasi dasar Bertujuan
untuk
memutuskan
bagaimana
menggambarkan relasi dasar yang diidentifikasi dalam model data logikal global pada target DBMS. b. Merancang representasi dari derived data Bertujuan
untuk
memutuskan
bagaimana
merepresentasikan derived data yang ada dalam model data logikal global pada target DBMS. c. Merancang enterprise constraint Bertujuan
untuk
merancang
enterprise
constraint untuk target DBMS. Langkah keempat adalah merancang representasi fisikal, mencakup: a. Menganalisis transaksi Bertujuan untuk memahami fungsionalitas dari transaksi yang akan dijalankan pada basis data dan menganalisis transaksi yang penting. b. Memilih organisasi file Bertujuan untuk menentukan organisasi file yang efisien untuk setiap relasi dasar. Dalam banyak kasus yang ada, suatu relasional DBMS akan memberikan sedikit bahkan tanpa pilihan dalam memilih organisasi file, walaupun
32 beberapa akan mempunyai indeks yang spesifik. Jika DBMS yang dituju tidak memperbolehkannya c. Memilih indeks Bertujuan untuk menentukan bilamana penambahan indeks dapat meningkatkan tampilan indeks. d. Memperkirakan kebutuhan disk Bertujuan untuk memperkirakan jumlah ruang disk yang diperlukan oleh basis data. Perkiraan kebutuhan disk sangat bergantung pada DBMS yang dituju dan perangkat keras yang digunakan untuk mendukung basis data. Secara umum, perkiraan dilakukan berdasarkan ukuran tiap tuple dan jumlah tuples dalam relasi. Langkah kelima adalah merancang user views, dengan tujuan merancang user views yang telah diidentifikasi selama tahap pengumpulan dan analisis dari aplikasi daur hidup basis data. Langkah keenam adalah merancang mekanisme keamanan,
dengan
tujuan
merancang
kebutuhan
keamanan untuk basis data yang diinginkan pengguna. Beberapa sistem
menawarkan
fasilitas
keamanan
yang berbeda dari sistem yang lainnya. Relasional DBMS biasanya menyediakan dua macam keamanan basis data antara lain : 1. Keamanan sistem Keamanan
sistem
menutupi
pengaksesan
dan
penggunaan basis data pada tingkat sistem, seperti nama dan kata kunci. 2. Keamanan data Keamanan basis data adalah suatu mekanisme yang memproteksi basis data dari suatu kejadian baik yang disengaja maupun tidak. Langkah
ketujuh
adalah
mempertimbangkan
penggunaan redundansi yang terkontrol. Langkah ini bertujuan
untuk
menentukan
apakah
pengenalan
33 pengontrolan redudansi dengan mengendurkan aturan normalisasi dapat meningkatkan unjuk kerja sistem. Langkah
kedelapan
adalah
mengawasi
dan
mengurus sistem operasional. Langkah ini bertujuan untuk
memantau
operasional
sistem
dan
meningkatkan unjuk kerja sistem untuk memperbaiki keputusan
perancangan
yang
tidak
sesuai
atau
menggambarkan kebutuhan pengguna.
Hasil akhir perancangan fisikal basis data adalah suatu proses yang mendeskripsikan suatu implementasi dari suatu basis data pada media penyimpanan. Hal ini mendeskripsikan suatu relasional dan struktur penyimpanan dan metodologi pengaksesan data oleh pengguna yang efisen, selama batasan integritas dan pengukuran keamanan.
2.1.12. Entity Relationship Diagram (ERD) Pengertian ERD Menurut Conolly (2005,p354) adalah Penggambaran dari sebuah kebutuhan penyimpanan data dengan cara kerja dari suatu perusahaan atau organisasi yang bebas dari ambiguitas, ERD digunakan untuk mengidentifikasi data yang akan disimpan diolah dan di ubah untuk mendukung aktifitas bisnis suatu organisasi.
2.2. Teori yang berkaitan dengan Penelitian Teori yang berkaitan dengan penelitian adalah teori pemasaran, teori penjualan, dan teori yang berhubungan dengan web. 2.2.1. Teori Pemasaran Pemasaran menurut Kotler dan Armstrong (2007,p6) adalah suatu proses sosial yang didalamnya individu dan kelompok mendapatkan apa yang mereka butuhkan dan inginkan dengan
34 menciptakan, menawarkan dan secara bebas mempertukarkan produk yang bernilai dengan pihak lain. o Manajemen Pemasaran Menurut Kotler dan Armstrong(2007,p6) adalah seni dan ilmu memilih pasar sasaran dan menumbuhkan pelanggan dengan menciptakan, menyerahkan dan mengkomunikasikan nilai pelanggan yang unggul. o Bauran Pemasaran Menurut Kotler dan Armstrong (2007,p23) bauran pemasaran adalah seperangkat alat pemasaran yang digunakan perusahaan untuk mencapai tujuan pemasarannya Kotler menglasifikasikan empat unsur dari alat-alat bauran pemasaran yang terdiri atas 4P dalam pemasaran barang, diantaranya adalah: 1. Produk (product) Produk adalah segala sesuatu yang dapat ditawarkan ke pasar untuk diperhatikan, dibeli, digunakan dan dikonsumsi. Istilah produk mencakup benda fisik, jasa, kepribadian, tempat, organisasi atau ide. Keputusan mengenai produk mencakup kualitasm\, keistimewaan, jenis merk dll. 2. Harga (Price) Merupakan unsur terpenting kedua dalam bauran pemasaran setelah produk dan merupakan satu-satunya unsur dalam bauran pemasaran yang menghasilkan pendapatan, penjualan sedangkan unsur-unsur lainnya merupakan pengeluaran biaya saja. 3. Tempat (Place) Menunjukkan berbagai kegiatan yang dilakukan oleh produsen untuk menjadikan suatu produk yang dihasilkan dapat diperoleh dan tersedia bagi konsumen pada waktu dan tempat yang tepat dimanapun konsumen berada. 4. Promosi (Promotion) Promosi adalah aktifitas mengkomunikasikan keunggulan produk
serta
membujuk
pelanggan
sasaran
untuk
35 membelinya.
2.2.2. Pengertian Web Menurut Eaglestone dan Ridley (2001, p24), Web adalah sebuah aplikasi internet. Web menyediakan sebuah cara yang mudah dalam mengakses informasi dan menjalankan program-program yang disimpan pada komputer-komputer yang dihubungkan oleh internet.
2.2.3. Internet Menurut Ellsworth dan V. Ellsworth (1997, p4) internet adalah jaringan yang merubah cara orang berkomunikasi, berinteraksi, dan mendefinisikan komunitas. Sehingga dapat disimpulkan internet adalah sebuah jaringan global yang menghubungkan komputer-komputer yang saling
berhubungan
interaksi,dan
terjadi
untuk
melakukan
pertukaran
komunikasi
informasi
melewati
dan kabel,
satelit, maupun frekuensi radio.
2.2.3.1. HTTP Menurut Connolly dan Begg (2005,p999), HTTP adalah protokol yang digunakan untuk memindahkan halaman web melalui internet. HTTP menggambarkan bagaimana klien dan server berkomunikasi. HTTP adalah suatu orientasi objek yang umum, protokol yang tidak menetap untuk memancarkan informasi antara server dan klien. HTTP berdasarkan paradigma request-response. Transaksi HTTP meliputi tahapan dibawah ini : • Koneksi Klien membuat sebuah koneksi dengan Web server. • Request Klien mengirim pesan request kepada Web server. • Response
36 Web server mengirim response kepada klien. • Close Koneksi ditutup oleh Web server.
2.2.4. Uniform Resource Locator Menurut Musciano dan Kennedy (2006, p163), Uniform Resource Locator (selanjutnya disingkat URL) adalah sebuah alamat lengkap yang mempunyai semua yang dibutuhkan sistem untuk menemukan dokumen dan server pada web. Sistem web untuk pengalamatan dokumen hypermedia, dan
bagian-bagian
dokumen,
adalah
serupa
dengan
penggunaan alamat IP untuk mengalamatkan simpul- simpul internet. Setiap sumber web dialamatkan dengan sebuah URL yang unik.
2.2.5. HTML Menurut Connolly dan Begg (2005,p1001), HTML adalah dokumen yang mengatur bahasa-bahasa yang digunakan untuk mendesain kebanyakan halaman web. HTML adalah suatu sistem untuk marking-up, tagging, sehingga dokumen tersebut dapat dipublikasikan ke web. 2.2.6. CSS Cascading Style Sheet (CSS) merupakan salah satu bahasa pemrograman web untuk mengendalikan beberapa komponen dalam sebuah web sehingga akan lebih terstruktur dan seragam. Pada umumnya CSS dipakai untuk memformat tampilan halaman web yang dibuat dengan bahasa HTMLdan XHTML. 2.2.7. PHP Hypertext Processor PHP merupakan suatu script bahasa pemrograman yang dijalankan pada sisi server, yang disisipkan pada dokumen HTML untuk memberikan kemampuan pada halaman web
37 tersebut untuk menampilkan content yang diminta oleh pemakai (Castagnetto et.al., 2000, p8).
2.2.8. Electronic Commerce (E-commerce) Secara umum e-commerce dapat didefinisikan sebagai segala bentuk transaksi perdagangan/perniagaan barang atau jasa dengan menggunakan media elektronik. Selain dari yang telah disebutkan di atas, kegiatan perniagaan tersebut merupakan bagian dari kegiatan bisnis. Kesimpulannya, "e-commerce is a part of e-business". Menurut Kalakota dan Whinston (1996, p18), e-commerce merupakan metodologi bisnis modern yang mampu memenuhi kebutuhan organisasi dan konsumen dengan mengurangi pengeluaran tetapi mampu meningkatkan kualitas barang, pelayanan yang baik dan kecepatan dalam pelayanan.
2.2.9. Delapan Aturan Emas ( 8 Golden Rules ) Interaksi Manusia dan Komputer memiliki 8 aturan emas yang ditulis dalam buku Designing the User Interface (Shneiderman, 2010, pp88-89). Delapan aturan emas desain antar muka dari Shneiderman telah diterima dengan baik sebagai petunjuk yang baik untuk desain antar muka. Delapan aturan emas tersebut yaitu :
1. Berusaha untuk konsisten (Strive for consistency) Urutan tindakan yang konsisten diperlukan dalam situasi yang serupa. Konsistensi dilakukan pada urutan tindakan, perintah, dan istilah yang digunakan pada prompt, menu, serta layar bantuan. Selain itu, konsistensi juga diperlukan dalam pemilihan warna, layout, kapitalisasi, huruf.
2. Memenuhi kegunaan yang universal (Cater to universal usability) Kenali kebutuhan dari pengguna yang beragam dan desain untuk plastisitas, memfasilitasi transformasi konten. Perbedaan pengguna pemula dan ahli, rentang usia, penyandang cacat, dan keragaman
38 teknologi masing-masing memperkaya spectrum persyaratan yang menjadi panduan perancangan. Menambahkan fitur untuk pengguna pemula, seperti penjelasan, dan fitur untuk pengguna ahli, seperti jalan pintas dan perpindah yang lebih cepat, bias memperkaya perancangan antarmuka dan meningkatkan kualitas sistem yang dirasakan pengguna.
3. Memberikan reaksi yang informatif (Offer informative feedback) Untuk setiap tindakan yang sering dilakukan, dapat diberikan umpan balik yang sederhana. Tetapi ketika tindakan merupakan hal yang penting, maka umpan balik sebaiknya lebih substansial. Misalnya muncul suatu suara ketika salah menekan tombol pada waktu memasukkan data atau muncul pesan kesalahannya.
4. Merancang dialog untuk menghasilkan suatu penutupan (Design dialog to yield closure) Urutan tindakan sebaiknya diorganisir dalam suatu kelompok dengan bagian awal, tengah, dan akhir. Umpan balik yang informatif akan memberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya.
5. Mencegah kesalahan (Prevent errors) Sedapat mungkin sistem dirancang sehingga pengguna tidak dapat melakukan kesalahan fatal. Jika kesalahan terjadi, sistem dapat mendeteksi kesalahan dengan cepat dan memberikan mekanisme yang sederhana dan mudah dimengerti untuk penanganan kesalahan.
6. Mudah kembali ke tindakan sebelumnya (Permit easy reversal of actions) Hal ini dapat mengurangi kegelisahan pengguna karena mengetahui kesalahan yang dilakukan dapat dibatalkan, sehingga pengguna tidak takut untuk mengeksplorasi pilihan-pilihan lain yang belum biasa digunakan.
39 7. Support internal locus of control Pengguna yang berpengalaman ingin menjadi pengontrol antarmuka dan antarmuka merespon tindakan mereka. Mereka tidak ingin dikejutkan dengan perubahan yang tiba-tiba, dan mereka merasa terganggu dengan urutan pemasukan data yagn membosankan, kesulitan untuk mendapatkan informasi yang diinginkan, dan ketidakmampuan untuk menghasilkan hasil yang mereka harapkan.
8. Mengurangi beban ingatan jangka pendek (Reduce short-term memory load) Karena manusia mempunyai keterbatasan untuk memproses informasi dalam ingatan jangka pendek, maka desainer harus menghindari antarmuka yang mengharuskan pengguna untuk mengingat informasi dari satu layar untuk digunakan di layar berikutnya.
2.3. Hasil Penelitian atau Produk Sejenis Dari hasil penelitian yang kita amati, terdapat tugas akhir yang membahas tentang sistem pelayanan haji dan umroh. Berikut adalah hasil penelitian kami: Tugas akhir karya Ivan Nurcahya dari Universitas Komputer Indonesia dengan
judul
ANALISIS
DAN
PERANCANGAN
SISTEM
INFORMASI PELAYANAN HAJI DAN UMROH BERBASIS WEB PADA
CV.SHAFIRA
MULYA
WISATA
BANDUNG.
Sistem
Informasi pelayanan haji dan umroh merupakan sebuah sistem yang digunakan untuk proses pendaftaran dan pengolahan data calon jemaah, untuk
mendukung
operasional
pelayanan.
Dengan
seiringnya
perkembangan teknologi informasi , kebutuhan akan informasi saat ini semakin
meningkat
seperti
halnya
dalam
meningkatnya
kinerja
perusahaan dalam mengelola informasi. Namun dalam hal ini pelaksanaan Sistem informasi pelayanan haji dan umroh pada CV.Shafia Mulaya Wisata Bandung masih mengalami beberapa kendala, seperti dalam hal proses pendaftaran calon jemaah, pencarian data calon jemaah dan pembuatan laporan . Metode penelitian yang dilakukan meliputi observasi
40 dan mengadakan wawancara langsung kepada bagian pelayanan serta menggunakan studi kepustakaan yang relevan dengan masalah yang dihadapi. Untuk desain penelitian yang digunakan adalah metode deskriptif dan metode action. Dalam perancangan penelitian ini metode pendekatan yang digunakan adalah metode perancangan terstruktur yang memiliki karakteristik berorientasi pada proses atau prosedur dan aliran data, metode pengembangan menggunakan prototipe, alat yang digunakan untuk merancang sistem yaitu flowmap, diagram kontek,data flow diagram dan kamus data. Program ini dibuat menggunakan PHP, sedangkan perangkat lunak yang dipilih untuk merancang aplikasi ini adalah Macromedia 8 dengan XAMPP. Dirancang dan dibangunnya sistem informasi pelayanan haji dan umroh berbasis web ini untuk memudahkan proses pendaftaran calon jemaah, pencarian data calon jemaah dan pengolahan data untuk pembuatan laporan agar dapat tersaji dengan cepat, tepat dan akurat. Dengan adanya pelayanan haji dan umroh berbasis web diharapkan calon jemaah dapat melakukan pendaftaran haji atau umroh secara online.
41