BAB 2 LANDAS AN TEORI 2.1 Pengertian Internet Untuk pertama kali, sejujurnya dunia masih dalam keadaan atau situasi transaksi yang sifatnya berinteraksi langsung atau bertatap muka. Perkembangan teknologi saat ini semakin maju dan dengan adanya komputer, dapat mencari informasi mengenai apapun yang diinginkan bahkan yang masih dalam imajinasi. M enurut Preston Gralla (1998, p2), internet bukanlah jaringan tunggal tetapi jaringan yang luas, mencakup jaringan yang ada di seluruh dunia. Bukan perseorangan, kelompok atau organisasi yang berjalan dengan internet, bahkan internet benar-benar seperti demokrasi elektronik. Jaringan berkomunikasi dengan jaringan yang lain berdasarkan aturan-aturan yang telah ditetapkan, seperti Transmission Control Protokol (TCP) dan Internet Protocol (IP). Banyak jaringan dan komputer sedang tersambung atau terhubung ke jaringan internet setiap harinya. Lebih dari sepuluh ribu jaringan internet yang ada, terdiri dari jaringan universitas, jaringan lokal perusahaan hingga pelayanan online yang besar seperti America Online dan CompuServe. Setiap saat jika berhubungan atau terkoneksi dengan internet, komputer atau perangkat tersebut akan menjadi bagian dari jaringan internet. Dengan adanya internet, siapapun dapat berkomunikasi dengan seseorang yang berada dibelahan dunia lain. Siapapun 7 dapat menggunakan teleconference, 8 memanfaatkan sumber daya komputer yang ada dari lain benua, mencari melalui perpustakaan terbaik di dunia dan dapat mengunjungi musium yang paling menakjubkan yang ada di dunia. Dengan adanya internet siapapun bisa berbelanja apa saja yang diinginkan. Semuanya itu dapat dilakukan jika terkoneksi ke dalam jaringan internet besar yang ada di dunia ini yang biasa disebut internet. 2.2 World Wide Web M enurut Gillies dan Calliau (2000, p1), world wide web itu seperti ensiklopedia, direktori telepon, record collection, toko video, dan semuanya itu dikemas menjadi satu dan dapat diakses melalui banyak komputer. Seiring berjalannya waktu world wide web bisa dikatakan cukup berhasil yang sering disinonimkan dengan internet, tetapi kenyataannya, keduanya sama sekali berbeda. Internet seperti jaringan jalan elekronik yang saling terhubung antar planet yang membawa banyak informas i. Web merupakan salah satu dari banyak layanan yang menggunakan jaringan, sama seperti halnya perbedaan jenis dari kendaraan yang digunakan di jalan. Di dalam internet, web kebetulan menjadi popular atau terkenal. Sampai datangnya teknologi jaringan komputer, sistem telepon telah menjadi satu-satunya sarana komunikasi elektronik. Walaupun keduanya saling terkait, ada banyak perbedaan penting antara cara seseorang berkomunikasi dengan satu dan yang lainnya dibandingkan cara komputer berkomunikasi, keduaya itu sangat berbeda. Dalam komunikasi telepon, seseorang cenderung berbicara terus menerus. Dikarenakan alasan seperti itu, elekronik link antara keduanya dipesan secara esklusif dan tetap terbuka selama keduanya berharap untuk berbicara. 9 Komunikasi menggunakan telegram yaitu sedikit mendekati cara komputer berkomunikasi, informasi dibungkus ke dalam paket dan memerlukan waktu yang cukup lama agar paket sampai ke tempat tujuan. Ketika pesan telah sampai, koneksi tertutup dan pesan dapat dikatakan ‘off-line’. WWW merupakan singkatan dari world wide web, yang sering digunakan jika mengakses internet melalui web browser. M enurut Dr. Prakash (1997, p54), world wide web yaitu mengakses informasi melalui jaringan internet. World wide web biasa disebut web, web terdiri dari komputer yang secara bersama-sama terhubung melalui hyperlinks, yang membolehkan pengguna untuk mengakses salah satu web dari tempat lain. Bagian yang paling menarik dari internet yaitu web karena melalui web, dapat mengakses informasi yang diinginkan. Seiring berkembangnya teknologi, yang dahulu mengakses web hanya menampilkan teks, saat ini penggunaan web tidak terbatas hanya teks saja tetapi dapat menampilkan gambar, suara, video dan bermacam-macam animasi. 2.3 Hyeprtext Transfer Protocol M enurut David Gourley dan Brian Totty (2002, p3), dunia web browser, server, dan yang berkaitan dengan aplikasi web, semuanya itu berkomunikasi satu dengan yang lainnya melalui Hypertext Transfer Protocol atau yang biasa disebut HTTP. HTTP merupakan bahasa pemrograman web yang paling banyak digunakan. Jutaan gambar, halaman HTM L, file teks, MPEG movies, WAV audio files, dan java applets yang menggunakan jalur internet setiap harinya. HTTP memberikan informasi dengan cepat, 10 nyaman, dan dapat diandalkan yang prosesnya pengguna menggunakan browser untuk meminta informasi dari web server. Karena HTTP menggunakan protocol transmisi data yang dapat diandalkan, sehingga menjamin data itu tidak akan rusak atau hilang dalam perjalanan, bahkan jika diakses dari belahan dunia lain. Keadaan seperti sekarang ini sangat baik untuk pengguna, karena pengguna dapat mengakses informasi tanpa harus khawatir mengenai keutuhan data tersebut. Keandalan transmisi juga baik bagi pengembang aplikasi internet, karena pengembang tidak mengkhawatirkan mengenai komunikasi HTTP akan terputus, di duplikasi, atau menyimpang pada saat diperjalanan. Pengembang dapat fokus pada pemrograman mengenai detil yang khusus untuk pengembangan aplikasi, tanpa mencemaskan tentang cacat dan kelemahan dari internet. 2.4 Hypertext Markup Language M enurut Wendy Williard (2007, p4), selama terlibat dalam pembuatan web, sebagian besar orang meminta untuk diajarkan bagaimana prosesnya. Awalnya banyak yang diintimidasi oleh pemikiran tentang bagaimana belajar HTM L. HTM L bukan ilmu pengetahuan yang meroket, cukup sederhana, yang berarti HTM L memberitahukan kepada web browser, bagaimana cara menampilkan halaman. Itulah mengapa disebut HTM L, yang mana singkatannya yaitu Hypertext Markup Language. Seperti keterampilan baru, untuk mengetahui atau mengenal lebih jauh mengenai HTM L, membutuhkan latihan untuk memahaminya. 11 2.5 Web Browser M enurut Wendy Williard (2007, p7,p8), Web browser adalah bagian dari perangkat lunak yang dijalankan pada personal komputer dan membolehkan untuk melihat halaman web. Web Browser, sering disebut “browsers,” yang menterjemahkan kode-kode HTM L dan menyediakan tampilan visual layout dan ditampilkan pada layar. Browser mempunyai cirri khas yaitu dapat digunakan untuk membuka e-mail dan mengakses berita. Browser yang paling terkenal yaitu Microsoft Internet Explorer yang biasa disebut IE. Sampai saat ini, beberapa pengamat memperkirakan sekitar 75 persen lebih IE menguasai pasar web browser. Satu penjelasan mengapa IE sudah berada dalam paket pembelian sistem operasi windows dan sedikit orang mencari alternatif browser. Apple’s telah menanaman browser Safari pada sistem operasi Mac O/S. Browser terkenal lainnya yaitu “Mozilla-based” browser. Nama ini datang dari fakta bahwa setiap browser berdasarkan pada kerangka yang bernama Mozilla, yang dimiliki oleh pemain lama dalam Iweb browser yaitu Netscape Browser. Yang terkenal dari Mozilla-Based browser yaitu Firefox, yang mana telah tersedia atau dapat digunakan pada sistem operasi windows maupun sistem operasi Mac O/S. Browser ter-update secara teratur, berubah dinamis untuk mengatasi hal-hal yang baru pada HTM L atau permasalahan teknologi yang muncul. Beberapa pengguna menggunakan browser versi lama, bagaimanapun juga ini memiliki arti pada waktu 12 tertentu, mungkin ada dua atau tiga versi didalam satu browser dan beberapa perbedaan versi dari browser yang telah dipakai pada khalayak ramai. 2.6 Web Server M enurut Dr. Prakash (1997, p31), web server merupakan protocol internet yang melibatkan client dan server. Server menyediakan informasi dan client mengakses informasi tersebut. Pengertian informasi di dalam paradigma web adalah menyediakan atau mempublikasikan pada web server. Web Server pada prinsipnya digunakan untuk memelihara direktori dari halaman web dan situs untuk membalas permintaan dari web browser untuk melihat halaman tersebut dan berinteraksi dengan server. 2.7 Hypertext Preprocessor M enurut wahana komputer (2010, p3), PHP (Hypertext Preprocessor) merupakan bahasa pemrograman berbasis web yang memiliki kemampuan untuk memproses dan mengolah data secara dinamis. PHP dapat dikatakan sebagai sebuah server-side embedded script language, artinya semua sintaks dan perintah program yang ditulis akan sepenuhnya dijalankan oleh server, tetapi dapat disertakan pada halaman HTM L biasa. Pada umumnya, semua aplikasi yang dibangun menggunakan PHP akan memberikan hasil pada web browser, tetapi prosesnya secara keseluruhan dijalankan pada server. Pada prinsipnya, server akan bekerja apabila ada permintaan dari client. Dalam hal ini, client menggunakan kode-kode PHP akan mengirim permintaan ke server. 13 Ketika menggunakan PHP sebagai server-side embedded script language, maka server akan melakukan beberapa hal sebagai berikut : • M embaca permintaan dengan skrip PHP berasal dari browser. • M encari halaman di server (server pages). • M elakukan processing melalui instruksi yang diberikan oleh PHP untuk melakukan modifikasi pada halaman. • M engirim kembali halaman tersebut kepada client melalui internet atau intranet yang merupakan proses echo/print. PHP mempunyai beberapa kemampuan yang merupakan salah satu kelebihan PHP. Kemampuan tersebut antara lain : • Dapat bekerja pada sistem operasi berbasi Windows, Linux, Mac OS, dan kebanyakan varian UNIX. • Biaya yang dibutuhkan untuk menggunakan PHP tidak mahal atau bahkan gratis. • M udah digunakan karena memiliki fitur dan fungsi khusus untuk membuat web dinamis. Bahasa pemrograman PHP dirancang untuk dapat dimasukkan dalam HTM L (embedded script). • Security sistem yang cukup tinggi. • Waktu eksekusi yang lebih cepat dibandingkan dengan bahasa pemrograman web lainnya berorientasi pada server-side scripting. 14 • Akses ke sistem database yang lebih fleksibel dan mudah, seperti pada MySQL. Ketika kebutuhan informasi yang up-to-date dan teknologi yang semakin berkembang, membuat situs-situs statis pun semakin ditinggalkan karena dianggap sudah tidak memenuhi kebutuhan pasar. Saat ini, bahasa PERL dan CGI sudah ketinggalan jaman sehingga sebagian besar web programmer banyak yang beralih ke bahasa server side scripting yang lebih dinamis seperti PHP. 2.8 CodeIgniter M enurut Wikipedia, CodeIgniter adalah aplikasi open source yang berupa framework dengan model M VC (Model, View, Controller) untuk membangun website dinamis dengan menggunakan PHP. CodeIgniter memudahkan developer untuk membuat aplikasi web dengan cepat dan mudah dibandingkan membuatnya dari awal. 2.9 MySQL M enurut wahana komputer (2010, p5), MySQL pertama kali dirintis oleh seorang programmer databae bernama M ichael Widenius. M ySQL database server adalah RDBM S (Relational Database Management System) yang dapat menangani data yang bervolume besar. M eskipun begitu, tidak menuntut resource yang besar. M ySQL adalah datababase yang paling popular diantara database-database lain. MySQL adalah program database yang mampu mengirim dan menerima data dengan cepat dan mutli user. M ySQL memiliki dua bentuk lisensi, yaitu free software dan shareware. Free software bebas menggunakan database untuk keperluan pribadi atau usaha tanpa harus membeli atau membayar lisensi, yang berada di bawah lisensi 15 GNU/GPL (general public license) yang dapat di download pada alamat resminya http:www.mysql.com M ySQL sudah cukup lama dikembangkan, beberapa fase penting dalam pengembangan M ySQL adalah sebagai berikut : • MySQL dirilis pertama kali secara internal pada 23 M ei 1995 • Versi Windows dirilis pada 8 Januari 1998 untuk Windows 95 dan Windows NT. • Versi 3.23 : Beta dari Juni 2000, dan dirilis pada Januari 2001 • Versi 4.0 : Beta dari A gustus 2002, dan dirilis pada M aret 2003 (unions). • Versi 4.1 : Beta dari bulan Juni 2004, dirilis pada ulan Oktober 2004 (R-Trees dan B-Trees, subqueries, prepared statements). • Versi 5.0 : Beta dari bulan M aret 2005, dirilis pada Oktober 2005. (Cursor, stored procedure, trigger, views XA transaction). • Sun M icrosystems membeli M ySQL AB pada tanggal 26 Februari 2008 • Versi 5.1 : Dirilis 27 November 2008 (event scheduler, partitioning, plug-in API, row-based replication, server log table). MySQL memiliki beberapa kelebihan dan keuntungan dibandingkan database lain, diantaranya adalah : • Banyak ahli berpendapat MySQL merupakan server tercepat. 16 • MySQL merupakan sistem manajemen database yang OpenSource (kode sumbernya terbuka), yaitu software ini bersifat free atau bebas digunakan oleh perseorangan atau instansi tanpa harus membeli atau membayar kepada pembuatnya. • MySQL mempunyai performa yang tinggi tapi simple. • Database MySQL mengerti bahasa SQL (Structured Query Language). • MySQL dapat diakses melalui protocol ODBC (Open Database Connectivity) buatan M icrosoft. Ini menyebabkan MySQL dapat diakses oleh banyak software. • Semua klien dapat mengakses server dalam satu waktu, tanpa harus menunggu yang lain untuk mengakses database. • Database MySQL dapat diakses dari semua tempat di internet dengan hak akses tertentu. • MySQL merupakan database yang mampu menyimpan data berkapasitas besar, sampai berukuran Gigabyte. • MySQL dapat berjalan di berbagai sistem operasi seperti Linux, Windows, Solaris, dan lain-lain. 17 2.10 Database M enurut wahana komputer (2010, p2), database adalah sebuah struktur yang umumnya terbagi dalam 2 hal, yaitu sebuah database flat dan sebuah database relasional. Database relasional lebih mudah dipahami daripada database flat karena database relasional mempunyai bentuk yang sederhana serta mudah dilakukan operasi data. MySQL sendiri adalah sebuah database relasional. Database yang memiliki struktur relasional terdapat tabel-tabel untuk menyimpan data. Pada setiap tabel terdiri dari kolom dan baris serta sebuah kolom untuk mendefinisikan jenis informasi apa yang harus disimpan. Database akan menjadi sangat berguna saat menyimpan informasi yang dikategorikan secara logis. 2.11 Relational Database M enurut wahana komputer (2010, p2), pada saat menggunakan software sistem manajemen database terkomputerisai, umumnya menggunakan database relasional. Prinsip database relasional adalah informasi dibagi menjadi beberapa data yang terpisah secara logis. Data-data yang terpisah tersebut diletakkan dalam bentuk tabel. Tabel adalah objek dasar yang merupakan jantung dari database relasional. Tabel adalah dasar penyimpanan informasi. Ketika informasi sudah tersimpan di tabel-tabel yang terpisah, nantinya akan melihat (view), mengedit (edit), menambah (add), dan menghapus (delete) informasi dengan berbagai metode. Selain itu, juga bisa mengambil informasi menggunakan query dan menampilkan informasi menggunakan report. 18 Keunggulan menggunakan penyimpanan data menggunakan database relasional sangat banyak dibandingkan dengan penyimpanan ke satu tabel ukuran besar dua dimensi (yang disebut file flat) seperti file Word atau spreadsheet Excel. Salah satu keunggulan database adalah berkurangnya redundansi data. Konsekuensinya tidak hanya ruang penyimpanan harddisk menjadi berkurang, tetapi kecepatan pemrosesan data juga berkurang. Selain itu ada kelebihan lainnya, yaitu : • Fleksibilitas : Jika data berubah, anda dapat meng-update nilainya hanya di satu tempat. Dengan demikian, semua query, form, dan lainnya akan berubah secara konsekuen dengan nilai yang baru tersebut. • Simple : M odel penyimpanan tabel yang merupakan dasar dari sistem relasional memang simple, dan merupakan metode penyimpanan data data yang tak redundan. Tiap tabel didesain relasional untuk objek tunggal yang mengandung data, yang konsekuen terhadap aspek tertentu dari database, seperti pegawai, produk, atau order. • Power : M enyimpan data dalam tabel-tabel yang terpisah lebih memudahkan adanya pengelompokan, searching, dan pengambilan data menggunakan banyak cara yang tak terbatas. • Kemudahan manajemen : Dengan tabel yang kecil dan tidak kompleks, informasi menjadi mudah dilacak dan diatur. 19 2.12 Javascript M enurut Wikipedia, javascript adalah bahasa skrip yang popular di internet dan dapat bekerja di sebagian besar penjelajah web seperti Internet Explorer (IE), M ozilla Firefox, Netscape dan Opera. Kode Javascript dapat disisipkan dalam halaman web menggunakan tag script javascript pertama kali dikembangkan oleh Brendan Eich dari Netscape dibawah nama Mocha, yang nantinya namanya diganti menjadi LiveScript, dan akhirnya menjadi JavaScript. Navigator sebelumnya telah mendukung Java untuk lebih bisa dimanfaatkan para programmer yang non-Java. M aka dikembangkanlah bahasa pemrograman bernama LiveScript untuk mengakomodasi hal tersebut. Bahasa pemrograman inilah yang akhirnya berkembang dan diberi nama JavaScript, walaupun tidak ada hubungan bahasa antara Java dengan JavaScript. 2.13 jQuery M enurut Lukmanul Hakim (2010, p3), jQuery adalah javascript Library yaitu kumpulan kode atau fungsi javascript siap pakai, sehingga mempermudah dan mempercepat dalam membuat kode javasript. Secara standar, apabila dalam membuat kode javascript, maka diperlukan kode yang panjang, bahkan terkadang sulit dipahami. Salah satu peran jQuery yaitu sebagai javasript library yang dapat memanggil fungsi yang terdapat di dalam library tersebut. Kesimpulannya, jQuery menyederhanakan kode javasript. 20 2.14 Interaksi Manusia dan Komputer M enurut Hewett (1992, 1996, p5). Interaksi M anusia dan Komputer (IM K) adalah sebuah disiplin ilmu yang mempelajari perancangan, implementasi, dan evaluasi sistem komputasi interaktif dan berbagai aspek terkait. Dari perspektif ilmu komputer, fokus IMK adalah pada interaksi, khususnya interaksi antara satu atau lebih manusia (sebagai pengguna komputer) dengan satu atau lebih mesin komputasi (komputer). Situasi klasik yang sering dijumpai adalah penggunaan program berbasis grafik yang interaktif. Istilah “interaksi manusia dan komputer” atau “interaksi manusia dan mesin” terdiri dari dua sisi, yaitu mesin dan manusia. Pertama perlu melihat istilah “mesin”. Istilah mesin lebih popular dengan sebutan komputer. Berbagai jenis komputer yang dikenal antara lain adalah mainframe, workstation, dan komputer pribadi (personal computer). Berikutnya dilihat dari aspek “manusia”. Jika dilihat “manusia” sebagai sekelompok orang atau sebuah organisasi, maka antarmuka disini termasuk di dalamnya antara lain sistem terdistribusi, komunikasi antar manusia terbantu dengan komputer, atau suatu pekerjaan yang secara kooperatif dikerjakan oleh sekelompok orang yang menggunakan bantuan sistem komputer. 21 2.14.1 Delapan Aturan Emas M enurut Ben Shneiderman (1998, p74), berdasar prinsip desain yang sudah diturunkan dari pengalaman di kebanyakan sistem interaktif setelah diperbaiki, ditambahkan dan diterjemahkan dengan benar. Untuk meningkatkan kegunaan dari aplikasi, adalah penting untuk memiliki desain antarmuka yang baik. Eight Golden Rules Of Interface Design ( Delapan Aturan Emas dari Desain Antarmuka) dari Ben Shneiderman adalah sebagai penunjuk untuk desain antarmuka. a. Berusaha untuk konsisten. Aturan ini merupakan yang paling sering diabaikan, tetapi jika mengikuti aturan ini, dapat menyulitkan karena ada banyak bentuk aturan untuk bisa dikatakan konsisten. Urutan aksi harus konsisten dan diperlukan pada saat situasi yang sama, identik dengan terminology yang digunakan dalam prompt, menu dan help screens, konsisten dalam menggunakan warna, layout, huruf besar dan kecil. b. M emungkinkan pengguna yang menggunakan shortcut (jalan pintas). Sejalan dengan penggunaan yang meningkat, pengguna juga menginginkan pengurangan jumlah interaksi dan meningkatkan kecepatan interaksi. Singkatan, fungsi, perintah tersembunyi, dan fasilitas makro sangat membantu untuk pengguna yang sudah mahir. c. M enawarkan balasan yang informatif. Untuk setiap pengguna seharusnya ada balasan dari sistem. Untuk aksi yang sering dan jarang, balasan seharusnya sederhana, dimana untuk aksi yang jarang dan besar, respon harus lebih lengkap. 22 d. M endesain dialog yang menyatakan penutupan. Rangkaian aksi dapat diatur ke dalam kumpulan dari awal, tengah dan akhir. Informasi balasan pada penyelesaian dari kumpulan aksi memberikan operator kepuasan, perasaan lega, dan merupakan sinyal untuk menghilangkan kemungkinan dan pilihan dari pemikirannya serta sebuah indikasi bahwa sudah selesai dan dipersiapkan untuk kumpulan aksi berikutnya. e. M enawarkan pencegahan kesalahan dan penanganan kesalahan yang sederhana. Desain sistem yang membuat pengguna tidak dapat melakukan kesalahan yang fatal. Jika kesalahan terjadi, sistem harus dapat mendeteksi kesalahan dan menawarkan mekanisme yang sederhana dan luar untuk mengatasi kesalahan. f. M engizinkan pengembalian aksi yang mudah. Aksi seharusnya dapat dibatalkan. Keistimewaan ini menghilangkan kegelisahan, karena pengguna tahu kesalahan dapat dihindari, dengan begitu dapat meningkatkan keinginan untuk menelusuri pilihan-pilihan yang tidak dikenal atau asing. g. M endukung tempat untuk kendali operator yang mahir. Pengguna yang mahir menginginkan bahwa mereka sedang berada dalam sistem dan sistem merespon aksinya. Desain sistem yang membuat pengguna sebagai pengontrol aksi daripada merespon aksi. h. M engurangi beban ingatan jangka pendek. Keterbatasan manusia untuk memproses ingatan jangka pendek membutuhkan tampilan tetap sederhana, banyak halaman 23 tampilan digabungkan, gerakan widow yang banyak dikurangi, dan pelatihan yang cukup dibagi untuk kode-kode, menghafal dan rangkaian aksi. 2.14.2 Desain Antar Muka Pemakai IMK merupakan ilmu yang memfokuskan pada perancangan dan evaluasi antarmuka pemakai (User Interface). Antar muka pemakai adalah bagian dari sistem komputer yang memungkinkan manusia berinteraksi dengan komputer. Perancangan antarmuka pemakai terfokus pada tiga hal, yaitu : a. Perancangan antar modul b. Perancangan antar muka antara piranti lunak, sumber, maupun pengguna informasi non manusia c. Perancangan antar muka antara manusia dan komputer 2.1.34 Perancangan Antar Muka Pemakai M enurut Shneiderman (1998, pp100-103), ada tiga pilar perancangan yang dapat membantu perancang antarmuka pemakai untuk membuat desain dan merubah ide-ide yang kreatif menjadi sebuah sistem yang sukses, tiga pilar perancangannya, yaitu ; a. Pilar pertama, pedoman dokumen dan proses Pada awal proses desain, perancang antarmuka pemakai harus dapat menghasilkan sebuah pedoman kerja. Pedoman dokumen menyediakan beberapa prinsip yang jelas 24 untuk pengembang aplikasi yang telah banyak diikuti dan memastikan adanya keseimbangan dalam desain produk. Setiap proyek mempunyai kebutuhan yang berbeda, tetapi beberapa pedoman harus terdiri dari : 1. Words dan Icons • Terminologi (object dan action), singkatan dan huruf besar • Character set, font, font size dan styles (bold, italic, underline). • Icons, graphic dan line thickness • Penggunaan warna, latar belakang, pencahayaan dan blinking. 2. Isu tata letak layar • Pemilihan menu, pengisian formulir dan format dialog box. • Kata-kata prompt, umpan balik, dan error messages. • Justification, spasi, dan margins. • Data entry dan display format untuk item dan list. • Penggunaan dan isi header dan footer. 25 3. Peralatan input dan output • Keyboard, display, cursor control, dan pointing device. • Audible sound, voice feedback, touch input. • Response time 4. Sekuens aksi • Direct manipulation clicking, dragging, dropping, dan gesture. • Command syntax, semantic dan sequence. • Programmed function key. • Penanganan error dan prosedur pemulihan. 5. Pelatihan • Online help dan tutorial. • Pelatihan dan bahan referensi. b. Pilar kedua, Peralatan perangkat lunak antarmuka Salah satu kesulitan di dalam mendesain sistem yang interaktif yaitu perancang tidak memiliki ide-ide yang kreatif mengenai seperti apa sistem yang akan dibangun. Sejak interaktif sistem digunakan di banyak situasi, pengguna mungkin tidak 26 menyadari implikasi dari keputusan membuat desain. Sangat disayangkan, menggunakan interaktif sistem itu sulit, biayanya mahal, dan menghabiskan banyak waktu untuk membuat perubahan besar dalam sistem jika sistem itu telah berjalan. Pada tampilan layar, penggunaan keyboard dan mouse sangat memungkinkan. Prototipe dari sistem menu mungkin hanya ada satu atau dua yang aktif bahkan ada ribuan path yang ada di sistem tersebut. Prototipe telah dikembangkan dengan simple drawing atau peralatan word processing, tetapi graphical design environment seperti HyperCard dan MacroMind adalah salah satu perlatan yang banyak digunakan. c. Tinjauan pakar dan pengujian kegunaan Pada perancangan sistem interaktif perlu adanya uji coba beskala kecil dan besar tentang komponen sistem sebelum diserahkan kepada pemakai. 2.15 Rekayasa Piranti Lunak M enurut Pressman (1992, p23), Rekayasa Piranti Lunak adalah sebuah perkembangan dari hardware dan sistem keahlian teknik (system engineering). Dalam RPL mencakup tiga elemen kunci, antara lain metode, alat dan prosedur. Tiga elemen tersebut bertujuan untuk membantu manager dalam mengontrol perkembangan software yang produktif. 27 Ada beberapa metode yang menyediakan “bagaimana” secara teknis membangun software, yang menitikberatkan pada pekerjaan yang meliputi : a. Perencanaan proyek estimasi. b. Analisis system dan pengusulan software. c. Desain dari struktur data, arsitektur program dan prosedur algoritma d. Pengkodean e. Pengetesan f. Pemeliaharaan Pada metode software engineering sering juga mengetengahkan orientasi bahasa yang spesial atau notasi grafik dan seperangkat criteria untuk kualitas software. Alat bantu (tool) dapat menyediakan pendukung otomasi atau semi otomasi untuk metode. Ketika tool sudah terintegrasi, maka akan membentuk informasi, yaitu yang akan digunakan pada bagian lainnya. Suatu sistem untuk menunjang perkembangan software disebut CASE (Computer Aided Software Engineering). CASE mengkombinasikan software, hardware, dan software engineering database, yaitu suatu struktur data yang berisi tentang informasi penting pada analisis, desain, pengkodean dan testing, sehingga dapat membentuk lingkungan software engineering untuk hardware. CASE merupakan alat bantu untuk membuat diagram yang digunakan untuk menggambarkan informasi perencanaan, keterangan system, data model dan data flow, 28 rancangan detail dan struktur program sehingga dapat memperjelas rencana pengembangan rekayasa piranti lunak. Prosedur pada Rekayasa Piranti Lunak adalah sebagai penggabungan yang dapat mencakup metode dan alat bantu juga mengetengahkan rasionalitas dan pembangunan yang memadai di dalam komputer software. Prosedur didefinisikan sebagai urutan di dalam metode yang akan digunakan, juga merupakan keluaran seperti dokumen, laporan, formulir yang dibutuhkan sebagai control untuk membantu kualitas dan perubahan koordinasi. Prosedur juga sebagai kerangka acuan untuk memungkinkan manager memperkirakan kemajuan. Dengan adanya metode, tool dan prosedur, maka rekayasa piranti lunak dapat mengatasi segala krisis pada software sehingga dapat menyelesaikan segala aspek kesulitan pada software. 2.15.1 Tahap – Tahap Perancangan Piranti Lunak Dalam membangun suatu rekayasa piranti lunak, diperlukan tahap-tahap. Sistem yang secara luas digunakan adalah SDLC (System Development Life Cycle), yang meliputi beberapa tahap, yaitu: (Pressmann, 1992, p10). a. Rekayasa Sistem Karena software merupakan bagian dari suatu sistem, maka dimulai dengan penetapan semua sistem elemen dan mengalokasikan beberapa bagiannya ke dalam usulan pada software kemudian menggabungkan semua level sistem dengan melakukan pengkajian dari level atas dalam pendesainan dan analisis. 29 b. Analisis Kebutuhan Software M erupakan suatu proses pengertian tentang domain informasi, fungsi, kinerja, dan tatap muka pada software. c. Desain Pada desain, prinsipnya adalah mengubah kebutuhan menjadi software yang layak dari segi kualitas sebelum proses pengkodean. d. Pengkodean Proses pengkodean yaitu mengubah ke dalam bentuk yang dapat dibaca oleh mesin. e. Pengetesan Proses yang memastikan semua kalimat dalam program telah dilakukan pengetesan sehingga memberikan input sesuai dengan yang diinginkan. f. Pemeliharaan Software akan mengalami perubahan setelah dikirim ke pengguna, maka proses pemeliharaan dilakukan dengan menerapkan setiap langkah daur hidup sebelumnya dan disertai dengan perbaikan. 30 Rekayasa Sistem Analisis Desain Pengkodean Pengetesan Pemeliharaan Gambar 2.1 System Development Life Cycle 2.16 Unified Modeling Language (UML) Pada akhir tahun 80-an dan awal tahun 90-an, digunakan beberapa metode berorientasi objek. Yang dikenal adalah M etode Booch dari Grady Booch ObjectOriented Design (OOD), Object Modeling Technique (OMT) dari James Rumbaugh dan Object Oriented Software Engineering (OOSE) dari Ivar Jacobson. Banyaknya metode dan teknik pemodelan yang digunakan akan membatasi kemampuan untuk memakai model-model pada proyek lain sehingga menghambat komunikasi antar pengguna yang nantinya akan mengakibatkan banyak terjadi error. 31 Hal ini mendorong dilakukannya usaha untuk mendesain bahasa pemodelan standar. Pada tahun 1994, Grady Booch, James Rumbaugh dan Ivar Jacobson membuat proses standar tunggal untuk mengembangkan sistem berorientasi objek. Kemudian pada tahun 1997 dirilis Unified Modeling language (UM L) versi 1.0 dan pada bulan November 1997 Object Management Group (OM G) yang merupakan badan standar industri mengadopsi UM L. M etode UM L inilah yang akan kita gunakan dalam analisis sistem berorientasi objek. M enurut Witthen (2004, p430) UM L adalah sekumpulan pemindahan konvensi yang digunakan untuk menentukan atau menggambarkan sebuah sistem perangkat lunak dalam kaitannya dengan objek. 2.16.1 Class Diagram M enurut Rumbaugh (1999, p190) Class Diagram adalah sebuah grafik presentasi dari gambaran statis yang menunjukkan sekumpulan model elemen yang terdeklarasi (statis), seperti kelas, tipe dan isinya serta hubungannya. M enurut Scamuller (1999, p8) Kelas adalah sebuah kategori atau pengelompokkan dari hal-hal yang mempunyai atribut dan fungsi yang sama. Sebuah Class Diagram terdiri dari sejumlah kelas yang dihubungkan dengan garis yang menunjukkan hubungan antar kelas. Contoh class diagram dapat dilihat pada gambar 2.2 32 Gambar 2.2 Class Diagram 2.16.2 Use Case M enurut Scamuller (1999, p10) Use Case adalah sebuah gambaran dari fungsi sistem yang dipandang dari sudut pandang pemakai. Contoh use case diagram dapat dilihat pada gambar 2.3 Gambar 2.3 Use Case Diagram 33 2.16.3 Statechart Diagram M enurut Lethbridge (2002, p276) State Diagram merupakan cara lain untuk mengekspresikan informasi tentang sebuah sistem, diagram ini digunakan untuk menggambarkan fungsi eksternal yang terlihat dari sebuah sistem atau objek secara individu. Contoh statechart diagram dapat dilihat pada gambar 2.3 Gambar 2.4 Statechart Diagram 2.16.4 Activity Diagram Activity Diagram sama seperti State Diagram, namun memiliki beberapa tambahan berupa simbol yang digunakan dalam konteks yang berbeda. Pada State Diagram, transisi sebagian besar terjadi diluar kejadian, namun, pada Activity Diagram, transisi sebagian besar terjadi didalam, sampai selesainya suatu kegiatan. (an activity diagram is like a state diagram, except that it has few additonal symbols an is used in a different context. in a state diagram, most transitions are caused by external events; however, in an activity diagram, most transitions are caused by internal events, such as the completion of an activity) 34 M enurut Lethbridge (2002, p284) Activity Diagram digunakan untuk mengetahui aliran kerja yang dilakukan oleh sebuah objek atau komponen. Contoh activity diagram dapat dilihat pada gambar 2.5 Gambar 2.5 Activity Diagram 2.16.5 Sequence Diagram M enurut Lethbridge (2002, p270) Sequence Diagram menunjukkan urutan pertukaran pesan yang dilakukan oleh sekumpulan objek atau aktor yang mengerjakan pekerjaan tertentu. Contoh sequence diagram dapat dilihat pada gambar 2.6 35 Gambar 2.6 Sequence Diagram