COCOMO


1. Sejarah Singkat COCOMO

Cocomo (Constructive Cost Model) yang dikembangkan oleh W. Barry Boehm pada tahun 1981, yang merupakan kombinasi dari estimasi parameter persamaan dan metode pembobotan. Berdasarkan perkiraan instruksi (Instruksi Sumber Terkirim DSI), usaha dihitung dengan memperhatikan usaha baik kualitas dan produktivitas faktor. 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. 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.

2. Pengertian COCOMO

COCOMO adalah sebuah model yang dikembangkan untuk memperoleh perkiraan dari jumlah orang-buan 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 sebaai titik berat. Hal ini menunjukkan bahwa kepemimpinan dan kerja sama tim merupakan sesuatu yang penting, namun demikian poin pada bagian ini sering diabaikan.

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

Perhitungan paling fundamental dalam COCOMO model adalah penggunaan Effort Equation (Persamaan Usaha) untuk mengestimasi jumlah dari Person-Months yang dibutuhkan untuk pengembangan proyek.


  • SOURCE LINE OF CODE

Perhitungan COCOMO didasarkan pada estimasi anda pada ukuran proyek dalam Source Line Of Code (SLOC). Pendefinisian SLOC:

Hanya jumlah baris kode yang dikirim sebagai bagian dari produk yang disertakan (test drivers dan software pendukung lainnya tidak dihitung).

Baris kode dibuat oleh staf proyek (kode yang di-generate oleh aplikasi tidak dihitung).

  • Satu SLOC adalah satu baris kode secara logis.
  • Deklarasi dihitung sebagai SLOC.
  • Komentar tidak dihitung sebagai SLOC.

Model COCOMO 81 didefinisikan dalam bentuk Delivered Source Instruction, yang mana sangat menyerupai SLOC. Perbedaan utama antara DSI dan SLOC adalah sebuah SLOC mungkin merupakan beberapa baris secara fisik. Sebagai contoh, sebuah statement “if-then-else” akan dihitung sebagai satu SLOC, tetapi mungkin dihitung sebagai beberapa DSI.


  • SCALE DRIVERS

Pada model COCOMO II, beberapa factor terpenting yang berkontribusi pada durasi proyek dan biaya yang dikeluarkan adalah Scale Drivers. Anda mengeset setiap Scale Driver untuk mendeskripsikan proyek anda. Scale Drivers tersebut menentukan eksponen yang digunakan dalam Effort Equation.

Ada 5 Scale Drivers :

  • Precedentedness
  • Development Flexibility
  • Architecture / Risk Resolution
  • Team Cohesion
  • Process Maturity

Catat bahwa Scale Drivers telah menggantikan Development Mode dari COCOMO 81. Dua Scale Drivers yang pertama, Precedentedness dan Development Flexibility sebenamya mendeskripsikan pengaruh yang hampir sama dibanding Development Mode.

  • COST DRIVERS

COCOMO II memiliki 17 cost drivers. Cost driver tersebut adalah factor pengali yang menentukan usaha yang diperlukan untuk menyelesaikan proyek software anda. Sebagai contoh, jika proyek anda akan mengembangkan software yang mengatur penerbangan pesawat, anda akan mengeset Required Software Reliability (RELY) cost driver menjadi sangat tinggi. Rating tersebut berhubungan dengan effort multiplier 1,26 yang berarti bahwa proyek anda akan membutuhkan usaha lebih sebesar 26% dibanding proyek software pada umumnya. COCOMO II mendefinisikan setiap cost drivers dan effort multiplier yang terhubung dengan setiap rating.


3. Jenis-jenis COCOMO


4. Model-Model COCOMO

Ada tiga model cocomo, diantaranya ialah:

1. Dasar Cocomo
Dengan menggunakan estimasi parameter persamaan (dibedakan menurut tipe sistem yang berbeda) upaya pengembangan dan pembangunan durasi dihitung berdasarkan perkiraan DSI.

Dengan rincian untuk fase ini diwujudkan dalam persentase. Dalam hubungan ini dibedakan menurut tipe sistem (organik-batch, sebagian bersambung-on-line, embedded-real-time) dan ukuran proyek (kecil, menengah, sedang, besar, sangat besar).

Model COCOMO dapat diaplikasikan dalam tiga tingkatan kelas:

