BAB 2 Tinjauan Pustaka 2.1 Rekayasa Piranti Lunak Menurut Pressman (2005:53) Rekayasa Piranti Lunak adalah aplikasi yang sistematis, disiplin, menggunakan pendekatan kuantitatif untuk pengembangan, operasi, dan pemeliharaan perangkat lunak. 2.2 Internet Internet adalah jaringan besar yang menghubungkan bisnis jaringan komputer, organisasi, lembaga pemerintah, dan sekolah sekolah di seluruh dunia, dengan cepat, tanpa hambatan dan tidak memakan biaya. (Turban et al, 2005:478) 2.2.1 Sejarah Internet Menurut Turban et al (2005:478) internet tumbuh dari sebuah proyek percobaan The Advanced Research Project Agency (ARPA) dari Departemen Pertahanan AS. Proyek ini dimulai pada tahun 1969, sebagai ARPAnet, untuk menguji kelayakan jaringan komputer area yang besar dimana peneliti, pendidik, personil militer, dan lembaga pemerintah bisa berbagi data, bertukar pesan dan mentransfer file. Internet telah berkembang menjadi jutaan kesimpulan saat ini. Pertumbuhan utama terjadi setelah organisasi komersial diizinkan untuk bergabung dengan ARPAnet, yang berganti nama internet pada tahun 1993. Ada lebih dari 500 juta pengguna internet saat ini. Komputer dan node organisasi di internet dapat berbeda jenis dan merek dan terhubung satu sama lain dengan kecepatan jalur komunikasi data yang berbeda. Jaringan utama yang menghubungkan node disebut sebagai backbone. Untuk internet, backbone adalah jaringan fiber-optic, saat ini dioperasikan terutama oleh perusahaan-perusahaan telekomunikasi seperti MCI. 7 Tidak ada badan pusat pengelola internet. Biaya operasi dibagi di antara ratusan ribu node, dan karena itu biaya untuk setiap satu organisasi kecil. Organisasi harus membayar biaya tersebut jika mereka ingin mendaftarkan nama mereka, dan mereka perlu memiliki hardware mereka sendiri dan software untuk pengoperasian jaringan internal mereka. Para organisasi berkewajiban untuk memindahkan data informasi yang masuk jaringan organisasi mereka, terlepas dari sumbernya, ke tujuan, tanpa biaya ke pengirim. Pengirim, tentu saja, membayar tagihan telepon untuk menggunakan backbone atau saluran telepon biasa 2.2.2 WWW (World Wide Web) Menurut Turban, Rainer dan Potter (2005:482) World Wide Web merupakan Sistem dengan standar yang diterima secara universal untuk menyimpan, mengambil, memformat, dan menampilkan informasi melalui arsitektur client / server. Dalam jurnal Aghaei yang berjudul Evolution of The World Wide Web : From Web 1.0 To Web 4.0, web adalah bentuk ide terbesar dari informasi yang bertransformasi yang diperkenalkan oleh Tim Burners-Lee pada tahun 1989 pada awalnya. Banyak kemajuan telah dibuat tentang web dan teknologi yang terkait dalam dua dekade terakhir. Web 1.0 sebagai web kognisi, web 2.0 sebagai web komunikasi, web 3.0 sebagai web kerjasama dan web 4.0 sebagai web integrasi diperkenalkan sebagai generasi keempat web sejak munculnya web. 2.2.3 Website Menurut Turban, Rainer, dan Potter (2005:483) Website secara bersamaan, merupakan semua halaman web dari sebuah perusahaan atau individu tertentu. 2.2.4 Web Application 8 Menurut Reina dari jurnalnya yang berjudul Pemanfaatan Web Application dalam Peningkatan Efisiensi dan Efektifitas Kerja Administrasi (Studi Kasus:Pemesanan dan Pembuatan Surat Keterangan), Web application adalah sebuah aplikasi yang diakses melalui sebuah jaringan seperti internet atau intranet. Semua pelaku bisnis berlomba-lomba untuk memanfaatkan internet guna meningkatkan efisiensi dan efektifitas proses bisnis yang dimilikinya. Melalui internet, maka keterbatasan jarak dan waktu sudah bukan lagi menjadi penghalang untuk melakukan komunikasi, bertukar informasi, dan melakukan bisnis. Sejalan dengan berkembangnya hardware, perkembangan software pun tidak kalah cepatnya. Perkembangan software yang mendukung peningkatan penggunaan internet pun terus meningkat. Oleh karena itu, pengembangan web application untuk membantu proses bisnis guna meningkatkan efisiensi dan efektifitas proses terus meningkat sejalan dengan meningkatnya kebutuhan. 2.2.5 Hypertext Markup Language (HTML) Menurut Turban, Rainer, Potter (2005:482) HTML adalah bahasa pemrograman yang digunakan di web, format dokumen dan menggabungkan link hypertext yang dinamis ke dokumen lain yang tersimpan pada komputer. 2.2.6 Uniform Resource Locator (URL) Menurut Turban, Rainer, Potter (2005:483) URL adalah sekumpulan huruf yang mengidentifikasikan alamat sumber daya tertentu didalam web. 2.2.7 Hypertext Transport Protocol (HTTP) Menurut Turban, Rainer, Potter (2005:483) HTTP merupakan komunikasi standar yang digunakan untuk mentransfer halaman melalui bagian WWW dalam internet. 2.2.8 Browsers 9 Menurut Turban, Rainer, Potter (2005:483) browser adalah Aplikasi software dimana digunakan user terutama untuk mengakses web. 2.3 Bahasa Yang Digunakan 2.3.1 PHP Menurut Artzi et al dari jurnalnya yang berjudul Fault Localization for Dynamic Web Applications, PHP adalah bahasa scripting yang banyak digunakan untuk mengimplementasikan aplikasi web, sebagian karena dukungan perpustakaan yang kaya untuk interaksi jaringan, pengolahan HTTP, dan akses database. Sebuah aplikasi web yang khas PHP adalah program client / server di mana data dan kontrol aliran interaktif antara server, yang menjalankan script PHP, dan klien, yang merupakan web browser. Script PHP menghasilkan kode HTML, yang akan didorong ke klien. Kode tersebut sering kali berisi bentuk-bentuk yang memanggil script PHP lain dan meneruskannya kombinasi input pengguna dan nilai-nilai konstan diambil dari HTML yang dihasilkan. Ada tiga bidang utama di mana script PHP digunakan : 1. Server-side scripting. Ini adalah bidang target yang paling tradisional dan utama untuk PHP. Anda perlu tiga hal untuk membuat karya ini. The PHP parser (CGI atau server module), web server dan web browser. Anda perlu menjalankan server web, dengan instalasi PHP yang terhubung. Anda dapat mengakses output program PHP dengan web browser, melihat halaman PHP melalui server. 2. Command Line scripting. Anda dapat membuat script PHP untuk menjalankannya tanpa server atau browser. Anda hanya perlu parser PHP untuk menggunakannya dengan cara ini. Jenis penggunaan ini sangat ideal untuk script dieksekusi secara berkala menggunakan cron (pada * nix atau Linux) atau Task Scheduler (pada Windows). Script ini juga dapat digunakan untuk tugas-tugas pengolahan teks sederhana. 3. Writing Desktop Application. PHP mungkin bukan bahasa terbaik untuk membuat aplikasi desktop dengan antarmuka pengguna grafis, tetapi beberapa fitur PHP maju dalam aplikasi client-side. Dapat juga 10 menggunakan PHP-GTK untuk menulis program tersebut yang memiliki kemampuan untuk menulis aplikasi cross-platform. PHP-GTK adalah perluasan untuk PHP. 2.3.2 HTML 5 HTML5 akan menjadi standar baru untuk HTML. HTML versi sebelumnya, HTML 4.01 hadir pada tahun 1999 dan dunia web telah banyak berubah saat ini. HTML5 masih bekerja dengan progress. Bagaimanapun browser utama mendukung banyak elemen HTML5 dan API. (w3schools, 2013) 2.3.2.1 Sejarah HTML5 HTML5 adalah kerjasama antara World Wide Web Consortium (W3C) dan Web Hypertext Application Technology Working Group (WHATWG). WHATWG telah berjalan dengan web forms dan aplikasi. Dan W3C telah berjalan dengan XHTML 2.0. Pada tahun 2006, mereka memutuskan untuk bekerjasama dan membuat HTML versi baru. (w3schools, 2013) 2.3.2.2 Aturan HTML5 Beberapa aturan pada HTML5 yang baru ditetapkan (w3schools, 2013): 1. Fitur baru harus berdasarkan HTML, CSS, DOM dan Javascript 2. Mengurangi kebutuhan pada ekternal plug in (seperti Flash) 3. Penanganan error yang lebih baik 4. Markup yang lebih banyak untuk menggantikan script 5. HTML5 seharusnya tidak bergantung pada alat. Proses pengembangannya harus bisa dilihat oleh publik. 2.3.3 CSS 11 CSS adalah singkatan dari Cascading Style Sheets. Styles berarti bagaimana cara untuk menampilkan elemen - elemen HTML. Styles ditambahkan ke HTML 4.0 untuk menyelesaikan masalah. External Style Sheets disimpan didalam file CSS dan dapat menyimpan berbagai macam pekerjaan. (w3schools, 2013) 2.3.3.1 CSS3 Menurut w3schools (2013) CSS3 adalah standar terbaru dalam CSS. CSS3 pun kompatibel dengan CSS versi sebelumnya. CSS3 dibagi ke dalam modules. Yang mengandung spesifikasi CSS yang lama. Beberapa modules CSS3 yang penting adalah sebagai berikut : 1. Selectors 2. Box Model 3. Backgrounds and Borders 4. Image Values and Replaced Content 5. Text Effects 6. 2D/3D Transformations 7. Animations 8. Multiple Column Layout 9. User Interface 2.3.4 Code Igniter CodeIgniter adalah framework PHP yang canggih, dibangun untuk pemrogram PHP yang membutuhkan perangkat sederhana dan elegan untuk membuat aplikasi web dengan fitur lengkap. CodeIgniter didasarkan pada pola pengembangan Model-ViewController. MVC adalah sebuah pendekatan perangkat lunak yang memisahkan logika aplikasi dari penampilannya. Dalam prakteknya, hal itu memungkinkan halaman web mengandung scripting minimal karena penyajian terpisah dari scripting PHP. Dalam pola pengembangan MVC, Model merepresentasikan struktur data. Biasanya kelas model Anda akan berisi fungsi yang membantu untuk mengambil, memasukkan, dan 12 mengupdate informasi dalam database. View adalah informasi yang sedang disajikan kepada pengguna. View biasanya berada sebuah halaman web, tetapi dalam CodeIgniter, view juga bisa menjadi fragmen halaman seperti header atau footer. Hal ini juga dapat menjadi halaman RSS, atau jenis lain dari "halaman". Controller berfungsi sebagai perantara antara Model, View, dan sumber daya lain yang diperlukan untuk memproses permintaan HTTP dan menghasilkan suatu halaman web. (Elisslab, 2006) 2.3.5 Bootstrap Menurut Otto (2011) BootStrap adalah sebuah framework CSS untuk mengembangkan aplikasi web. Bootstrap dibangun dengan teknologi HTML dan CSS yang dapat membuat layout halaman website, tabel, tombol, form, navigasi, dan komponen lainnya dalam sebuah website. Pada intinya, Bootstrap hanya CSS, tapi itu dibangun dengan LESS, pre-prosesor yang fleksibel yang menawarkan lebih banyak kekuatan dan fleksibilitas dari CSS biasa. Selain itu, karena Bootstrap adalah murni CSS ketika dikompilasi via Less, kita memperoleh dua manfaat penting: Pertama, Bootstrap sangat mudah diimplementasikan, hanya drop sebuah kode saja. Pengurangan kompilasi dapat dicapai melalui Javascript, aplikasi Mac tidak resmi, atau melalui Node.js. Kedua, sekali mengkompilasi, Bootstrap berisi tidak lain hanyalah CSS, berarti tidak ada gambar berlebihan, Flash, atau Javascript. Semua yang tersisa adalah CSS sederhana dan kuat untuk kebutuhan pengembangan web. 2.3.6 Ajax Menurut Sebesta (2011) Ajax adalah teknologi yang relatif baru untuk membangun aplikasi web yang dapat menerapkan update relatif cepat ke bagian dokumen. Permintaan asynchronous dibuat ke server, yang memungkinkan pengguna untuk terus berinteraksi dengan browser sementara permintaan sedang ditangani. Tujuan dari teknologi ajax adalah untuk menyediakan aplikasi berbasis web dengan antarmuka pengguna yang kaya 13 dan responsif mirip dengan aplikasi desktop. Motivasi untuk tujuan ini adalah peningkatan besar dalam permintaan untuk Rich Internet Application (RIA). 2.4 Model Proses Menurut Pressman (2005:78) Model proses preskriptif didefinisikan sebagai sekumpulan kegiatan, tindakan, tugas, kejadian penting dan hasil produk yang berbeda yang dibutuhkan untuk membangun software berkualitas tinggi. Model proses ini tidak sempurna. Tetapi mereka menyediakan roadmap yang berguna untuk kinerja software engineer. Software engineers dan para manajer beradaptasi dengan model proses preskriptif dengan kebutuhan mereka yang lalu diikutinya. yang ditambah, orang orang yang mengajukan pembuatan software memiliki peran dengan model proses tersebut yang diikuti Karena bisa menyediakan kestabilan, pengendalian dan penyusunan untuk kegiatan yang didapat, jika ditinggalkan tanpa dikontrol, bisa menjadi kacau. Beberapa memiliki maksud pada model proses preskriptif sebagai model proses rigorous karena mereka seringkali melingkupi kemampuan yang disarankan oleh CMMI. Bagaimanapun juga, setiap model proses harus diadaptasikan jadi bisa digunakan secara efektif untuk software project yang spesifik. Proses ini membimbing tim pemuat software melalui sekumpulan kegiatan framework yang disusun kedalam proses flow yang bisa linier, incremental, atau evolusionari. Terminology dan detail setiap model proses bertentangan, tetapi secara umum, aktifitas framework tetap cukup konsisten. 2.4.1 Model Waterfall Menurut Pressman (2005:79) model waterfall seperti yang terlihat pada gambar 2.1, terkadang disebut classic life cycle, yang menganjurkan pendekatan sistematis berurutan untuk pengembangan software yang dimulai dengan spesifikasi customer dalam kebutuhan dan progress melalui 14 perencanaan, permodelan, konstruksi dan penyebaran, pencapaian puncak dalam dukungan pembuatan software. Tetapi terdapat kekurangan dalam model waterfall, yaitu : 1. Project yang nyata jarang mengikuti urutan flow yang diajukan model walaupun model linier bisa mengakomodasikan iterasi, hal tersebut secara tidak langsung. Sebagai hasil, perubahan bisa menyebabkan kebingungan dari yang dihasilkan tim proyek. 2. Seringkali kesulitan oleh customer untuk menyatakan semua kebutuhan dengan jelas. Model waterfall membutuhkan hal tersebut dan memiliki kesulitan dalam mengakomodasikan ketidakpastian secara alami yang ada pada awal mula semua proyek 3. Pelanggan harus memiliki kesabaran. Program dengan versi yang sudah berjalan tidak akan tersedia sampai akhir jangka waktu. Kesalahan utama, jika tidak dapat terdeteksi sampai program yang berjalan di review, bisa menjadi masalah besar Gambar 2.1 Waterfall Model Berikut penjelasan gambar 2.1 : 1. Communication = project initiation requirements gathering 2. Planning = estimating scheduling tracking 3. Modeling = analysis design 4. Construction = code test 5. Deployment = delivery support feedback 15 2.5 System Development Life Cycle Menurut Whitten, Bentley (2004:84) proses pengembangan sistem adalah suatu aktivitas, metode-metode, penerapan terbaik, bisa disampaikan, dan alat yang digunakan oleh stakeholders untuk mengembangkan dan terus meningkatkan sebuah sistem informasi dan software. 2.5.1 Proses SDLC Menurut Whitten, Bentley (2004:37) Proses-proses yang terjadi pada System Development Life Cycle adalah sebagai berikut : 1. Sistem inisiasi : perencanaan proyek untuk menentukan atau mengidentifikasi masalah, jangkauan bisnis, tujuan, penjadwalan dan budget. Juga merencanakan solusi atas masalah, 2. Sistem analisis : menganalisis dan memahami permasalahan. Mengidentifikasi kebutuhan yang lebih lengkap dan menentukan solusi yang diprioritaskan, 3. Sistem desain : mengidentifikasi alternatif solusi dan memilih tindakan terbaik untuk mengatasi masalah. Merancang solusi yang telah ditentukan pada proses sistem analisis, 4. Sistem implementasi : mengimplementasikan solusi yang telah dipilih pada proyek dan mengevaluasi hasilnya. Jika permasalahan belum terpecahkan, kembali ke sistem inisiasi atau sistem analisis yang sesuai 5. Sistem support and continuous improvement : sistem pendukung untuk memelihara sistem informasi dan perbaikan sistem informasi. 2.6 Data Flow Diagram (DFD) DFD adalah sebuah alat yang menggambarkan sebuah proses model yang berupa aliran dari data melalui sistem dan performa proses kerja oleh system. (Whitten, 2004:344) 16 Terdapat beberapa kumpulan symbol yang digunakan di dalam DFD. Whitten, Bentley menggunakan notasi DeMarco/Yourdon Shape. Pada notasi DeMarco/Yourdon hanya terdapat tiga simbol dan satu koneksi, yaitu : 1. Rounded menggambarkan proses. Proses adalah performa kerja dari sistem dalam merespon aliran data yang masuk. (Gambar 2.2) Proses Gambar 2.2 Simbol Proses pada DFD DeMarco/Yourdon 2. Square menggambarkan agen eksternal. Agen eksternal adalah orang, unit organisasi, sistem, atau organisasi yang berinteraksi dengan sistem. (Gambar 2.3) Gambar 2.3 Simbol External Agent pada DFD DeMarco/Yourdon 3. Open ended-boxes menggambarkan data store. (Gambar 2.4) Gambar 2.4 Simbol Data Store pada DFD DeMarco/Yourdon 17 Balancing Data Flow Diagram Balancing adalah mensinkronisasi data flow diagram pada berbagai tingkat detail untuk mempertahankan konsistensi dan kelengkapan model. Balancing adalah teknik penjaminan mutu. Balancing mengharuskan bahwa, jika anda memecahkan proses ke dalam bentuk DFD tingkat lain untuk memperlihatkan aliran data yang lebih detail, anda harus memasukkan data flow dan data store yang sama pada child diagram yang anda masukkan pada proses aslinya di parent’s diagram. 2.7 Entity Relationship Diagram (ERD) Menurut Whitten (2004:295) Entity Relationship Diagram (ERD) adalah model data yang menggunakan beberapa notasi untuk menggambarkan konteks entitas data dan hubungan yang digambarkan oleh data. Gambar 2.5 Notasi-notasi ERD Notasi-notasi pada ERD sesuai dengan gambar 2.5 : 1. Entity. Semua sistem mengandung banyak data, oleh karena itu dibutuhkan konsep untuk mewakili secara abstrak semua contoh dari kelompok hal 18 serupa. Entity adalah sesuatu yang dibutuhkan oleh bisnis untuk menyimpan data. Kategori-kategori entity berupa orang, tempat, obyek, event(kejadian), atau konsep. 2. Atribut. Atribut adalah properti deskriptif atau karakteristik dari sebuah entity. Biasa disebut juga elemen, property, field. Beberapa atribut secara logis dikelompokkan ke dalam super atribut yang dinamakan compound attributes. Sebagai contoh, nama seseorang bisa menjadi compound attribute karena terdiri dari nama belakang, nama depan, dan nama tengah. Terdapat banyak kerjadian didalam sebuah entity. Dibutuhkan identifikasi yang unik untuk setiap kejadian pada entity berdasarkan data value atas attribute. Oleh karena itu, setiap entity membutuhkan key. Jenis-jenis key pada entity, yaitu : a. Concatenate key : sekelompok attribute yang dengan unik mengidentifikasi sebuah kejadian dari suatu entity. Biasa disebut computile key dan compound key b. Candidate key : salah satu key yang mungkin berfungsi sebagai primary key dari sebuah entity c. Primary key : sebuah candidate key yang aksinya paling sering digunakan secara unik untuk mengidentifikasi sebuah kejadian entity tunggal d. Alternate key : sebuah candidate key yang tidak terpisah sebagai primary key. 3. Relationships. Relationships adalah asosiasi bisnis diantara satu atau banyak entity. Hubungan ini dapat mewakili suatu kejadian yang terhubung entity. Karena semua relationship adalah dua arah, maka kardinalitas harus didefinisikan di kedua arah pada setiap relationship. Kardinalitas adalah minimum dan maksimum kemunculan satu entitas yang mungkin berhubungan dengan entitas lainnya. Sebuah relationship satu entitas berkaitan dengan entitas lainnya, dan harus mengidentifikasikan setiap entitas tersebut, untuk bisa mengindentifikasi secara spesifik dari entitas terkait dibutuhkan foreign keys. Foreign key adalah primary key dari sebuah entity yang digunakan oleh entity kinerja untuk mengidentifikasi kejadian dari sebuah relationship. 2.8 Interaksi Antar Muka 19 Bagian ini memfokuskan perhatian pada delapan prinsip, yang disebut delapan aturan emas yang berlaku dalam sistem yang paling interaktif. (Shneiderman, Plaisant, 2005:74) 1. Upayakan untuk konsistensi. Aturan ini adalah yang paling sering dilanggar, tetapi mengikuti itu bisa rumit karena ada banyak bentuk konsistensi. Konsisten urutan tindakan harus diperlukan dalam situasi yang sama, identik terminasi harus digunakan dalam prompt, menu, dan membantu layar, dan warna yang konsisten, tata letak, kapitalisasi, font, dan sebagainya harus dipekerjakan. Pengecualian, seperti yang diperlukan konfirmasi perintah delete atau tidak bergema password, harus dipahami dan terbatas jumlahnya. 2. Memenuhi untuk kegunaan universal. Kenali kebutuhan beragam pengguna dan desain untuk plastisitas, memfasilitasi transformasi konten. Novice perbedaan-pakar, rentang usia, cacat, dan keanekaragaman teknologi masingmasing memperkaya spektrum persyaratan yang memandu desain. Menambahkan fitur untuk pemula, seperti penjelasannya bangsa, dan fitur untuk para ahli, seperti cara pintas dan mondar-mandir lebih cepat, dapat memperkaya desain antarmuka dan meningkatkan kualitas sistem dirasakan. 3. Menawarkan umpan balik informatif. Untuk setiap tindakan pengguna, harus ada sistem umpan balik. Untuk tindakan yang sering dan kecil, respon dapat menjadi sederhana, sedangkan untuk tindakan jarang terjadi dan utama, respon harus lebih substansial. Presentasi visual dari obyek yang menarik menyediakan lingkungan yang nyaman untuk menunjukkan perubahan secara eksplisit 4. Desain dialog untuk menghasilkan penutupan. Urutan tindakan harus diatur ke dalam kelompok dengan awal, tengah, dan akhir. Umpan balik informatif pada penyelesaian sekelompok tindakan memberikan operator kepuasan prestasi, rasa lega, sinyal untuk menghentikan rencana kontingensi dari pikiran mereka, dan sinyal untuk mempersiapkan kelompok berikutnya tindakan. Misalnya, situs web e-commerce memindahkan pengguna dari pemilihan produk ke kasir, berakhir dengan sebuah halaman konfirmasi yang jelas yang melengkapi transaksi. 20 5. Mencegah kesalahan. Sebisa mungkin, merancang sistem sedemikian rupa sehingga pengguna tidak dapat membuat kesalahan serius, misalnya, item menu grayout yang tidak appro-sepatutnya dan tidak mengizinkan karakter abjad di bidang entri numerik. Jika pengguna membuat kesalahan, antarmuka harus mendeteksi kesalahan dan menawarkan instruksi sederhana, konstruktif, dan spesifik untuk pemulihan. Sebagai contoh, pengguna tidak perlu mengetik ulang seluruh bentuk nama, alamat jika mereka memasukkan kode pos yang tidak valid, melainkan harus dipandu untuk memperbaiki hanya bagian yang rusak. Tindakan Keliru harus meninggalkan sistem negara berubah, atau antarmuka harus memberikan petunjuk tentang pemulihan negara. 6. Izin mudah pembalikan tindakan(mudah kembali ke tindakan sebelumnya). Sebisa mungkin, tindakan harus reversibel. Fitur ini mengurangi kecemasan, karena pengguna tahu bahwa kesalahan dapat dibatalkan, sehingga mendorong eksplorasi pilihan asing. Satuan reversibilitas mungkin satu tindakan, tugas entri data, atau lengkap kelompok tindakan, seperti masuknya nama dan alamat blok. 7. support internal locus of control. Operator yang berpengalaman sangat menginginkan perasaan bahwa mereka bertanggung jawab atas interface dan antarmuka merespon tindakan mereka. Tindakan mengejutkan antarmuka, urutan membosankan entri data, ketidakmampuan untuk mendapatkan atau kesulitan dalam memperoleh informasi yang diperlukan, dan ketidakmampuan untuk menghasilkan tindakan yang diinginkan semua membangun kecemasan dan ketidakpuasan. 8. Kurangi beban memori jangka pendek. Keterbatasan pengolahan informasi manusia dalam ingatan jangka pendek mengharuskan menampilkan dibuat sederhana, menampilkan banyak halaman dikonsolidasikan, jendela-gerak frekuensi dikurangi, dan waktu pelatihan yang memadai dialokasikan untuk kode, mnemonik, dan urutan tindakan. Apabila diperlukan, akses online ke bentuk perintah sintaks, singkatan, kode, dan informasi lainnya harus disediakan. 2.9 Database 21 Database adalah kumpulan berbagi data yang berhubungan secara logis, dan deskripsi dari data ini, dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi. Database adalah tunggal, repositori kemungkinan besar data yang dapat digunakan secara bersamaan oleh banyak departemen dan pengguna. Alihalih file terputus dengan data yang berlebihan, semua item data yang terintegrasi dengan jumlah minimum duplikasi. Database tidak lagi dimiliki oleh satu departemen tetapi merupakan sumber daya perusahaan bersama. Database menyimpan tidak hanya data operasional organisasi tetapi juga deskripsi dari data ini. Untuk alasan ini, database juga didefinisikan sebagai kumpulan self-describing catatan terintegrasi. (Conolly, 2005:15) 2.9.1 DBMS DBMS adalah sebuah sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara, dan kontrol akses ke database. Menurut Conolly (2005:16) DBMS adalah software yang berinteraksi dengan program aplikasi pengguna dan database. Biasanya, DBMS menyediakan fasilitas sebagai berikut: 1. Hal ini memungkinkan pengguna untuk mendefinisikan database, biasanya melalui Data Definition Language (DDL) 2. Hal ini memungkinkan pengguna untuk memasukkan, update, menghapus, dan mengambil data dari database, biasanya melalui Data Manipulation Language (DML) 3. Menyediakan akses terkontrol ke database. 2.10 Security Keamanan merupakan atribut sistem yang mencerminkan kemampuan sistem untuk melindungi diri dari serangan eksternal, yang mungkin kebetulan atau disengaja. serangan-serangan eksternal yang mungkin karena komputer tujuan yang paling umum sekarang jaringan dan karena itu akses oleh pihak luar. (Sommerville, 2011:302) 22 Dalam sistem jaringan, ada tiga jenis utama dari ancaman keamanan: (Sommerville, 2011:304) 1. Ancaman terhadap kerahasiaan sistem dan data. Ini dapat mengungkapkan informasi kepada orang atau program yang tidak berwenang untuk memiliki akses ke informasi 2. Ancaman terhadap integritas sistem data. Ancaman ini dapat merusak atau mengubah perangkat lunak atau datanya 3. Ancaman terhadap ketersediaan sistem dan data. Ancaman ini dapat membatasi akses ke perangkat lunak atau data untuk pengguna yang berwenang. 2.10.1 Captcha Captcha adalah sebuah program yang melindungi situs web dari bots dengan menguji mutu yang dapat manusia lalui tetapi program komputer tidak dapat melaluinya. Gambar 2.6 Contoh pengamanan menggunakan Captcha Sebagai contoh yang terdapat pada gambar 2.5, manusia dapat membaca teks terdistorsi di atas, tetapi program komputer tidak bisa. Selain itu captcha digunakan untuk menghindari spam dan worms.