tak-tik-tak-tik ^_^

Pengujian Aplikasi dengan AutoIt

Pengujian perangkat lunak menurut Galin adalah proses formal yang dilakukan oleh tim khusus pengujian dimana suatu unit perangkat lunak, beberapa unit perangkat lunak yang terintegrasi atau paket perangkat lunak yang diperiksa secara keseluruhan dengan menjalankan program pada komputer.

Salah satu perangkat lunak yang dapat digunakan untuk menguji aplikasi adalah AutoIt. AutoIt adalah suatu interpreter yang freeware untuk otomasi pengujian software di Windows,  dan merupakan alternatif dari ScriptIt yang merupakan bawaan dari Windows NT. ScriptIt digunakan untuk membuat script batch yang digunakan untuk mengotomatisasi pekerjaan administrator di lingkungan Windows NT.

AutoIt merupakan software yang khusus dikembangkan untuk melakukan otomasi. Tetapi penggunaannya bisa dikembangkan untuk membuat program yang digunakan untuk melakukan pengujian software yang diotomasi, sehingga proses pengujian secara manual tidak perlu lagi dilakukan. Penguji bisa juga melakukan penjadwalan kepada komputer, untuk menjalankan file script yang berisi urutan pengujian program yang dilakukan.

Fasilitas otomasi program di lingkungan Windows NT ini sudah ada sejak 1998. AutoIt merupakan software baru beberapa tahun. Tetapi tetap dikembangkan, sedangkan ScriptIt sudah tidak dikembangkan. AutoIt awalnya ditujukan untuk keperluan “roll-out” untuk mengotomatiskan dan mengkonfigurasi ratusan PC, namun seiring jalan berkembang menjadi sebuah bahasa scripting yg mumpuni yang mendukung banyak expression, user-function, loop, dan sebagainya. Continue reading

IT Forensics

Pengenalan IT Forensics

IT Forensics memiliki beberapa definisi, antara lain :

  • Definisi sederhana, yaitu penggunaan sekumpulan prosedur untuk melakukan pengujian secara menyeluruh suatu sistem komputer dengan mempergunakan software dan tool untuk memelihara barang bukti tindakan kriminal.
  • Menurut Judd Robin, yaitu penerapan secara sederhana dari penyidikan komputer dan teknik analisisnya untuk menentukan bukti-bukti hukum yang mungkin.
  • Secara umum IT Forensics adalah ilmu yang berhubungan dengan pengumpulan fakta dan bukti pelanggaran keamanan sistem informasi serta validasinya menurut metode yang digunakan (misalnya metode sebab-akibat).

IT forensik dapat mengamankan dan menganalisa bukti digital dengan cara menjabarkan keadaan terkini dari suatu artefak digital. Istilah artefak digital dapat mencakup sebuah sistem komputer, media penyimpanan (harddisk, flashdisk, CD-ROM), sebuah dokumen elektronik (misalnya sebuah email atau gambar), atau bahkan sederetan paket yang berpindah melalui jaringan komputer. IT forensik dapat digunakan untuk mendapatkan fakta-fakta obyektif dari sebuah insiden / pelanggaran keamanan sistem informasi. Fakta-fakta tersebut setelah diverifikasi akan menjadi bukti-bukti (evidence) yang akan digunakan dalam proses hukum. Selain itu IT forensik dapat digunakan untuk mengamankan dan menganalisa bukti digital.

Beberapa alasan lain mengapa perlu digunakan IT forensik adalah:

  1. Dalam kasus hukum, teknik komputer forensik sering digunakan untuk menganalisis sistem komputer milik terdakwa (dalam kasus pidana) atau milik penggugat (dalam kasus perdata).
  2. Untuk memulihkan data jika terjadi kegagalan atau kesalahan hardware atau software.
  3. Untuk menganalisa sebuah sistem komputer setelah terjadi perampokan, misalnya untuk menentukan bagaimana penyerang memperoleh akses dan apa yang penyerang itu lakukan.
  4. Untuk mengumpulkan bukti untuk melawan seorang karyawan yang ingin diberhentikan oleh organisasi.
  5. Untuk mendapatkan informasi tentang bagaimana sistem komputer bekerja untuk tujuan debugging, optimasi kinerja, atau reverse-engineering.

