Tutorial Rekayasa Perangkat Lunak (RPL)

Membuka kembali materi kuliah yang sudah lama tidak dibaca, pastinya memerlukan konsentrasi yang tinggi saat mencoba kembali membacanya. Apalagi saat kita sudah tidak kuliah lagi alias sudah lulus. Lalu mengapa saya melakukan kegiatan membaca dan mencari-cari beberapa materi kuliah kembali? Hal ini erat kaitannya dengan beberapa pertanyaan teman saya yang sedang menjalankan tugas akhir atau skripsi. Ceritanya, teman saya mengajukan bab I yang telah dikerjakannya dengan semangat 45 dan berharap tidak ada coretan atau revisi dari dosen pembimbingnya. Tapi yang terjadi, setelah diajukan beberapa bagian dari bab I yang telah dikerjakannya terdapat revisi. Diantaranya seperti yang ditanyakan ke saya yaitu: metode perancangan menggunakan metode apa? Lalu saya lihat dosen pembimbingnya memberi referensi di paper bab I nya agar membuka materi kuliah Rekasa Perangkat Lunak. Dikarenakan teman saya belum sempat mengcopy/tidak punya materi rekayasa perangkat lunak (RPL), ditanyakanlah hal tersebut kepada saya. Jadilah saya membuka  kembali beberapa modul/materi kuliah yang sudah lama tidak saya baca.  Lalu saya berfikir lagi, mengapa tidak saya share aja ya sekalian di blog ini. Mungkin dengan saya share (baca:bagikan) tidak hanya dapat membantu teman saya itu, tetapi mungkin akan membantu yang kebetulan memerlukan materinya. Sebelum anda mendownload materi rekayasa perangkat lunak ppt (download dalam format power point) di akhir artikel ini, berikut beberapa hal yang mungkin perlu anda ketahui yang saya rangkum dalam Tutorial Rekayasa Perangkat lunak (RPL).

Pengertian/Definisi Perangkat Lunak

Pengertian atau definisi perangkat lunak, diantaranya :

  1. Perangkat lunak merupakan suatu kumpulan instruksi dari beberapa program komputer yang apabila di eksekusi akan menyediakan beberapa fungsi dan pekerjaan yang diinginkan.
  2. Perangkat lunak adalah kumpulan struktur data yang membuat suatu program komputer dapat memanipulasi informasi.
  3. Perangkat lunak adalah kumpulan dokumen yang menjelaskan tentang operasional dan penggunaan suatu program komputer.

Baca juga : materi sistem informasi manajemen ppt

Tujuan Rekayasa Perangkat Lunak

Menghasilkan produk PL (perangkat lunak) yang ditinjau dari segi biaya sangatlah efisien. Bila biaya tak terbatas secara teoritis apapun dapat dikerjakan.

Tantangan Rekayasa Lunak

Selain tujuan, rekayasa perangkat lunak memiliki tantangan, diantaranya: Menghasilkan Perangkat Lunak yang berkualitas tinggi dengan sumber daya terbatas dan jangka waktu yang tertentu.

Karakteristik Perangkat Lunak

Karakteristik perangkat lunak yang direkayasa dengan baik adalah sebagai berikut:

  • Mudah dirawat -> dilengkapi dokumentasi dan perubahan dapat dilakukan dengan biaya minimum.
  • Dapat diandalkan -> bekerja seperti yang diharapkan dan gagaln hanya bila keluar dari spesifiknya.
  • Bekerja efisien  – > tidak memboroskan sumber daya seperti : memory, prosesor, penyimpanan.
  • Dirancang sesuai dengan tingkat kemampuan pemakai.

Produk perangkat lunak dikembangkan dari serangkaian perubahan, dari user requirements menjadi kode eksekusi untuk mesin.

gambar RPL

 

Rekayasa Perangkat Lunak berupaya untuk menghasilkan :

1. Komponen PL (baca:perangkat lunak) yang dapat dipakai ulang (Reusability) dengan maksud : dapat dimanfaatkan pada berbagai program.
2. Komponen PL (Reusable Component) terdiri dari :
Subroutine = berisi algoritma
Object Class = Berisi alogritma dan struktur data
3. Produk PL yang lengkap dengan dokumentasinya.

