Sabtu, 21 April 2012

Manager Proyek yang Baik


Manajemen proyek yang baik adalah cara mengelola dan mengorganisir berbagai aset, sumber daya manusia, waktu serta kualitas pekerjaan proyek, sehingga proyek menghasilkan kualitas yang maksimal dalam waktu yang sudah direncanakan serta memberikan efek kesejahteraan bagi karyawan. Didalam sebuah proyek dibutuhkan sebuah organisasi yang bagus sehingga masing-masing personil dapat melaksanakan pekerjaanya dengan baik sesuai tenggung jawabnya masing-masing tanpa mendapat tekanan dari atasan.

Manajer Proyek (Project Manager) adalah seseorang yang bertindak sebagai pimpinan dalam suatu proyek. PM sangat berperan penting dalam adanya suatu proyek, karena kegagalan dan keberhasilan dari proyek tersebut di tentukan oleh PM itu sendiri. Dan tugas seorang manager adalah bagaimana mengintegrasikan berbagai macam 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:
a. Pengarahan (direction) yang mencakup pembuatan keputusan, kebijaksanaan, supervisi, dan lain-lain.
b. Rancangan organisasi dan pekerjaan.
c. Seleksi, pelatihan, penilaian, dan pengembangan.
d. Sistem komunikasi dan pengendalian.
e. Sistem reward.

Berikut ini penjelasan kriteria manajer yang baik menurut pendekatannya kepada landasan Pancasila yaitu sebagai berikut :
a. Bertaqwa kepada Tuhan Yang Maha Esa, dengan selalu bertaqwa kepada Tuhan Yang Maha Esa, maka sifat-sifat yang baik dari seorang manajer akan terjamin dalam pelaksanaannya.
b. Ing ngarso sung tulodho, memberi suri teladan kepada para bawahannya dalam lingkungan organisasinya, dengan contoh/pelaksanaan kerja secara riil.
c. Ing madya mangun karso,seorang manajer harus mampu membangkitkan semangat kerja para bawahannya, berusaha dan berpikir sendiri dan memberi kesempatan dan memupuk kemampuan bawahannya untuk dapat berkembang.
d. Tut wuri handayani, seorang manajer harus mampu mendorong para bawahannya agar berani berjalan di depan dan sanggup bertanggung jawab, berjalan di depan artinya mengambil prakarsa dalam melaksanakan tugas tertentu.
e. Waspodo purbo waseso, selalu waspada, sanggup mengawasi dan memberi koreksi kepada para bawahannya.
f. Ambek paromo arto, dapat memilih dengan tepat mana yang harus didahulukan.
g. Prasojo, sederhana atau tidak berlebih-lebihan.
h. Setyo, bersikap loyal baik terhadap tugas maupun terhadap sesama anggota organisasi secara timbal balik (vertikal dan horizontal) yang didasari oleh semangat kekeluargaan / kesetiakawanan.
i. Gemi nastiti, mampu mengatasi penggunaan/pengeluaran segala sesuatu kepada yang benar-benar diperlukan (tidak bersifat boros).
j. Beloko, bersedia untuk dikoreksi oleh pihak lain dan berani mempertanggung jawabkan atas segala tindakannya.
k. Legowo, berjiwa besar dan ikhlas apabila suatu saat untuk menyerahakan segala tanggung jawabnya dan kedudukannya kepada generasi berikutnya (regenerasi).

Hal tersebut memang tidak mengherankan karena posisi Manajer Proyek memegang peranan kritis dalam keberhasilan sebuah proyek terutama di bidang teknologi informasi. Ada 3 (tiga) karakteristik yang dapat digunakan untuk mengukur tingkat kualifikasi seseorang untuk menjadi Manajer Proyek yaitu:

1. Karakter Pribadinya
a. Memiliki pemahaman yang menyeluruh mengenai teknis pekerjaan dari proyek yang dikelola olehnya.
b. Mampu bertindak sebagai seorang pengambil keputusan yang handal dan bertanggung jawab.
c. Memiliki integritas diri yang baik namun tetap mampu menghadirkan suasana yang mendukung di lingkungan tempat dia bekerja.
d. Asertif
e. Memiliki pengalaman dan keahlian yang memadai dalam mengelola waktu dan manusia.

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

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

