Wednesday, April 24, 2013

METODE PERANGKAT LUNAK


METODE PERANGKAT LUNAK

Dalam rekayasa perangkat lunak, diperlukan tahapan-tahapan kerja yang harus dilalui. Rekayasa perangkat lunak tidak hanya membutuhkan kemampuan komputasi seperti algoritma, pemrograman, dan basis data yang kuat, namun juga perlu penentuan tujuan yang baik, identifikasi cara penyelesaian, metode pengembangan, urutan aktifitas, identifikasi kebutuhan sumberdaya, dan faktor-faktor lain. Hal-hal seperti ini terkait dengan apa yang disebut dengan metode rekayasa perangkat lunak.
Model Proses Rekayasa Perangkat Lunak
Banyak model yang telah dikembangkan dalam rekayasa perangkat lunak yang digunakan  untuk membantu proses pengembangan perangkat lunak. Model-model ini pada umumnya mengacu pada model proses pengembangan sistem yang disebut System Development Life Cycle (SDLC).

Metodologi Rekayasa Perangkat Lunak
Terdapat beberapa metodologi dalam rekayasa perangkat lunak, antara lain:
1.      System Development Methodologies
o    Metodologi yang mengacu pada pendekatan implementasi SDLC.
o    Metodologi akan berubah-ubah tergantung pada kepentingan dan kegunaan software itu sendiri.
2.     Process-centered Methodologies
o    Fokus pada penentuan aktifitas yang berhubungan dengan sistem.
o    Menyajikan konsep sistem sebagai serangkaian proses yang mengalir masuk dan keluar.
3.     Data-centered Methodologies
o    Fokus pada penentuan isi dari data penyimpanan dan bagaimana mereka terorganisasi.
o    Data-centered methodologies menggunakan data models sebagai inti dari konsep sistem.
4.     Object-oriented Methodologies
o    Metodologi ini berhasil menyeimbangkan fokus antara proses dan data.
o    The Unified Modeling Language (UML) digunakan untuk mendeskripsikan konsep sistem sebagai koleksi dari object melengkapi data dan proses.
Metodologi Perkembangan Perangkat Lunak
1. The waterfall model
Disebut waterfall (berarti air terjun) karena memang diagram tahapan prosesnya mirip dengan air terjun yang bertingkat.
Tahapan :
  • Tahap Investigasi  dilakukan untuk menentukan apakah terjadi suatu  masalah atau adakah peluang suatu sistem informasi dikembangkan.Pada tahapan ini studi kelayakan perlu dilakukan untuk menentukan apakah sistem informasi yang akan dikembangkan merupakan solusi yang layak
  • Tahap analisis bertujuan untuk mencari kebutuhan pengguna dan organisasi serta menganalisa kondisi yang ada.
  • Tahap disain bertujuan menentukan spesifikasi detil dari komponen-komponen sistem informasi dan merancang produk-produk informasi yang sesuai dengan hasil tahap analisis.
  • Tahap implementasi merupakan tahapan untuk mendapatkan atau mengembangkan hardware dan software (pengkodean program).
  • Tahapan perawatan (maintenance) dilakukan ketika sistem informasi sudah dioperasikan. Pada tahapan ini dilakukan monitoring proses, evaluasi dan perubahan (perbaikan) bila diperlukan.
Kelebihan:
  • Pengaplikasian dalam pengembangan software mudah.
  • Semua kebutuhan system dapat didefiniskan di awal system secara eksplisit dan benar di awal project.
  • Perubahan di tengah – tengah proses pengembangan software sangat sedikit yang dikarenakan telah dikonsep dengan baik di awal proses.
Kekurangan :
  • Tahap – tahap dilakukan secara urut maka akan memerlukan waktu yang lama dalam setiap tahapnya.
  • Apabila telah selesai suatu tahap maka sumber daya dalam tahap itu tidak dapat dipakai lagi, akan terjadi boros sumber daya.
  • Tidak fleksibel dalam mengalami perubahan.
  • Apabila suatu tahap menghadapi suatu kendala atau hambatan akan sulit dalam pengembangan lebih lanjut dan sangat boros waktu dan tenaga.
2. Prototyping  model
Prototyping adalah salah satu pendekatan dalam rekayasa perangkat lunak yang secara langsung mendemonstrasikan bagaimana sebuah perangkat lunak atau komponen komponen perangkat lunak akan bekerja dalam lingkungannya sebelum tahapan konstruksi aktual dilakukan (Howard, 1997).
Tahapan:
  • Identifikasi kandidat prototyping. Kandidat dalam kasus ini meliputi user
    interface (menu, dialog, input dan output), file-file transaksi utama, dan
    fungsi-fungsi pemrosesan sederhana.
  • Rancang bangun prototype dengan bantuan software seperti word
    processor, spreadsheet, database, pengolah grafik, dan software CASE
    (Computer-Aided System Engineering).
  • Uji prototype untuk memastikan prototype dapat dengan mudah dijalankan
    untuk tujuan demonstrasi.
  • Siapkan prototype USD (User’s System Diagram) untuk mengidentifikasi
    bagian-bagian dari perangkat lunak yang di-prototype-kan.
  • Evaluasi dengan pengguna untuk mengevaluasi prototype dan melakukan
    perubahan jika diperlukan.
  • Transformasikan prototype menjadi perangkat lunak yang beroperasi penuh
    dengan melakukan penghilangan kode-kode yang tidak dibutuhkan,
    penambahan program-program yang memang dibutuhkan dan perbaikan
    dan pengujian perangkat lunak secara berulang
    .
Kelebihan :
  • Memberikan gambaran yang jelas kepada Costumer
  • Mempercepat kerja karena telah memiliki prototypenya
  • Menyamakan gambaran apabila software tersebut dikerjakan secara kelompok
Kekurangan :
  • Menghabiskan biaya yang banyak untuk pembentukan prototype
  • Apabila dalam pengembangan prototypenya system tidak sesuai dengan keinginan costumer maka akan di bentuk ulang sehingga memakan waktu
3. Incremental Model
Model ini mengadopsi model sekuensial linier dan model prototipe. Fungsi dasar sama, tapi ada tambahan aksesoris. Fungsi tambahan ditambahkan terus untuk membuat sistem menjadi lebih baik. Pada increment pertama Perangkat Lunak yang jadi, mengakomodasi kebutuhan inti. Baru pada tahap berikutnya ditambahkan kemampuan baru atau fitur baru yang dapat menyempurnakan Perangkat Lunak tersebut.

4. RAD (Rapid Application Development)
Dalam system ini proses analisis hingga proses itu selesai di lakukan secara berulang, sehingga system yang pertama terbentuk menjadi sangat penting dalam pengembangan system selanjutnya.
Kelebihan :
  • Pengembangan suatu Software dilakukan dengan waktu yang cepat
  • Biaya yang keluar sedikit
  • Software lebih cepat jadi daripada metode yang lain
Kekurangan :
  • Akan melakukan banyak perbaikan karena proses yang berulang – ulang
  • Software selalu berubah – ubah sehingga dapat menyulitkan user atau costumer.




0 comments:

Post a Comment

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Free Web Hosting