Jumat, 14 Agustus 2015


Kelebihan increment model :
  1.    Resiko yang rendah pada pengembangan sistem.
  2.  Mengutamakan fungsi-fungsi pada sistem perangkat lunak sehingga kemudahan pemakaian sistem yang paling di utamakan. 
  3.    Tahap awal adalan dasar dari pembuatan tahap berikutnya (dikerjakan secara terurut).
  4. Cocok digunakan bila pembuat software tidak banyak/kekurangan pembuat
  5.   Mampu mengakomodasi perubahan kebutuhan customer. 
  6.  Mengurangi trauma karena perubahan sistem. Klien dibiasakan perlahan-lahan menggunakan produknya bagian per bagian.
  7.   Memaksimalkan pengembalian modal investasi konsumen.

 
Kekurangan increment model :
  1.  Hanya akan berhasil jika tidak ada staffing untuk penerapan secara menyeluruh.
  2.   Penambahan staf dilakukan jika hasil incremental akan dikembangkan lebih lanjut.
  3.     Hanya cocok untuk proyek dengan skala kecil.
  4.     kemungkinan tiap bagian tidak dapat diintegrasikan.


Spiral Model
          Spiral model adalah model proses yang pendekatannya bersifat realistis pada software besar karena proses dari awal sampai proses pengiriman dan perbaikan dapat dipahami dnegan baik oleh clieent dan developer. Model ini mempunyai rangkaian kerja yang iterasi (peningkatan pada model) awal yang berbentuk prototype dan kemudian iterasi selanjutnya akan menjadi perkembangan dari model sebelumnya. Model ini dapat terus digunakan meskipun software sudah dikirimkan karena proses (siklus)dapat berputar lagi jika ada perubahan pada software sampai tidak ada permintaan perupbahan pada software oleh client.




Ada 6 pembagian proses pembuatan pada spiral model :
1.                 Komunikasi Pelanggan.
2.                 Perencanaan.
3.                 Analisis resiko.
4.                 Perekayasaan.
5.                 Konstruksi dan Peluncuran.
6.                 Evaluasi Client.


Kelebihan Spiral Model :
1.     Setiap tahap pengerjaan dibuat prototyping sehingga kekurangan dan apa yang diharapkan oleh client dapat diperjelas dan juga dapat menjadi acuan untuk client dalam mencari kekurangan kebutuhan.
2.     Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar.
3.     Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer. 
4.     Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses.
5.     Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada setiap keadaan di dalam evolusi produk.
6.     Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya ke dalam kerangka kerja iteratif.
7.     Membutuhkan pertimbangan langsung terhadp resiko teknis sehingga mengurangi resiko sebelum menjadi permaslahan yang serius.
    

Kekurangan Spiral Model :
1.     Banyak konsumen (Client) tidak percaya bahwa pendekatan secara evolusioner dapat dikontrol oleh kedua pihak. Model spiral mempunyai resiko yang harus dipertimbangkan ulang oleh konsumen dan developer.
2.     Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya sukses.
3.     Belum terbukti apakah metode ini cukup efisien karena usianya yang relatif baru.
4.     Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius jika resiko mayor tidak ditemukan dan diatur.


WINWIN Spiral Model
          Dalam WINWIN spiral model yang merupakan ekstensi dari spiral model, tim pengembang dan pelanggan akan melakukan diskusi dan negosiasi terhadap requirement-nya. Disebut WINWIN karena merupakan situasi kemenangan antara tim pengembang dan pelanggan. Yang membedakan antara win win spiral model dan spiral model adalah setelah selesai mendapatkan feed back dari pelanggan, tim pengembang aplikasi dan pelanggan akan kembali melakukan negosiasi untuk perkembangan aplikasi tersebut.
          WINWIN spiral model adalah satu perluasan dari Spiral Model. Di  model ini, tim pengembang dan pelanggan mendiskusikan dan merundingkan permintaan. Model ini disebut Win-Win karena memberikan suatu situasi menguntungkan untuk tim pengembang dan juga untuk pelanggan. Pelanggan untung dengan mendapatkan produk yang sesuai dengan permintaan mereka, disamping itu regu pengembang untung dengan mengirim software yang dikembangkan dengan semua permintaan yang dibentuk setelah negosiasi-negosiasi dengan pelanggan.
Win-win spiral model adalah model yang menguntungkan kedua belah pihak, yaitu pihak pembuat project  dan customer. Fase tertentu dapat di ulang oleh pembuat project tanpa harus mengulang dari awal. Disini tim pengembang dan pelanggan akan melakukan diskusi dan negosiasi terhadap requirement-nya
Ada enam tahapan model WINWIN spiral, diantaranya:
a.   Identifikasi permintaan.
b.   Negosiasi dengan konsumen
c.   Melakukan perubahan permintaan baru setelah melakukan negosiasi dengan konsumen.
d.   Menilai proses dan produk alternative dan analisa kerusakan.
e.   Persetujuan proses dan produk.
f.   Tinjauan ulang dengan member laporan kepada konsumen.

Kelebihan WINWIN Spiral Model  :
  •      Sama sama adanya kesepakatan developer dengan customer
  •      Terdapat kepuasan dan keuntungan antara developer dengan customer karena aplikasi yang dijalankan dengan negoisasi sesuai kesepakatan
  •      Sangat efektif untuk digunakan karena kesepakatan antara developer dengan customer sama-sama disepakati sehingga tidak akan menimbulkan ketidak puasan customer


    Kekurangan WINWIN Spiral Model :

  • Membutuhkan waktu yang cukup lama 2.Seringkali pada awalnya customer dengan developer mengalami kecekcokkan pada saat negoisasi.