Laporan Frank Toney dalam buletin Praktek Manajemen Proyek Terbaik melaporan bahwa studi atas 500 Manajemen Proyek Forum Pembandingan mengidentifikasi ciri-ciri dari seorang manajer proyek praktek terbaik, sebagai berikut :
a. Diakui oleh pimpinan yang berkepentingan sebagai faktor paling penting dalam suatu proyek
b. Jujur dalam semua transaksi dan hubungan
c. Menunjukkan keinginan untuk mengatur dan memimpin kelompok
d. Menunjukkan bukti dari keinginan yang kuat untuk pencapaian tujuan
e. Memiliki keyakinan bahwa masa depan akan memiliki hasil yang positif
f. Memiliki keyakinan bahwa kinerja pribadinya akan menghasilkan hasil yang positif

Sumber :
http://eziekim.wordpress.com/2012/04/12/kriteria-manajer-proyek-yang-baik/
http://omkukuy.wordpress.com/2012/04/10/kriteria-manajer-proyek-yang-baik/
http://111pang.blogspot.com/2012/04/kriteria-manager-proyek-yang-baik.html

Senin, 16 April 2012

COCOMO



SEJARAH SINGKAT COCOMO

COCOMO pertama kali diterbitkan pada tahun 1981 Barry Boehm W. 's Book ekonomi Software engineering 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 pengembangan perangkat lunak waterfall yang merupakan proses software umum pembangunan di 1981.

Referensi untuk model ini biasanya menyebutnya COCOMO 81. 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.

PENGERTIAN COCOMO

COCOMO terdiri dari tiga bentuk hirarki semakin rinci dan akurat. Tingkat pertama, Basic COCOMO adalah baik untuk cepat, order awal, kasar estimasi besarnya biaya perangkat lunak, namun akurasinya terbatas karena kurangnya faktor untuk memperhitungkan perbedaan atribut proyek (Cost Drivers). Intermediate COCOMO mengambil Driver Biaya ini diperhitungkan dan Rincian tambahan COCOMO account untuk pengaruh fase proyek individu. 


MODEL JENIS COCOMO
Ada tiga model COCOMO, yaitu :

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:

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

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


Sumber :










Senin, 09 April 2012

Open Source



Kenapa dianjurkan menggunakan software open source dalam membuat aplikasi ?


Open Source 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.

Pola Open Source lahir karena kebebasan berkarya, tanpa intervensi berpikir dan mengungkapkan apa yang diinginkan dengan menggunakan pengetahuan dan produk yang cocok. Kebebasan menjadi pertimbangan utama ketika dilepas ke publik. Komunitas yang lain mendapat kebebasan untuk belajar, mengutak-ngatik, merevisi ulang, membenarkan ataupun bahkan menyalahkan, tetapi kebebasan ini juga datang bersama dengan tanggung jawab, bukan bebas tanpa tanggung jawab. (Sumber : Wiki)
           
Open source memiliki beberapa keuntungan diantaranya adalah sebagai berikut ;

1. Sumber Daya Manusia
Kegiatan Open Source biasanya melibatkan banyak orang. Memobolitas banyak orang dengan biaya rendah (bahkan gratis) merupakan salah satu kelebihan open source. Kasus Linux, programmer yang terlibat dalam pengembangan Linux mencapai ribuan orang. Bayangkan jika mereka harus digaji sebagaimana layaknya programmer yang bekerja di perusahaan yang khusus mengembangkan software untuk dijual. Kumpulan skill ini memiliki nilai yang berlipat-lipat tidak sekedar ditambahkan saja.

Untuk menentukan kesalahan (bugs) dalam software diperlukan usaha yang luar biasa, menentukan sumber kesalahan ini merupakan salah satu hal yang tersulit dan mahal. Kegiatan debugging dapat dilakukan secara paralel. Coding masih merupakan aktivitas yang mandiri (solitary). Akan tetapi, nilai tambah yang lebih besar datang dari pemikiran komunitas.

