Rabu, 20 Juni 2012

penggunaan software open source dalam membuat aplikasi


Kenapa anda dianjurkan menggunakan software open source dalam membuat aplikasi ?
Open source software adalah istilah yang digunakan untuk software yang membuka/membebaskan source codenya untuk dilihat oleh orang lain dan membiarkan orang lain mengetahui cara kerja software tersebut dan sekaligus memperbaiki kelemahan-kelemahan yang ada pada software tersebut. Dan yang menarik dan salah satu keunggulannya adalah bahwa Open source software dapat diperoleh dan digunakan secara gratis tanpa perlu membayar lisensi. Biasanya orang mendapatkan software ini dari internet. Salah satu open source software yang terkenal yaitu Linux.
Keberadaan open source software ini sangat ditunjang oleh internet. Mula-mula Open source software diambil dari internet kemudian digunakan oleh orang dan diperbaiki apabila ada kesalahan. Hasil perbaikan dari open source ini kemudian dipublikasikan kembali melalui internet yang memungkinkan orang lain menggunakan dan memperbaikinya. Dan begitulah seterusnya. Saat ini sangat mudah mendapatkan open source software di internet.
Pengembangan open source software melibatkan banyak orang dari berbagai penjuru dunia yang berinteraksi melalui internet. Maka bermunculanlah berbagai macam software yang dibuat berbasis open source ini yang dipublikasikan melalui internet. Pola open source ini telah melahirkan developer-developer handal dari berbagai penjuru dunia.
Dengan pola open source orang dapat membuat dan mengembangkan apa yang disebut dengan free software. Software ini dapat digunakan tanpa perlu membayar lisensi atau hak cipta karena memang dikembangkan dengan pola open source. Jadi, dengan pola open source orang dapat mengembangkan software dan mempublikasikannya dengan bebas melalui internet. Maka tidak heran apabila kita akan banyak menemukan free software ini di internet dan bisa secara bebas mendownloadnya tanpa perlu membayar uang sepeser pun kepada pengembang software tersebut.
Free software disini juga bukan program kacangan. Anggapan bahwa barang yang gratis jelek kualitasnya tidak berlaku buat free software. Karena sudah terbukti kehandalannya. Dan karena free software berbasis open source maka software tersebut sudah melalui proses perbaikan yang terus menerus. Jadi tidak ada alasan tidak mau menggunakan free software ini dengan alasan kualitasnya yang tidak baik.
Dengan karakteristik yang telah disebutkan di atas maka tidak salah apabila kita menaruh harapan pada open source ini sebagai platform alternatif yang bisa kita gunakan dalam komputer kita. Penerapan pola open source di Indonesia juga dapat menghilangkan pemakaian software komersial secara ilegal dan memungkinkan bangsa Indonesia dikenal karya ciptanya dengan ikut mengembangkan open source software.
Keuntungan dan Kerugian Open Source
Motivasi dari penggunaan dan pengembangan open source software beraneka ragam, mulai dari filosofi dan alasan etika sampai pada masalah praktis. Biasanya, keuntungan yang dirasa pertama dari model open source adalah fakta bahwa ketersediaan open source diciptakan secara gratis atau dengan biaya yang rendah.
Keuntungan Open Source Software
Beberapa karakteristik yang menyebabkan Open Source model mendapatkan keuntungan :
a. Ketersedian source code dan hak untuk memodifikasi
Ini merupakan hal yang penting. Hal ini menyebakan perubahan dan improvisasi pada produk software. Selain itu, hal ini memunculkan kemungkinan untuk meletakan code pada hardware baru, agar dapat diadaptasi pada situasi yang berubah-ubah, dan menjangkau pemahaman bagimana sistem itu bekerja secara detail.
b. Hak untuk mendistribusikan modifikasi dan perbaikan pada code
Hal ini merupakan titik perbedaan Open Source Software dengan Free Software. Pada kenyataannya, hak pendistribusian diakui dan merupakan hal yang umum, ini adalah hal yang berpengaruh bagi sekumpulan developer ( pengembang ) untuk bekerja bersama dalam project Open Source Software.
c. Hak untuk menggunakan software
Ini merupakan kombinasi dari hak pendistribusian, menjamin ( jika software cukup berguna ) beberapa user yang mana membantu dalam menciptakan pasar untuk mendukung dan berlangganan software. Hal ini juga membantu dalam improvisasi kualitas dari produk dan improvisasi secara fungsi. Selain itu akan menyebabkan sejumlah user untuk mencoba produk dan mungkin menggunakannya secara regler.
Kerugian Open Source Software
Beberapa karakteristik yang menyebabkan Open Source model mendapatkan keuntungan :
a. Tidak ada garansi dari pengembangan
Biasanya terjadi ketika sebuah project dimulai tanpa dukungan yang kuat dari satu atau beberapa perusahaan, memunculkan celah awal ketika sumber code masih mentah dan pengembangan dasar masih dalam pembangunan.
b. Masalah yang berhubungan dengan intelektual property
Pada saat ini, beberapa negara menerima software dan algoritma yang dipatentkan. Hal ini sangat sulit untuk diketahui jika beberapa motede utama untuk menyelesaikan masalah software di patenkan sehingga beberapa komunitas dapat dianggap bersalah dalam pelanggaran intelektual property.
c. Kesulitan dalam mengetahui status project
Tidak banyak iklan bagi open source software, biasanya beberapa project secara tidak langsung ditangani oleh perusahaan yang mampu berinvestasi dan melakukan merketing.
Lisensi dari Open Source Software
Beberapa lisensi umum pada open source software yaitu :
a. BSD ( Berkeley Software Distribution )
Secara ringkas, pendistribusian dapat dilakukan sepanjang berhubungan dengan software, meliputi penggunaan propierty produk. Pencipta hanya ingin pekerjaan mereka dikenali dan tanpa memerlukan biaya. Hal ini menjadi penting karena lisensi ini tidak melibatkan beberapa pembatasan dengan menjamin dan berorientasi pada turunan awal open source.
b. GPL ( GNU General Public Licence )
Ini adalah lisensi bagi software yang bernaung dalam distribusi GNU Project. Saat ini masih dapat kita jumpai / menemukan banyak software yang tidak berkaitan dengan GNU Project. GPL secara hati-hati didesain untuk mempromosikan produk dari free software dan karena itu, secara eksplisit melarang beberapa tindakan pada software yang dapat merusak integrasi dari GPL software pada program proprietary ( kepemilkan ). GPL berdasar pada UU Internasional yang menjamin pelaksanaannya. Karakterisitik utama dari GPL meliputi pendistribusian, tapi hanya jika souce code itu tersedia dan juga dijamin; serta mengijinkan pendistribusian source; mengijinkan modifikasi tanpa pembatasan dan integrasi lengkap dengan software lain.
c. MPL ( Mozilla Public Licence )
Ini adalah lisensi yang dibuat oleh Netscape dalam mendistribusi code dari Mozilla, versi baru dari navigator jaringan. Banyak respek yang mirip dengan GPL tetapi lebih berorientasi pada perusahaan level enterprise.
d. Lainya seperti :Kenapa anda dianjurkan menggunakan software open source dalam membuat aplikasi ?
Open source software adalah istilah yang digunakan untuk software yang membuka/membebaskan source codenya untuk dilihat oleh orang lain dan membiarkan orang lain mengetahui cara kerja software tersebut dan sekaligus memperbaiki kelemahan-kelemahan yang ada pada software tersebut. Dan yang menarik dan salah satu keunggulannya adalah bahwa Open source software dapat diperoleh dan digunakan secara gratis tanpa perlu membayar lisensi. Biasanya orang mendapatkan software ini dari internet. Salah satu open source software yang terkenal yaitu Linux.
Keberadaan open source software ini sangat ditunjang oleh internet. Mula-mula Open source software diambil dari internet kemudian digunakan oleh orang dan diperbaiki apabila ada kesalahan. Hasil perbaikan dari open source ini kemudian dipublikasikan kembali melalui internet yang memungkinkan orang lain menggunakan dan memperbaikinya. Dan begitulah seterusnya. Saat ini sangat mudah mendapatkan open source software di internet.
Pengembangan open source software melibatkan banyak orang dari berbagai penjuru dunia yang berinteraksi melalui internet. Maka bermunculanlah berbagai macam software yang dibuat berbasis open source ini yang dipublikasikan melalui internet. Pola open source ini telah melahirkan developer-developer handal dari berbagai penjuru dunia.
Dengan pola open source orang dapat membuat dan mengembangkan apa yang disebut dengan free software. Software ini dapat digunakan tanpa perlu membayar lisensi atau hak cipta karena memang dikembangkan dengan pola open source. Jadi, dengan pola open source orang dapat mengembangkan software dan mempublikasikannya dengan bebas melalui internet. Maka tidak heran apabila kita akan banyak menemukan free software ini di internet dan bisa secara bebas mendownloadnya tanpa perlu membayar uang sepeser pun kepada pengembang software tersebut.
Free software disini juga bukan program kacangan. Anggapan bahwa barang yang gratis jelek kualitasnya tidak berlaku buat free software. Karena sudah terbukti kehandalannya. Dan karena free software berbasis open source maka software tersebut sudah melalui proses perbaikan yang terus menerus. Jadi tidak ada alasan tidak mau menggunakan free software ini dengan alasan kualitasnya yang tidak baik.
Dengan karakteristik yang telah disebutkan di atas maka tidak salah apabila kita menaruh harapan pada open source ini sebagai platform alternatif yang bisa kita gunakan dalam komputer kita. Penerapan pola open source di Indonesia juga dapat menghilangkan pemakaian software komersial secara ilegal dan memungkinkan bangsa Indonesia dikenal karya ciptanya dengan ikut mengembangkan open source software.
Keuntungan dan Kerugian Open Source
Motivasi dari penggunaan dan pengembangan open source software beraneka ragam, mulai dari filosofi dan alasan etika sampai pada masalah praktis. Biasanya, keuntungan yang dirasa pertama dari model open source adalah fakta bahwa ketersediaan open source diciptakan secara gratis atau dengan biaya yang rendah.
Keuntungan Open Source Software
Beberapa karakteristik yang menyebabkan Open Source model mendapatkan keuntungan :
a. Ketersedian source code dan hak untuk memodifikasi
Ini merupakan hal yang penting. Hal ini menyebakan perubahan dan improvisasi pada produk software. Selain itu, hal ini memunculkan kemungkinan untuk meletakan code pada hardware baru, agar dapat diadaptasi pada situasi yang berubah-ubah, dan menjangkau pemahaman bagimana sistem itu bekerja secara detail.
b. Hak untuk mendistribusikan modifikasi dan perbaikan pada code
Hal ini merupakan titik perbedaan Open Source Software dengan Free Software. Pada kenyataannya, hak pendistribusian diakui dan merupakan hal yang umum, ini adalah hal yang berpengaruh bagi sekumpulan developer ( pengembang ) untuk bekerja bersama dalam project Open Source Software.
c. Hak untuk menggunakan software
Ini merupakan kombinasi dari hak pendistribusian, menjamin ( jika software cukup berguna ) beberapa user yang mana membantu dalam menciptakan pasar untuk mendukung dan berlangganan software. Hal ini juga membantu dalam improvisasi kualitas dari produk dan improvisasi secara fungsi. Selain itu akan menyebabkan sejumlah user untuk mencoba produk dan mungkin menggunakannya secara regler.
Kerugian Open Source Software
Beberapa karakteristik yang menyebabkan Open Source model mendapatkan keuntungan :
a. Tidak ada garansi dari pengembangan
Biasanya terjadi ketika sebuah project dimulai tanpa dukungan yang kuat dari satu atau beberapa perusahaan, memunculkan celah awal ketika sumber code masih mentah dan pengembangan dasar masih dalam pembangunan.
b. Masalah yang berhubungan dengan intelektual property
Pada saat ini, beberapa negara menerima software dan algoritma yang dipatentkan. Hal ini sangat sulit untuk diketahui jika beberapa motede utama untuk menyelesaikan masalah software di patenkan sehingga beberapa komunitas dapat dianggap bersalah dalam pelanggaran intelektual property.
c. Kesulitan dalam mengetahui status project
Tidak banyak iklan bagi open source software, biasanya beberapa project secara tidak langsung ditangani oleh perusahaan yang mampu berinvestasi dan melakukan merketing.
Lisensi dari Open Source Software
Beberapa lisensi umum pada open source software yaitu :
a. BSD ( Berkeley Software Distribution )
Secara ringkas, pendistribusian dapat dilakukan sepanjang berhubungan dengan software, meliputi penggunaan propierty produk. Pencipta hanya ingin pekerjaan mereka dikenali dan tanpa memerlukan biaya. Hal ini menjadi penting karena lisensi ini tidak melibatkan beberapa pembatasan dengan menjamin dan berorientasi pada turunan awal open source.
b. GPL ( GNU General Public Licence )
Ini adalah lisensi bagi software yang bernaung dalam distribusi GNU Project. Saat ini masih dapat kita jumpai / menemukan banyak software yang tidak berkaitan dengan GNU Project. GPL secara hati-hati didesain untuk mempromosikan produk dari free software dan karena itu, secara eksplisit melarang beberapa tindakan pada software yang dapat merusak integrasi dari GPL software pada program proprietary ( kepemilkan ). GPL berdasar pada UU Internasional yang menjamin pelaksanaannya. Karakterisitik utama dari GPL meliputi pendistribusian, tapi hanya jika souce code itu tersedia dan juga dijamin; serta mengijinkan pendistribusian source; mengijinkan modifikasi tanpa pembatasan dan integrasi lengkap dengan software lain.
c. MPL ( Mozilla Public Licence )
Ini adalah lisensi yang dibuat oleh Netscape dalam mendistribusi code dari Mozilla, versi baru dari navigator jaringan. respek yang miripengan GPL tetapi lebih berorientasi pada perusahaan level enterprise.
d. Lainya seperti : Qt ( oleh Troll-Tech ), X Consortium dll
sumber :
http://zerovirez.blogspot.com/2008/10/pengertian-open-source.html
http://nyenyenk.blogspot.com/2008/12/keuntungan-dan-kerugian-dari-open.html
http://zerovirez.blogspot.com/2008/10/pengertian-open-source.html
http://nyenyenk.blogspot.com/2008/12/keuntungan-dan-kerugian-dari-open.html

