Selasa, 13 April 2010

ETIKA SOFTWARE ENGINEERING

By : ZAKIA

Etika Software engineering dapat digambarkan dengan tiga macam cara:

• Aktivitas Software engineering yang membuat pilihan praktis lain sehingga mempengaruhi orang lain secara signifikan.

• Sebuah kumpulan prinsip-prinsip pedoman atau etika yang harus dipatuhi atau tindakan sesuai aturan yang ada.

• Nama sebuah disiplin ilmu yang mempelajari hubungan antara dua hal yang berbeda dalam suatu etika.

Etika Software engineering dapat dijelaskan sebagai kegiatan-kegiatan dan hal yang prinsip dimana disiplin ilmu etika Software engineering mempelajari kegiatan ini dan memformalisasikannya meskipun baru pada tahap awal.

Etika Kegiatan Software Engineering
- Etika di sini adalah : apapun tindakan yang disengaja dan memberikan dampak negatif / positif dalam hidup dan nilai-nilai kehidupan orang lain.
- Fokus kegiatan software engineering terutama adalah pada hal teknis produk yang dikembangkan.
- Etika Software Engineering terjadi ketika keputusan dibuat oleh profesional komputasi sejak dari desain, pengembangan, pembanguan dan memaintain alat-alat terkomputerisasi yang berpengaruh terhadap orang lain.

Barry Boehm (1981) "… sebuah kesempatan memberikan dampat positif pada masyarakat adalah dengan menjadi sensitif pada implikasi hubungan manusia jangka panjang pada pekerjaan kita dan menggabungkannya ke dalam desain software and produk." (Boehm, 1981)

Prinsip Etika Software Engineering
1. Harus mempertimbangkan dampak dengan memperhatikan aspek teknis dan aspek nilai etikanya
2. Aspek nilai itu adalah kode etik profesi, kode etik tingkah laku dan kode etik penerapannya (Codes of Ethics, Codes of Conduct and Codes of Practice )
3. Tujuan kode-kode etik di atas adalah untuk memastikan kegiatan seorang profesional baik sebagai perorangan, tim, perusahaan / organisasi, menjadi lebih handal dan menjaga nilai-nilai kemanusiaan dan tidak memberikan dampak buruk

Disiplin Ilmu Etika Software Engineering
Etika yang dipelajari adalah bagaimana interaksi prinsip-prinsip etika dan teknologi untuk menguji dampak interaksi tersebut pada masyarakat, warga negara dan produk yang dihasilkan oleh software engineering atau dengan kata lain menggambarkan, menyaring dan mengekplorasi hubungan lebih lanjut antara prinsip-prinsip ini dan pengembangan teknis prakteknya

Pengembangan Etika Software Engineering

- Software engineering adalah profesi yang menyadari dampaknya terhadap masyarakat luas, maka sejak tahun 1990 banyak aturan yang dibuat tentang kode etik profesi ini.
- Contohnya aturan yang dibuat oleh the Association for Computing Machinery (ACM), the Australian Computer Society, the British Computer Society (BCS) , the IEEE Computer Society (IEEE-CS) , yang kemudian bergabung dengan the ACM and the New Zealand Computer Society.

Tujuan dibuatnya adalah (Gotterbarn b, 1996):
1. Mengadopsi defenisi standar
2. Mendefinisikan struktur ilmu pengetahuan dan rekomendasi praktek ( Contoh di electrical engineering, teori electromagnetik adalah bagian dari struktur ilmu pengetahuan sedangkan Peraturan Nasional Keamanan Kelistrikan adalah Rekomendasi praktek.)
3. Mendefenisikan standar-standar etika
4. Mendefenisikan Kurikulum pendidikan untuk mahasiwa, sarjana, dan pendidikan tingkat lanjut

Institute Riset Etika SE

- Tujuannya : pengakuan adanya pertanggungjawaban secara moral dan etika pada klien, masyarakat dan profesi itu sendiri dan hal tersebut dituangkan dalam bentuk kode etik

- Contoh : IEEE-CS Certification sebagai dasar kepatuhan profesional Software Engineering mengenai kode etiknya dan Praktek kerjanya

- Pada kenyataan masalah etika tidak selalu menjadi hal penting. Software engineering mengartikannya sebagai “Pembentukan dan penggunan prinsip-prinsip tersebut dalam menghasilkan software bernilai ekonomi yang yang dapat diandalkan dan bisa digunakan pada mesin yang nyata “(Bauer, 1972)

