April 05, 2012

Software Open Source

Apa itu Software Open Source???

  Menurut Wikipedia Bahasa Indonesia, Perangkat lunak (software) adalah istilah umum untuk data yang diformat dan disimpan secara digital, termasuk program komputer, dokumentasinya, dan berbagai informasi yang bisa dibaca dan ditulis oleh komputer. Dengan kata lain, bagian sistem komputer yang tidak berwujud. Sedangkan, Menurut thesaurus Bahasa Indonesia, kata free bisa diartikan sebagai : bebas, blong, Cuma-Cuma, gratis, luang, meluputkan, membebaskan, terluang. Adapun secara istilah, free adalah kebebasan anda untuk menyalin software serta menggunakannya secara legal dikomputer manapun tanpa harus membayar biaya tertentu.

  Adapun Open Source, secara istilah diartikan sebagai prinsip-prinsip dan metodelogi yang bertujuan mempromosikan akses terbuka terhadap tahapan produksi dan desain pada sebuah produk atau sumber daya apapun. Istilah Open Source lazim diterapkan pada kode sumber (source code) dari software yang dibuat untuk kepentingan public secara umum dengan tidak adanya batasan hak atas kekayaan intelektual. Prinsip ini menyediakan kebebasan kepada user untuk membuat isi sebuah software secara bertahap maupun berkolaborasi.

  Istilah “open source” ini kemudian menjadi terkenal setelah dipublikasikan oleh tim O’Reilly melalui sebuah event yang diadakan di bulan April 1999. Event ini dihadiri oleh para selebritis IT yang terlibat dalam project-project free open source, seperti Linus Torvallds (penemu Linux), Larry Wall, Brian Behlendorf, Eric, Allman, Guido van Rossum (pembuat python), Michael Tieman, Paul Vixie, Jamie Zawinski dari Netscape, dan Eric Raymond. Untuk menjaga perkembangan dunia open source, dibentuklah sebuah badan yang disebut Open Source Initiative. Badan ini didirikan tahu 1998 oleh Eric S. Raymond dan Bruce Perens. Definisi open source yang digunakan disini Debian Free Software Guidelines.

  Saat ini, perkembangan Open Source tidak hanya terbatas pada dunia IT, namun juga pada beberapa hal sebagai berikut : Pertanian, Kesehatan dan Farmasi, Teknologi, Media, Pendidikan, Pemerintahan dan Kesenian.

Kelebihan software open source :
•  Software open source yang biasanya dikembangkan oleh komunitas atau institusi non profit juga memiliki kemampuan yang sangat powerfull karena software dikembangkan secara bersama-sama sehingga masalah atau bug pada software cepat teratasi.
•   Fitur dan kemampuan software open source sangat kompleks dan banyak karena bisa dikembangkan oleh siapa saja tanpa terkecuali.
•   Software open source berlisensi GPL sehingga user tidak dikenakan biaya untuk mempergunakannya.
Kekurangan software open source :
•  GUI dari software biasanya kurang memuaskan untuk user yang awam.
•  Terkadang ada beberapa software open source yang tidak bisa menggantikan jenis software berbayar.
•   Software open source biasanya kurang diminati oleh user awam karena biasanya sulit dalam instalasi atau penggunaan.

Setelah softholic mania melihat kelebihan dan kekurangan antara software berbayar dengan software open source, sekarang saatnya kita bandingkan beberapa software secara langsung.
1.         Sistem Operasi (OS)
Open source : Linux (debian, ubuntu, mint, slackware, backtrack, open suse).
Software berbayar : Windows (XP, Vista, 7, 8), MacOs.
2.         Photo/Image editor
Open source : GIMP, InkScape, Digikam, Abhishek’s GLIMPSE.
Software berbayar : Adobe Photoshop, Corel Draw.
3.         Office editor
Open source : LibreOffice, OpenOffice.
 Software berbayar : KingOffice, MsOffice (2003, 2007, 2010).
4.         Flow / Diagram
Open source : Dia, Umbrello.
Software berbayar : MsVisio.
5.         Text Editor
Open source : Kwrite, Bluefish Editor.
Software berbayar : Notepad.

