Metodologi Pengembangan Perangkat Lunak

1. Latar Belakang
Pada pertengahan tahun 60 hingga 70-an banyak dikembangkan sistem-sistem
perangkat lunak yang besar. Sistem-sistem yang dikembangkan ini banyak yang dipandang
tidak efisien, kurang berhasil, bahkan banyak yang gagal. Kegagalan ini disebabkan lantaran
tidak tersedianya teknik pengembangan perangkat lunak yang baik. Pada awal tahun 70-an
mulai muncul metodologi-metodologi pengembangan perangkat lunak yang cukup baik.
Pengembangan perangkat lunak sanggup diartikan sebagai proses membuat suatu perangkat
lunak gres untuk menggantikan perangkat lunak usang secara keseluruhan atau
memperbaiki perangkat lunak yang telah ada. Agar lebih cepat dan sempurna dalam
mendeskripsikan solusi dan membuatkan perangkat lunak, juga kesudahannya gampang
dikembangkan dan dipelihara, maka pengembangan perangkat lunak memerlukan suatu
metodologi khusus. Metodologi pengembangan perangkat lunak ialah suatu proses
pengorganisasian kumpulan metode dan konvensi notasi yang telah didefinisikan untuk
mengembangkan perangkat lunak. Secara prinsip bertujuan untuk membantu menghasilkan
perangkat lunak yang berkualitas. Penggunaan suatu metodologi sesuai dengan duduk masalah
yang akan dipecahkan dan memenuhi kebutuhan pengguna akan menghasilkan suatu
produk perekayasaan yang berkualitas dan terpelihara serta sanggup menghindari masalahmasalah
yang sering terjadi menyerupai estimasi penjadwalan dan biaya, perangkat lunak yang
tidak sesuai dengan impian pengguna dan sebagainya.
Metodologi pengembangan perangkat lunak (atau disebut juga model proses atau
paradigma rekayasa perangkat lunak) ialah suatu taktik pengembangan yang
memadukan proses, metode, dan perangkat (tools).
Menurut Pressman (1997) Komponen metodologi pengembangan perangkat lunak sanggup
dibagi dalam tiga unit, yaitu :

  1. Metode, yaitu suatu cara atau teknik pendekatan yang sistematik yang dipergunakan
    untuk membuatkan perangkat lunak. Metode ini meliputi : Perencanaan proyek dan perkiraan, analisis keperluan sistem dan perangkat lunak, perancangan struktur data, arsitektur program, mekanisme algoritma, Coding, uji coba dan pemeliharaan.
  2. Alat bantu (Tools), yaitu alat-alat (manual atau otomatis) yang mendukung
    pengembangan perangkat lunak. Terdapat 2 alat Bantu yang sanggup digunakan yaitu :
    alat Bantu manual dan alat Bantu otomatis.
  3. Prosedur, yang dipergunakan untuk mendefinisikan urut-urutan pekerjaan (daur) dari metode dan alat bantu tersebut.

Secara umum daur hidup pengembangan perangkat lunak meliputi tahapan-tahapan
atau acara pengembangan yang terdiri dari tahap analisis, tahap perancangan, tahap
implementasi serta tahap pengujian dan perawatan perangkat lunak. Tahap analisis dan
perancangan merupakan tahapan awal yang penting dalam suatu paradigma
pemgembangan perangkat lunak, lantaran sangat mempengaruhi tahapan selanjutnya.
Sehingga kalau terjadi kesalahan pada tahap analisis dan perancangan, maka akan terdapat
juga kesalahan pada tahap implementasi dan tahapan-tahapan selanjutnya. Tahap
implementasi perangkat lunak bertujuan untuk menerapkan spesifikasi kebutuhan
perangkat lunak ke dalam bahasa pemrograman tertentu. Tahap pengujian perangkat lunakdilakukan untuk menemukan kesalahan (bug) yang mungkin terdapat di dalam sebuah perangkat lunak. Sedangkan tahap perawatan perangkat lunak fokusnya ialah
pengubahan. Ada tiga pengubahan yaitu : pembetulan, penyesuaian (perbaikan terhadap
lingkungan) dan ekspansi (penambahan lantaran seruan pemakai).

