Tuesday, March 29, 2016

Tugas Terstruktur 1 Etika Profesi



Sistematika Artikel
Etika Programmer
( Irfan Arif Herwitedi / 1534010015 / No 25 )

Jurusan            : Teknik Informatika
  
Etika Programmer Adalah salah satu Etika Profesi yang di kususkan untuk suatu profesi dalam bidang IT yaitu Programmer. Etika Programmer Menjelaskan tentang etika apa saja yang ada dalam profesi Programmer dan apa saja yang tidak boleh kita lakukan ketika kita menjadi seorang programmer. Di dalam profesi Programmer ada juga bidang – bidang yang dominan pada seorang yang bekerja sebagai programmer.
Kode etik adalah konsekuensi alamiah realisasi komitmen mewarisi keamanan penggunaan teknologi komputer baik sektor publik dan swasta. Ada kebutuhan paralel bagi profesionalisme pada bagian pengguna sistem komputer, dalam terminologi tanggung jawab mereka untuk beroperasi secara legal dengan respek penuh dalam urutan yang benar. User harus dibuat sadar terhadap resiko operasi ketika sistem sedang digunakan atau diinstal, mereka memiliki tanggung jawab untuk mengidentifikasi dan mengejar penyelewengan dalam hal keamanan. Ini akan memberikan sikap etis dalam komunitas pengguna termasuk programmer.
Rawannya penggunaan computer terhadap hal yang merugikan bagi pengguna, pengetahuan tentang pelanggaran programmer dan etika seorang programmer diharapkan mampu memberikan gambaran bagi pengguna umum untuk mewaspadai kejahatan di dunia IT dan bagi seorang programmer agar tahu kode etik sehingga tidak merugikan orang lain dan dirinya terhadap hukuman yang berlaku.