Dua Macam Produk Perangkat Lunak :
1. Generik = Proudk yang dikembangkan untuk dijual kepada publik.
2. Spesifik = Produk yang dikembangkan khusus untuk sebuah company.

Jenis-jenis produk perangkat lunak diantaranya:
1. System software. Seperti: program untuk mengatur/melayani program-program lain dan system software ini banyak berinteraksi dengan perangkat lunak.
2. Real time software. Seperti: Perangkat lunak yang memonitor, menganalisa, mengendalikan suatu kejadian atau peristiwa yang terjadi. Waktu tanggap (response) singkat (milidetik).
3. Business Software. Merupakan perangkat lunak yang menangani bermacam aplikasi seperti: penggajian, penjualan, persediaan barang, SIM(Sistem Informasi Manajemen)
4. Enginering dan Scientific Software. Merupakan perangkat lunak yang banyak memproses angka-angka seperti: astronomi, otomotif, peramalan cuaca, dll.

Beberapa aktivitas utama yang dilakukan oleh perekayasa perangkat lunak,  diantaranya ada empat aktivitas, yaitu:
1. Spesifikasi. Berisi tentang spesifikasi perangkat lunak dan batasan operasional.
2. Pengembangan. Berisi tentang tahapan pengembangan sesuai spesifikasi.
3. Validasi. Berisi tentang tahapan pengujian agar sesuai dengan spesifikasi.
4. Evolusi. Melakukan penyesuian yang mengikuti perubahan kebutuhan.

Pengertian SDLC (Systems Development Life Cycle/Siklus Hidup Pengembangan Sistem)

SDLC adalah proses pembuatan dan pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut. SDLC merupakan pola yang diambil untuk mengembangkan sistem perangkat lunak, yang terdiri dari tahap-tahap: rencana (planning), analisis (analysis), desain (design), implementasi (implementation), uji coba (testing) dan pengelolaan (maintenance). Dalam rekayasa perangkat lunak, konsep SDL mendasari berbagai jenis metodologi pengembangan perangkat lunak. Metodelogi-metodelogi ini membentuk suatu kerangka kerja untuk perencanaan dan pengendalian sistem informasi, yaitu proses pengembangan perangkat lunak.

Baca juga: contoh-contoh skripsi tentang sistem pakar 

Model Pengembangan Perangkat Lunak

Ada beberapa model pengembangan perangkat lunak diantaranya: waterfall model, prototype model, spiral model, incremental model, extreeme programming model,  rational unified process model dan the opportunistic approach model. Tetapi kali ini saya akan memaparkan hanya 3 model saja, yaitu waterfall, prototype dan spiral.

1.  Watefall Model (The Linear Sequint Model)
Waterfall Model adalah daur hidup klasik (the oldest life cycle model) yang diperkenalkan oleh Winston Royce (1970) dan menggunakan metode black box saat melakukan testing aplikasi. Metode Waterfall  adalah urutan proses pengembangan perangkat lunak, dimana kemajuan dipandang sebagai terus mengalir ke bawah (sebagai air terjun). Metode waterfall sampai saat ini masih dijadikan acuan pada pengembangan suatu perangkat lunak yang berisi tahapan sebagai berikut:
a. Definisi kebutuhan sistem (requirement)
b. Rancangan sistem (design)
c. Implementasi dan unit testing (implementation)
d. Integrasi dan sistem testing (integration)
e. Operasi dan perawatan (maintenance)

Bagan alir model waterfall, bisa Anda lihat seperti gambar di bawah ini.

bagan gambar model waterfall

Penjelasan tahapan dalam model waterfall pada bagan diatas:

a. Analisa dan definisi kebutuhan sistem. Diuraikan tentang kemampuan, batasan dan tujuan yang merupakan bagian dari sistem.
b. Rancangan Sistem dan perangkat Lunak. Merupakan transformasi kebutuhan user ke dalam bentuk perangkat lunak yang terdiri dari: arsitektur sistem, kebutuhan hardware dan kebutuhan software.
c. Implementasi dan unit testing. Merupakan pembuatan program komputer dimulai untuk membentuk sebuah  software.
d. Integrasi dan Sistem Testing. Pembentukan sebuah sistem, seperti unit-unit yang diintegrasikan dan diuji sebuah sistem.
e. Operasi dan Perawatan. Merupakan Pemakaian dan penyesuaian dalam memanfaatkan sistem, perbaikan, perubahan dan pengembangan.

