Minggu, 21 Oktober 2012

Perkembangan Website



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.
            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 <Java>.
            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.

Tidak ada komentar:

Posting Komentar