a. Proyek organik (organic mode) Adalah 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)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 yang dibangun dengan spesifikasi dan operasi yang ketat

Model COCOMO dasar ditunjukkan dalam persamaan 1, 2, dan 3 berikut ini:


keterangan :

E : besarnya usaha (orang-bulan)

D : lama waktu pengerjaan (bulan)

KLOC : estimasi jumlah baris kode (ribuan)

P : jumlah orang yang diperlukan.

2. Intermediate Cocomo

Persamaan estimasi sekarang mempertimbangkan (terlepas dari DSI) 15 pengaruh faktor-faktor; ini adalah atribut produk (seperti kehandalan perangkat lunak, ukuran database, kompleksitas), komputer atribut-atribut (seperti pembatasan waktu komputasi, pembatasan memori utama), personil atribut ( seperti aplikasi pemrograman dan pengalaman, pengetahuan tentang bahasa pemrograman), dan proyek atribut (seperti lingkungan pengembangan perangkat lunak, tekanan waktu pengembangan). Tingkat pengaruh yang dapat diklasifikasikan sebagai sangat rendah, rendah, normal, tinggi, sangat tinggi, ekstra tinggi; para pengganda dapat dibaca dari tabel yang tersedia.

3. Detil Cocomo

Dalam hal ini adalah rincian untuk fase tidak diwujudkan dalam persentase, tetapi dengan cara faktor-faktor pengaruh dialokasikan untuk fase. Pada saat yang sama, maka dibedakan menurut tiga tingkatan hirarki produk (modul, subsistem, sistem),produk yang berhubungan dengan faktor-faktor pengaruh sekarang dipertimbangkan dalam persamaan estimasi yang sesuai. Selain itu detail cocomo dapatmenghubungkan semua karakteristik versi intermediate dengan penilaian terhadap pengaruh pengendali biaya pada setiap langkah (analisis, perancangan, dll) dari proses rekayasa PL


5. Aplikasi Teknis

Untuk proyek perangkat lunak mengembangkan aplikasi komersial, biasanya CoCoMo muncul dengan nilai-nilai estimasi usaha yang berlebihan (juga membandingkan / Utara, 1986 / hal 87), karena itu hanya CoCoMo diterapkan untuk pengembangan perangkat lunak teknis.

Keadaan ini disebabkan oleh fakta bahwa rasio laki-laki bulan DSI dan diimplementasikan dalam persamaan estimasi CoCoMo sesuai dengan tingkat produktivitas dalam pembangunan teknis; yang berkaitan dengan pengembangan perangkat lunak komersial yang lebih tinggi tingkat produktivitas DSI / orang-bulan dapat diasumsikan.
Poin yang kuat dan lemah dari Metode dan kemungkinan Remediasi Tindakan
Estimasi Base “Disampaikan Sumber Petunjuk”
Dengan menggunakan dasar estimasi instruksi (DSI) itu berusaha untuk mengurangi ketidakpastian dan masalah besar sehubungan dengan basis estimasi tradisional LOC. Namun, beberapa masalah tetap: ketidakpastian dari estimasi DSI (-) dan untuk usaha pengembangan yang DSI yang-berdasarkan metode rekayasa perangkat lunak modern-tidak lagi sangat penting karena usaha semakin terjadi selama kegiatan awal dan DSI hanya akan efektif menjelang akhir proses pembangunan (-); DSI serta LOC tergantung pada bahasa pemrograman yang dipilih (sebuah Ada adopsi untuk CoCoMo sudah tersedia, namun).

Sebuah obat dapat dicapai oleh instruksi bobot sesuai dengan berbagai jenis (lihat / Sneed, 1987 / hlm. 73-74: compiler, deskripsi data, transformasi, kontrol, dan I / O instruksi, atau melihat / Sneed, 1987 / hal. 183-185: deskripsi data instruksi (dibedakan menurut tingkat integrasi, pesan / data objek, modifikasi derajat) dan pengolahan instruksi (dibedakan menurut batch / on-line, modifikasi derajat, kompleksitas, bahasa)).


6. Makro dan Mikro Estimasi

