Selasa, 28 Mei 2013

Pendahuluan

          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. Suatu kode etik menggambarkan nilai-nilai profesional suatu profesi yang diterjemahkan kedalam 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) 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, karena pada 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

          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.

Kelompok Bidang Programmer

Profesi seorang programmer dapat dikelompokkan menjadi beberapa bidang sebagai berikut :
1. 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 :
    a) Menulis program (coding) dengan menggunakan pemograman tertentu ( VB, VB.NET, Java ).
    b) Memahami konsep basis data.
    c) Mampu mengoperasikan aplikasi basis data.
    d) Melakukan pengujian terhadap aplikasi program.
    e) Melakukan analisis terhadap aplikasi program.
    f) Melakukan riset , desain, dokumentasi dan modifikasi aplikasi software.
    g) Melakukan analisis dan memperbaiki kerusakan (error ) pada software dengan tepat dan cara
        yang akurat.
    h) Menyediakan status laporan aplikasi yang diperlukan.
2. 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.
3. 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.
4. Multimedia Programmer
    Programmer multimedia yang menguasai penggunaan teknologi dan pengembangan
    aplikasi berbasis multimedia
5. Embedded Programmer
    Programmer yang menguasai arsitektur sistem mikroprosesor, interfacing dan pemrograman
    embedded

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 :

1. Seorang programmer tidak boleh membuat atau mendistribusikan Malware.
2. Seorang programmer tidak boleh menulis kode yang sulit diikuti dengansengaja.
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. 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.

    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.

Faktor Yang Mempengaruhi Kualitas Produk dan Produktivitas Programmer

  1. 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.
  2. Kerumitan produk : Tiga level kerumitan produk : program aplikasi, program utility, program level sistem.
  3. 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.
  4. Kendali perubahan : Perubahan terhadap produk harus tetap meminta persetujuan manajer sebagai penanggung jawab proyek. Dampak perubahan harus dapat ditelusuri, diuji, dan didokumentasikan.
  5. 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
  6. Pendekatan sistematis : Sistem menetapkan teknik dan prosedur baku. pembakuan dalam pengembangan dan pemeliharaan perangkat lunak masih belum mantap.
  7. Tingkat keandalan : Setiap produk harus mempunyai keandalan standar. Peningkatan keandalan dihasilkan melalui perhatian yang sangat besar pada tahap analisa. Peningkatan keandalan akan menurunkan produktivitas.
  8. Pemahaman permasalahan : Pelanggan adalah penyumbang utama terhadap kegagalan dalam memahami masalah adalah : a. Tidak memahami permasalahan perusahaannya., b. Tidak mengerti kemampuan dan keterbatasan komputer. c. Tidak mempunyai pengetahuan dasar tentang logika dan algoritma. d. Software engineer tidak memahami lapangan aplikasi, gagal mendapatkan informasi kebutuhan pelanggan karena pelanggan bukan seorang end user.
  9. Persyaratan keterampilan : Berbagai keterampilan harus ada dalam sebuah proyek perangkat lunak, misalnya: Keterampilan berkomunikasi dengan pelanggan untuk memastikan keinginannya dengan sejelas-jelasnya. b. Kemampuan dalam pendefinisian masalah dan perancangan. c. Kemampuan implementasi dengan penulisan program yang benar. e. Kemampuan debugging secara deduktif dengan kerangka “what if ”. f. Dokumentasi. g. Kemampuan bekerja dengan pelanggan. h. Semua keterampilan tersebut harus senantiasa dilatih.
  10. 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.
  11. 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.
  12. Ketersediaan waktu : Berbagai keterampilan harus ada dalam sebuah proyek perangkat lunak, misalnya : a) Keterampilan berkomunikasi dengan pelanggan untuk memastikan keinginannya dengan sejelas-jelasnya b) Kemampuan dalam pendefinisian masalah dan perancangan. c) Kemampuan implementasi dengan penulisan program yang benar. d) Kemampuan debugging secara deduktif dengan kerangka “what if ”. e) Dokumentasi. f) Kemampuan bekerja dengan pelanggan. g) Semua keterampilan tersebut harus senantiasa dilatih.
  13. 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.

Keterampilan Yang Harus Dimiliki Seorang Programmer

  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 programmer untuk memecahkan masalah

Kewajiban Programmer

  1. Memahami konsep dasar sistem operasi. Kebanyakan dari programmer Indonesia biasanya membuataplikasi 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 penting supaya 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 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.