2. Peningkatan Kualitas
Adanya peer review meningkatkan kualitas, reliabilitas, menurunkan biaya dan meningkatkan pilihan (choice). adanya banyak pilihan dari beberapa programmer membuat pilihan jatuh kepada implementasi yang lebih baik. Contoh nyata dari hal ini adalah web server Apache yang mendominasi pasar server web.

3. Menjamin Masa Depan Software
Konsep open source menjamin masa depan (future) dari software. Dalam konsep closed-source, software sangat bergantung kepada programmer atau perusahaan. Bagaimana jika programmer tersebut bekerja atau pindah ke perusahaan lain? hal ini tentunya akan merepotkan perusahaan pembuat software tersebut. Di sisi pembeli juga ada masalah, bagaimana jika perusahaan tersebut gulung tikar? Nilai closed-source software akan cenderung menjadi nol jika perusahaan tersebut bangkrut. Dengan kata lain, “the price a consumer will pay” dibatasi oleh “expected future value of vendor service”. Open source tidak memiliki masalah tersebut.


4. Bisnis Open Source
Sebuah produk software memiliki dua nilai (value): use value dan sale value. Use value merupakan nilai ekonomis yang diperoleh dari penggunaan produk tersebut sebagai tool. Sementara sale value merupakan nilai dari program tersebut sebagai komoditi.



Keuntungan Software Open Source

Biasanya keuntungan yang dirasa pertama dari model Open Source adalah fakta bahwa ketersediaan Open Source diciptakan secara gratis atau dengan biaya yang rendah. Berikut ini beberapa keuntungan menggunakan Open Source :

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.

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

e. 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.

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

g. 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. Selain itu, sangat sulit untuk mendapatkan solusinya.

h. 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.

i. Mencegah Software Privacy yang Melanggar Hukum


Kerugian Software 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 :

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.


d. Support berbayar dan langka
Jika terdapat masalah pada software, misalnya ditemukan hole atau bug yang tidak anda pahami, maka langkah yang ditempuh adalah mencari penyelesaian masalah di forum-forum. Jika tidak diperoleh solusi, maka harus menganggarkan dana yang tidak sedikit untuk mendatangkan jasa konsultan dari pakar Open Source tersebut.

e. Versi Beta, Stabil dan Tidak Stabil
Kepastian stabil dan tidak stabil kadang menjadi keraguan pilihan para petinggi IT untuk memilih software Open Source. Bayangkan seandainya versi software yang unstable telah terinstal di server, lalu terjadi hal yang tidak diinginkan, dan patch-nya harus menunggu orang yang sukarela memperbaiki masalah yang terjadi.

f. 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.

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

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




Sumber : 

Minggu, 01 April 2012

CyberCrime


