• Friday, February 13th, 2015
  1. Definisi Rekayasa Perangkat Lunak

Definisi Rekayasa Perangkat Lunak Menurut Fritz Bauer : “Penerapan dan pemanfaatan prinsip-prinsip rekayasa untuk menghasilkan perngkat lunak yang ekonomis yang handal dan bekerja secara efisisen pada mesin-mesin yang nyata” Karakteristik Perangkat Lunak Dikembangkan atau direkayasa, tidak dibuat dalam pengertian pada umumnya. Tidak ‘lapuk’ atau mengalami penyusutan secara fisis.

Menurut Roger S. Pressman (2005) perangkat lunak adalah sebuah produk yang dibangun oleh Software Professional dan kemudian mendukung semua perangkat lunak dalam jangka waktu yang panjang. Sehingga definisi perangkat lunak menurut Pressman (2005) adalah sebagai berikut :

  1. Instruksi-instruksi
    Yang hila dijalankan akan memberikan ciri-ciri, fungsi, dan kinelja yang
  2. Struktur Data
    Yang memungkinkan program tersebut mampu memanipulasi suatu informasi.
  3. Dokumen-dokumen

Menurut IEEE Computer Society : Rekayasa perangkat lunak sebagai penerapan suatu pendekatan yang sistematis, disiplin dan terkuantifikasi atas pengembangan, penggunaan dan pemeliharaan perangkat lunak, serta studi atas pendekatan-pendekatan ini, yaitu penerapan pendekatan engineering atas perangkat lunak.

Pada umumnya dibuat secara khusus, tidak disusun dari komponen-komponen yang telah ada. Problem Perangkat Lunak Perangkat lunak tidak berfungsi secara baik (kualitas yang kurang).Ketidaktepatan penjadwalan proses dan biaya produksi. Produktivitas yang belum dapat memenuhi tuntutan kebutuhan pemakai. Pemeliharaan yang sukar. Perkembangan teknologi perangkat keras di luar kemampuan programmer untuk membuat perangkat lunak yang dapat memanfaatkan potensi perangkat keras secara maksimal.

Rekayasa perangkat lunak (RPL atau SE [Software Engineering]) adalah satu bidang profesi yang mendalami cara-cara pengembangan perangkat lunak termasuk pembuatan, pemeliharaan, manajemen organisasi pengembangan perangkat lunak, dan sebagainya.
Pada tahun 2004, istilah rekayasa perangkat lunak secara umum digunakan dalam tiga arti, yaitu:

  1. Sebagai istilah umum untuk berbagai kegiatan yang dulunya bernama pemrograman atau analisis sitem,
  2. Sebagai istilah yang luas untuk analisis teknis dari semua aspek-aspek praktis yang bertentangan dengan teori pemrograman computer, dan
  3. Sebagai istilah yang mewujudkan advokasi suatu pendekatan spesifik ke pemrograman computer, satu hal yang mendesak yang diperlakukan sebagai profesi rekayasa daripada sebuah seni atau kerajinan, dan advokasi dari kodifikasi praktis yang disarankan dalam bentuk metodologi rekayasa perangkat lunak.
  1. Model Proses pengembangan

Cara atau strategi bagaimana perangkat lunak dibuat sedemikian rupa sehingga produk perangkat lunak tersebut dapat diwujudkan.Beberapa model proses pengembangan PL:

  • Waterfall
  • Incremental
  • Prototyping Model
  • Spiral Model
  • Rational Unified Process (RUP)
  • Extreme Programming (XP)

 

  • Waterfall

waterKelebihan :

  • Proses-prosesnya mudah dipahami dan jelas
  • Mudah dalam pengelolaan proyek
  • Dokumen dihasilkan setiap akhir fase
  • Sebuah fase dijalankan setelah fase sebelumnya selesai
  • Struktur sistem jelas
  • Kondisi tepat SDLC Waterfall
  • Kebutuhan user telah sangat dipahami
  • Kemungkinan terjadinya perubahan kebutuhan user kecil

Kelemahan

  • Proyek dunia nyata jarang mengikuti alur proses
  • Kesulitan jika terjadi perubahan kebutuhan
  • Waktu pengerjaan bertambah
  • Ada anggota tim yang harus menunggu pekerjaan pekerja lain
  • Kesabaran customer/klien

 

  • Incremental

w

Incremental (DEFINISI)

  • Pengembangan dibagi menjadi bagian-bagian yang dapat berkembang secara bertambah (increments)
  • Setiap bagian harus memenuhi fungsi-fungsi yang diperlukan
  • Kebutuhan pengguna diprioritaskan dan prioritas tertinggi didahulukan dalam pengembangan
  • Begitu dimulai, kebutuhan yang telah tertangani akan dibekukan sehingga memberikan tempat bagi kebutuhan lain untuk dapat berevolusi