IT Forensik mulai digunakan pada tahun 2002. Diperkirakan terdapat sekitar 544 juta orang terkoneksi secara online. Meningkatnya populasi orang yang terkoneksi dengan internet akan menjadi peluang bagi munculnya kejahatan komputer dengan beragam variasi kejahatannya. Dalam hal ini terdapat sejumlah tendensi dari munculnya berbagai gejala kejahatan komputer, antara lain: Continue reading

Peraturan dan Regulasi (Bag.2)

Pada tulisan sebelumnya telah dibahas tentang Perbandingan cyber law, Computer Crime Act (Malaysia), dan Council of Europe Convention on Cyber Crime. Sekarang masuk pada bagian kedua. Disini akan dijelaskan tentang UU No.19 ( hak cipta ), UU No.36 (telekomunikasi), serta RUU tentang informasi dan transaksi elektronik (ITE).

UU No.19 tentang Hak Cipta

Ketentuan Umum

Hak cipta (lambang internasional: ©, Unicode: U+00A9) adalah hak eksklusif Pencipta atau Pemegang Hak Cipta untuk mengatur penggunaan hasil penuangan gagasan atau informasi tertentu dengan tidak mengurangi pembatasan-pembatasan menurut peraturan perundang-undangan yang berlaku.
Hak cipta berlaku pada berbagai jenis karya seni atau karya cipta atau “ciptaan”. Ciptaan tersebut dapat mencakup puisi, drama, serta karya tulis lainnya, film, karya-karya koreografis (tari, balet, dan sebagainya), komposisi musik, rekaman suara, lukisan, gambar, patung, foto, perangkat lunak komputer, siaran radio dan televisi, dan (dalam yurisdiksi tertentu) desain industri.
Ciptaan tentunya lahir dari yang namanya pencipta. Pencipta itu sendiri adalah seorang atau beberapa orang secara bersama-sama yang atas inspirasinya melahirkan suatu Ciptaan berdasarkan kemampuan pikiran, imajinasi, kecekatan, keterampilan, atau keahlian yang dituangkan ke dalam bentuk yang khas dan bersifat pribadi.
Pencipta sebagai Pemilik Hak Cipta, atau pihak yang menerima hak tersebut dari Pencipta, atau pihak lain yang menerima lebih lanjut  hak dari  pihak yang menerima hak tersebut adalah Pemegang Hak Cipta. Izin yang diberikan oleh Pemegang Hak Cipta kepada pihak lain untuk mengumumkan dan/atau memperbanyak Ciptaannya dengan persyaratan tertentu menggunakan izin lisensi. Dalam undang-undang itu sendiri, pengertian hak cipta adalah “hak eksklusif bagi pencipta atau penerima hak untuk mengumumkan atau memperbanyak ciptaannya atau memberikan izin untuk itu dengan tidak mengurangi pembatasan-pembatasan menurut peraturan perundang-undangan yang berlaku” (UU 19/2002 pasal 1).

Continue reading

Peraturan dan Regulasi (Bag.1)

Artikel tentang Peraturan dan Regulasi ini terbagi dalam 2 bagian. Di bagian pertama ini akan dibahas tentang Perbandingan Cyber Law, Computer Crime Act (Malaysia), dan Council of Europe Convention on Cyber Crime.

Sebelumnya, mari kita pahami terlebih dahulu definisi masing-masing dari peraturan dan regulasi.

Peraturan adalah sesuatu yang disepakati dan mengikat sekelompok orang/ lembaga dalam rangka mencapai suatu tujuan dalam hidup bersama.

Regulasi adalah “mengendalikan perilaku manusia atau masyarakat dengan aturan atau pembatasan.” Regulasi dapat dilakukan dengan berbagai bentuk, misalnya: pembatasan hukum diumumkan oleh otoritas pemerintah, regulasi pengaturan diri oleh suatu industri seperti melalui asosiasi perdagangan, Regulasi sosial (misalnya norma), co-regulasi dan pasar. Seseorang dapat, mempertimbangkan regulasi dalam tindakan perilaku misalnya menjatuhkan sanksi (seperti denda).