2. Proses Pengembangan Perangkat Lunak
Proses pengembangan perangkat lunak ialah suatu proses dimana kebutuhan pemakai
diterjemahkan menjadi produk perangkat lunak. Proses ini meliputi acara
penerjemahan kebutuhan pemakai menjadi kebutuhan perangkat lunak, transformasi
kebutuhan perangkat lunak menjadi desain, penerapan desain menjadi arahan program, uji
coba arahan program, dan instalasi serta investigasi kebenaran perangkat lunak untuk
operasional (IEEE. 1990). Berdasarkan pengertian tersebut, secara umum sanggup dikatakan
bahwa proses pengembangan perangkat lunak mengikuti tahap-tahap :

  1. Menentukan APA yang harus dikerjakan oleh perangkat lunak dalam satu rentang
    waktu tertentu.
  2. Mendefinisikan BAGAIMANA perangkat lunak dibuat, meliputi arsitektur
    perangkat lunaknya, antar muka internal, algoritma, dan sebagainya.
  3. Penerapan (penulisan program) dan pengujian unit-unit program.
  4. Integrasi dan pengujian modul-modul program.
  5. Validasi perangkat lunak secara keseluruhan (pengujian sistem).

3. Siklus Pengembangan Perangkat Lunak
Siklus pengembangan perangkat lunak atau sering disebut juga dengan siklus hidup
perangkat lunak ialah (IEEE,1987) :

  • Periode waktu yang diawali dengan keputusan untuk membuatkan produk perangkat lunak dan berakhir sehabis perangkat lunak diserahkan. Umumnya siklus pengembangan ini terdiri dari tahap analisis kebutuhan, perancangan, penerapan, pengujian, dan instalasi serta pemeriksaan.
  • Periode waktu yang diawali dengan keputusan untuk membuatkan produk perangkat lunak dan berakhir ketika produk tidak sanggup ditingkatkan lebih jauh lagi oleh pengembang.

4. Metode Pengembangan Perangkat Lunak
4.1. Linear Sequential

sistem yang dikembangkan ini banyak yang dipandang      METODOLOGI PENGEMBANGAN PERANGKAT LUNAK

Linear sequential (atau disebut juga “classic life cycle” atau “waterfall method”) ialah
metode pengembangan perangkat lunak dengan pendekatan sekuensial dengan cakupan
aktivitas :

  • Rekayasa sistem dan Analisis (Sistem Engineering)
    Karena perangkat lunak ialah potongan dari sistem yang lebih besar, pekerjaan dimulai dari pembentukan kebutuhan-kebutuhan untuk seluruh elemen sistem dan kemudian memilah mana yang untuk pengembangan perangkat lunak. Hal ini penting, ketika perangkat lunak harus berkomunikasi dengan hardware, orang dan basis data
  • Analisis kebutuhan perangkat lunak (Analysis)
    Pengumpulan kebutuhan dengan fokus pada perangkat lunak, yang meliputi :
    Domain informasi, fungsi yang dibutuhkan, unjuk kerja/performansi dan antarmuka.
    Hasilnya harus didokumentasi dan direview ke pelanggan
  • Perancangan (Design)
    Ada 4 atribut untuk acara yaitu : Struktur Data, Arsitektur perangkat lunak, Prosedur detil dan Karakteristik Antarmuka. Proses desain mengubah kebutuhan-kebutuhan menjadi bentuk karakteristik yang dimengerti perangkat lunak sebelum dimulai penulisan program.
  • Pembuatan arahan (Coding)
    Penterjemahan perancangan ke bentuk yang sanggup dimengerti oleh mesin, dengan
    menggunakan bahasa pemrograman
  • Pengujian (Testing)
    Setelah arahan acara selesai testing sanggup dilakukan. Testing memfokuskan pada kecerdikan internal dari perangkat lunak, fungsi eksternal dan mencari segala kemungkinan kesalahan dan memriksa apakah sesuai dengan hasil yang diinginkan.
  • Pemeliharaan (Maintenance)
    Merupakan potongan paling selesai dari siklus pengembangan dan dilakukan sehabis
    perangkat lunak dipergunakan.

Kelemahan metode linear sequential:

  1. Proyek yang bersama-sama jarang mengikuti alur sekuensial menyerupai diusulkan, sehingga perubahan yang terjadi sanggup mengakibatkan hasil yang sudah didapat tim harus diubah kembali/iterasi sering mengakibatkan masalah baru.
  2. Linear sequential metode mengharuskan semua kebutuhan pemakai sudah dinyatakan secara eksplisit di awal proses, tetapi adakala ini tidak sanggup terealisasi lantaran kesulitan yang dialami pemakai ketika akan mengungkapkan semua kebutuhannya tersebut.
  3. Pemakai harus bersabar lantaran versi dari acara tidak akan didapat hingga selesai
    rentang waktu proyek.
  4. Adanya waktu menganggur bagi pengembang, lantaran harus menunggu anggota tim proyek lainnya merampungkan pekerjaannya.

4.2. Prototyping

sistem yang dikembangkan ini banyak yang dipandang      METODOLOGI PENGEMBANGAN PERANGKAT LUNAK