Pengertian CyberCrime
Kejahatan dunia maya (cybercrime) adalah istilah yang mengacu kepada aktivitas kejahatan dengan komputer atau jaringan komputer menjadi alat, sasaran atau tempat terjadinya kejahatan. Termasuk ke dalam kejahatan dunia maya antara lain adalah penipuan lelang secara online, pemalsuan cek, penipuan kartu kredit/cardingconfidence fraud, penipuan identitas, pornografi anak, dll.
Walaupun kejahatan dunia maya atau cybercrime umumnya mengacu kepada aktivitas kejahatan dengan komputer atau jaringan komputer sebagai unsur utamanya, istilah ini juga digunakan untuk kegiatan kejahatan tradisional di mana komputer atau jaringan komputer digunakan untuk mempermudah atau memungkinkan kejahatan itu terjadi.
Contoh kejahatan dunia maya di mana komputer sebagai alat adalah spamming dan kejahatan terhadap hak cipta dan kekayaan intelektual. Contoh kejahatan dunia maya di mana komputer sebagai sasarannya adalah akses ilegal (mengelabui kontrol akses), malware dan serangan DoS. Contoh kejahatan dunia maya di mana komputer sebagai tempatnya adalah penipuan identitas. Sedangkan contoh kejahatan tradisional dengan komputer sebagai alatnya adalah pornografi anak dan judi online. Beberapa situs-situs penipuan berkedok judi online seperti www.fastbet99.com dan salah satu grupnya www.agent1388bet.com termasuk dalam sebuah situs yang merupakan situs kejahatan di dunia maya yang berhasil dibongkar Aparat Subdit Tahbang/Resmob Ditreskrimum Polda Metro Jaya (28/12/2011).
Jenis - Jenis CyberCrime
Ada banyak jenis cybercrime yang terjadi di dunia global dan beberapa di antaranya telah sering terjadi di Indonesia, antara lain :
1. HACKING
Adalah kegiatan menerobos program komputer milik orang/pihak lain. Hacker adalah orang yang gemar ngoprek komputer, memiliki keahlian membuat dan membaca program tertentu, dan terobsesi mengamati keamanan (security)-nya.
2. CRACKING
Sebutan untuk “cracker” adalah “hacker” bertopi hitam (black hat hacker). Berbeda dengan “carder” yang hanya mengintip kartu kredit, “cracker” mengintip simpanan para nasabah di berbagai bank atau pusat data sensitif lainnya untuk keuntungan diri sendiri. Meski sama-sama menerobos keamanan komputer orang lain, “hacker” lebih fokus pada prosesnya. Sedangkan “cracker” lebih fokus untuk menikmati hasilnya.
3. DEFACING
Adalah kegiatan mengubah halaman situs/website pihak lain, seperti yang terjadi pada situs Marketiva malaysia, Partai Golkar, BI baru-baru ini dan situs KPU saat pemilu 2004 lalu. Tindakan deface ada yang semata-mata iseng, unjuk kebolehan, pamer kemampuan membuat program, tapi ada juga yang jahat, untuk mencuri data dan dijual kepada pihak lain.
4. CARDING :
Adalah kegiatan berbelanja menggunakan nomor dan identitas kartu kredit orang lain, yang diperoleh secara ilegal, biasanya dengan mencuri data di internet. Sebutan pelakunya adalah “carder”. Caranya para carder menawarkan barang-barang seolah-olah hasil carding-nya dengan harga murah di channel. Misalnya, laptop dijual seharga Rp 1.000.000. Setelah ada yang berminat, carder meminta pembeli mengirim uang ke rekeningnya. Uang didapat, tapi barang tak pernah dikirimkan.
5. FRAUD
Merupakan kejahatan manipulasi informasi dengan tujuan mengeruk keuntungan yang sebesar-besarnya. Biasanya kejahatan yang dilakukan adalah memanipulasi informasi keuangan. Sebagai contoh adanya situs lelang fiktif. Melibatkan berbagai macam aktivitas yang berkaitan dengan Fraud kartu kredit. Carding muncul ketika seseorang yang bukan pemilik kartu kredit menggunakan kartu kredit tersebut secara melawan hukum. contoh ” credit card fraud, money laundering “
6. SPAMMING
Adalah pengiriman berita atau iklan lewat surat elektronik (e-mail) yang tak dikehendaki. Spam sering disebut juga sebagai bulk email atau junk e-mail alias “sampah”. Meski demikian, banyak yang terkena dan menjadi korbannya. Yang paling banyak adalah pengiriman e-mail dapat hadiah, lotere, atau orang yang mengaku punya rekening di bank di Afrika atau Timur Tengah, minta bantuan “netters” untuk mencairkan, dengan janji bagi hasil. Kemudian korban diminta nomor rekeningnya, dan mengirim uang/dana sebagai pemancing, tentunya dalam mata uang dolar AS, dan belakangan tak ada kabarnya lagi. Seorang rector universitas swasta di Indonesia pernah diberitakan tertipu hingga Rp1 miliar dalam karena spaming seperti ini.
7. CYBER PORNOGRAPHY
Adalah Pornografi yang dilakukan di internet, dapat diakses secara bebas. Ada yang membayar terlebih dahulu melalui pendaftaran dan pembayaran dengan kartu kredit, namun ada juga yang gratis. Situs ini dapat diakses dengan bebas, meskipun mereka yang mengakses ini masih belum cukup umur. Kafe internet ataupun di penyedia layanan internet lainnya tidak ada aturan pembatasan umur, pembatasan akses, dan aturan lain yang membatasi akses negatif.
8. ONLINE GAMBLING
Biasa juga di sebut sebagai Internet gambling, kegiatan ini terjadi karena peletakan taruhan pada kegiatan sport atau kasino melalui Internet. Kadang-kadang juga digunakan untuk tempat iklan di Internet bagi taruhan sport lewat telepon. Online game yang sesungguhnya sebetulnya jika seluruh proses baik itu taruhannya, permainannya maupun pengumpulan uangnya melalui Internet.