Sumber 1
Sumber 2

Kriteria Baik Manajer Proyek


Badiru dan Pulat (1995) menjelaskan bahwa peran seorang manajer proyek akan menggunakan sumber daya yang tersedia untuk memenuhi sasaran dan tujuan. Seorang manajer proyek mempunyai tanggung jawab yang utama dalam memastikan bahwa suatu proyek diterapkan menurut rencana proyek. Manajer proyek mempunyai jarak interaksi yang luas di dalam dan di luar lingkungan proyek itu.
Shtub (1994) menggambarkan diagram kemampuan yang penting untuk dimiliki oleh seorang manajer proyek. Diantaranya adalah:
•     Budgeting and Cost Skills
•     Schedulling and Time Management Skills
•     Technical Skills
•     Leadership Skills
•     Resource Management and Human Relationship Skills
•     Communication Skills
•     Negotiating Skills
•     Marketing, Contracting, Customer Relationship Skills
•     Problem Solving

Setidaknya ada 3 (tiga) karakteristik yang dapat digunakan untuk mengukur tingkat kualifikasi seseorang untuk menjadi Manajer Proyek yaitu:
•     Karakter Pribadinya
Memiliki pemahaman yang menyeluruh mengenai teknis pekerjaan dari proyek yang dikelola olehnya.
ü  Mampu bertindak sebagai seorang pengambil keputusan yang handal dan bertanggung jawab.
ü  Memiliki integritas diri yang baik namun tetap mampu menghadirkan suasana yang mendukung di lingkungan tempat dia bekerja.
ü  Asertif
ü  Memiliki pengalaman dan keahlian yang memadai dalam mengelola waktu dan manusia.

•     Karakteristik Kemampuan Terkait dengan Proyek yang Dikelola
ü  Memiliki komitmen yang kuat dalam meraih tujuan dan keberhasilan proyek dalam jadwal, anggaran dan prosedur yang dibuat.
ü  Pelaksanakan seluruh proses pengembangan proyek IT sesuai dengan anggaran dan waktu yang dapat memuaskan para pengguna/klien.
ü  Pernah terlibat dalam proyek yang sejenis.
ü  Mampu mengendalikan hasil-hasil proyek dengan melakukan pengukuran dan evaluasi kinerja yang disesuaikan dengan standar dan tujuan yang ingin dicapai dari proyek yang dilaksanakan.
ü  Membuat dan melakukan rencana darurat untuk mengantisipasi hal-hal maupun masalah tak terduga.
ü  Membuat dan menerapkan keputusan terkait dengan perencanaan.
ü  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.
ü  Membangun dan menyesuaikan kegiatan dengan prioritas yang ada serta tenggat waktu yang ditentukan sebelumnya.
ü  Memiliki kematangan yang tinggi dalam perencanaan yang baik dalam upaya mengurangi tekanan dan stres sehingga dapat meningkatkan produktifitas kerja tim.
ü  Mampu membuat perencanaan dalam jangka panjang dan jangka pendek.

•     Karakteristik Kemampuan Terkait dengan Tim yang Dipimpin
ü  Memiliki kemampuan dan keahlian berkomunikasi serta manajerial.
ü  Mampu menyusun rencana, mengorganisasi, memimpin, memotivasi serta mendelegasikan tugas secara bertanggung jawab kepada setiap anggota tim.
ü  Menghormati para anggota tim kerjanya serta mendapat kepercayaan dan penghormatan dari mereka.
ü  Berbagi sukses dengan seluruh anggota tim.
ü  Mampu menempatkan orang yang tepat di posisi yang sesuai.
ü  Memberikan apresiasi yang baik kepada para anggota tim yang bekerja dengan baik.
ü  Mampu mempengaruhi pihak-pihak lain yang terkait dengan proyek yang dipimpinnya untuk menerima pendapat-pendapatnya serta melaksanakan rencana-rencana yang disusunnya.
ü  Mendelegasikan tugas-tugas namun tetap melakukan pengendalian melekat.
ü  Memiliki kepercayaan yang tinggi kepada para profesional terlatih untuk menerima pekerjaan-pekerjaan yang didelegasikan darinya.
ü  Menjadikan dirinya sebagai bagian yang terintegrasi dengan tim yang dipimpinnya.
ü  Mampu membangun kedisiplinan secara struktural.
ü  Mampu mengidentifikasi kelebihan-kelebihan dari masing-masing anggota tim serta memanfaatkannya sebagai kekuatan individual.
ü  Mendayagunakan setiap elemen pekerjaan untuk menstimulasi rasa hormat dari para personil yang terlibat dan mengembangkan sisi profesionalisme mereka.
ü  Menyediakan sedikit waktu untuk menerima setiap ide yang dapat meningkatkan kematangan serta pengembangan dirinya.
ü  Selalu terbuka atas hal-hal yang mendorong kemajuan.
Memahami secara menyeluruh para anggota tim yang dipimpinnya dan mengembangkan komunikasi efektif di dalamnya.

