BAB 2 LANDASAN TEORI
2.1 Pengertian Internet Internet (International Networking) adalah tentang komputer dan program penyelusuran (Zeid, Ibrahim, 2000, p4). Pada awalnya internet hanya digunakan oleh militer saja. Pada tahun 1968 internet mulai digunakan oleh beberapa universitas di Amerika, dan pada tahun 1969 akhirnya jaringan internet dapat disambungkan melalui beberapa universitas dan lembaga, yaitu ; The University of California at Los Angele, SRI (Stanford Research Institude), dan University of Utah. Jaringan dihubungkan dengan kabel berkecepatan 50 Kbps.
2.1.1 WWW (World Wide Web) WORLD WIDE WEB (WWW) adalah sistem dengan standart diterima secara
universal
untuk
menyimpan,
mengambil,
memformat,
dan
menampilkan informasi dalam lingkungan jaringan (Kenneth & Jane Laudon, 2003, p17). WWW dikembangkan pertama kali di Pusat Penelitian Fisika Partikel Eropa (CERN), Jenewa, Swiss. Pada tahun 1989 Berners-Lee membuat proposal untuk memulai proyek pembuatan hypertext secara global, kemudian pada bulan Oktober tahun 1990, “World Wide Web” sudah dapat dijalankan dalam lingkungan CERN. Pada musim panas tahun 1990, WWW resmi digunakan secara luas pada jaringan internet. WWW merupakan kumpulan web server dari seluruh dunia yang berfungsi menyediakan data dan informasi untuk dapat digunakan bersama. WWW adalah bagian yang paling menarik dari internet. Melalui WWW, dapat mengakses informasi-
6
7 informasi yang tidak hanya berupa teks tetapi dapat juga berupa gambar, suara, video, dan animasi. Fasilitas ini tergolong masih baru dibandingkan email, sebenarnya WWW merupakan kumpulan dokumen-dokumen yang sangat banyak yang berada pada komputer server (web server), dimana server-server ini tersebar di lima benua termasuk Indonesia, dan terhubung menjadi satu jaringan internet. Dokumen-dokumen informasi ini disimpan atau dibuat dengan format HTML (Hypertext Markup Language). Suatu halaman dokumen informasi dapat terdiri atas teks yang saling terkait dengan teks lainnya atau bahkan dengan dokumen lain. Keterkaitan halaman lewat teks ini disebut hypertext. Dokumen informasi ini tidak hanya dapat terdiri dari teks, tetapi juga berupa gambar, mengandung suara, bahkan klip video. Kaitan antar-dokumen yang seperti ini disebut hypermedia.
2.2 Aplikasi web Aplikasi web adalah suatu aplikasi yang dapat membentuk halamanhalaman web berdasarkan permintaan pemakai. Aplikasi web juga bisa mencakup permainan interaktif ataupun kelompok diskusi. Aplikasi web merupakan salah satu contoh aplikasi client/server. Client mewakili komputer yang digunakan oleh seorang pemakai yang hendak menggunakan aplikasi, sedangkan server mewakili komputer yang menyediakan layanan aplikasi. Dalam konteks ini client dan server berhubungan melalui internet ataupun intranet. Yang menarik, model client/server yang menggunakan aplikasi web dapat melibatkan bermacammacam platform(Kadir, 2004, p2).
8 Berbagai contoh aplikasi web: - Mesin pencari atau search engine (google,altavista, dll), - Toko online (bookpool, amazon, dll), - Lelang online (eBay), - Situs-situs berita (detik.com, okezone.com, dll), - Layanan akademis (binusmaya, dll),
2.2.1 HTML (HyperText Mark-up Language) Menurut Anonymous, HTML ( HyperText Mark-up Language) adalah bahasa pemrograman yang digunakan pada aplikasi berbasis web, dalam format dokumen dan menghubungkan dynamic hypertext ke dokumen lain yang tersimpan dalam computer lain.
2.2.2 PHP Menurut Welling dan Thomson (2001, p2) bahasa pemrograman PHP (Programming Hypertext Processor) adalah bahasa pemrograman yang dirancang khusus bekerja dalam sebuah web. Script-script PHP yang dibuat harus tersimpan dalam sebuah server dan dieksekusi atau diproses dalam server tersebut. Penggunaan program PHP memungkinkan sebuah aplikasi berbasis web menjadi lebih interaktif dan dinamis. Data yang dikirim oleh pengunjung aplikasi berbasis web akan diolah dan disimpan dalam database web server dan bisa ditampilkan kembali apabila diakses. Beberapa keunggulan yang dimiliki oleh PHP: 1. PHP bersifat free atau gratis.
9 2. Beberapa server seperti Apache, Microsoft IIS, AOLserver mampu menjalankan PHP. 3. Tingkat akses PHP lebih cepat serta memiliki tingkat keamanan yang tinggi. 4. Beberapa database yang sudah ada, baik yang bersifat free/gratis ataupun komersial, sangat mendukung akses PHP, diantaranya MySQL, mSQL, dan MicrosoftSQL server. 5. PHP mampu berjalan di Linux sebagai platform sistem operasi utama bagi PHP, tetapi dapat juga berjalan di Unix, Solaris, Windows, dan yang lainnya.
2.3 Interaksi Manusia dan Komputer (IMK) Menurut B. Shneiderman, C. Plaisant (2010,p22) interaksi manusia dan komputer merupakan ilmu
yang mempelajari tentang perancangan,
implementasi dan evaluasi sistem komputer interaktif untuk digunakan oleh manusia, serta studi fenomena-fenomena yang berhubungan dengannya. IMK menangani perancangan dan evaluasi antarmuka pemakai (user interface). Antarmuka pemakai adalah bagian dari komputer yang bertujuan untuk memungkinkan interaksi antara manusia dengan komputer secara langsung. Demi tercapainya tujuan dari IMK, maka perancangan interface sebaiknya tidak lupa untuk mengikutsertakan evaluasi terhadap lima (5) faktor terukur dari manusia sebagai berikut (B. Shneiderman, C. Plaisant, 2010, p32):
10 1) Waktu untuk belajar Ukuran berapa lama seorang user untuk mempelajari fungsi-fungsi di dalam sebuah aplikasi hingga pada akhirnya dapat menggunakan dengan baik. 2) Kecepatan performa Ukuran berapa lama suatu fungsi atau serangkaian tugas di dalam aplikasi tersebut dilakukan. 3) Tingkat error yang dilakukan pengguna Ukuran berapa banyak dan jenis error yang dilakukan oleh user di dalam melakukan serangkaian tugas. 4) Daya ingat pengguna Ukuran
berapa
lama
user
mempertahankan
ingatan
dan
pengetahuannya setelah beberapa jam, hari, atau bahkan mingu. 5) Kepuasan subjektif Ukuran seberapa puas user atas berbagai aspek dari suatu sistem.
2.3.1 Delapan Aturan Emas Perancangan Menurut. Shneiderman, C. Plaisant (2010, p88-89), dalam IMK terdapat delapan aturan emas (Eight Golden Rules) yang digunakan dalam perancangan antarmuka pemakai yaitu:
1) Konsistensi Konsistensi sangat diperlukan di dalam banyak hal, seperti: urutan aksi, istilah-istilah yang digunakan dalam prompt, menu, layar bantuan, warna, tata letak, huruf capital, dan font.
11 2) Memenuhi kegunaan universal Kenali kebutuhan pengguna yang beragam dan desain untuk fleksibilitas dan memfasilitasi transformasi konten. Hal-hal seperti perbedaan pengguna pemula dan ahli, rentang usia, disability, dan keragaman jenis pengguna lainnya dapat memperkaya user interface dan meningkatkan kualitas sistem yang dirasakan.
3) Memberikan umpan balik yang informatif Untuk setiap aksi yang dilakukan oleh pengguna, sebaiknya harus ada umpan balik dari sistem. Untuk aksi yang minor namun sering dipakai, umpan balik sebaiknya bersifat sederhana. Sebaliknya, umpan balik yang lengkap diperlukan bagi aksi mayor namun jarang digunakan.
4) Desain kotak dialog yang memiliki keadaan akhir Urutan dari aksi-aksi harus diorganisasikan secara teratur apakah termasuk di dalam urutan awal, tengah, atau akhir. Kotak dialog akan mempermudah pengguna untuk mengingat urutan aksi yang telah dilakukannya. Hal ini akan membuat para pengguna dapat merencanakan aksi apa yang akan dilakukan berikutnya.
5) Memberikan pencegahan kesalahan dan penanganan yang sederhana Perancangan sistem yang baik sangat penting, sistem yang tidak memungkinkan penggunanya untuk dapat melakukan kesalahan
12 yang serius. Jika sebuah error terjadi, maka sistem harus mendeteksinya, kemudian menawarkan mekanisme penanganan error yang sederhana namun terjamin dapat berhasil.
6) Memungkinkan pengembalian aksi yang mudah Setiap aksi yang dilakukan pengguna sebaiknya dapat dibatalkan dengan mudah, misalnya dengan penggunaan undo. Hal ini dimaksudkan agar pengguna tidak terlalu tegang ketika sedang mengeksplorasi suatu aplikasi.
7) Mendukung pusat kendali internal (internal locus of control) Sistem harus memastikan agar pengguna benar-benar memegang kontrol akan sistem dan sistem tersebut merespon aksi yang dilakukan oleh pengguna.
8) Mengurangi beban ingatan jangka pendek Tampilan dan fungsi sistem sebaiknya dibuat sesederhana mungkin agar pengguna dapat mengingatnya dalam jangka waktu yang cukup lama. Selain itu, akses online untuk command-syntax forms, singkatan, kode, dan informasi lainnya juga harus disediakan oleh sistem.
13 2.4 Basis data Basis data (database), adalah kumpulan informasi yang disimpan didalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Menurut Connoly dan Begg (2010, p53) basis data adalah sekumpulan data yang terhubung satu sama lain secara logika dan suatu deskripsi data yang dirancang untuk memenuhi kebutuhan informasi suatu organisasi.
2.4.1 Database Management System Menurut Connoly dan Begg (2010, p54), Databse Management System (DBMS) adalah sistem perangkat lunak yang membantu user untuk mendefinisikan, menciptakan, memelihara, dan mengontrol akses ke basis data. DBMS berinteraksi dengan program aplikasi pemakai basis data.
2.4.2 MySQL Menurut Welling dan Thomson (2001, p4), MySQL adalah itu sangat cepat, kuat, dan berhubungan dengan Relational Database Management System (RDBMS). MySQL juga merupakan sebuah alat untuk mengorganisir, mengatur, dan menerima data yang tersimpan dari database komputer. Menurut buku Dasar Pemrograman Web Dinamis menuggunakan PHP, MySQL adalah salah satu jenis database server yang sangat terkenal. Kepopulerannya disebabkan MySQL menggunakan SQL (Structur Query Language) sebagai bahasa dasar untuk mengakses database-nya. Selain itu, MySQL
14 bersifat open source dan bisa digunakan pada berbagai platform (kecuali untuk jenis Enterprise, yang bersifat komersial). MySQL termasuk jenis RDBMS (Relational Database Management System). Karena itu, istilah seperti tabel, baris, dan kolom digunakan pada MySQL. Pada MySQL, sebuah database, mengandung satu atau sejumlah tabel. Tabel terdiri atas sejumlah baris dan setiap baris mengandung satu atau beberapa kolom.
2.5 Rekayasa Peranti Lunak (Software Engineering) Menurut Pressman (2010, p12), software adalah perangkat lunak yang telah tertanam dalam setiap aspek kehidupan kita, dan akibatnya jumlah orang yang memiliki kepentingan dalam fitur dan fungsi yang disediakan oleh aplikasi tertentu yang telah berkembang secara dramatis.
2.5.1 Model Proses Software Menurut Pressman (2010, p39), ada beberapa model proses software yang umum digunakan, salah satunya adalah Model Sekuensial Linear. Sekuensial Linear ini juga dikenal dengan nama “Classic Life Cycle” atau “Waterfall Model”.
15
Gambar 2.1 Waterfall Model
Berikut adalah penjelasan dari tahapan – tahapan tersebut: 1. Communication Terdiri dari project initation dan requirement gathering. Merupakan tahapan perngumpulan kebutuhan yang dilakukan secara intensif dan fokus terutama kepada software. 2. Planning Terdiri dari estimating, schedulling, dan tracking. Pada tahap ini pengembang software membuat perkiraan waktu yang diperlukan. Pada tahap ini juga dilakukan penjadwalan untuk menyelesaikan tahap-tahap pembuatan software sesuai dengan waktu yang telah diperkirakan. 3. Modelling Terdiri dari analysis dan design. Pada saat ini mendesain software, biasanya memiliki beberapa proses yang memfokuskan pada empat attribute dari program. Atribute tersebut adalah struktur data, arsitektur data, arsitektur software, representasi
16 interface, dan detail algoritma. Proses desain mengubah kebutuhan menjadi representasi dari software yang dapat dinilai untuk kualitas sebelum penulisan code dimulai. 4. Construction Terdiri dari code dan test. Pada tahap ini, desain di terjemahkan menjadi bentuk yang dapat dibaca oleh mesin, Setelah penulisan code selesai dibuat, pengujian terhadap program diakukan. Proses pengujian menekankan pada logikal internal pada software, meyakinkan semua pernyartaan telah diuji, dan pada fungsi external. 5. Deployment Terdiri dari delivery, support, dan feedback. Pada tahap ini, pengembang software menyediakan software yang memiliki fungsi dan fitur yang bermanfaat. Pengembang software juga menyediakan dokumentasi untuk semua fitur dan fungsi. Pada tahap ini juga, pengembang software mendapatkan umpan balik terhadap software yang berujung pada pemodifikasian fungsi dan fitur.
2.6 Unified Modelling Language (UML) UML adalah suatu standard bahasa untuk penulisan software blueprints. UML digunakan
untuk
memvisualisasikan,
menentukan,
mengkonstruksi
dan
mendokumentasikan artefak dari sistem software-intensif. Dengan kata lain, hanya sebagai arsitek bangunan membuat blueprints yang akan digunakan oleh suatu
17 perusahaan bangunan, arsitek software membuat diagram UML untuk membantu pengembangan software untuk membangun software (Pressman, Roger S, 2010, p 841). UML terdiri dari berbagai tipe diagram, antara lain:
1. Use Case Diagram, yang menjabarkan kebutuhan fungsional dan operasional sistem. Menurut Scott (2005,p33) sebuah UML Use Case Diagram menunjukkan hubungan antara aktor-aktor dan kasus penggunaan dalam sistem. Simbol – simbol yang digunakan dalam Use Case Diagram ada 3, yaitu Case, Actor, dan Relation. Case adalah hasil penguraian cakupan sistem secara fungsional ke dalam bentuk – bentuk pernyataan yang lebih kecil. Pernyataan ini digambarkan dengan simbol elips. Actor adalah pengguna sistem. Di dalam Use Case Diagram para pengguna sistem atau aktor digambarkan berinteraksi dengan sebuah sistem melalui Use Case dan hubungan tertentu. Relation adalah sebuah hubungan yang digambarkan sebagai sebuah garis yang menghubungkan aktor dengan Use Case yang berada di dalam sebuah sistem. Tipe hubungan dapat berbeda, tergantung dari bagaimana garis tersebut digambarkan.
18
Gambar 2.2. Contoh Use Case diagram
2. Menurut Scott (2005,p113), UML Activity Diagram adalah UML yang berorientasi objek diagram alir dan data aliran diagram dari pengembangan terstruktur. Suatu activity diagram adalah sejenis state machine, maka activity diagram berisi semua karakteristik dari penerapan state machine. Ini berarti activity diagram mungkin berisi state – state, cabang – cabang, fork (percabangan), join (gabungan), yang sederhana dan komposit.
Gambar 2.3. Contoh Activity diagram
19 3. Menurut Scott (2005,p33) Sequence Diagram adalah diagram urutan UML teknik pemodelan yang dinamis, seperti UML diagram komunikasi. Sequence Diagram merupakan sebuah interaksi diagram yang menggambarkan bagaimana sekelompok objek saling berkolaborasi dalam beberapa tingkah laku.
Gambat 2.4. Contoh Sequance diagram.
20 4. Menurut Scott (2005,p47) Class Diagram adalah UML yang menunjukkan, kelas sistem, antar hubungan, operasi dan atribut dari kelas.
Gambat 2.5. Contoh class diagram.