Sabtu, 22 Januari 2011

Etika Profesi TI

Programmer

Programmer adalah orang yang membuat program, dengan membuat perintah-perintah yang dimengerti oleh mesin. Untuk menjadi seorang programmer ini, orang tersebut harus mengerti bahasa program yang digunakannya. Profesi seorang programmer dapat dikelompokkan menjadi beberapa bidang sebagai berikut :

a)    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 :
·           Menulis program (coding) dengan menggunakan pemograman 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.

b)   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

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

d)   Multimedia Programmer
Programmer multimedia yang menguasai penggunaan teknologi dan pengembangan aplikasi berbasis multimedia.

e)    Embedded Programmer
Programmer yang menguasai arsitektur sistem mikroprosesor, interfacing
dan pemrograman embedded.

Kode Etik Profesi IT

Kode etik profesi bidang teknologi informasi di Indonesia memang belum ada (yang tertulis). Namun, kita bisa menerapkan kode etik yang dibuat oleh IEEE (Institute of Electrical and Electronic Engineers). IEEE telah membuat semacam kode etik bagi anggotanya, sebagai berikut:

1. To accept responsibility in making decisions consistent with the safety, health and welfare of the public, and to disclose promptly factors that might endanger the public or the environment
Artinya setiap anggota bertanggung jawab dalam pengambilan keputusan konsisten dengan keselamatan, kesehatan dan kesejahteraan masyarakat, serta segera mengungkapkan faktor-faktor yang dapat membahayakan publik atau lingkungan.

2. To avoid real or perceived conflicts of interest whenever possible, and to disclose them to affected parties when they do exist
Intinya ialah sebisa mungkin menghindari terjadinya konflik kepentingan dan meluruskan mereka yang telah terpengaruh oleh konflik tersebut.

3. To be honest and realistic in stating claims or estimates based on available data
Masih ingat dengan Pemilu 2009 kemarin? Betapa lamanya KPU memproses hasil penghitungan suara. Pihak yang bertanggung jawab atas urusan TI KPU sebelumnya menyatakan bahwa sistem yang mereka buat sudah teruji reliabilitasnya dan rekapitulasi suara akan berjalan lancar. Nyatanya?

4. To reject bribery in all its forms
Sesuatu yang sangat langka di Indonesia, bukan hanya di bidang politiknya saja, di bidang teknologi informasinya pun bisa dikatakan sedikit yang bisa melakukannya

5. To improve the understanding of technology, its appropriate application, and potential consequences
Setiap saat meningkatkan pemahaman teknologi, aplikasi yang sesuai, dan potensi konsekuensi.

6. To maintain and improve our technical competence and to undertake technological tasks for others only if qualified by training or experience, or after full disclosure of pertinent limitations
Untuk mempertahankan dan meningkatkan kompetensi teknis dan teknologi untuk melakukan tugas-tugas bagi orang lain hanya jika memenuhi syarat melalui pelatihan atau pengalaman, atau setelah pengungkapan penuh keterbatasan bersangkutan.

7. To seek, accept, and offer honest criticism of technical work, to acknowledge and correct errors, and to credit properly the contributions of others
Untuk mencari, menerima, jujur dan menawarkan kritik dari teknis pekerjaan, mengakui dan memperbaiki kesalahan, dan memberikan kredit atas kontribusi orang lain.

8. To treat fairly all persons regardless of such factors as race, religion, gender, disability, age, or national origin
Memperlakukan dengan adil semua orang tanpa memperhitungkan faktor-faktor seperti ras, agama, jenis kelamin, cacat, usia, atau asal kebangsaan.

9. To avoid injuring others, their property, reputation, or employment by false or malicious action
Menghindari melukai orang lain, milik mereka, reputasi, atau pekerjaan dengan tindakan salah atau jahat.

10. To assist colleagues and co-workers in their professional development and to support them in following this code of ethics
Saling membantu antar rekan kerja dalam pengembangan profesi mereka dan mendukung mereka dalam mengikuti kode etik ini.

Pemrograman komputer juga 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:
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 meminta ijin.
5.        Tidak boleh mencari keuntungan tambahan dari proyek yang didanai oleh pihak kedua tanpa ijin.
6.        Tidak boleh mencuri software khususnya development tools.
7.        Tidak boleh menerima dana tambahan dari berbagai pihak eksternal dalam suatu proyek secara bersamaan kecuali mendapat ijin.
8.        Tidak boleh menulis kode yang dengan sengaja menjatuhkan kode programmer lain untuk mengambil keunutungan 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.