Rabu, 04 April 2012

Kriteria Manager Proyek Yang Baik

Manager adalah orang atau seseorang yang harus mampu membuat orang-orang dalam organisasi yang berbagai karakteristik, latar belakang budaya, akan tetapi memiliki ciri yang sesuai dengan tujuan dan teknologi. Dan tugas seorang manager adalah bagaimana mengintegrasikan berbagai macam variabel (karakteristik, budaya, pendidikan dan lain sebagainya) kedalam suatu tujuan organisasi yang sama dengan cara melakukan mekanisme penyesuaian. Adapun mekanisme yang diperlukan untuk menyatukan variabel diatas adalah sebagai berikut:
*Pengarahan yang mencakup pembuatan keputusan, kebijaksanaan, supervisi, dan lain-lain.
* Rancangan organisasi dan pekerjaan.
* Seleksi, pelatihan, penilaian, dan pengembangan.
* Sistem komunikasi dan pengendalian.
* Sistem reward.
Hal tersebut memang tidak mengherankan karena posisi Manajer Proyek memegang peranan kritis dalam keberhasilan sebuah proyek terutama di bidang teknologi informasi. Berikut ini kualifikasi teknis maupun nonteknis yang harus dipenuhi seorang Manajer Proyek:
  • Karakter Pribadinya
  • Karakteristik Kemampuan Terkait dengan Proyek yang Dikelola
  • Karakteristik Kemampuan Terkait dengan Tim yang Dipimpin