Sumber:

http://justdamon.blogspot.com/2011/11/jenis-jenis-cybercrime.html
http://id.wikipedia.org/wiki/Kejahatan_dunia_maya

Profesi-profesi di Bidang IT


1.  Definisi Profesi
     Menurut Bagio Budiardjo, profesi didefinisikan sebagai “suatu lapangan kerja yg memerlukan pendidikan khusus, yang berakhir dengan suatu gelar dari lembaga pendidikan tinggi, serta mengakui adanya kewajiban terhadap masyarakat dan memiliki kode etik yang mengikat setiap orang yang menyandang suatu profesi tertentu”. Atau “kelompok lapangan kerja khusus, dalam melaksanakan kegiatan memerlukan ketrampilan dan keahlian  tinggi, untuk memenuhi kebutuhan rumit manusia, menggunakan keahliannya secara benar, penguasaan pengetahuan yang luas tentang sifat manusia, kondisi masyarakat, serta memiliki disiplin etika pada profesi tersebut.” (dari buku Komputer dan Masyarakat).
2.  Macam-macam Profesi dalam bidang IT
Berikut macam-macam contih profesi dalam bidang IT :
System Analyst
Analyst Programmer 
ERP (enterprise resource planning) Consultant 
Systems Programmer/ Software Engineer
Web Designer 
Systems Engineer
Tester
Database Administrator 
Manager
IT Manager 
Project Manager
Account Manager
Helpdesk Analyst 
IT Executive 
IT Administrator 
Network Administrator 
Security Network Analyst
Database Administrator 
Network Support Engineer 
Business Development
Manager
IT Manager 
Project Manager 
Dari banyaknya contoh profesi diatas, saya akan mencoba menjelaskan beberapa dari contoh profesi tersebut.
A.   System Analyst
Adalah adalah seseorang yang bertanggung jawab atas penelitian, perencanaan, pengkoordinasian, dan merekomendasikan pemilihan perangkat lunak dan sistem yang paling sesuai dengan kebutuhan organisasi bisnis atau perusahaan. Analis sistem memegang peranan yang sangat penting dalam proses pengembangan sistem. Seorang analis sistem harus memiliki setidaknya empat keahlian: analisis, teknis, manajerial, dan interpersonal (berkomunikasi dengan orang lain). Kemampuan analisis memungkinkan seorang analis sistem untuk memahami perilaku organisasi beserta fungsi-fungsinya, pemahaman tersebut akan membantu dalam mengidentifikasi kemungkinan terbaik serta menganalisis penyelesaian permasalahan. Keahlian teknis akan membantu seorang analis sistem untuk memahami potensi dan keterbatasan dari teknologi informasi. Seorang analis sistem harus mampu untuk bekerja dengan berbagai jenis bahasa pemrogramansistem operasi, serta perangkat keras yang digunakan. Keahlian manajerial akan membantu seorang analis sistem mengelola proyek, sumber daya, risiko, dan perubahan. Keahlian interpersonal akan membantu analis sistem dalam berinteraksi dengan pengguna akhir sebagaimana halnya dengan analis, programer, dan profesi sistem lainnya. 
Analis sistem bisa pula menjadi perantara atau penghubung antara perusahaan penjual perangkat lunak dengan organisasi tempat ia bekerja, dan bertanggung jawab atas analisis biaya pengembangan, usulan desain dan pengembangan, serta menentukan rentang waktu yang diperlukan. Analis sistem bertanggung jawab pula atas studi kelayakan atas sistem komputersebelum membuat satu usulan kepada pihak manajemen perusahaan.
Pada dasarnya seorang analis sistem melakukan hal-hal berikut:
§ Berinteraksi dengan pelanggan untuk memahami kebutuhan mereka
§ Berinteraksi dengan desainer untuk mengemukakan antarmuka yang diinginkan atas suatu perangkat lunak
§ Berinteraksi ataupun memandu programer dalam proses pengembangan sistem agar tetap berada pada jalurnya
§ Melakukan pengujian sistem baik dengan data sampel atau data sesungguhnya untuk membantu para penguji
§ Mengimplementasikan sistem baru
§ Menyiapkan dokumentasi berkualitas
B.  Database Administrator (DBA)

