RPL (Rekayasa Perangkat Lunak)


BAB 1
PENDAHULUAN


A.  Pengertian  Rekayasa Perangkat Lunak

Istilah Rekayasa Perangkat Lunak (RPL) secara umum disepakati sebagai terjemahan dari istilah    Software   Engineering.     Istilah     Software   Engineering
dipopulerkan   tahun   1968   pad Software   Engineering   Conference   yandiselenggarakan     oleh NATO.  Sebagian orang mengartikan      RPL  hanya  sebatas pada bagaimana membuat program komputer.  Padahal ada perbedaan yang mendasar antara perangkat lunak (software) dan program komputer.

Perangkat  luna adala seluruh  perintah  yang  digunakan  untuk memproses informasi Perangkat lunak dapat berupa program atau prosedur. Program adalah kumpulan perintah yang dimengerti oleh komputer sedangkan prosedur adalah perintah yang dibutuhkan oleh pengguna dalam memproses informasi (OBrien, 1999).  Pengertian RPL sendiri adalah sebagai berikut:





Jelaslah bahwa RPL tidak hanya berhubungan dengan cara pembuatan program komputer.  Pernyataan “semua aspek produksi pada pengertian di atas, mempunyai arti semua hal yang berhubungan dengan proses produksi seperti manajemen proyek, penentuan personil, anggaran biaya, metode, jadwal, kualitas sampai dengan pelatihan pengguna merupakan bagian dari RPL.



B.  Tujuan Rekayasa Perangkat Lunak

Secara umum tujuan RPL tidak berbeda dengan  bidang rekayasa yang lain. 

Dari  Gambar  1  dapat  diartikan  bahwa  bidang  rekayasa  akan  selalu berusaha menghasilkan output yang kinerjanya tinggi, biaya rendah dan waktu penyelesaian yang tepat.  Secara lebih khusus kita dapat menyatakan tujuan RPL adalah :

a.    Memperoleh biaya produksi perangkat lunak yang rendah.
b.   Menghasilkan perangkat lunak yang kinerjanya  tinggi, andal dan tepat       
     waktu
c.    Menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis
    Platform.
d.      Menghasilkan perangkat lunak yang biaya perawatannya rendah.


C.  Ruang Lingkup Rekayasa Perangkat Lunak

  Sesuai   definisi  yang  telah  disampaikan sebelumnya, maka ruang lingkup
      RPL dapat digambarkan sebagai berikut.

  • Software  requirements  berhubungan  dengan  spesifikasi  kebutuhan  dan persyaratan perangkat lunak.
  • Software  design  mencakup  proses   penentuan   arsitektur,  komponen, antarmuka, dan karakteristik lain dari perangkat lunak.
  • Software construction berhubungan dengan detil pengembangan perangkat lunak,   termasu algoritma,   pengkodean,   pengujian,   dan   pencarian kesalahan.
  • Software testing meliputi pengujian pada keseluruhan perilaku  perangkat lunak.
  • Software maintenance mencakup upaya-upaya perawatan ketika perangkat lunak telah dioperasikan.
  • Software configuration management berhubungan dengan usaha perubahan konfigurasi perangkat lunak untuk memenuhi kebutuhan tertentu.
  • Software  engineering  management  berkaitan  dengan  pengelolaan  dan pengukuran RPL, termasuk perencanaan proyek perangkat lunak.
  • Software engineering tools and methods mencakup kajian teoritis tentang alat bantu dan metode RPL.
  • Software engineering process berhubungan dengan definisi, implementasi, pengukuran, pengelolaan, perubahadan perbaikan proses RPL.
  • Software quality menitikberatkan pada  kualitas dan  daur hidup perangkat lunak.


BAB II

METODE REKAYASA PERANGKAT LUNAK


Ketika    kita   bekerja    dengan    komputer  seperti   pada  kita         membutuhkan serangkaia tahapan   dan  cara-cara tertentu agar dapat menghasilkan sesuatu   yang     menjadi   harapan   kita.  Demikian    juga    dalam rekayasa       perangkat
lunak, diperlukan  tahapan-tahapan  kerja yang   harus dilalui.  Rekayasa perangkat lunak yang sukses tidak hanya membutuhk 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. Isi dari bab ini tidak termasuk dalam standar kompetensi bidang keahlian RPL.    Namun  penulis  memandang  perlu  disampaikan  agar  kalian  dapat mengetahui  bagaimana sebenarnya rekayasa perangkat lunak  dilakukan dan metode-metode apa saja yang biasa digunakan.  Beberapa bagian dari bab ini mungkin   agak   sulit   dipahami,   sehingga   peran   guru   dalam   membantu menjelaskan akan sangat diperlukan. 

Setelah mempelajari Rekayasa Perangkat Lunak ini diharapkan mampu :
1.      Memahami karakteristik umum model proses dalam rekayasa perangkat Lunak
2.      Menyebutkan beberapa model rekayasa perangkat lunak
3.      Mengetahui Prinsip-prinsip dari metode waterfall, prototyping, dan univied process.
4.      Memahami Tahapan-tahapan dalam rekayasa Perangkat Lunak.

A. Model Rekayasa Perangkat Lunak

Pada rekayasa perangkat lunak, banyak model yang telah dikembangkan untuk membantu proses pengembangan perangkat lunak.  Model-model ini pada umumnya
mengacu pada model proses  pengembangan  sistem yang disebut System Development Life Cycle (SDLC) seperti terlihat pada Gambar 10.


