Home Top Ad

Rekayasa WEB

Share:
Rekayasa Web adalah sebuah aplikasi yang menggunakan pendekatan sistematis, disiplin, dan terukur untuk pengembangan, operasi dan pemeliharaan aplikasi berbasis Web (Web –Based Applications). 
Rekayasa Web adalah subdisiplin dari rekayasa perangkat lunak yang membantu menyediakan metodologi untuk merancang, mengembangkan, memelihara, dan melibatkan aplikasi Web. Rekayasa Web adalah sebuah aplikasi yang menggunakan pendekatan sistematis, disiplin, dan terstruktur untuk pengembangan, operasi dan pemeliharaan aplikasi berbasis Web (Web-based applications). Sebagai catatan, sebagai literature tentang rekayasa Wb mengacu kepada situs Web, aplikasi berbasis Web, sistem berbasis Web, dan aplikasi Web.
Rekayasa Web adalah subdisiplin dari rekayasa perangkat lunak yang membanyu menyediakan metodologi untuk merancang, mengembangkan, memlihara, dan melibatkan aplikasi Web. Beberapa metodologi telah diajukan dalam literature seperti OOHDM, OO-H, dan WebML. Beberapa metodologi lebih lanjut akan mendukung halaman-halaman Web didalam bentuk bentuk format lainnya, seperti WML untuk mobile device.
Muncuknya disiplin rekayasa Web ini menunjukan suatu kebutuhan yang dipusatkan pada kesuksesan pengembangan aplikasi dan sistem berbasis web. Rekayasa web menggunakan sains, rekayasa, dan pendekatan –penndekatan sistematis serta prinsip-prinsip menejemen untuk kesuksesan terhadap pengembangan, penyebaran, pemeliharaan aplikasi, dan sistem web yang berkualitas tinggi (Murugesan, dkk, 1999). Rekayasa web membantu para pengembang sistem dibawah control, memperkecil risiko-risiko yang akan terjadi dan meningkatkan kualitas, dapat dipelihara, dan memiliki skalabilitas aplikasi web. Tujuan utama dari rekaya web adalah kesuksesan dalam mengatur kompleksitas serta keanekaragaman pengembangan aplikasi web. Oleh karena itu, kegagalan yang mungkin terjadi bisa menjadi implikasi yang sangat serius.

LOGO REKAYASA WEB
           
Logo rekayasa web menggambarkan sebuah nilai filosofis, tujuan yang ingin dipromosikan oleh rekayasa web, yaitu sebuah kerangka dan metodologi untuk pengembangan sistem berbasis web yang mendukung kreativitas dan fleksibilitas, dan masih mempertahankan pengakuan karakteristik dan fitur-fitur dari media web.
Dari logo tersebut, otak bagian luar melambangkan panduan dan kerangka yangluas untuk pengembangan sistem berbasis web. Jaringan laba-laba pada bagian kotak mewakili Word Wide Web yang menyiratkan adanya ruang kreativitas, fleksibilitas, dan pengadopsian aplikasi yang spesifik. Sedangkan tulisan WebE. Adalah kependekkan untuk Web Engineering.

