Laman

Sabtu, 16 Juni 2012

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.

II. KODE ETIK PROGRAMER

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.
   6. Persyaratan keterampilan 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.
    • Semua keterampilan tersebut harus senantiasa dilatih.
     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.

Senin, 26 Maret 2012

Bentuk Profesionalisme GURU

Orang yang profesional adalah orang yang mampu melaksanakan tugas jabatannya secara mumpuni, baik secara konseptual maupun aplikatif. Guru yang profesional adalah guru yang memiliki kemampuan mumpuni dalam melaksanakan tugas jabatan guru.

Bila ditinjau secara lebih dalam, terdapat beberapa karakteristik profesionalisme guru. Rebore (1991) mengemukakan enam bentuk profesionalisme / karakteristik profesionalisme guru, yaitu:

(1) Pemahaman dan penerimaan dalam melaksanakan tugas,
(2) kemauan melakukan kerja sama secara efektif dengan siswa, guru, orang tua siswa, dan masyarakat,
(3) kemampuan mengembangkan visi dan pertumbuhan jabatan secara terus menerus,
(4) mengutamakan pelayanan dalam tugas,
(5) mengarahkan, menekan dan menumbuhkan pola perilaku siswa, serta
(6) melaksanakan kode etik jabatan. Sementara itu, Glickman (1981) memberikan ciri profesionalisme guru dari dua sisi, yaitu kemampuan berpikir abstrak (abstraction) dan komitmen (commitment).

Guru yang profesional memiliki tingkat berpikir abstrak yang tinggi, yaitu mampu merumuskan konsep, menangkap, mengidentifikasi, dan memecahkan berbagai macam persoalan yang dihadapi dalam tugas, dan juga memiliki komitmen yang tinggi dalam melaksanakan tugas. Komitmen adalah kemauan kuat untuk melaksanakan tugas yang didasari dengan rasa penuh tanggung jawab.

Lebih lanjut, Welker (1992) mengemukakan bahwa profesionalisme guru dapat dicapai bila guru ahli (expert) dalam melakasnakan tugas, dan selalu mengembangkan diri (growth). Glatthorm (1990) mengemukakan bahwa dalam melihat profesionalisme guru, disamping kemampuan dalam melaksanakan tugas, juga perlu mempertimbangkan aspek komitmen dan tanggung jawab (responsibility), serta kemandirian (autonomy).

Membicarakan tentang profesionalisme guru, tentu tidak bisa dilepaskan dari kegiatan pengembangan profesi guru itu sendiri. Secara garis besarnya, kegiatan pengembangan profesi guru dapat dibagi ke dalam tiga bagian, yaitu:

(1) pengembangan intensif (intensive development),
(2) pengembangan kooperatif (cooperative development),
(3) pengembangan mandiri (self directed development) (Glatthorm, 1991).

1. Pengembangan intensif (intensive development) adalah bentuk pengembangan yang dilakukan pimpinan terhadap guru yang dilakukan secara intensif berdasarkan kebutuhan guru. Model ini biasanya dilakukan melalui langkah-langkah yang sistematis, mulai dari perencanaan, pelaksanaan, sampai dengan evaluasi dan pertemuan balikan atau refleksi. Teknik pengembangan yang digunakan antara lain melalui pelatihan, penataran, kursus, loka karya, dan sejenisnya.

2. Pengembangan kooperatif (cooperative development) adalah suatu bentuk pengembangan guru yang dilakukan melalui kerja sama dengan teman sejawat dalam suatu tim yang bekerja sama secara sistematis. Tujuannya adalah untuk meningkatkan kemampuan profesional guru melalui pemberian masukan, saran, nasehat, atau bantuan teman sejawat. Teknik pengembangan yang digunakan bisa melalui pertemuan KKG atau MGMP/MGBK. Teknik ini disebut juga dengan istilah peer supervision atau collaborative supervision.

3. Pengembangan mandiri (self directed development) adalah bentuk pengembangan yang dilakukan melalui pengembangan diri sendiri. Bentuk ini memberikan otonomi secara luas kepada guru. Guru berusaha untuk merencanakan kegiatan, melaksanakan kegiatan, dan menganalisis balikan untuk pengembangan diri sendiri. Teknik yang digunakan bisa melalui evaluasi diri (self evaluation) atau penelitian tindakan (action research).