Pages

Jumat, 11 April 2014

Konsep Dasar Rekayasa Perangkat Lunak

 Berikut ini merupakan dasar-dasar dari materi rekayasa perangkat lunak, silahkan dibaca dan digunakan dengan sebagaimana mestinya :D


1. Apa itu perangkat lunak?

Perangkat lunak merupakan program komputer yang berfungsi menghubungkan antara pengguna dan komputer yang digunakan. dapat dibilang perangkat lunak merupakan sebagai media penerjemah perintah yang diberikan oleh pengguna kepada komputer untuk selanjutnya diproses melalui perangkat keras komputer tersebut.Perangkat lunak umumnya digunakan untuk mengontrol perangkat keras yang biasa disebut sebagai device driver, melakukan proses penghitungan, berinteraksi dengan perangkat lunak yang lebih mendasar lainnya, seperti sistem operasi dan bahasa pemrograman.

Secara umum ada tiga jenis perangkat lunak yang diketahui hingga saat ini yaitu sistem operasi yang merupakan sebuah penghubung antara pengguna dari komputer dengan perangkat keras komputer. Kedua yaitu perangkat lunak bahasa pemrograman seperti java. Dan yang ketiga yaitu perangkat lunak aplikasi yang merupakan penrangkat yang digunakan untuk membantu dan memudahkan pekerjaan seseorang misalnya saja Microsoft Excel, Word, dan Power Point

2. Apa itu Rekayasa Perangkat Lunak?

Rekayasa atau teknik merupakan penerapan ilmu dan teknologi untuk menyelesaikan permasalahan manusia. Hal ni diselesaikan lewat pengetahuan, matematika, dan pengalaman praktis yang diterapkan untuk mendesain objek atau proses yang berguna. Para praktisi teknik professional disebut perekayasa.
            
Rekayasa perangkat lunak atau Software engineering dalam bahasa inggris merupakan bidang ilmu yang mempelajari tentang segala aspek perangkat lunak, seperti  cara-cara pengembangan, pemeliharaan , pembuatan, serta manajemen kualitas perangkat lunak.
     
Rekayasa perangkat lunak jugamerupakan disiplin rekayasa dengan perangkat lunak yang dikembangkan. Biasanya proses melibatkan penemuan pada keinginan klien, menyusunnya didalam daftar kebutuhan, merangcang arsitektur yang mampu mendukung semua kebutuhan, perancangan, pengodean, pengujian, dan pengintegrasian bagian yang terpisah, menguju keseluruhan, penyebaran, dan pemeliharaan perangkat lunak.  

3. Apa perbedaan Rekayasa Perangkat Lunak dengan Ilmu Komputer?

Perbedaan antara rekayasa perangkat lunak dengan ilmu koputer sudah terlihat dari Bahasa Inggrisnya rekayasa perangkat lunak dalam Bahasa Inggris disebut sebagai software engineering , sedangkan ilmu komputer dalam bahasa inggris disebut science.  Dari segi ilmu yang dipelajari rekayasa perangkat lunak merupakan bidang ilmu yang mempelajari tentang perangkat lunak, sedangkan ilmu komputer mempelajari tentang komputasi, perangkat keras, serta beragam topic yang berkaitan dengan komputer.serta ilmu komputer lebih menekankan pada pemrograman komputer sedangkan rekayasa perangkat lunak tidak. Selain itu rekayasa perangkat lunak lebih mengedepankan prakteknya, sedangkan ilmu komputer lebih mengedepankan teori.


4. Apa perbedaan rekayasa perangkat lunak dengan  rekayasa sistem?
            
Perbedaan antara rekayasa perangkat lunak dengan rekayasa sistem adalah apabila rekayasa sistem itu merupakan sebuah kumpulan komponen, konsep, serta alat bantu untuk merancang dan menginstalasi sebuah sistem perangkat lunak, sedangkan rekayasa perangkat lunak itu merupakan ilmu yang mempelajari tentang segala aspek perangkat lunak, seperti  cara-cara pengembangan, pemeliharaan , pembuatan, serta manajemen kualitas perangkat lunak. Jadi dapat disimpulkan bahwa rekayasa perangkat lunak merupakan bagian dari rekayasa sistem karena RPL ilmu yang mempelajari tentang pembuatan perangkat lunak sedangkan rekayasa sistem merupakan kumpulan komponen, konsep, serta alat bantu untuk merancang dan menginstalasi perangkat lunak.

  
5. Apa yang dimaksud dengan proses perangkat lunak?
            