Karakter Pribadi yang Harus Dimiliki Seorang Manager Proyek
  1. Memiliki pemahaman yang menyeluruh mengenai teknis pekerjaan dari proyek yang dikelola olehnya.
  2. Mampu bertindak sebagai seorang pengambil keputusan yang handal dan bertanggung jawab.
  3. Memiliki integritas diri yang baik namun tetap mampu menghadirkan suasana yang mendukung di lingkungan tempat dia bekerja.
  4. Asertif
  5. Memiliki pengalaman dan keahlian yang memadai dalam mengelola waktu dan manusia.
Karakteristik Kemampuan Terkait dengan Tim yang Dipimpin
  1. Memiliki kemampuan dan keahlian berkomunikasi serta manajerial.
  2. Mampu menyusun rencana, mengorganisasi, memimpin, memotivasi serta mendelegasikan tugas secara bertanggung jawab kepada setiap anggota tim.
  3. Menghormati para anggota tim kerjanya serta mendapat kepercayaan dan penghormatan dari mereka.
  4. Berbagi sukses dengan seluruh anggota tim.
  5. Mampu menempatkan orang yang tepat di posisi yang sesuai.
  6. Memberikan apresiasi yang baik kepada para anggota tim yang bekerja dengan baik.
  7. Mampu mempengaruhi pihak-pihak lain yang terkait dengan proyek yang dipimpinnya untuk menerima pendapat-pendapatnya serta melaksanakan rencana-rencana yang disusunnya.
  8. Mendelegasikan tugas-tugas namun tetap melakukan pengendalian melekat.
  9. Memiliki kepercayaan yang tinggi kepada para profesional terlatih untuk menerima pekerjaan-pekerjaan yang didelegasikan darinya.
  10. Menjadikan dirinya sebagai bagian yang terintegrasi dengan tim yang dipimpinnya.