Melalui berbagai tingkatan model, CoCoMo memungkinkan untuk mewujudkan perkiraan makro baik melalui CoCoMo Dasar dan estimasi mikro melalui CoCoMo dan Menengah Detil CoCoMo (+). Estimasi mikro memungkinkan alokasi untuk kegiatan usaha dan unit fungsional. Namun, metode CoCoMo tidak hanya didasarkan pada siklus hidup perangkat lunak yang menyimpang dari V-Model tetapi juga pada struktur sistem lain (-). Oleh karena itu, dalam rangka upaya individu untuk daftar submodels, (sub-) kegiatan, dan (sub-) produk, perlu untuk menyesuaikan metode item ini untuk CoCoMo Model V-konsep.


7. Pengaruh Faktor-faktor / Objektivitas

Dalam upaya estimasi, CoCoMo mempertimbangkan karakteristik dari proyek, produk, dan personil maupun teknologi (+). Dalam rangka untuk mencapai tujuan evaluasi faktor-faktor pengaruh tersebut, tepat CoCoMo menawarkan definisi (+). Kuantifikasi faktor-faktor pengaruh mewakili sebuah masalah tertentu, meskipun (-) yang memiliki dampak yang kuat pada kualitas metode perkiraan dan DSI informasi yang diperlukan.


8. Jangkauan Aplikasi

Dengan membedakan persamaan estimasi ukuran proyek sesuai dengan sistem dan jenis, kisaran aplikasi untuk metode CoCoMo adalah lebar satu (+). Ini juga merupakan salah satu dari beberapa metode estimasi-selain menawarkan dukungan untuk proyek-proyek pembangunan-dukungan bagi upaya perkiraan tugas SWMM juga (juga oleh estimasi parameter persamaan) seperti untuk perkiraan durasi proyek (+).


9. Perangkat Dukungan

