Kamis, 16 April 2020

Alur Pengembangan Aplikasi Web

Kang Rohman
Berdasarkan persepsi dari beberapa pengembang perangkat lunak dan ahli-ahli dalam bidang rekayasa perangkat lunak (software engineering professional), Pengembangan Aplikasi Web tidaklah sama dengan rekayasa perangkat lunak walaupun keduanya melibatkan pemrograman dan pengembangan perangkat lunak. Pengembangan Aplikasi Web adalah gabungan dari print publishing dan pengambangan perangkat lunak, diantara marketing dan perhitungan dan diantara seni dan teknologi. Alternatif model dari Pengembangan Aplikasi Web adalah sebagai berikut :

A. 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 yaitu menyediakan suatu informasi tertentu kepada pengguna, berupa teks, grafik, audio, dan video.
  2. Tujuan yang bersifat fungsional yaitu kemampuan untuk melakukan suatu fungsi yang dibutuhkan pengguna, misal dengan menggunakan aplikasi tersebut seorang guru dapat memperoleh nilai akhir dan statistik nilai guru dari data-data ujian, tugas, kuis yang ia input ke dalam aplikasi

B. 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).

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.

Rekayasa (engineering)
Terdapat dua pekerjaan yang dilakukan secara paralel, yaitu desain isi informasi dan desain arsitektur web. Pada saat tahap desain, ada beberapa hal yang perlu dilakukan :
  1. Pembuatan Diagram Wireframe (Gambar Rangka), tujuan dari diagram gambar rangka adalah untuk menunjukkan bagaimana lay out halaman web dan menunjukkan di mana fungsi dan konten seperti navigasi, kotak pencarian, elemen bentuk dan sebagainya, tanpa desain grafis. 
  2. Diagram Situs, Sebuah diagram situs menunjukkan struktur situs secara keseluruhan dan bagaimana halaman individual berhubungan satu sama lain. 
  3. Storyboard dan diagram alir pengguna, Storyboard ini bertujuan untuk menunjukkan langkah-langkah yang diperlukan untuk menyelesaikan tugas-tugas, opsi yang mungkin, dan juga memperkenalkan beberapa standar jenis halaman.
 Berdasarkan persepsi dari beberapa pengembang perangkat lunak dan ahli Alur Pengembangan Aplikasi Web
Implementasi (page generation) & pengujian (testing)
Suatu kegiatan pengembangan untuk mewujudkan desain menjadi suatu web site. Teknologi yang digunakan tergantung dengan kebutuhan yang telah dirumuskan pada tahap analisis. Dalam tahap pengembangan ini, meliputi kegiatan:
  1. Authoring, adalah istilah yang digunakan untuk proses mempersiapkan konten untuk nantinya diunggah di Web, atau lebih khusus, menandai konten dengan tag HTML yang menggambarkan isi dan fungsinya.
  2. Styling, dalam development web, penampilan halaman dalam browser dikendalikan oleh aturan style yang ditulis dalam CSS ( Cascading Style Sheets )
  3. Scripting dan pemrograman, ada bahasa pemrograman web terkait diantaranya PHP, Ruby, Python, dan ASP.NET, yang berjalan pada server dan mengolah data dan informasi sebelum dikirim ke browser pengguna.

Pengujian dilakukan setelah implementasi selesai dilaksanakan. Pengujian meliputi beberapa parameter yang akan menentukan standar aplikasi berbasis web yang telah dibuat. Pengujian bertujuan untuk menemukan kesalahan dan kemudian memperbaikinya. 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.. 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) digunakan untuk melihat kesesuaian antara desain navigasi dengan navigasi yang ada di aplikasi. Navigasi berhubungan dengan link-link yang
  3. terdapat didalam aplikasi. Untuk menguji link dapat digunakan alat bantu W3C Link Checker Service di http://validator.w3.org/checklink
  4. Pengujian konfigurasi (configuration testing) 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.
  5. Pengujian keamanan dan performansi (security and performance testing) dilakukan untuk melihat tingkat keamanan aplikasi dengan cara menguji aspek-aspek yang dapat menimbulkan gangguan keamanan aplikasi maupun server. Pengujian performansi dapat dilakukan bersamaan dengan pengujian keamanan aplikasi, karena keamanan aplikasi berbasis web juga tergantung dari performansi server dan aplikasi tersebut.

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.

Secara umum Alternatif model dari Pengembangan Aplikasi Web adalah sebagai berikut : Formulasi, Perencanaan (planning), Analisis (analysis), Rekayasa (engineering), Implementasi (page generation) & pengujian (testing), Evaluasi oleh konsumen (customer evaluation).