April 2015


Constructive Cost Model (COCOMO) merupakan model algoritma estimasi biaya perangkat lunak model yang dikembangkan oleh Barry Boehm pada tahun 1981 sebagai model untuk memperkirakan usaha, biaya, dan jadwal untuk mengembangkan proyek-proyek perangkat lunak. Referensi pada model ini dikenal dengan nama COCOMO 81. Pada tahun 1990, muncul suatu model estimasi baru yang disebut dengan COCOMO II. Secara umum referensi COCOMO sebelum 1995 merujuk pada original COCOMO model yaitu COCOMO 81, kemudian setelah itu merujuk pada COCOMO II pada tahun 1997.

COCOMO II telah dikembangkan dan akhirnya diterbitkan pada tahun 2000 dalam buku Estimasi Biaya COCOMO II Software dengan COCOMO II sebagai penerus dari COCOMO 81 dan lebih cocok untuk mengestimasi proyek pengembangan perangkat lunak modern. Hal ini memberikan lebih banyak dukungan untuk proses pengembangan perangkat lunak modern, dan basis data proyek diperbarui. Kebutuhan model baru datang sebagai perangkat lunak teknologi pengembangan pindah dari batch processing mainframe dan malam untuk pengembangan desktop, usabilitas kode dan penggunaan komponen software off-the-rak. Artikel ini merujuk pada COCOMO 81.

Model COCOMO menggunakan rumus regresi dasar, dengan parameter yang berasal dari data historis dan karakteristik proyek proyek saat ini. Model ini telah digunakan oleh ribuan project manager suatu proyek perangkat lunak, dan berdasarkan pengalaman dari ratusan proyek sebelumnya. Tidak seperti model estimasi biaya yang lain, COCOMO adalah model terbuka, sehingga semua detail dipublikasikan, termasuk :
·       Dasar persamaan perkiraan biaya.
·       Setiap asumsi yang dibuat dalam model.
·       Setiap definisi.
·       Biaya yang disertakan dalam perkiraan dinyatakan secara eksplisit

Dalam COCOMO, terdapat tiga jenis model, yaitu :
(1) Model basic COCOMO (COCOMO I 1981) yaitu menghitung estimasi biaya pengembangan aplikasi berdasarkan kode baris. Pada model ini terdapat tiga kelas untuk katagori proyek pengembangan aplikasi, yaitu :
·       Model Organic  dikatagorikan sebagai proyek sederhana dengan ukuran relatif kecil dimana terdapat anggota tim yang sudah berpengalaman, dan mampu bekerja sama pada permintaan yang relatif fleksibel.
·       Model Semi-Detached merupakan katagori menengah dalam segi ukuran dan tingkat ukurannya (kompleksitasnya) dimana jumlah tim yang relatif besar. Tiap anggota tim memiliki tingkat keahlian yang berbeda dan berpengalaman untuk bekerja sama pada permintaan yang relatif fleksibel
·       Model Embedded merupakan kombinasi dari kedua model sebelumnya namun dengan aturan proyek yang tidak fleksibel

(2) Intermediate (COCOMO II 1999) yaitu menghitung dari besarnya program dan “cost drivers” (faktor-faktor yang berpengaruh langsung kepada proyek) secara subjektif, seperti : produk, hardware (perangkat keras), tim, dan juga atribut proyek

(3) Advanced yaitu memperhitungkan semua karakteristik dari “intermediate”  dan “cost drivers” dari setiap fase (analisis, design, implementation, dan lain sebagainya) dalam SW life cycles.


Sumber:
https://inarjutex.wordpress.com/2011/05/28/pengertian-cocomo-dan-jenisnya/
http://yanti91.blogspot.com/2013/04/cocomo-dan-jenis-jenisnya.html
http://dwiyuliani-dwiyuliani.blogspot.com/2011/04/cocomo.html
http://haryanto.staff.gunadarma.ac.id/Downloads/files/16702/COCOMO.ppt

Constructive Cost Model (COCOMO)

Posted on

Rabu, 29 April 2015


Untuk membuat suatu aplikasi kadang terhalang oleh license penggunaan software yang digunakan. Software resmi tentu sangat mahal harganya, inilah yang menghambat para programmer dalam pembuatan aplikasi. Maka dengan adanya software open source dapat mempermudahnya oleh karena itu dianjurkan penggunaan software open source dalam pembuatan aplikasi. Open Source  adalah pemanfaatan source – source secara gratis yang tetap diatur oleh beberapa prosedur karena source yang dipergunakan adalah free license dan dipergunakan bersama – sama atau sharing source sehingga user maupun producer dapat membuat atau memodifikasi dari source yang telah disediakan oleh provider. pengguna dapat mempelajari dan melakukan modifikasi untuk membuatsoftware tersebut sesuai dengan kebutuhan mereka. Isu-isu keamanan yang dihadapi sistem open source, mencakup beberapa filosofi keamanan umum dan bagaimana membuat lebih aman sistem tersebut dari para penyusup.

Beberapa pengguna komputer yang merupakan anggota dari komunitas pengguna Open Source Software (OSS) dan free software berpendapat bahwa kode program mereka lebih aman karena kelemahan kode program mereka lebih mudah ditemukan dan diperbaiki oleh pemakai program tersebut. Sementara itu, komunitas hak-hak kepemilikan berpendapat bahwa pembukaan akses ke kode program pada OSS akan memudahkan bagi beberapa kelompok tertentu untuk menyerang program tersebut. Untuk menjadi Open Source terdapat syarat yang harus dipenuhi yaitu sebagai berikut :
·       Open Source sendiri menjamin hak untuk membuat salinan program dan mendistribusikan program tersebut.
·       Open Source sendiri menjamin hak untuk mengakses source code, sebelum melakukan perubahan.
·       Source sendiri menjamin hak untuk melakukan perbaikan pada program.

