ETIKA PROFESI DI BIDANG PROGRAMER
I. LATAR BELAKANG
Saat ini teknologi informasi berkembang sangat pesat, hampir semua aktivitas yang dilakukan saat ini memanfaatkan teknologi. Misalnya aktivitas komunikasi, bisnis, pendidikan dansebagainya. Sehingga bukanlah suatu hal yang berlebihan jika dikatakan bahwa teknologi informasi merupakan alat sosial, karena kenyataannya bahwa teknologi informasi dipergunakan secara intensif pada berbagai komunitas masyarakat seperti institusi, organisasi, perusahaan, danlain sebagainya. Selain dibutuhkan moral yang baik, serta tanggung jawab yang besar serta sesuai dengan hukum yang berlaku, etika juga memiliki peranan yang amat penting.Sehingga dapat disimpulkan bahwa etika merupakan satu set kepercayaan, standar, atau pemikiran yang mengisi suatu individu, kelompok atau masyarakat. Sedangkan menurut kamus besar Bahasa Indonesia, etika adalah ilmu tentang apa yang baik dan yang buruk, tentang hak dan kewajiban moral. Kumpulan asas/nilai yang berkenaan dengan akhlak dan nilai mengenai yang benar dan yang salah yang dianut masyarakat. Menjadi seorang Programmer atau Jasa Pemrograman sistem harus ditunjang pengalaman yang cukup. Bukan hanya harus mengerti secara detail tentang bagaimana mendevelop suatu sistem, tetapi juga harus bisa menjiwai sistem tersebut.
Berikut ini adalah beberapa kode etik yang disadur berdasarkan kode etik yang kini digunakan oleh perkumpulan programmer internasional yang berlaku saat ini :
1. Seorang programmer tidak boleh membuat atau mendistribusikan Malware.
2. Seorang programmer tidak boleh menulis kode yang sulit diikuti dengan sengaja.
3. Seorang programmer tidak boleh menulis dokumentasi yang dengan sengaja untuk membingungkan atau tidak akurat.
4. Seorang programmer tidak boleh menggunakan ulang kode dengan hak cipta kecuali telah membeli atau telah meminta izin.
5. Tidak boleh mencari keuntungan tambahan dari proyek yang didanai oleh pihak kedua tanpa izin.
6. Etika profesi yang berlaku bagi programmer di indonesia. Tidak boleh mencuri software khususnya development tools.
7. Tidak boleh menerima dana tambahan dari berbagai pihak eksternal dalam suatu proyek secara bersamaan kecuali mendapatkan izin.
8. Tidak boleh menulis kode yang dengan sengaja menjatuhkan kode programmer lain untuk mengambil keuntungan dalam menaikkan status.
9. Tidak boleh membeberkan data-data penting karyawan dalam perusahaan.
10. Tidak boleh memberitahu masalah keuangan pada pekerja dalam pengembangan suatu proyek.
11. Tidak pernah mengambil keuntungan dari pekerjaan orang lain.
12. Tidak boleh mempermalukan profesinya.
13. Tidak boleh secara asal-asalan menyangkal adanya bug dalam aplikasi.
14. Tidak boleh mengenalkan bug yang ada di dalam software yang nantinya programmer akan mendapatkan keuntungan dalam membetulkan bug.
15. Terus mengikuti pada perkembangan ilmu komputer.
III. FAKTOR YANG MEMPENGARUHI PRODUK DAN PRODUKTIVITAS PROGRAMER
1. Komunikasi team :
Meningkatnya ukuran produk yang dihasilkan akan menurunkan produktivitas programmer akibat meningkatnya kerumitan antara komponen-komponen program dan akibat meningkatnyakomunikasi yang perlu dilakukan antara programmer, manajer,dan pelanggan.
2. Kerumitan produk
Tiga level kerumitan produk : program aplikasi, program utility, program level sistem.
3.Kendali perubahan
perubahan terhadap produk harus tetap meminta persetujuan manajer sebagai penanggung jawab proyek. Dampak perubahan harus dapat ditelusuri, diuji, dan didokumentasikan.
4.Tingkat keandalan
Setiap produk harus mempunyai keandalan standar. Peningkatan keandalan dihasilkan melalui perhatian yang sangat besar pada tahap analisa. Peningkatan keandalan akan menurunkan produktivitas.
5.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 mendapatkan informasi kebutuhan pelanggan karena pelanggan bukan seorang end user.
Berbagai keterampilan harus ada dalam sebuah proyek perangkat lunak,misalnya:
- Keterampilan berkomunikasi dengan pelanggan untuk memastikan keinginannya dengansejelas-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.
7. 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.
8.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.
IV. KETERAMPILAN YANG HARUS DIMILIKI SEORANG PROGRAMER
Beberapa Keterampilan yang harus dimiliki oleh seorang programmer, antara lain :
1. Memahami kode sumber sebuah program, dari yang sederhana hingga relatif kompleks, adalah keterampilan yang harus dimiliki oleh seorang programmer.
2. 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.
3. Melanjutkan pengelolaan, menyesuaikan, mengembangkan dan (bila perlu) merombaknya untuk menyesuaikan program dengan kebutuhan pengguna tanpa mengorbankan kemudahan perawatan di masa mendatang.
4. Memiliki kemampuan sebagaimana dijelaskan dalam point 1. dan 2. untuk program yang ditulis dan didokumentasikan oleh programmer lain.
5. Membaca program untuk memperkaya perkakas yang dimiliki seorang
V. KEWAJIBAN PROGRAMER
1. 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
2. Memahami konsep dasar jaringan. Sebuah aplikasi tidak dapat berjalan sendiri. Aplikasi tersebut pasti harus berhubungan dengan internet, melayani banyak pengguna
3. Memahami konsep dasar relational database. Setiap aplikasi pasti memiliki sebuah database dalam penyimpanan datanya untuk itu programmer khususnya Database Programmer ditekankan menguasai relational database.
4. Karena sekarang jaman internet, maka wajib memahami protokol HTTP, FTP, POP3, SMTP,SSH. Protokol HTTP sekarang adalah protokol yang paling banyak digunakan di internet.
5. Karena sekarang jaman globalisasi, maka wajib memahami Unicode. Unicode itu pentingsupaya aplikasi kita tetap bisa diinstal di komputer mana saja.
6. 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
7. Cara menggunakan Version Control. Dalam dunia kerja, penggunaan version control adalahwajib. Ini standar (de facto) internasional. Jika mempunyai project opensource, baik diSourceforge, Apache, Codehaus, dan semua hosting project opensource, pasti programmer akandiberikan version control.
VI. SIKAP PROGRAMMER TERHADAP KLIEN
1. Mempunyai sikap & kepribadian baik, komunikatif, mudah beradaptasi dengan lingkungan kerja, cekatan & fleksibel.
2. Mampu bekerja berorientasi jadwal, mengatur pekerjaan multiple project dan bekerja sama dalam team.
3. Membuat kontrak kerja dengan klien.
4. Menyukai dan mengerti dasar-dasar pemrograman.
0 komentar:
Posting Komentar