Penjelasan Waterall Model

Disebut juga daur hidup klasik, merupakan paradigma yang sudah lama, namun tetap digunakan sampai saat ini. Problema yang dihadapi paradigma ini (kekurangan model waterfall) adalah sebagai berikut:
a. Tahapan proyek yang sesungguhnya tidak sequential.
b. Tahapan proyek banyak mengalami iterasi/pengulangan.
c. Pada dasarnya sulit untuk mendefinisikan kebutuhan secara jelas.
d. Pada paradigma ini bentuk kerja lambat terlihat.
e. Kesalahan di awal tahap berakibat sangat fatal.

Keuntungan/Kelebihan dari model waterfall ini, diantaranya:
a. Paling banyak diikuti dan diterapkan.
b. Masih dianggap sesuai dengan keadaan sekarang, walaupun dengan segala kekurangan yang dimiliki.

2. Model Prototype
Merupakan model/paradigma prototype yan digunakan apabila ditemui kondisi-kondisi sebagai berikut:
a. Defini user berisfat umum.
– User tidak tahu pasti apa yang diinginkan.
b. Definisi user tidak bersifat rinci
– User tidak tahu pasti apa dan bagaimana bentuk: masukan, proses dan keluaran.
c. Pengembang merasa tidak pasti tentang:
– Pilihan algoritma yang akan dipakai.
– Bagaimana lingkungan sistem yang akan dikembangkan.
– Bentuk, sifat dan karakteristik antar muka pemakai.
Intinya pada model prototype ini adalah ketidakpastian di pihak user tentang apa yang diinginkan. Sedangkan di pihak pengembang ketidakpastian itu terlihat dari ragunya pengembang untuk melakukan pengembangan atau apa yang harus mereka lakukan?

Terdapat 2 macam bentuk prototyping:
1. Evolutionary. Dimulai dari model yang dikembangkan lalu akhirnya dimanfaatkan.
2. Throwaway. Hanya dibuat sebagai model untuk mencari bentuk yang diinginkan (cetak biru).

Bagan Alir prototyping/prototype (Evolutionary)

gambar model prototype

Bagian Alir prototype (throwaway)

gambar model prototype throwaway

Empat Model Prototipe
a. Prototipe Kertas
Gambaran sistem dibuat pada media kertas. Prototipe kertas tidak mempunyai bagian operasional (berbentuk program) dapat diujicoba (test), dapat diimplementasikan (run/execute).
b. Prototipe berbasis PC. Pada permodelan ini dilakukan dengan memakai program aplikasi, program-program presentasi dan untuk memelihara interaksi manusia dan komputer.
c. Prototipe kerja. Pada prototipe ini impelementasi sebagian fungsi sistem, fungsi yang ingin dilihat karakteristiknya dan dibuatkan programnya.
d. Prototipe program. Merupakan program yang benar-benar dibuat dan bisa bekerja. Merupakan bagian program yang sudah berfungsi dan terus menerus ditambah dan dilengkapi.

Keunggulan Prototipe:
a. Komunikasi user-developer. Seperti: Frekuensi komunikasi meningkat. Pengembang akan selalu meminta pendapat user.
b. Membantu Analisis. Seperti: Menentukan kebutuhan user yang sebenarnya dan meminimalkan salah persepsi.
c. Peran user meningkat. Seperti:Evaluasi oleh user berkali-kali dan user bisa memberikan masukan setiap saat.
d. Pengembangan lebih cepat. Seperti: program bisa langsung dibuat dan user melihat perkembangan tahap demi tahap.
e. Implementasi mudah. Seperti: user sudah mengenal perangkat lunak yang dikembangkan, user tidak akan merasa asing da sejak awal user sudah merasa memiliki.

Kelemahan prototipe:
a. Pemakai sibuk. Seperti: User dan pengembang harus sama-sama/memiliki komitmen, menyediakan waktu untuk bertemu.Keduanya sepakat untuk kerja sama.
b. Pemakai sulit untuk melakukan evaluasi. Seperti: Bentuk prototipe sering berubah dan disesuaikan dengan kebutuhan user itu sendiri.
c. User ingin cepat selesai. Seperti: Bentuk program sudah terlihat dari awal, user merasa tidak akan lama lagi selesai dan pengembang sering mengabaikan dokumentasi.
d. User berharap terlalu banyak. Seperti: Keberhasilannya membawa dampak. Sering evaluasi dan komunikasi membuat user menjadi sering berubah keinginan dan tidak pasti dengan perubahan.
e. Prototipe bekerja tidak efisien. Seperti: Lebih mementingkan keberhasilan.