Setelah memahami definisi di atas, mari kita masuk ke pembahasannya.

A. Perbandingan Cyber Law

Cyberlaw adalah hukum yang digunakan di dunia cyber (dunia maya), yang umumnya diasosiasikan dengan internet. Cyberlaw dibutuhkan karena dasar atau fondasi dari hukum di banyak negara adalah “ruang dan waktu”. Sementara itu, internet dan jaringan komputer mendobrak batas ruang dan waktu ini.

Semakin banyak munculnya kasus “CyberCrime” di Indonesia, seperti pencurian kartu kredit, hacking beberapa situs, menyadap transmisi data orang lain, misalnya email, dan memanipulasi data dengan cara menyiapkan perintah yang tidak dikehendaki ke dalam programmer komputer. Maka dibuatlah sebuah regulasi konten, yaitu :
  1. Keamanan nasional : instruksi pada pembuatan bom, produksi obat/racun tidak sah, aktivitas teroris.
  2. Protection of minors (Perlindungan pelengkap) : abusive forms of marketing, violence, pornography
  3. Protection of human dignity(Perlindungan martabat manusia) : hasutan kebencian rasial, diskriminasi rasial.
  4. Keamanan ekonomi : penipuan, instructions on pirating credit cards, scam, cybercrime.
  5. Keamanan informasi : Cybercrime, Phising
  6. Protection of Privacy
  7. Protection of Reputation
  8. Intellectual Property

Continue reading

Kriteria Manajer Proyek Yang Baik

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:

  • Pengarahan (direction) yang mencakup pembuatan keputusan, kebijaksanaan, supervisi, dan lain-lain.
  • Rancangan organisasi dan pekerjaan.
  • Seleksi, pelatihan, penilaian, dan pengembangan.
  • Sistem komunikasi dan pengendalian.
  • Sistem reward.

Berikut ini penjelasan kriteria manajer yang baik menurut pendekatannya kepada landasan Pancasila yaitu sebagai berikut :

  1. 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.
  2. Ing ngarso sung tulodho, memberi suri teladan kepada para bawahannya dalam lingkungan organisasinya, dengan contoh/pelaksanaan kerja secara riil.
  3. 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.
  4. 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.
  5. Waspodo purbo waseso, selalu waspada, sanggup mengawasi dan memberi koreksi kepada para bawahannya.
  6. Ambek paromo arto, dapat memilih dengan tepat mana yang harus didahulukan.
  7. Prasojo, sederhana atau tidak berlebih-lebihan.
  8. Setyo, bersikap loyal baik terhadap tugas maupun terhadap sesama anggota organisasi secara timbal balik (vertikal dan horizontal) yang didasari oleh semangat kekeluargaan / kesetiakawanan.
  9. Gemi nastiti, mampu mengatasi penggunaan/pengeluaran segala sesuatu kepada yang benar-benar diperlukan (tidak bersifat boros).
  10. Beloko, bersedia untuk dikoreksi oleh pihak lain dan berani mempertanggung jawabkan atas segala tindakannya.
  11. 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

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

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

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

Referensi :

COCOMO

Apakah COCOMO itu?

COCOMO atau Constructive Cost Model adalah model algoritma estimasi biaya perangkat lunak yang dikembangkan oleh Barry Boehm pada tahun 1981. Model ini menggunakan dasar regresi formula, dengan parameter yang berasal dari data historis dan karakteristik proyek-proyek saat ini.

Pada tahun 1981, Barry Boehm mendesain COCOMO untuk memberikan estimasi jumlah Person-Months untuk mengembangkan suatu produk software. Referensi pada model ini dikenal dengan nama COCOMO 81.
Pada tahun 1990, muncul suatu model estimasi baru yang disebut dengan COCOMO II. Secara umum referensi COCOMO sebelum 1995 merujuk pada original COCOMO model yaitu COCOMO 81, kemudian setelah itu merujuk pada COCOMO II.