Karakteristik Kemampuan Terkait dengan Proyek yang Dikelola
  1. Memiliki komitmen yang kuat dalam meraih tujuan dan keberhasilan proyek dalam jadwal, anggaran dan prosedur yang dibuat.
  2. Pelaksanakan seluruh proses pengembangan proyek IT sesuai dengan anggaran dan waktu yang dapat memuaskan para pengguna/klien.
  3. Pernah terlibat dalam proyek yang sejenis.
  4. Mampu mengendalikan hasil-hasil proyek dengan melakukan pengukuran dan evaluasi kinerja yang disesuaikan dengan standar dan tujuan yang ingin dicapai dari proyek yang dilaksanakan.
  5. Membuat dan melakukan rencana darurat untuk mengantisipasi hal-hal maupun masalah tak terduga.
  6. Membuat dan menerapkan keputusan terkait dengan perencanaan.
  7. Memiliki kemauan untuk mendefinisikan ulang tujuan, tanggung jawab dan jadwal selama hal tersebut ditujukan untuk mengembalikan arah tujuan dari pelaksanaan proyek jika terjadi jadwal maupun anggaran yang meleset.
  8. Membangun dan menyesuaikan kegiatan dengan prioritas yang ada serta tenggat waktu yang ditentukan sebelumnya.
  9. Memiliki kematangan yang tinggi dalam perencanaan yang baik dalam upaya mengurangi tekanan dan stres sehingga dapat meningkatkan produktifitas kerja tim.
  10. Mampu membuat perencanaan dalam jangka panjang dan jangka pendek.