Proses perangkat lunak merupakan proses bagaimana sebuah perangkat lunak itu dapat terbentuk yang dilakukan oleh perekayasa perangkat lunak, proses proses tersebut diantaranya adalah :

A. Proses spesifikasi perangkat lunak. Pada proses ini fungsi,kemampuan operasi perangkat lunak yang akan dibuat harus diketahui terlebih dahulu.

B.Proses pengembangan perangkat lunak. Setelah diketahui fungsi  serta kemampuan perangkat lunak yang akan dibuat selanjutnya perangkat lunak yang telah memenuhi spesifikasi diproduksi.

C. Proses validasi perangkat lunak. Pada proses validasi ini perangkat lunak yang telah diproduksi akan divalidasi sebagai bukti perangkat lunak yang diproduksi berguna sesuai kebutuhan yang diperlukan.

D. Evolusi perangkat lunak. Dengan berkembangnya jaman perangkat lunak yang sudah diproduksipun haruslah berevolusi agar tetap dapat berguna untuk memenuhi kebutuhan pelanggan.  

6. Apakah model  proses perangkat lunak?
            
Model proses perangkat lunak merupakan cara untuk memproses sebuah perangkat lunak dari nol menjadi sebuah perangkat lunak yang siap untuk digunakan. Berikut merupakan beberapa contoh model proses perangkat lunak yang biasa digunakan

A. Waterfall Model atau Model Air Terjun

Model air terjun ini merupakan model klasik yang bersifat sistematis dalam membuat suatu perangkat lunak dan juga paling sering digunakan. 

Pada fase analisis fungsi,kemampuan operasi perangkat lunak yang akan dibuat harus diketahui terlebih dahulu. Kemudian apabila analisi telah selesai dilakukan maka didesainlah perangkat lunak yang akan dibuat. Setelah desain selesai lalu desain tersebut diterjemahkan kedalam kode-kode dengan bahasa pemrograman yang diinginkan, misalnya saja C++. Setelah kode selesai dibuat diadakanlah proses pengetesan terhadap perangkat lunak yang baru dibuat agar diketahui apakah perangkat yang dibuat bisa berjalan dengan benar atau tidak.



2. Model Spiral

Model spiral ini dikembangkan oleh Boehm pada tahun 1988 berdasarkan pada pengalamannya dengan berbagai perbaikan atas model air terjun yang diaplikasikan pada proyek pemerintah, khususnya perangkat lunak yang besar. Model ini dititikberatkan pada pembuatan prototype dan manajemen resiko yang sangat fleksibel jika dibandingkan dengan model air terjun. Kebanyakan aplikasi komprehensif dari model ini ada pada pengembangan TRW-Software Productivity System yang dijabarkan oleh Boehm. Konsep spiral dan focus manajemen risiko telah memperolah pengakuan di industry rekayasa perangkat lunak dan manajemen proyek pada tahun-tahun terakhir.
      
Keuntungan apabila menggunakan model spiral diantaranya :
A. Jangkauan atas pilihan mengakomodasi fitur yang baik untuk proses model perangkat lunak yang sudah ada.
B. Fokus awalnya ada pada pilihan yang melibatkan penggunaan ulang perangkat lunak yang ada. Pilihan ini mendukung karena identifikasi awa; dengan evaluasi dari alternative-alternatif adalah  kunci di setiap siklus spiral.
C. Model spiral juga menyediakan mekanisme untuk tujuan kualtias dan perangkat lunak gabungan kepengembangan produk perangkat lunak.
D. Model spiral mempunyai focus untuk mengeliminasi kesalahn
E. Model spiral menyediakan pendekatan terpisah untuk pengembangan dan pemasangan perangkat lunak.
F. Model spiral menyediakan kerangka kerja aktif untuk pengembangan sistem perangkat keras dan perangkat lunak yagn terintegrasi.
      
Sedangkan kerugian apabila menggunakan model spiral diantaranya :
A. Kebanyakan perangkat lunak yang menggunakan model spiral menitikberatkan pada control, titik periksa, yang merupakan keunggulan dari model air terjun.
B. Karena model spiral ini bersifat fleksibel serta dinamis maka langkah spiral ini harus diteliti lebih lanjut untuk mendapatkan konsistensi, penjajakan, dan control yang diinginkan. Penelitian dan control sangat penting , khususnya untuk area analisis resiko dan manajemen.

7. Berapa biaya Rekayasa Perangkat Lunak?
            