Ø Prinsip Dasar Etika Programmer
Dalam Etika Programmer mempunyai beberapa prinsip dasar yang harus kita mengerti sebagai seorang IT atau bisa di bilang sebagai seorang Programmer. Prinsip-prinsip dasar tersebut yaitu :
1.    Kontribusi masyarakat dan kesejahteraan manusia. Prinsip ini menyangkut kualitas hidup semua orang menegaskan kewajiban untuk melindungi hak asasi manusia dan menghormati keragaman semua budaya. Sebuah tujuan penting dari profesional computasi adalah untuk meminimalkan konsekuensi negatif dari sistem komputasi, termasuk ancaman terhadap kesehatan dan keselamatan. Ketika merancang atau menerapkan sistem, profesional komputasi harus berusaha untuk memastikan bahwa produk-produk dari upaya mereka akan digunakan dalam cara yang bertanggung jawab sosial, akan memenuhi kebutuhan sosial, dan akan menghindari efek berbahaya bagi kesehatan dan kesejahteraan.
2.    Hindari menyakiti orang lain. Harm berarti konsekuensi cedera atau negatif, seperti kehilangan diinginkan informasi, kerugian harta benda, kerusakan properti, atau dampak lingkungan yang tidak diinginkan. Prinsip ini melarang penggunaan teknologi komputasi dengan cara yang mengakibatkan kerugian bagi salah satu dari berikut: pengguna, masyarakat umum, karyawan, pengusaha. Tindakan Berbahaya meliputi kerusakan disengaja atau modifikasi file dan program yang menyebabkan hilangnya serius sumber daya atau pengeluaran yang tidak perlu sumber daya manusia seperti waktu dan upaya yang diperlukan untuk membersihkan sistem dari virus komputer.
3.    Jadilah jujur dan dapat dipercaya. Kejujuran adalah komponen penting dari kepercayaan. Tanpa kepercayaan suatu organisasi tidak dapat berfungsi secara efektif. Yang jujur profesional komputasi tidak akan membuat klaim palsu atau sengaja menipu tentang sistem atau desain sistem, tetapi sebaliknya akan memberikan pengungkapan penuh dari semua keterbatasan sistem yang bersangkutan dan masalah. Seorang profesional komputer memiliki tugas untuk bersikap jujur tentang nya atau kualifikasi sendiri, dan sekitar keadaan apapun yang mungkin menyebabkan konflik kepentingan.
4.    Jadilah adil dan mengambil tindakan untuk tidak melakukan diskriminasi. Nilai-nilai kesetaraan, toleransi, menghormati orang lain, dan prinsip-prinsip keadilan yang sama mengatur perintah ini. Diskriminasi atas dasar ras, jenis kelamin, agama, usia, cacat, asal-usul kebangsaan, atau faktor lain seperti merupakan pelanggaran eksplisit kebijakan ACM dan tidak akan ditoleransi.
5.    Hak Milik Kehormatan Termasuk Hak Cipta dan Paten. Pelanggaran hak cipta, paten, rahasia dagang dan syarat-syarat perjanjian lisensi dilarang oleh hukum di sebagian besar keadaan. Bahkan ketika perangkat lunak tidak begitu dilindungi, pelanggaran tersebut bertentangan dengan perilaku profesional. Salinan perangkat lunak harus dibuat hanya dengan otorisasi yang tepat. Duplikasi yang tidak sah bahan tidak harus dimaafkan.
6.    Berikan kredit yang tepat untuk properti intelektual. Komputasi profesional diwajibkan untuk melindungi integritas dari kekayaan intelektual. Secara khusus, seseorang tidak harus mengambil kredit untuk ide-ide atau pekerjaan lain, bahkan dalam kasus di mana pekerjaan belum secara eksplisit dilindungi oleh hak cipta, paten, dll.
7.    Menghargai privasi orang lain. Komputasi dan teknologi komunikasi memungkinkan pengumpulan dan pertukaran informasi pribadi pada skala belum pernah terjadi sebelumnya dalam sejarah peradaban. Dengan demikian, ada potensi peningkatan melanggar privasi individu dan kelompok. Ini adalah tanggung jawab profesional untuk menjaga privasi dan integritas data individu menjelaskan. Ini termasuk mengambil tindakan pencegahan untuk memastikan keakuratan data, serta melindunginya dari akses yang tidak sah atau pengungkapan disengaja untuk individu yang tidak pantas. Selanjutnya, prosedur harus ditetapkan untuk memungkinkan individu untuk meninjau catatan mereka dan ketidakakuratan yang benar.
8.    Honor kerahasiaan. Prinsip kejujuran meluas ke masalah kerahasiaan informasi setiap kali salah satu telah membuat janji eksplisit untuk menghormati kerahasiaan atau, secara implisit, saat informasi pribadi tidak secara langsung berkaitan dengan pelaksanaan tugas seseorang menjadi tersedia. Perhatian etis adalah untuk menghormati semua kewajiban kerahasiaan kepada majikan, klien, dan pengguna kecuali dilepaskan dari kewajiban tersebut dengan persyaratan hukum atau prinsip-prinsip lain dari Kode Etik ini.
9.    Upaya untuk mencapai kualitas tertinggi, Keunggulan mungkin adalah kewajiban yang paling penting dari seorang profesional. Komputasi profesional harus berusaha untuk mencapai kualitas dan sadar akan konsekuensi negatif yang serius yang mungkin timbul dari kualitas yang buruk dalam suatu sistem.
10.  Memperoleh dan mempertahankan kompetensi profesional. Keunggulan tergantung pada individu yang bertanggung jawab untuk memperoleh dan mempertahankan kompetensi profesional. Seorang profesional harus berpartisipasi dalam menetapkan standar untuk tingkat yang sesuai kompetensi, dan berusaha untuk mencapai standar tersebut. Upgrade pengetahuan teknis dan kompetensi dapat dicapai dengan beberapa cara yaitu; melakukan studi independen, menghadiri seminar, konferensi, atau kursus, dan terlibat dalam organisasi profesi.
11.  Mengenal dan menghormati hukum yang ada yang berkaitan dengan kerja profesional. Anggota ACM harus mematuhi ada lokal, negara bagian, provinsi, nasional, dan hukum internasional kecuali ada dasar etis kuat untuk tidak melakukannya. Kebijakan dan prosedur organisasi di mana orang berpartisipasi juga harus dipatuhi. Tapi kepatuhan harus diimbangi dengan pengakuan bahwa hukum dan aturan yang ada kadang-kadang mungkin tidak bermoral atau tidak dan, oleh karena itu, harus dipertanyakan. Pelanggaran hukum atau peraturan dapat etis ketika bahwa hukum atau aturan memiliki landasan moral memadai atau apabila bertentangan dengan hukum lain dinilai lebih penting. Jika seseorang memutuskan untuk melanggar hukum atau aturan karena dipandang sebagai tidak etis, atau karena alasan lain, salah satu sepenuhnya harus menerima tanggung jawab atas tindakan seseorang dan konsekuensi.
12.  Menerima dan memberikan review profesional yang sesuai. Kualitas kerja profesional, terutama dalam profesi komputasi, tergantung pada profesional mengkaji dan mengkritisi. Setiap waktu yang tepat, anggota individu harus mencari dan memanfaatkan peer review serta memberikan tinjauan kritis karya orang lain.
13.  Berikan evaluasi dan analisis resiko komprehensif sistem komputer. Profesional komputer harus berusaha untuk menjadi perseptif, teliti, dan objektif ketika mengevaluasi, merekomendasikan, dan penyajian deskripsi sistem dan alternatif. Profesional komputer berada dalam posisi kepercayaan khusus, dan karena itu memiliki tanggung jawab khusus untuk memberikan objektif, evaluasi yang kredibel untuk majikan, klien, pengguna, dan masyarakat umum.
14.  Honor kontrak, perjanjian, dan tanggung jawab yang diberikan. Menghormati komitmen seseorang adalah masalah integritas dan kejujuran. Bagi para profesional komputer ini termasuk memastikan bahwa unsur-unsur sistem melakukan sebagaimana dimaksud. Juga, ketika salah satu kontrak kerja dengan pihak lain, seseorang memiliki kewajiban untuk menjaga bahwa partai benar informasi tentang kemajuan menyelesaikan pekerjaan itu.
15.  Meningkatkan pemahaman publik komputasi dan konsekuensinya. Komputasi profesional memiliki tanggung jawab untuk berbagi pengetahuan teknis dengan masyarakat dengan mendorong pemahaman komputasi, termasuk dampak sistem komputer dan keterbatasan mereka. Penting ini menyiratkan kewajiban untuk melawan setiap pandangan palsu yang berkaitan dengan komputasi.