Skill yang Dibutuhkan Manager Proyek:
Shtub (1994) menggambarkan diagram kemampuan yang penting untuk dimiliki oleh seorang manajer proyek. Diantaranya adalah:
  • Problem Solving, kemampuan manajer dalam menyelesaikan masalah secara efektif dan efisien.
  • Budgeting and Cost Skills, Kemampuan dalam hal membuat anggaran biaya proyek, analisis kelayakan investasi agar keuangan proyek dapat berjalan optimal sesuai dengan keinginan penyedia dana.
  • Schedulling and Time Management Skills, kemampuan untuk menjadwalkan proyek. Disini manajer proyek dituntut untuk dapat mengelola waktu secara baik agar proyek dapat selesai tepat waktu seperti yang diharapkan. Untuk mengelola waktu ini manajer proyek harus mendefinisikan aktivitas-aktivitas yang diperlukan, misalnya dengan teknik WBS atau Work Breakdown Structure. Selain itu manajer proyek harus mampu memperkirakan waktu bagi setiap aktivitas secara realistis. Hal ini memerlukan kordinasi dengan tim proyek untuk menentukan estimasi berapa alam aktivitas tersebut dilakukan. Kemudian, manajer proyek harus mengatur waktu peringatan untuk mengindikasikan tanggal-tanggal kritis selama proyek berlangsung.
  • Technical Skills, Kemampuan teknis melingkupi pengetahuan dan pengalaman dalam hal proyek itu sendiri, dengan mengetahui prosedur-prosedur dan mekanisme proyek. Kemampuan teknis biasanya di dapat dari penimbaan ilmu khusus di bangku formal, misalnya Institut Manajemen Proyek, dan sebagainya.
  • Leadership Skills, Kepemimpinan menjadi salah satu peranan penting yang dimiliki oleh seorang manajer proyek. Apa yang dilakukan oleh manajer proyek menendakan bagaimana seharusnya orang lain atau timnya bekerja. Dengan ini manajer proyek dapat mempengaruhi bagaimana orang lain dapat bertindak dan bereaksi terhadap isu-isu proyek.
  • Resource Management and Human Relationship Skills, Pemakaian sumber daya adalah masalah utama bagi para manajer proyek. Manajer proyek perlu memahami akibat dari kegagalan dalam mengelola sumber daya, oleh karena itu perlu kehati-hatian dalam menempatkan sumberdaya yang ada dan menjadwalkannya. Hal ini membutuhkan kemampuan untuk membangun jaringan social dengan orang-orang yang terlibat di dalam proyek, seperti para stakeholder. Seorang manajer proyek yang efektif harus mampu untuk menempatkan diri dalam memberikan keterbukaan dan persahabatan dengan pihak lain, salah satunya dengan menjadi pendengar yang baik.
  • Communication Skills, Perencanaan sebuah proyek akan menjadi tidak berguna ketika tidak ada komunikasi yang efektif antara manajer proyek dengan timnya. Setiap anggota tim harus mengetahui tanggung jawab mereka. Kadang, jadwal perencanaan yang sudah dibuat secara sempurna oleh manajer proyek tidak dijalankan oleh timnya, tim lebih memilih bekerja dengan aturan mereka sendiri. Hal ini dikarenakan sang manajer tidak memberikan penjelasan atau mempresentasikan prosedur yang diinginkan dalam menjalankan proyek.
  • Negotiating Skills, Untuk memperoleh simpati dan dukungan dari manajemen atas, kemampuan negosiasi dititik beratkan disini. Tapi, manajer proyek harus memahami kepentingan manajemen atas sehingga dengan pemahaman ini manajer proyek dapat melakukan bargaining dengan pemikiran yang tenang dan jernih untuk memperoleh apa yang diinginkan. Selain kemampuan komunikasi yang baik, negosiasi juga memerlukan strategi dalam menarik dukungan manajemen atas atau sponsor mereka, bagaimanapun, pihak yang bernegosiasi harus dapat melihat loyalitas sang manajer terhadap mereka, baru kemudian akan muncul kepercayaan.
  • Marketing, Contracting, Customer Relationship Skills, Kemampuan menjual tidak hanya dimiliki oleh marketer saja, akan tetapi manajer proyek harus memiliki kemampuan untuk memasarkan hasil proyeknya, karena akan sangat tragis ketika sebuah proyek yang sukses secara implementatif, tetapi outputnya tidak dibutuhkan oleh para penggunanya. Bagaimanapun apa yang akan dikatakan sang manajer proyek kepada pelanggannya akan lebih berpengaruh daripada yang mengatakan hanya bagian marketing. Selain itu, kedekatan dengan konsumen sangat diperlukan. Sang manajer perlu responsive terhadap perubahan kebutuhan dan persyaratan pelanggan untuk memenuhi kebutuhan mereka. Sekali lagi, kemampuan komunikasi sangat berperan penting disini. Dalam konsep TQM, kunci utama untuk mengidentifikasi kebutuhan pelanggan adalah komunikasi secara terus-menerus antar pelanggan maupun antar tim proyek (Tjiptono&Diana, 2003).