Biaya untuk rekayasa perangkat lunak bervariasi tergantung pada jenis sistem yang akan dibuat ,atribut perangkat serta kinerja dan kehandalan perangkat yang akan dibuat, contohnya saja sistem yang berskala internasional tentunya memerlukan biaya yang lebih mahal apabila dibandingkan dengan sistem yang berskala nasional. Tabel dibawah ini menjelaskan perkiraan pengeluaran rekayasa perangkat lunak
   

Akurasi Manajemen Proyek (dari PMBOK edisi 3, PMI, 2004)
Akurasi pengembangan perangkat lunak(dari rapid development, McConnell, 1996)
Konseptual
30% kebawah sampai 50% keatas
75% kebawah hingga 300% keatas
Konsep Produk Awal
Persiapan
20% kebawah hingga 30% keatas
50% kebawah hingga 100% keatas
Definisi produk yang disetujui
Kepastian
15% kebawah hingga 20% keatas
33% kebawah hingga 50% keatas
Spesifikasi Kebutuhan
Kontrol
10% kebawah hingga 15% keatas
20% kebawah hingga 25% keatas
Spesifikasi rancangan proyek

8. Apa saja metode-metode RPL?
            
Metode-metode dalam rekayasa perangkat lunak merupakan cara yang dilakukan untuk mengembangkan perangkat lunak yang meliputi deskripsi model sistem, aturan, rekomendasi, panduan proses, dan bimbingan. Deskripsi model sistem merupakan model sistem yang akan digunakan contohnya model waterfall. Aturan merupakan batasan yang diberikan kepada model sistem yang telah ditentukan, misalnya setiap entitas pada model sistem diharuskan memiliki nama entitas yang berbeda antara satu entitas dengan entitas lainnya. Rekomendasi berupa saran yang diberikan agar dapat membentuk perancangan yang baik dan sesuai fungsinya. Panduan proses merupakan aktifitas yang bisa diikuti untuk mengembangkan model sistem. Proses bimbingan yaitu serangkaian kegiatan yang akan diikutin untuk mengembangkan model sistem.
  
9. Apa yang dimaksud dengan CASE(Computer Aided Software Engineering)?
            
Yang dimaksud dengan CASE(Computer Aided Software Engineering) adalah serangkaian aplikasi dan metode untuk perangkat lunak yang otomatis dapat memberikan dukungan untuk kegiatan proses perangkat lunak. Ada dua jenis CASE yaitu upper-CASE yaitu alat untuk mendukung kegiatan proses awal persyaratan dan lower-CASE yaitu alat yang mendukung kegiatan yang selanjutnya seperti pemrograman, pengujian , debugging.

10. Apakah atribut perangkat lunak yang baik?
Atribut perangkat lunak yang baik diantaranya :
A. Maintainability yaitu perangkat lunak harus bisa di pelihara demi memenuhi kebutuhan pelanggan yang semakin lama menginginkan kemudahan.
B. Dependability, yaitu perangkat lunak harus dapat diandalkan dan dipercaya dan tidak mengecewakan penggunanya.
C. Acceptability, yaitu perangkat lunak yang sudah diproduksi harus diterima sepenuhnya oleh pengguna yang memesannya. Ini berarti perangkat harus dapat dapat digunakan dengan mudah oleh pengguna.
D. Usability , perangkat lunak yang harus dapat digunakan sesuai dengan fungsi awal yang telah ditentukan oleh penggunanya.
E. Efisien, yaitu perangkat lunak haruslah efisien baik dalam penggungannya maupun sumber daya yang digunakan.


11. Apa tantangan kunci yang dihadapi Rekayasa Perangkat Lunak?
Tantangan kunci yang dihadapi rekayasa perangkat lunak diantaranya :
A. Tantangan pengiriman, yaitu tantangan untuk mempercepat waktu pengiriman perangkat lunak tanpa mengurangi kualitas sistemnya.
B. Tantangan pemeliharaan, yaitu tantangan dalam melakukan pemeliharaan dan peng-updatean perangkat lunak agar biaya yang digunakan dapat di minimalisir sesedikit mungkin.   
C. Tantangan heterogenitas , yaitu tantangan dalam pengembangan untuk membangun perangkat lunak yang dapat diandalkan dan flexible untuk menghadapi heterogenitas yang ada.
D. Adanya killer application yang bisa lebih dikostumisasi, interaktif, dinamis, dan penuh gaya
E. User power an authority, dimana pengguna bisnis dan pengguna individu adalah pihak yang lebih kuat, berpengalaman dan selektif.
F. Adanya market share dimana pesaing menjadi lebih agresif, dan inovatif.