REKAYASA WEB DAN REKAYASA PERANGKAT LUNAK
Meskipun rekayasa web melibatkan beberapa pemrograman dan pengembangan perangkat lunak serta mengadopsi beberapa prinsip-prinsip rekayasa perangkat lunak, pengembangan sistem berbasis web dan rekayasa web berbeda dengan pengembangan perangkat lunak dan rekayasa perangkat lunak. Uraian berikut akan menjelaskan secara singkat tentang sistem berbasis web.
1.  Kebanyakan sistem berbasis web, paling tidak saat ini, adalah halaman web statis dan dinamis.
2.  Sistem berbass web akan berlanjut untuk dipusatkan pada “look and feel”, menyokong kreativitas visual, dan penyatuan multimedia dalam penyajian dan antarmuka. Dengan kata lain, sistem ini lebih menekankan pada penyajian dan kreativitas visual mengenai antarmuka front-end dengan seorang pengguna yang dapat saling terhubung.
3.  Kebanyakan sistem berbasis web akan dilanjut ke pengembangan content-driven. Dengan kata lain, pengembangan sistem berbasis web akan meliputi pengembangan dari konten yang disajikan.
4. Dengan banyaknya profil pengguna, banyak sistem berbasis web di butuhkan untuk memenuhi kebutuhan pengguna dengan kemampuan dan keahlian yang beragam, untuk mengatasi kesulitan interaksi manusia-komputer, antar muka pengguna, dan penyajian informasi.
5. Sifat dan karakteristik dari media web tidak dipahami dengan baik seperti media seperangkat lunak.
6.  Web menerangkan ikatan yang lebih besar antara seni dan ilmu dari pada dialami didalam pengembangan perangkat lunak.
7.  Kebanyakan sistem berbasis web perlu dkembangkan dalam waktu yang sangat singkat sehigga sulit untuk membuat dan menerapkannya pada tingkat yang sama dengan perencanaan dan pengujuan seperti yang digunakandidalam pengembangan perangkat lunak.
8.   Web berbeda dengan perangkat lunak ketika dihubungkan dengan media pengiriman.
9.  Lebih lanjut, orang-orang yang membangun/mengembangkan sistem berbasis web pun biasanya mempunyai keberagaman dalam latar belakang pendidikannya, keahlian pengetahuaannya, dan pemahaman sistem, seperti halnya pada persepsi web dan kualitas sistem berbasis web.

REKAYASA WEB ADALAH BIDANG YANG MULTIDISPLINER
Powel (1998) mengatakan bahwa sistem berbasis Web “melibatkan campuran antara print publishing ( penerbitan cetakan ) dan pengembangan perangkat lunak, antara pemasaran dan komputasi, antara komunikasi internal dan relasi eksternal, dan antara seni dan teknologi”
Rekayasa Web menjadi suatu bidang yang multi disipliner dengan masukan dari berbagai bidang ilmu yang berbeda seperti :

  1. Interaksi Manusia Komputer (Human Computer Interaction)
  2. Antarmuka pengguna (User Interface)
  3. Perancangan dan Analisis Sistem (Systems Analysis and Design)
  4. Rekayasa Perangkat Lunak (Software Engineering)
  5. Rekayasa Kebutuhan (Requirements Engineering)
  6. Rekayasa Hipermedia (Hypermedia Engineering)
  7. Struktur Informasi (Information Structured)
  8. Pengujian (Tersting)
  9. Pemodelan dan Simulasi (Modeling and Simulation)
  10. Manajemen Proyek (Project Management)


AREA UTAMA PENGETAHUAN DI DALAM REKAYASA WEB
Prinsip-prinsip yang mendasari penciptaan aplikasi internet dan web berskala besar berasal dari beberapa disiplin adalah sebagai berikut :

Rekayasa Jaringan (network engineering)
Rekayasa jaringan berkaitan dengan teori, analisis, dan kontruks jaringan komunikasi computer. Agar dapat memahami interaksi aplikasi web dengan internet yang lebih luas, seorang perekayasa web memerlukan ilmu dasar tentang jaringan, seperti :

a.  Lapisan fisik : jenis, kemampuan, dan keterbatasan alat penyebar sinyal jaringan computer. Lapisan ini meliputi fiber optic, jaringan kabel dan nirkabel, dan pengodean kendali kesalahan.

b. Lapisan internet : Internet Protocol (IP), analisa dan desain algoritme routing. Lapisan ini meliputi kendali kongesti.

c.  Lapisan transport : analisis dan desain protocol yng dapat dipercaya, seperti TCP. Property transport broadcast-style mencakup protocol awal sesi dan multicast.

d.  Lapisan aplikasi : prinsip utama dalam desain protocol lapisan aplikasi meliputi style interaksi, skalabilitas, dan pemisahan yang berhubungan dengan elemen-elemen arsitektur. Lapisan ini dilengkapi dengan studi jangkauan yang luas dari lapisan protocol, misalnya HTTP/DAV, SMTP, POP, SOAP,  FTP, dan LDAP, untuk memahami desainnya.

e.   Kinerja : analisis interaksi protocol yang beroperasi pada beberapa lapisan dan cara untuk mendesain protocol untuk menghindari kekurangan interaksi lapisan. Analisis lalu lintas jaringan dilakukan untuk perbaikan kinerja.

      Rekayasa Perangkat Lunak ( Software Engineering)