Model estimasi COCOMO telah digunakan oleh ribuan project manager suatu proyek perangkat lunak, dan berdasarkan pengalaman dari ratusan proyek sebelumnya. Tidak seperti model estimasi biaya yang lain, COCOMO adalah model terbuka, sehingga semua detail dipublikasikan, termasuk :

  • Dasar persamaan perkiraan biaya.
  • Setiap asumsi yang dibuat dalam model.
  • Setiap definisi.
  • Biaya yang disertakan dalam perkiraan dinyatakan secara eksplisit

Perhitungan paling fundamental dalam COCOMO model adalah penggunaan Effort Equation (Persamaan Usaha) untuk mengestimasi jumlah dari Person-Months yang dibutuhkan untuk pengembangan proyek. Sebagian besar dari hasil-hasil lain COCOMO, termasuk estimasi untuk Requirement dan Maintenance berasal dari persamaan tersebut.

Dalam perkembangannya, COCOMO memiliki 3 jenis implementasi, yaitu :

1. Basic COCOMO (COCOMO I 1981)

Menghitung dari estimasi jumlah LOC (Lines of Code). Pengenalan COCOMO ini diawali di akhir tahun 70-an. Sang pelopor, Boehm, melakukan riset dengan mengambil kasus dari 63 proyek perangkat lunak untuk membuat model matematisnya. Model dasar dari model ini adalah sebuah persamaan sebagai berikut :

effort = C * size^M

ket :
effort = usaha yang dibutuhkan selama proyek, diukur dalam person-months;
c dan M = konstanta-konstanta yang dihasilkan dalam riset Boehm dan tergantung pada penggolongan besarnya proyek perangkat lunak
size = estimasi jumlah baris kode yang dibutuhkan untuk implementasi, dalam satuan KLOC (kilo lines of code).

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 (COCOMO II 1999)

Menghitung dari besarnya program dan cost drivers (faktor-faktor yang berpengaruh langsung kepada proyek), seperti: perangkat keras, personal, dan atribut-atribut proyek lainnya. Selain itu pada jenis ini, COCOMO mempergunakan data-data historis dari proyek-proyek yang pernah menggunakan COCOMO I, dan terdaftar pengelolaan proyeknya dalam COCOMO database. yang dijabarkan dalam kategori dan sub-kategori 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)

COCOMO II EFFORT EQUATION

Model COCOMO II ini membuat estimasi dari usaha yang dibutuhkan (diukur dari Person-Month) berdasarkan keutamaan dalam estimasi anda akan ukuran proyek perangkat lunak (yang diukur dalam ribuan SLOC atau KSLOC) :

Effort = 2,94 * EAF * (KSLOC)E

ket:
EAF = Effort Adjustment Factor yang berasal dari Cost Drivers adalah produk dari effort multipliers yang terhubung pada masing-masing cost drivers untuk proyek.
E = Eksponen yang berasal dari Scale Drivers.

COCOMO II SCHEDULE EQUATION

COCOMO II Schedule Equation memprediksi jumlah bulan yang dibutuhkan untuk menyelesaikan proyek perangkat lunak anda. Durasi dari proyek berdasarkan pada usaha yang diprediksi oleh effort equation :

Duration = 3,67 * (Effort)SE

Dimana :
Effort = usaha dari COCOMO II effort equation.
SE = eksponen scheduled equation yang berasal dari Scale Drivers.

COCOMO II memiliki 3 model berbeda, yakni:
a) The Application Composition Model
Sesuai untuk pembangunan proyek dengan tools GUI-builder yang modern. Berdasar pada Object Points baru.
b) The Early Design Model
Model ini dapat digunakan untuk mendapat estimasi kasar biaya dan durasi dari suatu proyek sebelum menentukan arsitektur keseluruhan proyek tersebut. Model ini menggunakan sekumpulan kecil cost driver baru dan persamaan estimasi baru. Berdasar pada Unadjusted Function Points atau KSLOC.
c) The Post-Architecture Model
Ini adalah model COCOMO II yang paling detail. Digunakannya setelah membentuk arsitektur proyek secara menyeluruh. Model ini memiliki cost driver baru, aturan penghitungan baris yang baru, dan persamaan baru.

