BAB 2 LANDASAN TEORI 2.1 Teori-teori Umum Teori – teori umum yang digunakan dalam penyusunan skripsi ini adalah : 2.1.1 Internet a. Sejarah Internet Berdasarkan Leiner et al (2003) Internet yang banyak digunakan orang saat ini bermula dari jaringan komputer yang digunakan oleh Departemen Pertahanan Amerika Serikat. Jaringan komputer tersebut dikenal dengan nama ARPANET (Advanced Research Projects Administration Network) yang digunakan pada saat terjadi perang dingin antara Amerika Serikat dengan Russia. Selanjutnya ARPANET dikembangkan menjadi jaringan yang lebih luas lagi yang disebut dengan Internet. Perkembangan Internet menjadi sangat pesat karena banyak fasilitas yang ditawarkan. Agar dapat mengetahui komputer mana yang akan diakses, maka masing-masing komputer tersebut diberi sebuah alamat yang disebut dengan internet address. Setiap alamat internet harus didaftarkan pada network information center, dimana alamat tersebut harus unik dan direpresentasikan dalam dua wujud yaitu nama domain dan nomor IPnya. b. Pengertian Internet Menurut Purbo (2000) Internet adalah kumpulan dari jaringan komputer besar maupun kecil yang luas dan saling berhubungan menggunakan jaringan komunikasi yang ada diseluruh dunia sebagai medianya. 9 10 Konsep pelayanan Internet terlihat pada gambar 2.1 dibawah ini : Gambar 2.1 Konsep Pelayanan Internet Protokol ini secara resmi disebut TCP/IP (Transmission Transfer Protocol/ Internet Protocol). Gambar 2.2 Paket-paket protokol yang ada pada jaringan TCP/IP Dan menurut Strauss (2001, p9) internet adalah sebuah jaringan global yang terdiri dari banyak jaringan yang saling terhubung satu sama lain. Meliputi jutaan perusahaan, pemerintah, organisasi, dan jaringan pribadi seperti e-mail, newsgroup dan WWW. 11 c. Istilah-istilah dalam Internet Berikut adalah beberapa istilah yang biasa dipakai di dalam Internet menurut Febrian (2004) • Browser : Sebutan untuk perangkat lunak (software) yang digunakan untuk mengakses World Wide Web. • Download : Istilah untuk kegiatan menyalin data (biasanya berupa file) dari sebuah komputer yang terhubung dalam sebuah network ke komputer lokal. • Login : Pengenal untuk mengakses sebuah sistem yang tertutup, terdiri dari username (juga disebut login name) dan password (kata kunci). • Server : Komputer (umumnya besar) yang melayani permintaan berbagai user. • Upload : Kegiatan pengiriman data (berupa file) dari komputer lokal ke komputer lainnya yang terhubung dalam sebuah network. Kebalikan dari kegiatan ini disebut download. • URL : Uniform Resource Locator. Sebuah alamat yang menunjuk ke sebuah resource di internet atau intranet. • Web server : Jaringan client server interaktif yang menggunakan teknologi World Wide Web. d. Penggunaan Umum dari Internet Berikut adalah beberapa penggunaan umum dari internet yang pengertiannya menurut Febrian (2004) 12 i. E-mail E-mail, singkatan dari Electronic Mail, adalah surat yang dikirim dan dibaca secara elektronik. E-mail dapat berupa teks maupun gabungan antara teks dengan gambar, yang dikirimkan dari satu alamat ke alamat lain di jaringan internet. Sebuah alamat e-mail yang mewakili banyak alamat email sekaligus disebut sebagai mailing list. Sebuah alamat e-mail biasanya memiliki format [email protected]. ii. File Sharing Kemampuan suatu jaringan untuk mengijinkan pemakaian file oleh beberapa pengguna pada saat yang bersamaan. iii. Media Streaming Proses penghantaran data dalam aliran berkelanjutan dan tetap yang memungkinkan pengguna mengakses dan menggunakan file sebelum data dihantar sepenuhnya. iv. Live Messenger Pembawa pesan untuk pengguna jaringan. Sistem ini merupakan sistem yang cukup komplit, selain tugas utamanya untuk membawa pesan antar pengguna komputer jaringan, juga disediakan bermacam-macam fasilitas seperti mengetahui siapa saja yang sedang online, dan sebagainya. Messenger digunakan untuk berkomunikasi antara dua orang atau lebih (conference), selain komunikasi melalui teks (message), juga bisa berupa suara (voice) maupun fim (webcam). Contoh dari messenger ini adalah Yahoo! messenger, MSN Messenger, ICQ, dan lain-lain. 13 2.1.2 Pengertian TCP/IP TCP singkatan dari Transfer Control Protocol sedangkan IP adalah singkatan dari Internet Protocol. Menurut Sumarno (2007), TCP/IP merupakan protokol jaringan komputer yang terbuka yang dapat terhubung dengan berbagai macam jenis perangkat keras maupun perangkat lunak. TCP terdiri dari beberapa layer atau lapisan yang memiliki fungsi yang khusus dalam komunikasi data. Setiap fungsi dari layer selain dapat bekerjasama dengan layer pada tingkat yang lebih rendah atau lebih tinggi, juga dapat berkomunikasi dengan layer sejenis pada remote host (peering). IP adalah inti dari TCP/IP yang memiliki peran sebagai pembawa data yang independen. Semua dokumen TCP/IP dalam bentuk public dokumen IEN dan RFC. IP terbagi menjadi kelas network A, B dan C. Sedangkan kelas D yang digunakan untuk keperluan reverse IP dapat diabaikan. IP ditulis dalam bilangan desimal dari 0 sampai 255. Data yang mengalir antar layer atau antar host dibungkus dan diberi header dengan tujuan agar setiap layer dapat mengenali dan dapat memproses lebih lanjut. Sebuah host tidak mengetahui alamat IP gateway pada jaringan yang lain, akan tetapi data tersebut mengalir menuju host tujuan yang terdapat pada network lain melalui gateway network-nya setelah diberi penentuan routing alamat IP. Ciri-ciri TCP/IP : • Network Technological Independence • Universal Interconnection • End-to-End Acknowledgement • Application protocol Standard 14 TCP/IP menjadi satu nama karena fungsinya yang selalu berkaitan satu sama lain dalam proses komunikasi data. TCP/IP saat ini banyak digunakan dalam banyak jaringan komputer lokal (Local Area Network/LAN) yang terhubung pada koneksi internet, karena TCP/IP memiliki sifat : • Merupakan protokol standar yang terbuka, gratis dan dikembangkan terpisah dari perangkat keras komputer tertentu. Karena itu protokol ini banyak didukung oleh vendor perangkat keras, sehingga TCP/IP merupakan pemersatu perangkat keras dan lunak komputer yang terdiri dari berbagai macam vendor yang berbeda. • Berdiri sendiri atau terpisah dari berbagai jaringan perangkat keras. Sifat ini memungkinkan TCP/IP bergabung dengan banyak jaringan komputer yang ada. TCP/IP dapat beroperasi melalui sebuah ethernet, token ring, maupun sebuah saluran dial-up, dan secara virtual melalui berbagai media fisik transmisi data. • Dapat dijadikan sebagai alamat umum sehingga setiap perangkat yang menggunakan TCP/IP akan memiliki sebuah alamat yang unik dalam sebuah jaringan komputer lokal atau jaringan komputer global seperti internet. • Protokol ini di-standarisasi dengan skala tinggi secara konsisten sehinggadapat memberikan layanan kepada pengguna internet di dunia. 2.1.3 World Wide Web (WWW) Banyak orang yang mempunyai pendapat bahwa internet dan World Wide Web adalah dua hal yang sama, namun sebenarnya internet dan World Wide Web adalah 15 dua hal yang berbeda. Internet berfungsi sebagai mekanisme transportasi data, sedangkan World Wide Web adalah sebuah aplikasi yang menggunakan fungsi transportasi tersebut. Menurut Turban, Rainer, dan Potter (2003, p214), Web adalah sebuah sistem standar yang sudah disetujui secara universal, digunakan untuk menyimpan, menerima, memformat, dan menampilkan informasi via arsitektur client/server. Web meliputi semua tipe data informasi digital termasuk text, hypermedia, gambar, dan suara. World Wide Web adalah kombinasi dari 4 ide, yaitu : • Hypertext : sebuah format kata yang dapat menghubungkan pengguna internet terhubung antara sebuah dokumen ke dokumen lainnya, menggunakan koneksi internet. Biasa disebut juga dengan hyperlinks. • Resource Identifiers : identifikasi yang unik yang digunakan untuk mengalokasikan file atau dokumen di dalam jaringan. Biasanya dikenal dengan URL (Uniform Resource Locator). • Client-server : sebuah sistem dimana komputer klien meminta sebuah informasi, dapat berupa data atau file kepada komputer server yang memiliki data tersebut. • Markup Language : kumpulan karakter atau kode untuk mengidentifikasi data atau teks yang dikirim. Untuk mengakses sebuah situs web, pengguna internet harus mengidentifikasi alamat URL, berisi spesifikasi alamat web yang dituju. Salah satu contoh dari URL misalnya, http://www.microsoft.com/ untuk situs web Microsoft. 16 2.1.4 Hypertext Transfer Protocol (HTTP) Hypertext Transfer Protocol merupakan sebuah metode atau cara yang digunakan untuk mengirimkan informasi di dalam World Wide Web. Digunakan sebagai cara untuk mengirimkan dan menerima informasi Hypertext Markup Language (HTML). Pengembangan HTTP dikoordinasikan oleh World Wide Web Consortium dan Internet Engineering Task Force. Titik puncaknya adalah menghasilkan sebuah seri dari RFCs, dikenal dengan RFC 2616 (pada tahun 1999), dan untuk selanjutnya diartikan sebagai HTTP/1.1, sebuah versi dari HTTP yang masih digunakan sampai saat ini. HTTP adalah protokol pengirim dan penerima antara klien dan server. Web Browser dapat diartikan sebagai klien, dan dapat juga disebut atau diartikan sebagai “pengguna”. Sedangkan server tujuan merupakan penyedia dan penghasil data atau informasi, termasuk file, gambar dan lain sebagainya. 2.1.5 Unified Modelling Language (UML) a. Pengertian UML Menurut Whitten et al. (2004, p430), UML merupakan sekumpulan konvensi tentang pemodelan yang digunakan untuk menspesifikasi atau menggambarkan sistem software di dalam hal-hal tentang objek. b. Diagram-diagram UML i. Use Case Diagram Menurut Whitten et al. (2004, p271), use case diagram adalah diagram yang menggambarkan interaksi antara system, external system dan user. Dengan kata lain, digram ini menjelaskan siapa yang akan menggunakan 17 sistem tersebut dan bagaimana cara user tersebut berinteraksi dengan sistem. Gambar 2.3 Use Case Diagram (Sumber : Joseph Schmuller, Teach yourself UML, 1999, p385) ii. Class Diagram Menurut Whitten et al. (2004, p441), class diagram menggambarkan sturktur objek yang terdapat pada sebuah sistem. Diagram ini menunjukkan objek-objek yang terdapat pada suatu sistem dan serta relasi antar objekobjek tersebut. 18 Gambar 2.4 Class Diagram (Sumber : Joseph Schmuller, Teach yourself UML, 1999, p380) iii. Sequence Diagram Menurut Whitten et al. (2004, p441), sequence diagram menggambarkan bagaimana objek berinteraksi antara satu dengan yang lain melalui message dalam eksekusi dari sebuah use case atau sebuah operasi. Diagram ini menggambarkan bagaimana message dikirim dan diterima antar objek dan urutannya. 19 Gambar 2.5 Sequence Diagram (Sumber : Joseph Schmuller, Teach yourself UML, 1999, p383) iv. Activity Diagram Menurut Whitten et al. (2004, p442), activity diagram digunakan untuk mengambarkan alur aktivitas dari proses bisnis atau dari sebuah use case secara berurutan. Diagram ini juga digunakan untuk menggambarkan action (tindakan) yang akan dieksekusi ketika suatu proses sedang berjalan dan beserta hasil dari proses eksekusi tersebut. 20 Gambar 2.6 Activity Diagram (Sumber : Joseph Schmuller, Teach yourself UML, 1999, p378) 2.1.6 Interaksi Manusia dan Komputer (IMK) Menurut definisi dari ACM SIGCHI, Interaksi Manusia dan Komputer (IMK) atau Human-Computer Interaction (HCI) adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer interaktif untuk 21 digunakan oleh manusia, serta studi fenomena-fenomena besar yang berhubungan dengannya. Antarmuka merupakan unsur pokok dalam setiap pengembangan sistem yang ada. Oleh karena itu, penting untuk mengetahui faktor-faktor apa saja yang menentukan dalam merancang suatu antarmuka. Menurut Sneiderman (1998, p15), ada lima faktor manusia terukur yang dapat dijadikan sebagai pusat evaluasi, yaitu: 1. Waktu belajar, berapa lama waktu yang dibutuhkan oleh user untuk mempelajari cara relevan untuk melakukan suatu tugas? 2. Kecepatan kinerja, berapa lama waktu yang diperlukan untuk mengerjakan suatu tugas? 3. Tingkat kesalahan, berapa banyak kesalahan dan kesalahan-kesalahan seperti apa yang bisa terjadi saat user mengerjakan tugas-tugas tersebut? 4. Daya ingat, bagaimana kemampuan pemakai mempertahankan pengetahuannya setelah jangka waktu tertentu? 5. Kepuasan subjektif, bagaimana kepuasan user terhadap berbagai aspek dari sistem? Selain itu, menurut Sneiderman (1998, p74-75), disebutkan pula bahwa ada delapan aturan emas yang digunakan dalam merancang antarmuka, yaitu: 1. Berusaha untuk konsisten, seperti dalam penggunaan warna, layout, jenis huruf yang konsisten. 2. Memungkinkan frekuensi user menggunakan shortcut, karena dengan adanya shortcut dapat meningkatkan interaksi dengann user. 22 3. Memberikan umpan balik yang informatif yang memberikan kejelasan dari setiap aksi yang dilakukan oleh user. 4. Merancang dialog yang memberikan penutupan (keadaan akhir). 5. Memberikan pencegahan kesalahan dan penanganan kesalahan yang sederhana. 6. Memungkinkan pembalikan aksi yang sederhana (bersifat reversible). 7. Mendukung pusat kendali internal, dimana sistem hendaknya mampu membuat user sebagai bagian dari sistem itu sendiri dan memiliki kebebasan tersendiri. 8. Mengurangi beban ingatan jangka pendek dimana user hendaknya mudah dalam menjelajahi situs dengan petunjuk-petunjuk yang sederhana dan mudah diingat. 2.1.7 Database Menurut Connoly (2002, p12), sebelum database dikenal, penyimpanan data menggunakan pendekatan berbasis file. Namun pendekatan ini memiliki kelemahan dalam pengaksesan data dari dua atau lebih file karena data dari masing-masing file terpisah dan terisolasi. Kelemahan lain dari pendekatan ini yaitu duplikasi data yang tidak terkontrol, data dependence, misalnya diperlukannya suatu program baru untuk mengubah struktur field, format file yang tidak compatible karena struktur file tergantung aplikasi bahasa pemrograman, misalnya file hasil bahasa pemrograman C sulit diproses bersama-sama dengan file hasil program COBOL. Selain itu, pendekatan berbasis file mempunyai query yang tetap karena sangat tergantung pada program aplikasi sehingga tidak dapat menangani query tambahan. Dengan munculnya teknologi media penyimpanan data, yaitu Direct Access Storage Device (DASD), cara penyimpanan dan pengaksesan data berkembang 23 pesat yang memicu timbulnya database (Inmon, 2002, p4). DASD sendiri adalah media penyimpanan yang berbeda dengan magnetic type, di mana pengaksesan ke sebuah data yang diinginkan dapat dilakukan secara langsung begitu mengetahui alamat data tersebut dalam media penyimpanan, tanpa harus melalui data lainnya. a. Pengertian Data Menurut Garcia-Molina et. al. (2002,p14), data adalah fakta yang dapat atau tidak dapat diproses (disuling, dirangkum atau diperbaiki) dan tidak berpengaruh secara langsung pada user. Sebaliknya, informasi menyebabkan user melakukan suatu tindakan yang dapat ia lakukan atau tidak dilakukan. Berdasarkan ini dapat dilihat bahwa data merupakan suatu bentuk keruangan yang belum diolah atau dimanipulasi. Data yang didapatkan pada suatu perusahaan umumnya diperoleh dari hasil kegiatan operasi sehari-hari atau hasil dari transaksi yang dilakukan. b. Pengertian Database Menurut Connolly (2002, p14), database adalah kumpulan data yang berhubungan secara logikal, dan penjelasan dari data ini, dirancang untuk menemukan informasi yang dibutuhkan oleh perusahaan. Sedangkan menurut Wikipedia (http://en.wikipedia.org/wiki/Database), database merupakan kumpulan elemen data atau fakta yang disimpan di komputer secara sistematis. Berdasarkan pengertian database di atas, dapat disimpulkan bahwa database merupakan kumpulan data yang berhubungan secara sistematis untuk memenuhi kebutuhan informasi perusahaan. Dengan database, data 24 bukan hanya dapat digunakan oleh satu bagian perusahaan saja tapi dapat juga digunakan secara bersama-sama oleh bagian lainnya. c. Pengertian DBMS (Database Management System) Menurut Connoly (2002, p16), DBMS adalah sistem perangkat lunak yang memungkinkan user untuk mendefinisikan, membuat, memelihara, dan mengontrol akses ke database. Sedangkan menurut Wikipedia (http://en.wikipedia.org/wiki/Database), DBMS adalah program komputer yang digunakan untuk mengatur sebuah database. Dari definisi DBMS di atas dapat disimpulkan bahwa DBMS merupakan perangkat lunak yang digunakan untuk membuat struktur, memasukkan, memelihara, mengatur dan mengakses data. Dibandingkan dengan pendekatan berbasis file yang struktur fisikal dan penyimpanan datanya sangat tergantung pada program aplikasi, pada pendekatan database, struktur fisikal dan penyimpanan data diatur oleh DBMS. d. Entity Relationship Diagram (ERD) Menurut Whitten et al. (2004, pp295-307), entity relationship diagram adalah pemodelan data yang menggunakan beberapa notasi untuk menggambarkan data yang berhubungan dengan entity dan relationship yang dideskripsikan oleh data tersebut. 2.1.8 Linear Sequential Model Menurut Pressman (2001, p28), linear sequential model menawarkan sebuah pendekatan yang sistematis dan sekuensial dalam pengembangan piranti lunak yang dimulai dari level sistem dan perkembangannya dengan melalui tahap analis, desain, coding dan testing. 25 Gambar 2.7 Linear Sequential Model (Sumber : Pressman, Software Engineering, 2001, p29) a. Analisis Analisis adalah sebuah proses pengumpulan kebutuhan yang dikhususkan dan difokuskan dalam pembuatan piranti lunak b. Desain Desain adalah sebuah proses yang menerjemahkan hasil dari analisis dalam bentuk representasi piranti lunak sehingga dapat dinilai kualitasnya. c. Coding Coding adalah proses dimana hasil dari desain diterjemahlkan kembali dalam bentuk bahasa pemrograman yang dapat dimengerti oleh mesin. d. Testing Setelah coding dilakukan, maka dilakukan tahap testing untuk mengetahui kesalahan yang tidak terdeteksi sebelumnya atau hasil dari proses yang tidak diinginkan. 2.2 Teori-teori Khusus Teori – teori khusus yang digunakan dalam penyusunan skripsi ini adalah : 2.2.1 Social Network 26 a. Pengertian Aplikasi Social Network Menurut (http://en.wikipedia.org/wiki/Social_network_service), Wikipedia Aplikasi social network atau jejaring sosial adalah sebuah aplikasi untuk membangun sebuah komunitas online atau komunitas virtual dimana anggotanya saling terhubung satu sama lain karena memiliki kesamaan tertentu seperti pendidikan, hobi, profesi dan sebagainya. Tiap pengguna diperbolehkan untuk membuat halaman profilenya sendiri untuk mengidentifikasi dirinya kemudian dia dapat berteman dengan pengguna lain yang memiliki kesamaan dengan dirinya. Aplikasi ini biasanya berbentuk web dan menyediakan banyak fasilitas bagi para anggotanya untuk berinteraksi satu sama lain. b. Kategori Pengguna Aplikasi Social Network Menurut laporan penelitian yang dibuat oleh Ofcom (2008) dijabarkan kategori pengguna situs jejaring sosial adalah sebagai berikut: i. Alpha Socializers Tipikal pengguna yang bersemangat hanya pada saat bergabung. Ia mencari kenalan hanya dengan mengkontak temannya teman atau temannya sendiri. ii. Attention Seekers Tipikal pengguna yang suka mencari perhatian. Kadang dengan cara yang ekstrim, seperti memasang foto yang provokatif. Biasanya, identitas aslinya adalah seorang yang insecure (tidak nyaman dengan dirinya 27 sendiri) dan aktivitas di dunia online memberinya kesempatan besar sebagai ajang pamer diri. iii. Followers Tipikal selalu mengikuti kemana temannya berada. Ia bukan seorang yang aktif mencari-cari teman, seperti tipikal Alpha Socializers dan Attention Seekers. Ini banyak berlaku umum untuk pria dan wanita di banyak jenjang usia. iv. Faithfuls Tipikal pengguna yang punya kepercayaan diri tinggi. Ia sudah merasa nyaman dengan kondisi sosial yang dimilikinya sekarang. Jejaring sosial lebih sebagai alat baginya untuk mencari kontak teman-temannya yang lama. Ia cenderung akan menolak orang yang tidak ia kenal untuk dijadikan sebagai daftar teman atau kontaknya. v. Functionals Tipikal pengguna yang melihat jejaring sosial dari satu kebutuhan saja, misal: mencari grup musik, mencoba fitur. Ia kurang tertarik untuk berkomunikasi dengan pengguna lain atau meninggalkan komentar. Pertemanan dalam jejaring sosial hanya terbatas pada orang yang ia kenal dan punya kesamaan minat atau hobi. 2.2.2 Virtual Community Menurut Rheingold (2000, p43), virtual community atau komunitas virtual adalah sebuah kelompok dari orang-orang yang berinterkasi melalui internet dan tidak melakukan tatap muka secara langsung. Virtual 28 community juga dapat menjadi bentuk komunikasi tambahan dari komunitas itu sendiri yang sebenarnya sudah ada di dunia nyata. Biasanya tidak diperlukan kesamaan yang kuat untuk membetuk komunitas virtual ini, seperti yang dikatakan oleh “Virtual communities langsung terbentuk pada saat orang-orang membuat sebuah diskusi publik yang tidak terlalu lama namun para pesertanya memiliki kesamaan perasaan emosional sama satu sama lain yang besar." 2.2.3 Web 2.0 Menurut Tim O’reilly (2005), kosakata Web 2.0 didefinisikan sebagai "Web 2.0 adalah sebuah revolusi bisnis di dalam industri komputer, yang terjadi akibat pergerakan Internet sebagai sebuah platform bisnis dan suatu usaha untuk mengerti aturan-aturan agar sukses di platform tersebut. Aturan utamanya adalah membangun aplikasi yang memanfaatkan efek jaringan dengan tujuan untuk mendapatkan pengguna yang lebih banyak.” Prinsip-prinsip dari Web 2.0, antara lain sebagai berikut: • Web sebagai sebuah platform. • Data sebagai pengendali utama. • Efek jaringan diciptakan oleh partisipasi arsitektur. • Inovasi dalam sistem rakitan yang menyatukan fitur dari yang terdistribusi menuju pengembangan yang independen. • Model bisnis ringan yang dikembangkan dengan konten dan layanan syndication. 29 2.2.4 Widget a. Pengertian Widget Menurut Wikipedia (http://en.wikipedia.org/wiki/GUI_widget), sebuah widget (atau pengendali) adalah elemen dari Graphical User Interface ( GUI ) yang menampilkan informasi yang dapat disusun dan diubah-ubah oleh user, seperti window atau textbox. Karakteristik dari widget adalah menyediakan petunjuk interaksi untuk manipulasi langsung dari data yang diberikan. b. Pengertian Web Widget Menurut Wikipedia (http://en.wikipedia.org/wiki/Web_widget), web widget adalah potongan dari kode yang mudah dipindahkan (bersifat portable), dapat diinstal dan dieksekusi oleh pengguna akhir tanpa membutuhkan proses kompilasi terlebih dahulu. Web widget seringkali menggunakan bahasa DHTML, JavaScript, atau Adobe Flash. 2.2.5 AJAX a. Pengertian AJAX. Konsep AJAX diperkenalkan oleh Garret dari tim adaptive path diwakili oleh Garret, J.J, (2005), dengan mengeluarkan essay yang dipublikasikan adaptive path dengan kode essay bernomor 00385. AJAX yang merupakan singkatan dari Asynchronous Javascript and XML adalah sebuah teknik pengembangan web yang ditujukan untuk mengembangkan web interaktif. Penggunaan AJAX bertujuan untuk menjadikan halaman-halaman web lebih responsif dengan melakukan pertukaran kumpulan data-data dalam jumlah sedikit dengan server 30 sehingga keseluruhan halaman web tidak harus direload setiap kali pengguna melakukan permintaan tertentu. Hal ini tentunya akan meningkatkan interaktivitas, kecepatan, dan keleluasaan penggunaan halaman web. Menurut McClure (2006,p51) , AJAX bukanlah sebuah teknologi, melainkan suatu kumpulan teknologi-teknologi yang berjalan di belakangnya. Teknologi-teknologi yang berada di balik AJAX, antara lain: i. HTML/XHTML (Hypertext/Extensible Markup Language) XHTML merupakan penerus dari HTML. XHTML merupakan sebuah rekomendasi yang terpisah dari HTML. W3C tetap merekomendasikan untuk tetap menggunakan XHTML 1.0, XHTML 1.1, dan HTML 4.01 untuk digunakan dalam web publishing. Perlunya reformulasi HTML menjadi XHTML disebabkan karena W3C merasa adanya kebutuhan agar sebuah konten World Wide Web dapat diakses dari perangkat mobile selain komputer-komputer tradisional karena kompleksitas sintaks dari HTML yang memerlukan sumber daya dan waktu yang cukup banyak. ii. CSS (Cascading Stylesheet) CSS atau Cascading Stylesheet adalah sebuah bahasa stylesheet berbentuk markup language yang digunakan untuk mendeskripsikan sebuah representasi tampilan untuk sebuah dokumen. CSS biasanya digunakan untuk menghias halaman web dalam bentuk HTML atau XHTML. 31 iii. DOM (Document Object Model) DOM atau Document Object Model adalah sebuah model objek yang memiliki kemampuan untuk mengupdate elemen-elemen dari sebuah form secara dinamis. iv. XML (Extensible Markup Language) Extensible Markup Language (XML) adalah bahasa markup serbaguna yang direkomendasikan W3C untuk mendeskripsikan berbagai macam data. XML menggunakan markup tags seperti halnya HTML namun penggunaannya tidak terbatas pada tampilan halaman web saja. v. XSLT XSLT atau Extensible Stylesheet Language Transformations adalah sebuah metode untuk mengubah XML menjadi sebuah dokumen baru yang lebig mudah untuk dimengerti. vi. XMLHttpRequest XMLHttpRequest adalah sebuah object yang terdapat dalam browser yang memungkinkan bagi browser tersebut untuk berkomunikasi dengan server tanpa memerlukan pengiriman kembali keseluruhan data dalam satu page. Di Internet Explorer, object ini bernama MSXML ActiveX sedangkan di Mozzila FireFox dan browser lainnya, object ini memiliki nama serupa yaitu XMLHttpRequest. vii. JavaScript JavaScript adalah suatu bahasa skrip yang didasarkan pada konsep pemrograman berbasis prototipe. Bahasa ini terutama terkenal karena 32 penggunaannya di situs web (sebagai JavaScript sisi klien) dan juga digunakan untuk menyediakan akses skrip untuk objek yang dibenamkan (embedded) di aplikasi lain. b. Prinsip-Prinsip AJAX Menurut Zakas (2006, p9), sebagai awal dari pengembangan, AJAX masih jauh dari kesempurnaan. Namun, sejumlah web developer menganggap AJAX sebagai sebuah tantangan yang sangat menarik. Michael Mahemof, seorang software developer mengidentifikasi beberapa prinsip dari aplikasi AJAX yang baik, antara lain sebagai berikut: i. Trafik minimal AJAX mengurangi sejumlah trafik yang dianggap tidak berguna antara komputer server dan klien. ii. Tidak ada kejutan Aplikasi AJAX memperkenalkan model interaksi pengguna yang berbeda dengan aplikasi web tradisional. Berlawanan dengan standar web click and wait, beberapa aplikasi AJAX mengimplementasikan paradigma antarmuka pengguna yang berbeda, seperti drag and drop dan klik ganda. iii. Pengembangan yang bersifat konvensional AJAX memanfaatkan model interaksi web tradisional maupun aplikasi desktop untuk mengurangi waktu belajar para pengguna. iv. Tidak ada distraksi AJAX tidak menggunakan elemen-elemen halaman yang mengganggu pengguna secara visual, antara lain animasi yang berulang-ulang, teks yang berkedip, dan lain-lain. 33 v. Aksesibilitas Aplikasi AJAX yang baik harus memperhatikan kepentingan pengguna baik pengguna primer maupun sekunder, bagaimana akses penggunapengguna tersebut terhadap aplikasi AJAX. Aplikasi-aplikasi AJAX sebaiknya tidak mengesampingkan aksesibilitas golongan kecil penggunapengguna tertentu. Kompatibitas terhadap browser-browser yang lama juga berpengaruh terhadap faktor aksesibilitas ini. vi. Tidak mendownload halaman secara keseluruhan Semua komunikasi server setelah melakukan download halaman inisial, harus ditangani dengan baik oleh mesin AJAX. vii. Mendahulukan kepentingan pengguna Kepentingan dan kebutuhan pengguna menjadi fokus utama aplikasi AJAX. c. Perbandingan Aplikasi Web Tradisional dengan Aplikasi Web AJAX Cara kerja halaman web klasik adalah ketika pengguna melakukan permintaan HTTP kepada server, server akan melakukan proses data, dan kemudian mengembalikan halaman HTML kepada klien. Model seperti ini merupakan adaptasi dari penggunaan orisinal web sebagai media hypertext. Setiap kali pengguna melakukan permintaan, pengguna harus menunggu respons dari server untuk mengembalikan permintaan halaman. 34 Gambar 2.8 Perbandingan Aplikasi Web Tradisional dengan Aplikasi Web AJAX (Sumber : http://www.adaptivepath.com/publications/essays/archives/000385.php) Sedangkan aplikasi AJAX menjembatani permintaan klien dan respons server dengan sebuah media yang disebut mesin AJAX sehingga menjadikan aplikasi web lebih responsif dan mengurangi waktu tunggu pengguna. Mesin AJAX ini akan mengubah sistem kerja aplikasi web yang synchronous menjadi asynchronous dan menjadikan komunikasi pengguna dan server menjadi independen. 2.2.6 PHP Menurut Castagnetto, dkk (1999, p8) PHP adalah singkatan rekursif dari PHP Hypertext Preprocessor yang merupakan bahasa scripting yang tempat 35 pengolahannya berada di server. Hal ini berarti PHP dapat bekerja dalam dokumen HTML yang menempatkan hasil permintaan scripting PHP. Dengan PHP, situs yang dibuat tidak berupa kumpulan halaman statik yang informasinya tidak sering diperbaharui. Keuntungan menggunakan PHP antara lain : • Kesederhanaan dari bahasa PHP dan mesin scripting. • Siklus pengembangan yang lebih pendek karena pemudahan dalam pembuatan modul dan komponen-komponen yang dapat digunakan lagipada pengembangan berikutnya. • Memiliki konektivitas ke server basis data. • Bersifat open source dan tidak bergantung pada platform manapun 2.2.7 Interaktif Menurut Hornby (2000,p444), interaktif dalam bidang komputer adalah sebuah keadaan yang memungkinkan terjadinya sebuah perpindahan informasi 2 arah secara terus menerus yang terjadi antaran komputer dan penggunanya.