Rekayasa perangkat lunak difokuskan pada proses yang akan digunakan dalam penciptaan sistem perangkat lunak. Aplikasi web melibatkan sejumlah pengembangan perangkat lunak yang yang signifikan didalam server web. Jauh dari kumpulan halaman statis, aplikasi web yang besar merupakan aktivitas pengembangan perangkat lunak yang kompleks. Rekayasa perangkat lunak mencakup hal-hal berikut:

a. Proses yaitu urutan langkah-langkah yang baik untuk penciptaan artefak perangkat lunak tertentu, akan melibatkan analisis dan permodelan formal maupun informal dari proses-proses perangkat lunak, dan proses yang terakhir untuk memenuhi kebutuhan bisnis spesifik, seperti penjadwalan cepat dari pengembangan aplikasi web.

b. Kebutuhan yaitu praktek terbaik untuk mendapatkan kebutuhan sistem dari berbagai sumber, mencakup pelanggan, standar, dan pengguna. Teknik-teknik analisis dibutuhkan untuk kebutuhan prioritas dan menentukan konflik kebutuhan.

c. Arsitektur yaitu pemodelan sistem perangkat lunak pada tingkat tinggi dari abstraksi. Contoh analisis arsitektur adalah menemukan kebutuhan sistem dan mencapai sasaran strategi. Arsitektur spesifik domain, dengan arsitektur perangkat lunak yang dikembangkan dan diperbaiki untuk use scenario s[esifikasi (seperti aplikasi web), sangat relevan untuk rekayasa web karena web application servers dan server web telah diperbaiki untuk kebutuhan domain spesifik dari pengembangan aplikasi web. Studi kasus yang terperinci dari beberapa server aplikasi web dapat digunakan untuk mengilustrasikan tradeoffs dan konsep arsitektur.

d. Desain yaitu metodologi seperti desain berorientasi objek yang mengijinkan sebuah masalah besar yang terstruktur untuk diuraikan kedalam modul-modul dengan menggunakan bahasa pemrograman.

e.   Pengujian yaitu teknik-teknik untuk melatih sistem perangkat untuk menentukan apakah aplikasi tersebut bisa memenuhi kebutuhannya. Isu pengujian spesifik pada aplikasi web mencakup pengujian pemuatan, pengujian platform silang (crossplatfrom testing) dari halaman web dinamis (seperti JavaScript yang dapat berjalan pada berbagai platform browser), dan pengujian usabilitas).

f.  Lingkungan yaitu tool perangkat lunak yang digunakan oleh pengembangan (developer) didalam konstruksi sitem perangkat lunak. Sistem manajemen konfigurasi adalah sebuah tool yang penting karena sistem karena sistem ini menyediakan kontrol konfigurasi atas perubahan file yang sangat cepat yang meliputi suatu usaha pengembangan yang besar.

3    Basis Data dan Sistem Penyimpanan
Basis data dan sistem penyimpanan atau gudang untuk sejumlah informasi yang besae merupakan dasar dari kebanyakan aplikasi web. Biasanya situs web e-commerce memiliki basis data yang menyimpan beberapa item seperti halnya data pelanggan (nama dan alamat). Pengalamaan yang mendalam dari prinsip-prinsip dan aplikasi basis data serta sistem penyimpaan mengijinkan seorang pereayasa web untuk mendesain data dalam gudang (repository) mereka untuk menskalakan pertumbuhan aplikasi. Prinsip-prinsip basis data dan penyimpanan mencakup hal-hal berikut :

a.   Desain data
   Desai ini mencakup relasi entitas dan model data semantic dan translasinya kedalam skema basis data relasional. Penyajian data menggunakan skema penyajian berdasarkan struktur pohon, seperti XML. Desain ini juga meliputi aljabar relasional, kalkulus relasional, dan optimalisasi skema data.

b.   Bahasa query basis data
   Bahasa ini digunakan untuk mengembalikan informasi. Bahasa ini mencakup bahasa query pencarian komersial, seperti SQL dan QBE.

c.   Teori mesin pencari Internet
   Terori ini merupakan dasar-dasar dari pengembalian informasi dan pengerjaan terbaru pada ranking hit mesin pencari. Terori ini mencangkup efficient spidering, penyajian halaman web, informasi dan integritas skema yang heterogen, seperti basis data network accessible.