3. Advance COCOMO

Memperhitungkan semua karakteristik dari intermediate di atas dan cost drivers dari setiap fase (analisis, desain, implementasi, dsb) dalam siklus hidup pengembangan perangkat lunak. 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.

Referensi :

Alasan Menggunakan Software Open Source (+Kelebihan dan Kekurangannya)

 

Open Source adalah sebuah sistem baru dalam mendistribusikan perangkat lunak kepada pengguna dengan memberikan program dan source code nya secara gratis. Bahkan pengguna dapat mempelajari dan melakukan modifikasi untuk membuat software tersebut sesuai dengan kebutuhan mereka.

Isu-isu keamanan yang dihadapi sistem open source, mencakup beberapa filosofi keamanan umum dan bagaimana membuat lebih aman sistem tersebut dari para penyusup. Beberapa pengguna komputer yang merupakan anggota dari komunitas pengguna Open Source Software (OSS) dan free software berpendapat bahwa kode program mereka lebih aman karena kelemahan kode program mereka lebih mudah ditemukan dan diperbaiki oleh pemakai program tersebut. Sementara itu, komunitas hak-hak kepemilikan berpendapat bahwa pembukaan akses ke kode program pada OSS akan memudahkan bagi beberapa kelompok tertentu untuk menyerang program tersebut.

Fitur-fitur utama dari karakteristik open source adalah kebebasan user untuk:

  1. Menggunakan software sesuai keinginannya.
  2. Memiliki software yang tersedia sesuai kebutuhan.
  3. Mendistribusikan software kepada user lainnya.

Kebebasan yang tak terbatas bagi tiap orang untuk mengakses kode program merupakan pedang bermata dua bagi software itu sendiri. Hal ini disebabkan karena kebebasan ini memberikan informasi tentang kelemahan software. Kemudian, yang terjadi adalah eksploitasi kelemahannya. Para hacker akan menggunakan kelemahan ini untuk melakukan hal-hal yang dapat merugikan pengguna software tersebut. Akibatnya akan lebih buruk jika software tersebut merupakan software yang vital bagi pengguna karena akan memungkinkan terjadinya penipuan, pencurian identitas, pencurian informasi, dan sebagainya.

Beberapa keuntungan dari software open source, yaitu:

  1. Adanya hak untuk mendistribusikan modifikasi dan perbaikan pada kode.
  2. Ketersediaan source code dan hak untuk memodifikasi.
  3. Tidak disandera vendor, open source menggunakan format data terbuka, sehingga data menjadi transparan dan bisa dengan bebas diproses di sistem komputer yang berbeda-beda, sambil tetap menjaga keamananya. Dengan demikian, konsumen tidak lagi terikat pada kemauan vendor untuk dapat menggunakan data-datanya.
  4. Banyaknya tenaga (SDM) untuk mengerjakan proyek, proyek open source biasanya menarik banyak developer, misalnya pengembangan web server Apache menarik ribuan orang untuk ikut mengembangkan dan memantau.
  5. Kesalahan (bugs, error) lebih cepat ditemukan dan diperbaiki, hal ini dikarenakan jumlah developer-nya sangat banyak dan tidak dibatasi. Visual inspection (eye-balling) merupakan salah satu metodologi pencarian bugs yang paling efektif. Selain itu, source code yang tersedia membuat setiap orang dapat mengusulkan perbaikan tanpa harus menunggu dari vendor.
  6. Kualitas produk lebih terjamin, hal ini dikarenakan evaluasi dapat dilakukan oleh banyak orang sehingga kualitas produk dapat lebih baik. Namun, hal ini hanya berlaku untuk produk open source yang ramai dikembangkan orang. Tidak selamanya open source dikembangkan oleh banyak orang, karena bisa juga dilakukan oleh individual.
  7. Hemat biaya, sebagian besar developer ini tidak dibayar. Dengan demikian, biaya dapat dihemat dan digunakan untuk pengeluaran yang tidak dapat ditunda, misal membeli server untuk hosting web.
  8. Tidak mengulangi development, pengulangan (re-inventing the wheel) merupakan pemborosan. Adanya source code yang terbuka membuka jalan bagi seorang programmer untuk melihat solusi-solusi yang pernah dikerjakan oleh orang lain. Namun, pada kenyataannya tetap banyak pengulangan.
  9. User dapat memodifikasi dan mengunci agar hanya kalangan terbatas yang dapat membaca kode dan memodifikasinya.
  10. Mencegah software privacy yang melanggar hukum.