Software Engineering
(1) Aplikasi sistematis, disiplin ilmu, pendekatan yang bisa dihitung dalam pengembangannya, operasional, dan maintain software yang merupakan penerapan rekayasa software.

(2) Pendekatan nya adalah sebagai disiplin ilmu profesi dan dampak produknya. Deskripsi disiplin ilmu ini dimulai dari munculnya isu tentang etika dimana software engineering menjelaskannya sebagai suatu hal yang memerlukan pemahaman dan penerapan prinsip-prinsip teknik, keterampilan desain, praktek manajemen yang baik, ilmu komputer, dan matematika dasar.(BCS, 1989)",

Definisi The BCS’s lebih komplit daripada Bauer dimana didalamnya terdapat beberapa referensi tentang tanggung jawab profesi seorang software engineer dan telah dituangkan dalam the Software Engineering Code of Ethics and Professional Conduct (SECODE 1999)

SECODE 1999
- Menyatakan bahwa : Software engineers harus berkomitmen untuk membuat analisa, spesifikasi, desain, pengembangan, menguji dan memaintain software yang memiliki nilai keuntungan dan penghargaan terhadap profesi.

- Berhubungan dengan komitmen tersebut pada kesehatan, keamanan dan kesejahteraan publik harus mematuhi delapan prinsip yakni :
1. PUBLIK
2. KLIEN & PEMBERI KERJA
3. PRODUK
4. PENGAMBILAN KEPUTUSAN
5. MANAJEMEN
6. PROFESI
7. KOLEGA
8. DIRI SENDIRI

PRINSIP-PRINSIP SE
1. PUBLIK : konsisten pada kepentingan umum
2. KLIEN & PEMBERI KERJA : bersikap terbaik pada kepentingan klien dan pemberi kerjanya dan itu tetap konsisten pada kepentingan umum.
3. PRODUK : harus meyakinkan bahwa produk yang dihasilkan dan modifikasinya sesuai standar profesi
4. NILAI : harus memaintain integritas dan ketidakberpihakan dalam memberikan penilaian profesionalnya
5. MANAGEMENT : mengatur dan menjadi pemimpin yang menjadikan dan mempromosikan pendekatan etika pada manajemen pengembangangan software dan pemreliharaannya
6. PROFESSION : memajukan integritas dan reputasi konsistensi profesi dengan kepentingan umum
7. KOLEGA : adil dan membantu kolega mereka
8. SELF : berpartisipasi dalam pembelajaran jangka panjang profesi mereka dan mempromosikan pendekatan etika pada praktek profesinya.

PROFESIONALISME

- Profesionalisme dari cabang ilmu manapun melibatkan kesadaran bahwa menjadi seorang profesional lebih dari sekedar aplikasi teknologi yang kaku kepada karya ilmu itu sendiri (Ford, 1996).

- Yang termasuk dalam profesionalisme adalah :
1. Kesadaran akan dampak pada masyarakat atas aplikasi dari kemampuan khususnya.
2. Ilmu Pengetahuan para praktisi sesuai standar profesi
3. Kesadaran akan tanggung jawab sehubungan hak istimewa dalam aplikasi keahlian tersebut.

Software Engineering Institute : software engineering sebagai sebuah bentuk rekayasa yang mengaplikasikan prinsip-prinsip ilmu komputer dan matematika untuk menghasilkan solusi biaya yang efektif pada masalah software (Ford, 1990)." tetapi software engineering, sebagai bagian rekayasa adalah membentuk dan membangun solusi biaya yang efektif untuk masalah praktek pada pelayanan pada kebutuhan manusianya (Ford, 1990). Termasuk didalamnya nilai kualitas yang bagus pada sumber daya yang diinvestasikan (Ford, 1990).


ETIKA SOFTWARE ENGINEERING


- Software engineering diartikan sebagai aplikasi disiplin ilmu pengetahuan rekayasa, dan prinsip-prinsip matematika, metode-metode dan alat-alat untuk produksi bernilai ekonomis dari kualitas suatu software. (Humphrey, 1989)

- Software engineer memiliki hak terhadap pengguna produknysa dimana tidak hanya termasuk imolemestasi sistim, tetapi juga termasuk di dalamnya produk-produk lain seperti persyaratan, rencana manajemen proyek software, desain spesifikasi, dokumentasi, tes kecocokan, program-program, petunjuk penggunaan, dan materi pelatihan