d.  Fisik alat penyimpanan
   Alat penyimpanan mencakup disk, tape dan sistem berbasis memori. Prinsip-prinsip desain file sistem mencangkup interaksi dengan fisik alat penyimpanan dan mencakup jaringan area penyimpanan (strorage area network) serta sistem file terdistribusi.

4.   Hypermedia
Hypermedia berhubungan dengan objek informasi yang terhubung (linked). Hypermedia akan secara khusus tertarik pada property sistem arsitektur (seperti web) yang mendukung hypermedia linking, hypermedia link traversal, dan desain hypermedia linked yang besar (seperti situs web), seperti halnya property naratif dan retorikal dari struktur tautan (link) hypermedia yang spesifik. Area hypermedia meliputi hal hal berikut.

a.   Desain yaitu teknik-teknik untuk penstrukturan dan pemisahan ruang informasi kedalam halaman hypermedia individual.

b.  Visualisasi yaitu teknik-teknik grafis untuk menyampaikan suatu ikhtisar dari situs web.

c.  Usabilitas yaitu teknik-teknik anlisis dan desain untuk menyakinkan situs web agar menjadi lebih efisien jik digunakan untuk menyaksikan tugas-tugas yang spesifik.

d.  Tool kolaboratif yaitutool perangkat lunak yang mengijinkan jaringan hypermedia untuk dikembangkan secara terus menerus dengan berbagai orang yang berasal dari berbagai organisasi.


KEAHLIAN BIDANG REKAYASA WEB

Factor kesuksesan proyek rekayasa web merupakan tingkat keahlian yang dibutuhkan dari seorang perekayasa web untuk menguasai proses pengembangan. Menurut Seffah dan Grogono (2002), ada tiga kelompok keahlian yang dibutuhkan oleh seorang perekayasaan perangkat lunak (softwarevengineer). Oleh karena itu, seorang perekayasa web juga diharapkan untuk memiliki ketiga kelompok keahlian berikut ini:

Keahlian prasyarat :
1.  Pemrograman dan permodelan berorientasi objek dengan UML dan Java, atau dengan bahasa yang serupa.

2.    Pengembangan basis data dengan JDBC, MySQL, dan Java Servlets, atau dengan bahasa yang serupa.

3.    Pemrograman web dengan HTML, JavaScript, CGI Script, dan PHP, atau dengan bahasa yang serupa.

4.     Penyebaran dari tool authoring khusus dan editor web, seperti FrontPage dan Macromedia Dreamweaver untuk desain dan implementasi aplikasi berbasis web.

Keahlian spesifik:
1.   Pemahaman rekayasa web sebagai bidang multidisipliner yang menggabungkan teknik, rekayasa, sosialm,  politik, pemasaran, legalitas, etika, budaya estetika dan isu pedadogis.

2.   Pemahaman filosofi pengembangan rekayasa web.

3.   Pemahaman cakupan sistem dan konteks dari aplikasi rekayasa web.

4. Pemodelan analisis: pemahaman kebutuhan masalah, peneapan kebutuhan pengguna yang menggunakan use case dan scenario, penempatan kebutuhan data menggunakan kelas dan teknik-teknik pemodelan analisis lainnya, dan atribut kualitas umum untuk aplikasi berbasis web.

5.  Permodelan desain: desain arsitektur; komponen, logika, dan desain penyebaran; kohesi dan isu penggabungan; dan pengembangan dan kriteia desain.

6.   Desain web ; desain situs menggunakan linear, grid, hierarki, dan struktur web jaringan, desain halaman; desain antar muka; desain navigasi, desain visual; desain tipografi, style editorial, layar, warna, grafis, dan multimedia.

7.  Pengembangan prototype (prototyping), tambahan (incremental), evolisioner, dan interaktif; pengodean program, pengujian integrasi, dan unit; pemngevaluasian dan perbaikan (debugging) pengembangan solusi kode, dan pemeriksaan konsistensi.

8.  Rekayasa dan pengujian usabilitas; interaksi manusia-komputer; kriteria usabilitas yang berkaitan denagan kepuasan pengguna (kemudahan penggunaan; kemudahan pemelajaran, dan konstiten).

9. Mencerminkan, mengevaluasi, menjelaskan, dan membenarkan solusi rekayasa web.

