modul kuliah pemrograman web

advertisement
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
Download