Suatu kode etik menggambarkan nilai-nilai profesional suatu
profesi yang diterjemahkan ke dalam standart perilaku anggotanya.
Nilai professional paling utama adalah keinginan untuk
memberikan pengabdian kepada masyarakat. Kode etik dijadikan standart
aktivitas anggota profesi, kode etik tersebut sekaligus sebagai pedoman
(guidelines)
Kode Etik dapat diartikan pola aturan, tata cara, tanda cara, tanda
pedoman etis dalam melakukan suatu kegiatan atau pekerjaan. Kode etik
merupakan pola aturan atau tata cara sebagai pedoman berperilaku. Dalam
kaitannya dengan profesi, bahwa kode etik merupakan tata cara
aturan yang menjadi standart kegiatan anggota suatu profesi.
Kata etika sendiri berasar dari bahasa Yunani yaitu Ethos yang berarti adat istiadat atau
kebiasaan.Oteng
/ Sutisna (1986 : 364) mendefinisikan bahwa kode etik sebagai pedoman
yang memaksa perilaku etis anggota profesi. Bahwasannya setiap
orang harus menjalankan serta menjiwai akan pola ketentuan
aturan, karenapada dasarnya suatau tindakan yang tidak
menggunakan kode etik akan berhadapan dengan sanksi.
Salah satu profesi dibidang IT adalah Programmer, seorang programmer
harus memiliki pengalaman yang cukup dan benar-benar mengusai ilmu
dibidangnya, selain itu seorang programmer juga harus mematuhi
kode etik yang berlaku. Maka dari itu kode etik programmer perlu
dipelajari, dimengerti dan dijalankan.
Pengertian Programmer Komputer
Programmer Komputer adalah profesi yang bertugas untuk membuat
sebuah program melalui bantuan bahasa pemrograman yang dapat
digunakan untuk menyelesaikan permasalahan melalui otomasi dengan
bantuan perangkat lunak atau software. Tugas inti dari seorang
programmer sama seperti tugas sebuah program itu sendiri. Sebuah program
itu didesain dan dikembangkan agar mampu membatu manusia sebagi
pengguna (user) dalam mengatasi kegiatan kesehariannya. Jadi, tugas
seorang programmer komputer adalah menolong manusia menyelesaikan
kegiatan sehari-harinya dengan bantuan komputer. Dari hal tersebut,
terlihat jelas bahwa seorang programmer komputer merupakan orang
yang sangat berjasa kepada masyarakat, seperti halnya dokter,
perawat, akuntan dan lainnya.
Perkembangan Dunia Programmer
Seorang programer tentu lebih mengutamakan dari sisi
programingnya. Bagaimana kecepatan prosesnya, bagaimana keamanan
scriptnya, bagaimana dapat berjalan dengan baik di berbagai platform,
bagaimana mempermudah untuk mengembangkan script tersebut nantinya,
bagaimana agar mudah untuk dibuatkan design (template) nya. Hal-hal
tersebut akan menjadi pertimbangan-pertimbangan seorang programer dalam
bekerja.
Programer akan benar-benar diperlukan jika program yang
dibuat bersifat uniq dan tidak ada atau belum ada opensourcenya. Atau
jika sudah ada opensourcenya perlu meng-customize software tsb untuk
disesuaikan dengan kebutuhan.
Kode Etik Programmer
Pemrograman komputer membutuhkan sebuah kode etik, dan kebanyakan
dari kode-kode etik ini disadur berdasarkan kode etik yang kini
digunakan oleh perkumpulan programmer internasional.
Kode etik seorang programmer adalah sebagai berikut :
- Seorang programmer tidak boleh membuat atau mendistribusikan Malware.
- Seorang programmer tidak boleh menulis kode yang sulit diikuti dengansengaja.
- Seorang programmer tidak boleh menulis dokumentasi yang dengan sengaja untuk membingungkan atau tidak akurat.
- Seorang programmer tidak boleh menggunakan ulang kode dengan hak cipta kecuali telah membeli atau telah meminta izin.
- Tidak boleh mencari keuntungan tambahan dari proyek yang didanai oleh pihak kedua tanpa izin.
- Tidak boleh mencuri software khususnya development tools.
- Tidak boleh menerima dana tambahan dari berbagai pihak eksternal dalam suatu proyek secara bersamaan kecuali mendapatkan izin.
- Tidak boleh menulis kode yang dengan sengaja menjatuhkan kode programmer lain untuk mengambil keuntungan dalam menaikkan status
- Tidak boleh membeberkan data-data penting karyawan dalam perusahaan.
- Tidak boleh memberitahu masalah keuangan pada pekerja dalam pengembangan suatu proyek.
- Tidak pernah mengambil keuntungan dari pekerjaan orang lain.
- Tidak boleh mempermalukan profesinya.
- Tidak boleh secara asal-asalan menyangkal adanya bug dalam aplikasi.
- Tidak boleh mengenalkan bug yang ada di dalam software yang nantinya
programmer akan mendapatkan keuntungan dalam membetulkan bug.
- Terus mengikuti pada perkembangan ilmu komputer.
Pada umumnya, programmer harus mematuhi “Golden Rule”:
Memperlakukan orang lain sebagaimana kamu ingin diperlakukan. Jika
semua programmer mematuhi peraturan ini, maka tidak akan ada masalah
dalam komunitas.
Persiapan Menjadi Programmer
Menguasai dasar teknologi informasi, harus mengetahui apa dan
bagaimana sistem komputer, apakah program dan apa manfaat dibuatnya
sebuah program tersebut. Harus memperlajari bagaimana menggunakan
internet karena internet sangat penting sebagai salah satu wahana
mencari informasi ketika belajar pemrograman, selain buku referensi
tentunya.
- Kemampuan yang diperlukan, tidak perlu mahir dalam pemrograman,
namun harus memiliki semangat dan obsesi yang tinggi dalam belajar dan
menekuni profesi programmer komputer, sehingga semua kesulitan belajar
tidak akan menjadi penghalang yang berarti. Tidak akan mudah putus asa,
tidak mudah stres dan tidak mudah berhenti belajar pemrograman ditengah
jalan apabila mengalami sesuatu yang tidak mengenakkan.
- Sertifikasi programmer, sertifikasi memiliki beberapa manfaat
diantaranya membantu melihat kompetensi dari seorang programmer dan
dapat dijadikan sarana pengujian diri untuk mengetahui sejauh mana
kemampuan dan kompetensi yang dimiliki.
Kewajiban Programmer
- Memahami konsep dasar sistem operasi. Kebanyakan dari programmer
Indonesia biasanya membuat aplikasi di atas sistem operasi, sehingga
banyak yang berpendapat bahwa tidak perlu memahami cara kerja sistem
operasi.
- Memahami konsep dasar jaringan. Sebuah aplikasi tidak dapat berjalan
sendiri. Aplikasi tersebut pasti harus berhubungan dengan internet,
melayani banyak pengguna
- Memahami konsep dasar relational database. Setiap aplikasi pasti
memiliki sebuah database dalam penyimpanan datanya untuk itu programmer
khususnya Database Programmer ditekankan menguasai relational database.
- Karena sekarang jaman internet, maka wajib memahami protokol HTTP,
FTP, POP3, SMTP, SSH. Protokol HTTP sekarang adalah protokol yang paling
banyak digunakan di internet.
- Karena sekarang jaman globalisasi, maka wajib memahami Unicode.
Unicode itu penting supaya aplikasi kita tetap bisa diinstal di komputer
mana saja.
- Lebih dari satu bahasa pemrograman. Pemahaman lebih dari satu bahasa
itu penting agar wawasan programmer lebih terbuka. Bahwa tidak ada
bahasa yang one-fit-all.
- Cara menggunakan Version Control. Dalam dunia kerja, penggunaan
version control adalah wajib. Ini standar (de facto) internasional. Jika
mempunyai project opensource, baik di Sourceforge, Apache, Codehaus,
dan semua hosting project opensource, pasti programmer akan diberikan
version control.
Ketrampilan yang Dimiliki Seorang Programmer
- Memahami kode sumber sebuah program, dari yang sederhana hingga
relatif kompleks, adalah keterampilan yang harus dimiliki oleh seorang
programmer.
- Implementasi sebuah algoritma yang memodifikasi sebentuk struktur
data dalam sebuah program dapat kita adaptasikan ke dalam program yang
kita buat sendiri dengan konteks dan struktur data yang sama sekali
berbeda
- Melanjutkan pengelolaan, menyesuaikan, mengembangkan dan (bila
perlu) merombaknya untuk menyesuaikan program dengan kebutuhan pengguna
tanpa mengorbankan kemudahan perawatan di masa mendatang.
- Memiliki kemampuan sebagaimana dijelaskan dalam point 1. dan 2.
untuk program yang ditulis dan didokumentasikan oleh programmer lain.
- Membaca program untuk memperkaya perkakas yang dimiliki seorang programmer untuk memecahkan masalah.
Kelompok Bidang Programmer
Profesi seorang programmer dapat dikelompokkan menjadi beberapa bidang sebagai berikut:
- Programmer
Programmer adalah individu yang bertugas dalam hal rincian
implementasi, pengemasan, dan modifikasi algoritma serta struktur data,
dituliskan dalam sebuah bahasa pemrograman tertentu. Deskripsi Pekerjaan
antara lain :
- Menulis program (coding) dengan menggunakan pemrograman tertentu (VB, VB.NET, Java).
- Memahami konsep basis data.
- Mampu mengoperasikan aplikasi basis data.
- Melakukan pengujian terhadap aplikasi program.
- Melakukan analisis terhadap aplikasi program.
- Melakukan riset , desain, dokumentasi dan modifikasi aplikasi software.
- Melakukan analisis dan memperbaiki kerusakan (error ) pada software dengan tepat dan cara yang akurat.
- Menyediakan status laporan aplikasi yang diperlukan.
- Database Programmer
Programmer yang menguasai perancangan dan pemrograman database
menggunakan Aplikasi Ms. Access dan Ms. Sql Server ATAU PL/SQL dan
Oracle Form Developer 10g.
- Web Programmer
Programmer web yang menguasai pengembangan aplikasi web berbasis HTML dan
ASP.Net ATAU aplikasi web berbasis HTML dan J2EE serta Struts Framework
ATAU aplikasi web berbasis MySQL dan PHP.
- Multimedia Programmer
Programmer multimedia yang menguasai penggunaan teknologi dan pengembangan aplikasi berbasis multimedia
- Embedded Programmer
Programmer yang menguasai arsitektur sistem mikroprosesor, interfacing dan pemrograman embedded.
Faktor yang Mempengaruhi Kualitas Produk dan Produktitas Programmer
- Komunikasi team
Meningkatnya ukuran produk yang dihasilkan akan menurunkan
produktivitas programmer akibat meningkatnya kerumitan antara
komponen-komponen program dan akibat meningkatnya komunikasi yang perlu
dilakukan antara programmer, manajer,dan pelanggan.
- Kerumitan produk
Tiga level kerumitan produk : program aplikasi, program utility, program level sistem.
- Notasi yang tepat
Bahasa pemrograman menetapkan notasi (baca : token, reserve word)
baku, terutama untuk hal-hal yang berkaitan dengan matematika. penetapan
notasi antar programer (baca : perancang produk) harus dilakukan
sehingga dapat dimengerti dengan jelas.
- Kendali perubahan
Perubahan terhadap produk harus tetap meminta persetujuan manajer
sebagai penanggung jawab proyek. Dampak perubahan harus dapat
ditelusuri, diuji, dan didokumentasikan.
- Tingkat teknologi
Peran penggunaan teknologi dalam proyek perangkat lunak misalnya
menyangkut bahasa pemrograman, lingkungan mesin yang digunakan, teknik
pemrograman, dan penggunaan tools tertentu. Bahasa pemrograman modern
menyediakan fasilitas penyesuaian pendefinisisan dan penggunaan data,
konstruksi aliran kendali, fasilitas modular, dan concurent programming
- Pendekatan sistematis
Sistem menetapkan teknik dan prosedur baku. pembakuan dalam pengembangan dan pemeliharaan perangkat lunak masih belum mantap.
- Tingkat keandalan
Setiap produk harus mempunyai keandalan standar. Peningkatan
keandalan dihasilkan melalui perhatian yang sangat besar pada tahap
analisa. Peningkatan keandalan akan menurunkan produktivitas.
- Pemahaman permasalahan
Pelanggan adalah penyumbang utama terhadap kegagalan dalam memahami masalah adalah
- Tidak memahami permasalahan perusahaannya.
- Tidak mengerti kemampuan dan keterbatasan komputer.
- Tidak mempunyai pengetahuan dasar tentang logika dan algoritma.
- Software engineer tidak memahami lapangan aplikasi, gagal
mendapatkaninformasi kebutuhan pelanggan karena pelanggan bukan seorang
end user.
- Persyaratan keterampilan
Berbagai keterampilan harus ada dalam sebuah proyek perangkat lunak, misalnya:
- Keterampilan berkomunikasi dengan pelanggan untuk memastikan keinginannya dengan sejelas-jelasnya.
- Kemampuan dalam pendefinisian masalah dan perancangan.
- Kemampuan implementasi dengan penulisan program yang benar.
- Kemampuan debugging secara deduktif dengan kerangka “what if ”.
Dokumentasi.
- Kemampuan bekerja dengan pelanggan.
- Semua keterampilan tersebut harus senantiasa dilatih.
- Fasilitas dan sumber daya
Fasilitas non teknis yang tetap perlu diperhatikan yang berkaitan
dengan motivasi programmer misalnya : mesin yang baik, serta tempat yang
tenang, atau ruang kerjanya dapat ditata secara pribadi.
- Pelatihan yang cukup
Banyak programmer yang dilati dalam bidang-bidang : ilmu komputer,
teknik elektro, akuntansi, matematika, tetapi jarang yang mendapat
pelatihan dalam bidang teknik perangkat lunak.
- Ketersediaan waktu
Berbagai keterampilan harus ada dalam sebuah proyek perangkat lunak, misalnya :
- Keterampilan berkomunikasi dengan pelanggan untuk memastikan keinginannya dengan sejelas-jelasnya
- Kemampuan dalam pendefinisian masalah dan perancangan
- Kemampuan. implementasi dengan penulisan program yang benar.
- Kemampuan debugging secara deduktif dengan kerangka “what if ”.
- Dokumentasi.
- Kemampuan bekerja dengan pelanggan.
- Semua keterampilan tersebut harus senantiasa dilatih.
- Kemampuan manajemen
Seringkali manajer proyek tidak mempunyai, atau hanya sedikit
mengetahui, latar belakang teknik perangkat lunak. Di sisi lain terjadi
promosi jabatan menjadi manajer dimana yang berpromosi tidak atau kurang
mempunyai kemampuan manajemen. Sasaran yang tepat Sasaran utama dari
teknik perangkat lunak adalah pengembangan produk-produk perangkat lunak
yang tepat untuk digunakan.
Sikap Programmer Terhadap Klien
- Mempunyai sikap & kepribadian baik, komunikatif, mudah beradaptasi dengan lingkungan kerja, cekatan & fleksibel.
- Mampu bekerja berorientasi jadwal, mengatur pekerjaan multiple project dan bekerja sama dalam team.
- Membuat kontrak kerja dengan klien.
- Menyukai dan mengerti dasar-dasar pemrograman.
Jenis – jenis Pelanggaran Pemograman
Kode etik pemrograman merupakan pengaturan diri profesi
yang bersangkutan dan ini perwujudan moral yang hakiki, yang tidak dapat
dipaksakan dari luar. Kode etik pemrograman hanya berampilrlaku efektif
apabila dijiwai oleh cita-cita dan nilai-nilai yang hidup dalam
lingkungan profesi itu sendiri. Kode etik merupakan kriteria prinsip
profesionalisme yang lebih digariskan, sehingga diketahui dengan pasti
kewajiban profesionalisme lama, baru ataupun calon anggota kelompok
profesi. Dalam bab makalah ini yang akan dijabarkan lebih banyak adalah
mengenai kode etik pemrograman. Semakin berkembangnya teknologi, semua
aplikasi akan berbasis Internet Protokol (IP). Berbagai cara digunakan
untuk melewatkan layanan melalui jaringan IP. Jaringan IP sendiri adalah
merupakan jaringan komunikasi data yang berbasis packet-switch. Salah
satu layanan yang bisa dilewatkan melalui jaringan IP adalah layanan
voice atau biasa disebut Voice over
Internet Protocol (VoIP).
VoIP adalah teknologi yang mampu melewatkan trafik suara yang berbentuk
paket melalui jaringan IP. Komunikasi real time seperti voice merupakan
layanan yang sangat rentan terhadap delay sedangkan jaringan akses yang
sudah ada memberikan delay yang cukup besar untuk layanan ini. Salah
satu alternatif jaringan yang dapat digunakan adalah jaringan dengan
teknologi WiMAX (Worldwide Interoperability for Microwave Access)
Teknologi ini mampu memberikan layanan data berkecepatan hingga 70 Mbps
dalam radius hingga 50 km. Radius yang cukup untuk menjadikan WiMAX
sebagai jaringan telekomunikasi broadband. Dengan teknologi WiMAX,
impian akan layanan informasi data yang murah dengan kecepatan tinggi
akan segera terwujud
Pelanggaran kode etik pemrograman
Faktor utama meningkatnya Pelanggaran Kode Etik Pemrograman adalah
makin merebaknya penggunaan internet. Jaringan luas komputer tanpa
disadari para pemiliknya disewakan kepada spammer (penyebar e-mail
komersial), fraudster (pencipta situs tipuan), penyabot digital.
Terminal-terminal jaringan telah terinfeksi virus komputer, yang
mengubah komputer menjadi “zombie”.
- Kualifikasi programmer
- Selalu gembira, dengan membiasakan bergembira akan mampu
mengoptimalkan hasil kerja. Orang yang gembira cenderung memiliki etos
kerja daripada orang yang selalu murung atau tidak bergembira.
- Lurus hati dan berdisiplin, akan menyebabkan memiliki perasaan yang
nyaman, selalu menyejukkan suasana dan menjadikan pergaulan lebih sehat.
Bersikaplah sesuai dengan peraturan walaupun lingkungan terbiasa
melanggar peraturan. Selalu disiplin dan menepati komitmen yang telah
dibuat, sehingga akan selalu diandalkan oleh rekan – rekan kerja.
- Bijaksana, cerdik dalam mengamati situasi dan mampu mengambil keputusan dengan cepat
- Sopan santun, agar selalu disenangi dan dihargai oleh orang lain.
- Mudah bergaul, agar dapat memperluas jaringan yang memungkinkan
untuk mengembangkan kemampuan yang dimiliki serta mendapatkan peluang
bisnis.
- Penuh inisiatif, selalu mencari peluang yang ada.
- Tidak mudah putus asa dan pantang menyerah, kegagalan justru menjadi pemicu anda untuk berusaha lebih baik lagi.
- Ketajaman daya ingat, untuk mempermudah dalam pembuatan program karena banyak sintaks yang harus diingat.
- Penuh perhatian terhadap segala hal yang menjadi tanggung jawab anda.
- Percaya diri, agar tidak mudah terpengaruh dengan pemikiran orang lain.
- Selalu ingin tahu, agar selalu berfikir dan terus menerus memperbaiki diri.
- Bertanggung jawab, harus berani mempertanggungjawabkan segala hal yang telah dibuat.
- Instalasi software dan hardware, bisa melakukan instalasi karena instalasi merupakan tahap awal untuk melakukan deployment program.
- Keamanan manajemen dan keamanan sistem, bisa menjamin keamanan program agar tidak disusupi oleh orang lain.
- Backup dan recovery data, bisa menyimpan atau mengkonfigurasi program sehingga suatu saat dapat di-restore/recovery.
- Troubleshooting, bisa memastikan tools yang digunakan untuk
menjalankan program telah berjalan sebagaimana mestinya, serta
mengintegrasikannya dengan berbagai komponen.
- Kemampuan komunikasi, bisa mengkomunikasikan kemampuan program yang
dibuat baik kepada sesama tim maupun kepada orang yang membutuhkan
program tersebut.
- Kemampuan bahasa pemrograman tertentu, tidak harus menguasai semua
jenis bahasa pemrograman, namun harus pandai mencari bahasa pemrograman
untuk membangun aplikasi yang banyak dibuthkan.
- Kemampuan programmer professional