Profesi Database Administrator (DBA) terkait erat dengan programmer dan system analyst. Seorang DBA biasanya pernah menjadi seorang programmer tetapi pekerjaannya lebih sering berkaitan dengan database. Perbedaannya dengan database application programmer adalah seorang DBA memiliki keahlian lebih mendalam dalam hal desain, optimasi dan manajemen RDBMS (Relational Database Managemant System) tertentu seperti Oracle, SQL Server, MySQL dll. Tentunya penguasaan terhadap SQL (Structured Query Language) mutlak diperlukan. DBA harus memiliki keahlian menterjemahkan requirement proses bisnis ke obyek-obyek dalam database seperti tabel, query\view dan stored procedure disamping keahliannya dalam optimasi database seperti tuning, indexing, clustering, backup data, maintain high availability dan sebagainya.
Salah satu tugas sehari-hari seorang DBA adalah memaintain database baik produksi, backup maupun development dalam perusahaan yang membutuhkan aplikasi database berskala besar untuk operasionalnya sehari-hari. Karena itu selain hal-hal yang berhubungan dengan software, seorang DBA juga perlu memahami beberapa hal tentang hardware seperti teknologi server, storage devices dll agar dapat merekomendasikan database yang optimal. Pengetahuan tentang server clustering, storage array network (SAN), RAID, backup devices dan optimalisasinya merupakan keahlian unik seorang DBA.
Dengan semakin berkembangnya berbagai teknologi ORM (object relational mapping), maka di kemudian hari pekerjaan programmer dan DBA akan semakin dapat dipisahkan. Bila di masa lalu banyak programmer yang merangkap sebagai DBA, di masa depan bisa jadi programmer semakin jarang menggunakan SQL karena semuanya sudah ditangani oleh komponen ORM. Di sinilah perbedaan bidang keahlian seorang DBA menjadi lebih terlihat dibandingkan dengan seorang programmer.
Dahulu saya pernah diamanati oleh atasan untuk mencari orang yang memiliki keahlian dalam bidang jaringan, server dan database. Hasilnya orang seperti itu tidak pernah ditemukan, karena itu sama saja menggabungkan kemampuan System Administrator dengan Database Administrator. Seorang System Administrator berlatar belakang computer system & networking Seorang DBA sebenarnya berlatar belakang software development. Dua hal tersebut bagaikan jalan bercabang yang harus dipilih oleh seorang profesional IT di awal karirnya.
Database Administrator:
Tugas:
Merancang dan membangun database dalam sebuah sistem
Merekomendasikan solusi terbaik dalam implementasi database baik dalam hal software maupun hardware
Memaintain database agar dapat berjalan dengan baik dan optimal
Keahlian yang Diperlukan:
Menguasai ERD, SQL dan desain database secara mendalam
Menguasai berbagai teknik optimalisasi/tuning, backup dan maintain database
Menguasai secara mendalam salah satu atau lebih RDBMS beserta tools yang ada.
Memahami tentang salah satu platform/bahasa pemprograman untuk mengakses database
Menguasai teknologi server, storage, operating system yang berkaitan dengan implementasi database
Latar Belakang:
Manajemen Informatika, Teknik Informatika, Ilmu Komputer
C.  Software Engginer

