Pemrograman Web
artikel ini perlu dirapikan agar memenuhi standar Wikipedia. |
Pemrograman web diambil dari 2 suku kata yaitu pemrograman dan web. Pemrograman yang dalam bahasa English adalah programming dan diartikan proses, cara, perbuatan program (secara bahasa indonesia) (http://www.artikata.com/arti-374430-pemrograman.php) Definisi : jaringan komputer yang terdiri dari kumpulan situs internet yang menawarkan teks dan grafik dan suara dan sumber daya animasi melalui protokol transfer hypertext. (http://www.artikata.com/arti-201588-web.php). Orang banyak mengenal web dengan istilah WWW (world wide web), World Wide Web adalah layanan internet yang paling populer saat ini internet mulai dikenal dan digunakan secara luas setelah adanya layanan WWW . WWW adalah halaman-halaman website yang dapat saling terkoneksi satu dengan lainnya (hyperlink) yang membentuk samudra belantara informasi . WWW berjalan dengan protokol HyperText Transfer Protokol (HTTP). Halaman Web merupakan file teks murni (plain text) yang berisi sintaks-sintaks HTML yang dapat dibuka/ dilihat/ diterjemahkan dengan Internet Browser . Sintaks HTML mampu memuat konten text, gambar, audio, video dan animasi. Kini internet identik dengan web, karena kepopuleran web sebagai standar interface pada lanyanan-layanan yang ada di internet, dari awalnya sebagai penyedia informasi, ini digunakan juga untuk komunikasi dari email sampai dengan chatting, sampai dengan melakukan transaksi binsin (commerce) (Betha Sidik,Ir, Pemrograman web dengan HTML, Informatika Bandung, 2005) Banyak keuntungan yang diberikan oleh Aplikasi berbasis Web dari pada aplikasi berbasis destop, sehingga aplikasi berbasis web telah diadopsi oleh perusahaan sebagai bagian dari strategi teknologi informasinya, karena beberapa alasan :
- Akses informasi mudah,
- Setup server lebih mudah
- Informasi mudah didistribusikan
- Bebas platform, informasi dapat disajikan oleh browser web pada sistem operasi mana saja karena adanya standar dokumen berbagai tipe data dapat disajikan.
Pendahuluan
Bagaimana cara kerja WWW:
- Informasi web disimpan dalam dokumen yang disebut dengan halaman-halaman web (web pages).
- Web page adalah file-file yang disimpan dalam komputer yang disebut dengan server-server web (web server).
- Komputer-komputer membaca web page disebut sebagai web client.
- Web client menampilkan page dengan menggunakan program yang disebut dengan browser web.
- Salah satu contoh browser web yang populer adalah Internet Explorer
Trend : Fakta
- Browsing / Surfing sudah merupakan aktifitas rutin sehari-hari
- Internet menjadi sumber informasi yang tak terhingga! (apalagi dengan adanya Om Yahoo! dan Mas Google)
- Jutaan halaman web baru bermunculan setiap hari
- Konten web semakin bervariasi dan dapat dikontribusi oleh siapa saja dimana saja
Trend: Killer Application
- Internet:
- Online Games
- Chat (mIRC, Yahoo Messenger)
- Google Earth
- Web based:
- Search Engine (Yahoo!, Google)
- Web Blog
- Web Komunitas: Friendster, MySpace, Multiply, Hi5, Yahoo 360°, YouTube,Facebook
Berdasarkan keter-update-an isi web:
- Web Statis : website yang isi tampilannya selalu sama dan tidak akan pernah berubah kapan pun kita melihatnya. (jika tidak di-update)
- Web Dinamis: website yang isi tampilannya tidak statis
Membuat website sangat mudah dengan menggunakan tools seperti Microsoft Frontpage, Dreamweaver, dan lain-lain, tetapi sintaks HTML harus dikuasai dengan baik oleh seorang programer. Dengan HTML membantu dalam mengembangkan fitur yang dinamis: script, applet, konten multimedia, dll.
Versi HTML terbaru adalah HTMl5 (http://wiki-indonesia.club/wiki/HTML5), XHTML adalah standar baru untuk HTML yang bertujuan: memungkinkan sebuah dokumen web dapat dibaca oleh divais baru seperti PDA, ponsel, dll.
Crossbrowser: ditampilkan sama untuk semua jenis browser.
sedangkan untuk XHTML Versi terbaru adalah XHTML 1.1
Dalam pemrograman web perlu diketehui mengenai konsep Client Side Script dan Server Side Script, serta kelebihan dan kekurangannya.
Client Side Script :
- Script yang ditambahkan dalam dokumen html, dieksekusi oleh browser client.
- Javascript, VBScript.
Script yang ditambahkan (embedded) pada halaman web yang sebelumnya hanya disusun dengan sintaks HTML. Penambahan script ini mempunyai tujuan tertentu. Misalnya:
- menampilkan jam dan tanggal yang up- to-date,
- menu yang dinamis (mis: pull down menu),
- kontrol terhadap sebuah window,
- animasi sederhana, animasi mouse
- maupun untuk validasi form, dll
Keuntungan
- Waktu proses relatif cepat karena langsung dieksekusi oleh browser client
- Tidak memerlukan web server untuk hosting
- Dapat dieksekusi langsung oleh berbagai browser
Kelemahan
- Script bisa dilihat oleh pengguna
- Script dapat di copy-paste
- Tidak cocok untuk akses data atau database
Tips-tips dalam Client Side Script: Gunakan untuk proses-proses sisi client, Script Javascript mudah untuk “dibajak”, Pelajari bagaimana cara “menambahkan” ke website kita Source:
Server Side Script:
- Script yang ditambahkan dalam dokumen html, dieksekusi oleh server, hasilnya dalam bentuk html yang dikirim ke client.
- ASP/ASP.Net, PHP, CGI, JSP, dll .
Digunakan untuk membuat aplikasi web atau konten-konten dinamis: news, buku tamu, dll
PHP: open source dan banyak digunakan luas
Active Server Pages (ASP) dan ASP.Net, teknologi yang dikembangkan oleh Microsoft
ColdFusion (CFM), dikembangkan oleh Macromedia
Java Server Pages dan Servlet dikembangkan oleh Sun Microsystem
Common Gateway Interface (CGI), yang dibuat dengan bahasa pemrograman C++ atau Perl
Server Side Include (SSI), seperti misalnya Frontpage Server Extension
Keuntungan
- Script tidak bisa dilihat oleh pengguna, sehingga tidak dapat di-copy-paste
- Cocok untuk akses data atau aplikasi database
- Untuk membuat fitur-fitur tertentu yang berguna, misalnya: hit counter, user manajemen, disain yang dinamis, CMS, dll
Kelemahan
- Waktu proses relatif lebih lambat karena dieksekusi oleh server
- Memerlukan web server untuk hosting
PERBEDAAN WEB 1.0, WEB 2.0 dan WEB 3.0
Web adalah suatu ruang informasi di mana sumber-sumber daya yang berguna diidentifikasi oleh pengenal global yang disebut Uniform Resource Identifier (URI). Secara umum, Web 1.0 dikembangkan untuk pengaksesan informasi dan memiliki sifat yang sedikit interaktif.Secara garis besar, sifat Web 1.0 adalah Read.
Lalu, tak lama kemudian muncullah Web 2.0 yang merupakan revolusi bisnis di industri komputer yang disebabkan oleh penggunaan internet sebagai platform, juga merupakan suatu percobaan untuk memahami aturan untuk mencapai keberhasilan platform baru. Sifat Web 2.0 adalah Read-Write. Era Web 2.0 tidak membutuhkan orang jenius yang hanya berkutat sendiri di ruang tertutup atau laboratorium untuk membuat teknologi baru yang dipatenkan agar membuat dirinya menjadi terkenal. Tapi era ini lebih membutuhkan orang untuk saling berbagi ilmu, pengalaman atau lainnya sehingga terbentuk komunitas online besar yang menghapuskan sifat-sifat individu.
Sedangkan letak perbedaan Web 1.0 dan Web 2.0 yaitu :
1. Perilaku pengguna Membaca Menulis
2. Pelaku utama Perusahaan Pengguna/Komunitas
3. Hubungan dengan server Client-server Peer to peer
4. Bahasa pemrograman penampil konten HTML XML
5. Pola hubungan penerbit-pengguna Searah Dua arah/ Interaktif
6. Pengelolaan konten Taksonomi/direktori Folksonomi/penanda/tag
7. Penayangan berbagai kanal informasi Portal RSS/Sindikasi
8. Hubungan antar pengakses Tidak ada Berjejaring
9. Sumber konten Penerbit/pemilik situs Pengguna
Yang menjadi kunci perbedaan dalam Web 2.0 dan Web 1.0 adalah keterbatasan pada Web 1.0 yang mengharuskan pengguna internet untuk datang ke dalam website tersebut dan melihat satu persatu konten di dalamnya.Sedangkan Web 2.0 memungkinkan pengguna internet dapat melihat konten suatu website tanpa harus berkunjung ke alamat situs yang bersangkutan.Kemampuan web 2.0 dalam melakukan aktivitas drag and drop, auto complete, chat, voice dapat dilakukan layaknya aplikasi desktop. Selanjutnya adalah Web 3.0, jika dunia seluler dikenal istilah 3G, maka di Internet ada yang namanya Web 3.0. Wow, apa pula ini? Apa bedanya dengan Web 2.0 yang sekarang sedang marak? Jangan salah, ternyata orang Indonesia juga sudah ada yang mengembangkannya.
Konsep ini dapat diandaikan sebuah website sebagai sebuah intelektualitas buatan (Artificial Intelegence).Aplikasi – aplikasi online dalam website dapat saling berinteraksi, kemampuan interaksi ini dimulai dengan adanya web service.
Di web 3.0 ini, sudah terjadi konvergensi yang sangat dekat antara dunia TI dengan dunia telekomunikasi. Dunia web dan telco berkembang pesat seiring dengan kebutuhan pengguna. Penggunaan perangkat TI dan telekomunikasi nantinya sudah seperti sama saja tidak ada bedanya. Saat ini saja pertanda seperti itu sudah mulai bisa kita rasakan walaupun masih belum sempurna. Kita bisa menonton tivi di ponsel atau komputer, bisa mengakses internet di ponsel, bisa melakukan SMS dan telepon dari komputer. Ya karena konvergensi terhadap berbagai perangkat seperti hukum alam yang tidak bisa dielakkan. Semua mengalami evolusi menuju dunia yang lebih maju.
Permasalahan lain yang potensial muncul adalah, sebagai teknologi masa depan, Web 3.0 juga membutuhkan kecepatan akses Internet yang memadahi dan spesifikasi komputer yang tidak enteng, hal ini disebabkan tak lain karena teknologi ini secara visual berbasis 3D. Sedangkan seperti yang kita tahu biaya akses Internet dengan kecepatan tinggi di Indonesia ini masih terbilang mahal bagi masyarakat umum. Belum lagi jika dihitung dari biaya spesifikasi perangkat komputer yang dibutuhkan, mungkin masyarakat Indonesia yang ingin menikmati kecanggihan layanan berbasis teknologi Web 3.0 masih harus menarik nafas penjang. Namun karena Web 3.0 sendiri masih dalam pengembangan, seiring dengan berlalunya waktu sebagai masyarakat Indonesia kita masih bisa mengharapkan bahwa biaya komunikasi, dalam hal ini koneksi Internet kecepatan tinggi akan semakin murah nantinya, sehingga terjangkau bagi masyarakat luas.
Bahasa Pemrograman Web
Bahasa pemrograman merupakan suatu teknik instruksi standar untuk memerintah komputer. Berikut adalah penjelasan tentang bahasa pemrograman yang biasa digunakan untuk membuat suatu website:
Bahasa Pemrograman | Keterangan |
---|---|
HTML | HyperText Markup Language (HTML) adalah sebuah bahasa markup yang digunakan untuk membuat sebuah halaman web dan menampilkan berbagai informasi di dalam sebuah browser Internet.
HTML saat ini merupakan standar Internet yang didefinisikan dan dikendalikan penggunaannya oleh World Wide Web Consortium (W3C). HTML berupa kode-kode tag yang menginstruksikan browser untuk menghasilkan tampilan sesuai dengan yang diinginkan. Sebuah file yang merupakan file HTML dapat dibuka dengan menggunakan browser web seperti Mozilla Firefox, Microsoft Internet Explorer dll. |
PHP | Personal Home Page (PHP) adalah bahasa pemrograman script yang paling banyak dipakai saat ini.
PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama FI (Form Interpreted), yang wujudnya berupa sekumpulan script yang digunakan untuk mengolah data form dari web. PHP banyak dipakai untuk membuat situs web yang dinamis, walaupun tidak tertutup kemungkinan digunakan untuk pemakaian lain. PHP biasanya berjalan pada sistem operasi linux (PHP juga bisa dijalankan dengan hosting windows). |
ASP | ASP adalah singkatan dari Active Server Pages yang merupakan salah satu bahasa pemograman web untuk menciptakan halaman web yang dinamis.
ASP merupakan salah satu produk teknologi yang disediakan oleh Microsoft. ASP bekerja pada web server dan merupakan server side scripting. |
XML | 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. XML merupakan suatu metode dalam membuat penanda/markup pada sebuah dokumen. |
WML | WML adalah kepanjangan dari Wireless Markup Language, yaitu bahasa pemrograman yang digunakan dalam aplikasi berbasis XML (Extensible Markup Langauge). WML adalah bahasa pemrograman yang digunakan dalam aplikasi wireless.
WML merupakan analogi dari HTML yang berjalan pada protocol nirkabel. |
PERL | Perl adalah bahasa pemrograman untuk mesin dengan sistem operasi Unix (SunOS, Linux, BSD, HP-UX), juga tersedia untuk sistem operasi seperti DOS, Windows, BeOS, VMS, EBCDIC, dan PocketPC.
PERL merupakan bahasa pemograman yang mirip bahasa pemograman C. |
CFM | CFM dibuat menggunakan tag ColdFusion dengan software Adobe ColdFusion / BlueDragon / Coldfusion Studio.
Syntax coldfusion berbasis html. |
Javascript | Javascript adalah bahasa scripting yang handal yang berjalan pada sisi client.
JavaScript merupakan sebuah bahasa scripting yang dikembangkan oleh Netscape. Untuk menjalankan script yang ditulis dengan JavaScript kita membutuhkan JavaScript-enabled browser yaitu browser yang mampu menjalankan JavaScript. |
CSS | Cascading Style Sheets (CSS) adalah suatu bahasa stylesheet yang digunakan untuk mengatur tampilan suatu dokumen yang ditulis dalam bahasa markup.
Penggunaan yang paling umum dari CSS adalah untuk memformat halaman web yang ditulis dengan HTML dan XHTML. Walaupun demikian, bahasanya sendiri dapat dipergunakan untuk semua jenis dokumen XML termasuk SVG dan XUL. Spesifikasi CSS diatur oleh World Wide Web Consortium (W3C). |
Teknologi & aplikasi Web
Teknologi
ActiveX
- ActiveX adalah sebuah teknologi integrasi bukan sebuah bahasa pemrograman.
- ActiveX dapat disebut sebagai lem yang menyatukan berbagai macam kode bahasa pemrograman sehingga dapat bekerja sama menjadi sebuah aplikasi Internet.
- ActiveX mirip dengan OLE (Object Linking and Embedding).
- Ditandai dengan tag <OBJECT> pada html
- Java Applet
- Flash (Shockwafe)
- Komponen ActiveX (develop dg VBScript)
- dll
Aplikasi Web
- E-Commerce: menggambarkan konsep melakukan transaksi antara pembeli dan penjual melalui jaringan elektronik (internet)
- E-Bisnis: menggambarkan semua aspek berbisnis di / dengan / melalui Internet. E-Business mencakup semua aspek E-commerce
- E-Learning, E-Government, dan lain-lain
contoh aplikasi web adalah :
- Amazon.com
- bhinneka.com
- Okezone.com
- Detik.com
- Elista.akprind.com
- Sleman.go.id
- Padang.go.id
- Bantul.go.id
Arsitektur Client Server
Thic dan Thin Clients
Aplikasi web adalah jenis aplikasi yang menggunakan arsitektur client-server. Pada jenis arsitektur ini, sebuah program client terhubung pada sebuah server untuk informasi yang dibutuhkan untuk melengkapi tugas-tugas yang telah diset oleh user. Ada yang disebut thin client (client tipis), dan ada juga thick client (client tebal). Thin client adalah clients yang hanya berisikan sedikit dari apa yang diperlukan untuk pengalaman user, kebanyakan hanya interface. Semua logika bisnis, semua data, terkecuali yang disediakan oleh user, berada di dalam server. Thick clients adalah clients yang sama, kecuali pada interface, juga berisi beberapa, jika tidak banyak, logika pengolahan diperlukan untuk tugas-tugas user yang spesifik.
Arsitektur Client-Server dari perspektif Web
Client digunakan untuk aplikasi web thin clients. Program client, pada hal ini adalah browser, hanya sebuah interface yang oleh user digunakan untuk melaksanakan tugas-tugas. Yang lainnya, dari data yang user perlukan untuk dioperasikan, logika yang menentukan aliran program dan eksekusi, berada pada server. Dari suatu perspektif web base disini adalah tugas-tugas dari server client:
- Web server
- Pada dasarnya, server menerima permintaan-permintaan dari para client web browser dan kemudian meresponnya.
- Web client
- Tugas browser adalah menyediakan user sebuah interface dimana akan meminta server dan menampilkan respon dari server.
- HTTP
- HTTP singkatan dari “HyperText Transfer Protocol“. Merupakan sebuah protokol jaringan dengan fitur-fitur Web-specific yang berjalan pada bagian teratas dari dua lapisan protokol lain, TCP dan IP. HTTP menggunakan urutan Request/Response: Sebuah HTTP client membuka koneksi dan mengirim sebuah pesan permintaan pada HTTP server; server kemudian mengirimkan pesan respon, biasanya berisikan resource yang diminta.
- HTTP Requests
- Permintaan-permintaan dari client ke server berisikan informasi tentang macam-macam data yang user inginkan. Salah satu item informasi yang dienkapsulasi pada permintaan HTTP adalah sebuah nama method. Ada dua protokol yang mungkin akan Anda gunakan : GET dan POST.
- GET
- GET adalah method HTTP paling sederhana dan digunakan sebagian besar untuk meminta resource tertentu dari server, apakah berupa halaman web, file gambar grafis, atau sebuah dokumen, dan lain-lain.
- POST
- Jenis lain dari method permintaan yang pasti akan digunakan adalah permintaan POST. Jenis permintaan ini didesain seperti browser dapat membuat permintaan kompleks dari server.
- HTTP Response
- HTTP merespon dari server yang berisi headers dan body pesan, seperti yang permintaan HTTP lakukan.
- Dynamic over Static pages
- Macam-macam content/isi yang dapat dilayani oleh web server dapat berupa statis atau dinamis. Content statis adalah isi yang statis atau tidak dapat dirubah. Content jenis ini biasanya hanya berada pada storage/penyimpanan dimana server dapat mengaksesnya dan akan diambil berdasarkan permintaan. Contoh dari content statis meliputi kumpulan artikel surat kabar, gambar keluarga dari galeri foto online, atau bahkan mungkin salinan online dokumen
- Dinamic content, pada sisi lain, berubah menurut input dari user. aplikasi apa pada server yang dapat mengakses pada tipe content ini yaitu semacam template yang dapat ketahui yang mengacu pada bagaimana dokumen dapat dikirim dan akan terlihat secara umum, template ini kemudian membuat persetujuan pada parameter yang dikirim oleh user dan dikembalikan pada klien.