Component Based Development
          Component Based Development model sangat berkaitan dengan teknologi berorientasi objek. Pada pemrograman berorientasi object, banyak class yang dibangun dan menjadi komponen dalam suatu software. Class-class tersebut bersifat reusable yang artinya dapat digunakan berulang-ulang karena model ini bersifat iteratif.

Proses yang terjadi pada model ini adalah :
1.     Identifikasi class-class yang akan digunakan kembali dengan menguji class tersebut dengan data yang akan dimanipulasi dengan aplikasi dan algoritma yang baru.
2.     Class yang dibuat pada proyek sebelumnya disimpan dalam class library, sehingga dapat langsung dari library yang sudah ada.
3.     Software dibangun dengan class-class yang sudah ditentukan atau class baru yang diintegrasikan.

Kelebihan

§  Menggunakan model reuse pada komponen yang sudah mewakili kebutuhan umum.
§  Pengurangan waktu siklus pengembangan.
§  Penurunan yang signifikan dalam biaya pengembangan proyek.
§  Peningkatan yang signifikan dalam produktivitas.
§  Pembangunan software dengan menggunakan komponen yang sudah tersedia dapat menggunakan komponen COTS (Commercial off-the-shelf) yang bisa didapatkan dengan membeli komponen yang sebelumnya sudah dibangun secara internal.


Formal Method Model
Kelebihan :
  •    pengurangan waktu dan peningkatan produktivitas yang besar.
Kekurangan :
  •    kemungkinan akan sulit memanfaatkan alat bantu/peralatan/tools 4GT dibandingkan dengan menggunakan bahasa pemrograman yang konvensional
  •    terdapat juga masalah dalam hal kode sumber yang tidak efisien 

4th Generation
Kelebihan :
·        Pengurangan waktu dan peningkatan produktivitas secara besar

     Kekurangan :
·       
Kesulitan penggunaan perangkat bantu (tools) dibandingkan dengan bahasa pemrograman, dan juga kode sumber yang dihasilkannya tidak efisien



Sabtu, 08 Agustus 2015



Perangkat Lunak

Perangkat Lunak Sistem
Perangkat lunak sistem adalah suatu istilah generik yang merujuk pada jenis perangkat lunak komputer yang mengatur dan mengontrol perangkat keras sehingga perangkat lunak aplikasi dapat melakukan tugasnya.

Perangkat lunak sistem dapat di bagi lagi menjadi 3 macam yaitu :
Bahasa pemrograman : merupakan perangkat lunak yang bertugas mengkonversikan arsitektur dan algoritma yang di rancang manusia ke dalam format yang dapat di jalankan komputer, contoh bahasa pemrograman di antaranya : BASIC, COBOL, Pascal, C++, FORTRA.

Sistem Operasi : saat komputer pertama kali di hidupkan, sistem operasilah yang pertama kali di jalankan, sistem operasi yang mengatur seluruh proses, menterjemahkan masukan, mengatur proses internal, memanejemen penggunaan memori dan memberikan keluaran ke peralatan yang bersesuaian, contoh sistem operasi : DOS, Unix, Windows 95, 98, 2000, Xp, Vista , IMB OS/2, Apple’s System 7.

Utility : sistem operasi merupakan perangkat lunak sistem dengan fungsi tertentu, misalnya pemeriksaan perangkat keras (hardware troubleshooting), memeriksa disket yang rusak (bukan rusak fisik), mengatur ulang isi harddisk (partisi, defrag), contoh Utilty adalah Norton Utility.

Perangkat Lunak Real Time
Perangkat Lunak Real Time adalah perangkat lunak yang digunakan untuk mengukur/menganalisis atau mengontrol kejadian dunia nyata pada saat terjadinya dalam rentang waktu yang tetap melalui jangkauan 1 milidetik sampai 1 menit.

Contohnya : Mesin ATM (Automatic Teller Machine) bank, sistem informasi saham, pemesanan tiket pesawat terbang, beberapa mobil berteknologi EFI.

Embedded Software
Embedded Software adalah perangkat lunak yang digunakan untuk mengontrol suatu produk dan sistem dimana perangkat lunak tersebut disimpan. Biasanya ditempatkan di ROM.

Contohnya : Tombol di Microwave Oven

Perangkat Lunak Komputer Personal
Perangkat Lunak Komputer Personal adalah aplikasi yang digunakan oleh satu orang saja atau perorangan.

Contohnya : pengolah kata, spreadsheet, game, DBMS dan lain-lain.

Perangkat Lunak Kecerdasan Buatan
Perangkat Lunak Kecerdasan Buatan adalah aplikasi yang dibuat dengan menggunakan teknik algoritma non-numerik untuk memecahkan masalah yang kompleks, digunakan dalam bidang aplikasi kecerdasan buatan.

Contohnyagame, expert sistem, neural network, dan lain-lain.



Ruang Lingkup Perangkat Lunak

Lingkup Perangkat Lunak 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, termasuk 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, perubahan dan perbaikan proses RPL.
  • Software quality menitikberatkan pada kualitas dan daur hidup perangkat lunak.