Constructive Cost Model (COCOMO)


Apa itu COCOMO ???
Constructive Cost Model (COCOMO) adalah algoritma estimasi biaya perangkat lunak model yang dikembangkan oleh Barry Boehm . Model ini menggunakan dasar regresi formula, dengan parameter yang berasal dari data historis dan karakteristik proyek proyek saat ini.
       COCOMO pertama kali diterbitkan pada tahun 1981 Barry Boehm W. 's Book rekayasa ekonomi Perangkat Lunak 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 waterfall pengembangan perangkat lunak yang merupakan pengembangan software proses lazim pada tahun 1981.
       Referensi untuk model ini biasanya menyebutnya COCOMO 81. Pada tahun 1997 COCOMO IItelah dikembangkan dan akhirnya diterbitkan pada tahun 2000 di Perangkat Lunak Perkiraan Biayabuku dengan COCOMO II. COCOMO II adalah penerus dari COCOMO 81 dan lebih cocok untuk mengestimasi proyek pengembangan perangkat lunak modern. Hal ini memberikan lebih banyak dukungan untuk modern proses pengembangan perangkat lunak 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.

Jenis-Jenis COCOMO :

1. COCOMO dasar
Menghitung usaha pengembangan perangkat lunak (dan biaya) sebagai fungsi dari ukuran program. Ukuran program dinyatakan dalam ribuan estimasi baris kode ( KLOC )
COCOMO berlaku untuk tiga kelas proyek perangkat lunak:
•   Organik proyek - "kecil" tim dengan pengalaman "baik" bekerja dengan "kurang dari kaku" persyaratan
•   Semi-terpisah proyek - "sedang" tim dengan pengalaman bekerja dicampur dengan campuran persyaratan kaku kaku dan kurang dari
•   Embedded proyek - dikembangkan dalam satu set "ketat" kendala (hardware, software, operasional, ......)

2. Intermediate 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", masing-masing dengan sejumlah atribut anak.
•      Atribut produk
o   Perangkat lunak yang disyaratkan reliabilitas
o   Ukuran database aplikasi
o   Kompleksitas produk
•      Hardware atribut
o   Run-time kinerja kendala
o   Memori kendala
o   Volatilitas lingkungan mesin virtual
o   Diperlukan waktu pembalikan haluan
•      Personil atribut
o   Analis kemampuan
o   Kemampuan rekayasa perangkat lunak
o   Aplikasi pengalaman
o   Mesin virtual pengalaman
o   Bahasa pemrograman pengalaman
•      Proyek atribut
o   Penggunaan perangkat lunak
o   Penerapan metode rekayasa perangkat lunak
o   Diperlukan jadwal pengembangan

3. Detil 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 tersebut Sensitif pengganda Tahap upaya 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. 

March 29, 2012

Etika dan Profesionalisme dalam TSI


Etika
Pengertian Etika (Etimologi), berasal dari bahasa Yunani, Ethos, yang berarti watak kesusilaan atau adat kebiasaan. Dapat dikatakan bahwa etika merupakan ilmu pengetahuan yang membahas perbuatan baik dan buruk manusia sejauh yang dapat dipahami oleh pikiran manusia.