Kompetensi yang Harus Dimiliki Manajer Proyek:
* Kompetensi Pencapaian Bisnis
* Kompetensi Pemecahan Masalah
* Kompetensi Pengaruh
* Kompetensi Manajemen diri dan orang lain



Sumber :
http://www.lintasberita.com/Lifestyle/Relations/kriteria-manager-proyek-yang-baik
http://nayay.wordpress.com/2010/03/08/manager-proyek/
http://saiiamilla.wordpress.com/2011/05/13/kriteria-manager-proyek-yang-baik/
http://ria-ajah.blogspot.com/2011/05/kriteria-manager-proyek-yang-baik.html

COCOMO (Constructive Cost Model)

COCOMO atau Constructive Cost Model, merupakan sebuah alat bantu atau modul konstruksi biaya yang digunakan untuk menghitung estimasi berapa biaya dan jumlah orang yang dibutuhkan dalam mengembangkan suatu proyek perangkat lunak. COCOMO pertama kali muncul pada sebuah buku berjudul Software Engineering Economics tahun 1981 oleh Barry Boehm. 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.

Berikut ini jenis-jenis dari COCOMO :
1. Basic COCOMO

Menghitung usaha pengembangan perangkat lunak (dan biaya) sebagai fungsi dari ukuran program. Ukuran program dinyatakan dalam ribuan estimasi baris kode (KLOC).

COCOMO membedakan perhitungan terhadap tiga jenis kelas proyek perangkat lunak sebagai berikut :
  • organic : tim kecil dengan pengalaman cukup baik dan kebutuhan sistem yang relatif sederhana.
  • semi-detached : tim berukuran menengah yang berpengalaman dengan lingkungan kerja yang lebih kompleks.
  • embedded projects : pengembangan berdasarkan pada kebutuhan dengan kompleksitas tinggi dan batasan atau constraint yang ketat.

Persamaan dasar COCOMO :

Effort Applied = ab(KLOC)^bb [ man-months ]
Development Time = cb(Effort Applied)^db [months]
People required = Effort Applied / Development Time [count]

Koefisien ab, bb, cb, dan db diberikan dalam tabel berikut :


2. Intermediete COCOMO

Intermediate COCOMO menghitung usaha pengembangan perangkat lunak sebagai fungsi ukuran program dan sekumpulan "cost drivers" yang mencakup penilaian subjektif produk, perangkat keras, personil dan atribut proyek. Ekstensi ini mempertimbangkan satu set empat "cost drivers", yang dijabarkan dalam kategori dan subkatagori sebagai berikut :

a. Atribut produk (product attributes)

* Reliabilitas perangkat lunak yang diperlukan (RELY)
* Ukuran basis data aplikasi (DATA)
* Kompleksitas produk (CPLX)

b. Atribut perangkat keras (computer attributes)

* Waktu eksekusi program ketika dijalankan (TIME)
* Memori yang dipakai (STOR)
* Kecepatan mesin virtual (VIRT)
* Waktu yang diperlukan untuk mengeksekusi perintah (TURN)

c. Atribut sumber daya manusia (personnel attributes)

* Kemampuan analisis (ACAP)
* Kemampuan ahli perangkat lunak (PCAP)
* Pengalaman membuat aplikasi (AEXP)
* Pengalaman penggunaan mesin virtual (VEXP)
* Pengalaman dalam menggunakan bahasa pemrograman (LEXP)

d. Atribut proyek (project attributes)

* Penggunaan sistem pemrograman modern(MODP)
* Penggunaan perangkat lunak (TOOL)
* Jadwal pengembangan yang diperlukan (SCED)


3. Detailed COCOMO

Detil COCOMO - menggabungkan semua karakteristik versi intermediate dengan penilaian dampak cost driver di setiap langkah (analisis, desain, dll) dari proses rekayasa perangkat lunak 1. model rinci kegunaan yang berbeda upaya pengali untuk setiap driver biaya atribut Tahap pengganda ini upaya Sensitif masing-masing untuk menentukan jumlah usaha yang dibutuhkan untuk menyelesaikan setiap tahap.

Pada COCOMO rinci, upaya dihitung sebagai fungsi dari ukuran program dan satu set driver biaya yang diberikan sesuai dengan tiap tahap siklus hidup rekayasa perangkat lunak. Fase yang digunakan dalam COCOMO rinci perencanaan kebutuhan dan perancangan perangkat lunak, perancangan detil, kode dan menguji unit, dan pengujian integrasi.

sumber :
http://dasikupukupu.blogspot.com/2011/04/meramal-kebutuhan-dalam-pembuatan.html
http://en.wikipedia.org/wiki/Cocomo
http://blogkublogku.blogspot.com/2011/04/cocomo-constructive-cost-model.html
http://gembel-it.blogspot.com/2011/04/cocomo-constructive-cost-model.html
http://awansembilan.blogspot.com/2011/04/cocomo-constructive-cost-model.html