- Membangun sebuah karya software engineering dipengaruhi oleh antara lain anggaran yang tersedia, kebutuhan klien, keadaan software yang tersedia, pertimbangan lingkungan, dampak sosial, dan bahkan kondisi politik. Untuk itu dibutuhkanlah the Code of Ethics and Professional Practice .

- Etika Software engineering berhubungan dengan dua aspek dasar ; sebagai pegawai yang dibayar oleh klien, harus melayani kebutuhan mereka, dan berpartisipasi dalam fungsi sosial yang penting. Etika Software engineering melingkupi umum, profesi, dan etika teknis nya.

- Pendekatan pemakaiannya berdasarkan etika software engineering dan berkomitmen pada keduanya kualitas teknik dan keselamatan kesehatan dan kesejahteraan publik

MODEL UNTUK ETIKA SE

- Etika adalah “ sebuah sistim kemasyarakatn yang terapkan pada orang-orang rasional dalam membangun kebiasaan yang mempengaruhi orang lain dan meminimalkan keburukan (Gert, 1998).

- Kebiasan profesi software engineers, juga mempengaruhi orang lain, sehingga memicu dibuatnya prinsip-prinsip etikanya yang lebih mengikat pada orangnya bukan mesinnya. Dan seringkali terjadi dalam pekerjaan bersama-sama dalam team termasuk aktivitas etika dan prinsip-prinsip yang berkaitan dengan tindakan manajemen .

- Hubungan antara etika software engineering bisa dimengerti dengan membangun taksonomy parsial etika.

ETIKA & ETIKA PROFESI

- Kategori pertama, etika software engineering berpartispasi pada banyak hal tentang etika, yang termasuk didalamnya interaksi manusia. Konsep ini maksudnya memfasilitasi interaksi hidup manusia dalam bermasyarakat dengan menempatkan hak untuk mengambil tindakan dan menghindari akibat tindakannya.

- Etika ada di dalam masyarakat dimana tidak atau belum diatur oleh perundang-undangan. Etika tergantung pada penerimaan sukarela akan aturan itu tanpa paksaan oleh negara. Pada kategori ini, tujuan utamanya adalah etika sebagai manusia.

Beberapa prinsip termasuk tidak menyakiti siapapun, jujur, adil, dan tepat janji. Ini merupakan dasar hak untuk mencukupi perjanjian dan hak kita untuk perduli dengan pengguna karya kita. Ini memyeimbangkan manajemen hak ke “5.02. menyakinkan bahwa software engineers memberikan standar informasi sebelum digunakan oleh pengguna.” (SE Code 1999)

ETIKA PROFESI & ETIKA UMUM

- Profesional adalah orang yang memberikan dampak secara signifikan pada manusia, memiliki tingkat keilmuan khusus yang tinggi, untuk memproduksi atau memberikan pelayanan.

- Kode etik Profesi adalah salah satu kategori etika yang disyaratkan bagi semua profesional, sesuai bidangnya masing-masing, seperti arsitek, dokter, insinyur, dan pengacara. Secara umum selain keahlian khusus atau ilmu pengetahuan untuk membuat sebuah produk atau layanan, sebuah komitmen untuk tidak menyebabkan bahaya, keanggotan dalam organisasi yang representatif, kepatuhan pada kode etik, yang dilisensi oleh organisasi yang ditunjuk, dan otonom berdasarkan pengetahuan khusus tersebut. (Ford, 1996).

- Sebuah profesi merupakan tanggung jawab untuk melayani masyarakat (Bayles, 1981). Kewajiban ini dituangkan dalam bentuk kode etik profesi

- Prinsip tanggung jawab pada satu profesu dan satu klien profesi tidak berubah pada profesi yang lainnya. Kategori ini berlaku pada semua profesiteknis, pada beberapa aturan kode profesional mengartikan hubungan antara konsultan dan klien dan perhatian utamanya kewajiban pada klien dan profesi secara keseluruhan. Penekanannya langsung pada etika terhadap isu-isu yang berkembang dalam kesetiaan grup (jangan mengkritik tenaga ahli lainnya), paternalism (dokter akan menentukan yang terbaik buat pasiennya), dan periklanan (jangan bersaing dengan ahli lainnya melalui iklan) (Martin 1989).