Pendekatan prototyping metode digunakan kalau pemakai hanya mendefenisikan
objektif umum dari perangkat lunak tanpa merinci kebutuhan input, pemrosesan dan
outputnya, sementara pengembang tidak begitu yakin akan efesiensi algoritma, penyesuaian
sistem operasi, atau bentuk antarmuka manusia-mesin yang harus diambil. Cakupan
aktivitas dari prototyping model terdiri dari :

  1. Mendefinisikan objektif secara keseluruhan dan mengidentifikasi kebutuhan yang sudah diketahui.
  2. Melakukan perancangan secara cepat sebagai dasar untuk membuat prototype.
  3. Menguji coba dan mengevaluasi prototype dan kemudian melaksanakan penambahan dan perbaikan-perbaikan terhadap prototype yang sudah dibuat.

Kelemahan prototyping model :

  1. Pelanggan yang melihat working version dari model yang dimintanya tidak menyadari, bahwa mungkin saja prototype dibentuk terburu-buru dan rancangan tidak tersusun dengan baik
  2. Pengembang adakala membuat implementasi sembarang, lantaran ingin working version bekerja dengan cepat

4.3 RAD (Rapid Application Development)

sistem yang dikembangkan ini banyak yang dipandang      METODOLOGI PENGEMBANGAN PERANGKAT LUNAK

Gambar 2.3 RAD (Rapid Application Development)

Merupakan metode proses pengembangan perangkat lunak secara linear sequential
yang menekankan pada siklus pengembangan yang sangat singkat. Jika kebutuhan
dipahami dengan baik, proses RAD memungkinkan tim pengembangan membuat
“sistem fungsional yang utuh” dalam periode waktu yang sangat pendek (kira-kira 60-90 hari).
Pendekatan metode RAD menekankan cakupan :

  1. Pemodelan bisnis (Bussiness Modelling)
    Aliran gosip diantara fungsi-fungsi bisnis dimodelkan dengan suatu cara untuk
    menjawab pertanyaan-pertanyaan berikut : Informasi apa yang mengendalikan proses bisnis ? Kemana gosip itu pergi? Siapa yang memprosesnya ?
  2. Pemodelan data (Data Modelling)
    Aliran gosip yang didefinisikan sebagai potongan dari fase pemodelan bisnis disaring ke dalam serangkaian objek data yang diperlukan untuk menopang bisnis tersebut. Karakteristik/atribut dari masing-masing objek diidentifikasi dan kekerabatan antara objek-objek tersebut didefinisikan.
  3. Pemodelan proses (Process Modelling)
    Aliran gosip yang didefinisikan dalam fase pemodelan data ditransformasikan untuk mencapai anutan gosip yang perlu bagi implementasi sebuah fungsi bisnis. Gambaran pemrosesan diciptakan untuk menambah, memodifikasi, menghapus atau mendapat kembali sebuah objek data.
  4. Pembuatan aplikasi (Application generation)
    Selain membuat perangkat lunak dengan menggunakan bahasa pemrograman
    generasi ketiga yang konvensional, RAD lebih banyak memproses kerja untuk menggunakan lagi komponen acara yang telah ada atau menciftakan komponen yang bias digunakan lagi. Pada semua kasus, alat-alat Bantu otomatis digunakan untuk memfasilitasi kontruksi perangkat lunak.
  5. Pengujian dan pergantian (Testing and turnover)
    Karena proses RAD menekankan pada pemakaian kembali, banyak komponen yang telah diuji. Hal ini mengurangi keseluruhan waktu pengujian. Tapi komponen gres harus diuji.

Kelemahan RAD model :

  1. Untuk proyek dengan skala besar, RAD membutuhkan sumber daya insan yang cukup untuk membentuk sejumlah tim RAD.
  2. RAD membutuhkan pengembang dan pemakai yang mempunyai janji untuk
    melaksanakan acara melengkapi sistem dalam kerangka waktu yang singkat.
  3. Akan mengakibatkan masalah kalau sistem tidak sanggup dibentuk secara modular.
  4. RAD tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang tinggi.

4.4. Spiral
Merupakan metode proses perangkat lunak yang memadukan wujud pengulangan dari
metode prototyping dengan aspek pengendalian dan sistematika dari linear sequential
metode, dengan penambahan elemen gres yaitu analisis resiko. metode ini mempunyai 4
aktivitas penting, yaitu :

  1. Perencanaan (Planning), penentuan tujuan, alternatif dan batasan
  2. Analisis resiko (Risk Analysis), analisis alternatif dan identifikasi/pemecahan resiko
  3. Rekayasa (Engineering), pengembangan level berikutnya dari produk
  4. Evaluasi Pemakai (Customer Evaluation) penilaian terhadap hasil rekayasa

sistem yang dikembangkan ini banyak yang dipandang      METODOLOGI PENGEMBANGAN PERANGKAT LUNAKGambar 2.4 Spiral