Dukungan berbasis komputer diperlukan untuk Menengah dan Detailed CoCoMo, didasarkan pada masalah kuantitas (diferensiasi faktor-faktor pengaruh fase dan subproducts (-).


Sumber :

http://aduk-udik.blogspot.com/2011/03/cocomo-constructive-cost-model.html

http://dwiyuliani-dwiyuliani.blogspot.com/2011/04/cocomo.html

http://www.scribd.com/doc/81758764/Tugas-COCOMO

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

KONSEP PERL & CGI



PERL :

· Practical Extraction and Report Language.

· Sangat cocok digunakan untuk menyelesaikan persoalan yang berkaitan dengan teks.

· Digunakan untuk menulis program web server seperti otomatisasi task di internet, mengupdate user account, posting newsgroup, dll.

· Penggunaannya misalnya dalam melakukan pattern matching dari gen dalam DNA (bioinformatika)

· Contoh :

my $sequence = 'CTAATGGA';

my $pattern = 'ATG';

if($sequence =~ /$pattern/) {

print "Pattern $pattern ditemukan dalam sequence $sequence\n";

}

else{

print "Pattern $pattern tidak ditemukan dalam sequence $sequence\n";

}

· Fungsi tr atau translate dari Perl dapat mengubah setiap karakter

tr///

Contoh : $sequence =~ tr/ACGT/TGCA/;

Maka dari CTAATGGA akan menjadi GATTACCT.

CGI :

· Teknologi untuk menghubungkan berbagai program aplikasi ke halaman web.

· merupakan suatu bentuk komunikasi dimana client (browser) dapat mengirimkan suatu masukan kepada server, dan server mengolah masukan tersebut serta mengembalikannya kepada client (browser)

· Contoh : Buku tamu

· Dapat ditulis dalam bahasa apa saja, namun sekitar 90% program CGI yang ada ditulis dalam Perl.

Server Side Scripting

· sebuah teknologi scripting atau pemrograman web dimana script (program) dikompilasi atau diterjemahkan di server

· Jika skripnya menghasilkan output dalam bentuk HTML yang baku, hampir semua browser akan dapat melihatnya.

· Karakteristik server side programming :

1. Ada client yang meminta request

2. Eksekusi program dilakukan di server

3. Mengirimkan hasil ke client

· Kode program aman.

· Menambah beban kerja Server,

· Beberapa contoh server-side script : CGI, ASP, PHP, JavaScript, VBScript.

Variabel Pada Perl

· Skalar

Ø Dimulai dengan tanda $.

Ø Hanya mengandung string atau angka.

Ø String menggunakan kutip tunggal / ganda

Ø Angka berupa bilangan bulat, oktal, heksadesimal, maupun pecahan decimal.

Ø Variabel hanya menyimpan satu nilai.

Ø Contoh : $ayam = 1; $uang = 3.4321; $nama = “Nisa”; $dialog = “Dia t\’’lah pergi,” katanya”;

· Array

Ø didefinisikan dengan memasukkan elemen - elemennya kedalam tanda kurung dan dipisahkan dengan tanda koma

Ø menyimpan nilai lebih dari 1.

Ø Dimulai dengan tanda @.

Ø Contoh : @minuman : (‘kopi’, ‘teh’, ‘air’);

· Hash

Ø Elemennya terdiri atas pasangan indeks (key) dan nilai (value).

Ø Dimulai dengan tanda %.

Ø Contoh :

%aplikasi = (‘bahasa’,’perl’,’server’,’apache’,’teks’,’vim’,);

Print $aplikasi{‘bahasa’};

Hasil = perl

Method Post dan Get

· Post

Ø Nilai variabel tersembunyi untuk pengunjung

Ø Lebih aman karena lebih susah untuk dimainkan pengunjung melalui pergantian nama variable

Ø Tidak dibatasi oleh panjang string

Ø Variabel diambil dengan $_REQUEST[“nama”] atau $_POST[“nama”].


· Get

Ø Variabel telihat pada URL, data setiap variabel dipisahkan dengan &. Contoh http://url/page.php?get1=nilai2&get2=nilai2

Ø Dibatasi oleh panjang string sebanyak 2047 karakter

Ø Memungkinkan pengunjung langsung memasukkan nilai variable pada form proses.

Ø Variabel diambil dengan $_REQUEST[“nama”] atau $_GET[“nama”]

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Open Source dan Plus Minus Open Source

Software open source sudah tidak asing lagi bagi kita, karena saat ini telah banyak aplikasi yang dibuat menggunakan software open source tersebut. Misalnya web yang menggunakan joomla, drupal, moodle, dan wordpress serta aplikasi yang dibangun dengan java. Dan salah satu contoh open source yang sedang booming saat ini adalah teknologi Android.

Sebelum mengetahui keuntungan dan kerugian dari Software Open Source, maka sebaiknya kita mengetahui pengertian dari Software Open Source tersebut.

Software open source merupakan perangkat lunak gratis. Gratis disini mempunyai arti dimana software ini membebaskan source kodenya untuk dilihat oleh semua orang dan membiarkan mereka mengetahui cara kerja software tersebut dan juga memperbaiki kekurangan - kekurangan yang ada pada software tersebut. Atau pengertian lain tentang Open Source menurut Wikipedia bahasa Indonesia adalah sistem pengembangan yang tidak dikoordinasi oleh suatu individu / lembaga pusat, tetapi oleh para pelaku yang bekerja sama dengan memanfaatkan kode sumber (source-code) yang tersebar dan tersedia bebas (biasanya menggunakan fasilitas komunikasi internet).

Pola pengembangan ini mengambil model ala bazaar, sehingga pola Open Source ini memiliki ciri bagi komunitasnya yaitu adanya dorongan yang bersumber dari budaya memberi, yang artinya ketika suatu komunitas menggunakan sebuah program Open Source dan telah menerima sebuah manfaat kemudian akan termotivasi untuk menimbulkan sebuah pertanyaan apa yang bisa pengguna berikan balik kepada orang banyak.

Kelebihan dan kekurangan Open Source :

§ Kelebihan Aplikasi Open Source

1. Ketersediaan source code dan hak untuk memodifikasi

Hal ini menyebabkan perubahan dan improvisasi pada produk software, dan memunculkan kemungkinan untuk meletakkan code pada hardware baru.

2. Hak untuk mendistribusikan modifikasi dan perbaikan pada code

Hak pendistribusian diakui dan merupakan hal yang umum, yang berpengaruh bagi sekumpulan developer untuk bekerja bersama dalam project software Open Source.

3. Hak untuk menggunakan software (Kreativitas)

Menjamin beberapa user yang membantu dalam menciptakan pasar untuk mendukung dan berlangganan software, jika software cukup berguna. Hal ini juga membantu dalam improvisasi kualitas dari produk dan improvisasi secara fungsi.

4. Legal

Penggunaan software Open Source di seluruh Indonesia akan menyebabkan tingkat pembajakan software di Indonesia menjadi turun drastis, dari 88% menjadi 0%.

5. Penyelamatan Devisa Negara

Dengan menggunakan solusi berbasis Open Source, maka dapat dilakukan penghematan devisa negara secara signifikan. Kemudian dana tersebut dapat dialokasikan ke usaha-usaha untuk kesejahteraan rakyat.

6. Keamanan Negara / Perusahaan

Software Open Source bebas dari bahaya ledakan yang disebabkan oleh software komputer proprietary / tertutup, karena bisa dilakukan audit terhadap kode programnya.

7. Keamanan Sistem

Pada software proprietary / tertutup, sangat sulit untuk dapat benar-benar yakin dengan keamanannya, karena kita tidak dapat mengetahui apa yang ada di dalamnya.

8. Penghematan

Perusahaan yang menggunakan Open Source untuk membuat aplikasi yang menunjang bisnisnya akan mengalami penghematan karena dana yang harusnya dialokasikan untuk proyek itu dapat ditekan dan dialihkan untuk pendanaan yang lain.

9. Mencegah Software Privacy yang Melanggar Hukum

10. Aplikasi open source itu Free (Free disini bukan berarti Gratis, tetapi Bebas)

11. Aplikasi open source lebih simple dibanding aplikasi berbayar

12. Kebanyakan dari aplikasi open source dapat berjalan hampir di semua platform

§ Kerugian Open Source

Tiap software memiliki kekurangan, baik software dengan lisensi berbayar maupun software Open Source yang lisensinya gratis. Berikut beberapa kekurangan dari software Open Source :

1. Tidak ada garansi dari pengembangan

Biasanya terjadi ketika sebuah project dimulai tanpa dukungan yang kuat dari satu atau beberapa perusahaan,

2. Masalah yang berhubungan dengan intelektual property

Pada saat ini, beberapa negara menerima software dan algoritma yang dipatenkan. sehingga beberapa komunitas dapat dianggap bersalah dalam pelanggaran intelektual property.

3. Kesulitan dalam mengetahui status project

Tidak banyak iklan bagi software Open Source, biasanya beberapa project secara tidak langsung ditangani oleh perusahaan yang mampu berinvestasi dan melakukan marketing.

4. Support berbayar dan langka

Jika terdapat masalah pada software, misalnya ditemukan hole atau bug yang tidak dipahami, maka langkah yang ditempuh adalah mencari penyelesaian masalah di forum-forum jika yidak mendapat solusi maka harus mendatangkan Jasa Konsultan Open yang membutuhkan biaya tidak sedikit.

5. Versi Beta, Stabil dan Tidak Stabil

Kepastian stabil dan tidak stabil kadang menjadi keraguan pilihan para petinggi IT untuk memilih software Open Source..

6. Kerja komunitas bukan professional

Beberapa software dikembangkan oleh sebuah komunitas yang mempunya tujuan khusus, jaminan dan kepercayaan kualitas produk hasil perlu dicompare dengan produk komersil yang jauh lebih mumpuni dari segala sisi.

7. Limitasi modifikasi oleh orang-orang tertentu yang membuat atau memodifikasi sebelumnya.

8. Untuk beberapa platform, contohnya JAVA yang memiliki prinsip “write once, run anywhere”, akan tetapi ada beberapa hal dari JAVA yang tidak compatible dengan platform lainnya. Contohnya J2SE yang SWT – AWT bridgenya belum bisa dijalankan di platform Mac OS.

9. Open Source digunakan secara sharing, dapat menimbulkan resiko kurangnya diferensiasi antara satu software dengan yang lain, apabila kebetulan menggunakan beberapa Open Source yang sama.

13. Aplikasi kadang membingungkan user karena sulit dimengerti

14. Fitur-fitur aplikasi open source tidak semewah aplikasi berbayar.

Sumber :

http://deluthus.blogspot.com/2011/03/keuntungan-kekurangan-open-source.html

http://synclicious.blogspot.com/2011/06/kelebihan-dan-kekurangan-aplikasi-open.html

http://id.wikipedia.org/wiki/Sumber_terbuka

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS