Tampilkan postingan dengan label Pengelolaan Proyek Sistem Informasi. Tampilkan semua postingan
Tampilkan postingan dengan label Pengelolaan Proyek Sistem Informasi. Tampilkan semua postingan
Rabu, 30 April 2014 1 comments

COCOMO (Constructive Cost Model)

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. 

Jenis-Jenis COCOMO

Jenis-jenis COCOMO terdiri dari 3 jenis yaitu : 

1. Model COCOMO Dasar 
Model COCOMO dapat diaplikasikan dalam tiga tingkatan kelas meliputi :
1. Proyek organik (organic mode) Adalah proyek dengan ukuran relatif kecil, dengan anggota tim yang sudah berpengalaman, dan mampu bekerja pada permintaan yang relatif fleksibel.
2. Proyek sedang (semi-detached mode) Merupakan proyek yang memiliki ukuran dan tingkat kerumitan yang sedang, dan tiap anggota tim memiliki tingkat keahlian yang berbeda.
3. 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: 


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


2. 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: 


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 


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.

Referensi : 





Senin, 28 April 2014 0 comments

Kenapa anda dianjurkan menggunakan software open source dalam membuat aplikasi? (Keuntungan dan Kerugiannya)

Karena software yang didukung oleh open source merupakan sistem yang mendistribusikan perangkat lunak kepada pengguna dengan memberikan program dan source code secara gratis. Tetapi kita juga bisa mengembangkan open source tersebut sesuai dengan keinginan dan kebutuhan kita, tentunya kebebasan itu tetap bertumpu pada etika dan peraturan yang telah ditetapkan sebelumnya.

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.

Kebebasan yang tak terbatas bagi tiap orang untuk mengakses kode program merupakan pedang bermata dua bagi software itu sendiri. Hal ini disebabkan karena kebebasan ini memberikan informasi tentang kelemahan software. Kemudian, yang terjadi adalah eksploitasi kelemahannya. Para hacker akan menggunakan kelemahan ini untuk melakukan hal-hal yang dapat merugikan pengguna software tersebut. Akibatnya akan lebih buruk jika software tersebut merupakan software yang vital bagi pengguna karena akan memungkinkan terjadinya penipuan, pencurian identitas, pencurian informasi, dan sebagainya.

Apa manfaat yang kita dapatkan dengan menggunakan Open Source ?
Ada banyak manfaat positif yang bisa kita peroleh dengan menggunakan Open Source, diantaranya :
Kreativitas : Dengan Open Source kita bisa mempelajari cara kerja suatu perangkat lunak, memodifikasinya, bahkan membuat produk baru dari sumber yang ada.
Kemandirian : Kita tidak perlu lagi tergantung pada suatu produk tertentu, bahkan dengan Open Source kita bisa membuat produk yang sekelas dengan perusahaan berskala raksasa seperti Microsoft.
Penghematan :
Hemat Waktu : Berapa banyak waktu yang kita sia-siakan untuk berurusan dengan virus komputer di sistem closed source (baca : Windows) ? Dengan menggunakan sistem operasi Open Source seperti 3D OS kita tidak perlu membuang waktu lagi berurusan dengan virus komputer.
Hemat Biaya : Berapa banyak biaya yang perlu kita keluarkan untuk pembelian suatu produk proprietary seperti Windows, Photoshop, MS Office dan lain-lainnya ?
Hemat Devisa : Berapa banyak devisa negara yang harus lari keluar negeri jika kita terus menggunakan produk proprietary ?
Mengurangi Tingkat Pembajakan : Open Source memungkinkan kita untuk tidak lagi menggunakan milik orang lain secara tidak sah atau dengan kata lain kita tidak perlu lagi menjadi pencuri. Selain mengurangi tingkat pembajakan, secara otomatis dosa-dosa kita juga ikut berkurang.
Meningkatkan Citra Negara : Tahukah Anda bahwa pembajakan menjadikan citra negara menurun ? Dan ini secara tidak langsung membawa akibat buruk pada hubungan dagang dengan luar negeri. Dan repotnya, di tahun 2009 ini Indonesia kembali masuk dalam daftar Priority Watch List.
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.
Mencegah kesalahan (bugs atau error) lebih cepat ditemukan dan diperbaiki, hal ini dikarenakan jumlah developernya sangat banyak dan tidak dibatasi. Visual inspection (eye-balling) merupakan salah satu metodologi pencarian bugs yang paling efektif. Selain itu, source code yang tersedia membuat setiap orang dapat mengusulkan perbaikan tanpa harus menunggu dari vendor.
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 selamanya open source dikembangkan oleh banyak orang, karena bisa juga dilakukan oleh individual.

Selain membawa manfaat, tentu saja Open Source juga mempunyai kekurangan, diantaranya:
Kurangnya dukungan vendor : Harus diakui, masih cukup banyak vendor baik Hardware, Software, ataupun game yang belum memberikan dukungan penuh pada Open Source. Dan hal ini tentu saja cukup menghambat perkembangan Open Source.
Kurangnya dukungan support : Karena belum cukup memasyarakat, maka dukungan support juga masih cukup sulit untuk ditemukan. Support untuk Open Source selama ini masih banyak bergantung pada Internet (Google). Sehingga cukup menyulitkan mereka yang tidak mempunyai akses penuh pada Internet.
Kurangnya dukungan bisnis : Pandangan bahwa Open Source adalah gratis dan tidak bisa membawa manfaat bisnis sangat menghambat para pebisnis yang akan terjun di Open Source. Kurangnya dukungan dari pebisnis ini membuat Open Source tidak bisa mempromosikan dirinya secara baik dan ini secara tidak langsung membuat pengenalan Open Source menjadi lebih lambat.
Kurangnya promosi : Masih banyak orang yang beranggapan Open Source susah untuk dipergunakan, padahal perkembangan Open Source belakangan ini sudah cukup pesat dan bahkan dalam beberapa hal terkadang mampu menggungguli produk closed source. Kesalahpahaman ini bisa terjadi karena kurangnya promosi akan Open Source.
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.
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 diabuse oleh orang-orang untuk mencuri ide dan karya orang lain.
Open Source digunakan secara sharing, dapat menimbulkan resiko kurangnya diferensiasi antara satu software dengan yang lain, apabila kebetulan menggunakan beberapa open Source yang sama.        

Referensi :