Profesi software engineer sebenarnya ada kemiripannya dengan profesi programmer, system analyst ataupun SQA engineer. Yang membedakannya adalah software engineer memerlukan keahlian lebih mendalam dalam hal SDLC (Software Development Life Cycle) yaitu seluruh proses yang harus dijalani dalam pengembangan software. Pada level tertentu, seorang software engineer juga harus menguasai manajeman proyek software development. Salah satu standar SDLC yang umum digunakan dalam software engineering adalah SWEBOK (Software Engineering Body of Knowledge).
Kompleksitas dalam software develompment dari tahun-ketahun semakin kompleks dan jauh lebih kompleks dibandingkan pada saat awal komputer diciptakan. Untuk itulah para ahli dalam bidang software engineering menyusun berbagai metodologi untuk mengoptimalkan software development process agar dapat menghasilkan produk software yang sesuai dengan tuntutan perkembangan zaman. Keahlian unik seorang software engineer adalah kemampuannya untuk merekomendasikan dan menerapkan metodologi software development terbaik dalam sebuah proyek. Metode-metode software development populer seperti RUP, Agile, Scrum, XP, TDD, BDD memiliki keunggulan dan kelemahan dan tentunya diperlukan keahlian dan pengalaman dalam merekomendasikan dan mengimplementasikan metode yang paling cocok dalam sebuah proyek software development.
Bila programmer dan system analyst ada yang dipekerjakan di perusahaan-perusahaan yang core business-nya bukan software, software engineer umumnya dipekerjakan di perusahaan-perusahaan software development. Bila sebuah perusahaan memerlukan karyawan dengan posisi software engineer, maka kemungkinan besar perusahaan tersebut memerlukan karyawan yang dapat ditempatkan secara fleksibel. Misalnya di sebuah proyek, karyawan A dapat diposisikan sebagai programmer dalam tahap construction, sedangkan dalam proyek lainnya si A dapat diposisikan sebagai system analyst dalam tahap requirement dan design. Dapat pula si A diposisikan sebagai software tester, SQA engineer ataupun di posisi mana saja dalam SDLC.
Kemampuan untuk menguasai seluruh disiplin dalam SDLC tidak membuat software engineer selalu lebih unggul daripada programmer, system analyst atau SQA engineer. Pada tingkatan yang sama, misalnya pengalaman kerja 5 tahun, seorang sistem analyst tentunya lebih ahli dalam menangkap requirement dan bisnis proses serta membuat proposal. Seorang programmer tentunya lebih menguasai secara mendalam bahasa pemprograman dan IDE (Integrated Development Environment) tools serta trik-trik tertentu dalam bahasa pemprograman. Seorang SQA engineer lebih menguasai software testing dan quality assurance. Diluar hal itu, semuanya bergantung pada pribadi masing-masing dalam mengembangkan keahliannya di profesi apapun.
Software Engineer:
Tugas:
Melakukan tugas-tugas programmer, system analyst dan sebagian tugas SQA engineer
Merekomendasikan dan menerapkan metodologi terbaik dalam sebuah proyek software development
Keahlian yang Diperlukan:
Menguasai hal-hal yang dikuasai programmer, system analyst dan SQA engineer (dalam porsi yang lebih sedikit)
Menguasai SDLC berdasarkan SWEBOK (requirement, design, implementation/construction, testing, maintenance)
Menguasai metodologi software development seperti RUP, Agile, XP, Scrum dll
Latar Belakang:
Ilmu Komputer, Teknik Informatika, Manajemen Informatika, Matematika pemusatan studi Komputasi








Sumber : 

http://id.wikipedia.org/wiki/Analis_sistem
http://codelabour.wordpress.com/2009/05/04/profesi-di-dunia-it-bagian-1/
indonesia salary guide 2006
buku Komputer dan Masyarakat

Recent Post