Beberapa kerugiannya adalah :

  1. Kurangnya SDM yang dapat memanfaatkan open source, ketersediaan source code yang diberikan dapat menjadi sia-sia, jika SDM yang ada tidak dapat menggunakannya. SDM yang ada ternyata hanya mampu menggunakan produk saja, Jika demikian, maka tidak ada bedanya produk open source dan yang propriertary dan tertutup.
  2. Tidak adanya proteksi terhadap HaKI, kebanyakan orang masih menganggap bahwa open source merupakan aset yang harus dijaga kerahasiannya. Hal ini dikaitkan dengan besarnya usaha yang sudah dikeluarkan untuk membuat produk tersebut. Karena sifatnya dapat di-abuse oleh orang-orang untuk mencuri ide dan karya orang lain.
  3. Kesulitan dalam mengetahui status project.
  4. Tidak ada garansi dari pengembangan.
  5. Limitasi modifikasi oleh orang – orang tertentu yang membuat atau memodifikasi sebelumnya.
  6. Untuk beberapa platform, contohnya JAVA yang memiliki prinsip satu tulis dan bisa dijalankan dimana saja, akan tetapi ada beberapa hal dari JAVA yang tidak competible dengan platform lainnya. Contohnya J2SE yang SWT – AWT bridge-nya belum bisa dijalankan di platform Mac OS.
  7. Open Source digunakan secara sharing, dapat menimbulkan resiko kurangnya diferensiasi antara satu software dengan yang lain, apabila kebetulan menggunakan beberapa open Source yang sama.

Referensi :

Cyber Crime

Cyber crime atau kejahatan dunia maya adalah istilah yang mengacu kepada aktivitas kejahatan dengan komputer atau jaringan komputer yang menjadi alat, sasaran atau tempat terjadinya kejahatan. Istilah ini juga digunakan untuk kegiatan kejahatan tradisional di mana komputer atau jaringan komputer digunakan untuk mempermudah atau memungkinkan kejahatan itu terjadi. Yang termasuk ke dalam kejahatan dunia maya antara lain penipuan lelang secara online, pemalsuan cek, penipuan kartu kredit, confidence fraud, penipuan identitas, pornografi anak, dll.

Perkembangan internet yang semakin hari semakin meningkat baik teknologi dan penggunaannya, membawa banyak dampak baik positif maupun negatif. Dampak positifnya yakni banyak manfaat dan kemudahan yang didapat dari teknologi ini, misalnya sekarang kita dapat melakukan transaksi perbankan kapan saja dengan e-banking. E-commerce juga membuat kita mudah melakukan pembelian maupun penjualan suatu barang tanpa mengenal tempat. Mencari referensi atau informasi mengenai ilmu pengetahuan juga bukan hal yang sulit dengan adanya e-library dan banyak lagi kemudahan yang didapatkan dengan perkembangan Internet.
Dampak negatif juga muncul seiring perkembangan teknologi internet, bahkan jumlahnya tidak kalah banyak dengan manfaat yang ada. Internet membuat kejahatan yang semula bersifat konvensional seperti pengancaman, pencurian dan penipuan kini dapat dilakukan dengan menggunakan media komputer secara online dengan risiko tertangkap yang sangat kecil oleh individu maupun kelompok dengan akibat kerugian yang lebih besar baik untuk masyarakat maupun negara disamping menimbulkan kejahatan-kejahatan baru. Seperti seorang hacker dapat masuk ke dalam suatu sistem jaringan perbankan untuk mencuri informasi nasabah yang terdapat di dalam server mengenai database rekening bank tersebut, karena dengan adanya e-banking jaringan tersebut dapat dikatakan terbuka serta dapat diakses oleh siapa saja. Kalaupun pencurian data yang dilakukan sering tidak dapat dibuktikan secara kasat mata karena tidak ada data yang hilang tetapi dapat diketahui telah diakses secara ilegal dari sistem yang dijalankan. Continue reading