Keahlian umum:
1.   Manajemen dan perencaan proyek.

2.  Penggunaan kembali prinsip-prinsip desain, frameworks, arsitektur, dan toolkit (class libraries); memodifikasi dan menggunakan kembali analisis yang ada; desain dan solusi kode program dan pola, perbandingan; mengenali persamaan dan perbedaan antara permasalahan baru dan solusi sebelumnya.

3.  Keahlian manulis dan membaca; mempunyai kemampuan menulis dan teknik mengatur laporan dan dokumentasi; mampu membaca teks dan dokumen.

4. Dialog dan komunikasi dengan stakeholder. Bekerja didalam tim dengan pengembang, desainer sistem, pemrograman, penggunaan akhir dan klien.

AKTIVITAS – AKTIVITAS REKASA WEB
Kesuksesan dari penyebaran dan pengembangan sistem berbasis WEB adalah suatu proses sehingga hasilnya kemudian dapat dirasakan dan dipraktekkan oleh kebanyakan pengembang dan akademisi. Rekasa Web bukanlah tugas atau aktivitas tunggal.  Rekasa Wen dihadapkan pada semua aspek – aspek dari pengembangan sistem berbasis web, mulai dari konsep dan pengembangan untuk implementasi, evaluasi kinerja dan pemeliharaan yang berkesinambungan.

Rekayasa Web menyajikan suatu pendekatan yang proaktif untuk penciptaan aplikasi web. Metodologi rekayasa web telah dengan sukses diterapkan disejumlah aplikasi. Sekarang ini banyak pengembang web mengadopsi prinsip – prinsip rekayasa web yang secara khusus meliputi :

  1. Analisis dan spesifikasi kebutuhan
  2. Teknik – teknik dan metodologi pengembangan sistem berbasis web.
  3. Integrasi dengan sistem warisan
  4. Migrasi dari sistem warisan kelingkungan Web
  5. Pengembangan aplikasi waktunyata berbasis Web
  6. Pengujian,verifikasi,danvalidasi
  7. Penilaian kualitas,kontrol,danjaminan
  8. Konfigurasi dan manajemen proyek
  9. Matriks web untuk estimasi usaha pengembangan

KATEGORI-KATEGORI APLIKASI WEB
Kategori baru biasanya lebih rumit, tetapi tidak berarti bahwa kategori tersebut secara total dapat menggantikan generasi sebelumnya. Masing-masing kategori ini memiliki bidang aplikasi spesifiknya sendiri. Oleh karena itu, Aplikasi Web kompleks dapat secara khusus ditugaskan untuk bebrapa kategori. Mall belanja online contoh yang tidak hanya mengintegrasikan penyedia layanan yang berbeda, namun juga menawarkan bebrapa pilihan pencarian, pengawasan status pemesanan, dan dalam beberapa hal, lelang online.
Kita juga melihat bahwa kategori Aplikasi Web yang berbeda meliputi banyak bidang aplikasi tradisional, seperti perbankan online. Pada waktu yang bersamaan, bidang lain yang terbaru telah diciptakan, seperti location-aware services. Berikut akan dijelaskan fitur-fitur yang relevan dari kategori-kategori ini.

Document centric Web sites
Adalah pelopor untuk aplikasi web. Halaman web disimpan pada server Web sebagai halaman yang sudah menjadi (ready-mode), misalnya bersifat statis, dokumen HTML dan mengirimkannya kepada web  client sebagai jawaban atas permintaan.  Halaman web ini biasanya diperbaruii secara manual dengan tool tertentu. Situs web yang selalu memerlukan pembaruan (update) atau situs yang memiliki jumlah halaman yang banyak akan membutuhkan faktor biaya yang signifikan dan sering juga menghasilkan informasi yang telah usang (out of date). Apalagi, ada suatu ketidakkonsistenan, seperti beberapa konten yang selalu berulang pada beberapa halaman web dengan maksud agar pengaksesannya mudah. Manfaat utamanya adalah kesederhanaan dan fasilitas sebagai situs web dan waktu tanggap yang singkat karena halaman telah dsimpan pada server web. Halaman web statis, webcasts, dan kehadiran web sederhana untuk bisnis yang kecil menjadi bagian dari kategori ini.

