BAB II LANDASAN TEORI 2.1 Internet Internet adalah singkatan dari Interconnection network, merupakan interkoneksi antara komputer-komputer (node) di seluruh dunia yang membentuk sebuah jaringan komputer global. Internet adalah suatu istilah umum yang dipakai untuk menunjuk jaringan (Network) tingkat dunia yang terdiri dari komputer dan layanan atau servis untuk pemakai komputer, dan bermacam-macam sistem informasi termasuk e-mail (surat elektronik), FTP (File Transfer Protocol) dan World Wide Web /www. Saat ini teknologi internet sudah merambah ke hampir seluruh kalangan masyarakat. Internet digunakan untuk mencari dan menempatkan data dan atau informasi, berkomunikasi dan juga bersosial secara elektronis.[1] 2.2 Pengertian Web World Wide Web (WWW) atau biasa disebut dengan web merupakan salah satu sumber daya internet yang berkembang pesat. Saat ini, informasi web didistribusikan melalui pendekatan hyperlink, yang memungkinkan suatu teks, gambar, ataupun objek yang lain menjadi acuan untuk membuka halamanhalaman web yang lain. Dengan pendekatan hyperlink ini, seseorang dapat memperoleh informasi dengan meloncat dari suatu halaman ke halaman yang lain seperti yang diperlihatkan pada Gambar 2.1.[2] Universitas Sumatera Utara Artikel hype rlink hype rlink hype rlink hype rlink hype rlink hype rlink Gambar 2.1 Pengaksesan informasi melalui hyperlink. Seseorang bisa meloncat dari satu dokumen kedokumen yang lain dengan mudah. 2.2.1 Aplikasi Web Yang dimaksud dengan aplikasi web atau aplikasi berbasis web (web based application) adalah program yang menggunakan HTTP sebagai protokol komunikasi dan menyampaikan informasi berbasis web kepada pemakai dalam bentuk HTML. Aplikasi web itu sendiri dapat dibagi menjadi : 1. Web statis. 2. Web dinamis. Web statis dibentuk dengan menggunakan HTML saja. Kekurangan aplikasi seperti ini terletak pada keharusan untuk memelihara program secara terus Universitas Sumatera Utara menerus untuk mengikuti setiap perubahan yang terjadi. Kelemahan ini diatasi dengan model aplikasi web dinamis. Dengan memperluas kemampuan HTML, yakni dengan menggunakan perangkat lunak tambahan, perubahan informasi dalam halaman-halaman web dapat ditangani melalui perubahan data, bukan melalui perubahan program. Sebagai implementasinya, aplikasi web dapat dikoneksikan ke database. Itulah sebabnya muncul istilah web database. Dengan demikian, perubahan informasi dapat dilakukan oleh operator atau yang bertanggung jawab terhadap kemutakhiran data dan tidak menjadi tanggung jawab pemrogram atau webmaster. Konsep yang mendasari aplikasi web sebenarnya sederhana. Operasi yang melatarbelakanginya melibatkan pertukaran informasi antara komputer yang meminta informasi yang disebut klien dan komputer yang memasok informasi (atau disebut server). Secara lebih detail, server yang melayani permintaan dari klien sesungguhnya berupa suatu perangkat lunak yang dinamakan web server. Secara internal, web server inilah yang berkomunikasi dengan perangkat lunak lain yang disebut middleware dan middleware inilah yang berhubungan dengan basis data (database) seperti pada Gambar 2.2. Model seperti inilah yang mendukung web dinamis. Dengan menggunakan pendekatan web dinamis, dimungkinkan untuk membentuk aplikasi berbasis web yang berinteraksi dengan database. Sebagai contoh, sistem informasi akademis berbasis web memungkinkan seorang mahasiswa melihat informasi tentang nilai dari matakuliah-matakuliah yang sudah diambilnya dari luar kampus (dimana saja). Selain itu, pada masa semester baru, mahasiswa dapat memasukkan data KRS (Kartu Rencana Studi) melalui internet. Universitas Sumatera Utara Server Web Server (Apache, IIS, Xitami, dsb) Middleware (ASP,JSP,PHP, dsb) Database (Access, Internet Permintaan Tanggapan Browser (Internet Explorer, netscape Klien Gambar 2.2 Arsitektur Aplikasi Web 2.2.2 Teknologi Web Dari sisi teknologi yang digunakan untuk membentuk web dinamis, terdapat dua macam pengelompokan, yaitu: 1. Teknologi pada sisi klien (client-side technology). 2. Teknologi pada sisi server (server-side technology). Teknologi web pada sisi klien diimplementasikan dengan mengirimkan kode perluasan HTML atau progam tersendiri dari HTML ke klien. Klienlah yang bertanggung jawab dalam melakukan proses terhadap seluruh kode yang diterima. Kelemahan pendekatan seperti ini adalah terdapat kemungkinan bahwa browser pada klien tidak mendukung fitur kode perluasan HTML. Sebagai contoh, kode VBScript yang dilekatkan pada kode HTML tidak akan berfungsi sekiranya browser yang digunakan klien tidak mendukungnya. Kelebihan teknologi pada Universitas Sumatera Utara sisi klien yaitu memungkinkan penampilan yang bersifat dinamis, misalnya menampilkan jam yang terus menerus berubah ataupun untuk membuat animasi gambar yang mengikuti gerakan penunjuk mouse. Selain itu, memungkinkan validasi data di sisi klien. Yang termasuk dalam teknologi pada sisi klien : - Kontrol ActiveX. - Java Applet. - Skrip sisi-klien (misalnya javaScript dan CSS). Teknologi Web pada sisi server memungkinkan pemrosesan kode di dalam server sehingga kode yang sampai pada pemakai berbeda dengan kode asli pada server. Keuntungan penggunaan teknologi pada sisi server adalah : 1. Mengurangi lalu lintas jaringan dengan cara menghindari percakapan bolakbalik antara klien dan server. 2. Mengurangi waktu pemuatan kode, mengingat klien hanya mengambil kode HTML saja. 3. Mencegah masalah browser yang tidak kompatibel. 4. Klien dapat berinteraksi dengan data yang ada pada server. 5. Mencegah klien mengetahui rahasia kode (mengingat kode yang diberikan ke klien berbeda dengan kode asli pada server). Namun, tentu saja kelemahannya juga ada, yakni beban server akan bertambah, karena berbagai komputasi dilakukan pada server. Beberapa contoh teknologi yang berjalan di server yaitu : - Common Gateway Interface (CGI). Universitas Sumatera Utara - Proprietary Web Server API. - Active Server Pages (ASP). - Java Servlets Dab JavaServer Pages (JSP). - PHP. 2.3 Aplikasi Yang Digunakan Dalam Pembuatan Web USU Versi Desktop. Web USU merupakan salah satu sumber informasi tentang Universitas Sumatera Utara. Dalam pengembangannya, web USU versi desktop ini menggunakan aplikasi joomla. 2.3.1 Joomla Joomla adalah salah satu aplikasi yang digunakan untuk membuat atau membangun sebuah website dinamis yang dilengkapi berbagai fasilitas yang mendukungnya. Joomla adalah Sistem Manajemen Konten (SMK atau CMS) yang bebas dan terbuka (free open source) ditulis menggunakan PHP dan basisdata MySQL untuk keperluan di internet maupun intranet. Sistem manajemen konten adalah perangkat lunak yang memungkinkan seseorang untuk menambahkan dan/atau memanipulasi (mengubah) isi dari suatu situs web. Joomla terdiri dari tiga elemen dasar, yaitu server web (webserver), skrip PHP dan basisdata MySQL. Server web diasumsikan terhubung dengan Internet/Intranet yang berfungsi sebagai penyedia layanan situs. Skrip PHP terdiri dari kode program dalam bahasa PHP dan basisdata merupakan tempat penyimpanan konten. Joomla menggunakan Apache sebagai server web dan MySQL untuk basis datanya. Pertama kali, pengguna meminta akses terhadap halaman Joomla Universitas Sumatera Utara dengan mengeksekusi URL pada browser web yang kemudian terhubung dengan server web. Permintaan ini yang dalam istilah teknis lebih dikenal dengan query string selain terdapat URL juga mengandung parameter konten (section, category, ID article dan lain-lain). Berdasarkan parameter tersebut, sistem skrip joomla melakukan kontak dengan basis data dan mengambil konten yang dimaksud berdasarkan parameternya. Terakhir, konten dan templat (template) digabung bersama dan kembali sebagai halaman html, gambar, css dan javascript.[3] 2.4 Web Mobile Web mobile adalah aplikasi akses internet atau akses internet menggunakan peralatan yang bersifat mobile berbasiskan browser yang bertujuan untuk mengakses layanan data secara wireless dengan menggunakan perangkat mobile seperti telepon seluler, PDA (Personal Digital Assistant) dan perangkat portable yang tersambung ke sebuah jaringan telekomunikasi seluler. Web mobile yang diakses melalui perangkat mobile perlu dirancang dengan mempertimbangkan keterbatasan perangkat mobile seperti sebuah telepon seluler yang memiliki sebuah layar dengan ukuran yang terbatas ataupun beberapa keterbatasan pada sebuah perangkat mobile. Web mobile umumnya berukuran ringan disetiap halamannya.[4] 2.4.1 Arsitektur Aplikasi Web Mobile Untuk PDA dan Pocket PC, fitur komunikasi data lewat internet sudah merupakan fasilitas standar, dimana semua tipe PDA dan Pocket PC pasti mendukung serta menyertakan mini browser atau mobile browser dalam fitur- Universitas Sumatera Utara fiturnya. Sedangkan untuk telepon seluler, belum semua tipe mampu mendukung fasilitas browsing internet. Umumnya, hanya tipe-tipe dengan kelas menengah ke atas dan atau terbaru yang menyediakan fitur ini. Aplikasi yang dirancang ini menggunakan protokol HTTP. Proses aliran informasi pada suatu aplikasi web Mobile adalah sebagai berikut.[5] Sebuah perangkat mobile berupa PDA/Pocket PC dengan browser Microsoft Mobile Explorer akan melakukan permintaan (request) sebuah halaman web melalui sebuah HTTP request seperti yang terlihat pada Gambar 2.3. Server Gambar 2.3 HTTP request dari Pocket PC Selanjutnya HTTP request diterima server dan diproses sehingga menghasilkan bahasa mark-up yang sesuai, dalam hal ini HTML untuk Pocket PC. Halaman HTML lalu dienkapsulasi menjadi sebuah HTTP response dan dikirim kembali ke perangkat yang meminta, dalam hal ini Pocket PC seperti yang terlihat pada Gambar 2.4. Server Gambar 2.4 HTTP Response Universitas Sumatera Utara 2.5 Perangkat Lunak Yang Digunakan Dalam Perancangan Aplikasi 2.5.1 Yii Framework Yii adalah framework (kerangka kerja) PHP berbasis komponen berkinerja tinggi untuk pengembangan aplikasi web berskala besar. Yii dapat membantu pengembangan aplikasi web menjadi lebih cepat. Untuk menjalankan aplikasi web berbasis yii, diperlukan server web yang mendukung PHP 5.1.0. Bagi para pengembang yang ingin menggunakan yii, mengerti pemrograman berorientasi objek (OOP) akan sangat membantu, karena yii merupakan framework OOP murni. Yii adalah framework pemrograman umum web yang bisa dipakai untuk mengembangkan semua jenis aplikasi web. Dikarenakan sangat ringan dan dilengkapi dengan mekanisme caching yang canggih, yii sangat cocok untuk pengembangan aplikasi dengan lalu lintas tinggi seperti portal, forum, sistem manajemen konten (CMS), sistem e-commerce, dan lain-lain. Seperti kebanyakan PHP framework, yii adalah MVC framework. Yii mengimplementasikan pola desain Model View Controller (MVC), yang diadopsi secara luas dalam pemrograman web. MVC bertujuan untuk memisahkan logika bisnis dari pertimbangan antar muka pengguna agar para pengembang bisa lebih mudah mengubah setiap bagian tanpa mempengaruhi yang lain. Dalam MVC, model menggambarkan informasi (data) dan aturan bisnis. View (tampilan) berisi elemen antar muka pengguna seperti teks, input form. Sementara controller mengatur komunikasi antar model dan view. Selain implementasi MVC, Yii juga memperkenalkan front controller (controller depan) yang disebut aplikasi, yang mengenkapsulasi konteks eksekusi untuk memproses sebuah request. Aplikasi Universitas Sumatera Utara mengumpulkan beberapa informasi mengenai request pengguna dan kemudian mengirimnya ke controller yang sesuai untuk penanganan selanjutnya.[6] 2.5.2 PHP PHP singkatan dari PHP Hypertext Preprocessor. PHP adalah bahasa pemrograman server-side scripting yang merupakan sintaks dan perintah yang dijalankan di server dan disertakan pada dokumen HTML sehingga dapat digunakan untuk membuat halaman web yang dinamis. PHP sendiri merupakan bahasa pemrograman dan HTML adalah sebagai pembangun halaman web. Pada saat akan membuka suatu situs yang menggunakan fasilitas server-side scripting PHP, maka terlebih dahulu server yang bersangkutan akan memproses semua perintah PHP di server lalu mengirimkan hasilnya dalam format HTML ke web browser . Dengan demikian keamanan dari halaman web menjadi lebih terjamin. PHP merupakan software yang open souce (gratis) dan dapat digunakan pada system operasi dan web server apapun . PHP dapat digunakan pada semua sistem operasi, antara lain Linux, Unix, Microsoft Windows, dan Machintosh. PHP juga mendukung banyak web server seperti, Apache, Microsoft Internet Information Server (MISS), Personal Web Server (PWS), Netscape and iPlanet Servers, Xitami dan yang lainnya. Salah satu fitur yang dapat diandalkan oleh PHP adalah dukungannya terhadap banyak database seperti Oracle, Sybase, mSQL, MySQL, Solid, Generic ODBC, Postgress SQL.[7] 2.5.2.1 Konsep Kerja PHP Model kerja HTML diawali dengan permintaan suatu halaman web oleh browser. Berdasarkan URL (Uniform Resource Locator) atau dikenal dengan Universitas Sumatera Utara sebutan alamat internet, browser mendapatkan alamat dari web server, mengidentifikasi halaman yang dikehendaki dan menyampaikan segala informasi yang dibutuhkan oleh web server. Selanjutnya, web server akan mencarikan berkas yang diminta dan memberikan isinya ke browser. Browser yang mendapatkan isinya segera melakukan proses penerjemahan kode HTML dan menampilkannya kelayar pemakai. Skema HTML seperti diperlihatkan pada Gambar 2.5. Web Server Permintaan HTTP (sesuatu.html) Kode HTML Tanggapan HTML Browser Klien Gambar 2.5 Skema HTML Web Server Skrip PHP Permintaan HTTP (sesuatu.php) Mesin PHP Kode HTML Browser Klien Tanggapan HTML Gambar 2.6 Skema PHP Universitas Sumatera Utara Jika yang diminta adalah sebuah halaman PHP, prinsipnya serupa dengan kode HTML. Hanya saja, ketika berkas PHP yang diminta didapatkan oleh server, isinya segera dikirimkan ke mesin PHP dan mesin inilah yang memproses dan memberikan hasilnya (berupa kode HTML) ke web server. Selanjutnya, web server menyampaikan ke klien. Skema PHP seperti diperlihatkan pada Gambar 2.6. Universitas Sumatera Utara