BAB 2 LANDASAN TEORI 2.1 Internet Internet yang merupakan singkatan Interconnection Networking atau sering disebut juga sebagai cyberspace, adalah sebuah jaringan komputer yang terdiri dari berbagai macam jaringan komputer di seluruh dunia yang menghubungkan jaringan yang satu dengan jaringan yang lain dan komputer yang satu dengan komputer yang lain (Hornby, 2000, p680). Namun demikian, membayangkan internet sekedar jaringan komputer adalah tidak tepat, sebaiknya diperhatikan bahwa internet sebagai sumber daya informasi (Sidharta, 1996, pxv). Internet bekerja dalam jaringan yang sangat besar, karena itu untuk melakukan perpindahan data antar komputer dibutuhkan beberapa hal seperti alamat tujuan dan perantara (Internet Service Provider) serta sebuah protokol untuk menjamin sampainya data pada tujuan. Untuk menghubungkan host-host dalam internet digunakan protokol TCP/IP ( Transmision Control Protocol / Internet Protokol ). TCP berfungsi untuk membagi – bagi informasi yang akan dikirim menjadi paket data yang kecil dan merakitnya kembali menjadi bentuk aslinya, sedangkan IP berfungsi untuk menjamin paket yang dikirim mencapai tujuan dimana standar IP membagi alamat menjadi sepuluh digit dengan setiap kelompok digit memiliki referensi pengalamatan tersendiri.
10
11
TCP/IP dibangun dalam sistem operasi UNIX dan digunakan oleh internet, menjadikan TCP/IP sebagai standar de facto untuk transmisi data dalam jaringan. Bahkan TCP/IP didukung oleh sistem operasi jaringan yang memiliki protokol tersendiri (misal netware). Asal – usul internet berasal dari jaringan komputer yang dibentuk pada tahun 1970-an. Pada waktu itu departemen pertahanan Amerika Serikat membangun sebuah jaringan komputer melalui proyek yang disebut ARPANET (Advanced Research Projects Administration Network). Pada awalnya jaringan ini hanya terdiri dari empat komputer yang yang tersebar di negara bagian California dan Utah di Amerika Serikat, kemudian jaringan ini berkembang begitu cepat dan menghubungkan komputerkomputer yang berada di universitas, lembaga penelitian pemerintah dan instansi militer yang terletak di kota yang berbeda. Sejak awal, jaringan ini dirancang tetap berfungsi walaupun sebagian jalur rusak akibat perang. Oleh sebab itu masing – masing komputer dapat berhubungan dengan komputer lain melalui beragai macam jalur alternatif. Jaringan ini kemudian diberi nama internet. Pada tahun 1980an, National Science Foundation membentuk NSFnet, yang menghubungkan setengah lusin superkomputer pada kecepatan tertinggi waktu itu. NSFnet akhirnya mengambil alih dari ARPAnet. Internet telah tumbuh dengan pesat sejak tahun 1990. Menurut Internet Society (organisasi yang memonitor internet) jumlah jaringan komputer yang membentuk internet adalah lebih dari 100.000, dan jumlah komputer yang tersambung ke jaringan ini lebih dari 50 juta buah.
12
2.2 World Wide Web (WWW) Menurut (Anonymous, 2003, p53), World Wide Web (WWW) merupakan sebuah sistem dimana informasi (teks, gambar, suara dan lain–lain) dipresentasikan dalam bentuk hypertext dan dapat diakses oleh sebuah peraga WWW (yang sering disebut dengan browser atau Web browser). Informasi di WWW pada umumnya ditulis dalam bentuk HTML (Hypertext Markup Language). Selain itu, informasi lain dapat berupa gambar (dalam format GIF, JPG, PNG), suara dan objek multimedia lain (seperti MIDI, Shockwave, Quicktime Movie, 3D World). Dalam penggunaan web diperlukan dua hal penting, yaitu web server dan web browser. Dimana kedua hal ini bekerja dengan sistem client-server. Web browser yang bertindak sebagai client memungkinkan komputer anda untuk menginterpretasikan suatu bahasa hypertext pada web menjadi suatu informasi yang dapat anda lihat dan mengerti, sedangkan web server bertindak sebagai server yang menyediakan informasi yang dapat diakses oleh web browser . World Wide Web (WWW) terlahir sekitar bulan Maret pada tahun 1989 dimana Berners-Lee dan Robert Cailliau melakukan kerjasama untuk menghasilkan sebuah protokol baru untuk mendistribusikan informasi didalam internet. WWW kemudian digunakan pada CERN pada bulan Mei 1991 dan pada bulan Agustus 1991 Usenet memperluas penggunaannya sehingga akhirnya pada bulan Januari 1992, WWW dapat diakses oleh publik.
13
2.3 Web Browser Untuk mengakses web, kita memerlukan suatu program yang disebut web browser atau biasa disebut dengan browser saja. Browser merupakan suatu program yang dirancang untuk mengambil informasi-informasi dari suatu server komputer pada jaringan internet. Informasi-informasi ini pada umumnya dikemas dalam page – page, dimana setiap page dapat memiliki beberapa link yang menghubungkan web page tersebut ke sumber informasi lain. Jika browser menemukan alamat dari tujuan link tersebut, browser akan menampilkan informasi yang ada , dan jika tidak ditemukan, browser akan memberikan suatu pesan yang menyatakan bahwa alamat dari tujuan link tersebut tidak dapat ditemukan. Contoh-contoh browser antara lain : Microsoft Internet Explorer, Netscape Navigator, dan Opera.
2.4 Web Server Web Server adalah sistem yang menyediakan file bagi web browser yang melakukan request kepada server tersebut. Setiap komputer yang bertindak sebagai server untuk suatu website harus memiliki program Web Server. Program Web Server yang banyak digunakan saat ini adalah Apache, Tomcat, dan IIS. Dalam memilih suatu Web Server yang cocok harus disesuaikan dengan berbagai hal seperti sistem operasi, bahasa dari Server-Side Programming, dan keamanan.
14
2.5 Hypertext Transfer Protocol (HTTP) HTTP (HyperText Transfer Protocol) adalah protokol yang dipergunakan untuk mentransfer dokumen dalam World Wide Web (WWW). Protokol ini adalah protokol ringan, tidak berstatus dan generik yang dapat dipergunakan berbagai macam tipe dokumen (http://id.wikipedia.org/wiki/HTTP). Prosedur HTTP berkerja ketika client melakukan sebuah permintaan (request) akan suatu file tertentu dari server dalam suatu hubungan TCP/IP, kemudian server yang menerima pesan request tersebut akan mencari dan mengirimkan file yang diminta bila ada, sedangkan bila tidak ada maka akan server akan mengirimkan sebuah pesan kesalahan. Protokol HTTP pertama kali dipergunakan dalam WWW pada tahun 1990. Pada saat tersebut yang dipakai adalah protokol HTTP versi 0.9. Kemudian pada tahun 1996 protokol
HTTP
diperbaiki
menjadi
HTTP versi 1.0. Perubahan ini untuk
mengakomodasi tipe-tipe dokumen yang hendak dikirim beserta encoding yang dipergunakan dalam pengiriman data dokumen. Pada tahun 1999 sesuai dengan perkembangan infrastruktur internet
maka dikeluarkan HTTP versi 1.1 untuk
mengakomodasi proxy, cache dan koneksi yang persisten.
15
2.6 Arsitektur Client – Server ( 3-Tier )
Presentation Layer
Aplication Server Layer
Business Objects
Database Layer
Database
Clients
Gambar 2.1 Arsitektur Client – Server (3- Tier)
Gambar diatas menunjukkan arsitektur client server 3-tier. Arsitektur tersebut terdiri dari lapisan presentasi, lapisan proses, dan lapisan database. Lapisan presentasi bertanggung jawab atas representasi visual dari aplikasi, lapisan database berisi data untuk aplikasi dan lapisan aplikasi server bertanggung jawab atas pemrosesan yang terjadi didalam aplikasi (Roger S. Pressman, 2005, p.774).
16
2.7 Hypertext Markup Language (HTML) HyperText Markup Language (HTML) adalah sebuah bahasa yang digunakan untuk membuat sebuah halaman web dan menampilkan berbagai informasi di dalam sebuah internet browser (http://id.wikipedia.org/wiki/HTML). HTML adalah sebuah standar yang digunakan secara luas untuk menampilkan halaman web dan HTML kini merupakan standar internet yang saat ini dikendalikan oleh World Wide Web Consortium (W3C). Bermula dari sebuah bahasa yang sebelumnya banyak digunakan di dunia penerbitan dan percetakan yang disebut dengan SGML, sekarang ini HTML yang banyak dipergunakan adalah HTML 4, meskipun saat ini sedang berkembang Extensible Hypertext Markup Language (XHTML). HTML berupa kode-kode tag yang menginstruksikan browser untuk menghasilkan tampilan sesuai dengan yang diinginkan. Sebuah file yang merupakan file HTML dapat dibuka dengan menggunakan web browser seperti Mozilla Firefox atau Microsoft Internet Explorer. HTML juga dapat dikenali oleh aplikasi pembuka email ataupun dari PDA dan program lain yang memiliki kemampuan browsing.
2.8 Java Server Pages (JSP) Untuk membuat suatu halaman web dapat bersifat dinamis sesuai dengan permintaan pemakai, pengembang aplikasi web bisa menggunakan perangkat lunak seperti JSP, PHP, ASP, dan Perl. JSP (Java Server Pages) merupakan teknologi yang berdasarkan pada bahasa pemrograman Java yang dikembangkan oleh Sun Microsistem.
17
Perbedaan dari JSP dengan applet yang merupakan suatu fitur dalam bahasa pemrograman Java adalah bahwa JSP melakukan pemrosesan pada sisi server atau sering dikenal sebagai Server-Side Programming. Hal ini membuat aplikasi web tidak tergantung terhadap keberadaan teknologi Java pada sisi client, sedangkan pada applet, client diharuskan untuk memiliki suatu sistem teknologi Java pada komputernya agar aplikasi dapat berjalan. Client hanya menerima suatu halaman web yang sudah diproses web server menjadi HTML. Beberapa kelebihan dari JSP adalah antara lain :
JSP mendukung multiplatform. Dengan memiliki kemampuan multiplatform aplikasi yang menggunakan JSP dapat dipindahkan kedalam berbagai sistem operasi tanpa perlu perubahan apapun. Walau dalam hal ini JSP bukan satusatunya yang memiliki kemampuan multiplatform.
JSP menggunakan bahasa pemrograman Java. Dengan menggunakan bahasa pemrograman Java sebagai dasar maka para pemrogram yang telah mengenal Java tidak akan mengalami kesulitan untuk mempelajari JSP. Selain itu, karena JSP menggunakan teknologi dari Java maka JSP juga memiliki semua keunggulan dari bahasa pemrograman Java.
18
2.9 Javascript Javascript merupakan modifikasi dari bahasa C++ dengan pola penulisan yang lebih sederhana . Interpreter bahasa ini sudah disiapkan ASP ataupun Internet Explorer. Javascript terintegrasi dalam halaman html . Javascript
sendiri bukan merupakan
bahasa pemrograman, melainkan suatu bahasa script (Bollinger, Gary, Natharajan, Bharathi, 2001, p32). Perbedaan bahasa pemrograman dengan bahasa script adalah : Bahasa pemrograman : •
Lebih Kompleks
•
Cocok untuk menyusun aplikasi yang berukuran besar
•
Memerlukan compiler untuk dapat dijalankan
Bahasa script : •
Tidak kompleks dan lebih sederhana
•
Cocok untuk menyusun aplikasi yang berukuran kecil
•
Tidak memerlukan compiler untuk dapat berjalan
Javascript adalah bahasa interpreter, yang tidak membutuhkan tools pendukung seperti compiler dan debugger. Untuk membuat script dan men-debug script tersebut yang diperlukan hanyalah sebuah text editor dan sebuah browser yang mendukung Javascript. Sebuah file html dipanggil ke dalam browser, javascript tersebut
19
diinterpretasikan dan dieksekusi. Bahasa Javascript awalnya dikembangkan oleh netscape dan disebut pertama kali sebagai “LiveScript”. Livescript
didesain untuk
mengembangkan dokumen html dan menyediakan beberapa level interaksi html bagi user. Script tersebut juga untuk berkomunikasi dengan java applets . Pada bulan Desember 1995, Netscape dan Sun Microsistems bergabung dan mengumumkan perubahan nama Livescript menjadi javascript dan Sun menjadi tim pengembang bahasa tersebut menuju masa depan. Pendapat lain mengatakan : JavaScript adalah sebuah bahasa pemrograman, yang dapat digunakan untuk membuat sebuah web pages menjadi interaktif. JavaScript adalah sebuah program yang diikutsertakan di dalam sebuah page html. Karena javaScript diletakan dalam tag <SCRIPT> maka teks dari JavaScript tidak tampak dilayar dan Web Browser mengetahui untuk mengeksekusi program javascript (Negrino dan Smith, 2004, p2).
2.10 Database Menurut (Connoly, 2002, p14), database adalah sekumpulan data-data yang dapat digunakan bersama-sama dan saling berhubungan secara logika, deskripsi dari data-data tersebut, dirancang untuk memenuhi kebutuhan informasi yang diperlukan sebuah organisasi.
20
Dalam database dikenal istilah relational database yang menurut (Connoly, 2002, p74), Relational Database adalah kumpulan tabel-tabel yang memiliki nama yang berbeda-beda dan telah ternormalisasi. Sedangkan dalam pengorganisasian database kita mengenal istilah Database Management Sistem (DBMS) yang merupakan sistem piranti lunak yang memungkinkan user untuk menentukan, menciptakan, memelihara, dan mengendalikan akses kedalam database.
2.11 MySQL MySQL adalah sebuah Relational Database Management Sistem yang tergabung kedalam open source community, dan dapat digunakan tanpa membutuhkan suatu ijin. Paket MySQL ini terdiri dari sumber kode yang lengkap, sehingga dapat dipelajari dan dimodifikasi sesuai kebutuhan. MySQL adalah DBMS yang relatif sederhana dan mudah diaplikasikan. (Choi dan Kent, 2000, p384) MySQL dikembangkan oleh sebuah perusahaan konsultasi Swedia bernama TcX. Ketika itu mereka sedang membutuhkan sebuah sistem database yang cepat dan fleksibel. Sayangnya pada saat itu tidak ada satupun sistem database dipasaran yang memenuhi persyaratan. Karena itu mereka mengembangkan sistem database MySQL yang didasarkan pada sistem database mSQL. MySQL sangat diminati oleh banyak kalangan dikarenakan fasilitas-fasilitas yang dimiliki MySQL yaitu antara lain :
21
1. Multithreaded server Multithreaded server berarti setiap kali seseorang melakukan koneksi dengan server, server membuat sebuah jalur atau proses untuk menangani permintaan client. Ini membuat server dapat bekerja dengan sangat cepat, dikarenakan setiap client yang melakukan koneksi dengan server memiliki jalur sendiri. 2. Memenuhi standar ANSI SQL92 ANSI SQL92 adalah sebuah standar dari Structured Query Language yang ditetapkan pada tahun 1992 oleh American National Standards Institute (ANSI). 3. Portability MySQL dapat bekerja pada berbagai macam platform (Sistem Operasi). Hal ini membuat user tidak perlu mengganti sistem operasi untuk bisa menggunakan MySQL. Dan juga bila user ingin merubah sistem operasinya maka tidak akan ada permasalahan. 4. Mendukung banyak Application Programming Interface (APIs) yang berbeda APIs yang termasuk adalah APIs untuk Perl, Python, C/C++, Java (JDBC), dan ODBC. Jadi hampir semua program yang dibuat akan dapat menggunakan MySQL sebagai sistem database.
22
5. Biaya yang rendah MySQL adalah sebuah aplikasi open source yang berarti bahwa untuk versi MySQL yang tidak memiliki lisensi harganya adalah gratis. Sedangkan untuk versi yang berlisensi harganya adalah sekitar $200.
2.12 Interaksi Manusia dan Komputer (IMK) 2.12.1 Definisi IMK Interaksi Manusia dan Komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer interaktif untuk digunakan oleh manusia, serta studi fenomena-fenomena yang berhubungan dengannya. 2.12.2 Delapan Aturan Emas Peraturan ini didapat dari tulisan Ben Shneiderman
yang berjudul
Designing the User Interface (Shneiderman, 2005, p95). Schneiderman mengusulkan koleksi ini berdasarkan prinsip yang sudah diturunkan dari pengalaman pada sebagian besar sistem interaktif setelah diperbaiki, ditambahkan dan diterjemahkan dengan benar. Untuk meningkatkan kegunaan dari aplikasi, maka desain antarmuka yang baik adalah sangat penting. Delapan aturan emas desain antarmuka dari Schneideman adalah sebuah petunjuk yang baik untuk desain antarmuka.
23
1. Berusaha untuk konsisten (Strive for consistency). Rangkaian aksi yang konsisten sebaiknya digunakan dalam situasi yang mirip. Terminologi yang serupa harus digunakan dalam prompts, menu, dan layar bantu. Dan perintah yang konsisten harus digunakan pada keseluruhan aplikasi. 2. Mungkinkan shortcuts untuk user yang sering (Enable frequent users to use shortcuts). Seiring dengan peningkatan penggunaan, begitu juga keinginan user untuk mengurangi jumlah interaksi dan meningkatkan kecepatan interaksi. Singkatan, perintah tersembunyi, dan fasilitas makro akan sangat membantu bagi user yang sudah mahir. 3. Berikan reaksi yang informatif (Offer informative feedback). Untuk setiap aksi dari pengguna, seharusnya sistem memberikan reaksi yang informatif. Untuk aksi yang sering terjadi, reaksi yang diberikan bisa sederhana, sedangkan untuk aksi yang
jarang terjadi, reaksi yang
diberikan harus lebih lengkap. 4. Mendesain dialog untuk menyatakan penutupan (Design dialog to yield closure). Rangkaian aksi harus dikumpulkan kedalam suatu kelompok dimana terdapat awal, tengah, dan akhir. Reaksi yang informatif ketika menyelesaikan suatu rangkaian aksi akan memberikan user suatu kepuasan akan pencapaian, perasaan lega, dan sebuah indikasi bahwa aplikasi sudah siap untuk rangkaian aksi yang berikutnya. 5. Tawarkan penanganan error yang sederhana (Offer simple error handling). Sebanyak mungkin, rancanglah sistem agar user tidak
24
membuat kesalahan fatal. Bila terjadi sebuah kesalahan, sistem harus bisa mendeteksi kesalahan tersebut dan memberikan mekanisme yang sederhana dan mudah dimengerti untuk menangani kesalahan tersebut. 6. Izinkan pembalikan aksi yang mudah (Permit easy reversal of actions). Fasilitas ini menghilangkan kegelisahan, karena user mengetahui bahwa kesalahan dapat dibatalkan, dengan begitu maka akan meningkatkan keinginan untuk mencoba pilihan-pilihan yang tidak dikenal. 7. Pusat Kendali pada user (Provide a sense of user control). User berpengalaman
sangat
menginginkan
perasaan
bahwa
mereka
mengendalikan sistem dan sistem memberi respon terhadap aksi mereka. Rancanglah sistem agar user yang memulai suatu aksi daripada hanya merespon. 8. Kurangi beban ingatan jangka pendek (Reduce short-term memory load). Keterbatasan dari kemampuan manusia untuk memproses informasi dalam ingatan jangka pendek menghasilkan suatu kebutuhan akan tampilan untuk dibuat tetap sederhana, banyak halaman tampilan digabungkan, dan waktu pelatihan yang cukup dialokasikan untuk kodekode, menghafal, dan rangkaian aksi.
25
2.12.3 Perancangan Antarmuka Pemakai Pedoman yang perlu diperhatikan dalam perancangan tampilan layar di internet :
Tata Letak Pada Web •
Jangan menyelipkan link penting dengan kalimat biasa, kalau bisa tempatkan dalam list bullet.
•
Hypertext harus efisien.
•
Hindari kalimat pasif, kalimat aktif akan membuat Hypertext lebih baik.
•
Link Hypertext aktif harus menjelaskan tujuan yang selengkap mungkin.
•
Pikirkan tentang penekanan yang bisa disiarkan, tidak perlu benar-benar detail, anggaplah pengunjung banyak sekedar berselancar, bukan membaca sehingga harus bisa memberikan pesan pemasaran sebanyak mungkin.
Warna •
Warna dapat menarik pemakai dan dapat meningkatkan kinerja, tetapi dapat disalahgunakan.
•
Warna dapat :
Menyejukkan atau menyakitkan mata.
Menambahkan aksen pada tampilan yang kurang menarik.
Memungkinkan pembedaan yang halus pada tampilan yang kompleks.
26
Menekankan organisasi logis informasi.
Menarik perhatian kepada peringatan.
Menimbulkan reaksi emosional yang kuat berupa sukacita, kegembiraan, ketakutan, atau kemarahan.
•
Untuk tampilan komputer digunakan adaptasi prinsip-prinsip pemberian warna dalam buku, majalah, rambu-rambu, dan televisi. Pedoman penggunaan warna
Gunakan warna secara konservatif.
Batasi jumlah warna.
Kenali kekuatan warna sebagai teknik pengkodean (coding).
Pastikan bahwa color coding mendukung tugas.
Tampilkan color coding dengan usaha pemakai yang minimal.
Tempatkan color coding dibawah kendali pemakai.
Rancang untuk monokrom dulu.
Gunakan warna untuk membantu pemformatan.
Gunakan color coding yang konsisten.
Perhatikan ekspektasi umum tentang kode warna.
Perhatikan masalah pemasangan warna.
Gunakan perubahan warna untuk menunjukkan perubahan status.
Waspada atas kehilangan resolusi pada tampilan warna.
27
Kombinasi warna Tabel 2.1 Tabel Kombinasi Warna Latar Belakang
Garis dan Teks Tipis
Garis dan Teks Tebal
Putih
Biru, Hitam, Merah
Hitam, Biru, Merah
Hitam
Putih, Kuning
Kuning, Putih, Hijau
Merah
Kuning, Putih, Hitam
Hitam, Kuning, Putih, Cyan
Hijau
Hitam, Biru, Merah
Hitam, Merah, Biru
Biru
Putih, Kuning, Cyan
Kuning, Magenta, Hitam, Cyan, Putih
Cyan
Biru, Hitam, Merah
Merah, Biru, Hitam, Magenta
Magenta
Hitam, Putih, Biru
Biru, Hitam, Kuning
Kuning
Merah, Biru, Hitam
Merah,Biru, Hitam
2.12.4 Sepuluh Kesalahan Utama Dalam Perancangan Web 1. Penggunaan frames Dengan menggunakan frame akan menimbulkan beberapa kesulitan seperti tidak dapat dilakukan bookmark, URL menjadi tidak bekerja, dan pencetakan menjadi sulit. 2. Penggunaan teknologi baru yang serampangan Penggunaan teknologi terbaru memang memberi daya tarik bagi kalangan tertentu, tetapi bagi kalangan umum akan lebih mementingkan isi dari dan kegunaan dari sebuah situs. Bila teknologi baru yang digunakan tidak berjalan dengan baik maka user akan enggan untuk mengunjungi situs ini.
28
3. Gerakan teks dan animasi yang berjalan terus Gerakan dari teks dan animasi yang berlangsung terus-menerus akan mempengaruhi penglihatan user. Konsentrasi user akan terpecah dari isi situs dengan adanya animasi tersebut. 4. URL yang rumit Walaupun URL bukan bagian dari user interface, tetapi kadang user diperlukan untuk mengetik URL, jadi penggunaan URL yang singkat dan sederhana akan membantu. 5. Halaman yatim Setiap halaman harus terdapat link kehalaman utama atau kehalaman lain sehingga user tidak mengalami kebuntuan. 6. Halaman yang terlalu panjang Halaman yang memiliki isi terlalu panjang akan membuat user enggan untuk membacanya, karena pada umumnya user hanya mencari suatu topik yang spesifik. Apabila isi dari suatu halaman memang tidak bisa singkat maka isi terpenting dan link navigasi harus ditempatkan pada bagian atas. 7. Kurangnya dukungan navigasi User harus bisa mengetahui dengan mudah dihalaman apa mereka berada, dan kehalaman mana saja mereka dapat mengakses. Selain itu sebuah fasilitas pencarian akan melengkapi sebuah dukungan navigasi yang baik.
29
8. Warna link yang tidak konsisten Link yang belum pernah dikunjungi, link yang ditunjuk kursor, dan link yang sudah pernah dikunjungi sebaiknya memiliki warna yang berbeda-beda dan konsisten. 9. Informasi yang terlambat User akan enggan mengunjungi situs dengan informasi yang terlambat, untuk itu diperlukan pembaharuan informasi dan isi situs secara berkala. 10. Waktu download yang terlalu lama Waktu download sebuah halaman web akan sangat mempengaruhi penilaian user terhadap suatu situs, semakin lama waktu yang diperlukan maka akan semakin hilang minat user untuk mengunjungi situs tersebut. Minimalisasi gambar
dan
animasi,
serta
memperbesar
bandwidth
akan
dapat
meminimalisasi waktu download.
2.13 Rekayasa Piranti Lunak 2.13.1 Pengertian Rekayasa Piranti Lunak Rekayasa Piranti Lunak adalah sebuah perkembangan dari hardware dan sistem enginerring (Roger S. Pressman, 2005, p.774) Dalam RPL mencakup tiga elemen kunci, antara lain metode, alat dan prosedur. Tiga elemen tersebut
30
bertujuan untuk membantu manager dalam mengontrol perkembangan software yang produktif. Metode menyediakan cara bagaimana secara teknis membangun software, yang menitikberatkan pada pekerjaan yang meliputi : 1. Estimasi proyek. 2. Analisa sistem dan pengusulan software. 3. Desain dari struktur data, arsitektur program dan prosedur algoritma. 4. Pengkodean. 5. Pengetesan. 6. Pemeliharaan. Alat bantu (tool) dapat menyediakan pendukung otomatisasi atau semi otomatisasi untuk metode. Ketika alat bantu sudah tergabung, maka akan membentuk informasi yang akan dapat digunakan pada bagian lain. Suatu sistem yang digunakan untuk mendukung perkembangan software disebut CASE (Komputer Aided Software Engineering). CASE merupakan alat bantu untuk membuat diagram yang digunakan untuk menggambarkan informasi perencanaan, keterangan sistem, data model dan data flow, rancangan detail dan struktur program sehingga dapat memperjelas rencana pengembangan rekayasa piranti lunak. Prosedur
pada
Rekayasa
Piranti
Piranti
Lunak
adalah
sebagai
penggabungan yang dapat mencakup metode dan alat bantu juga mengetengahkan rasionalitas dan pengembangan yang memadai didalam komputer software. Prosedur didefinisikan sebagai urutan dalam metode yang akan digunakan, juga merupakan keluaran seperti dokumen, laporan, formulir yang dibutuhkan sebagai
31
control untuk membantu kualitas dan perubahan koordinasi. Prosedur juga merupakan sebuah kerangka acuan untuk manager melakukan perkiraan.
2.13.2 Tahap Perancangan Software Membangun suatu piranti lunak adalah pekerjaan yang besar dan sangat kompleks, karena itu diperlukan tahap-tahap yang dapat mengorganisasikan pekerjaan
agar
menjadi
lebih
mudah
untuk
dikontrol
dan
diketahui
perkembangannya. Pada umumnya tahap-tahap itu adalah : 1. Sistems Investigation Pada tahap ini pihak pengembang software melakukan perhitungan awal proyek berdasarkan user requirements awal yang dimiliki, setelah itu maka pengembang akan memutuskan apakah software layak untuk dikerjakan atau tidak. 2. Sistems Analysis Pada tahap ini pihak pengembang akan melakukan analisa atas apa saja yang dibutuhkan software ini baik dari segi software, hardware, maupun personil. 3. Sistems Design Sistems Design adalah tahap dimana mekanisme dari aplikasi perangkat lunak mulai dibentuk.
32
4. Programming Programming adalah tahap dimana konsep dan desain yang telah dibuat pada tahap-tahap sebelumnya diterjemahkan kedalam suatu bahasa pemrograman. 5. Testing Pada tahap ini dilakukan pengecekan terhadap kesalahan yang mungkin terjadi pada aplikasi. 6. Implementation Implementation adalah tahap dimana aplikasi telah selesai dan telah menjadi suatu sistem berjalan. Kegiatan yang dilakukan pada tahap ini adalah mengintegrasikan sistem dengan lingkungan dimana sistem akan berjalan. 7. Operation Operation adalah tahap dimana aplikasi telah selesai diimplementasi dan diintegrasikan dengan lingkungan dimana sistem siap dioperasikan. 8. Maintenance Kegiatan pada tahap akhir ini adalah menjaga agar aplikasi tetap dapat berjalan dengan baik.
33
Tahap-tahap tersebut sering juga disebut sebagai daur hidup software (software life-cycle). Tahap-tahap diatas merupakan bagian dari model pengembangan software seperti waterfall, incremental, dan prototyping. Dibawah ini adalah gambar dari model software life-cycle :
Gambar 2.2 Gambar model software life-cycle (Turban, Rainer, Potter, 2001, p477)
2.14 Unified Modelling Language (UML) 2.14.1 Pengertian UML Menurut Roff, Jason T Unified Modelling Language adalah sebuah notasi dan bahasa semantik yang bisa diaplikasikan pada setiap proses pengembangan perangkat lunak (Roff, Jason T, 2003, p35).
34
Sedangkan menurut James Rumbaugh, Ivar Jacobson, Grady Booch UML adalah sebuah bahasa untuk memvisualisasikan, menspesifikasikan, membangun, dan membangun artifak dari software-intensive sistem (James Rumbaugh, Ivar Jacobson, Grady Booch ,2001, p468).
2.14.2 Sejarah UML UML dikembangkan oleh Grady Booch, Jim Rumbaugh, dan Ivar Jacobson. Notasi dari UML didasarkan pada metode desain dari ketiga orang tersebut dimana Grady Booch membuat The Booch Method, Jim Rumbaugh membuat the Object Modelling Technique (OMT), dan Dr. Ivar Jacobson mengembangkan
Object-Oriented
Software
Engineering.
Metode
yang
dikembangkan oleh ketiga orang tersebut semua memiliki notasi yang beragam sehingga menimbulkan kesulitan bagi para pengguna karena tidak adanya standarisasi. UML merupakan penggabungan dari desain dan notasi yang terbaik dari The Booch Method, OMT, dan metode lainnya. Dengan menggabungkan notasi yang digunakan pada metode berorientasi objek, UML menyediakan standarisasi bagi analisa dan perancangan berorientasi objek. Hasilnya adalah UML versi 0.8 yang merupakan versi paling awal dari UML. Pada tahun 1995 dibuat persetujuan dengan Object Management Group (OMG) untuk menstandarisasikan UML. Masukan dari perusahaan luar membantu perkembangan UML sehingga versi 1.0 dan versi 1.1 tercipta pada tahun 1996 dan 1997.
35
2.14.3 Diagram UML 1. Class Diagram Class Diagram adalah diagram yang menunjukkan serangkaian kelas, antar muka, kolaborasi dan hubungan diantaranya (James Rumbaugh, Ivar Jacobson, Grady Booch, 2003, p107). Notasi-notasi yang terdapat pada class diagram : •
Class Menggambarkan sekumpulan object yang memiliki atribut dan operasi yang dikerjakan oleh object tersebut.
•
Aggregation Aggregation menggambarkan hubungan antara dua atau lebih object, dimana salah satu object merupakan bagian dari object lain.
•
Attribute Attribute merupakan properti dari class yang berisi tipe data yang dimiliki oleh instance dari suatu class.
•
Operation Operation merupakan kegiatan-kegiatan yang dilakukan oleh suatu class.
•
Association Association menggambarkan relasi antar object / instance dari class. Pada umumnya association digambarkan sebagai garis antar dua class dimana pada salah satu ujung diletakan tanda panah yang merupakan navigability.
36
Contoh :
Gambar 2.3 Contoh Class Diagram (James Rumbaugh, Ivar Jacobson, Grady Booch, 2003, p106) 2. Use Case Diagram Use Case Diagram adalah diagram yang menunjukkan sekelompok use case dan actors dan hubungan diantaranya (James Rumbaugh, Ivar Jacobson, Grady Booch, 2003, p234). Dimana Use Case adalah sebuah deskripsi dari serangkaian urutan aksi, termasuk varian yang dilakukan sistem untuk dapat menghasilkan nilai yang dapat diobservasi oleh para actors (James Rumbaugh, Ivar Jacobson, Grady Booch, 2003, p222).
37
Untuk membuat use case diagram ada beberapa notasi yang digunakan, diantaranya adalah : •
Sistem Boundary, merupakan suatu persegi yang membatasi suatu bagian dari sistem dengan apa yang bukan merupakan bagian dari sistem.
•
Sistem Name, merupakan nama dari sistem
•
Use Case, suatu use case digambarkan dengan elips, dengan nama use case didalam elips tersebut
•
Actor, menggambarkan user atau sistem lain yang berinteraksi dengan sistem yang sedang dikembangkan
•
Actor-Use case Interactions, digambarkan dengan sebuah garis panah dari actor ke use-case.
•
Use case-Use case Relationships, dalam suatu use case diagram ada 3 jenis hubungan antar use case, yaitu : 1. Include Relationship, digunakan untuk menunjukan bahwa suatu usecase berada di dalam use case yang lain. 2. Extend Relationship, digunakan untuk menunjukan bahwa suatu usecase hanya dieksekusi pada suatu keadaan tertentu. 3. Generalize Relationship, hubungan ini memungkinkan suatu child usecase mewarisi behaviour yang dimiliki oleh Parent use case.
38
Contoh: C e llu la r T e le p h o n e
« e x te n d s » P la c e p h o n e c a ll
« e x te n d s » C e llu la r n e tw o r k
R e c e iv e p h o n e c a ll
P la c e c o n fe r e n c e c a ll
R e c e iv e a d d itio n a l c a ll
U s e s c h e d u le r
user
Gambar 2.4 Contoh Use Case Diagram (James Rumbaugh, Ivar Jacobson, Grady Booch, 2003, p234)
3. Sequence Diagram Sequence diagram adalah sebuah interaction diagram yang menekankan pada urutan waktu pesan. Sequence diagram menunjukkan serangkaian obyek dan pesan yang dikirim dan diterima antara obyek tersebut (James Rumbaugh, Ivar Jacobson, Grady Booch, 2003, 97).
39
Untuk membuat Sequence Diagram ada beberapa notasi yang digunakan, yaitu : •
Participants, dapat berupa actor/instance dari suatu class.
•
Lifelines, menggambarkan dua daur hidup dari suatu actor/instance dari suatu class. Pada lifelines dapat dibuat destructor (menggunakan symbol X), yang menyatakan daur hidup suatu actor/instance dari suatu class telah habis.
•
Method Call, merupakan interaksi antara dua participants. Dalam pemanggilan metode (method call) suatu participant dapat mengirim message kepada participant lain dan dapat menerima return message.
Contoh :
Gambar 2.5 Contoh Sequence Diagram (James Rumbaugh, Ivar Jacobson, Grady Booch, 2003, p247)
40
4. Collaboration Diagram Collaboration diagram adalah sebuah interaction diagram yang menekankan pada organisasi struktural dari obyek yang mengirim dan menerima pesan (James Rumbaugh, Ivar Jacobson, Grady Booch, 2003, p459). Untuk membuat Collaboration Diagram ada beberapa notasi yang digunakan, yaitu : •
Object, sebuah instance dari class
•
Link, hubungan antar object
•
Message, spesifikasi antar object untuk memulai suatu aktifitas
Contoh:
c : Client 1 : <> 2 : setActions(a, d, o) 3 : <<destroy>> <>
«global»
: Transaction
p : ODBCProxy
{transient} 2.1 : setValues(d, 3.4) 2.1 : setValues(a, “CO”)
Gambar 2.6 Contoh Collaboration Diagram (James Rumbaugh, Ivar Jacobson, Grady Booch, 2003, p248)
41
5. Statechart Diagram Statechart diagram adalah diagram yang menunjukkan state machine, statechart diagram menekankan kepada aliran control dari satu state ke state lainnya. Sedangkan state machine adalah kelakuan yang menspesifikasikan rangkaian states yang dialami suatu obyek selama masa hidupnya sebagai reaksi atas suatu events (Rumbaugh, Jacobson, Booch, 2003, p333). Untuk membuat Statechart Diagram ada beberapa notasi yang digunakan, yaitu: •
State, kondisi atau situasi dalam masa hidup suatu obyek yang terjadi ketika memenuhi suatu kondisi tertentu, melakukan suatu aktivitas, atau menunggu suatu event.
•
Event, spesifikasi dari suatu kejadian yang signifikan dalam suatu kurun waktu yang dapat menyebabkan terjadinya perubahan state.
•
Transition, hubungan antara dua states yang mengindikasikan obyek pada state yang awal akan melakukan suatu aksi dan akan memasuki state berikutnya ketika terjadi suatu event yang spesifik, dan suadah memenuhi kondisi tertentu.
•
Action, adalah suatu komputasi atomik yang bisa dieksekusi agar menghasilkan suatu perubahan state dari model atau melakukan suatu pengembalian nilai.
42
Contoh :
Gambar 2.7 Contoh Statechart Diagram (James Rumbaugh, Ivar Jacobson, Grady Booch, 2003, p333) 6. Object Diagram Object diagram adalah diagram yang menampilkan sekelompok obyek dan hubungan antar obyek tersebut dalam suatu waktu tertentu (James Rumbaugh, Ivar Jacobson, Grady Booch, 2003, p197). Object diagram digunakan untuk memvisualisasikan, menspesifikasikan, membangun, dan mendokumentasikan keberadaan instances yang berada dalam sistem, bersama dengan hubungan mereka antara satu dengan yang lain. Dalam Object Diagram notasi yang digunakan, yaitu : •
Object, sebuah instance dari class
•
Links, hubungan yang terdapat antara object
43
7. Activity Diagram Activity diagram menampilkan aliran aktivitas didalam sistem baik secara sequential ataupun bercabang, dan juga obyek yang melakukan aktivitas atapun yang menerima aktivitas (James Rumbaugh, Ivar Jacobson, Grady Booch, 2003, p98). Untuk membuat Activity Diagram ada beberapa notasi yang digunakan, yaitu : •
Activity State, suatu aktivitas non atomik dalam state machine, karena sifat non-atomiknya aktivitas dalam activity state bisa dibagi lagi dan membentuk sebuah activity diagram baru.
•
Action state, suatu aktivitas atomik dalam state machine, action state sama seperti activity state hanya yang membedakan adalah action state merupakan aktivitas atomik yang tidak dapat dibagi lagi.
•
Transitions, spesifikasi aliran yang terjadi dari satu activity state atau action state menuju activity state atau action state berikutnya, biasa digambarkan dengan suatu garis lurus sederhana.
•
Objects, obyek yang masuk kedalam suatu activity diagram merupakan obyek yang melakukan suatu aktivitas ataupun menerima hasil dari suatu aktivitas.
44
Contoh :
Gambar 2.8 Contoh Activity Diagram (James Rumbaugh, Ivar Jacobson, Grady Booch, 2003, p259)
45
8. Component Diagram Component diagram adalah diagram yang menampilkan seperangkat komponen dan hubungannya. (James Rumbaugh, Ivar Jacobson, Grady Booch, 2003, p394). Untuk membuat Component Diagram ada beberapa notasi yang digunakan, yaitu : •
Components, termasuk halaman antar muka (HTML), file executeable, dan file library yang mendukung kerja sistem.
•
Relationship, hubungan antar components dalam sistem termasuk hubungan dependency, generalization, association dan realization.
9. Deployment Diagram Deployment diagram adalah diagram yang menggambarkan konfigurasi dari waktu proses node yang sedang berjalan dan seluruh components yang ada di dalamnya. (James Rumbaugh, Ivar Jacobson, Grady Booch, 2003, p409). Notasi yang digunakan untuk membuat deployment diagram, yaitu : •
Nodes, Element fisik yang ada pada saat proses berjalan dan representasikan suatu sumber daya komputasi, pada umumnya setidaknya memiliki memory dan setidaknya memiliki kemampuan untuk memproses.
•
Relationship, hubungan antar components dalam sistem termasuk hubungan dependency.
46
Contoh :
Gambar 2.9 Contoh Deployment Diagram (James Rumbaugh, Ivar Jacobson, Grady Booch, 2003, p408)
2.15 E-commerce E-commerce adalah penyebaran, pembelian, penjualan, pemasaran barang dan jasa melalui sistem elektronik seperti internet atau televisi atau jaringan komputer lain. Industri teknologi informasi melihat e-commerce sebagai aplikasi dari bisnis elektronik (e-business). Dia dapat melibatkan transfer dana elektronik, pertukaran data elektronik, sistem manajemen inventori otomatis, dan sistem-pengumpulan data otomatis. (http://id.wikipedia.org/wiki/HTML) E-commerce merupakan bagian dari e-bussines, dimana cakupan e-bussines lebih luas, tidak hanya sekedar perniagaan tetapi mencakup juga pengkolaborasian mitra bisnis, pelayanan nasabah, dan lowongan pekerjaan.
47
Dalam e-commerce terdapat 4 jenis interaksi yaitu : 1. Business to Business (B2B) B2B merupakan hubungan antara perusahaan yang satu dengan perusahaan yang lain. Hubungan ini dapat terjadi antara perusahaan dengan supplier, perusahaan dengan saluran distribusi, maupun antara perusahaan dengan mitra bisnis lainnya. 2. Business to Customer (B2C) B2C merupakan hubungan antara perusahaan dengan konsumen pengguna produk yang ditawarkan. Sistem ini sebenarnya relatif murah, dengan transaksi yang cukup besar. Alat yang dipergunakan pada umumnya e-mail. 3. Customer to Business ( C2B) C2B merupakan hubungan antara perorangan dengan perusahaan. Pada umumnya dilakukan oleh pribadi yang melakukan bisnis pada perusahaan. 4. Customer to Customer (C2C) C2C merupakan hubungan antara perorangan dengan perorangan. Pada umumnya dilakukan oleh pribadi yang melakukan bisnis melalui internet.