Alasan menggunakan software open source

Open Source adalah sebuah sistem baru dalam mendistribusikan perangkat lunak kepada pengguna dengan memberikan program dan source code nya secara gratis. Bahkan pengguna dapat mempelajari dan melakukan modifikasi untuk membuat software 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.

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.

Beberapa keuntungan dari software open source, yaitu:

  1. Adanya hak untuk mendistribusikan modifikasi dan perbaikan pada kode.
  2. Ketersediaan source code dan hak untuk memodifikasi.
  3. 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.
  4. 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.
  5. 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 yang tersedia membuat setiap orang dapat mengusulkan perbaikan tanpa harus menunggu dari vendor.
  6. 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.
  7. Hemat biaya, sebagian besar developer ini tidak dibayar. Dengan demikian, biaya dapat dihemat dan digunakan untuk pengeluaran yang tidak dapat ditunda, misal membeli server untuk hosting web.
  8. Tidak mengulangi development, pengulangan (re-inventing the wheel) merupakan pemborosan. Adanya source code yang terbuka membuka jalan bagi seorang programmer untuk melihat solusi-solusi yang pernah dikerjakan oleh orang lain. Namun, pada kenyataannya tetap banyak pengulangan.
  9. User dapat memodifikasi dan mengunci agar hanya kalangan terbatas yang dapat membaca kode dan memodifikasinya.
  10. Mencegah software privacy yang melanggar hukum.

Beberapa kerugiannya adalah :

  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.

Referensi :

Rabu, 28 Maret 2012

Etika dan Profesionalisme TSI

-

Etika mempunyai dua makna yaitu:

Etika berasal dari bahasa Yunani, ethos (tunggal) atau ta etha (jamak) yang berarti watak, kebiasaan dan adat istiadat. Pengertian ini berkaitan dengan kebiasaan hidup yang baik, baik pada diri seseorang maupun suatu masyarakat yang diwariskan dari satu generasi ke generasi yang lain.
Pengertian etika yang kedua berbeda dengan moralitas. Etika dalam pengertian kedua ini dipahami sebagai filsafat atau ilmu yang menekankan pada pendekatan kritis dalam melihat dan memahami nilai dan norma serta permasalahan-permasalahan yang timbul dalam kehidupan bermasyarakat.

Pengertian etika kedua, berbeda dengan yang pertama karena tidak berisikan nilai dan norma-norma kongkret yang menjadi pedoman hidup manusia.

-

Istilah ini telah dimengerti banyak orang bahwa suatu hal yang berkaitan dengan bidang yang sangat dipengaruhi oleh pendidikan dan keahlian. Orang yang hanya memiliki pendidikan belum cukup disebut profesi. Shingga diperlukan penguasaan teori sistematis yang mendasari praktik pelaksanaan, dan hubungan antara teori dan penerapan dalam praktiknya. Sering dijumpai kesalah pahaman antara istilah profesi dan profesional, karena banyak orang yang profesional tidak atau belum tentu termasuk dalam pengertian profesi. Berikut pemahamannya menurut De George Profesi adalah pekerjaan yang dilakukan sebagai kegiatan pokok untuk menghasilkan nafkah hidup dan yang mengandalkan suatu keahlian.

Profesional adalah orang yang mempunyai profesi atau pekerjaan purna waktu dan hidup dari pekerjaan itu dengan mengandalkan suatu keahlian yang tinggi. Atau seorang yang hidup dengan mempraktikkan suatu keahlian tertentu. Sementara orang lain melakukannya hanya sekedari hobi.

- TSI

(TSI) adalah suatu sistem pengolahan data keuangan dan pelayanan jasa perbankan secara elektronis dengan menggunakan sarana komputer, telekomunikasi, dan sarana elektronis lainnya.

Jadi, berdasarkan definisi yang telah dijelaskan sebelumnya Etika dan Profesionalisme TSI adalah sikap/ perilaku seseorang sebagai individu yang bekerja sesuai standar moral dan etika yang telah ditetapkan/diberlakukan dalam menggunakan teknologi sistem informasi.

1. WHEN

- Etika dan profesionalisme TSI bukan hanya digunakan saat sedang melakukan sebuah proyek yang akan dijalankan melainkan juga etika dan profesionalisme itu sendiri harus dijalankan setiap waktu pada saat yang tepat. Sebuah pertanggung jawaban dari suatu etika dan profesionalisme haruslah nyata.

2. WHY

Alasan mengapa seseorang harus memiliki etika dan prosesinalisme adalah agar terhindar dari sikap atau perbuatan yang dapat melanggar undang-undang, norma-norma yang ada di lingkungan masyarakat. Tidak hanya itu manusia yang memiliki etika baik maka akan mendapat perlakuan yang baik dari orang lain, etika dalam teknologi informasi ditujukan untuk :

