Sabtu, 16 April 2011

COCOMO (Constructive Cost Model)


COCOMO (Constructive Cost Model) merupakan model algoritma estimasi biaya perangkat lunak yang dikembangkan oleh Barry Boehm. Model ini menggunakan rumus regresi dasar dengan parameter yang berasal dari data historis proyek dan karakteristik proyek saat ini. COCOMO pertama kali diterbitkan pada tahun 1981, Barry W. Boehm’s Book Software engineering economics sebagai model untuk memperkirakan usaha, biaya, dan jadwal untuk proyek-proyek perangkat lunak.
Pada tahun 1981,studi 63 proyek juga diadakan di TRW Aerospace yang mana Barry Boehm sebagai direktur riset perangkat lunak dan teknologi. Penellitian ini memeriksa proyek-proyek mulai dari ukuran 2000 sampai 100.000 baris kode, dan bahasa pemrograman mulai dari bahasa rakitan sampai PL/I. Proyek-proyek ini didasarkan pada model pengembangan perangkat lunak waterfall yang merupakan proses pembangunan software di tahun 1981. Referensi untuk model ini biasa disebut COCOMO 81.
Pada tahun 1997, COCOMO II telah dikembangkan dan akhirnya diterbitkan pada tahun 2000 dalam buku Software Cost Estimation with COCOMO II. COCOMO II adalah pengembangan dari COCOMO 81 dan lebih cocok untuk mengestimasi proyek pengembangan perangkat lunak modern, dan basis data proyek yang telah diperbaharui.
COCOMO terdiri dari tiga bentuk hirarki yang tingkatannya semakin rinci dan akurat. Ketiga bentuk hirarki tersebut adalah sebagai berikut:
1.      Basic (COCOMO I 1981)
Tingkat pertama ini sangat baik digunakan untuk order awal dan estimasi kasar besarnya biaya perangkat lunak. Namun, akurasinya terbatas karena kurangnya faktor perhitungan perbedaan atribut proyek (cost drivers).
2.      Intermediate (COCOMO II 1999)
Tingkat kedua ini akan mengambil dan menghitung besarnya program dancost drivers (faktor-faktor yang berpengaruh langsung kepada proyek), spt: hardware, personnel, dan atribut-atribut proyek.
3.      Detailed COCOMO
Tingkatan terakhir ini merupakan catatan tambahan untuk pengaruh fase proyek individu. Tahap ini akan memperhitungkan semua karakteristik dari intermediate di atas dan cost driver dari setiap fase dalam SW lifr cycles (analisis, design, implementasi, dll).
Ada terdapat 14 pos kompleksitas factor (cost drivers), yaitu:
  1. Backup dan recovery
  2. Komunikasi data
  3. Proses terdistribusi
  4. Kepentingan performa
  5. Keberadaan lingkungan operasi
  6. Online data entry
  7. Input melalui bbrp tampilan/operasi
  8. Peng-update-an file master secara online
  9. Kompleksitas nilai ‘domain’ (tahap1) di matas
  10. Kompleksitas proses internal aplikasi
  11. Perulangan (reuse) penggunaan code
  12. Ketersediaan rancangan untuk konversi dan instalasi
  13. Rancangan untuk pengulangan instalasi di lingkungan yg berbeda
  14. Fleksibiltas bagi pemakai

1. Model COCOMO Dasar  
Model COCOMO dapat diaplikasikan dalam tiga tingkatan kelas:
  1. Proyek organik (organic modeAdalah 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:     
c1.jpg                                                                                       (1, 2, 3)
Dimana :
  •          :  besarnya usaha (orang-bulan)
  • D         :  lama waktu pengerjaan (bulan)
  • KLOC  :  estimasi jumlah baris kode (ribuan)
  •           :  jumlah orang yang diperlukan.  
Sedangkan koefisien  abbbcbdan db diberikan pada Tabel 1  berikut: 
Tabel 1 .  Koefisien Model COCOMO Dasar  
  untitled.jpg
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: 
1. Atribut produk (product attributes)
  1. Reliabilitas perangkat lunak yang diperlukan (RELY)
  2. Ukuran basis data aplikasi (DATA)
  3. Kompleksitas produk (CPLX)
2. 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)
3. 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)
4. Atribut proyek (project attributes)
  1. Penggunaan sistem pemrograman modern(MODP)
  2. Penggunaan perangkat lunak (TOOL)
  3. Jadwal pengembangan yang diperlukan (SCED) 

Jumat, 15 April 2011

JENIS PROFESI DI BIDANG IT DI INDONESIA DAN PERBEDAANNYA DENGAN NEGARA LAIN

 jenis profesi pada bidang IT di Indonesia beserta jobdesknya:

1. Analyst Programmer
Seorang analis memiliki tugas untuk merancang, membuat 'code' program, dan menguji program untuk mendukung perencanaan pengembangan sebuah sistem atau aplikasi.