Pada umumnya, programmer harus mematuhi “Golden Rule” yaitu:  “Memperlakukan orang lain sebagaimana kamu ingin diperlakukan. Jika semua programmer mematuhi peraturan ini, maka tidak akan ada masalah dalam komunitas.”

Keterampilan yang Harus dimiliki Programmer

Membaca kode sumber sebuah program, dari yang sederhana hingga relative kompleks, adalah keterampilan yang harus dimiliki oleh seorang programmer. Istilah program di sini digunakan tidak hanya dalam pengertian aplikasi utuh, namun juga mencakup level segmen kode, fungsi/subrutin, pustaka atau modul yang digunakan oleh sebuah aplikasi utuh. Manfaat dari terbiasanya kita membaca program adalah semakin banyaknya sumber informasi yang dapat kita gunakan untuk memecahkan masalah.

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. Terlepas dari manfaat pedagogisnya, sayangnya keterampilan ini tidak banyak diajarkan namun baru terasa urgensinya saat kita disodori kewajiban memodifikasi program yang ditulis dan sebelumnya dikelola oleh orang lain. Dengan hanya berbekal kode sumber dan dokumentasinya (yang, patut disayangkan, tidak selalu komprehensif), dalam keadaan seperti ini seorang programmer harus mampu melanjutkan pengelolaan program tersebut tanpa menghancurkan organisasi kode yang telah ada atau menambah kompleksitas yang tidak perlu ada. Di sisi lain keadaan ini akan jarang ditemui oleh rata-rata programmer, karena lebih sering penulis asli dari program itulah yang harus melanjutkan pengelolaan, setelah memindahkan perhatian pada hal lain selama beberapa waktu.
Karenanya dapat disimpulkan bahwa secara umum, keterampilan yang harus dimiliki seorang programmer terkait dengan komprehensi kode sumber program, dengan derajat urgensi menurun(Hargo,2008), adalah:

§           Memahami kode sumber yang ditulis sendiri pada saat ia tidak lagi mengingat detail mekanisme dari program tersebut.
§           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.

Kewajiban Programmer

Buat para programmer, Coding adalah kewajiban. Sama halnya menghafal obat-obatan bagi dokter, maupun menghafal undang-undang bagi pengacara. Sebagian programmer menganggap dirinya spesial, karena tidak semua orang IT dapat menguasai salah satu (atau bahkan beberapa) bahasa pemrograman.

Seorang programmer memiliki kewajiban sebagai berikut :

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. Untuk programmer profesional, pemahaman ini akan membuat programmer lebih siap untuk membuat aplikasi server yang biasanya multithreaded dan harus efisien digunakan dalam waktu yang lama. Pemahaman mendalam di salah satu sistem operasi juga merupakan nilai tambah yang signifikan.
Dengan mengetahui struktur internal sistem operasi (misalnya Linux), programmer dapat mengetahui berbagai pertimbangan dalam merancang aplikasi besar yang terus berkembang.

2. Memahami konsep dasar jaringan.
Sebuah aplikasi tidak dapat berjalan sendiri. Aplikasi tersebut pasti harus berhubungan dengan internet, melayani banyak pengguna, atau berhubungan dengan perangkat lain seperti handphone atau PDA. Untuk itu, pemahaman atas konsep jaringan sangat penting.

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. Memahami protokol HTTP, FTP, POP3, SMTP, SSH.
Protokol HTTP sekarang adalah prokol yang paling banyak digunakan di internet.

5. Memahami Unicode.
Unicode itu penting supaya aplikasi kita tetap bisa diinstal di computer 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, bahwa ada cara berpikir yang berbeda dalam tiap bahasa, bahwa komunitas tiap bahasa berbeda budayanya. Semua ini akan berkontribusi dalam pendewasaan seorang programmer dalam berdiskusi dan menanggapi perbedaan (terutama pendapat).

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

Sikap Programmer Terhadap Klien

·      Mempunyai sikap & kepribadian baik, komunikatif, mudah beradaptasi dengan lingkungan kerja, cetakan dan fleksibel.
·      Mampu bekerja berorientasi jadwal, mengatur pekerjaan multiple project dan kerja sama dalam team.
·      Membuat kontrak kerja dengan klien.
       ·      Menyukai dan mengerti dasar-dasar pemrograman

Tidak ada komentar:

Posting Komentar