BAB 2 TINJAUAN PUSTAKA 2.1 Basis Data (Database) 2.1.1 Definisi Data Menurut Connolly dan Begg(2015, p. 68), data merupakan komponen yang paling penting dalam Database Management System (DBMS). Data berasal dari sudut pandang end-user. Data bertindak sebagai jembatan yang menghubungkan antara komponen manusia dengan komponen mesin. 2.1.2 Definisi Database Menurut Connolly dan Begg(2015, p. 63), database adalah kumpulan data yang berhubungan secara logis, dan dirancang untuk memenuhi kebutuhan informasi dari sebuah organisasi. Menurut Whitten dan Bentley (2007, p. 518), database adalah kumpulan file yang saling terkait. Tidak hanya kumpulan file, tetapi record pada setiap file harus saling berhubungan untuk menyimpan file lain. 2.1.3 Definisi Sistem Database Menurut Connolly dan Begg (2015, p. 52), sistem database adalah kumpulan dari aplikasi yang berinteraksi dengan basis data bersama DBMS dan basis data itu sendiri. Sehingga basis data merupakan gabungan dari beberapa aplikasi yang digunakan untuk mengakses, dan mengubah data sesuai dengan kebutuhan. 2.1.4 DBMS (Database Management System) Menurut Connolly dan Begg (2015, p. 64)DBMS adalah sebuah programyang digunakan untuk mengelola dan mengatur basis data.DBMS merupakan sbuah program yang berinteraksi langsung dengan program dan basis data pengguna. Suatu DBMS menyediakan fasilitas-fasilitas sebagai berikut: 5 6 1. Data Definition Language (DDL) Menurut Connolly dan Begg (2015, p. 90), DDL adalah bahasa yang memungkinkan database administrator atau user untuk mendefinisikan, menjelaskan, dan memberikan nama kepada entitas, atribut, serta hubungan yang dibutuhkan untuk aplikasi, termasuk batasan pada keamanan dan integritas. Beberapa perintah yang termasuk didalam DDL, yaitu: • Create: digunakan untuk membuat database baru, tabel baru, view baru, dan kolom. • Alter: digunakan untuk mengubah struktur table yang telah dibuat yang mencakup pergantian nama table, menambah kolom, mengubah kolom, menghapus kolom, dan memberikan atribut pada kolom. • Drop: digunakan untuk menghapus database dan table. 2. Data Manipulation Language (DML) Menurut Connolly dan Begg (2015, p. 90), DML adalah bahasa yang menyediakan operasi dasar untuk memanipulasi data dalam database. Operasi yang biasa dilakukan seperti: • Insert: untuk menyisipkan data baru ke dalam tabel setelah database dan tabel dibuat. • Update: untuk memperbaharui data lama menjadi data yang baru. • Select: untuk mengambil data atau menampilkan data dari tabel. • Delete: untuk menghapus data dari tabel. 3. Menyediakan Access Control pada basis data: • Sistem keamanan, untuk mencegah pengguna yang tidak berkepentingan untuk mengakss basis data. • Sistem integrase, untuk menjaga konsistensi dari data yang tersimpan. 7 • A user-accessible catalog, terdapat deskripsi dari data yang ada di dalam basis data. • Recovery control system, melakukan proses restorasi data jika terjadi kesalahan pada perangkat lunak maupun keras. 2.1.4.1 Komponen DBMS Lima komponen utama dalam lingkungan DBMS, yaitu: • Perangkat Keras (Hardware). • Perangkat Lunak (Software). • Data. • Prosedur. • Manusia. Gambar 2.1 Komponen Utama DBMS 2.1.4.2 Kelebihan dan Kekurangan DBMS Menurut Connolly dan Begg (2015, pp. 75-78), DBMS memiliki beberapa kelebihan: • Pengendalian terhadap redudansi data. • Konsistensi data. • Pembagian data. • Meningkatkan integritas data. • Meningkatkan keamanan. • Meningkatkan aksesibilitas dan respon. • Meningkatkan produktivitas. • Meningkatkan pemeliharaan independence. • Meningkatkan konkurensi. melalui data 8 • Meningkatkan kemampuan backup dan recovery. Menurut Connolly dan Begg (2015, pp. 78-79), DBMS juga memiliki kekurangan, yaitu: 2.2 • Kompleksitas. • Ukuran. • Biaya DBMS. • Biaya-biaya hardware tambahan. • Biaya konversi. • Performa. • Dampak besar ketika mengalami kegagalan. Relational Model Menurut Connolly dan Begg (2015, p. 152), model relasional berdasarkan konsep matematikal dari sebuah relasi, yang secara fisikal ditampilkan sebagai sebuah tabel. Setiap relasi mempunyai suatu nama dan terdiri dari atribut data. Setiap baris berisi satu nilai atribut. 2.2.1 Struktur Data Relasional (Relational Data Structure) • Relasi (relation) adalah tabel yang berisi kolom dan baris. • Atribut (attribute) adalah kolom dari sebuah tabel. • Domain adalah skumpulan nilai yang diberikan untuk satu atau lebih atribut. • Tuple adalah baris dari sebuah tabel. • Degree meripakan jumlah dari atribut yang dimiliki. • Cardinality merpakan jumlah dari baris yang dimiliki. • Relational database merupakan sekumpulan relasi yang telah dinormalisasi dengan nama relasi yang berbeda. 2.2.2 Kunci Relasional (Relational Key) • Super Key Sebuah atribut atau sekumpulan atribut yang secara unik dapat membedakan tiap baris data dalam tabel. 9 • Candidate Key Merupakan penetapan minimal atribut yang secara unik mengidentifikasi suatu entitas. • Primary Key Candidate key yang dipilih untuk mengidentifikasikan baris secara unik dalam suatu relasi. • Alternate key Candidate key yang tidak terpilih untuk membedakan baris secara unik dalam relasi. • Foreign Key Suatu atribut atau sekumpulan atribut dalam relasi yang menghubungkan candidate key dari relasi lain atau relasi yang sama. 2.2.3 Integrity Constraint Menurut Connolly dan Begg (2015, p. 240), integrity constraint terdiri dari: • Required data Beberapa kolom harus berisi nilai yang valid.Null berbeda dengan kosong atau nol, dan digunakan untuk mewakili data yang tidak tersedia, hilang, atau tidak berlaku. • Domain constraint Setiap kolom memiliki domain yang dengan kata lain memiliki nilai yang legal yang dibatasi untuk menjelaskan kolom atau yang ada di dalam tabel. • Entity integrity Entity integrity adalah sebuah pemahaman dimana dalam sebuah relasi dasar, tidak diperbolehkan bagi primary key bernilai null. • Referential integrity Referential integrity adalah jika terdapat foreign key dalam sebuah relasi, nilai foreign key tersebut harus menyamai nilai nilai 10 candidate key dari baris yang berkaitan atau foreign key harus bernilai null. • General constraint General constraint merupakan aturan tambahan yang diberikan oleh pengguna atau basis data administrator yang mendefinisikan atau membatasi beberapa aspek. Relasi • One to Many (1:*) Sistem memiliki satu sisi dirancang sebagai induk entitas, sedangkan sistem yang memiliki banyak sisi dirancang sebagai anak sistem. • One to One (1:1) Tidak ada entitas yang bertindak sebagai induk atau anak entitas, pada relasi ini primary key digandakan dari satu entitas ke entitas lain. • Many to Many (*:*) Terdapat entitas lain yang bertindak sebagai perantara yang merupakan bagian dari dua entitas yang saling berhubungan. Primary key dari dua entitas digandakan ke sebuah relasi baru. 2.3 Database Lifecycle Dalam proses pengembangan basis data diperlukan tahapan-tahapan terstruktur, yang dinamakan siklus basis data. Tahapan tersebut harus duhubungkan dengan metode basis data yang mendukungnya. Menurut Connolly and Begg (2015, p. 348), basis data dianalisis dan dirancang dalam tahapan berikut: 11 Gambar 2.2 DBLC 2.3.1 Database Planning Merupakan kegiatan pengelolaan yang memungkinkan tahap siklus pengembangan sistem basis data untuk direalisasikan seefisien mungkin.Perencanaan basis data harus diintegrasikan secara menyeluruh dengan strategi informasi sistem dari organisasi. Langkah penting dalam database planning adalah: • Mission Statement Mendefinisikan tujuan utama dari sistem basis data.Membantu untuk memperjelas tujuan dari sistem database.Menyediakan jalur yang lebih jelas menuju terwujudnya efisien dan efektif dari sistem database yang diperlukan. • Mission Objective Masing-masing tujuan misi harus mengidentifikasi tugas tertentu bahwa sistem basis data harus mendukung mission 12 statement.Bisa disertai dengan beberapa informasi tambahan yang menentukan secara umum pekerjaan yang harus dilakukan. 2.3.2 System Definition Tahap ini menentukan ruang lingkup dan batas sistem basis data, termasuk tampilan pengguna (user view), penggunanya dan area aplikasi.Sistem basis data memungkinkan memiliki satu atau banyak user views.User view mendefinisikan apa yang dibutuhkan dari sistem basis data dari perspektif peran tertentu atau daerah aplikasi perusahaan. 2.3.3 Requirements Collection and Anaysis Proses mengumpulkan dan menganalisis informasi perusahaan yang akan didukung oleh sistem basis data, dan menggunakan informasi tersebut untuk mengidentifikasikan persyaratan untuk sistem baru. 2.3.4 Database Design Proses pembuatan design yang akan mendukung pernyataan misi perusahaan dan misi yang diperlukan. Basis data design terdiri dari tiga fase utama yaitu: 1. Conceptual Database Design Proses perancangan penggunaan model data dalam perusahaan, tergantung pada semua pertimbangan fisik dari data tersebut. 2. Logical Database Design Proses perancangan model data dalam perusahaan yang berdasarkan spesifikasi data model seperti relational model, yang tergantung pada bagian Database Management System (DBMS) dan pertimbangan lainnya. 3. Physical Database Design Proses menghasilkan gambaran tentang implementasi basis data pada penyimpana sekunder; menggambarkan hubungan dasar, berkas organisasi, dan indeks yang digunakan untuk mencapai akses data yang efisien, setiap batasan kebutuhan, dan keamanan tindakan yang terkait. 13 2.3.5 DBMS Selection (optional) DBMS selection adalah pemilihan suatu DBMS yang tepat untuk mendukung basis data. Langkah utama untuk memiih sebuah DBMS yaitu: 2.3.6 • Mendifinisikan kerangka utama • Mencantumkan dua atau tiga produk • Membandingkan produk • Menentukan pilihan dan membuat laporan Application Design Application design merupakan perencanaan tampilan pengguna dan program aplikasi yang digunakan untuk memproses basis data. Memiliki dua aspek perancangan aplikasi yaitu: • Transaction Design Melakukan perancangan transaksi yang dilakukan oleh satu pengguna atau program aplikasi, yang mengakses atau mengubah isi dari basis data • User Interface Design Guidelines Melakukan perancangan user interface yang akan berguna untuk pembuatan form atau report. 2.3.7 Prototyping (optional) Menurut Connolly dan Begg (2015, p. 367), pada tahap ini dilakukan pembangunan prototype dari sistem database.Hasil dari prototype ini memungkinkan perancang atau pengguna untuk memvisualisasikan dan mengevaluasi bagaimana bentuk fungsionalitas sistem akhir. 2.3.8 Implementation Menurut Connolly dan Begg (2015, p. 367), pada tahap ini dilakukan pembuatan definisi database secara eksternal, konseptual, internal, dan program aplikasi.Implentasi pada database dilakukan dengan menggunakan DDL (Data Definition Language) dari DBMS yang dipilih atau dengan menggunakan GUI (Graphical User Interface). DDL digunakan untuk membuat struktur database dan file database yang kosong. Selain itu, pada 14 tahap ini semua spesifikasi pandangan dari pengguna juga diimplementasikan. 2.3.9 Data Conversion and Loading Menurut Connolly dan Begg (2015, p. 368), pada tahap ini dilakukan transfer data yang telah ada ke dalam database yang baru dan mengkonversi semua aplikasi yang ada untuk dijalankan pada database yang baru, tahap ini hanya dibutuhkan ketika sistem database yang baru menggantikan sistem database yang lama. Pada masa sekarang, umumnya DBMS memiliki kegunaan untuk memasukkan file ke dalam database yang baru dengan tujuan untuk memungkinkan pengembangan untuk mengkonversi dan menggunakan aplikasi program lama untuk digunakan oleh sistem baru. 2.3.10 Testing Menurut Connolly dan Begg (2015, p. 368), pada tahap ini dilakukan proses menjalankan sistem basis data yang bertujuan untuk mencari kesalahan. Sebeum digunakan, sistem basis data yang baru dikembangkan harus diuji secara menyeluruh.Jika pengujian pada sistem aplikasi telah selesai dilakukan dan tidak lagi ditemukan kesalahan, maka sistem aplikasi telah siap digunakan dan diserahkan ke pengguna. 2.3.11 Operational Maintenance Menurut Connolly dan Begg (2015, p. 369), operational maintenance adalah proses memonitor dan memelihara sistem basis data yang telah di install. Pada tahap ini, implementasi basis data dilakukan sepenuhnya.Sistem diawali dan dipelihara secara berkelanjutan.Jika diperlukan, kebutuhan baru dapat dimasukkan dalam aplikasi basis data melalui tahapan database terlebih dahulu. 2.4 Entity Relationship Modelling Menurut Connolly dan Begg (2015, p. 405),ER Modelling adalah pendekatan secara top-down terhadap desain basis data yang dimulai dengan mengidentifikasikan entitas dan hubungan diantara entitas. 15 2.4.1 Entity Type Menurut Connolly dan Begg (2015, p. 406), Entity Type adalah sekelompok objek dengan sifat yang sama, yang dikenali oleh perusahaan sebagai memiliki keberadaan yang bebas. 2.4.2 Relationship Type Menurut Connolly dan Begg (2015, p. 408), Relationship Type adalah hubungan set antara tipe satu atau lebih entitas yang berpatisipasi. Tipe relasi diberi nama yang menggambarkan fungsinya. Tingkat tipe relasi yaitu: 1. Binary Sebuah hubungan yang terjadi pada dua entitas. 2. Ternary Sebuah hubungan yang terjadi pada tiga entitas. 3. Quaterary Sebuah hubungan yang terjadi pada empat entitas. 2.4.3 Atribut Menurut Connolly dan Begg (2015, p. 413), atribut adalah properti dari sebuah entitas atau tipe relasi. Satu atribut dapat dikelompokkan menjadi simple atau composite, single valued atau multi-valued, atau derived. • Simple and Composite Attributes Simple attribute merupakan atribut yang terdiri dari komponen tunggal dengan keberadaan independen.Tidaak dapat dibagi lagi menjadi komponen yang lebih kecil.Composite attribute merupakan atribut yang terdiri dari beberapa komponen, masing-masing dengan keberadaan independen.Beberapa atribut dapat dibagi lagi untuk menghasilkan komponen yang lebih kecil dengan keberadaan independen mereka sendiri. • Single Valued and Multi-valued Attributes Single valued attribute merupakan atribut yang memegang nilai yang tunggal untuk setiap kejadian tipe entitas. Multi-valued attribute merupakan atribut yang memegang banyak nilai untuk setiap kejadian tipe entitas. 16 • Derived Attributes Merupakan atribut yang mewakili nilai yang diturunkan dari nilai atribut terkait atau mengatur atribut, belum tentu dalam jenis entitas yang sama. Tipe antitas antara lain: Strong Entity Suatu entitas yang keberadaannya tidak tergantung pada entitas lain. Weak Entity Suatu entitas yang keberadaannya tergantung pada entitas lain. 2.4.4 Structural Constraint Menurut Connolly dan Begg (2015, p. 419), multiplicity adalah jumlah relasi suatu entitas dengan entitas lainnya dalam sebuah hubungan. • Hubungan One to One (1..1) Anggota entitas A hanya diperbolehkan berpasangan dengan satu anggota entitas B. Sebaliknya, anggota entitas B hanya diperbolehkan berpasangan dengan satu anggota entitas A. • Hubungan One to Many (1..*) Anggota entitas A diperbolehkan berpasangan lebih dari satu anggota entitas B. Sebaliknya, anggota entitas B hanya diperbolehkan berpasangan dengan satu anggota entitas A. • Hubungan Many to Many (*..*) Anggota entitas A diperbolehkan berpasangan dengan banyak anggota entitas B. Sebaliknya, anggota entitas B juga diperbolehkan berpasangan dengan banyak anggota entitas A. 2.4.5 Problem with ER Model Menurut Connolly dan Begg (2015, p. 426), berikut adalah beberapa masalah yang dapat terjadi dalam pembuatan ER Model yaitu: • Fan Trap Terjadi dimana model merupakan hubungan antara tipe entitas, tetapi jalur antara antitas terjadi sangat ambigu. 17 • Chasm Trap Terjadi dimana model menunjukkan adanya hubungan antara jenis entitas, tetapi jalur tidak ada antara kejadian entitas tertentu. 2.5 Normalisasi 2.5.1 Definisi Normalisasi Menurut Connolly dan Begg (2015, p. 452), normalisasi adalah suatu teknik untuk memproduksi suatu set hubungan dengan sifat yang diinginkan serta memberikan data yang dibutuhkan oleh perusahaan. Tujuan dari normalisasi adalah untuk mengidentifikasi sebuah relasi yang sesuai dengan kebutuhan data perusahaan. Normalisasi memiliki beberapa tahapan yaitu: 1. Unnormalized Form (UNF) Menurut Connolly dan Begg (2015, p. 466), UNF adalah sebuah tabel yang memiliki satu atau lebih data yang berulang. 2. First Normal Form (1NF) Menurut Connolly dan Begg (2015, p. 466), 1NF adalah sebuah hubungan yang setiap baris dan kolom berisikan satu dan hanya satu nilai. 3. Second Normal Form (2NF) Menurut Connolly dan Begg (2015, p. 470), 2NF adalah sebuah hubungan yang ada pada 1NF dan setiap atribut yang bukan primary key sepenuhnya bergantung kepada primary key. 4. Third Normal Form (3NF) Menurut Connolly dan Begg (2015, p. 471), 3NF adalah sebuah hubungan yang ada pada 1NF dan 2NF dan atribut yang bukan primary key bergantung transitif kepada primary key. 2.6 Metodologi Perancangan Basis Data Menurut Connolly dan Begg (2015, p. 504), metodologi perancangan adalah sebuah pendekatan terstruktur yang mana menggunakan prosedur, teknik, peralatan, dan bantuan dokumentasi untuk mendukung dan memfasilitasi proses perancangan. 18 2.6.1 Perancangan Basis Data Konseptual Menurut Connolly dan Begg (2015, p. 508), prancangan konseptual basis data adalah proses membangun sebuah model dari data yang digunakan pada perusahaan dan idak bergantung terhadap semua pertimbangan fisik. Tahap-tahap dalam perancangan konseptual basis data yaitu: 1. Mengidentifikasi tipe entitas 2. Mengidenifikasi tipe relasi 3. Mengidentifikasi dan mengasosiasikan atribut dengan tipe entitas atau relasi 4. Menentukan domain atribut 5. Menentukan atribut candidate, primary, dan alternate key 6. Mempertimbangkan menggunakan enchanced modelling concepts (optional) 7. Memeriksa redudaansi pada model 8. Memvalidasi data model konseptual terhadap transaksi pengguna 9. Meninjau data model konseptual dengan pengguna 2.6.2 Perancangan Basis Data Logikal Menurut Connolly dan Begg (2015, p. 528), perancangan basis data logikal adalah proses membangun model data yang digunakan perusahaan berdasarkan data model yang spesifik, tetapi tidak bergantung terhadap DBMS tertentu dan pertimbangan fisik lainnya, untuk mengubah data model konseptual menjadi data model logikal dan memvalidasi model untuk memeriksa sudah benar secara struktural dan dapat mendukung transaksi yang dibutuhkan. Langkah kedua dengan membuat data model logikal yang menerjemahkan data-data konseptual menjadi logikal data model dan memvalidasi model apakah struktur datanya sudah benar dan dapat mendukung kebutuhan data. Tahap-tahap dalam merancang basis data logikal yaitu: 1. Menurunkan relasi untuk data model logikal 2. Memvalidasi relasi dengan normalisasi 3. Memvalidasi relasi terhadap transaksi pengguna 4. Memeriksa batasan integritas 19 5. Meninjau data model logikal dengan sempurna 6. Menggabungkan data model logikal ke data model global (optional) 7. Memeriksa perkembangan di masa depan 2.6.3 Perancangan Basis Data Fisikal Menurut Connolly da Begg (2015, p. 563), perancangan basis data fisikal adalah proses menghasilkan sebuah keterangan dari implementasi basis data pada secondary storage, yang menjelaskan relasi dasar, file organisasi, dan indeks yang digunakan agar dapat mengakses data secara efisien dan semua hubungan integritas constraint dan tingkat kemanan. Tahap-tahap dalam merancang basis data fisikal yaitu: 1. Menerjemahkan model data logikal global ke dalam DBMS tujuan 2. Merancang organisasi file dan indeks 3. Merancang user view 4. Merancang mekanisme keamanan 5. Mempertimbangkan pengenalan pengendalian redudansi 6. Memonitor dan mengatur sistem operasional 2.7 MySQL Menurut Boronczyk (2009, p. 13), MySQL adalah pembuatan basis data yang memungkinkan PHP dan Apache bekerja secara bersama-sama untuk mengakses dan menampilkan data sesuai dengan format yang dapat dibaca oleh browser. 2.8 Pengertian PHP Menurut Connolly dan Begg (2015, p. 1067), PHP adalah HTML-embedded scripting language yang open source yang didukung oleh banyak Web Server termasuk Apache HTTP Server dan Microsoft Internet Information Server. 2.9 Pengertian JavaScript Menurut Connolly dan Begg (2015, p. 1065), JavaScript adalah object based scripting language yang berakar pada program pembangunan bersama. JavaScript adalah bahasa pemograman yang sangat sederhana yang memungkinkan halaman 20 html untuk memasukkan fungsi dan skrip yang dapat mengenali dan menanggapi aksi pengguna. 2.10 Hypertext Markup Language (HTML) Menurut Connolly and Begg (2015, p. 1055), Hypertext Markup Language (HTML) adalah sistem untuk marking-up, tagging sehingga dokumen tersebut dapat dipublikasikan di dalam web. 2.11 PhpMyAdmin Menurut Marc Delisle (2010, p. 9), aplikasi ini menyediakan antarmuka web lengkap untuk administrasi basis data MySQL, dan secara luas diakui sebagai aplikasi terkemuka di lapangan ini. Tujuan dari aplikasi ini adalah untuk menawarkan manajemen berbasis web lengkap server MySQL dan data, dan untuk bersaing dengan MySQL dan standar web evolusi. 2.12 Pengertian Internet Menurut Connolly dan Begg (2015, p. 1048), internet adalah sekumpulan jaringan computer di seluruh dunia yang saling berhubungan.Internet dibuat terpisah namun saling berhubungan untuk tujuan komersial, pendidikan, pemerintahan, dan Internet Service Providers (ISPs). 2.13 Pengertian Web Menurut Rudianto (2011, pp. 7-8), Web adalah salah satu aplikasi yang berisikan dokumen-dokumen multimedia (teks, gambar, animasi, video) didalamnya yang menggunakan protokol HTTP dan untuk mengakses menggunakan perangkat lunak yang disebut browser. 2.14 Pengertian Hypertext Transfer Protocol (HTTP) Menurut Connolly dan Begg (2015, p. 1053), HTTP adalah protocol yang digunakan untuk mentransfer halaman web melalui internet. 21 2.15 Interaksi Manusia dan Komputer Menurut Schneiderman (2010, p. 22), InteraksiManusiadan Komputer (IMK) merupakan suatu disiplin ilmu yang berhubungandenganperancangan, evaluasidan implementasisuatusistemkomputer yang inovatif,sehinggasistemdapatdigunakandenganbaikolehmanusiasertasebuah studifenimena-fenomenalainyang berhubungandengannya. 2.15.1 Delapan Aturan Emas Menurut Schneiderman (2010, p. 88), sebuah perancangan antar muka yang baik adalah sebuah perancangan yang didalamnya terdapat delapan aturan emas. 1. Konsistensi Konsistensi dilakukan pada urutan tindakan, perintah dan istilah yang digunakan pada prompt, menu, serta layar bantuan. 2. Menyediakan Usability Universal Kebutuhan dari pengguna yang sudah ahli untuk kecepatan interaksi, sehingga diperlukan singkatan, tombol fungsi, perintah tersembunyi serta fasilitas makro. 3. Memberikan umpan balik yang informatif Untuk setiap tindakan operator, sebaiknya disertakan dengan sistem umpan balik.Untuk kegiatan yang sering dilakukan dan tidak terlalu penting dapat diberikan umpan balik yang sederhana.Sedangkan untuk tindakan yang penting sebaiknya diberikan umpan balik yang bersifat lebih substansial. Misalnya seperti muncul suara ketika salah menekan tombol saat melakukan input data atau dapat memunculkan pesan kesalahan. 4. Merancang dialog untuk menghasilkan suatu penutupan Umpan balik yang informative akan memberikan indikasi bahwa cara yang dilakukan sudah benar mempersiapkan kelompok ke tindakan selanjutnya. dan akan 22 5. Memberikan penanganan kesalahan yang sederhana Sebisa mungkin sistem dirancang agar pengguna tidak melakukan kesalahan yang fatal.Jika terjadi kesalahan, sistem dapat mendeteksi kesalahan dengan cepat dan memberikan mekanisme yang sederhana dan mudah dipahami untuk menangani kesalahan. 6. Mudah kembali ke tindakan sebelumnya Agar pengguna tidak takut untuk mengeksplorasi pilihanpilihan lain yang belum di biasa digunakan. 7. Mendukung tempat pengendali internal Pengguna ingin menjadi pengontrol sistem dan sistem akan memberikan respon dari tindakan yang dilakukan pengguna. Sebaiknya sistem dirancang sedemikian rupa sehingga pengguna dapat menjadi inisiator daripada responden. 8. Mengurangi beban ingatan jangka pendek Manusia mempunyai ingatan yang terbatas, sehingga membutuhkan sistem dengan tampilan yang sederhana atau banyak tampilan halaman yang sebaiknya disatukan, serta diberikan cukup waktu pelatihan untuk kode, mnemonic serta urutan tindakan. 2.16 Data Flow Diagram Menurut Whitten dan Bentley (2007, p. 317), DFD adalah model roses yang digunakan untuk menggambarkan aliran data melalui sistem dan cara kerja atau proses yang dilakukan oleh sistem. DFD bisa disebut juga Bubble Chart, Transformation Graph, dan Process Model. Hanya ada tiga symbol dan satu koneksi yang digunakan dalam DFD, yaitu: 1. Lingkaran merepresentasikan proses atau pekerjaan yang harus diselesaikan 2. Bujur Sangkar merepresentasikan external agents. External agentsadalah orang luar, unit organisasi, sistem, atau organisasi yang berinteraksi dengan sistem, disebut juga dengan external entity. 23 3. Kotak terbuka merepresentasikan data stores, biasa disebut juga files atau basis data. 4. Panah merepresentasikan aliran data, input, dan output kepada atau dari proses. Gambar 2.3 Simbol DFD Tingkatan DFD terdiri dari: 1. Diagram Konteks Menurut Dennis, Wixom, dan Roth (2012, p. 191), diagram konteks menunjukkan proses bisnis secara keseluruhan sebagai sebuah proses yaitu, sistem itu sendiri dan menunjukkan aliran data dari dan ke entitas eksternal. 2. Diagram Nol Menurut Dennis, Wixom, dan Roth (2012, p. 191), diagram level nol menunjukkan seluruh proses dalam di tingkat awal, penyimpanan data, entitas eksternal, dan aliran data di antara mereka. 24 2.17 Use Case Diagram Menurut Whitten dan Bentley (2007, p. 246), use case diagram menggambarkan sebuah sistem sebagai satu koleksi dari use case, actors (user) dan relationship (hubungan) keduanya. Menurut Whitten dan Bentley (2007, pp. 248-250), ada 5 jenis hubungan yang ditemukan dalam use case diagram, yaitu: 1. Associations Sebuah hubungan antara aktor dan sebuah use case dimana interaksi terjadi antara mereka. Gambar 2.4 Contoh Associations 2. Extends Use case yang mengandung langkah yang ditarik dari sebuah use case yang lebih kompleks dengan tujuan untuk menyediakan kasus yang orisinil dan untuk memperluas fungsionalitasnya. Gambar 2.5 Contoh Extends 3. Uses or includes Use case yang mengurangi pengulangan yang terjadi antara dua atau lebih use case yang lain dengan menggabungkan langkah-langkah yang umum yag ditemukan dalam kasus. 25 Gambar 2.6 Contoh Uses or Includes 4. Depends on Sebuah hubungan antara use case mengindikasikan bahwa satu use case tidak dapat ditampilkan sampai use case yang lain telah tampil. Gambar 2.7 Contoh Depends On 5. Inheritance Di dalam use case, sebuah hubungan antara aktor yang diciptakan untuk menyederhanakan gambar ketika sebuah aktor yang abstrak mewariskan perannya ke banyak aktor yang asli. 26 Gambar 2.8 Contoh Inheritance Gambar 2.9Use Case Diagram 2.18 Activity Diagram Menurut Whitten dan Bentley (2007, p. 390), activity diagram berfungsi untuk menggambarkan proses atau aktivitas dari sebuah sistem. Activity diagram serupa dengan flowchart dalam hal mereka menggambarkan secara gambar aliran 27 sekuensial dari aktivitas atau proses bisnis atau use case. Yang membedakan adalah activity diagram menyediakan mekanisme untuk menggambarkan aktivitas yang terjadi secara pararel. Mereka sangat berguna untuk memodelkan aksi yang akan ditamoilkan ketika proses sedang berjalan. Gambar 2.10 Simbol Activity Diagram 2.19 Codeigniter Menurut Hakim (2010, p. 8), Codeigniter adalah sebuah framework PHP yang dapat membantu mempercepat developer dalam pengembangan aplikasi web berbasis PHP dibanding jika menulis semua kode program dari awal. Adapun beberapa keuntungan menggunakan codeigniter: • Gratis Codeigniter berlisensi di bawah Apache • Ditulis menggunakan PHP 4 • Berukuran kecil • Menggunakan konsep MVC 28 Memungkinkan pemisahan layer application-logic dengan layer presentation. • URL yang sederhana • Memiliki paket library yang lengkap • Extensible Sistem dapat dikembangkan dengan mudah menggunakan plugin dan helper, atau hooks. • Tidak memerlukan template engine • Dokumentasi lengkap dan jelas • Komunitas Salah satu komunitasnya dapat dilihat di (http://codeigniter.com/forum/). 2.20 XAMPP Menurut Suehring dan Valade (2013, p. 75), XAMPP merupakan software yang dapat menginstal Apache, MySQL, dan PHP dalam satu prosedur. XAMPP juga dapat menginstal PHPMyAdmin, aplikasi web yang dapat digunakan untuk mengelola database MySQL. 2.21 Pengertian Jadwal Menurut Baker dan Trietsch (2009, p. 1), jadwal adalah rencana atau dokumen yang nyata, seperti jadwal bus atau jadwal jadwal kelas.Jadwal biasanya memberitahu kita hal-hal yang seharusnya terjadi, dan menunjukkan waktu untuk kegiatan tertentu.