Transactional web application 
telah diciptakan untuk lebih inter-aktif dan memungkinkan pengguna tidak hanya saling berinteraksi dengan aplikasi didalam cara read-only, tetapi juga melakukan pembaruan terhadap data dan konten. Untuk kebutuhan ini, sebuah sistem basis data (database) dibutuhkan sehingga dapat meningkatkan efisiensi dan konsistensi dalam menangani pertambahan konten aplikasi web dan memungkinkan untuk melakuka query secara terstruktur. Informasi mengenai turis adalah salah satu bentuk aplikasi dalam model ini sehingga memungkinkan orang untuk melakukan pemesanan kamar hotel maupun tiket perjalanan. Perbankan online, berbelanja online, dan sistem pemesanan (booking system) juga masuk dalam kategori ini.

Workflow-based web application
mengizinkan penanganan workflows atau aplikasi antarperusahaan yang berbeda, pemerintahan, dan pengguna perseorangan. Sebuah penggerak untuk aplikasi ini adalah tersedianya web service yang sesuai untuk menjamin interoperabilitas. Kompleksitas dari layanan ini merupakan kuni utamanya. Adanya otonomi dari perusahaan dan keperluan workflow untuk menjadi fleksibel dan sempurna adalah tantangan utamanya. Contoh untuk kategori ini adalah solusi Business-to-Business (solusi B2B) didalam aplikasi e-commerce, e-government ditempat administrasi umum, atau berbasis yang mendukung workflow pasien pada sector kesehatan. Sedangkan aplikasi web berbasis workflow memerlukan suatu struktur tertentu dari operasi dan proses yang otomatis, kolaboratif yang dipekerjakan terutama untuk tujuan kooperasi didalam operasi yang tidak terstruktur (groupware). Aplikasi web kolaboratif mendukung informasi Bersama dan workspaces (misalnya , WikiWiki [http://c2.com/cgi//wki] atau BSCW [http://bscw.gmd.de/]) dalam rangka menghasilkan, mengedit, dan mengatur informasi bersama. Mereka juga digunakan untuk menjaga log dari banyak masukan (seperti, didalam Weblogs) untuk menengahi pertemuan atau membuat keputusan (misalnya, sistem penjelasan seperti QuestMap [http://www.compendiuminstitute.org/]) atau chat rooms sederhana, seperti sisem penjadwalan, atau seperti pembelajaran elektronik (e-learning).

Portal-oriented web application 
menyediakan satu tujuan akses yang terpisah, mungkin untuk sumber informasi dan layanan heterogen (Wege, 2002). Pembuat browser (seperti, Microsoft dan Mozilla), mesin pencari (seperti, Yahoo! Dan Google), layanan online (seperti, AOL), dan perusahaan-perusahaan lainnya menyadari tinggi nya permintaan terhadap layanan portal ini sehingga menawarkan hub sentral, disebut juga portal, sebagai salah satu titik akses untuk web. Sebagai tambahan terhadap portal umum, terdapat berbagai portal khusus, seperti portal bisnis, portal pasar dalam bentuk mall belanja online, dan portal komunitas. Portal bisnis memberian kesempatan kepada karyawan dan/atau mitra bisnis untuk lebih berfokus dalam pengaksesan informasi ke sumber informasi dan layanan yang berbeda melalui intranet atau ekstranet. Portal pasar online dibagi menjadi pasar horizontal dan vertical. Pasar horizontal beroperasi pada pasar bisnis-ke-konsumen yang menawarkan barang-barang pengguna secara langsung ke public, dan bisnis-ke-bisnis, yaitu penjualan produk mereka untuk perusahaan dari sector lain. Pasar vertical terdiri dari perusahaan-perusahaan dari satu sector, misalnya penyalur dengan pabrik. Portal komunitas ditujukan kepada kelompok tertentu, misalnya orang-orang muda, dan usaha untuk menciptakan kesetiaan pelanggan melalui antarmuka pengguna atau penyedia penawaran perorangan melalui manajemen pengguna yang sesuai (pemasaran satu-ke-satu).

Sumber : 

Disusun : Adie Firmansyah, Iqbal Ramadhan, Teguh Julianto, Nurul Wulan Sari, Rizaldi Yulianto, Ayu Sagita, Indah Sabela