#ALIH [[Pengembangan web]]
{{rapikan}}
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
<big>Trend : Fakta</big>
#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
<big>Trend: Killer Application</big>
<br/>
:Internet:
:#Email
:#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
<br/>
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. <br>
sedangkan untuk XHTML Versi terbaru adalah XHTML 1.1
<br>
Dalam pemrograman web perlu diketehui mengenai konsep Client Side Script dan Server Side Script, serta kelebihan dan kekurangannya. <br>
Client Side Script :<br>
* 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:
* http://www.dynamicdrive.com
* http://www.javascriptsource.com
<br> 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
<br>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
== 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:
{| class="wikitable"
|-
! Bahasa Pemrograman !! Keterangan
|-
| HTML|| [[Hypertext_markup_language|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|Mozilla Firefox]], [[Internet_Explorer|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|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|linux]] (PHP juga bisa dijalankan dengan hosting windows).
|-
| ASP|| ASP adalah singkatan dari [[Active_Server_Pages#cite_note-joh-0|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|Extensible Markup Language]] (XML) adalah [[Bahasa_markup|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|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 [[C_(bahasa_pemrograman)|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.
|