Senin, 21 April 2014

11.07 - No comments

Kriteria Tingkat Kualifikasi Manajer Proyek


Ada 3 (tiga) karakteristik yang dapat digunakan untuk mengukur tingkat kualifikasi seseorang untuk menjadi Manajer Proyek yaitu Karakter Pribadinya, Karakteristik Kemampuan Terkait dengan Proyek yang Dikelola, dan Karakteristik Kemampuan Terkait dengan Tim yang Dipimpin.
Karakter Pribadinya
  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 Proyek yang Dikelola
  1. Memiliki komitmen yang kuat dalam meraih tujuan dan keberhasilan proyek dalam jadwal, anggaran dan prosedur yang dibuat.
  2. Melaksanakan 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.


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.
  11. Mampu membangun kedisiplinan secara struktural.
  12. Mampu mengidentifikasi kelebihan-kelebihan dari masing-masing anggota tim serta memanfaatkannya sebagai kekuatan individual.
  13. Mendayagunakan setiap elemen pekerjaan untuk menstimulasi rasa hormat dari para personil yang terlibat dan mengembangkan sisi profesionalisme mereka.
  14. Menyediakan sedikit waktu untuk menerima setiap ide yang dapat meningkatkan kematangan serta pengembangan dirinya.
  15. Selalu terbuka atas hal-hal yang mendorong kemajuan.
  16. Memahami secara menyeluruh para anggota tim yang dipimpinnya dan mengembangkan komunikasi efektif di dalamnya.

Sumber : 
 

10.58 - No comments

COCOMO ( Constructive Cost Model )

Pengertian COCOMO

          COCOMO adalah sebuah model yang didesain oleh Barry Boehm untuk memperoleh perkiraan dari jumlah orang-bulan yang diperlukan untuk mengembangkan suatu produk perangkat lunak. Satu hasil observasi yang paling penting dalam model ini adalah bahwa motivasi dari tiap orang yang terlibat ditempatkan sebagai titik berat. Hal ini menunjukkan bahwa kepemimpinan dan kerja sama tim merupakan sesuatu yang penting, namun demikian poin pada bagian ini sering diabaikan.  
Sejarah 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.

Gambar 1 Jenis-Jenis COCOMO
Jenis - Jenis Model COCOMO :
1. Model COCOMO Dasar 


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


                                                                                                                                                   (1, 2, 3)
Dimana :
• E : besarnya usaha (orang-bulan)
• D : lama waktu pengerjaan (bulan)
• KLOC : estimasi jumlah baris kode (ribuan)
• P : jumlah orang yang diperlukan.
Sedangkan koefisien ab, bb, cb, dan db diberikan pada Tabel 1 berikut:

Tabel 1 . Koefisien Model COCOMO Dasar



2. Model COCOMO Lanjut (Intermediate COCOMO)
Pengembangan model COCOMO ini adalah dengan menambahkan atribut yang dapat menentukan jumlah biaya dan tenaga dalam pengembangan perangkat lunak, yang dijabarkan dalam kategori dan subkatagori sebagai berikut:

1. Atribut produk (product attributes)
  • Reliabilitas perangkat lunak yang diperlukan (RELY)
  • Ukuran basis data aplikasi (DATA)
  • Kompleksitas produk (CPLX)
2. 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)
3. 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)
4. Atribut proyek (project attributes)
  • Penggunaan sistem pemrograman modern(MODP)
  • Penggunaan perangkat lunak (TOOL)
  • Jadwal pengembangan yang diperlukan (SCED)

Masing-masing subkatagori diberi bobot seperti dalam tabel 2 dan kemudian dikalikan.

Dari pengembangan ini diperoleh persamaan: 

                                                                                                                                                             (4)
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 



Persamaan Perangkat Lunak 
Persamaan perangkat lunak merupakan model variabel jamak yang menghitung suatu distribusi spesifik dari usaha pada jalannya pengembangan perangkat lunak. Persamaan berikut ini diperoleh dari hasil pengamatan terhadap lebih dari 4000 proyek perangkat lunak :

     
                                                                                                                                                       (5)
Dimana :
• E = usaha yang dilakukan (orang-bulan atau orang-tahun)
• t = durasi proyek dalam (bulan atau tahun)
• B = faktor kemampuan khusus
• P = parameter produktivitas 

Nilai B diambil berdasarkan perkiraan. Untuk program berukuran kecil (0.5 < KLOC < 5), B = 0.16. Untuk program yang lebih besar dari 70 KLOC, B = 0.39.
Sedangkan besarnya nilai P merefleksikan:
1. Kematangan proses dan praktek manajemen
2. Kualitas rekayasa perangkat lunak
3. Tingkat bahasa pemrograman yang digunakan
4. Keadaan lingkungan perangkat lunak
5. Kemampuan dan pengalaman tim pengembang
6. Kompleksitas aplikasi
Berdasarkan teori, diperoleh P = 2000 untuk sistem terapan, P = 10000 untuk perangkat lunak pada sistem informasi dan sistem telekomunikasi, dan P = 28000 untuk sistem aplikasi bisnis.