Kelebihan dan Kekurangan

  • Kebutuhan pengguna / customer dipenuhi pada setiap bagian yang selesai terlebih dahulu
  • Bagian yang selesai terlebih dahulu menjadi prototipe
  • Resiko rendah
  • Bagian yang punya prioritas tertinggi dapat dites secara intensive
  • Permasalahan
  • Batasan proses tidak jelas
  • Sistem kurang terstruktur
  • Kemampuan aplikasi
  • Untuk sistem dengan interaksi skala kecil dan medium
  • Untuk antarmuka user
  • Untuk sistem dengan masa penggunaan pendek

Adapun beberapa model proses lanjutan

  • Prototyping

wp

Prototyping :

  • Membuat sebuah contoh prototipe untuk menunjukkan kebutuhan dan desain ke pemakai
  • Harus ada versi yang dapat dijalankan sebagai prototipe sebelum sistem dikembangkan (bisa berupa contoh sistem lain)
  • Harus ada implementasi sistem yang dikembangkan sebelum dibuat sebuah sistem final.

 

  • Spiral

ws

Spiral :

  • Mendefinisikan kebutuhan dengan sedetail mungkin
  • Pembuatan desain untuk sistem yang baru
  • Proses direpresentasikan dalam aktivitas berbentuk spiral
  • Setiap perulangan (loop) dalam spiral merepresentasikan sebuah fase dalam proses
  • Fase-fase tidak fix (spesikasi -design loop) dipilih sesuai dengan yang diperlukan
  • Resiko selalu secara transparan dimonitor dan dipecahkan selama proses berlangsung

Kelebihan

  • Dapat digunakan untuk sistem yang besar
  • Sangat cocok sebagai mekanisme mengurangi resiko

Kelemahan

  • Terlalu banyak memikirkan resiko yang akan terjadi
  • Masih jarang digunakan

 

  • Rational Unified Process

wrup

menggunakan konsep object oriented, dengan aktifitas yang berfokus pada pengembangan model dengan menggunakan Unified Model Language (UML).

 

 

Ada beberapa keuntungan dengan mengunakan RUP di antaranya :

  • Menyediakan akses yang mudah terhadap pengetahuan dasar bagi anggota tim.
  • Menyediakan petunjuk bagaimana menggunakan UML secara efektif.
  • Mendukung proses pengulangan dalam pengembangan software.
  • Memungkinkan adanya penambahan-penambahan pada proses.
  • Memungkinkan untuk secara sistematis mengontrol perubahan-perubahan yang terjadi pada software selama proses pengembangannya.
  • Memungkinkan untuk menjalankan test case dengan menggunakan Rational Test

Kekurangan Pengembangan Perangkat Lunak RUP :

  • Metodologi ini hanya dapat digunakan pada pengembangan perangkat lunak yang berorientasi objek dengan berfokus pada UML (Unified Modeling Language

 

  • Extreme Programming (XP)

wxp

Extreme Programming (XP) adalah metode :

  • pengembangan perangkat lunak yang ringan dan termasuk salah satu agile methods yang dipelopori oleh Kent Beck, Ron Jeffries, dan Ward Cunningham.
  • XP merupakan agile methods yang paling banyak digunakan dan menjadi sebuah pendekatan yang sangat terkenal.
  • Sasaran XP adalah tim yang dibentuk berukuran antara kecil sampai medium saja, tidak perlu menggunakan sebuah tim yang besar. Hal ini dimaksudkan untuk menghadapi requirements yang tidak jelas maupun terjadinya perubahan-perubahan requirements yang sangat

Keunggulan:

  • Menjalin komunikasi yang baik dengan klien. (Planning Phase)
  • Menurunkan biaya pengembangan (Implementation Phase)
  • Meningkatkan komunikasi dan sifat saling menghargai antar developer. (Implementation Phase)
  • XP merupkan metodologi yang semi formal. (Planning Phase)
  • Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima, atau dengan kata lain fleksibel. (Maintenance Phase)

Kelemahan :

  • Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga).XP juga memiliki keunggulan yang sekaligus menjadi kelemahannya, yaitu XP tidak memiliki dokumentasi formal yang dibuat selama pengembangan. Satu-satunya dokumentasi adalah dokumentasi awal yang dilakukan oleh user.

 

 

Referensi :

http://libgen.org/book/index.php?md5=0FF209CD7C4B50F098448632D2152375

http://kityyulia.blogspot.com/2013/02/pengertian-dan-tujuan-rpl.html

EBook Roger S.Pressman__Software_Engineering.

 

 

• Thursday, February 12th, 2015

Welcome to Blog Civitas UPI. This is your first post. Edit or delete it, then start blogging!

Category: Uncategorized  | One Comment