Jenis-jenis Etika :
1. Etika Deskriptif
Etika yang menelaah secara kritis dan rasional tentang sikap dan perilaku manusia, serta apa yang dikejar oleh setiap orang dalam hidupnya sebagai sesuatu yang bernilai. Artinya etika deskriptif berbicara mengenai fakta secara apa adanya, yakni mengenai nilai dan perilaku manusia sebagai suatu fakta yang terkait dengan situasi dan realitas yang membudaya. Dapat disimpulkan bahwa tentang kenyataan dalam penghayatan nilai atau tanpa nilai dalam suatu masyarakat yang dikaitkan dengan kondisi tertentu memungkinkan manusia dapat bertindak secara etis.
2. Etika Normatif
Etika yang menetapkan berbagai sikap dan perilaku yang ideal dan seharusnya dimiliki oleh manusia atau apa yang seharusnya dijalankan oleh manusia dan tindakan apa yang bernilai dalam hidup ini. Jadi, etika normatif merupakan norma-norma yang dapat menuntun agar manusia bertindak secara baik dan menghindarkan hal-hal yang buruk, sesuai dengan kaidah atau norma yang disepakati dan berlaku di masyarakat.

Profesionalisme
Berasal dari kata profesional yang mempunyai makna berhubungan dengan profesi dan memerlukan kepandaian khusus untuk menjalankannya, (KBBI, 1994). Sedangkanprofesionalisme itu sendiri adalah tingkah laku, keahlian atau kualitas dan seseorang yang profesional (Longman, 1987).

Secara umum ciri-ciri profesionalisme pada bidang informasi teknologi ( IT ) adalah :
1.  Memiliki kemampuan dan ketrampilan dalam bidang pekerjaan IT.
2.  Memiliki wawasan yang luas.
3.  Memiiliki kemampuan dalam analisa dan tanggap terhadap masalah yang terjadi.
4.  Mampu berkerjasama dan dapat menjalin hubungan baik dengan rekan-rekan kerja
5.  Dapat menjaga kerahasian dari sebuah data dan informasi
6.  Dapat menjunjung tinggi kode etik dan displin etika.


TSI
     Teknologi Sistem Informasi (TSI) merupakan teknologi yang tidak terbatas pada penggunaan sarana komputer, tetapi meliputi pemrosesan data, aspek keuangan, pelayanan jasa sejak perencanaan, standar dan prosedur, serta organisasi dan pengendalian sistem catatan (informasi).
     Jadi, pengertian dari etika dan profesionalisme TSI adalah norma-norma, nilai-nilai, kaidah-kaidah dan ukuran-ukuran bagi tingkah laku, keahlian atau kualitas seseorang yang profesional dari manusia yang baik dalam menggunakan teknologi sistem informasi di lingkungannya.

Etika dalam teknologi informasi bertujuan agar suatu individu di lingkungan itu :
1.   Mampu memetakan permasalahan yang timbul akibat penggunaan teknologi informasi itu sendiri.
2.   Mampu menginventarisasikan dan mengidentifikasikan etikan dalam teknologi informasi.
3.   Mampu menemukan masalah dalam penerapan etika teknologi informasi.

     Etika dan Profesionalisme TSI perlu digunakan karena etika dalam perkembangannya sangat mempengaruhi kehidupan manusia. Etika memberi manusia orientasi bagaimana menjalani hidup melalui rangkaian tindakan sehari-hari. Itu berarti etika membantu manusia untuk mengambil sikap dan bertindak secara tepat dalam menjalani hidup ini, dengan demikian etika ini dapat dibagi menjadi beberapa bagian sesuai dengan aspek atau sisi kehidupan manusianya. Sedangkan Teknologi Sistem Informasi (TSI) dapat meningkatkan efektivitas dan efisiensi dalam pelaksanaan tugas dan pelayanan kepada masyarakat. Keberhasilan akan sangat ditentukan kualitas kinerja TSI. Teknologi sistem informasi telah membawa perubahan mendasar pada struktur, operasi dan manajemen organisasi. Penggunaan teknologi dalam organisasi akan mendukung kegiatan untuk meningkatkan produktivitas, mengurangi biaya operasional, meningkatkan pengambilan keputusan, meningkatkan hubungan terhadap konsumen atau pelanggan, serta mengembangkan aplikasi strategi baru.