Konversi Waktu Tenaga Kerja 
Konversi waktu tenaga kerja ini diperoleh dari angka pembanding yang digunakan pada perangkat lunak ConvertAll, dengan hubungan persamaan antara orang-bulan (OB), orang-jam (OJ), orang-minggu (OM), dan orang-tahun (OT) adalah sebagai berikut :
OM = 40 OJ (6)
OT = 12 OB (7)
OT = 52 OM (8)
Dari persamaan di atas, diperoleh konversi orang-bulan ke orang-jam sebagai berikut :
OB = (40 OJ x 52) / 12
OB = 173,33 OJ (9) 

3. Model COCOMO II (Complete atau Detailed COCOMO model)
Detail 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 detail, 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 detail, perencanaan kebutuhan dan perancangan perangkat lunak, perancangan detil, kode dan menguji unit, dan pengujian integrasi


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 :


  • http://yayuk05.wordpress.com/2007/11/09/constructive-cost-model-cocomo/
  • http://www.dashboardcafe.com/index.php?option=com_content&view=article&id=102:dashboard-cocomo&catid=1:beritaterbaru&Itemid=50
  • http://arifkurnia24.blogspot.com/2012/04/constructive-cost-model-cocomo.html



10.39 - No comments

Alasan Mengapa Kita Harus Menggunakan Open Source dalam Membuat Suatu 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.
Open Source adalah sebuah sistem baru dalam mendistribusikan software 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. Richard M. Stallman,pendiri Free Software Foundation -sebuah organisasi yang mendukung Open Source,mengeluarkan sebuah lisensi software untuk Open Source yang dinamakan GPL (GNU Public License). Lisensi inilah yang saat ini paling banyak  digunakan  untuk mendistribusikan software Open Source.  Selain GPL, masih banyak lisensi software lainnya yang dikembangkan oleh komunitas Open Source.


Keuntungan menggunakan Open Source :

  1. Adanya hak untuk mendistribusikan modifikasi dan perbaikan pada code.
  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 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. Lebih aman (secure).
    Sifatnya yang terbuka membuat produk open source dapat dievaluasi oleh siapa pun. Public scrutinity merupakan salah satu komponen penting dalam bidang keamanan. Secara umum, open source memiliki potensi untuk lebih aman meskipun dia tidak terkendali secara otomatis. Namun, hal ini dapat tercapai, jika security by obscurity bukan tujuan utamanya.
  8. Hemat biaya.Sebagian besar developer ini tidak dibayar/digaji.
    Dengan demikian, biaya dapat dihemat dan digunakan untuk pengeluaran yang tidak dapat ditunda, misal membeli server untuk hosting web.
  9. Tidak mengulangi development.
    Pengulangan (re-inventing the wheel) merupakan pemborosan. Adanya source code yang terbuka membuka jalan bagi seseorang programmer untuk melihat solusi-solusi yang pernah dikerjakan oleh orang lain. Namun, pada kenyataannya tetap banyak pengulangan.
  10. User dapat membuat salinan tak terbatas, menjual atau memberikan bebas hasil lisensi.
  11. User dapat memodifikasi dan mengunci agar hanya kalangan terbatas yang dapat membaca kode dan memodifikasinya.
  12. Mencegah software privacy yang melanggar hukum.


Kerugian menggunakan Open Source :
  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.


 Sumber : 

  • Wiwin Surwaningsih, Nuryani , “ Dampak Knowledge Perkembangan Open Source dan Free Software”, 2006, Pusat Penelitian Informatika,LIPI Bandung
  • Eka Rezeki Amalia, “Komponen Cara Kerja Open Source Slackware”, 2007, Universitas Muhammadiyah Malang.
  • http://wartawarga.gunadarma.ac.id/2010/06/open-source-31/
     


Minggu, 13 April 2014

19.03 - No comments

Sertifikasi Profesional IT

Standarisasi di bidang TI memiliki pengertian sebagai persetujuan terhadap format,  prosedur dan antar muka (interface) yang mengizinkan perancang Hardware,Software, basis data, dan fasilitas telekomunikasi, untuk membuat produk-produk dan sistem yang mandiri atau independent satu terhadap lainnya dengan jaminan bahwa produk-produk tersebut akan saling kompatibel dengan produk atau sistem lain yang merujuk pada standar yang sama. Standar merupakan elemen tunggal yang paling penting dalam mencapai integrasi informasi perusahaan dan sumber daya komunikasi.

