Archives
COCOMO COnstructive COst MOdel (COCOMO) I. Pengertian COCOMO COCOMO adalah sebuah model yang didesain oleh Barry Boehm untuk memperoleh perkiraan dari jumlah orang-bulan yang diperlukan untuk mengembangkan suatu produk perangkat lunak. Satu hasil observasi yang paling penting dalam model ini adalah bahwa motivasi dari tiap orang yang terlibat ditempatkan sebagai titik berat. Hal ini menunjukkan bahwa kepemimpinan dan kerja sama tim merupakan sesuatu yang penting, namun demikian poin pada bagian ini sering diabaikan. II. Sejarah COCOMO COCOMO pertama kali diterbitkan pada tahun 1981 Barry Boehm W.'s Book ekonomi Software engineering sebagai model untuk memperkirakan usaha, biaya, dan jadwal untuk proyek-proyek perangkat lunak. Ini menarik pada studi dari 63 proyek di TRW Aerospace mana Barry Boehm adalah Direktur Riset dan Teknologi Perangkat Lunak pada tahun 1981. Penelitian ini memeriksa proyek-proyek ukuran mulai dari 2.000 sampai 100.000 baris kode, dan bahasa pemrograman mulai dari perakitan untuk PL / I. Proyek-proyek ini didasarkan pada model pengembangan perangkat lunak waterfall yang merupakan proses software umum pembangunan di 1981. Referensi untuk model ini biasanya menyebutnya COCOMO 81. Pada tahun 1997 COCOMO II telah dikembangkan dan akhirnya diterbitkan pada tahun 2000 dalam buku Estimasi Biaya COCOMO II Software dengan COCOMO II. adalah 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. III. Jenis-jenis COCOMO Gambar 1. Jenis-Jenis COCOMO Jenis-Jenis COCOMO terdiri dari 3 jenis, yaitu : 1. Model COCOMO Dasar Model COCOMO dapat diaplikasikan dalam tiga tingkatan kelas : a. Proyek organik (organic mode) Proyek organik merupakan proyek dengan ukuran relatif kecil, dengan anggota tim yang sudah berpengalaman, dan mampu bekerja pada permintaan yang relatif fleksibel. . b. Proyek sedang (semi-detached mode) Proyek sedang merupakan proyek yang memiliki ukuran dan tingkat kerumitan yang sedang, dan tiap anggota tim memiliki tingkat keahlian yang berbeda. c. Proyek terintegrasi (embedded mode) Proyek terintegrasi merupakan proyek yang dibangun dengan spesifikasi dan operasi yang ketat Model COCOMO dasar ditunjukkan dalam persamaan 1, 2, dan 3 berikut ini: (1, 2, 3) Dimana : • E : besarnya usaha (orang-bulan) • D : lama waktu pengerjaan (bulan) • KLOC : estimasi jumlah baris kode (ribuan) • P : jumlah orang yang diperlukan. Sedangkan koefisien ab, bb, cb, dan db diberikan pada Tabel 1 berikut: Tabel 1 . Koefisien Model COCOMO Dasar Model COCOMO Lanjut (Intermediate COCOMO) Pengembangan model COCOMO adalah dengan menambahkan atribut yang dapat menentukan jumlah biaya dan tenaga dalam pengembangan perangkat lunak, yang dijabarkan dalam kategori dan subkatagori sebagai berikut: a. Atribut produk (product attributes) 1. Reliabilitas perangkat lunak yang diperlukan (RELY) 2. Ukuran basis data aplikasi (DATA) 3. Kompleksitas produk (CPLX) b. Atribut perangkat keras (computer attributes) 1. Waktu eksekusi program ketika dijalankan (TIME) 2. Memori yang dipakai (STOR) 3. Kecepatan mesin virtual (VIRT) 4. Waktu yang diperlukan untuk mengeksekusi perintah (TURN) c. Atribut sumber daya manusia (personnel attributes) 1. Kemampuan analisis (ACAP) 2. Kemampuan ahli perangkat lunak (PCAP) 3. Pengalaman membuat aplikasi (AEXP) 4. Pengalaman penggunaan mesin virtual (VEXP) 5. Pengalaman dalam menggunakan bahasa pemrograman (LEXP) d. Atribut proyek (project attributes) 1. Penggunaan sistem pemrograman modern(MODP) 2. Penggunaan perangkat lunak (TOOL) 3. Jadwal pengembangan yang diperlukan (SCED) Masing-masing subkatagori diberi bobot seperti dalam tabel 2 dan kemudian dikalikan. Dari pengembangan ini diperoleh persamaan: (4) Dimana : • E : besarnya usaha (orang-bulan) • KLOC : estimasi jumlah baris kode (ribuan) • EAF : faktor hasil penghitungan dari sub-katagori di atas. Koefisien ai dan eksponen bi diberikan pada tabel berikut. Tabel 3. Koefisien Model COCOMO Lanjut 1. Persamaan Perangkat Lunak Persamaan perangkat lunak merupakan model variabel jamak yang menghitung suatu distribusi spesifik dari usaha pada jalannya pengembangan perangkat lunak. Persamaan berikut ini diperoleh dari hasil pengamatan terhadap lebih dari 4000 proyek perangkat lunak : (5) Dimana : • E = usaha yang dilakukan (orang-bulan atau orang-tahun) • t = durasi proyek dalam (bulan atau tahun) • B = faktor kemampuan khusus • P = parameter produktivitas Nilai B diambil berdasarkan perkiraan. Untuk program berukuran kecil (0.5 < KLOC < 5), B = 0.16. Untuk program yang lebih besar dari 70 KLOC, B = 0.39. Sedangkan besarnya nilai P merefleksikan: 1. Kematangan proses dan praktek manajemen 2. Kualitas rekayasa perangkat lunak 3. Tingkat bahasa pemrograman yang digunakan 4. Keadaan lingkungan perangkat lunak 5. Kemampuan dan pengalaman tim pengembang 6. Kompleksitas aplikasi Berdasarkan teori, diperoleh P = 2000 untuk sistem terapan, P = 10000 untuk perangkat lunak pada sistem informasi dan sistem telekomunikasi, dan P = 28000 untuk sistem aplikasi bisnis. 2.2 Konversi Waktu Tenaga Kerja Konversi waktu tenaga kerja ini diperoleh dari angka pembanding yang digunakan pada perangkat lunak ConvertAll, dengan hubungan persamaan antara orang-bulan (OB), orang-jam (OJ), orang-minggu (OM), dan orang-tahun (OT) adalah sebagai berikut : OM = 40 OJ (6) OT = 12 OB (7) OT = 52 OM (8) Dari persamaan di atas, diperoleh konversi orang-bulan ke orang-jam sebagai berikut : OB = (40 OJ x 52) / 12 OB = 173,33 OJ (9) 3. Model COCOMO II (Complete atau Detailed COCOMO model) Model COCOMO II, pada awal desainnya terdiri dari 7 bobot pengali yang relevan dan kemudian menjadi 16 yang dapat digunakan pada arsitektur terbarunya. Tabel 4. COCOMO II Early Design Effort Multipliers Tabel 5. COCOMO II Post Architecture Effort Multipliers Sama seperti COCOMO Intermediate (COCOMO81), masing-masing sub katagori bisa digunakan untuk aplikasi tertentu pada kondisi very low, low, manual, nominal, high maupun very high. Masing-masing kondisi memiliki nilai bobot tertentu. Nilai yang lebih besar dari 1 menunjukkan usaha pengembangan yang meningkat, sedangkan nilai di bawah 1 menyebabkan usaha yang menurun. Kondisi Laju nominal (1) berarti bobot pengali tidak berpengaruh pada estimasi. Maksud dari bobot yang digunakan dalam COCOMO II, harus dimasukkan dan direfisikan di kemudian hari sebagai detail dari proyek aktual yang ditambahkan dalam database. IV. Metodologi Dashboard COCOMO. Pada gambar dibawah ini dijelaskan tentang metodologi dashboard COCOMO. yang menggunakan demo dashboard LIVE Xcelsius. Anda dapat menggunakan komponen interaktif xcelsius dashboard ini untuk mengubah faktor dalam model dan langsung melihat hasilnnya. KPIs dalam Produk, Computer, Personalia dan Kategori Proyek. Sumber Referensi : http://www.scribd.com/doc/81758764/Tugas-COCOMO http://girlycious09.wordpress.com/2012/04/07/constructive-cost-model-cocomo/ http://ranggaadhityap.blogspot.com/2012/04/pengertian-cocomo-cocomo-adalah.html
OPEN SOURCE Perkembangan dunia komputer makin ramai dan menarik dengan adanya pendekatan-pendekatan baru dalam pengembangan perangkat lunak (software). Salah satu yang populer adalah adanya open source, yaitu source code dari sebuah program atau paket software dapat diperoleh atau dilihat oleh publik meskipun source code tersebut belum tentu public domain. Proyek open source biasanya bermula dari kebutuhan pribadi. Akan tetapi ternyata persoalan tersebut juga merupakan persoalan orang banyak (typical problem). Dari kebutuhan pribadi dan komunitas inilah muncul proyek open source. Dalam perjalannya banyak aspek non-teknis (sosial) yang mempengaruhi pengembangan proyek tersebut. Istilah dari Open Source sendiri tidak semata-mata hanya berarti adanya keterbukaan untuk mengakses Source Code perangkat lunak, namun sebenarnya memiliki cakupan arti yang lebih luas. Mengacu pada the Open Source definition version 1.3, maka Open Source adalah : · Free Redistribution Setiap orang diperbolehkan membuat salinan tak terbatas, menjual atau bahkan memberikan program komputer secara bebas tanpa ada kewajiban untuk membayar kepada siapapun. Dengan lisensi Open Source tidak diperlukan royalti atau biaya apapun untuk pendisribusian program Open Source. · Source Code Ketersediaan Source Code dalam program menjadi syarat utama untuk dilakukan modifikasi dan perbaikan program. Karena tujuan dari Open Source adalah membuat evolusi program berlangsung mudah, maka dibutuhkan modifikasi dan agar proses modifikasi dapat dilakukan dengan mudah, maka Source Code harus tersedia. Tujuan dari klausa ini adalah agar dalam program turunan tetap mencantumkan Source Code program awalnya. · Derivad Works Tujuan dari klausa ini adalah agar segala bentuk modifikasi diperbolehkan. Software akan berkurang manfaatnya bila tidak dapat dirawat. Misalnya untuk memperbaiki bug, mem-port ke sistem yang baru, membuat perbaikan dan melakukan modifikasi sesuai dengan kebutuhan. Agar evolusi berlangsung cepat seseorang harus dapat mencoba program yang dapat dimodifikasinya dan mendistribusikannya. Untuk program awal Open Source, yang menggunakan lisensi GNU GPL, maka untuk hasil karya turunannya harus menggunakan lisensi GNU GPL juga. Untuk program awal yang menggunakan lisensi BSD maka dimungkinkan digunakan lisensi yang berbeda untuk hasil karya turunannya. · Integrity of The Autor's Source Code Mendorong dilakukan hal perbaikan adalah hal yang baik. Namun pengguna harus memiliki hak untuk mengetahui siapa yang bertanggung jawab terhadap program yang mereka gunakan. Sehingga untuk karya turunan tetap harus mencantumkan nama dari pencipta dari program awal. Dengan cara ini perubahan tidak resmi dapat dilakukan tetapi tetap dapat dibedakan dengan hasil karya utama. · No Discrimination Against Persons or Groups Agar mendapat keuntungan maksimum dari kasus Open Source, maka kemajemukan dari pengguna dan kelompok pengguna harus diusahakan tercapai, sehingga setiap orang atau kelompok memiliki hak yang sama untuk melakukan kontribusi pada Open Source. · No Discrimination Against Fields of Endeavor Open Source tetap mempunyai kemungkinan untuk digunakan secara komersial, tidak ada keterbatasan penggunaan Open Source untuk dunia bisnis maupun untuk kegunaan lainnya. · Distribution of License. Lisensi Open Source bersifat otomatis, sehingga tidak memerlukan tanda tangan, berbeda dengan perjanjian lisensi pada non disclosure agreement. Memang ini masih dipertanyakan di beberapa pengadilan, tetapi mengingat makin umumnya Open Source hal ini akan berubah dikemudian hari. · License Must Not be Spesific to a Product Tidak ada pembatasan untuk suatu produk yang dinyatakan Open Source yang menjadi bebas selamanya hanya jika menggunakan merek distribusi tertentu saja. Program tersebut harus tetap bebas walau dipisahkan dari program distribusi yang menyertainya. · License Must Not Contaminated Other Software Pada model Open Source suatu lisensi tidak bisa disyaratkan agar diletakkan bersama-sama dengan program berlisensi tertentu. · Conforming License and Sertification Penjelasan tentang bagaimana berbagai lisensi yang ada dalam masyarakat dapat dicocokkan dengan Open Source definition setelah melalui semacam uji oleh Open Source initiative, yaitu lembaga yang mewakili komunitas Open Source. Banyak keuntungan dari Open Source, beberapa keuntungan antara lain sebagai berikut : Aplikasi open source itu Free (Free disini bukan berarti Gratis, tetapi Bebas).Aplikasi open source lebih banyak didukung oleh komunitas, yang berarti apabila ada celah atau bugs, akan segera diperbaiki oleh komunitas. Aplikasi open source itu hampir semuanya ringan, tidak seperti aplikasi berbayar yang membutuhkan spesifikasi yang berat. Aplikasi open source lebih simple dibanding aplikasi berbayar. Kebanyakan dari aplikasi open source dapat berjalan hampir di semua platform Tetapi, aplikasi open source pun memiliki kekurangan tersendiri antara lain : Aplikasi kadang membingungkan user karena sulit dimengerti. Ada anggapan bahwa aplikasi open source itu sulit. Fitur-fitur aplikasi open source tidak semewah aplikasi berbayar. Support Berbayar dan Langka. Versi Betha, Stabil dan unstabil. Kerja Komunitas bukan professional.