Minggu, 29 Mei 2011

Perkembangan Website

Pengenalan Web

Perkembangan teknologi informasi yang kian pesat memacu munculnya situs baru yang dapat diakses melalui jaringan internet. Data dari survey yang dilakukan oleh Netcraft (http://news.netcraft.com/archives/web_server_survey.html) menunjukkan bahwa sampai pada bulan Maret 2008 ini jumlah website telah mencapai angka 162.662.052 situs dengan 4,5 juta situs baru pada bulan ini. Hal ini memungkinkan jumlah situs baru pada tahun 2008 ini mencapai 60 juta situs atau meningkat 20% dari perkembangan tahun 2007 yang mencapai 50 juta situs baru. Perkembangan jumlah situs ini tidaklah mengherankan karena semakin banyaknya orang yang melakukan blogging baik melalui Google, blogspot.com, ataupun MySpace. Namun demikian, situs yang benar-benar aktif pada bulan Maret 2008 hanyalah 65,6 juta atau 40,33% dari jumlah total situs.

Dengan perkembangan jumlah situs yang luar biasa besar ini menuntut para pemrogram web (web programmer) untuk selalu berkreasi menciptakan ide-ide baru baik dalam desain layout, penggunaan aplikasi server web, maupun operating system yang dipakai, agar situs yang dibangunnya tidak kandas dalam persaingan.

Bahasa pemrogaraman web

Saat ini banyak sekali bahasa pemrogaraman web yang dipakai untuk membangun sebuah situs. Bahasa pemrograman yang dipakai antara lain Hyper Text Markup Language (HTML), Dynamic HTML (DHTML), eXtesible Markup Language (XML), XHTML, PHP (PersonalHome Page: Hypertext Preprocessor), CGI (Common Gateway Interface), Perl (Practical Extraction and Report Language), ColdFusion, ASP (Active Server Page), Java, JHTML.

HTML sebenarnya bukanlah bahasa pemrograman namun hanyalah bahasa markup. Bahasa HTML adalah bahasa yang sederhana dan hanya memiliki sedikit kesulitan. Bahasa yang merupakan dasar dari framework Internet ini ditemukan oleh Tim BernersLee pada tahun 1989. Hampir setiap situs web menggunakan bahasa ini, entah sekedar menampilkan teks, animasi, tampilan grafis, ataupun suara. Bahasa HTML sebenarnya berasal dari bahasa lama yang disebut dengan SGML (Standard Generalized Markup Language). Namun perkembangan HTML sudah dimulai sejak kurang lebih 10 tahun bahasa tersebut diperkenalkan. Sedangkan DHTML adalah bahasa yang bisa diakses dan dimodifikasi oleh bahasa script seperti Vbscript, Javascript. DHTML sering dimanfaatkan untuk menampilkan animasi-animasi seperti efek text, perubahan warna, dan lain sebagainya. Bahasa ini sering juga disebut sebagai versi objek dari HTML. XML adalah bahasa yang sifatnya lebih terbatas daripada elemen-elemen HTML. Dengan XML, orang bisa menentukan elemen-elemennya sendiri lalu kemudian mengembangkannya. XML saat ini biasa dijumpai pada aplikasi RSS (Really Simple Syndication).

Bahasa ini masih dalam pengembangan. XHTML merupakan gabungan dari bahasa HTML dan XML. Seperti halnya XML, bahasa ini juga masih tergolong baru namun diramalkan akan sangat berperan dalam mewarnai dunia web di masa depan. Info selengkapnya mengenai bahasa ini bisa ditemukan di www.w3r.org. Bahasa pemrograman web yang paling populer saat ini adalah PHP. PHP ditulis oleh Rasmus Lerdorf pada tahun 1994 yang pada awalnya ia gunakan untuk mencatat jumlah pengunjung situs yang membuka halaman resumenya. Ia kemudian menulis ulang kode-kodenya dengan bahasa C yang kemudian menjadikan bahasa itu menjadi lebih kaya kemampuan. Barulah setelah itu banyak bermunculan tokoh-tokoh yang berjasa dalam perkembangan PHP seperti Zeev Suraski dan Andi Gutmans yang menulis kembali parsing engine unuk menciptakan PHP versi 3. PHP kemudian menjadi modul Apache yang paling sering digunakan. Saat ini sedang dikembangkan PHP versi 5.2.5 dan PHP 4.4.8.

CGI (Common Gateway Interface) merupakan standar internet tertua dan paling berkembang sebagai suatu alat lewatnya informasi dari web server ke suatu program dan mengembalikan hasilnya ke browser. Suatu program CGI dapat ditulis dengan bahasa-bahasa Perl, Java, C, C++, Scriptscript UNIX, Visual Basic, MacOS atau AppleScript. Karena itulah CGI sebenarnya kurang tepat jika dikategorikan sebagai bahasa karena program CGI sendiri dapat ditulis menggunakan beragam bahasa. PERL merupakan bahasa pemrograman tingkat tinggi yang ditemukan oleh Larry Wall (1987). PERL memiliki kemampuan untuk dapat diterapkan pada hampir semua jenis Operating System dan yang terpenting, PERL bisa didapatkan secara free. Dalam aplikasinya eksekusi PERL biasa dijalankan dengan CGI (Common Gateway Interface) sebagai mekanisme untuk menampilkan output text ke browser.

Coldfusion adalah sistem pengembangan aplikasi yang dikembangkan oleh Alaire. File Coldfusion ini memiliki ekstensi CFM. File-file CFM disimpan dalam bentuk plain text, sama halnya seperti PERL dan PHP sehingga siapapun dapat melihat isinya. ASP diciptakan khusus bagi server IIS milik microsoft, namun demikian saat ini server Apache::ASP yang ditulis dengan bahasa Perl sudah dapat menangani file ASP. Bahasa ini merupakan bahasa pemrograman web yang dinamis. ASP dapat digunakan untuk mengeksekusi beragam request terhadap suatu database atau perintah-perintah pada system lokal. JHTML adalah bahasa standard JavaSoft keluaran SUN yang diciptakan untuk mengikutsertakan Java dalam sebuah file HTML. Bahasa ini memiliki tag tersendiri yang diproses sebelum mengirimkan output pada browser. JHTML hampir mirip dengan HTML, hanya saja memiliki tambahan tag .

Selain bahasa pemrograman yang harus dipilih, untuk membangun sebuah website yang dinamis diperlukan sebuah basis data (database). Saat ini tersedia berbagai database yang dapat diaplikasikan untuk pemrograman web baik yang berbayar seperti Oracle, Microsoft Access, Microsoft SQL Server maupun yang gratis (free) seperti MySQL, PostgreSQL. Banyak programer web yang saat ini memilih database gratis seperti MySQL karena kemudahan akan penggunaan, referensi, dan di samping karena faktor ketenarannya. Tatacara dan mekanisme penggunaan database dalam pemograman web tidak akan dijelaskan dalam makalah ini.

Kriteria Web dan Aspek Keamanan

Website yang baik harus memenuhi kriteria dalam aspek fungsionalitas, desain, konten, orisinalitas, profesionalisme dan keefektivan. Sesuai dengan kriteria dalam penghargaan website terbaik tingkat dunia (World Best Website Awards), aspek fungsionalitas yang dinilai meliputi: keteraksesan, kecepatan dan bandwidth, kualitas HTML, navigasi dan link, dan legalitas. Sedangkan dalam aspek desain, subaspek yang dinilai adalah desain grafis, user friendliness, beauty, layout, dan integritas. Dari segi konten, termasuk aspek yang dinilai adalah tujuan, interaktivitas manusia, proses informasi, ekspresi verbal, ketersediaan konten secara detail. Dalam aspek orisinalitas, subaspek yang dinilai adalah inovasi, kreativitas, teknologi, dan visi. Untuk aspek profesionalisme dan keefektivan meliputi customer service dan respon client, nilai, focus, komponen tambahan, dan keefektifan situs secara keseluruhan. Kriteria-kriteria tersebut dinilai untuk penilaian level 1. Untuk penilaian level berikutnya aspek yang paling penting adalah sekuritas server dan rangking search engine. Dengan demikian aspek aspek tersebut di atas dapat dijadikan acuan dalam pembangunan sebuah website yang baik, sehingga peran programer web dalam hal ini sangat penting.

Konsistensi dalam Basis Data

Banyak programer yang kurang menyadari konsistensi data ketika membangun sebuah aplikasi berbasis web. Padahal konsistensi data adalah sesuatu yang sangat penting agar output yang dikeluarkan sesuai dengan yang diharapkan. Hal ini akan semakin bertambah sensitif jika aplikasi kita berhubungan dengan nasib seseorang atau paling tidak berkaitan dengan masalah uang. Sebagai sebuah ilustrasi, maka akan dikemukakan sebuah contoh kasus pengisian KRS yang terjadi di Unnes pada tiap semester.

Unnes menggunakan sistem rombel (rombongan belajar), sebuah sistem yang kurang lebih sama dengan sistem kelas pada jaman dahulu. Dengan sistem rombel, peserta yang mengikuti suatu mata kuliah X dibatasi sesuai dengan kapasitas ruang yang tersedia. Misalkan mata kuliah X tersebut memiliki kapasitas maksimum 50 orang. Pengambilan MK dilakukan dengan melakukan request ke server tentang MK yang akan diambil dengan mengklik link yang disediakan. Dengan model ini, maka besar kemungkinan dalam satu waktu yang bersamaan terdapat sejumlah banyak user mahasiswa yang melakukan klik mata kuliah yang sama. Jika itu terjadi pada saat jumlah pengikut baru mencapai kurang dari 49 peserta, maka konsistensi data mungkin masih terjaga. Masalah akan timbul jika peserta sudah mencapai 49 orang sehingga masih ada sisa 1 orang yang bisa tertampung, padahal dalam satu waktu tersebut terdapat 10 orang yang sedang klik MK X. Jika semua counter untuk seluruh mahasiswa mengatakan peserta baru 49 orang, maka apakah kesepuluh tersebut akan dicatat sebagai peserta MK tersebut? Tentu tidak. Jika semua diterima, maka peserta yang terdaftar sebanyak 59 orang yang sudah barang tentu melebihi kapasitas ruang. Jika tidak semua peserta diterima sebagai peserta mata kuliah X, maka siapa yang harus diterima? Jawabnya adalah sistem transaksi basis data (database transaction). Masalah yang hampir sama dapat terjadi dalam banyak kasus dalam kehidupan seharihari, seperti yang terjadi saat 'transaksi' di bank.

Idealnya, sebuah basis data harus memenuhi syarat ACID yaitu: atomicity (transksi dikerjakan semua atau tidak sama sekali), consistency (seluruh transaksi harus terintegral sesuai dengan konsistensinya), isolation (suatu proses tidak boleh mencampuri proses yang lain), durability (transaksi tidak dapat dibatalkan kemudian atau hasil yang diperoleh diabaikan). MySQL sebagai salah satu database yang sangat populer dipakai oleh para pemrogram web telah mendukung transaction. Agar proses transction dalam sebuah tabel berjalan, maka tabel tersebut harus bertipe InnoDB. Untuk itu pada saat membuat tabel yang diperlukan dalam aplikasi perlu didefinisikan tipe dari tabel tersebut, karena secara default tipe tabel di MySQL adalah MyISAM.

DEFINISI & KONSEP WEB 2.0

Meskipun sudah menjadi pembicaraan sejak tahun 2004, Web 2.0 bukanlah kata yang familiar bagi pengguna internet. Masih banyak pengguna yang mempertanyakan maksud dan manfaat dari penggunaan Web 2.0, terutama jika dibandingkan dengan web yang telah mereka kenal selama ini.Ketika Web 2.0 disebut sebagai tahap kedua dari perkembangan web yang telah ada saat ini, muncul kekhawatiran akan tidak kompatibelnya versi web tersebut

dengan program web browser yang dimiliki pengguna. Padahal tidak ada satupun teknologi di sisi pengguna (client) yang perlu di-upgrade untuk dapat mengakses web tersebut. Perkembangan web 2.0 lebih menekankan pada perubahan cara berpikir dalam menyajikan konten dan tampilan di dalam sebuah website. Sebagian besar cara berpikir tersebut mengadaptasi gabungan dari teknologi web yang telah ada saat ini.Walaupun definisi mengenai Web 2.0 masih belum secara utuh diformulasikan sampai hari ini, ada pihak yang mengatakan bahwa Web 2.0 lebih menekankan pada social network atau jalinan sosial antara penggunanya seperti yang telah kita lihat selama ini dalam dunia Blog (Konek edisi 5 Februari 2006). Dengan adanya RSS di dalam Blog, informasi-informasi di dalam sebuah Blog dimungkinkan dapat diadaptasi, dikoleksi, dan di-share untuk menjadi bagian dari Blog lainnya.Namun O’Reilly dan MediaLive International menekankan bahwa Web 2.0

merupakan sebuah platform bagi aplikasi. Mereka mendeskripsikan hal ini sebagai sebuah software yang berjalan melalui media internet dengan bantuan web browser dan tidak perlu diinstalasi terlebih dahulu seperti softwaresoftware yang umumnya kita gunakan sehari-hari. Bahkan konsep mengenai sistem operasi di dalam web juga masuk dalam definisi tersebut di dalam konferensi Web 2.0 pada tahun 2005.MS Word berbasis Web Anda dapat menjalankan program pengolah kata seperti Microsoft Word, serta mengubah dokumen dengan hanya mengunjungi situs yang menyediakan program tersebut. Karena program tersebut dapat dijalankan melalui web browser, Anda tidak perlu melakukan instalasi program apapun di dalam komputer.Beberapa praktisi internet telah mengenal kemampuan tersebut dalam AJAX (Asynchorous Javascript and XML), yang menggabungkan teknologi HTML, CSS, Javascript, dan XML dalam menciptakan aplikasi website yang dinamis. Contoh aplikasi tersebut dapat Anda lihat pada Google yang menyediakan program sejenis Microsoft Excel melalui situsnya di http://spreadsheets.google.com.Melalui aplikasi di dalam situs tersebut, Anda dapat membuka dan mengolah dokumen spreadsheet yang dimiliki. Bahkan dokumen tersebut dapat di-sharing ke beberapa rekan di internet. Dengan adanya fasilitaspenyimpanan, pengguna tidak lagi membutuhkan media penyimpanan konvensional seperti disket atau

flash disk. Pengolahan data dan penyimpanan dokumen, bahkan sharing dokumen, dapat dilakukan hanya dalam satu jendela web browser.

Tujuh Karakteristik

Meskipun definisi Web 2.0 belum secara solid diformulasikan, terdapat tujuh prinsip yang mendasari karakter Web 2.0. Karakter tersebut antara lain web sebagai platform dimana menjadikan web sebagai tempat bekerja di manapun Anda berada. Cukup dengan membuka web browser, Anda dapat mengerjakan tugas mengetik dokumen, perhitungan keuangan, atau merancang presentasi melalui aplikasi-aplikasi yang telah disediakan dan dapat dijalankan secara langsung melalui internet. Karakteristik berikutnya, adanya partisipasi dari pengguna dalam berkolaborasi pengetahuan. Hal ini mengingatkan akan pemberian kepercayaan kepada pengguna internet untuk dapat berpartisipasi dalam berbagi pengetahuan di Wikipedia, sebuah ensiklopedia berbasis web yang disusun berdasarkan masukan-masukan pengguna internet di seluruh dunia. Karakteristik ketiga, data menjadi trademark-nya aplikasi, mengingatkan kita pada slogan “Intel Inside” yang telah melambungkan nama prosesor Intel di kalangan pengguna komputer. Trademark tersebut telah menjadi suatu garansi kepercayaan dari pengguna akan kemampuan komputer yang akan ataupun sudah dibelinya. Maksud yang sama juga diusung oleh karakteristik ketiga ini, dimana penyuplai data akan memberikan trademark yang akan digunakan oleh pemilik website untuk memberikan garansi kepercayaan kepada pengunjungnya. Sebagai contoh adalah “Nevteq Onboard” untuk data peta pada sistem navigasi GPS dan “Powered by Google” untuk dukungan Google Maps pada peta dunia berbasis web.Sedangkan karakteristik selanjutnya, web 2.0 sebagai akhir dari siklus peluncuran produk software, mengilustrasikan setiap produsen software tidak lagi meluncurkan produknya dalam bentuk fisik. Karena web menjadi platform, pengguna cukup datang ke website untuk menjalankan aplikasi yang ingin

mereka gunakan. Hasil dari pengembangan fitur di dalam software dapat langsung dirasakan oleh pengguna. Software tidak lagi dijual sebagai produk namun berupa layanan (service). Produsen yang memberikan pelayanan yang cepat dan bagus, akan menjadi pilihan pengguna.

Karakteristik kelima, dukungan pada pemrograman yang sederhana dan ide akan web service atau RSS. Ketersediaan RSS akan menciptakan kemudahan untuk di-remix oleh website lain dengan menggunakan tampilannya masingmasing dan dukungan pemrograman yang sederhana.Karakteristik keenam, software tidak lagi terbatas pada perangkat tertentu.

Hal ini mempertegas posisi web sebagai platform dimana setiap perangkat dapat mengaksesnya. Komputer tidak lagi menjadi satu-satunya perangkat yang dapat menjalankan berbagai aplikasi di internet. Setiap aplikasi harus didesain untuk dapat digunakan pada komputer pribadi, perangkat genggam seperti ponsel dan PDA, ataupun server internet.

Sedangkan karakteristik terakhir, adanya kemajuan inovasi pada antar-muka (interface) di sisi pengguna. Dukungan AJAX yang menggabungkan HTML, CSS, Javascript, dan XML pada Yahoo!Mail Beta dan Gmail membuat pengguna merasakan nilai lebih dari sekedar situs penyedia e-mail. Kombinasi media komunikasi seperti Instant Messenger (IM) dan Voice over IP (VoIP) akan semakin memperkuat karakter Web 2.0 di dalam situs tersebut.Kunci Perbedaan Menurut Wikipedia, 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. Selain itu, kemampuan Web 2.0 dalam melakukan aktivitas drag and drop, auto complete, chat, dan voice seperti layaknya aplikasi desktop, bahkan berlaku seperti sistem operasi, dengan menggunakan dukungan AJAX atau berbagai plug-in (API) yang ada di internet. Hal tersebut akan merubah paradigma pengembang sofware dari distribusi produk menjadi distribusi layanan. Sedangkan karakter lainnya, kolaborasi dan partisipasi pengguna, ikut membantu memperkuat perbedaan pada Web 2.0.Suatu website dapat saja memasukkan beberapa bahkan tujuh karakter Web 2.0 di dalam situs yang dibangunnya. Semakin banyak karakter yang masuk ke dalam website tersebut, suatu situs akan mendekati Web 2.0. Yang terpenting bukanlah klaim sebagai Web 2.0, namun mampukah dampak perkembangan tersebut menjembatani pengguna internet dengan kepentingan perusahaan, komunitas, atau Anda dengan menggunakan Web 2.0

Tidak ada komentar:

Sahabat Blog