Sertifikasi di Bidang TI adalah cara yang standar dan terukur untuk mengukur kemampuan teknis. sertifikasi TI menunjukan bahwa para professional Teknologi Informasi tersebut memiliki pengetahuan dan kompetensi yang dapat di buktikan. Sertifikasi di bidang TI juga memberikan keunggulan dalam daya saing bagi berusahaan, khususnya dalam pasar glogal karena kemampuan dan pengetahuan Profesional Teknologi Informasi dan Telekomunikasi telah di uji dan didokumentasikan.


Selain itu pengalaman mengikuti kegiatan sertifikasi dapat memberikan wawasan-wawasan baru yang  mungkin tidak pernah ditemui pada saat mengikuti pendidikan formal atau dalam pekerjaan sehari-hari. selain mampu memberikan jalan yang lebih mudah untuk menemukan pekerjaan di bidang TI, sertifikasi juga dapat membantu meningkatkan posisi dan reputasi bagi yang telah bekerja.

Profesionalitas seorang praktisi TI paling tidak  harus memiliki 2 (dua) pengakuan, yakni :
  1. Pengakuan secara akademis berupa gelar kesarjanaan.
  2. Pengakuan dari dunia industri berupa pengakuan atas keahlian dan kemampuan (skill) yang dibuktikan dengan kepemilikan Sertifikasi.

Tujuan Sertifikasi adalah :
  • Membentuk tenaga praktisi TI yang berkualitas tinggi.
  • Membentuk standar kerja TI yang tinggi.
  • Pengembangan profesional yang berkesinambungan.
Fungsi dan Manfaat Sertifikasi bagi Profesional TI :
  1. Sertifikasi ini merupakan pengakuan akan pengetahuan yang kaya (bermanfaat bagi promosi, gaji).
  2. Perencanaan karir.
  3. Profesional Development.
  4. Meningkatkan International marketability. Indi sangat penting dalam kasus, ketika tenaga TI tersebut harus bekerja pada perusahaan multinasional.
Fungsi dan Manfaat Sertifikasi bagi masyarakat luas / Industri :
  1. Memiliki staf yang up to date dan berkualitas tinggi.
  2. Memperoleh citra perusahaan yang baik, keuntungan yang kompetitif, merupakan alat ukur yang obyektif terhadap kemampuan staf, kontraktor dan konsultan.
  3. Secara langsung dan tidak langsung akan meningkatkan produktifitas secara mikro maupun makro.
    Pada dasarnya ada 2 jenis sertikasi yang umum dikenal di masyarakat
    • Sertifikasi akademik (sebetulnya tidak tepat disebut sertifikasi) yang memberikan gelar, Sarjana, Master dll
    • Sertifikasi profesi. Yaitu suatu sertifikasi yang diberikan berdasarkan keahlian tertentu untuk profesi tertentu.