– Mampu memetakan permasalahan yang timbul akibat penggunaan teknologi informasi itu sendiri.
– Mampu menginventarisasikan dan mengidentifikasikan etikan dalam teknologi informasi.
– Mampu menemukan masalah dalam penerapan etika teknologi informasi.

tujuan pokok dari rumusan etika yang dituangkan dalam kode etik (Code of conduct) profesi adalah:

1. Standar‐standar etika menjelaskan dan menetapkan tanggung jawab terhadap klien, institusi, dan masyarakat pada umumnya
2. Standar‐standar etika membantu tenaga ahli profesi dalam menentukan apa yang harus mereka perbuat kalau mereka menghadapi dilema‐dilema etika dalam pekerjaan
3. Standar‐standar etika membiarkan profesi menjaga reputasi atau nama dan fungsi‐fungsi profesi dalam masyarakat melawan kelakuan‐kelakuan yang jahat dari anggota‐anggota tertentu
4. Standar‐standar etika mencerminkan / membayangkan pengharapan moral‐moral dari komunitas, dengan demikian standar‐standar etika menjamin bahwa para anggota profesi akan menaati kitab UU etika (kode etik) profesi dalam pelayanannya
5. Standar‐standar etika merupakan dasar untuk menjaga kelakuan dan integritas atau kejujuran dari tenaga ahli profesi
6. Perlu diketahui bahwa kode etik profesi adalah tidak sama dengan hukum (atau undang‐undang). Seorang ahli profesi yang melanggar kode etik profesi akan menerima sangsi atau denda dari induk organisasiprofesinya

Software engineer (IT profesional) memiliki komitmen yang tinggi untuk menjaga agar profesinya adalah profesi yang bermanfaat bagi masyarakat dan merupakan profesi yang terhorma, oleh karena itu Kode Etik perlu diterapkan oleh setiap individu software engineer.

3. WHO

Setiap orang yang hendak menggunakan teknologi sistem informasi tertentu harus mempertimbangkan untuk menggunakan etika dan profesionalisme TSI, sehingga pengguna etika dan profesionalisme TSI ini adalah semua elemen di dalam suatu lingkungan kerja yang akan menggunakan TSI. Semua elemen di suatu ligkungan kerja ini harus sadar dan bertanggung jawab untuk mengimplementasikan etika dan profesionalisme TSI untuk menghindari isu-isu etika.

Secara umum, pekerjaan di bidang teknologi inf ormasi setidaknya terbagi dalam 3 kelompok sesuai bidangnya.

Pada lingkungan kelompok ini, terdapat pekerjaan-pekerjaan seperti :

I. Sistem analis, merupakan orang yang bertugas menganalisa sistem yang akan diimplementasikan, mulai dari menganalisa sistem yang ada, kelebihan dan kekurangannya, sampai studi kelayakan dan desain sistem yang akan dikembangkan.

– Programer, merupakan orang yang bertugas mengimplementasikan ranc angan sistem analis, yaitu membuat program ( baik aplikasi maupun sistem operasi) sesuai sistem yang dianalisa sebelumnya.

– Web designer, merupakan orang yang melakukan kegiatan perenc anaan, termasuk studi kelayakan, analisis dan desain terhadap suatu proyek pembuatan aplikasi berbasis web.

– Web Programmer, merupakan orang yang bertugas mengimplementasikan ranc angan web designer, yaitu membuat program berbasis web sesuai desain yang telah dirancang sebelumnya dan lain- lain

II. Kelompok kedua, adalah mereka yang bergelut di bidang perangkat keras (hardware). Pada lingkungan kelompok ini, terdapat pekerjaan- pekerjaan seperti:

– Technical engineer, sering juga disebut teknisi, yaitu orang yang berkecimpung dalam bidang teknik, baik mengenai pemeliharaan maupun perbaikan perangkat sistem komputer

– Networking Engineer, adalah orang yang berkecimpung dalam bidang teknis jaringan komputer dari maintenance sampai pada troubleshooting-nya dan lain-lain

III. Kelompok ketiga, adalah mereka yang berkecimpung dalam operasional sistem informasi. Pada lingkungan kelompok ini, terdapat pekerjaan seperti :

– EDP Operator, adalah orang yang bertugas mengoperasikan program-program yang berhubungan dengan electronic data processing dalam lingkungan sebuah perusahaan atau organisasi lainnya.

– System Administrator, merupakan orang yang bertugas melakukan administrasi terhadap sistem, melakukan pemeliharaan sistem, memiliki kewenangan mengatur hak akses terhadap sistem, serta hal-hal lain yang berhubungan dengan pengaturan operasional sebuah system

Sumber :

http://4r13s.wordpress.com/2012/03/12/etika-dan-profesi-teknologi-sistem-informasi-tsi/

http://aditaryo.info/2012/03/etika-dan-profesi-teknologi-informasi-tsi/