Prototipe/prototyping baik dipakai pada kondisi/keadaan sebagai berikut:
a. Sistem mempunyai resiko tinggi. Seperti: tidak jelas permasalahannya, tidak jelas kebutuhan dan keinginan dan tidak pasti apa yang ingin dilakukan.
b. Perancangan dialog user – komputer: Seperti: Bagaimana membuat dialog aman dan mudah.
c. Sistem diminati oleh banyak pemakai. Seperti: mencari kesepakatan dan basis pengetahuan untuk menyamakan persepsi.
d. User ingin cepat selesai. Seperti: user tidak sabar menunggu, prototipe segera memperlihatkan bentuk kerja sistem.
e. Masa pakai singkat. Seperti: Sistem hanya dipakai beberapa kali saja.
f. Ingin menunjukkan inovasi. Seperti: pengembang dapat menunjukkan kecanggihan, sistem cepat terlihat (mungkin cepat selesai).
g. Kebutuhan berubah-rubah. Seperti: User sulit menjelaskan kebutuhan dan menjadi keadaan yang paling umum untuk memakai prototyping.

3. Model Spiral
Merupakan model pengembangan bertingkat (evolutinary process) dengan menggabungkan dua metode prototyping dan waterfall. Pada model spiral ini memungkinkan dikembangkannya perangkat lunak secara bertahap (incremental) dengan cepat.

Model Spiral terbagi atas 6 tahapan, yaitu: customer communication, planning, risk analysis, engineering, construction&release, serta customer evaluation.

Bagan Alir Model Spiral, bisa Anda lihat di bawah ini:
gambar model spiral

Penjelasan dari tahap-tahap model spiral (gambar di atas) adalah sebagai berikut:
a. Customer communication. Merupakan penerapan komunikasi antara user dengan developer.
b. Planning. Menentukan tujuan, alternatif, batasan sistem. Penentuan kebutuhan awal dan dilanjutkan dengan hasil evaluasi user.
c. Risk analysis. Analisa resiko yang didasari oleh evaluasi user. Analisa resiko berdasarkan kebutuhan awal. Identifikasi resiko dan penanganan resiko.
d. Engineering. Pengembangan produk dimulai dengan protitipe awal sampai menjadi produk jadi.
e. Construction dan release. Tahap konstruksi, test, install dan penyiapan user support (dokumentasi).
f. Customer evalution. Penilian hasil pengembangan produk oleh user pada tahap pengembangan

Artikel terkait: ebook gratis kecerdasan buatan

Download Materi Rekayasa Perangkat Lunak (Materi Kuliah RPL )

Artikel untuk materi rekayasa perangkat lunak ini terdiri dari dua bagian, materi berikutnya (bagian ke-2/terkahir) dari materi rekayasa perangkat lunak dapat anda baca disini, sedangkan untuk download materi di atas, silahkan download di sini.

Download Contoh Tugas Manajemen Proyek Perangkat Lunak

Bagi Anda yang membutuhkan contoh tugas manajamen proyek perangkat lunak (software engineering), silahkan download contohnya dengan mengklik halaman disini

Download Materi RPL SMK

Materi rekayasa perangkat lunak ini berbentuk PDF, merupakan ebook karya Aunur R. Mulyanto dengan jilid I sebanyak 156 halaman, Silahkan download ebooknya di link ini. Untuk Jilid 2 Sebanyak 174 halaman silahkan klik download materinya disini

 

Semoga postingan saya tentang RPL dasar perangkat lunak  ini bisa juga Anda jadikan sebagai sumber materi kuliah, pembuatan makalah, laporan prakerin rpl dan lain-lain.

11 Replies to “Tutorial Rekayasa Perangkat Lunak (RPL)”

    1. @ridho: jangan dicopas mas, kalau memang ingin mengambil materinya silahkan..Dan kalau memang mau diterbitkan ke blog/web jangan lupa sertakan sumbernya.

  1. Bisa minta referensi buku dari gambar-gambar permodelan perangkat lunak di atas gk?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.