Sedangkan sertifikasi profesional pada dasarnya memiliki 3 model, yaitu :
  1. Dikembangkan oleh Profesional Society, sebagai contoh British Computer Society (BCS), Australian Computer Soicety (ACS), South East Asian Regional Computer Confederation (SEARCC) etc
  2. Dikeluarkan oleh Komunitas suatu profesi, sebagai contoh Linux Profesional, SAGE (System Administration Guild), CISA(IS Auditing) [http://www.isaca.org/]
  3. Dikeluarkan oleh vendor sebagai contoh MCSE (by Microsoft), CCNA (Cisco), CNE (Netware), RHCE (Red Hat) etc. Biasanya skill yang dibutuhkan untuk memperoleh sertifikat ini sangat spesifik dan sangat berorientasi pada suatu produk dari vendor tersebut.

Prosedur dan Persyaratan untuk Mengambil Ujian Sertifikasi untuk Setiap Jenis Profesi
  • Harus berdasarkan ujian dan cukup sulit dan memiliki beberapa tingkatan 
  • Pusat pelatihan harus disertifikasi sebelum dapat menawarkan suatu sertifikasi
  • Sertifikasi tak boleh bergantung pada suatu perusahaan atau suatu institusi. Tetapi sertifikasi vendor sebaiknya juga diakui sebagai suatu komponen untuk memperoleh sertikasi profesi
  • Sertikasi harus mendorong terbentuknya industri lokal.

Sertifikasi harus memperkecil jurang antara universitas (education) dan industri. Harus dikembangkan pemetaan antara sertifikasi akademik dan sertifikasi profesi. Juga mengurangi jurang antara aktifitas riset dan industri. Sertifikasi harus mendorong orang untuk memahami pengetahuan dasar yang berhubungan dengan keahlian terapan pada profesi tersebut. Hal ini akan membantu orang untuk memperbaiki pengetahuannya, sebab mereka tidak ahnya belajar dari “keahlian tertentu” untuk suatu saat saja, tetapi mereka memiliki pengetahuan dasar untuk memehami teknologi baru.
Sertifikasi tak boleh mengabaikan kemajemukan orang. Sebagai contoh bahasa, dan kebiasaan lokal. Sehingga untuk kompetensi dalam bidang komunikasi, kemampuan berbahasa lokal perlu dipertimbangkan juga.

A. Sertifikasi untuk Bahasa Pemrograman
Ada dua sertifikasi TI dalam hal penguasaan kemampuan yang terkait dengan bahasa pemrograman, yaitu adalah sertikasi untuk bahasa pemrograman Java dan sertifikasi untuk bahasa pemrograman yang menggunakan platform Microsoft .Net.
Java
Sertifikasi Java dapat dimanfaatkan oleh paling tidak empat segmen. Pertama, mereka yang ingin melakukan transisi karier dari posisi nonteknis ke pengembangan aplikasi dan software. Kedua, mereka yang sudah bergerak dalam bidang TI dan berniat untuk melakukan perpindahan posisi di perusahaan tempat mereka bekerja. Ketiga, konsultan Java yang ingin memvalidasi keterampilan mereka dan meningkatkan kredibilitas mereka di mata klien.Yang keempat adalah para profesional TI yang sedang memikirkan untuk pindah perusahaan.
Mendaki Tangga Sertifikasi Java Sun menawarkan tiga jenjang sertifikasi bagi programmer Java. Dari tingkat dasar ke advanced jenjang tersebut adalah: Sun Certified Programmer, Sun Certified Developer, dan Sun Certified Architect.
Microsoft.Net
Untuk para developer ada dua jenis sertifikat yang ditawarkan oleh Microsoft sebagai pengakuan atas keahlian dalam pengetahuan dan keterampilan Microsoft .Net : Microsoft Certification Application Developer (MCAD) dan Microsoft Certified Solution Developer (MCSD).
B. Sertifikasi untuk Database
Setelah membahas sertifikasi untuk bahasa pemrograman, pada bagian ini akan dibahas macam sertifikasi untuk keterampilan dalam teknologi database yang banyak digunakan. Kami memilih sertifikasi untuk Oracle dan Microsoft SQl Server.
Oracle
Sampai sekarang perusahaan software kedua terbesar di dunia ini masih merupakan penikmat pangsa pasar terbesar untuk software database. Ini membuat sertifikasi Oracle menjadi salah satu sertifikasi yang paling populer dan banyak dicari. Laporan IDC Certified Report 2002 menyebutkan bahwa sertifikasi Oracle adalah kualitas yang paling dicari oleh pasar TI.
Oracle Certified DBA adalah sertifikasi yang menguji penguasaan teknologi dan solusi Oracle dalam menjalankan peran sebagai administrator database. Pada jalur sertifikasi ini terdapat tiga jenjang sertifikasi berikut:
• Oracle Certified DBA Associate
• Oracle Certified DBA Professional
• Oracle Certified DBA Master
Microsoft
Microsoft menawarkan satu jenis sertifikasi untuk penguasaan teknologi produk database andalannya, Microsoft SQl Server. Microsoft Certified DBA adalah sertifikasi yang diberikan sebagai pengakuan kemampuan merancang, mengimplementasi, dan melakukan administrasi database Microsoft SQl Server.
C. Sertifikasi untuk Office
Sebagai aplikasi desktop, Microsoft Office mungkin menjadi aplikasi yang paling akrab dengan keseharian pekerjaan kita. Mulai dari membantu menulis surat sampai membuat perencanaan proyek. Populernya aplikasi Microsoft Office dan kemudahan pemakaiannya seringkali membuat banyak penggunanya tidak merasa perlu untuk mempelajarinya secara serius. Padahal hal tersebut mungkin berakibat pada rendahnya utilitas pemanfaatan berbagai feature yang sebenarnya disediakan oleh Microsoft Office, dan tanpa disadari membuat kerja tidak seefisien seharusnya.
Sertifikasi Microsoft Office Specialist (Office Specialist) adalah sertifikasi premium untuk aplikasi desktop Microsoft. Sertifikasi ini merupakan sertifikasi dengan standar global untuk validasi keahlian dalam menggunakan Microsoft Office dalam meningkatkan produktivitas kerja.
Fokus dari sertifikasi Office Specialist adalah mengevaluasi pemahaman menyeluruh terhadap program-program Microsoft Office dan Microsoft Project, kemampuan untuk menggunakan feature-feature advanced, dan kemampuan untuk mengintegrasikan program-program Office dengan software lain.
Sertifikasi Office Specialist tersedia dalam tiga jalur: Office 2003 Editions, Office XP, dan Office 2000. Untuk setiap jalur sertifikasi terbagi dalam tiga jenjang keahlian, yaitu Specialist, Expert, dan Master.
Selain untuk program-program yang termasuk suite aplikasi Microsoft Office, sertifikasi Office Specialist juga menawarkan sertifikasi khusus untuk Microsoft Project 2002 dan Microsoft Project 2000. Ujian sertifikasi Office Specialist untuk Microsoft Project difokuskan pada kemampuan menggunakan berbagai tool Microsoft Project dalam pelaksanaan berbagai tahapan proyek, seperti perencanaan proyek, kustomisasi grafik dan laporan kemajuan proyek, dan memfasilitasi berbagai kegiatan kolaborasi dan komunikasi tim.
Source :
http://highpecundang.blogspot.com/2011/06/jenis-jenis-sertifikasi-di-bidang-it.html
http://qie16.blogspot.com
http://kelompoketikaprovesi.blogspot.com/2011/11/standarisasi-dan-sertifikasi-keahlian_16.html
http://rudyansyah08.blogspot.com/2012/06/pentingnya-standarisasi-dan-sertifikasi.html

Minggu, 30 Maret 2014

04.29 - No comments

METODE WHITE BOX DAN BLACK BOX TESTING

1. WHITE BOX TESTING

Pengujian perangkat lunak perlu dilakukan untuk mengevaluasi baik secara manual maupun otomatis untuk menguji apakah perangkat lunak sudah memenuhi persyaratan atau belum, dan untuk menentukan perbedaan antara hasil yang diharapkan dengan hasil sebenarnya.

Tujuan pengujian perangkat lunak adalah :
- Menilai apakah perangkat lunak yang dikembangkan telah memenuhi kebutuhan pemakai.
- Menilai apakah tahap pengembangan perangkat lunak telah sesuai dengan metodologi yang digunakan.
- Membuat dokumentasi hasil pengujian yang menginformasikan kesesuaian perangkat lunak yang diuji dengan spesifikasi yang telah ditentukan.

Teknik pengujian dapat dilakukan dengan menggunakan pengujian White-Box dan Black-Box
Berikut ini penjelasan tentang white box :
Pengujian white-box (glass box), adalah metode desain test case yang menggunakan struktur kontrol desain prosedural untuk memperoleh test case. Dengan menggunakan metode pengujian white-box, perekayasa sistem dapat melakukan test case untuk memberikan jaminan bahwa :

- Semua jalur independen pada suatu modul ditelusuri minimal 1 kali
- Semua jalur keputusan logis True/False dilalui
- Semua loop dieksekusi pada batas yang tercantum dan batas operasionalnya
- Struktur data internal digunakan agar validitas terjamin

Pengujian white-box bisa dilakukan dengan pengujian basis path, metode ini merupakan salah satu teknik pengujian struktur kontrol untuk menjamin semua statemen dalam setiap jalur independen program dieksekusi minimal 1 kali. Perhitungan jalur independen dapat dilakukan melalui metrik Cyclomatic Complexity. Sebelum menghitung nilai Cyclomatic Complexity, harus diterjemahkan desain prosuderal ke grafik alir, kemudian dibuat flow graphnya, seperti pada gambar di bawah ini.






Flowchart / bagan alir


 

 Flow Graph 



Dari gambar flowgraph di atas didapat :

Path 1 = 1 – 11
Path 2 = 1 – 2 – 3 – 4 – 5 – 10 – 1 – 11
Path 3 = 1 – 2 – 3 – 6 – 8 – 9 – 10 – 1 – 11
Path 4 = 1 – 2 – 3 – 6 – 7 – 9 – 10 – 1 – 11
Path 1,2,3,4 yang telah didefinisikan diatas merupakan basis set untuk diagram alir.
Cyclomatic complexity digunakan untuk mencari jumlah path dalam satu flowgraph. Dapat dipergunakan rumusan sebagai berikut :
1. Jumlah region grafik alir sesuai dengan cyclomatic complexity.
2. Cyclomatix complexity V(G) untuk grafik alir dihitung dengan rumus:
V(G) = E – N + 2 …………. (1)
Dimana:
E = jumlah edge pada grafik alir
N = jumlah node pada grafik alir
1. Cyclomatix complexity V(G) juga dapat dihitung dengan rumus:
V(G) = P + 1 ……….. (2)
Dimana P = jumlah predicate node pada grafik alir
Dari Gambar di atas dapat dihitung cyclomatic complexity:
1. Flowgraph mempunyai 4 region
2. V(G) = 11 edge – 9 node + 2 = 4
3. V(G) = 3 predicate node + 1 = 4
Jadi cyclomatic complexity untuk flowgraph adalah 4

Nilai Cyclomatic Complexity
Cyclomatic Complexity yang tinggi menunjukkan prosedur kompleks yang sulit untuk dipahami, diuji dan dipelihara. Ada hubungan antara Cyclomatic Complexity dan resiko dalam suatu prosedur.

Hubungan antara Cyclomatic Complexity dan Resiko
 
CC
Type of Procedure
Risk
1-4
A simple procedure
Low
5-10
A well structured and stable procedure
Low
11-20
A more complex procedure
Moderate
21-50
A complex procedure, alarming
High
>50
An error-prone, extremely troublesome, untestable procedure
Very high


Biasanya batas maksimum nilai yang dapat diterima Cyclomatic Complexity adalah 10. Nilai-nilai lain, seperti 15 atau 20, juga telah diusulkan. Terlepas dari batas yang tepat, jika Cyclomatic Complexity melebihi 20, harus dipertimbangkan hal itu. Prosedur dengan kompleksitas yang tinggi cyclomatic harus disederhanakan atau dipecah menjadi beberapa prosedur yang lebih kecil.

Menurut Rich Sharpe, kami telah melakukan analisis historis puluhan ribu file kode sumber, menerapkan metrik individu kepada mereka, yang McCabe adalah salah satu. Untuk setiap file, kami menganalisis metrik, bersama dengan tingkat cacat untuk file itu, dan melakukan korelasi.

Grafik di bawah ini menunjukkan korelasi Cyclomatic Complexity (CC) nilai-nilai pada tingkat file (x-sumbu) terhadap kemungkinan kesalahan yang ditemukan dalam file-file (y-axis).



Hasil penelitian menunjukkan bahwa file yang memiliki nilai CC 11 memiliki probabilitas terendah rawan kesalahan (28%). File dengan nilai CC 38 memiliki probabilitas 50% menjadi rawan kesalahan. File yang mengandung nilai-nilai CC dari 74 dan naik sampai dengan 98% ditambah probalitas rawan kesalahan


2. METODE BLACK BOX


Black-Box Testing merupakan pengujian yang berfokus pada spesifikasi fungsional dari perangkat lunak, tester dapat mendefinisikan kumpulan kondisi input dan melakukan pengetesan pada spesifikasi fungsional program. 

Ciri-Ciri Black Box Testing
  1. Black box testing berfokus pada kebutuhan fungsional pada software, berdasarkan pada spesifikasi kebutuhan dari software.
  2. Black box testing bukan teknik alternatif daripada white box testing. Lebih daripada itu, ia merupakan pendekatan pelengkap dalam mencakup error dengan kelas yang berbeda dari metode white box testing. 
  3. Black box testing melakukan pengujian tanpa pengetahuan detil struktur internal dari sistem atau komponen yang dites. juga disebut sebagai behavioral testing, specification-based testing, input/output testing atau functional testing
Pada black box testing terdapat jenis teknik design tes yang dapat dipilih berdasarkan pada tipe testing yang akan digunakan, yang diantaranya  :
  1. Equivalence Class Partitioning
  2. Boundary Value Analysis
  3. State Transitions Testing
  4. Cause-Effect Graphing

Kategori error yang akan diketahui melalui black box testing  :
  • Fungsi yang hilang atau tak  benar
  • Error  dari antar-muka
  • Error  dari struktur data atau  akses eksternal database
  • Error  dari kinerja atau tingkah  laku
  • Error  dari inisialisasi dan  terminasi 

 
Equivalence Partitioning 
Merupakan metode black box testing yang membagi domain masukan dari suatu program ke dalam kelas-kelas data, dimana test cases dapat diturunkan [BCS97a]. Equivalence partitioning berdasarkan pada premis masukan dan keluaran dari suatu komponen yang dipartisi ke dalam kelas-kelas, menurut spesifikasi dari komponen tersebut, yang akan diperlakukan sama (ekuivalen) oleh komponen tersebut. Dapat juga diasumsikan bahwa masukan yang sama akan menghasilkan respon yang sama pula. Nilai tunggal pada suatu partisi  ekuivalensi diasumsikan sebagai  representasi dari semua nilai  dalam partisi.

Analisa partisi pada Equivalence Partitioning Black Box 
  1. Tester menyediakan suatu model komponen yang dites yang merupakan partisi dari nilai masukan dan keluaran komponen.
  2. Masukan dan keluaran dibuat dari spesifikasi dari tingkah laku komponen.
  3. Partisi adalah sekumpulan nilai, yang dipilih dengan suatu cara dimana semua nilai di dalam partisi, diharapkan untuk diperlakukan dengan cara yang sama oleh komponen (seperti mempunyai proses yang sama).
  4. Partisi untuk nilai valid dan tidak valid harus ditentukan.

Contoh Black Box Testing dengan Equivalence Partitioning :
Pemeliharaan data untuk aplikasi bank yang sudah diotomatisasikan. Pemakai dapat memutar nomor telepon bank dengan menggunakan mikro komputer yang terhubung dengan password yang telah ditentukan dan diikuti dengan perintah-perintah. Data yang diterima adalah :
-        Kode area        : kosong atau 3 digit
-        Prefix               : 3 digit atau tidak diawali 0 atau 1
-        Suffix              : 4 digit
-        Password         : 6 digit alfanumerik
-        Perintah           : check, deposit, dll
Selanjutnya kondisi input digabungkan dengan masing-masing data elemen  dapat ditentukan sebagai berikut:
  • Kode area : kondisi input, Boolean –kode area mungkin ada atau tidak kondisi input, range –nilai ditentukan antara 200 dan 999
  • Prefix  : kondisi input range > 200 atau tidak diawali 0 atau 1
  • Suffix  : kondisi input nilai 4 digit
  • Password : kondisi input boolean –passwordmungkin diperlukan atau  tidak kondisi input nilai dengan 6 karakter string
  • Perintah   : kondisi input set berisi perintah-perintah yang telah didefinisikan
Source :


1. Rekayasa Perangkat Lunak Pendekatan Praktisi (Buku Satu), (Roger S. Pressman, Ph.D. 2002 : 536)
2. Rosa A. S. - Black Box Testing
3. Pusat Pengembangan Bahan Ajar UMB, Ir. Pranto Busono, M.Kom – Testing & Implementasi
4. http://www.aivosto.com/project/help/pm-complexity.html
 
 

Senin, 25 November 2013

19.08 - No comments

Dampak Positif dan Negatif Jejaring Sosial

Dunia telah berubah dan akan terus berubah, jarak antar daerah bahkan antar Negara telah semakin dekat. Beberapa puluh tahun lalu kita sempat takjub dengan televisi yang bisa membagi informasi gambar bergerak ke seluruh pelosok negeri. Kini zaman telah berubah setiap orang bisa berbagi gambar bergerak kepada yang lainya, setiap orang bisa berbicara dan saling melihat lawan bicaranya secara langsung dimanapun ia berada.

Teknologi informasi yang berbasis internet telah berkembang pesat di indnesia, produk berbasis internet yang paling di gemari saat ini adalah situs jejaring social berupa facebook dan twitter. Dengan layanan situs jejaring sosial ini kita dapat berkomunikasi dengan teman-teman baru maupun lama dari belahan dunia manapun.

Arus perkembangan teknologi ini bagaimana pun tak akan bisa kita bendung, sebagian besar anak dan remaja saat ini telah familiar dengan berbagai situs jejaring sosial tersebut, tidak saja anak dan remaja kota, bahkan anak-anak di pedesaan pun kini telah berangsur-angsur mulai menggunakan jejaring sosial tersebut.

Berkembang pesatnya situs jejaring sosial tersebut tentu saja punya dampak positif dan juga negatif, oleh karena itu pentig untuk di buat suatu sistem pengawasan dan bimbingan bagi mereka agar dampak negatif nya dapat di hindari dan dampak positif nya semakin di rasakan.

Tugas mengawasi dan membimbing itu tentu saja bukan tugas guru di sekolah semata, orang tualah yang seharusnya berperan dalam pengawasan dan bimbingan bagi anak-anaknya. Untuk pedoman pengawasan tersebut tentu saja para orang tua dan para anak dan remaja itu sendiri mengetahui apa saja dampak positif dan negatif situs jejaring sosial tersebut. Untuk itu di bawah ini akan saya sebutkan beberapa dampak negatif dan positif pemanfaatan situs jejaring social tersebut.

A .Dampak positif jejaring sosial

1. Anak dan remaja dapat belajar mengembangkan keterampilan teknis dan social yang sangat di butuhkan di zaman digital seperti sekarang ini. Mereka akan belajar bagaimana cara beradaptasi,bersosialisai dengan public dan mengelola jaringan pertemanan.
2. Memperluas jaringan pertemanan, anak dan remaja akan menjadi lebih mudah berteman dengan orang lain di seluruh dunia, meski sebagian besar diantaranya belum pernah mereka temui secara langsung.
3. Anak dan remaja akan termotivasi untuk belajar mengembangkan diri melalui teman-teman yang mereka jumpai secara online, karena di sini mereka berinteraksi dan menerima umpan balik satu sama lain.
4. Situs jejaring social membuat anak dan remaja menjadi lebih bersahabat, perhatian, dan empati, misalnya memberi perhatian saat ada teman mereka yang ulang tahun, mengomentari foto, video dan status teman mereka, menjaga hubungan persahabatan meski tidak dapat bertemu secara fisik.
5. Internet sebagai media komunikasi : merupakan fungsi internet yang paling banyak digunakan dimana setiap pengguna internet dapat berkomunikasi dengan pengguna lainnya dari seluruh dunia.
6. Media pertukaran data : dengan menggunakan email, newsgroup, ftp dan www (world wide web : jaringan situs-situs web) para pengguna internet di seluruh dunia dapat saling bertukar informasi dengan cepat dan murah.
7. Media untuk mencari informasi atau data : perkembangan internet yang pesat, menjadikan www sebagai salah satu sumber informasi yang penting dan akurat.
8. Kemudahan memperoleh informasi : kemudahan untuk memperoleh informasi yang ada di internet banyak membantu manusia sehingga manusia tahu apa saja yang terjadi. Selain itu internet juga bisa digunakan sebagai lahan informasi untuk bidang pendidikan, kebudayaan, dan lain-lain.
9. Kemudahan bertransaksi dan berbisnis dalam bidang perdagangan : Dengan kemudahan ini, membuat kita tidak perlu pergi menuju ke tempat penawaran/penjualan karena dapat di lakukan lewat internet.


B. Dampak Negatif jejaring sosial

1. Anak dan remaja menjadi malas belajar berkomunikasi di dunia nyata. Tingkat pemahaman bahasa pun menjadi terganggu. Jika anak terlalu banyak berkomunikasi di dunia maya, maka pengetahuan tentang seluk beluk berkomunikasi di kehidupan nyata, seperti bahas tubuh dan nada suara, menjadi berkurang.
2. Situs jejaring social akan membuat anak dan remaja lebih mementingkan diri sendiri. Mereka menjadi tidak sadar akan lingkungan sekitar mereka, karena kebanyakan menghabiskan waktu di internet. Hal ini dapat mengakibatkan anak menjadi kurang berempati di dunia nyata.
3. Bagi anak dan remaja, tidak ada aturan ejaan dan tata bahasa di jejaring social. Hal ini akan membuat mereka semakin sulit membedakan anatara berkomunikasi di situs jejaring social dan dunia nyata. Hal ini tentunya akan mempengaruhi keterampilan menulis mereka di sekolah dalam hal ejaan dan tata bahasa.
4. Situs jejaring social adalah lahan subur bagi predator untuk melakukan kejahatan. Kita tidak akan pernah tahu apakah seseorang yang baru di kenal anak kita di internet, menggunakan jati diri yang sesungguhnya.
5. Pornografi : Anggapan yang mengatakan bahwa internet identik dengan pornografi, memang tidak salah. Dengan kemampuan penyampaian informasi yang dimiliki internet, pornografi pun merajalela. Untuk mengantisipasi hal ini, para produsen browser melengkapi program mereka dengan kemampuan untuk memilih jenis home page yang dapat di akses. Di internet terdapat gambar-gambar pornografi dan kekerasan yang bisa mengakibatkan dorongan kepada seseorang untuk bertindak kriminal.
6. Penipuan : Hal ini memang merajalela di bidang manapun. Internet pun tidak luput dari serangan penipu. Cara yang terbaik adalah tidak mengindahkan hal ini atau mengkonfirmasi informasi yang Anda dapatkan pada penyedia informasi tersebut.
7. Carding : Karena sifatnya yang real time (langsung), cara belanja dengan menggunakan Kartu kredit adalah cara yang paling banyak digunakan dalam dunia internet. Para penjahat internet pun paling banyak melakukan kejahatan dalam bidang ini. Dengan sifat yang terbuka, para penjahat mampu mendeteksi adanya transaksi (yang menggunakan Kartu Kredit) on-line dan mencatat kode Kartu yang digunakan. Untuk selanjutnya mereka menggunakan data yang mereka dapatkan untuk kepentingan kejahatan mereka.
8. Perjudian : Dampak lainnya adalah meluasnya perjudian. Dengan jaringan yang tersedia, para penjudi tidak perlu pergi ke tempat khusus untuk memenuhi keinginannya. Anda hanya perlu menghindari situs seperti ini, karena umumnya situs perjudian tidak agresif dan memerlukan banyak persetujuan dari pengunjungnya..

Adapun solusi yang dapat mengatasi dampak negatif jejaring sosial tersebut adalah :

1. Membatasi waktu mengakses jejaring sosial dengan mencari kesibukan yang positif.

2. Bersikap waspada dan tidak mudah percaya terhadap orang yang baru kita kenal.

3. Menggunakan bahasa dan perkataan yang sopan dalam menggunakan jejaring sosial.

4. Tidak lupa bersosialisasi di kehidupan nyata agar tidak terpengaruh terhadap dunia maya.

Maka dari itu perlu ada peranan dan kesadaran dari berbagai pihak untuk membina generasi penerus bangsa agar tidak terpengaruh terhadap hal yang merugikan dan melanggar norma masyarakat.



source :
1. http://webikhwan.blogspot.com/2012/10/dampak-positif-dan-negatif-jejaring.html
2. http://muda.kompasiana.com/2013/04/17/dampak-positif-dan-negatif-jejaring-sosial-bagi-anak-remaja-552152.html