2. Web Designer
Seorang web designer bertugas untuk mengembangkan rancangan inovatif aplikasi web-based beserta isi dari aplikasi tersebut.

3. Systems Programmer/Softaware Engineer
Seseorang dengan posisi ini, harus terbiasa dengan pengembangan software 'life cyclces' dan memiliki keterampilan dalam mendesain suatu aplikasi, bahkan sistem. Tugasnya adalah menyiapkan program sesuai dengan spsifikasi, melakukan dokumentasi program, dan menguji program yang telah dibuat.

4. IT Executive
Seorang eksekutif IT bertanggung jawab untuk memelihara kecukupan, standard & kesiapan systems/infrastructure untuk memastikan pengoperasiannya dapat efektif & efisien. Selain itu
harus juga menerapkan prosedur IT & proses untuk memastikan data terproteksi secara maksimum.

5. IT Administrator
Tugasnya adalah menyediakan implementasi & administrasi yang meliputi Local Area Network (LAN), Wide Area Network (WAN) dan koneksi dial-up, firewall, Proxy serta pendukung teknisnya.

6. Network Administrator
Bertugas untuk mengurusi & mengoperasi jaringan LAN maupun WAN, manajemen sistem serta dukungan terhadap perangkat kerasnya.

7. Database Administrator
Bertanggung jawab Untuk administrasi & pemeliharaan teknis yang menyangkut perusahaan dalam pembagian sistem database.

8. Systems Engineer
Tanggung jawab :
- Menyediakan rancangan sistem & konsultasi terhadap pelanggan.
- Memberikan respon terhadap permintaan technical queries serta dukungannya.
- Termasuk melakukan pelatihan teknis ke pelanggan & IT administrator.

9. Network Support Engineer
Tanggung Jawab :
- Melaksanakan komunikasi & analisa sistem networking
- Mendisain perencanaan untuk integrasi. Mendukung jaringan pada internet, intranet & extranet.
- Menganalisa & ikut ambil bagian dalam pengembangan standardisasi keamanan & implementasi mengendalikan untuk keamanan LAN & WAN

10. IT Manager
Tanggung Jawab:
- Mengatur kelancaran dari sistem IT.
- Troubleshooting & membantu organisasi dalam menangani permasalahan IT.
- Sesuai dengan pengembangan IT yang baru dalam bidang yang diperlukan.


Perbandingan dengan negara lain:
  • Singapore
Pada model Singapore juga dilakukan pembagian berdasarkan tingkatan senioritas. Misal pada System development dibagi menjadi:

1. Programmer
2. Analyst/Programmer
3. Senior Analyst/Programmer
4. Principal Analyst/Programmer
5. System Analyst
6. Senior System Analyst
7. Principal System Analyst
  • Malaysia

Model Malaysia ini mirip dengan model Singapore, juga membedakan posisi pekerjaan pada berbagai sektor bisnis. Tetapi berbeda dalam melakukan ranking senioritas, misal untuk System Development:

1. Programmer
2. System Analyst/Designer
3. System Development Executive
  • Inggris
Model British Computer Society (BCS)
Untuk model BCS pekerjaan diklasifikasikan dalam tingkatan sebagai berikut :
Level 0 . Unskilled Entry
Level 1 . Standard Entry
Level 2 . Initially Trainded Practitioner
Level 3 . Trained Practitioner
Level 4 . Fully Skilled Practitioner
Level 5 . Experienced Practitioner/Manager
Level 6 . Specialist Practitioner/Manager
Level 7 . Senior Specialist/Manager
Level 8 . Principal Specialist/Experienced Manager
Level 9 . Senior Manager/Director

Profesi IT di Negara Amerika :

  1. SQL Server DBA
  2. C#/SQL Engineer
  3. AIX Administrator
  4. BI Analyst - Cognos(mid level)
  5. CDMA Optimization Engineer
  6. Application Specialist
  7. UX Engineer
  8. SAP MM Lead Functional Analyst
  9. SAP SD Analyst
  10. Cisco Voice Engineer
  11. SAP HR Analyst
  12. SAP FI/CO Lead
  13. .NET Developer
  14. Sr. Quality Assurance Manager


Profesi IT Di Negara Australia :

  1. Analyst/programmer
  2. Architecture
  3. Business Analyst/ System Analyst
  4. Computer Operator
  5. Consultant / Functional Consultant
  6. Database Development dan Administration
  7. Hardware Engineering
  8. Helpdesk dan Desktop Support
  9. Management dan Supervisory
  10. Network Engineering
  11. Network dan System
  12. Product management
  13. Project management
  14. Sales
  15. Security
  16. Software Development dan Engineering
  17. Team Leaders
  18. Technical Writers
  19. Telecommunication
  20. Testing dan QA
  21. Training
  22. Web design dan Usability
  23. Web Development
  24. dll

Sumber :