BAB 2 TINJAUAN PUSTAKA 2.1 Teori Umum Dalam subbab ini akan dijelaskan mengenai teori-teori umum yang berkaitan dengan aplikasi yang akan dibuat berdasarkan hasil tinjauan pustaka berupa jurnal dan buku yang terkait dalam proses penelitian. 2.1.1 Database 2.1.1.1 Data Menurut Stair & Reynold (2010, 5), data terdiri dari fakta-fakta mentah, seperti jumlah pegawai, jumlah jam kerja dalam seminggu, stok persediaan, atau sales order. Data merupakan kumpulan dari fakta atau kejadian yang ada dan dianalisis kembali untuk mendeskripsikan informasi penting yang berkaitan dengan kebutuhan yang akan diambil sebagai dokumen. 2.1.1.2 Informasi Menurut Stair & Reynold (2010, 5), informasi merupakan kumpulan dari fakta yang terorganisir sedemikian rupa yang dapat menambahkan nilai penting didalamnya. 2.1.1.3 Pengertian Database Database merupakan kumpulan data logika dari data (dan deskripsi data) yang saling berhubungan dan dibuat untuk memperoleh informasi yang dibutuhkan oleh organisasi (Connolly & Begg, 2010, 65). 7 8 Menurut Connolly & Begg (2010, 65), dalam menganalisa informasi yang dibutuhkan oleh suatu organisasi, diperlukan adanya identifikasi entity (entitas), attribute (atribut), dan relationship: 1. Entitas merupakan sebuah obyek (orang, tempat, konsep, kejadian) di dalam organisasi yang direpresentasikan di dalam database. 2. Atribut merupakan sifat yang dideskripsikan dari beberapa aspek obyek yang akan disimpan di dalam database. 3. Relationship merupakan kumpulan dari beberapa entitas yang saling berhubungan. 2.1.1.4 Database Management System (DBMS) Menurut Connolly & Begg (2010, 66), DBMS merupakan perangkat lunak yang memungkinkan user untuk mendefinisikan, membuat, memelihara, dan memiliki akses kontrol pada database. DBMS menyediakan fasilitas yang mendukung interaksi dengan user (dalam aplikasi) ke database sebagai berikut: 1. DBMS mengizinkan user untuk mendefinisikan database melalui Data Definition Language (DDL). 2. DBMS mengizinkan user untuk menyisipkan, memperbaharui, menghapus, dan mengambil data dari database melalui Data Manipulation Language (DML). 3. DBMS menyediakan akses ke dalam database. Sebagai contoh, DBMS menyediakan: a) Sistem keamanan. Mencegah terjadinya unauthorized akses user ke dalam database. 9 b) Sistem integritas. Memelihara konsistensi data yang disimpan. c) Sistem pengendalian konkurensi. Mengizinkan hak akses ke database. d) Sistem pengendalian perbaikan. Memungkinkan proses backup data saat terjadi kesalahan. e) Katalog yang dapat diakses user. Mendeskripsikan data di dalam database. 2.1.1.4.1 Komponen DBMS Komponen DBMS menurut Connolly & Begg (2010, 68) adalah sebagai berikut: Gambar 2.1 Komponen DBMS (Connolly & Begg, 2010, 68) Keterangan Gambar: 1. Hardware (Perangkat Keras) DBMS perangkat dan keras aplikasi agar membutuhkan dapat dijalankan. 10 Perangkat keras dapat mencakup komputer pribadi, mainframe, dan sebuah jaringan komputer. 2. Software (Perangkat Lunak) Komponen perangkat lunak terdiri dari perangkat lunak DBMS itu sendiri dan program aplikasi, serta sistem operasi. 3. Data Komponen penting dalam lingkungan DBMS yang ditentukan dari end-user view mengenai data. Faktanya, data merupakan jembatan antara komponen mesin dengan komponen manusia. 4. Procedure (Tata Cara) Procedure merupakan petunjuk dan aturan dalam membangun dan menggunakan database. 5. People (Manusia) Komponen terakhir adalah manusia yang terlibat dalam sistem, yaitu: a. Data Administrator (DA): orang yang berwenang untuk membuat keputusan dan kebijakan mengenai data yang ada. b. Database Administrator (DBA): orang yang memelihara dan bertanggung jawab atas akses sistem kontrol. c. Database Designer (Logical and Physical): orang yang bertanggung jawab dalam perancangan database untuk aplikasi yang akan dibuat. d. Application Programmer: orang yang bertanggung jawab untuk membuat aplikasi. 11 e. End-user: orang yang berinteraksi dengan sistem secara online melalui terminal atau workstastion. 2.1.1.4.2 Fungsi DBMS Menurut Connolly & Begg (2010, 99), fungsi DBMS adalah sebagai berikut: 1. Menyimpan, mengambil, dan membaharui data dalam database 2. Katalog yang dapat diakses user. 3. Mendukung transaksi. 4. Layanan pengendalian jasa. 5. Layanan pemulihan. 6. Layanan perizinan. 7. Mendukung data komunikasi. 8. Layanan integritas. 9. Layanan untuk mendukung keterpisahan data. 10. Layanan utilitas. 2.1.1.4.3 Keuntungan dan Kerugian DBMS Keuntungan: Menurut Connolly & Begg (2010, keuntungan DBMS adalah sebagai berikut: 1. Mengendalikan data yang berulang. 2. Konsistensi data. 3. Informasi lebih dari jumlah data yang sama. 4. Berbagi data. 77), 12 5. Meningkatkan integrasi data. 6. Meningkatkan keamanan. 7. Penguatan standar. 8. Skala ekonomis. 9. Menyeimbangkan kebutuhan yang memiliki konflik. Kerugian: Menurut Connolly & Begg (2010, 80), kerugian DBMS adalah sebagai berikut: 1. Kompleksitas. 2. Ukuran. 3. Biaya dari DBMS. 4. Biaya dari perangkat keras tambahan. 5. Biaya konversi. 6. Kinerja. 7. Pengaruh yang besar dari kegagalan. 2.1.1.5 Database Language 2.1.1.5.1 Data Definition Language (DDL) Menurut Connolly & Begg (2010, 92), Data Definition Language (DDL) adalah bahasa yang memungkinkan DBA atau user untuk mendeskripsikan dan memberi nama dari entitas, atribut, dan realtionship yang diperlukan untuk aplikasi, bersama dengan integritas yang terkait dan batasan keamanan. 13 2.1.1.5.2 Data Manipulation Language (DML) Menurut Connolly & Begg (2010, 92), Data Manipulation Language (DML) adalah bahasa yang menyediakan satu set operasi yang mendukung manipulasi dasar operasi data dalam database. Operasi manipulasi data meliputi : 1. Penambahan data baru ke dalam database. 2. Mengubah data yang disimpan dalam database. 3. Perolehan kembali data yang ada dalam database. 4. Penghapusan data dari database. DML dibagi menjadi 2 jenis, yaitu procedural dan non-procedural. Procedural DML adalah suatu bahasa yang mengizinkan user untuk mendeskripsikan sistem mengenai data apa saja yang dibutuhkan dan cara mendapatkan data tersebut. Sedangkan, non-procedural DML adalah suatu bahasa yang mengizinkan user untuk menentukan data apa saja yang dibutuhkan tanpa memperhatikan bagaimana data tersebut diperoleh. 2.1.1.5.3 Structure Query Language (SQL) Menurut Connolly & Begg (2010, 184), SQL adalah salah satu contoh transformationbased language atau bahasa yang dirancang menggunakan relasi untuk mengubah data masukan (input) menjadi data keluaran (output) yang dibutuhkan. Menurut Allen.G. Taylor (2013, 51), SQL adalah bahasa atau kumpulan perintah standar yang 14 dirancang untuk membuat dan mengatur data di dalam relasi database. Allen G. Taylor (2013, 51) membagi tiga bagian perintah dalam SQL, yaitu: 1. SQL DDL (Data Definition Language) Kumpulan untuk perintah mengidentifikasi yang dan berfungsi memodifikasi database, struktur tabel, index, dan obyekobyek lain di dalam database, serta menghapus database jika datanya tidak lagi diperlukan (Create, Alter, Drop). 2. SQL DML (Data Manipulation Language) Kumpulan perintah yang digunakan untuk melakukan manipulasi data di dalam tabel (Insert, Update, Delete). 3. SQL DCL (Data Control Language) Kumpulan perintah yang digunakan untuk mengendalikan data, misalnya untuk menyimpan atau membatalkan transaksi, manajemen user, dan hak akses (Commit, Rollback, Grant, Revoke). 2.1.1.6 Database System Development Lifecycle (DSDLC) Menurut Connolly & Begg (2010, 313), untuk merancang aplikasi sistem database diperlukan tahapan-tahapan dalam siklus hidup, yaitu: 15 Gambar 2.2 Database Application Lifecycle (Connolly dan Begg, 2010, 314) Database application lifecycle memiliki beberapa tahap dalam pengembangannya (Connoly & Begg 2010, 315), yaitu: 2.1.1.6.1 Database Planning Menurut Connolly & Begg (2010, 313), database planning adalah merencanakan 16 bagaimana setiap tahapan dari lifecycle dapat direalisasikan menjadi lebih efesien dan efektif. Terdapat tiga hal yang berkaitan dengan strategi sistem informasi, yaitu: 1. Identifikasi rencana dan tujuan perusahaan dengan menentukan kebutuhan sistem informasi. 2. Evaluasi sistem informasi yang sedang berjalan untuk menentukan kelebihan dan kekurangan sistem. 3. Penilaian terhadap peluang teknologi informasi yang dapat memberi keuntungan kompetitif. Database planning memiliki dua metodologi dalam mengatasi strategi sistem, yaitu: 1. Mission Statement: mendefinisikan tujuan utama dari aplikasi database, membantu menjelaskan biasanya kegunaan dari database dan kejelasan alur informasi untuk mencapai efektifitas dan efisiensi. 2. Mission Objectives: mendefinisikan tugas khusus yang harus didukung oleh database dan disertai informasi tambahan yang menjelaskan pekerjaan yang harus dilakukan. 2.1.1.6.2 System Definition Menurut Connolly & Begg (2010, 316), system definition adalah mendeskripsikan cakupan dan batasan 17 dari aplikasi database, baik dari sisi user ataupun aplikasi dengan langkah sebagai berikut: 1. Menentukan batasan sistem dan user-interface yang akan diinvestigasi berdasarkan sistem informasi tiap bagian dari organisasi. 2. Mendefinisikan apa yang dibutuhkan oleh aplikasi database berdasarkan view dari tiap tugas (misalnya manager atau supervisor) atau area aplikasi perusahaan (misalnya marketing, personnel, atau stock control). 2.1.1.6.3 Requirements Collection and Analysis Menurut Connolly & Begg (2010, 316), requirements collection and analysis adalah proses pengumpulan dan analisis informasi mengenai bagian perusahaan yang didukung oleh aplikasi database, lalu menggunakan informasi tersebut untuk mengidentifikasi kebutuhan user untuk sistem yang baru. Tiga pendekatan utama untuk mengelola aplikasi database dengan banyak user-view adalah sebagai berikut: 1. Pendekatan Sentralisasi Kebutuhan untuk tampilan setiap user yang digabungkan ke sebuah set persyaratan tunggal untuk aplikasi database baru. 2. Pendekatan Integrasi Tampilan Kebutuhan untuk setiap tampilan user dibangun pada model data terpisah untuk merepresentasikan tampilan user tersebut. 18 3. Gabungan dari pendekatan sentralisasi dan pendekatan integrasi tampilan. 2.1.1.6.4 Database Design Menurut Connolly & Begg (2010, 320), database design atau perancangan database adalah proses membuat perancangan database yang mendukung pekerjaan dan tugas perusahaan. Ada empat pendekatan dalam merancang database, yaitu: 1. Pendekatan Bottom-up Dimulai dari atribut dasar (sifat entitas dan relationship) dengan analisis dari penggabungan antar atribut yang dikelompokkan ke dalam suatu relasi yang merepresentasikan tipe dari entitas dan relationship antar entitas. 2. Pendekatan Top-down Dimulai dengan pembentukan model data yang berisi beberapa entitas tingkat tinggi dan relationship, lalu secara berturut-turut mengidentifikasi entitas tingkat rendah, relationship, dan atribut lainnya. 3. Pendekatan Inside-out Berhubungan dengan pendekatan bottom-up, tetapi sedikit berbeda dari identifikasi awal entitas utama dan kemudian menyebar ke entitas lain, relationship, dan atribut terkait lainnya yang telah lebih dulu diidentifikasi. 4. Pendekatan Mixed Menggunakan pendekatan bottom-up dan top-down untuk bagian yang berbeda sebelum digabungkan. Menurut Connolly & Begg (2010, 322), perancangan database memiliki tiga tahapan penting agar mendapatkan sebuah database yang diinginkan, yaitu: bisa 19 1. Perancangan Database Konseptual Proses membangun suatu model data berdasarkan informasi perusahaan dan bebas dari pertimbangan fisik. 2. Perancangan Database Logis Proses membangun suatu data model berdasarkan spesifikasi model data khusus dengan cara menerjemahkan gambaran konseptual ke struktur logis di dalam database, termasuk mendesain relasinya. 3. Perancangan Database Fisik Proses yang menjelaskan implementasi database dalam secondary storage yang mendeskripsikan struktur penyimpanan dan metode akses yang akan digunakan dalam mengakses data secara tepat. 2.1.1.6.5 DBMS Selection Menurut Connolly & Begg (2010, 352), DBMS selection merupakan pemilihan DBMS yang sesuai untuk mendukung aplikasi database. 2.1.1.6.6 Application Design Menurut Connolly & Begg (2010, 329), application interface design dan adalah program merancang aplikasi digunakan untuk memproses database. yang userakan 20 2.1.1.6.7 Prototyping Menurut Connolly & Begg (2010, 333), prototyping adalah membuat model kerja dari aplikasi database yang mengizinkan perancang atau user untuk mengevaluasi hasil akhir sistem, baik dari segi tampilan maupun fungsinya. Terdapat dua macam strategi prototype, yaitu: 1. Requirements Prototyping: prototype untuk kebutuhan dari menggunakan menentukan aplikasi kebutuhan- database yang diusulkan dan suatu waktu prototype dengan kebutuhan yang lengkap tersebut dibuang. 2. Evolutionary Prototyping: digunakan untuk tujuan yang sama. Perbedaannya adalah prototype tersebut tidak dibuang, tetapi dikembangkan lebih lanjut menjadi aplikasi database yang akan digunakan. 2.1.1.6.8 Implementation Menurut Connolly & Begg (2010, 333), implementation merupakan realisasi secara fisik dari database dan rancangan aplikasi. 2.1.1.6.9 Data Conversion and Loading Menurut Connolly & Begg (2010, 334), data convertion pengambilan data and dari loading sistem mencakup lama untuk dipindahkan ke dalam sistem yang baru. Langkah 21 ini diperlukan hanya ketika suatu sistem database baru sedang menggantikan sistem yang lama. 2.1.1.6.10 Testing Menurut Connolly & Begg (2010, 334), testing adalah suatu proses melaksanakan program aplikasi dengan tujuan menemukan kesalahan. 2.1.1.6.11 Operational Maintenance Operational maintenance adalah proses mengawasi dan memelihara sistem database yang sudah dijalankan. Kegiatan dalam tahap pemeliharaan, yaitu: 1. Mengawasi kinerja sistem. Jika kinerja menurun, maka diperlukan perbaikan atau pengaturan ulang database. 2. Memelihara dan melakukan pembaharuan aplikasi database (ketika diperlukan). 2.1.1.7 Entity Relationship Modeling Menurut Connolly & Begg (2010, 371), entity relationship modeling adalah pemodelan yang berguna untuk memberikan pemahaman yang tepat terhadap data dan user di dalam suatu perusahaan. Model ini menggunakan pendekatan top-down dalam perancangan database yang dimulai dengan mengidentifikasi data-data terpenting yang disebut dengan entitas dan hubungan antara entitas-entitas tersebut yang digambarkan dalam suatu model. 22 Gambar 2.3 Entity Relational Diagram (Whitten & Bentley, 2007, 270) 2.1.1.7.1 Tipe Entitas Menurut Connolly & Begg (2010,372), entitas adalah sekumpulan obyek dengan sifat yang sama dan diidentifikasi di dalam organisasi karena keberadaannya yang bebas (independen). Setiap entitas dilambangkan dengan sebuah persegi panjang yang diberi nama, biasanya berupa kata benda tunggal. Gambar 2.4 Representasi Diagram dari Tipe Entitas (Connolly dan Begg, 2010, 374) 23 Tipe entitas, antara lain: 1. Tipe Entitas Kuat Sebuah tipe entitas yang keberadaannya tidak bergantung pada entitas lain. 2. Tipe Entitas Lemah Sebuah tipe entitas yang keberadaannya bergantung pada entitas lain. 2.1.1.7.2 Tipe Relationship Menurut Connolly & Begg (2010, 374), tipe relationship adalah sebuah set yang berhubungan antar tipe entitas yang memiliki arti. Derajat tipe relationship adalah jumlah jenis entitas yang berpartisipasi dalam satu relationship. 1. Binary: relationship yang memiliki dua derajat. Gambar 2.5 Hubungan Binary 2. Ternary: relationship yang memiliki tiga derajat. Gambar 2.6 Hubungan Ternary 24 3. Quartenary: relationship yang memiliki empat derajat. Gambar 2.7 Hubungan Quartenary 2.1.1.7.3 Atribut Menurut Connolly & Begg (2010, 379), atribut adalah sebuah sifat dari entitas atau tipe relationship. Terdapat lima jenis atribut, yaitu: 1. Simple Attribute Sebuah atribut yang terdiri dari komponen tunggal yang mempunyai keberadaan bebas dan tidak dapat dibagi menjadi bagian yang lebih kecil lagi, atau biasa disebut atomic attribute. 2. Composite Attribute Sebuah atribut yang terdiri dari beberapa komponen dan masing-masing komponen memiliki keberadaan yang bebas. 3. Single-Valued Attribute Sebuah atribut yang memiliki nilai tunggal untuk setiap kejadian dari tipe entitas. 4. Multi-Valued Attribute Sebuah atribut yang memiliki nilai ganda untuk setiap kejadian dari tipe entitas. 25 5. Derived Attribute Sebuah atribut yang merepresentasikan nilai yang dapat diturunkan dari nilai atribut yang saling berhubungan atau satu set atribut dan tidak perlu berada dalam tipe entitas yang sama. 2.1.1.7.4 Key Menurut Connolly & Begg (2010, 381-382), key adalah sebuah field yang digunakan untuk mengidentifikasi setiap record. Terdapat lima jenis key, yaitu : 1. Candidate Key Kumpulan atribut yang mengidentifikasi tipe entitas secara unik. 2. Primary Key Candidate key yang terpilih untuk mengidentifikasi tipe entitas secara unik. 3. Composite Key Candidate key yang terdiri dari dua atau lebih atribut. 4. Foreign Key Primay key pada sebuah entitas lain untuk mengidentifikasi sebuah relationship. 5. Alternate Key Candidate key yang tidak terpilih sebagai primary key. 26 2.1.1.7.5 Structural Constraints Menurut Connolly & Begg (2010, 385), batasan utama pada hubungan disebut multiplicity. Multiplicity adalah sebuah jumlah atau jarak dari kejadian yang memungkinkan suatu tipe entitas yang berhubungan dengan kejadian tunggal dari jenis entitas terkait dari hubungan khusus. 1. One-to-one (1:1) relationship terjadi apabila setiap himpunan entitas A hanya boleh berhubungan dengan satu himpunan entitas B. Gambar 2.8 Multiplicity One-to-One Relationship 2. One-to-many (1:*) relationship terjadi apabila setiap himpunan entitas A boleh berhubungan dengan lebih dari satu himpunan entitas B. Sebaliknya, setiap himpunan dari entitas B hanya boleh berhubungan dengan satu himpunan entitas A. Gambar 2.9 Multiplicity One-to-Many Relationship 27 3. Many-to-many (*:*) relationship terjadi apabila setiap himpunan entitas A berhubungan dengan lebih dari satu himpunan entitas B dan setiap himpunan entitas B juga boleh berhubungan dengan lebih dari satu himpunan entitas A. Gambar 2.10 Multiplicity Many-to-Many Relationship 2.1.1.8 Normalisasi Menurut Connolly & Begg (2010, 416), normalisasi adalah sebuah teknik yang menghasilkan sebuah set relasi atau hubungan dengan sifat yang diinginkan yang memberikan kebutuhan data dari perusahaan. Proses normalisasi yaitu: 1. Unnormalized Form (UNF) Sebuah tabel yang mengandung satu atau lebih kelompok pengulangan (repeating group). Tabel UNF dibuat dengan mengubah data dari sumber informasi ke dalam tabel berbentuk baris kolom. 2. First Normal Form (1NF) Sebuah relasi yang setiap potongan baris dan kolomnya mengandung satu dan hanya satu nilai. Tabel 1NF dibuat 28 dengan menghilangkan data berulang dan yang merupakan hasil kalkulasi, serta menentukan atribut yang menjadi primay key. 3. Second Normal Form (2NF) Sebuah relasi yang berada pada 1NF dan setiap atribut yang bukan primary key bergantung pada primary key-nya (full functional dependency). Pengujian 2NF dapat dihasilkan dengan melihat apakah ada atribut bukan primary key yang merupakan fungsi dari sebagian primary key (disebut ketergantungan parsial atau partial dependence). Dengan kata lain, tabel 2NF ini dibuat dengan menghilangkan ketergantungan parsial. 4. Third Normal Form (3NF) Pengujian terhadap 3NF dilakukan dengan cara melihat apakah terdapat atribut bukan key yang bergantung fungsional terhadap atribut bukan key yang lain (disebut ketergantungan transitif atau transitive dependence). Dengan cara dependence yang harus sama, maka dipisahkan. setiap Bentuk transitive 3NF dapat dikatakan sudah normal apabila anomaly (data yang berulang) yang ada didalamnya sudah sedemikian minimum. 2.1.1.9 Metodologi Perancangan Database Menurut Connolly & Begg (2010, 466), metodologi perancangan database adalah sebuah pendekatan terstruktur yang menggunakan prosedur, teknik, peralatan, dan dokumentasi untuk mendukung dan memfasilitasi proses perancangan. Tahapan metodologi perancangan database, yaitu: 29 1. Perancangan Database Konseptual Proses membangun suatu model data berdasarkan informasi perusahaan dan bebas dari pertimbangan fisik. Data model konseptual terdiri dari: 1. Tipe entitas 2. Tipe relationship 3. Atribut dan domain atribut 4. Primary keys dan alternates keys 5. Integrity Constraint Menurut Connolly & Begg (2010, 468) tahap perancangan database konseptual, yaitu: Step 1: Membangun model data konseptual Step 1.1: Mengidentifikasi tipe entitas. Step 1.2: Mengidentifikasi tipe relasi. Step 1.3: Mengidentifikasi dan menghubungkan atribut suatu entitas atau hubungan. Step 1.4: Menentukan domain atribut. Step 1.5: Mengidentifikasi atribut candidate key dari setiap tipe entitas. Jika terdapat lebih dari satu candidate key, maka dipilih satu menjadi primary key dan sisanya menjadi alternate key. Step 1.6: Mempertimbangkan penggunaan konsep pemodelan lanjutan (langkah optional). Step 1.7: Mengecek model untuk redundancy. 30 Step 1.8: Memvalidasi model konseptual lokal terhadap transaksi user. Step 1.9: Meninjau kembali model data konseptual lokal dengan user. 2. Perancangan Database Logis Proses membangun suatu data model berdasarkan spesifikasi model data khusus dengan cara menerjemahkan gambaran konseptual ke struktur logis di dalam database, termasuk mendesain relasinya. Menurut Connolly & Begg (2010, 490) Tahap perancangan database logis, yaitu: Step 2: Membangun dan memvalidasi model data logis. Step 2.1: Menurunkan hubungan untuk data model logis. Step 2.2: Memvalidasi hubungan dengan menggunakan normalisasi. Step 2.3: Memvalidasi hubungan terhadap transaksi user. Step 2.4: Mengecek integrity constraint. Step 2.5: Meninjau data model logis dengan user. Step 2.6: Menggabungkan data model logis ke dalam model global (langkah pilihan). Step 2.7: Mengecek perkembangan untuk masa depan. 3. Perancangan Database Fisik Proses yang menjelaskan implementasi database dalam secondary storage yang mendeskripsikan hubungan relasi, 31 organisasi file, dan index yang digunakan untuk mencapai akses yang efisien pada data, batasan integritas yang terkait, dan tahapan keamanan. Menurut Connolly & Begg (2010, 523) tahap perancangan database fisik, yaitu: Step 3: Menerjemahkan data model logikal untuk target DBMS Step 3.1: Merancang relasi dasar. Step 3.2: Merancang representasi dari data turunan. Step 3.3: Merancang batasan umum. Step 4: Merancang organisasi file dan index Step 4.1: Menganalisis transaksi. Step 4.2: Memilih organisasi file. Step 4.3: Memilih index. Step 4.4: Memperkirakan kebutuhan space disk. Step 5: Merancang user view. Step 6: Merancang mekanisme pengamanan. Step 7: Mempertimbangkan pengenalan dari redundancy terkontrol Step 8: Memantau dan menyesuaikan sistem operasional. 2.1.2 FlowChart Flowchart merupakan bagan-bagan yang mempunyai arus yang menggambarkan langkah-langkah penyelesaian suatu masalah dan cara penyajian dari suatu algoritma. Terdapat dua model flowchart, yaitu sistem flowchart dan program flowchart dengan penjelasan sebagai berikut: 32 1. System Flowchart: bagan yang memperlihatkan urutan prosedur dan proses dari beberapa file di dalam media tertentu. Melalui flowchart ini, terlihat jenis media penyimpanan yang dipakai dalam pengolahan data dan menggambarkan file yang dipakai sebagai input dan output untuk menggambarkan prosedur dalam sistem yang dibentuk Gambar 2.11 System Flowchart sitarokab.go.id/downlotperda 2. Program Flowchart: bagan yang memperlihatkan urutan dan hubungan proses dalam suatu program. Dua jenis metode penggambaran program flowchart : 1) Conceptual flowchart, menggambarkan alur pemecahan masalah secara global 2) Detail flowchart, menggambarkan alur pemecahan masalah secara rinci 33 Gambar 2.12 Conceptual dan Detail Flowchart sitarokab.go.id/downlotperda Simbol-simbol Flowchart Simbol-simbol yang di pakai dalam flowchart dibagi menjadi 3 kelompok, yaitu : 1) Flow Direction Symbols: disebut juga connecting line, digunakan untuk menghubungkan simbol satu dengan yang lain. Gambar 2.13 Flow direction symbols sitarokab.go.id/downlotperda 34 2) Processing Symbols: menunjukkan jenis operasi pengolahan dalam suatu proses atau prosedur Gambar 2.14 Processing Symbols sitarokab.go.id/downlotperda 3) Input/Output Symbols : Menunjukkan jenis peralatan yang digunakan sebagai media input atau output. 35 Gambar 2.15 Input/Output Sysmbols sitarokab.go.id/downlotperda 2.1.3 DFD (Data Flow Diagram) Diagram aliran data (DFD) adalah alat yang menggambarkan sistem pengelolahan yang dilakukan oleh sistem tersebut atau dapat dikatakan DFD menjelaskan data yang mengalir dari sumber ke tujuan dalam sistem (Whitten Bentley, 2007, 317). DFD menggunakan beberapa simbol diagram dalam implementasinya, yaitu : 1. Proses Proses adalah kerja yang dilakukan sebagai respon terhadap aliran ata yang masuk. Gambar 2. 16 Simbol Proses di DFD 36 2. Storage Storage merupakan representasi dari penyimpanan data atau tipe entitas. Gambar 2. 17 Simbol data Store di DFD 3. Aktor eksternal Aktor adalah segala sesuatu yang berinteraksi dengan sistem untuk pertukaran informasi. Gambar 2. 18 Simbol Aktor Eksternal di DFD 4. Aliran Data Alur yang menggambarkan sebuah masukan data ke suatu proses atau keluaran data (atau informasi) dari sebuah proses Gambar 2.19 Simbol Aliran data di DFD 2.1.4 Interaksi Manusia dan Komputer (IMK) 2.1.4.1 Pengertian Menurut Shneiderman & Plaisant (2010, 88-89), IMK membantu menghasilkan bisnis yang sukses, kompetisi yang kuat, kerja sama internasional, dan perang intellectualproperty. 37 2.1.4.2 Delapan Aturan Emas Perancangan User Interface Menurut Schneiderman & Plaisant (2010, 88-89), terdapat delapan aturan emas yang dapat digunakan sebagai petunjuk dasar dalam perancangan user interface, yaitu: 1. Berusaha Untuk Konsisten Konsisten dalam tampilan yang digunakan pada aplikasi, seperti konsisten dalam warna, jenis tulisan, ukuran, dan tata letak. 2. Menyediakan Usability yang Universal Usability yang universal adalah fungsi-fungsi yang dikenali secara umum, seperti singkatan dan tombol-tombol shortcut yang sudah umum diketahui. 3. Memberikan Umpan Balik yang Informatif Dalam setiap aksi yang dilakukan oleh user, maka harus disediakan umpan balik yang informatif untuk menunjukkan hasil dari aksi yang telah dilakukan. 4. Merancang Dialog Penutupan Urutan tindakan sebaiknya diatur dalam pengelompokan menjadi awal, tengah, dan akhir, di mana pada bagian akhir diberikan umpan balik yang informatif untuk mengindikasikan bahwa proses yang dilalui sudah benar. 38 5. Memberikan Penanganan Kesalahan yang Sederhana Rancangan sistem yang baik harus meminimalisasi kemungkinan terjadinya kesalahan. Apabila user melakukan kesalahan, sistem harus dapat mendeteksi kesalahan tersebut dan memberikan instruksi yang sederhana dan jelas kepada user untuk memperbaiki kesalahan. 6. Memudahkan Pembalikan Aksi Ke Kondisi Awal Dalam perancangan sistem, harus disediakan fiturfitur yang memungkinkan user untuk kembali ke posisi semula. Dengan demikian, user dapat berani menggunakan pilihan-pilihan yang belum diketahui dengan tidak merasa ragu akan kesalahan yang akan muncul. 7. Mendukung Internal Locus Of Control Sistem harus memberikan pengendalian penuh kepada user, sehingga user tidak merasa dikendalikan oleh sistem. 8. Mengurangi Beban Ingatan Jangka Panjang Manusia memiliki daya ingat yang terbatas untuk memproses informasi, sehingga diperlukan rancangan tampilan yang baik agar mudah dimengerti dan diingat oleh user. 2.1.4.3 Lima Faktor Manusia Terukur Shneiderman & Plaisant (2010, 32), lima faktor manusia terukur (Measureable Human Factors) dalam IMK, yaitu: 39 1. Waktu Belajar Seberapa lama user dapat mengerti dan mempelajari bagaimana menggunakan perintah yang ada dalam aplikasi. 2. Kecepatan Kinerja Seberapa lama suatu tugas dapat diselesaikan oleh user. 3. Tingkat Kesalahan Seberapa banyak kesalahan yang dilakukan user dalam melaksanakan suatu tugas dan apa saja kesalahan yang dilakukan. 4. Daya Ingat Seberapa baik user dapat mengingat pengetahuannya mengenai sistem. Hal ini terkait erat dengan waktu untuk mempelajari dan frekuensi menggunakan sistem. 5. Kepuasan Subjektif Seberapa besar user menyukai aspek-aspek yang ada pada interface. 2.2 Teori Khusus 2.2.1 Internet Menurut Stair & Reynold (2010, 268), internet merupakan kumpulan dari jaringan yang saling berhubungan di mana user dapat bertukar informasi secara bebas. 40 2.2.2 World Wide Web (WWW atau Web) Menurut Stair & Reynold (2010, 276), WWW atau web adalah kumpulan dari jutaan server komputer yang bekerja sama dan memiliki salah satu layanan yang menggunakan teknologi hyperlink untuk memberikan informasi yang dibutuhkan user di seluruh dunia. 2.2.2.1 Website Website adalah kumpulan dari banyak halaman web yang saling berhubungan dan di dalamnya terdapat suara, animasi, video, teks, dan gambar (Williams & Tollet, 2006, 25). 2.2.2.2 Web Services Menurut Stair & Reynold (2010, 281), web services merupakan alat yang efisien yang dapat mempermudah komunikasi antar situs web untuk bisnis maupun tujuan pribadi. 2.2.2.3 HyperText Transfer Protocol (HTTP) HTTP adalah protokol yang melakukan transfer halaman web melalui internet (Connolly & Begg, 2010, 1029). 2.2.2.4 Uniform Resource Locator (URL) URL adalah rangkaian karakter yang merepresentasikan lokasi atau alamat dari sumber internet (Connolly & Begg, 2010, 1033). 2.2.2.5 Hyperlink Menurut Stair & Reynold (2010, 276), hyperlink adalah highlighted text atau grafis di dokumen web, apabila 41 diklik akan membuka halaman web baru atau bagian dari halaman yang sama berisi konten yang terkait. 2.2.3 Hypertext Markup Language (HTML) HTML adalah bahasa untuk mendeskripsikan bagaimana teks, grafik, dan file yang terdiri dari informasi diatur dan terkait bersamasama (Meloni, 2012, 2). 2.2.4 Hypertext Preprocessor (PHP) PHP pertama kali dibuat oleh Rasmus Lerdoff, yang merupakan bahasa pemrograman script server yang dirancang untuk pengembangan web (Welling & Thomson, 2009, 2). 2.2.5 Cascading Style Sheet (CSS) CSS adalah pengelompokan instruksi format yang mengendalikan tampilan dari beberapa halaman HTML yang sudah dirancang, meliputi ukuran, warna, jarak, dan karakteristik lainnya dalam membangun sebuah halaman web (Meloni, 2012, 45). CSS memiliki dua properti umum yaitu: 1. Layout property: terdiri dari properti yang mempengaruhi penentuan posisi elemen pada halaman web, seperti margin, padding, keselarasan, dan sebagainya 2. Formatting property: terdiri dari properti yang mempengaruhi tampilan elemen visual dalam sebuah web, seperti jenis fonts, ukuran, dan warna. 2.2.6 MySQL Menurut Budi Raharjo (2011, 21), MySQL merupakan perangkat lunak RDBMS (Relational Database Management System) yang dapat 42 mengelola database dengan sangat cepat, menampung data dalam jumlah yang besar, diakses oleh banyak user (multi-user), dan dapat melakukan proses secara sinkron atau bersama-sama (multi-threaded). Keuntungan menggunakan MySQL dalam pengembangan aplikasi database, yaitu: 1. Fleksibel 2. Memiliki peforma tinggi 3. Proteksi data yang handal 4. Lintas platform. 2.2.7 JavaScript JavaScript adalah bahasa pemrograman yang dapat digunakan untuk menambahkan interaktivitas ke halaman web (Tom & Dori, 2004, 2). 2.2.8 Google Maps API Google Maps adalah sebuah jasa peta globe virtual gratis online yang disediakan oleh Google dan dapat diakses di http://maps.google.com. Seperti aplikasi web Google lainnya, Google Maps menggunakan JavaScript secara ekstensif. Beberapa tujuan dari useran Google Maps API adalah untuk melihat lokasi, mencari alamat, mendapatkan petunjuk arah mengemudi, dan lain sebagainya. 43 2.3 Hasil Penelitian atau Produk Sebelumnya Di dalam IJNS-Indonesian Journal on Networking and Security (Vol. 3, No. 4, Oktober 2014) dengan penelitian yang dilakukan oleh Rindi Damayanti yang berjudul Pembuatan Sistem Informasi Pemesanan Dan Pembayaran Kamar Pada Hotel Remaja Pacitan, dijelaskan bahwa Tujuannya untuk membuat sistem informasi pemesanan dan pembayaran yang efisien dan tepat guna. Dalam mempermudah administrasi dalam melakukan proses data. Juga sistem informasi yang dibuat ini mampu menghasilkan format laporan yang dapat membantu bagian keuangan dalam membuat laporan keuangan dan membantu meningkatkan pelayanan yang lebih baik kepada pelanggan, serta pengguna dapat mengolah data dengan mudah, seperti memasukan data baru, dan melihat data yang ada. Di dalam ComTech (Vol.4 No. 2, Desember 2013) dengan penelitian yang dilakukan oleh Yosafati Hulu yang berjudul PEMBANGUNAN DATABASE PARIWISATA INDONESIA DAN IMPLEMENTASINYA PADA SISTEM BERBASIS WEB, dijelaskan bahwa Database Destinasi Pariwisata Indonesia yang dibangun bertujuan untuk merekam dan menyajikan data dan informasi seluruh destinasi pariwisata di Indonesia secara rinci dan lengkap. Database yang dibangun tersebut bersifat terbuka. Jadi, selain melakukan pengumpulan data dan informasi awal lebih dari seratus destinasi pariwisata di Indonesa, setiap user juga dapat berkonstribusi dalam memasukkan data dan informasi yang relevan pada objek wisata tertentu atau melakukan penambahan destinasi pariwisata baru, sehingga semua destinasi pariwisata di Indonesia diharapkan terekam dalam sistem database ini. Di dalam International Journal of Advanced Trends in Computer Science and Engineering (Vol. 3, No.4, July-August 2014) dengan penelitian yang dilakukan oleh Parag Chatterjee dan Asoke Nath yang berjudul Smart Computing Applications in Railway Systems - A case study in IndianRailways Passenger Reservation System, di jelaskan bahwa aplikasi ini dibuat dengan tujuan untuk menghindari penipuan perjalanan dan pemesanan yang dilakukan oleh agen yang tak dikenal dengan cara membuat sistem tersebut lebih komprehensif dalam memeriksa identitas penumpang dengan tiket examinner (TTE) yang diberi nama dengan kartu Aadhaar, yang dapat memverifikasi UID 44 pada grafik pemesanan yang sudah dilakukan melalui kartu tersebut, atau dengan menunjukan hasil sms dr pemesanan perjalanan yang dikirim oleh portal pemesanan kereta api.