Ø Profesi Programmer
Setiap programmer pasti mempunyai beberapa profesi yang dapat di kelompokkan menjadi beberapa bidang  seperti berikut ini :
1.    Programmer
Programmer adalah seseorang yang bertugas dalam hal implementasi, memodifikasi, serta membuat struktur data yang di tuliskan dalam sebuah bahasa pemrograman tertentu sesuai dengan apa yang di kerjakanya. Ini adalah deskripsi pekerjaan dalam bidang programmer : Menulis program (coding) dengan menggunakan pemograman tertentu seperti C, C#, C++, Java, Ruby, Dll. 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.
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, Dll. Yang itu semua merupakan aplikasi yang di gunakan dalam pembuatan suatu Data Base.
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. Biasanya ada beberapa programmer yang mendapatkan penghasilan dari internet atau bisa di bilang dari pembuatan suatu blog atau web yang di buatnya.
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.
programmer akan mendapatkan keuntungan dalam membetulkan bug. 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.
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
Rawannya penggunaan computer terhadap hal yang merugikan bagi pengguna, pengetahuan tentang pelanggaran programmer dan etika seorang programmer diharapkan mampu memberikan gambaran bagi pengguna umum untuk mewaspadai kejahatan di dunia IT dan bagi seorang programmer agar tahu kode etik sehingga tidak merugikan orang lain dan dirinya terhadap hukuman yang berlaku.

Ø Kewajiban Seorang Programmer
Sebagai seorang Programmer kita harus tahu beberapa hal yang wajib diketahui dan dipahami oleh para programmer. Kewajiban – kewajiban seorang programmer adalah 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.
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.

Ø Faktor Yang Mempengaruhi Kualitas Programmer
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, 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.

Ø Kepatuhan Terhadap Kode Etik
Masa depan profesi komputasi tergantung pada keunggulan teknis dan etis. Tidak hanya penting bagi para profesional komputasi ACM untuk mematuhi prinsip-prinsip yang dinyatakan dalam Kode Etik ini, setiap anggota harus mendorong dan mendukung kepatuhan oleh anggota lain.
Kepatuhan profesional untuk kode etik sebagian besar masalah sukarela. Namun, jika anggota tidak mengikuti kode ini dengan terlibat dalam perbuatan kotor, keanggotaan dalam ACM mungkin dihentikan.

Ø Kesimpulan
Pada Artikel ini menjelaskan tentang apa saja yang ada pada Etika di profesi Programmer dan apa saja yang boleh dan tidak boleh di lakukan sebagai seorang programmer. Komputer sekarang adalah media penyimpanan modern, aset yang dapat dinegoisasikan, sebagai tambahan bentuk baru aset dalam diri mereka sendiri. Komputer juga melayani sebagai instrument kegiatan ,sehingga tingkatan dimana provider layanan komputer dan user harus bertanggung jawab bagi integritas output komputer menjadi sebuah persoalan. Lebih jauh lagi kemajuan teknologi seperti Artificial intelligence, mengancam untuk menggantikan manusia dalam kinerja beberapa tugas, mengambil proporsi menakut-nakuti. Kebutuhan terhadap profesionalisme dalam wilayah penyedia layanan (service provider) dalam industri komputer, sebagaimana bagian sistem personal yang mendukung dan memelihara komputer teknologi, benar-benar diakui.
Kode etik adalah konsekuensi alamiah realisasi komitmen mewarisi keamanan penggunaan teknologi komputer baik sektor publik dan swasta. Ada kebutuhan paralel bagi profesionalisme pada bagian pengguna sistem komputer, dalam terminologi tanggung jawab mereka untuk beroperasi secara legal dengan respek penuh dalam urutan yang benar. User harus dibuat sadar terhadap resiko operasi ketika sistem sedang digunakan atau diinstal, mereka memiliki tanggung jawab untuk mengidentifikasi dan mengejar penyelewengan dalam hal keamanan. Ini akan memberikan sikap etis dalam komunitas pengguna termasuk programmer.





Daftar Pustaka
2.    http://www.totaltren.com/2015/01/mengenal-etika-programmer.html