Fitur-fitur utama dari karakteristik open source adalah kebebasan user untuk:
  1. Menggunakan software sesuai keinginannya.
  2. Memiliki software yang tersedia sesuai kebutuhan.
  3. Mendistribusikan software kepada user lainnya.
Beberapa contoh dari open source adalah web server (apache), Bahasa pemrograman (perl, PHP), sistem operasi (Linux, OpenBSD), pembuat portal (phpnuke, postnuke, mambo), e-learning management system (Moddle, Claroline), dll.

KEUNTUNGAN SOFTWARE OPEN SOURCE
1.     Penggunaannya adalah Free Licence
2.     Adanya hak untuk mendistribusikan modifikasi dan perbaikan pada code.
3.     Ketersediaan source code dan hak untuk memodifikasi
4.     Tidak disandera vendor.
Open source menggunakan format data terbuka, sehingga data menjadi transparan dan bisa dengan bebas diproses di sistem komputer yang berbeda-beda, sambil tetap menjaga keamananya. Dengan demikian, konsumen tidak lagi terikat pada kemauan vendor untuk dapat menggunakan data-datanya.
5.     Banyaknya tenaga (SDM) untuk mengerjakan proyek.
Proyek open source biasanya menarik banyak developer, misalnya: pengembangan web server Apache menarik ribuan orang untuk ikut mengembangkan dan memantau.
6.     Kesalahan (bugs, error) lebih cepat ditemukan dan diperbaiki.
Hal ini dikarenakan jumlah developer-nya sangat banyak dan tidak dibatasi. Visual inspection (eye-balling) merupakan salah satu metodologi pencarian bugs yang paling efektif. Selain itu, source code tersedia membuat setiap orang dapat mengusulkan perbaikan tanpa harus menunggu dari vendor.
7.     Kualitas produk lebih terjamin.
Hal ini dikarenakan evaluasi dapat dilakukan oleh banyak orang, sehingga kualitas produk dapat lebih baik. Namun, hal ini hanya berlaku untuk produk open source yang ramai dikembangkan orang. Tidak selamanyaopen source dikembangkan oleh banyak orang, karena bisa juga dilakukan oleh individual.
8.     Lebih aman (secure).
Sifatnya yang terbuka membuat produk open source dapat dievaluasi oleh siapa pun. Public scrutinity merupakan salah satu komponen penting dalam bidang keamanan. Secara umum, open source memiliki potensi untuk lebih aman meskipun dia tidak terkendali secara otomatis. Namun, hal ini dapat tercapai, jika security by obscurity bukan tujuan utamanya.
9.     Hemat biaya.
Sebagian besar developer ini tidak dibayar/digaji. Dengan demikian, biaya dapat dihemat dan digunakan untuk pengeluaran yang tidak dapat ditunda, misal membeli server untuk hosting web.
1.     Tidak mengulangi development.
Pengulangan (re-inventing the wheel) merupakan pemborosan. Adanyasource code yang terbuka membuka jalan bagi seseorang programmeruntuk melihat solusi-solusi yang pernah dikerjakan oleh orang lain. Namun, pada kenyataannya tetap banyak pengulangan.
11.  User dapat membuat salinan tak terbatas, menjual atau memberikan bebas hasil lisensi.
12.  User dapat memodifikasi dan mengunci agar hanya kalangan terbatas yang dapat membaca kode dan memodifikasinya.
13.  Mencegah software privacy yang melanggar hukum.

KEKURANGAN SOFTWARE OPEN SOURCE
1.     Kurangnya SDM yang dapat memanfaatkan open source.
Ketersediaan source code yang diberikan dapat menjadi sia-sia, jika SDM yang ada tidak dapat menggunakannya. SDM yang ada ternyata hanya mampu menggunakan produk saja, Jika demikian, maka tidak ada bedanya produk open source dan yang propriertary dan tertutup.
2.     Tidak adanya proteksi terhadap HaKI.
Kebanyakan orang masih menganggap bahwa open source merupakan aset yang harus dijaga kerahasiannya. Hal ini dikaitkan dengan besarnya usaha yang sudah dikeluarkan untuk membuat produk tersebut. Karena sifatnya dapat di-abuse oleh orang-orang untuk mencuri ide dan karya orang lain.
3.     Kesulitan dalam mengetahui status project.
4.     Tidak ada garansi dari pengembangan.
5.     Limitasi modifikasi oleh orang – orang tertentu yang membuat atau memodifikasi sebelumnya.
6.     Untuk beberapa platform, contohnya JAVA yang memiliki prinsip satu tulis dan bisa dijalankan dimana saja, akan tetapi ada beberapa hal dari JAVA yang tidak competible dengan platform lainnya. Contohnya J2SE yang  SWT – AWT bridge–nya belum bisa dijalankan di platform Mac OS.
7.     Open Source digunakan secara sharing, dapat menimbulkan resiko kurangnya diferensiasi antara satu software dengan yang lain, apabila kebetulan menggunakan beberapa Open Source yang sama.



https://eziekim.wordpress.com/2012/04/01/alasan-menggunakan-software-open-source-kelebihan-dan-kekurangannya/
https://freezcha.wordpress.com/2011/03/18/keuntungan-dan-kerugian-penggunaan-open-source/
http://shiroihana.blog.binusian.org/files/2009/05/tugas-team01.doc
http://wiraanthony24.blogspot.com/2014/04/alasan-dan-keuntungan-kerugian-dalam.html