Dalam jangka waktu yang relatif singkat, Internet dan World Wide Web
(biasa disebut dengan web) telah berkembang dengan sangat pesat sehingga
dapat melampaui kecepatan perkembangan teknologi lainnya di dunia.
Internet dan web juga berkembang pesat dalam hal jangkauan dan luas
bidang kegunaan yang secara nyata mempengaruhi beberapa aspek kehidupan.
Industri, seperti manufaktur, biro perjalanan, rumah sakit, perbankan,
pendidikan dan pemerintahan menggunakan web untuk meningkatkan efisiensi
operasional mereka.
Saat ini banyak diantara kita bergantung pada
sistem dan aplikasi yang menggunakan antarmuka web yang harus berjalan
dengan baik dan terpercaya. Oleh karena itu para pengembang web
membutuhkan suatu metoda, suatu bidang keilmuan dan proses yang dapat
diduplikasi, alat-alat pengembang web yang baik dan panduan-panduan
dalam proses pengembangan web yang baik.
Web engineering (rekayasa
web) adalah suatu proses yang digunakan untuk menciptakan suatu sistem
aplikasi berbasis web dengan menggunakan ilmu rekayasa, prinsip-prinsip
manajemen dan pendekatan sistematis sehingga dapat diperoleh sistem dan
aplikasi web dengan kualitas tinggi. Tujuannya untuk mengendalikan
pengembangan, minimalisasi resiko dan meningkatkan kualitas sistem
berbasis web. [2]
1.1.1 Kualitas Sistem dan Aplikasi berbasis Web
Ada beberapa parameter yang dapat digunakan untuk mengukur aplikasi berbasis web.
Gambar II 1 Parameter Kualitas Aplikasi pada Sistem Berbasis Web
1.1.2 Alur Kerja Rekayasa Web
Bertolak belakang dengan persepsi dari beberapa pengembang perangkat
lunak dan ahli-ahli dalam bidang rekayasa perangkat lunak (software
engineering professional), rekayasa web tidaklah sama dengan rekayasa
perangkat lunak walaupun keduanya melibatkan pemrograman dan
pengembangan perangkat lunak.
Walaupun rekayasa web banyak mengadopsi
prinsip-prinsip rekayasa perangkat lunak, rekayasa web memiliki banyak
pendekatan, metoda, alat bantu, teknik dan panduan yang memenuhi
persyaratan pembuatan sistem berbasis web.
Pengembangan sistem
berbasis web berbeda dengan pengembangan perangkat lunak konvensional,
dimana pengembangan sistem berbasis web lebih banyak menghadapi
tantangan. Pengembangan web adalah gabungan dari print publishing dan
pengambangan perangkat lunak, diantara marketing dan perhitungan dan
diantara seni dan teknologi.
Alternatif model dari rekayasa web adalah sebagai berikut :
Gambar II 2 Alur Kerja Rekayasa Web
1.1.2.1 Formulasi (formulation)
Kegiatan yang berfungsi untuk merumuskan tujuan dan ukuran dari aplikasi berbasis web serta menentukan batasannya sistem.
Tujuan yang ingin dicapai bisa dibedakan menjadi dua kategori, yaitu :
1. Tujuan yang bersifat informatif
Menyediakan suatu informasi tertentu kepada pengguna, berupa teks, grafik, audio, dan video.
2. Tujuan yang bersifat fungsional
Kemampuan
untuk melakukan suatu fungsi yang dibutuhkan pengguna, misal dengan
menggunakan aplikasi tersebut seorang dosen dapat memperoleh nilai akhir
dan statistik nilai mahasiswa dari data-data ujian, tugas, kuis yang ia
input ke dalam aplikasi.
1.1.2.2 Perencanaan (planning)
Kegiatan
yang digunakan untuk menghitung estimasi biaya proyek pembuatan
aplikasi berbasis web ini, estimasi jumlah pengembang, estimasi waktu
pengembangan, evaluasi resiko pengembangan proyek, dan mendefinisikan
jadwal pengembangan untuk versi selanjutnya (jika diperlukan).
1.1.2.3 Analisis (analysis)
Kegiatan
untuk menentukan persyaratan � persyaratan teknik dan mengidentifikasi
informasi yang akan ditampilkan pada aplikasi berbasis web. Analisis
yang digunakan pada rekayasa web dilakukan dari empat sisi, yaitu :
1. Analisis isi informasi
Mengidentifikasi
isi yang akan ditampilkan pada aplikasi berbasis web ini. Isi informasi
dapat berupa teks, grafik, audio, maupun video.
2. Analisis interaksi
Analisis yang menunjukkan hubungan antara web dengan pengguna.
3. Analisis fungsional
Analisis tentang proses bagaimana aplikasi berbasis web ini akan menampilkan informasi kepada pengguna.
4. Analisis konfigurasi
Konfigurasi
yang digunakan pada aplikasi berbasis web, internet, intranet, atau
extranet. Selain itu, analisis ini juga meliputi relasi database dengan
web jika diperlukan.
1.1.2.4 Rekayasa (engineering)
Terdapat dua pekerjaan yang dilakukan secara paralel, yaitu desain isi informasi dan desain arsitektur web.
1.1.2.5 Implementasi (page generation) & pengujian (testing)
Suatu
kegiatan untuk mewujudkan desain menjadi suatu web site. Teknologi yang
digunakan tergantung dengan kebutuhan yang telah dirumuskan pada tahap
analisis.
Pengujian dilakukan setelah implementasi selesai
dilaksanakan. Pengujian meliputi beberapa parameter yang akan menentukan
standar aplikasi berbasis web yang telah dibuat. Tahap pengujian adalah
suatu proses untuk menguji aplikasi berbasis web yang telah selesai
dibuat. Hal ini bertujuan untuk menemukan kesalahan dan kemudian
memperbaikinya. Pengembang suatu aplikasi berbasis web mendapat
tantangan besar untuk melakukan pengujian karena karakter aplikasi ini
yang beroperasi pada jaringan dengan berbagai macam pengguna, berbagai
macam sistem operasi, perangkat keras, browser, protokol komunikasi,
dll.
Ada beberapa pendekatan yang digunakan untuk melakukan pengujian, yaitu :
1. Pengujian fungsional dan operasional (fungsional and operational testing)
Bertujuan untuk menguji masukan dan keluaran dari aplikasi ini.
Hasil
keluaran aplikasi bergantung dari teknologi yang digunakan, baik itu
bahasa pemrograman maupun bahasa skrip yang digunakan.
Untuk menguji
code HTML dan CSS yang digunakan dapat menggunakan alat bantu W3C HTML
Validation Service di http://validator.w3.org/ dan W3C CSS Validation
Service di http://jigsaw.w3.org/css-validator/
2. Pengujian navigasi (navigation testing)
Hal
ini digunakan untuk melihat kesesuaian antara desain navigasi dengan
navigasi yang ada di aplikasi. Navigasi berhubungan dengan link-link
yang terdapat didalam aplikasi.
Untuk menguji link dapat digunakan alat bantu W3C Link Checker Service di http://validator.w3.org/checklink
3. Pengujian konfigurasi (configuration testing)
Pengujian
ini dilakukan pada sistem operasi, browser, sistem perangkat keras dan
perangkat lunak pendukung. Pengujian ini dilakukan untuk menentukan
batas toleransi kebutuhan aplikasi akan perangkat lunak dan perangkat
keras pendukungnya.
4. Pengujian keamanan dan performansi (security and performance testing)
Pengujian
ini dilakukan untuk melihat tingkat keamanan aplikasi dengan cara
menguji aspek-aspek yang dapat menimbulkan gangguan keamanan aplikasi
maupun server. Keamanan aplikasi sangat bergantung pada teknologi
pengembangan website, konfigurasi server yang digunakan dan kelakuan
sistem. Pengujian performansi dapat dilakukan bersamaan dengan pengujian
keamanan aplikasi, karena keamanan aplikasi berbasis web juga
tergantung dari performansi server dan aplikasi tersebut.
1.1.2.6 Evaluasi oleh konsumen (customer evaluation)
Suatu
kegiatan akhir dari siklus proses rekayasa web, akan menentukan apakah
web yang telah selesai dibuat tersebut sesuai dengan yang mereka
inginkan. Apabila aplikasi berbasis web ini belum sesuai dengan kehendak
mereka, maka proses rekayasa web akan terus dilakukan dan dimulai lagi
dari tahap formulasi untuk versi berikutnya.