PENDAHULUAN Sekilas Teknologi Internet Secara umum, Internet dapat diartikan sebagai sebuah jaringan komputer raksasa yang menghubungkan bermacam macam komputer dari segala tipe dan jenis dan berada di seantero dunia, bahkan mungkin jagad raya (rasanya, para astrounout / kosmonout sekarang sudah bisa mengirim email dari luar angkasa). Bagaimana hal ini bisa dilakukan ? Bukankah sangat tidak mungkin ada suatu institusi / orang yang mampu memasang kabel jaringan dan mengatur konfigurasi begitu banyak komputer dengan bermacam jenis dan berada di seantero dunia yang begitu luas ? Kaum politisi di Indonesia akhir-akhir ini sedang getol-getolnya menyuarakan otonomi daerah sebagai wujud desentralisasi kekuasaan (see, meskipun Anda mahasiswa TSI, tidak salah sedikit ngomong politik kan ? ). Kaum teknisi yang mem-bidan-i Internet sudah menyadari pentingnya desentralisasi kekuasaan itu sedari awal, jadi Internet tidak diatur oleh institusi tunggal, tetapi oleh banyak organisasi yang tersusun secara hirarkis secara internasional. Masing masing organisasi akan mengatur jaringan komputer yang menjadi tanggung jawabnya, dan tiap-tiap jaringan ini akan saling disambungkan dengan sebuah protocol tertentu. Protocol atau aturan, atau kesepakatan yang digunakan dan merupakan nyawa Internet disebut Internet Protocol (IP). IP berisi detail aturan bagaimana cara mengirimkan data dari sebuah komputer ke komputer lain di Internet, meskipun komputer asal dan tujuan tidak serta merta terhubung secara langsung. Bahkan, komputer pengirim tidak perlu tahu secara detail bagaimana cara mencapai komputer penerima. Pengirim hanya perlu komputer gateway dari jaringan komputer tempatnya berada. Selanjutnya, komputer gateway pun tidak perlu tahu pasti bagaimana cara mencapai komputer penerima, tetapi harus tahu kemana data harus dikirim agar „nantinya‟ mencapai komputer tujuan. Setelah berkali kali di „ping pong‟ (istilah teknis nya routing), data ini akan sampai ke komputer yang tahu persis dimana komputer tujuan, biasanya adalah komputer yang ada dalam satu jaringan fisik dengan komputer tujuan, dan akan mengirimkan datanya ke komputer tujuan. Komputer komputer yang bertugas sebagai gateway, mem-ping pong data agar dapat mencapai komputer tujuan di Internet sering disebut router, karena tugasnya me-route data dari komputer asal ke komputer tujuan. IP meng-identifikasi sebuah komputer di Internet dengan memberinya IP Address. Sekarang ini ada 2 versi IP Address, IP versi 4 dan IP versi 6. IP versi 4 masih sangat populer, sedangkan IP versi 6 masih dalam tahap mematangkan diri. Dalam kuliah Pemrograman Web, kita selalu mengartikan IP Address sebagai IP versi 4. IP Address dapat dikenali dengan pola nya seperti ini: xxx.xxx.xxx.xxx dimana x adalah angka digit. Bilangan 3 digit xxx range nya 0-255. xxx ditulis nilai numerik nya, jadi IP address tidak ditulis 192.168.010.10, tetapi lebih lazim ditulis 192.168.10.10 Disamping IP, biasanya dipakai juga protocol lain untuk memungkinkan komunikasi antar komputer di Internet, yang paling populer adalah TCP (Transfer Control Protocol), sehingga Internet sering diidentikan dengan protocol TCP/IP. Ada juga protocol UDP, tetapi kurang populer. See, Internet memang penuh dengan singkatan, You have been warned! Kita belajar banyak tentang TCP/IP, bagaimana mengkonfigurasi nya dan lain sebagainya di kuliah Jaringan Komputer. Coba Anda ingat, apa beda IP public dan IP private ? IP static dan IP dynamic ? Apa yang dimaksud network mask ? Apakah itu UTP ? Ethernet ? Modem ? SSL ? Pertanyaannya, kita mengakses Internet dengan cara mengetikkan alamat http://mail.yahoo.com pada browser kita, bukan IP Address seperti 60.32.14.1, padahal kita tahu bahwa Internet memerlukan IP Address untuk dapat mencari kemana komputer tujuan, atau dimana komputer milik Yahoo! tempat email kita disimpan itu berada. Komputer sangat efisien dan mahir membaca angka, tetapi tidak otak manusia. Manusia lebih mahir memahami kata kata, itu juga mungkin sebabnya komputer tidak bisa jatuh cinta. Bayangkan komputer yang cuma mahir bahasa angka harus membuat puisi cinta yang hanya terdiri dari digit 0 sampai 9, tidak lucu kan ? Untuk menjembatani kebutuhan pengalamatan komputer dengan angka (IP) dan dengan kata kata (hitung sendiri, ada berapa banyak singkatan yang sudah didapat dari 3 halaman module ini), diperlukan suatu protocol lagi yang dinamakan Domain Name System (DNS). DNS mengatur cara untuk mapping antara alamat URL ke alamat IP. Sederhananya, DNS mempunyai daftar untuk tiap alamat URL dapat di artikan ke alamat IP berapa. Pertanyaannya (lagi), ada berjuta juta komputer yang terhubung ke Internet saat ini. Apakah mungkin untuk menyimpan begitu banyak daftar di satu tempat ? Lagi pula, bagaimana jika ada perubahan perubahan ? Apakah jika kita ingin mengakses Internet dari rumah memakai modem kita harus melapor dulu ke badan / entah apa yang membuat daftar ini di Amerika sono ? 2 - 18 Tentu tidak demikian yang terjadi. Seperti dibahas dimuka, semangat yang ada dalam dunia Internet bukanlah teokrasi tetapi semangat desentralisasi.Tentu saja ada institusi pusat, IANA ( www.iana.org ), yang mengatur pembagian IP Address sedangkan untuk domain secara internasional diatur oleh ICANN ( www.icann.org ). Tetapi badan badan ini tidak mengatur sedetail detail nya, tetapi mendelegasikan hal itu ke institusi dibawahnya. Untuk IP Address, biasanya IANA akan mendelegasikan peng alokasi an IP ke Internet Registry (IR) yang lalu memberikan nya kepada ISP (Internet Service Provider), penyedia layanan jasa Internet atau institusi lain misal nya Universitas. IP Yang diberikan bukan IP tunggal, tetapi range IP. Tanggung jawab ISP atau institusi inilah untuk mengatur detail penggunaan IP yang dimilikinya. Untuk kasus Domain Name, biasanya tiap negara mempunyai ccTLD = country code Top Level Domain. Misal nya, semua alamat Internet yang berakhiran .id adalah URL yang menjadi tanggung jawab TLD Indonesia, sekarang ini ditangani oleh IDNIC,lembaga nirlaba yang menangani hal ini. Sebagai yang berwenang mengelola domain .id, IDNIC membuat beberapa sub domain sebagai kategorisasi alamat Internet. Diantaranya: .go.id (pemerintahan), .co.id (bisnis), .net.id (ISP), .ac.id (universitas), sch.id (sekolah), dan lain lain. Mekanisme sub domain ini memungkinkan institusi yang di Indonesia untuk mendaftarkan „sub domain‟ ke IDNIC, misal nya aub.ac.id, dan mengelola semua penamaan dibawah aub.ac.id sebagai tanggung jawab institusi STMIK AUB. Pada prakteknya, yang sering disebut domain name adalah domain name yang sudah menjadi tanggung jawab sebuah institusi, bukan yang dikelola IDNIC,jadi aub.ac.id disebut domain name untuk STMIK AUB, bukan disebut „sub domain‟. Sedangkan misal nya S1 SI mungkin meminta kepada pengelola jaringan di AUB untuk nama si.aub.ac.id, maka si.aub.ac.id inilah yang disebut sub domain dari AUB. Untuk mendapatkan domain name, kita harus mendaftarkan diri ke sebuah registrar. Selain .id yang menjadi tanggung jawab Indonesia, ada banyak toplevel domain yang menggambarkan negara mana yang bertanggung jawab mengurus domain tsb, misal nya .sg untuk Singapura, .pt untuk portugal, .uk untuk Inggris Raya, dsb. Disamping itu ada juga domain yang tidak menggambarkan negara, tetapi langsung menggambarkan institusi apa yang mengatur nya, misal nya .com untuk bisnis (commercial), .gov untuk pemerintahan dan lain lain. Biasanya, domain tanpa negara ini mengasumsikan negara yang bertanggung jawab adalah AS. Kenapa demikian ? Ini dapat di runut dari sejarah lahir nya Internet. 3 - 18 Teknis pengaturan IP Address dan domain name sendiri cukup rumit. Jika kita ingin menjadi administrator jaringan, kita harus menguasai hal itu dengan baik. Jika kita dalam posisi programmer (karena kuliah kita adalah Permrograman Web), kita tidak perlu tahu terlalu detail. Kita hanya perlu tahu IP Address, domain name dan port yang boleh kita pakai di dalam jaringan kita. Sejarah Internet Bom Atom yang kadang dianggap dewa penyelamat untuk mengakhiri Perang Dunia II, akhirnya menjelma menjadi monster menakutkan yang sempat dianggap akan mencetuskan Perang Dunia III. Amerika dan Sovyet (sekarang tinggal Rusia) berlomba membuat senjata senjata mematikan yang memicu perang dingin berkepanjangan antara blok barat dan blok timur. Untuk Anda yang tertarik untuk mempelajari sejarah perang dingin antara blok barat dan blok timur, silakan mengikut kuliah Sejarah Politik, tetapi tentu saja tidak ada di Program S1 Sistem Informasi, just kidding! Ada yang tahu sejarah bagaimana Uni Sovyet mencuri teknologi bom nuklir dari AS ? Tahun 1957, 12 tahun dari bom atom pertama (dan semoga yang terakhir) yang dijatuhkan di tanah Jepang, perang dingin AS vs. US mencapai puncak nya. DoD = Department of Defense, Departemen pertahanan nya negeri Paman Sam menghendaki sebuah infrastruktur telekomunikasi yang tahan perang nuklir! Tentu saja, bukan berarti DoD menghendaki dibuat nya pesawat telpon yang kebal di timpa bom atom, agak terlalu maksa. Waktu itu memang jaringan telepon di AS sudah cukup bagus, sehingga bisa dipakai untuk keperluan komunikasi rantai komando militer AS. Kelemahan dari sistem telepon adalah, perlunya sentral sentral telepon untuk mengatur / me-routing sambungan telpon dari asal ke tujuan. Sentral telepon ini lah yang disebut sebagai „single point of failure‟. Untuk melumpuhkan jalur komunikasi telepon dalam sebuah negara, tidak perlu mengebom semua tiang telepon, tetapi cukup mengebom sentral sentral telepon yang ada. Bahkan, mungkin sambungan telepon antar negara bagian (provinsi kalau di Indonesia), hanya dilayani oleh segelintir Sentral Telepon, yang tentu saja dengan aksi intelijen yang cukup, dapat mudah diketahui. Sentral Sentral telepon ini adalah titik lemah yang dianggap DoD dapat membahayakan jalur komunikasi, yang artinya bisa membahayakan rantai komando militer AS apabila terjadi perang, utamanya perang nuklir. Oleh karena itu, DoD men sponsori sebuah proyek penelitian dengan nama ARPA yang menghasilkan protocol IP yang sudah dibahas dimuka. Bagaimana bisa IP yang 4 - 18 hanya berupa angka angka IP Address melawan bom atom ? It‟s not a joke, ini serius. Detail teknis nya, IP protocol bukan cuma mengatur pengalamatan komputer dengan deretan angka xxx.xxx.xxx.xxx, tetapi mengatur secara mendetail tentang bagaimana cara mengirimkan data dari satu komputer ke komputer lain yang mungkin berjauhan dan mungkin melalui banyak router. Yang khas dari IP protocol adalah, data tidak dikirimkan sekaligus, tetapi dipecah pecah menjadi packet packet (sering disebut IP datagram). Alih alih sebuah data utuh di „route‟ melaui jalur yang sama dari komputer asal ke tujuan, IP procotol akan meroute data dari komputer asal ke tujuan per packet. Jadi, data gambar Siti Nurhaliza yang kita lihat di browser di warnet kita di Depok, mungkin sekali datang dari malaysia melalui jalur dan router yang berbeda beda pula. IP, dibantu TCP lah yang mengatur dan memastikan bahwa semua bagian Siti Nurhaliza, maksudnya tentu saja semua data untuk menampilkan gambar Siti, ke Depok dengan selamat, aman, tidak kurang suatu apa. Router mempunyai peran yang mirip dengan sentral telepon. Bedanya adalah, router jauh lebih murah dan mudah dibuat redundant, dan komunikasi data dapat di switch per packet sehingga jika sebuah router rusak karena di bom ataupun dicuri pengangguran tak bertanggung jawab, TCP/IP masih bisa mencoba mencari router lain yang mungkin agar data bisa sampai ke tujuan. Sedari awal, Internet didesain agar tiap komputer yang terhubung (sering disebut host) mempunyai redundant route path, sehingga tidak ada lagi „single point of failure‟. Ideal nya, kerusakan beberapa router dalam jaringan Internet akan bisa dikompensasi dengan men-switch jalur packet ke router lain yang akan tetap menjaga jalur komunikasi data tetap berjalan. Jika Anda pernah mendengar, dari sinilah kenapa teknologi IP sering disebut teknologi packet switching. Meskipun demikian, jika Anda mengakses Internet dari rumah menggunakan modem Telkomnet instant, jangan coba-coba menge bom modem Anda untuk mengetes apakah Internet Anda bisa menghadapi ancaman perang nuklir! PLEASE, DO NOT TRY THIS AT HOME! Selanjut nya kisah Internet dengan IP ini pun bergulir. Proyek ARPA dilanjutkan dengan ARPANET, disusul penemuan Ethernet, implementasi TCP/IP di BSD/Unix, sampai penemuan WWW (Web) dan browser pada tahun 90-an. Anda lebih tua dari Web kan ? Tertarik sejarah lagi ? Tentu saja sejarah Internet tidak akan dibahas di kuliah Sejarah Politik, silakan cari saja di search engine semacam www.google.com Ingat, belajar sejarah teknis bukanlah untuk menghafal tanggal, tetapi untuk belajar 5 - 18 semangat dan filosofi dasar dari sebuah karya teknis. Kita juga bisa tahu alasan kenapa sesuatu harus dibuat begini dan begitu. Pertanyaan selanjutnya, sedari tadi kita hanya membahas TCP/IP. Lalu apa hubungan antara TCP/IP dan HTTP, SMTP, FTP, NNTP dan any other term ended with ‘P’ ? Apakah mereka saudara sepupu atau kakak beradik ? Internet, Web dan HTML Telah dibahas dimuka bahwa protocol TCP/IP bertugas menyediakan fasilitas untuk mengirim dan menerima data dari suatu host ke host lain di Internet dengan melalui router router. IP bertugas menentukan route yang akan dilalui sebuah packet data, melompat dari satu router ke router lain yang akhir nya akan sampai ke host tujuan (satu lompatan dari router satu ke router yang lainnya disebut 1 hop). TCP bertugas menjamin semua packet tiba dengan selamat di host tujuan, lengkap dan urut dengan benar. Jadi dalam kasus gambar Siti Nurhaliza, IP bertugas menentukan router mana saja antara Jakarta dan Penang (ini judul lagu) yang harus dilalui. Untuk keperluan pengiriman ini, gambar Siti dengan format JPEG yang berukuran 100 Kilo Bytes (berapa byte kah 1 KB ?), akan dipecah pecah menjadi packet packet data kecil. IP harus menjamin bahwa masing masing packet ini sampai ke Jakarta. Tetapi IP tidak menjamin urutan dari packet ini, jadi boleh saja hidung Siti akan sampai lebih dahulu ke komputer kita di Jakarta sebelum mata. TCP akan menerima packet data dari IP ini, menyusunnya sesuai urutan, jika perlu meminta host asal untuk mengirim ulang packet jika ada packet yang hilang, misal nya karena router yang sedang dilewati kebetulan di bom. Sepertinya TCP/IP sudah cukup dan sangat powerfull. Kenapa mesti ada protocol protocol lain ? Jawabannya adalah, Internet dibuat tidak hanya untuk tukar menukar data gambar Siti Nurhaliza! Ada jutaan host di Internet, masing masing menyimpan jutaan file (mungkin ribuan sih, tetapi toh tetap masih banyak). Perlu aturan / protocol baru untuk membuat komputer komputer bisa saling mengerti, tahu file apa yang ada di dalam komputer tujuan, dan file apa yang akan diminta. Dalam kasus Siti (lagi), perlu dibuat aturan agak komputer di warnet yang sedang kita tongkrongi dapat meminta ke komputer dengan nama misal nya www.artismelayu.com.my gambar Siti Nurhaliza, yang kebetulan di sana disimpan di direktori /var/www/html/siti.jpg. Internet lahir di dunia UNIX, sistem operasi yang lebih tua dari MS Windows. Jika di MS Windows, path sebuah file dipisahkan dengan \ (backslash), maka path di UNIX dipisahkan dengan / (slash). Terminologi Internet banyak mengambil dari 6 - 18 UNIX, untuk lebih familiar dengan UNIX, Anda dapat belajar Linux yang „mirip‟ UNIX. Di Internet, host yang menyediakan file (lebih tepat nya layanan (service), biasanya menyediakan data berupa file), disebut server sedangkan host yang meminta layanan disebut client. Itulah kenapa jaringan Internet disebut jaringan client/server. Pada awalnya, protocol untuk meminta file dari sebuah host ke host lain yang paling populer adalah FTP (file transfer protocol). Server di Internet yang menyediakan layanan dengan FTP protocol, biasanya mempunyai „domain name‟ berawalan ftp, misal nya: ftp.sunsite.ui.ac.id, ftp.redhat.com, ftp.cdrom.com, dan seterusnya. Penamaan berawalan ftp ini bukan suatu keharusan, cuma sebuah kebiasaan. Di Internet, ada banyak singkatan, aturan, protocol, demikian juga kebiasaan yang menjadi aturan tak resmi. Yang tidak ada cuma pungli Pada server yang menyediakan layanan FTP, harus diinstall software yang bertugas menangani request dari client seantero dunia yang entah melalui router mana dan cara apa, bisa menghubungi dirinya. Software ini akan memonitor sebuah „port‟ dalam komputer server, yang untuk FTP biasanya (lagi lagi kebiasaan) di set ke nomor 21 (silakan cari sendiri sejarahnya, apa yang istimewa dengan angka 21). Server ini harus mengatur file apa saja didalam komputer server yang bisa dilihat dan dibaca oleh client. Layanan FTP juga bisa di set agar memungkinkan client tertentu bisa mengirimkan file ke server. Proses meminta file dari server disebut download, sedangkan mengirimkan fileke server disebut upload. Biasanya, software yang memberikan layanan di server tidak akan mengijinkan client mengakses semua file didalam komputer server, demikian juga tidak akan menampilkan path sebenarnya dari sebuah file di komputer server. Jadi misal nya, lagu Laksana_Raja_Dilaut.mp3 yang ada di direktori /var/ftp/pub/Music/Siti/ Laksana_Raja_Dilaut.mp3 hanya akan terlihat sebagai file dengan path /Mucis/Siti/ Laksana_Raja_Dilaut.mp3. Software server akan mengurus mapping antara path yang terlihat oleh client dan path yang real ada di komputer server. Gabungan antara protocol, alamat domain, nomor port dan path (yang dilihat dari sisi client) disebut Universal Resources Locator (URL, misal ftp://ftp.sunsite.ui.ac.id:21/Music/Siti/Laksana_Raja_Dilaut.mp3). Pada praktek nya, nomor port bisa tidak disertakan karena secara kebiasaan, layanan FTP selalu akan di set untuk bekerja di port nomor 21. Lagi lagi, jika FTP sudah sangat lengkap, kenapa pula ada protocol lain yang sekarang menjadi sangat populer bahkan paling populer, HTTP ? 7 - 18 FTP sangat powerfull dalam menangani proses download upload file. Bahkan FTP bisa diatur agar bisa menangani proses resuming, artinya jika proses download terputus di tengah jalan, proses hanya diteruskan dari posisi byte yang terputus, bukan dari awal file. Tetapi, FTP hanya berkonsentrasi pada dowload / upload file. FTP tidak bisa menyediakan informasi hubungan antara file file yang ada di server. Jadi tidak ada hubungan antara gambar Siti Nurhaliza dan uraian bio data Siti. Untuk itulah teknologi web lahir. Web menggunakan 2 protocol utama: HTTP dan HTML. HTTP adalah layanan seperti FTP, bertugas mengurusi transfer informasi, yang sudah dioptimasi untuk bekerja dengan HTML. HTML adalah sebuah format dokumen yang memungkinkan kita menyatukan informasi text dan gambar (bahkan suara, dan lain sebagainya, multimedia) ke dalam satu halaman web. Jadi, kita bisa menyatukan gambar Siti dan menuliskan Biodata nya disamping photo nya, sehingga jauh lebih informatif daripada kita harus mendownload gambar Siti dan dokumen biodatanya memakai protocol FTP. Halaman web biasanya akan kita jumpai dalam file file dengan ekstensi .htm atau .html. (pertanyaan: kenapa ada 2 macam ekstensi, .htm dan .html ? kenapa tidak satu saja ?). File HTML (misal nya dengan nama biodata.html) berisi text informasi (misal nya biodata Siti) dan „markup‟ text yang mempunyai arti khusus yang akan diartikan oleh „browser‟ kita. Misal nya markup “<IMG SRC=siti.jpg>” artinya instruksi kepada browser untuk mencari dan menampilkan gambar dengan nama siti.jpg. Ada banyak markup text dengan arti masing masing, misal nya untuk me lay out halaman, menentukan font, dan lain sebagainya. Yang paling penting, markup text ini bisa digunakan untuk membuat LINK, yaitu kita dapat menandai suatu bagian halaman web yang dapat digunakan untuk menuju halaman web lain baik halaman web itu ada di dalam server kita atau di server lain. HTML hanya menentukan browser untuk mencari dan menampilkan siti.jpg, tetapi bagaimana komputer kita yang sedang menjalankan browser dapat men-download file siti.jpg , atau bahkan file biodata.htm itu sendiri ? Proses download file ini lah yang menggunakan HTTP. Seperti hal nya FTP, komputer yang memberikan layanan HTTP harus mempunya software yang bertugas menangani request client untuk layanan ini. Software ini dinamakan Web Server, dan yang paling populer adalah Apache di lingkungan Unix / Linux ( www.apache.org ) . Di Lingkungan MS Windows, Microsoft mempunyai IIS. Layanan HTTP ini biasanya berjalan di port 80, tetapi kadang ada juga yang menjalankan layanan ini di port port lain, misal 8080. Jadi, sebenarnya Anda bisa 8 - 18 mengakses alamat Yahoo! dengan http://www.yahoo.com:80 . Apache web server ini berjalan juga di Windows, meskipun tidak se populer yang berjalan di Unix/Linux. Bagaimana Server Web melayani request dari browser ? Ketika ada request dari browser, maka Server Web melakukan 3 langkah berikut : a. Membaca request dari browser. b. Mencari page di server sesuai permintaan browser. c. Kirim balik page yang dimaksudkan melalui internet atau intranet ke browser tersebut. Proses ini dijelaskan dalam gambar berikut : Untuk dapat mengikuti kuliah Pemrograman Web dengan baik, sebaik nya Anda menginstall Apache di komputer Anda di rumah. Manual installasi Apache sudah disertakan dalam materi kuliah dan merupakan bagian tak terpisahkan dari modul kuliah ini. Pemrograman Web: Web Dinamis vs. Web Statis HTML sebenarnya adalah text file biasa yang kita bisa buat dengan editor seperti notepad di lingkungan Windows, ataupun vi di lingkungan Linux . Tetapi, kita juga bisa menggunakan editor yang khusus untuk web misal nya Macromedia 9 - 18 Dreamweaver, Microsoft Frontpage, Adobe Go Live dan sebagainya. Penggunaan Editor Web seperti ini akan sangat membantu kita dalam membuat tampilan web yang cool, tetapi pemahaman yang benar tentang markup text HTML (disebut tag) tetap masih diperlukan. Apakah yang dimaksud Flash ? Applet ? ActiveX ? apakah kita bisa membuat animasi di halaman web hanya dengan html markup text (tag) . Pada awal sejarahnya, web didesain untuk bekerja seperti halnya word processor, dimana kita mengetikkan informasi, termasuk membuat markup text untuk menampilkan gambar dan multimedia lainnya, menaruh nya di direktori yang sudah diset di Apache, dan muncullah halaman web kita. Jika komputer yang kita pasangi Apache terhubung ke Internet dengan IP Public dan DNS nya diset dengan benar, maka halaman web kita akan bisa dilihat oleh saudara saudara se Internet dimanapun mereka berada. Jika kita ingin mengubah informasi yang ada di web, kita harus mengedit dan mengganti isi dari suatu halaman web secara utuh. Untuk halaman web seperti biodata Siti yang mungkin tidak terlalu sering berubah (dari tahun lalu sampai sekarang Biodata Siti belum berubah, status nya tetap single ), hal ini sudah cukup. Tetapi bayangkan situs web seperti www.detik.com yang beritanya harus di update 5 sampai 15 menit sekali, jelas tidak praktis untuk mengubah isi halaman web nya setiap 5 menit sekali secara manual. Untuk itulah diperkenalkan teknologi web scripting. Pada intinya, web scripting adalah teknologi yang memungkinkan kita membuat isi halaman web secara dinamis secara terprogram. Jadi kata kunci nya ada di „terprogram‟, dari sinilah muncul kuliah Pe-mrogram-an Web. Web Scripting ada 2 jenis: client side dan server side scripting. Seperti sudah dibahas dimuka, client artinya komputer yang meminta data, dalam kasus web adalah komputer kita yang menjalankan browser, sedangkan server adalah host yang mempunyai informasi, misal nya host dengan alamat www.detik.com . Client side scripting adalah script (program kecil) yang berjalan di browser kita. Teknologi ini ada banyak macam dan datang dari banyak vendor, yang paling populer adalah JavaScript dan VBScript. Seperti halnya Anda memprogram dalam Visual Basic atau C++ atau Java, JavaScript mempunyai „source code‟ yang akan di download ke browser dan dijalankan oleh browser. Sedangkan Server side scripting akan berjalan di komputer server. Script ini akan mengolah informasi sedemikian rupa, menghasilkan dokumen HTML secara otomatis (terprogram) lalu mengirimkan 10 - 18 dokumen HTML ini ke browser. Dari sisi browser, html hasil script server side dan html biasa yang didapat dari file html nyaris tidak ada bedanya. Kita bisa menggunakan server side dan client side scripting, tetapi kuliah pemrograman web akan lebih berkonsentrasi pada server side scripting. Untuk keperluan server side scripting, bahasa yang paling populer saat ini dalah PHP. (www.php.net). PHP populer karena sangat mudah, praktis serta mendukung koneksi ke banyak database. Karena kebanyakan server side scripting mengandalkan data yang disimpan di database, kemampuan PHP untuk membaca banyak jenis database ini mungkin salah satu alasan PHP begitu populer. Disamping PHP, masih ada pemain lain di dunia server side scripting: ASP (ASP.NET) dari Microsoft dan JSP/Servlet dari dunia Java (Sun Microsystem). PHP tidak bisa bekerja sendiri, tetapi harus di install bersamaan dengan Web Server. PHP bisa bekerja dengan IIS maupun Apache. Manual installasi PHP dengan Apache sudah disertakan dalam materi kuliah dan merupakan bagian tak terpisahkan dari modul kuliah ini. Yang harus diingat, server side scripting berguna untuk meng-generate HTML dokumen secara dinamis dan terprogram. Jadi kata kunci nya adalah, Anda harus menguasai HTML nya terlebih dahulu sebelum belajar PHP. Tentu tidak harus kita menghafalkan semua tag HTML, cukup tag tag yang paling sering dipakai saja. Seperti sudah disinggung dimuka, kebanyakan server side script mengandalkan informasi / data yang disimpan di database. Oleh karena itu, kita akan belajar bagaimana membuat Web Dinamis secara Terprogram yang membaca / memanipulasi data yang tersimpan didalam database. Dalam hal ini, kita akan memakai database yang sangat populer untuk bekerja dengan PHP yaitu MySQL. MySQL bisa berjalan di lingkungan Unix/Linux maupun Windows. Manual Installasi juga disertakan dalam materi kuliah ini. Bagaimana Server Web menangani request PHP dari browser ? Jika Server Web menggunakan runtime untuk PHP script, maka Web Server akan melakukan aksi sebagai berikut : a. Membaca request dari browser. b. Mencari page PHP yang dimaksudkan oleh permintaan browser. c. Melakukan intruksi-intruksi script PHP yang ada dalam page tersebut dengan bantuna runtime PHP yang telah diinstall dalam Server Web, dimana hasilnya dalam bentuk text modifikasi HTML. d. Kirim balik hasilnya melalui internet ke browser yang request tersebut. 11 - 18 Ilustrasi seperti ditunjukkan dalam gambar dibawah ini : Jadi apa yang mampu dilakukan PHP dimana HTML tidak mampu melakukannya ? Ini ada beberapa contoh apa saja yang mampu dilakukan PHP dibandingkan kemampuan HTML : a. Menjadikan lebih mudah dalam melakukan perubahan/editing content halaman web, dimana content ini bisa didapatkan dari database. b. Membuat halaman web yang dapat di-customisasi sesuai level user yang sedang mengaksesnya. c. Menampilkan dan melakukan update content yang berasal dari database, juga melakukan manipulasi ataupun sorting data yang ditampilkan di halaman web tersebut. d. Menampilkan halaman web dengan bagian-bagian graphics yang dinamis. e. Mampu menangkap request user dan memberikan informasi jawabannya dalam proses intruksi-instruksi PHP. So, welcome to kuliah pemrograman Web. Anda harus memastikan proses intallasi Apache, PHP dan MySQL Anda lancar. Kemudian, Kita akan belajar HTML nya sendiri. Selanjut nya baru kita akan belajar tentang bagaimana membuat HTML secara dinamis memakai PHP. Setelah itu, kita akan menyambungkan PHP dengan MySQL yang menyimpan data. Konsep konsep database sendiri tidak akan kita bahas, Anda seharusnya sudah mendapatkan materi itu di kuliah lain. Kita juga akan membahas issue issue lain di dunia pemrograman web seperti issue security, session, dan lain sebagainya. Installasi Perograman Web Untuk kuliah Pemrograman Web ini dalam praktikumnya menggunakan software sebagai berikut : 12 - 18 - Web Server Script Code Database Script Editor Web Browser : Apache 2.0 : PHP 5 : MySQL 4 : Macromedia Dreamweaver MX 6.0 : Internet Explorer Sebagai installer untuk Apache, PHP, dan MySQL, akan menggunakan Paket Installer WAMP5 versi 1.6.4. Saat kita install WAMP5, maka akan kita dapatkan : - PHP 5.1.3 - MySQL 5.0.22 - phpmyadmin 2.8.1 - MySQL administration Installer ini bisa download gratis di : http://www.wampserver.com/en/ . Berikut Langka-langkah untuk melakukan installasi WAMP5 : Jalankan aplikasi installer WAMP5, yaitu file wamp5_1.6.4a.exe Tampilan installer WAMP5 seperti dibawah ini. Selanjutnya klik NEXT untuk memulai installasi. Pada tampilan Lincese Agreement, pilih ”I accept the agreement”, kemudian klik NEXT. 13 - 18 Pada tampilan Select Destination Location, pastikan di folder : ”c:\wamp”. Kemudian klik NEXT. Pada tampilan Select Start Menu Folder, pastikan nama shortcuts : ”WampServer”. Kemudian klik NEXT. Pada tampilan Select Additional Task, AutoStart bisa Anda pilih. Kemudian klik NEXT. 14 - 18 Sekarang telah siap untuk installasi. Klik INSTALL. Proses installasi... Saat muncul pertanyaan untuk memilih folder root web server, maka pastikan dipilih folder ”www”, yang directory lengkap sebagai berikut : c:\wamp\www\. Kemudian klik OK. 15 - 18 Saat muncul pertanyaan untuk Default Browser, Anda bisa memilih Internet Explorer sebagai default browser, yaitu pada file aplikasi explorer.exe Proses installasi telah selesai. Klik FINISH. Menjalankan WAMP Server Untuk mejalankan service WAMP Server, yaitu Web Server Apache yang telah terinstall juga runtime PHP maupun database MySQL, Anda bisa klik short menu di Komputer Window Anda. 16 - 18 Silahkan untuk klik kanan, maka akan ditampilkan menu tray-icon dari WAMP5. Untuk testing apakah WAMP5 dan webserver Apache telah terinstall dengan benar, maka dengan Internet Explorer coba connect ke URL : ”http:// localhost/” 17 - 18 18 - 18