Setiap  model  yang  dikembangkan   mempunyai  karakteristik   sendiri- sendiri.
Namun secara umum ada persamaan dari model-model ini, yaitu:

§  Kebutuhan terhadap definisi masalah yang jelas.  Input utama dari setiap model pengembangan perangkat lunak adalah pendefinisian masalah yang jelas.  Semakin jelas akan semakin baik karena akan memudahkan dalam penyelesaian  masalah. Oleh  karena  itu  pemahaman  masalah  seperti dijelaskan   pada   Bab   1,   merupakan   bagian   penting   dari   model pengembangan perangkat lunak.
§  Tahapan-tahapan  pengembangan  yang  teratur.    Meskipun  model-model pengembangan perangkat lunak memiliki pola yang berbeda-beda, biasanya model-model tersebut mengikuti pola umum analysis – design – coding – testing - maintenance.
§  Stakeholder   berperan   sangat   penting   dalam   keseluruhan   tahapan pengembangan.  Stakeholder dalam rekayasa perangkat lunak dapat berupa pengguna pemilik, pengembang, pemrogram dan orang-orang yang terlibat dalam rekayasa perangkat lunak tersebut.

§  Dokumentasi  merupakan  bagian  penting  dari  pengembangan  perangka lunak.    Masing-masing  tahapan  dalam  model  biasanya  menghasilkan sejumlah tulisan, diagram, gambar atau bentuk-bentuk lain yang harus didokumentasi dan merupakan bagian tak terpisahkan dari perangkat lunak yang dihasilkan.

§  Keluaran  dari  proses  pengembangan  perangkat  lunak  harus  bernilah ekonomis.   Nilai dari sebuah perangkat lunak  sebenarnya agak susah di- rupiah-kan Namun  efek dari penggunaan perangkat lunak  yang telah dikembangkan haruslah memberi nilai tambah bagi organisasi.  Hal ini dapat berupa  penurunan  biaya  operasi,   efisiensi  penggunaan   sumberdaya, peningkatan keuntungan organisasi,  peningkatan “image” organisasi dan lain-lain

Ada banyak  model pengembangan  perangkat lunak, antara lain 
The Waterfall Model, Joint Application Development (JAD), Information Engineering (IE), Rapid Application Development (RAD),  Prototyping, Unified Process (UP), Structural Analysis and Design (SAD) d Framework for the Application of System thinking (FAST)   The  Waterfall  Model,  Prototyping,    Unified Process (UP).


1.  The waterfall model

Model siklus hidup (life cycle model) adalah model utama dan dasar dari banyak
model.  Salah satu model yang cukup dikenal dalam  dunia rekayasa perangkat lunak adalah The Waterfall Model.  Ada 5 tahapan utama dalam The Waterfall Model seperti terlihat pada Gambar 2.3.  di sebut Waterfall ( berarti Air Terjun) memang diagram tahapan prosesnya mirip dengan air terjun yang bertingkat. Tahapan-tahapan dalam The Waterfall Model secara ringkas adalah sebagai berikut :
a)      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
b)      Tahap analisis bertujuan untuk mencari kebutuhan pengguna dan organisasi serta menganalisa kondisi yang ada (sebelum diterapkan  sistem informasi yang baru).


c)      Tahap  disain  bertujuan   menentukan  spesifikasi   detil  dari  komponen- komponen  sistem informasi  (manusia,  hardware, software,  network dan data) dan produk-produk informasi yang sesuai dengan hasil tahap analisis.
d)      Tahap   implementasi   merupakan   tahapan   untuk   mendapatkan   atau mengembangkan    hardware    dan    software    (pengkodean    program), melakukan pengujian, pelatihan dan perpindahan ke sistem baru.
e)      Tahapan perawatan (maintenance) dilakukan ketika sistem informasi sudah dioperasikan. Pada tahapan ini dilakukan monitoring proses, evaluasi dan perubahan (perbaikan) bila diperlukan.
  

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). Prototyping model dapat diklasifikasikan  menjadi  beberapa  tipe seperti terlihat pada gambar 12



  • Reusable prototype :
       Prototype yang akan ditransformasikan menjadi produk final.

  • Throwaway prototype :
       Prototype yang akan dibuang begitu selesai menjalankan maksudnya.

  • Input/output prototype :
      Prototype yang terbatas pada antar muka pengguna (user interface).

  • Processing prototype :
            Prototype  yang  meliputi  perawatan  file  dasar  dan  proses-proses transaksi.

  • System prototype :
            Prototype yang berupa model lengkap dari perangkat lunak.

Tahap-tahap dalam prototyping boleh dikata merupakan tahap-tahap yang dipercepat.    Strategi utama dalam  prototyping adalah kerjakan yang mudah terlebih dahulu dan sampaikan hasil kepada pengguna sesegera mungkin.  Harris (2003) membagi prototyping dalam enam tahapan seperti terlihat pada gambar 13.

Tahapan-tahapan secara ringkas dapat dijelaskan sebagai berikut:

  • 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.

artikel ini disalin lengkap dari: http://materikuliahjuni.blogspot.co.id/2011/08/rekayasa-perangkat-lunak.html
halaman utama website: http://materikuliahjuni.blogspot.co.id/
jika mencari artikel yang lebih menarik lagi, kunjungi halaman utama website tersebut. Terimakasih!

No comments:

Not Indonesian?

Search This Blog