Bentuk spiral memperlihatkan citra bahwa semakin besar iterasinya, maka
menunjukkan makin lengkap versi dari perangkat lunak yang dibuat. Selama awal sirkuit,
objektif, alternatif dan batasan didefinisikan serta resiko diidentifikasikan dan dianalisa.
Jika resiko memperlihatkan ada ketidakpastian terhadap kebutuhan, maka prototyping harus
dibuat pada kuadran rekayasa. Simulasi dan pemodelan lain sanggup digunakan untuk
mendefinisikan masalah dan memperbaiki kebutuhan.
Pelanggan mengevaluasi hasil rekayasa (kuadran penilaian pelanggan) dan membuat
usulan untuk perbaikan. Berdasarkan masukan dari pelanggan, fase berikutnya ialah
perencanaan dan analisis resiko. Setelah analisis resiko selalu diperiksa apakah proyek
diteruskan atau tidak, kalau resiko terlalu besar, maka proyek sanggup dihentikan.
Model spiral ini ialah pendekatan yang paling realistic untuk sistem sekala besar. Metode
ini menggunakan pendekatan evolusioner, sehingga pelanggan dan pengembang sanggup
mengerti dan bereaksi terhadap suatu resiko yang mungkin terjadi

Kelemahan spiral model :

  1. Sulit untuk meyakinkan pemakai (saat situasi kontrak) bahwa penggunaan pendekatan ini akan sanggup dikendalikan.
  2. Memerlukan tenaga hebat untuk memperkirakan resiko, dan harus mengandalkannya
    supaya sukses.
  3. Belum terbukti apakah metode ini cukup efisien lantaran usianya relatif baru.

4.5. Fourth Generation Techniques (4GT)
Istilah generasi ke empat, mengarah ke perangkat lunak yang umum yaitu tiap
pengembang perangkat lunak memilih beberapa karakteristik perangkat lunak pada
level tinggi.

Saat ini pengembangan perangkat lunak yang mendukung 4GT, berisi tool-tool
berikut :

  • Bahasa non prosedural untuk query basis data
  • Report generation
  • Data manipulation
  • Interaksi layar
  • Kemampuan grafik level tinggi
  • Kemampuan spreadsheet
    Tiap tool ini ada tapi hanya untuk sauatu aplikasi khusus.

sistem yang dikembangkan ini banyak yang dipandang      METODOLOGI PENGEMBANGAN PERANGKAT LUNAK

Menggunakan perangkat bantu (tools) yang akan membuat arahan sumber secara
otomatis menurut spesifikasi dari pengembang perangkat lunak. Hanya digunakan
untuk menggunakan perangkat lunak yang menggunakan bahasa khusus atau notasi grafik
yang diselesaikan dengan syarat yang dimengerti pemakai. Cakupan acara 4GT :

  1. Pengumpulan kebutuhan, idealnya pelanggan akan menjelaskan kebutuhan yang akan ditranslasikan ke prototype operasional.
  2. Translasi kebutuhan menjadi prototype operasional, atau pribadi melaksanakan
    implementasi secara pribadi dengan menggunakan bahasa generasi keempat (4GL) kalau aplikasi relatif kecil.
  3. Untuk aplikasi yang cukup besar, diperlukan taktik perancangan sistem walaupun 4GL akan digunakan.
  4. Pengujian.
  5. Membuat dokumentasi.
  6. Melaksanakan seluruh acara untuk mengintegrasikan solusi-solusi yang
    membutuhkan paradigma rekayasa perangkat lunak lainnya.
    Salah satu laba penggunaan model 4GT ialah pengurangan waktu dan
    peningkatan produktivitas secara besar, sementara kekurangannya terletak pada kesulitan penggunaan perangkat bantu (tools) dibandingkan dengan bahsa pemrograman, dan juga arahan sumber yang dihasilkannya tidak efisien.

4.6 Berorientasi Objek
Paradigma pembangunan perangkat lunak berbasis objek ialah bagaimana
merepresentasikan dunia kasatmata ke dalam sebuah sistem sehingga pemecahan suatu masalah tidak dilihat dari cara merampungkan masalah tersebut tetapi dititikberatkan pada objek-objek apa sajakah yang sanggup memecahkan masalah tersebut.Akan dibahasa pada Analisis dan Perancangan berorientasi Objek

Related : Metodologi Pengembangan Perangkat Lunak

0 Komentar untuk "Metodologi Pengembangan Perangkat Lunak"

DUKUNG KAMI

SAWER Ngopi Disini.! Merasa Terbantu Dengan artikel ini? Ayo Traktir Kopi Dengan Cara Berbagi Donasi. Agar Kami Tambah Semangat. Terimakasih :)