- Perlu adanya konsekuensi sosial pada pengambilan keputusan profesional suatu profesi. Banyak kode etik termasuk komitmen untuk bekerja keras untuk level terbaik dalam praktek profesinya. Software engineers diingatkan hanya untuk mementingkan profesi dalam cara yang konsisten dengan kepentingan umum dan melaporkannya dan kesalahan-kesalahan dalam melakukannya. ”6.08. Bertanggung jawab untuk mendeteksi, mengkoreksi dan melaporkan kesalahan pada software dan dokumen yang berhubungan dengan pekerjaan mereka.” (SE Code, 1999)

- Kode etik tenaga ahli teknik sipil, dalam the IEEE dam berbagai macam kelompok komputasi menekankan pada : “ martabat dan nilai orang lain, integritas pribadi dan kejujuran, tanggung jawab pekerjaan.. keselamatan publik dan kesejahteraan" (Martin, 1989).

- Butuh kemampuan khusus dan [elatihan untuk mengembangkan produk ini yang mana langsung berpengaruh terhadap kehidupan, dan cara aplikasi software digunakan di masyarakat dan kebajikan pelatihan tersebut dan berdasarkan kekuatan satu keuntungan bahwa pelatihan memiliki pengaruh signifikan pada masyarakat

- Ini membuktikan bahwa etika software engineering sebagai suatu etika profesional, memiliki ilmu yang tidak dimiliki oleh orang diluar profesinya, memiliki kewajiban khusus kepada klien, yang bisa bertentangan dengan kepentingan umum. Bedanya disini software engineers memiliki kewajiban utama uterhadap masyarakat daripada terhadap kliennya.

- “Semua Nilai lebih terfokus pada kesehatan, keamanan dan kesejahteraan umum adalah hal paling utama” (SE Code, 1999). Etika Software engineering meskipun terfokus pada detail teknis komputasi, secara umum dasarnya sama dengan etika profesi lainnya.

TEKNIKAL & ETIKA PROFESI

- Etika teknis berbeda setiap profesinya yakni pada implementasi etikanya . Setiap operasi beroperasi dalam konteks yang berbeda dengan alat yang berbeda dan diperuntukkan untuk masalah yang berbeda pula. Meskipun ada beberapa prinsip yang sama, pada kategori ini berbedanya profesi maka akan berbeda prinsip-prinsip etikanya dan prioritasnya.

- Standar teknis dan nilai-nilai ditentukan oleh konsensus pada profesi (Gotterbarn,1991;Collins,1994).

- Masyarakat mempercayai bahwa profesional yang berpendidikan adalah yang paling siap menentukan prinsip-prinsip ini karena ilmu mereka yang khusus. Ini adalah dasar pengaturan profesi

- Profesional Software memiliki standar yang bisa mereka ikuti dan saat sekarang bisa dilihat bahwa terdapat kesepakatan yang signifikan tentang teknis dan standar etika sebagai seorang profesional. Secara alami terdapat tingkatan kesepakatan dalam etika profesional (Leventhal et. al., 1992).

ETIKA TEKNIKAL & NILAI-NILAI

- Meskipun ada standarisasi teknis, ada bermacam solusi yang tersedia dalam menyelesaikan masalah software engineering yang pemilihan solusinya berdasarkan nilia-nilai profesional. Konsekuensi, nilai-nilai profesional memiliki dampak langsung pada cara pengembangan aplikasi dan kualitas dari hasil karya

- Ada dua unsur utama etika Software engineering yakni :
* melakukan pekerjaan teknis (proses pengembangan software)
* mengunakan aturan nilai moral untuk mengambil keputusan teknis
- Dalam profesi, kemampuan teknis membimbing proses yang melibatkan beberapa isu etika. Keoutusan teknis dalam software engineering adalah memilih dalam siklus hidup untuk menggunakan produk yang sangat berbeda, meskipun dua-duanya sesuai persayaratan yang ditentukan.
- Secara umum, semua kode etik profesi hanya dibedakan oleh konteks di mana mereka menerapkan aturan-aturan moral.

- Meskipun tanggung jawab teknis adalah tanggung jawab individu tapi tidak selalu langsung bisa dipertanggungjawabkan secara hukum karena masih ada beberapa solusi teknis untuk mengatasi masalah tersebut kecuali apabila sudah menimbulkan kerusakan.

- Dasar pertimbangan hingga bisa diberlakukan aturan hukum adalah ."(West 1991) :
1. kewajiban utang
2. Tugas dilanggar
3. Kerusakan yang disebabkan oleh pelanggaran kewajiban
- Upaya untuk mendefenisikan tanggung jawab hukum profesi teknis tidak berhasil. Salah sisi mungkin tidak etis dan tidak menciderai hukum. Perbedaan nilai dan aturan diterapkan pada tahapan yang berbeda dalama pengembangan software dan aplikasi nilai –nilai dalam membuat keputusan yang tidak melanggar hukum. Dalam fase desain, aturan-aturan moral lainnya mungkin akan diterapkan terlebih dahulu.
- Etika Profesi teknis adalah unik.
- Tanggung jawab teknis berkaitan dengan pendekatan yang diambil oleh para profesional dalam memecahkan masalah-masalah teknis yang melibatkan konsekuensi pengetahuan dan mengikuti standar profesional yang baik.
- inti tanggung jawab yang perlu dibahas dalam software engineering mencakup tanggung jawab sosial dan teknis. Tanggung jawab teknis melibatkan komitmen moral untuk standar produksi software, sedangkan untuk proses tanggung jawab sosialnya melibatkan komitmen untuk menggunakan keterampilan khusus ini melayani masyarakat.
- Software engineers memiliki kewajiban untuk mempertimbangkan keselamatan, kesehatan, dan kesejahteraan pengguna mereka. Pengembangan Software adalah proses sosial dan software engineer memiliki dua kewajiban untuk berhasil :
* Berdasarkan pada standar teknis
* kewajiban tanggung jawab sosial kepada mereka yang akan bekerja sama produknya.
- Kedua pendekatan etika ini memeberikan arahan positif pada sikap praktisi software, dimana aktivitasnya diatur oleh prinsip-prinsip etika profesial software engineering.

TREN KE DEPAN
- Pergerakan profesionalisme industri komputer dan software engineeringterus berjalan. Ada pembaruan perhatian pada masalah etika antara engineering dan profesional komputasi dengan perhatian khususnya memberikan yang terbaik untuk klien dan pengguna hasil karya software engineering.
- The ACM and the IEEE Computer Society mengadopsi the Software Engineering Code of Ethics and Professional Practice in 1998, sejak itu diadopsi oleh organisasi profesional komputasi lainnya perusahaan besar maupun kecil sebagai suatu standar pekerjaan, termasuk lisensi dan standarisasi pengembangannya.
- Selanjutnya ada perubahan budaya dimana muncul pemahaman dan harapan akan sikap beretika software engineers dan pihak-pihak yang terpengaruh produk mereka.

REFERENSI
- R. E. Anderson, et al, "ACM Proposed Code of Ethics and Professional Conduct," Communications of the ACM, May 1992.
- BCS, A Report on Undergraduate Curricula for Software Engineering Curricula, The British Computer Society and The Institution for Electrical Engineers, June 1989.
- M.D. Bayles, Professional Ethics, Wadsworth Publishing Company, California, 1982.
- B.W. Boehm, Software Engineering Economics, Prentice Hall, NJ. 1981
- B.H. Bauer, "Software Engineering," Information Processing, 71. North Holland, Amsterdam 1972.
- W.R. Collins & K.W. Miller, "Paramedic Ethics for Computer Professionals," The Journal of Systems and Software, 1992.
- W.R. Collins, K.W. Miller & Bethany Spielman," How Good Is Good Enough? An Ethical Analysis of Software Construction and Use," in Communications of the ACM, Vol. 37, No. 1 (January 1994), 81-91.
- R. DeGeorge, Business Ethics, New York, 1982.
- G. Ford and N. Gibbs, “A Mature Profession of Software Engineering,” Carnegie Mellon University CMU/SEI-96-tr-004)
- G. Ford, 1990 SEI Report on Undergraduate Software Engineering Education, Technical Report CMU/SEI-90-TR-3, Carnegie Mellon University, 1990.
- B. Gert, Morality, New York, Oxford University Press, 1998.
- D.W. Gotterbarn, "Computer Ethics: Responsibility Regained," in Computers, Ethics, and Social Values, Deborah G. Johnson and Helen Nissenbaum (eds.) Prentice Hall,1994.
- D.W. Gotterbarn “How the new Software Engineering Code of Ethics Affects You", IEEE Software, November/December, 1999 58-64.
- D.W. Gotterbarn (a) “Software Engineering: The New Professionalism," The Responsible Software Engineer, ed. Colin Meyer, Springer Verlag 1996
- D.W. Gotterbarn (b) "Establishing Standards of Professional Practice," chapter 3 in The Responsible Software Engineer, ed. Colin Meyer, Springer Verlag 1996
- W.S. Humphrey, Managing the Software Process, Addison Wesley, Reading 1989.