Berbagai Profesi di Bidang IT

Sekarang ini dunia teknologi informasi sudah sangat berkembang dan banyak peminatnya, sehingga banyak orang yang bekerja di bidang ini. Profesi di IT sangatlah beragam yang terdiri dari :

  • System Analyst, Analyst Programmer
  •  ERP (enterprise resource planning) Consultant
  •  Systems Programmer/ Software Engineer, Web Designer, Systems Engineer
  •  Tester
  •  Database Administrator
  •  Helpdesk Analyst
  •  IT Executive,  IT Administrator
  •  Network Administrator,  Security Network Analyst,  Network Support Engineer
  •  Manager,  IT Manager,  Project Manager,  Account Manager,  Project Manager

Semua profesi ini secara umum dikelompokkan ke dalam 4 kelompok sesuai bidang pekerjaannya, yaitu:

1. Kelompok Pertama, adalah mereka yang bergelut di dunia perangkat lunak (software) baik mereka yang merancang sistem operasi, database maupun sistem aplikasi. Pada lingkungan kelompok ini terdapat pekerjaan-pekerjaan seperti misalnya :

  • System analyst : bertugas menganalisa sistem yang akan diimplementasikan, mulai dari menganalisa sistem yang ada, tentang kelebihan dan kekurangannya, sampai studi kelayakan dan desain sistem yang akan dikembangkan.
  • Systems Programmer/Software Engineer : bertugas mengimplementasikan rancangan sistem analis yaitu membuat program (baik aplikasi maupun sistem operasi) sesuai sistem yang dianalisa sebelumnya.
  • Web designer : orang yang melakukan kegiatan perecanaan, termasuk studi kelayakan, analisis dan desain terhadap suatu proyek pembuatan aplikasi berbasis web.
  • Web programmer : bertugas mengimplementasikan rancangan web designer yaitu membuat program berbasis web sesuai desain yang telah dirancang sebelumnya.

2. Kelompok Kedua, adalah mereka yang bergelut di perangkat keras (hardware). Pada lingkungan kelompok ini terdapat pekerjaanpekerjaan seperti :

  • Technical engineer (atau teknisi) :  orang yang berkecimpung dalam bidang teknik baik mengenai pemeliharaan maupun perbaikan perangkat sistem komputer.
  • Networking engineer : orang yang berkecimpung dalam bidang teknis jaringan komputer dari maintenance sampai pada troubleshooting-nya. Continue reading

Etika dan Profesionalisme TSI

Apa yang dimaksud dengan Etika dan Profesionalisme TSI?

Etika dan Profesionalisme TSI terdiri dari tiga kata, yakni etika, profesionalisme, dan TSI. Berikut ini akan dijelaskan definisi dari ketiga kata tersebut serta pengertian dari gabungan ketiganya.

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

Macam-macam 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). Sedangkan profesionalisme 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.

Mengapa Etika dan Profesionalisme TSI dibutuhkan?

Alasan mengapa seseorang harus memiliki etika dan profesionalisme adalah agar terhindar dari sikap atau perbuatan yang dapat melanggar norma-norma yang ada di lingkungan masyarakat. Manusia yang memiliki etika baik juga akan mendapat perlakuan yang baik dari orang lain. Etika dan Profesionalisme TSI perlu digunakan karena etika dalam perkembangannya sangat mempengaruhi kehidupan manusia. Etika memberi manusia orientasi bagaimana ia menjalani hidupnya 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.

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.

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

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