Monday 29 October 2012

BIOINFORMATIKA



      Dalam Wikipedia, biometrik (berasal dari bahasa Yunani  bios yang artinya hidup dan metron yang artinya mengukur) adalah studi tentang metode otomatis untuk mengenali manusia  berdasarkan satu atau lebih bagian tubuh manusia atau kelakuan dari manusia itu sendiri yang meiliki keunikan. Dalam dunia teknologi informasi , biometrik relevan dengan teknologi yang digunakan untuk menganalisa fisik dan kelakuan manusia untuk autentifikasi. Contohnya dalam pengenalan fisik manusia yaitu dengan pengenalan sidik jari , retina , iris , pola dari wajah (facial patterns), tanda tangan  dan cara mengetik (typing patterns). Dengan suara adalah kombinasi dari dua yaitu pengenalan fisik dan kelakuannya.
       Sistem Biometrika merupakan teknologi pengenalan diri dengan menggunakan bagian tubuh atau perilaku manusia. Sidik jari dan tanda tangan, masing-masing contoh biometrika berdasarkan bagian tubuh dan tingkah laku manusia. Keduanya telah digunakan dalam teknologi bimetrika dan telah diaplikasikan luas dewasa ini. Sistem pengenalan  diri adalah sistem untuk mengenali identitas seseorang secara otomatis dengan menggunakan teknologi komputer. Sistem akan mencari dan mencocokkan identitas seseorang dengan suatu basisdata acuan yang telah disiapkan sebelumnya melalui proses pendaftaran. Contohnya sistem pengenalan pelaku kejahatan menggunakan sidik jari. Berdasarkan sidik jari pelaku kejahatan, sistem akan secara otomatis mencari identitas pelaku pada basisdata kejahatan.
Jenis Sistem Identifikasi Manusia
     Setiap orang yang dilahirkan ke dunia tentu memiliki keunikan, tak ada yang sama antara satu dan yang lain. Setiap orang memiliki ciri atau atribut yang unik. Meski terlahir kembar, mereka tetap memiliki perbedaan.
Berdasar kenyataan itu, dibangunlah suatu sistem yang menggunakan ciri atau sifat identik manusia, yakni sistem biometrika. Jadi tubuh seseorang juga merupakan password bagi orang tersebut.

Ada berbagai jenis sistem biometrika yang sekarang tersedia. Mari kita lihat :

1. Wajah (Face)
Sistem pengenalan seseorang dengan wajah tidak mengganggu kenyamanan seseorang saat akuisisi citra. Citra wajah mungkin merupakan karakteristik biometrika yang paling umum digunakan oleh manusia untuk sistem pengenalan. Aplikasi pengenalan wajah meliputi pengenalan wajah yang statis atau terkontrol sampai sistem identifikasi wajah dinamis yang tak terkontrol di dalam suatu latar belakang yang terbaur (contohnya di bandara udara). Pendekatan yang paling umum untuk pengenalan wajah didasarkan pada bentuk dan penempatan atribut wajah, seperti mata, alis mata, hidung, bibir, dan dagu serta hubungan antara atribut tersebut atau analisis wajah secara keseluruhan yang menghadirkan suatu wajah sebagai suatu kombinasi dari sejumlah wajah kanonik. Meskipun unjuk kerja dari sistem pengenalan wajah yang secara komersial tersedia cukup layak, sistem ini memiliki batasan atas bagaimana citra wajah diperoleh yang kadang menuntut suatu latar belakang sederhana dan penerangan khusus. Sistem ini juga mempunyai kesukaran didalam mengenali suatu wajah dari dua sudut pandang (pose) yang berbeda dan di bawah kekuatan penerangan dengan kondisi yang berbeda-beda.
Agar dalam praktek, suatu sistem pengenalan wajah dapat bekerja dengan baik, maka sistem harus secara otomatis dapat (i) mendeteksi kehadiran wajah pada citra yang diperoleh; (ii) menempatkan wajah jika ada; dan (iii) mengenali wajah dari suatu sudut pandang umum (dari berbagai pose) (Jain et al., 2004).

2. Jejak panas dari wajah, tangan, dan pembuluh darah.
Pola dari panas yang dipancarkan oleh tubuh adalah suatu karakteristik unik dari suatu individu dan dapat ditangkap oleh suatu kamera inframerah dengan cara yang mudah seperti foto biasa. Suatu sistem penjejak panas tidak memerlukan kontak dengan pengguna, akan tetapi akuisisi citra pada lingkungan yang tidak terkendali merupakan suatu tantangan tersendiri, dimana terdapat panas memancar dari permukaan objek (misalnya: ruang alat pemanas dan pipa pembuangan panas) pada lingkungan sekitar badan. Sensor inframerah sangat mahal merupakan penghalang lain yang menghambat penggunaan penjejak panas secara luas (Jain et al., 2004).

3. Sidik Jari (Fingerprint)
Sidik jari berupa pola bukit dan lembah pada permukaan suatu ujung jari yang sering disebut minusi (minutiae), yang mana pembentukannya ditentukan sepanjang tujuh bulan yang pertama dari perkembangan janin. Sidik jari dari kembar identik adalah unik sehingga dengan demikian pola ujung jari setiap orang berbeda-beda. Hargascanner untuk melakukan akuisisi data sidik jari cukup murah. Ketelitian dari sistem pengenalan dengan sidik jari sekarang ini sudah cukup bagi sistem verifikasi skala kecil sampai menengah dan untuk sistem identifikasi yang menyertakan beberapa ratus pengguna. Gabungan beberapa sidik jari dapat menyediakan informasi tambahan yang memungkinkan untuk digunakan dalam pengenalan diri dalam skala besar. Ada beberapa permasalahan yang muncul pada sistem pengenalan diri dengan menggunakan sidik jari. Pertama, membutuhkan sumber daya komputasi yang besar terutama bila digunakan untuk sistem identifikasi. Kedua, Karena pengaruh usia, pekerjaan (pekerja fisik), luka, dan lain sebagainya, sidik jari seseorang dapat menjadi tidak jelas. Sulit untuk memperoleh ciri minusi dari sidik jari yang kurang/tidak jelas. Permasalahan yang terakhir, saat akuisisi data sidik jari menyentuh sensor. Sisa tekanan sidik jari biasanya masih menempel pada sensor, sehingga dapat mengganggu proses akuisisi berikutnya (Jain et al.,2004; Zhang,2004; Richards,2005).

4. Geometri Tangan (Hand geometry)
Sistem pengenalan dengan geometri tangan didasarkan pada sejumlah pengukuran dari tangan manusia, termasuk bentuk, ukuran telapak tangan, serta lebar dan panjang jari. Sistem verifikasi berbasis geometri tangan telah banyak digunakan. Tekniknya sangat sederhana, relatif mudah untuk digunakan, dan murah. Faktor-faktor seperti cuaca kering dan kulit kering tidak akan mempengaruhi ketelitian sistem verifikasi berbasis geometri tangan. Geometri tangan tidak sangat unik sehingga tidak dapat dikembangkan untuk sistem identifikasi. Lebih lanjut, informasi geometri tangan mungkin tidak sama sepanjang periode pertumbuhan anak-anak. Sebagai tambahan, barang barang perhiasan perorangan (misal: cincin), menjadi tantangan tersendiri dalam memperoleh ciri geometri tangan yang benar. Alat untuk akuisisi data geometri tangan memiliki ukuran besar, dan tidak bisa dipasang di dalam alat tertentu seperti laptop. Terdapat sistem verifikasi yang hanya menggunakan sedikit jari (khususnya, jari tengah dan telunjuk) sebagai ganti dari keseluruhan tangan.
Alat ini lebih kecil dibandingkan jika menggunakan seluruh geometri tangan, tetapi masih lebih besar dari yang digunakan dalam beberapa biometrika lainnya seperti: sidik jari, wajah, suara (Jain et al.,2004; Zhang,2004).

5. Selaput Pelangi (Iris)
Selaput pelangi adalah daerah berbentuk gelang pada mata yang dibatasi oleh pupil dan sclera (bagian putih dari mata). Tekstur visual dari selaput pelangi dibentuk selama perkembangan janin dan menstabilkan diri sepanjang dua tahun pertama dari kehidupan janin. Tekstur selaput pelangi yang kompleks membawa informasi sangat unik dan bermanfaat untuk pengenalan pribadi. Kecepatan dan ketelitian dari sistem pengenalan berbasis iris sangat menjanjikan dan sangat memungkinkan untuk digunakan pada sistem identifikasi berskala besar. Masing-masing selaput pelangi adalah unik dan seperti sidik jari, tekstur selaput pelangi dari kembar identik adalah berbeda. Tekstur dari selaput pelangi sangat sulit untuk dirusak melalui pembedahan. Kelemahan dari pengenalan dengan selaput pelangi adalah alat untuk akuisisi data relatif mahal, karena alat akuisisi harus menjamin kenyamanan pengguna dalam memakainya (Jain et al., 2004).

6. Telapak tangan (Palmprint)
Telapak tangan memiliki area yang jauh lebih besar daripada jari sehingga telapak tangan diharapkan memiliki kemampuan yang lebih membedakan dibanding sidik jari (Jain et al., 2004; Zhang,2004). Penjelasan lebih rinci tentang telapak tangan dapat dilihat pada sub bab 2.2.7.

7. Selaput Jala (Retina)
Pembuluh darah selaput jala kaya akan struktur dan merupakan suatu karakteristik unik dari individu. Selaput jala diklaim menjadi biometrika yang paling menjamin karena tidak mudah untuk berubah. Untuk mendapatkan citra selaput jala, seseorang harus mengintip ke dalam suatu sensor dan memfokuskan pada suatu noda khusus di dalam bidang tertentu sehingga diperoleh bagian dari pembuluh selaput jala yang ditentukan. Akuisisi citra selaput jala membutuhkan kerjasama dari subjek dan memerlukan kontak dengan lensa mata. Semua faktor ini berpengaruh kurang baik bagi penerimaan masyarakat terhadap biometrika selaput jala. Pembuluh selaput jala dapat mengungkapkan beberapa kondisi-kondisi medis, seperti hipertensi, yang merupakan faktor lain yang menghalangi penerimaan masyarakat terhadap biometrika berbasis selaput jala (Jain et al., 2004).

§  Bagaimana Cara Kerja Retina Scan?
Cara kerja dari retina sendiri cukup sederhana yaitu ketika si pengguna menggunakan alatnya maka sinar inframerah yang berada pada digital pengditeksi langsung secara otomatis mengditeksi sel saraf yang berada pada selaput mata belakang dan biasanya berlangsung 10 – 15 detik.


Dari gambar di atas kita bisa melihat cara kerja dari retina scan dengan sensor dari inframerah yang melewati atau memaparkan cahayanya ke saraf retina dan secara otomatis alatnya akan mengantarkan ke tersebut bahwa si pengguna telah menunjukkan identitasnya. Seperti yang sudah dijelaskan diatas kalau setiap teknologi tidak ada yang sempurna. Sama halnya dengan alat sensor untuk retina scan, alat ini tidak bisa mengenal atau mengdeteksi 100% pemakainya mungkin disebabkan adanya gangguan pada saraf selaput mata. Dan di sisi lain alat ini bisa mengenalinya namun dengan pemakai yang salah.
§  Semakin banyak informasi, atau faktor, yang diminta dari subjek, semakin menjamin bahwa subjek adalah benar-benar entitas yang diklaimnya. Oleh karenanya, otetikasi dua faktor lebih aman dari otentikasi faktor tunggal. Masalah yang timbul adalah bila subjek ingin mengakses beberapa sumber daya pada sistem yang berbeda, subjek tersebut mungkin diminta untuk memberikan informasi identifikasi dan otentikasi pada masing masing sistem yang berbeda. Hal semacam ini dengan cepat menjadi sesuatu yang membosankan. Sistem Single Sign-On (SSO) menghindari login ganda dengan cara mengidentifikasi subjek secara ketat dan memperkenankan informasi otentikasi untuk digunakan dalam sistem atau kelompok sistem yang terpercaya. User lebih menyukai SSO, namun administrator memiliki banyak tugas tambahan yang harus dilakukan. Perlu perhatian ekstra untuk menjamin bukti-bukti otentikasi tidak tidak tersebar dan tidakdisadap ketika melintasi jaringan. Beberapa sistem SSO yang baik kini telah digunakan. Tidak penting untuk memahami setiap sistem SSO secara detail. Konsep-konsep penting dan kesulitan-kesulitannya cukup umum bagi semua produk SSO.

§  Bagaimana Cara Penggunaan Retina Scan?
Si pengguna memusatkan mata pada satu titik sampai ada cahaya inframerah yang memaparkan cahayanya ke mata si pengguna dan secara otomatis akan mengverifikasikan identitas si pengguna. 

Adapun langkah–langkah spesifiknya:
§  Subjek akan melakukan permintaan akses ke suatu objek kemudian objek akan mengirimkan ID kepada subjek sesuai permintaan si subjek
Memanggil AS ( Authentication Service ) untuk melakukan otentikasi terhadap subjek
Kemudian subjek mengirim permintaan akses bersama ID lengkapnya ke objek
Dan jika ke dua sisi sudah bersesuaian maka akses dikabulkan
§  Biasanya ini dilakukan 2 – 3 dalam satu minggu karena selain dari tuntutan juga untuk menjaga kestabilan mata. Pemilik retina scan ditugaskan untuk memelihara mata mereka demi melaksanakan kebijakan keamanan sesuai dengan procedure yang telah disepakati oleh pemilik retina scan. Pemilik retina scan sering kali melupakan bahwa dia harus manjaga selaput matanya jika tidak bias menimbulkan problem yang fatal.
Pemilik data memikul tanggung jawab terbesar terhadap proteksi retina scan. Pemilik data umumnya adalah anggota manajemen dan berperan sebagai wakil dari organisasi dalam tugas ini. Ia adalah pemilik yang menentukan tingkat klasifikasi retina scan dan mendelegasikan tanggung jawab pemeliharaan sehari-hari kepada pemelihara data. Jika terdapat pelanggaran keamanan, maka pemilik data-lah yang memikul beban berat dari setiap masalah kelalaian. Berikut gambar dibawah merupakan salah contoh ini cara penggunaan dari retina scan.

8. Tanda tangan (signature)
Tanda tangan telah diterima diberbagai negara di dunia dan telah digunakan dalam pemerintahan, sah menurut undang-undang, sebagai metoda verifikasi dalam transaksi Beberapa ciri berharga pada tanda tangan yang telah digunakan untuk sistem pengenalan secara otomatis adalah tampilan tanda tangan, jumlah pola-pola tertentu yang muncul pada tanda tangan, seberapa keras tekanan pensil saat menulis tanda tangan, lama waktu yang dibutuhkan untuk menulis keseluruhan tanda tangan, dan arah gerak penulisan tanda tangan.
Tanda tangan merupakan suatu biometrika tingkah laku yang dapat berubah pada masa waktu tertentu dan dipengaruhi oleh keadaan fisik dan kondisi-kondisi emosional dari orang yang menandatangani, dan para. pemalsu profesional mampu mereproduksi tandatangan yang dapat mengelabui sistem. 

9. Suara (voice)
Sistem pengenalan berbasis suara menganalisa bentuk gelombang dan pola-pola tekanan udara yang dihasilkan ketika seseorang berbicara kedalam mikropon.
Biometrika suara sesungguhnya merupakan kombinasi dari karakteristik fisiologis dan tingkah laku. Mulut, rongga hidung, bibir, gigi, dan lain-lainya merupakan karakteristik fisiologis (fisik) yang berkaitan dengan bagian-bagian pembentukan suara, sedangkan bagaimana seseorang mengucapkan suaranya, tekanan udara yang bervariasi sepanjang waktu pembicaraan merupakan karakteristik tingkah laku.
Suara seseorang dapat berubah sehubungan dengan perkembangan jaman, kondisi-kondisi medis (seperti kedinginan), emosional, dan lain lain merupakan faktor-faktor yang akan mempengaruhi sistem berbasis biometrika suara. Memisahkan derau latarbelakang (background noise) merupakan tantangan terberat dalam membangun sistem berbasis biometrika suara.
Salah satu penerapan sistem biometrika berbasis suara adalah pengenalan seseorang melalui jaringan telpon.
Contoh penggunaan biometrika :

  1. Fingerprint Verification, adalah produk dari biomatriks yang paling dikenal. Produk scanning Sidik jari adalah jenis yang paling umum. Sebagai mana yang telah diterapkan, Sidik jari menawarkan potensial keakuratan yang tinggi. Namun ada beberapa permasahan potensial yang dapat muncul, misalnya ada luka atau kotoran pada jari dan hal ini menyebabkan tidak dapat dikenalinya Sidik jari tersebut. Beberapa scanner Sidik jari akan menscan denyut nadi sepertihalnya jari.
  2. Voice Recognition mungkin metode yang paling diinginkan pemakai karena semua orang ingin berbicara dengan computer. Dalam prakteknya, penerapan voice recognition sangat sulit. Kemajuan terbaru dalam pengenalan suara sudah sangat meningkat termasuk teknologi ini, dan ini masih subjek permasalahan. Akuistik lokal, suara latar, kualitas mikropon, pilek/ flu, dan kemarahan semua ini bisa mengubah suara manusia sehingga membuat/ mempengaruhi pengenalan suara sulit atau mustahil untuk dideteksi keabsahannya. Lebih lanjut, sistem voice recognition cenderung memakan waktu dan prosesnya sangat sulit dan memerlukan banyak ruang untuk penyimpanan.
  3. Retinal Scanning, menyediakan keakuratan yang tinggi. Pola retinal adalah ciri khusus yang sangat tinggi. Setiap mata mempunyai pola pembuluh darah yang unik; bahkan mata yang identik kembar juga berbeda. Walaupun masing-masing pola secara normal dapat terpengaruh oleh karena suatu penyakit seperti glaukoma, kencing manis, tekanan darah tinggi, dan lain-lain.

GUI PADA BROWSER ROCKMELT




RockMelt adalah peramban/browser yang cepat, aman dan stabil karena berbasis Chromium. RockMelt dirancang agar pengguna mudah untuk tetap berkomunikasi dengan teman-teman, dan mendapatkan update dari situs sosial seperti facebook, twitter dan situs favorit lainnya. RockMelt telah bekerjasama dengan Facebook untuk memberikan fitur yang lebih baik dan mempermudah dalam chatting Facebook, serta integrasi Facebook secara efisien. rockmelt merupakan sebuah browser yang menggunakan engine google chrome namun dipersenjatai oleh fitur sosial media facebook yang terpasang di browser itu sendiri.
Seperti browser lainnya, RockMelt bisa digunakan untuk browsing di internet, hal yang membedakannya adalah RockMelt browser sudah terintegrasi dengan berbagai social network untuk memudahkan dalam berinteraksi dengan teman-teman di jejaring sosial tersebut.
Beberapa Fitur yang membuat RockMelt Berbeda dengan browser yang lain adalah:
1.      Di sidebar sebelah kiri langsung terhubung dengan teman facebook yang online.
2.      Di sidebar sebelah kiri, ketika dipilih salah satu teman, maka bisa melihat recent activity nya serta bisa langsung chat dengan teman tersebut.
3.      Fitur chat dan recent activities teman di sidebar sebelah kiri bisa update status twitter maupun facebook.
4.      Di sidebar sebelah kanan, bisa terhubung langsung dan sekaligus melihat notifikasi facebook.
5.      Pengguna akan mendapatkan notifikasi ketika ada update di facebook maupun update di twitter.
6.      Pengguna bisa langsung share link yang sedang dikunjungi di twitter maupun facebook.
Kelebihan:
1.      Sangat memudahkan untuk bisa terus terhubung dengan jejaring sosial terutama facebook dan twitter.
2.      Tampilan yang menarik dan fitur yang mudah digunakan serta tidak membingungkan.
Kekurangan:
Dengan terkoneksinya browser secara langsung ke beberapa social network, tentu saja hal ini memakan bandwidth yang berakibat sedikit berkurangnya kecepatan browsing yang digunakan serta borosnya bandwidth yang digunakan.

Profesi di bidang IT



KEPAKARAN DAN PROFESIONALISME
PROGRAMMER
















Oleh :
......................
.........................



PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS KOMUNIKASI DAN INFORMATIKA
............................................................................................
2012


Abstrak

Berbicara mengenai profesi tak lepas dari sesuatu hal yang dilakukan oleh seseorang  untuk menghidupi kehidupannya sehari-hari. Arti profesi itu sendiri menurut Wikipedia adalah pekerjaan yang membutuhkan pelatihan dan penguasaan terhaap suatu pengetahuan khusus. Suatu profesi biasanya memiliki asosiasi profesi, kode etik , serta proses sertifikasi dan lisensi yang khusus untuk bidang profesi tersebut. Contoh dari profesi adalah pada bidang hukum, militer, teknik, desainer, programmer dll. Profesional adalah orang yang menyandang suatu jabatan atau pekerjaan yang dilakukan dengan keahlian atau keterampilan yang tinggi. Hal ini juga pengaruh terhadap penampilan atau performance seseorang dalam melakukan pekerjaan di profesinya.
            Profesionalisme merupakan komitmen para anggota suatu profesi untuk meningkatkan kemampuannya secara terus menerus. Profesionalisasi adalah proses atau perjalanan waktu yang membuat seseorang atau kelompok orang menjadi profesional. Profesionalitas merupakan sikap para anggota profesi benar-benar menguasai, sungguh-sungguh kepada profesinya.
            Programmer adalah orang yang bekerja membuat atau merancang sebuah system untuk membantu memudahkan pekerjaan manusia yang menggunakan media Komputer. Sekarang ini banyak sekali Programmer-programmer baik freelance maupun yang tidak  berlomba membuat sebuah system yang bisa dibilang canggih dan bermanfaat bagi manusia. Programmer yang professional harus menaati kode etik seorang programmer yang ada.

Kata kunci : profesionalisme, programmer, kode etik programmer.



I.     Pendahuluan
Teknologi Informasi ( IT ) merupakan teknologi yang selalu berkembang baik secara revolusioner ( seperti misalnya perkembangan dunia perangkat keras ) maupun yang lebih bersifat evolusioner (seperti yang terjadi pada perkembangan perangkat lunak). Hal itu mengakibatkan bahwa pekerjaan di bidang Teknologi Informasi menjadi suatu pekerjaan dimana pelakunya harus terus mengembangkan ilmu yang dimilikinya untuk mengikuti perkembangan teknologi informasi tersebut. Artinya, seseorang yang sudah sampai pada level ahli di satu bidang pada saat ini, bisa ketinggalan pada bidang yang sama di masa depan jika tidak mengikuti perkembangan yang ada. Sehingga seorang yang dikatakan ahli harus terus meningkatan profesionalisme dengan mengupdate perkembangan teknologi informasi tetapi harus tetap berpegang pada kode etik. Banyak dari masyarakat sekarang ini yang bekerja di bidang IT, dan mereka dituntut harus memilki basic tentang komputer dan mengetahui tentang perkembangan dunia IT.Dalam setiap aktivitasnya tidak sedikit yang mengalami kesulitan, karena tidak adanya sikap profesionalisme satu sama lain, maka dari itu, setiap masyarakat harus memiliki sikap profesionalisme. Sering orang salah mengartikan kata profesi dengan profesionalisme, untuk itu kita hendaknya mengetahui kata-kata tersebut.

II. Pembahasan
  1. Pengertian Profesi :
Profesi adalah pekerjaan yang menghasilkan uang. Apapun yang dilakukan secara sungguh-sungguh dan kemudian mendapat materi, maka pekerjaan itu sudah menjadi bagian dari profesinya.
  1. Pengertian Profesionalisme:
Profesionalisme atau Profesional itu sendiri memiliki arti seseorang yang terampil, handal, dan sangat bertanggung jawab dalam menjalankan profesinya ( tugasnya). Profesionalisme pada dasarnya adalah kemampuan untuk melaksanakan tugas dan fungsinya secara baik dan benar. Oleh karena itu, setiap profesi mutlak mengenal atau mempunyai kode etik. Pekerjaan apapun, seperti guru, dokter, perawat, bidan dan lain sebagainya memiliki kode etik tersendiri.
Profesionalisme merupakan komitmen para anggota suatu profesi untuk meningkatkan kemampuannya secara terus menerus. Profesionalisme merupakan suatu tingkah laku, suatu tujuan atau suatu rangkaian kualitas yang menandai atau melukiskan coraknya suatu “profesi”. Menurut Wikipedia Seorang profesional adalah seseorang yang menawarkan jasa atau layanan sesuai dengan protokol dan peraturan dalam bidang yang dijalaninya dan menerima gaji sebagai upah atas jasanya. Orang tersebut juga merupakan anggota suatu entitas atau organisasi yang didirikan seusai dengan hukum di sebuah negara atau wilayah.
Meskipun begitu, sering kali seseorang yang merupakan ahli dalam suatu bidang juga disebut "profesional" dalam bidangnya meskipun bukan merupakan anggota sebuah entitas yang didirikan dengan sah. Profesionalisme merupakan bagian dari etika sosial yang menyangkut bagaimana mereka harus menjalankan profesinya secara profesional agar diterima oleh masyarakat. Dengan etika profesi diharapkan kaum profesional dapat bekerja sebaik mungkin, serta dapat mempertanggungjawabkan tugas yang dilakukannya dari segi tuntutan pekerjaan.

Ciri-ciri profesionalisme di bidang IT adalah :
a.    Memiliki pengetahuan yang tinggi di bidang TI
b.    Memiliki ketrampilan yang tinggi di bidang TI
c.    Memiliki pengetahuan umum yang luas.
d.   Tanggap terhadap masalah.
e.    Mampu melakukan pendekatan multidispliner
f.     Mampu bekerja sama
g.    Bekerja dibawah disiplin etika
h.    Mampu mengambil keputusan didasarkan kepada kode etik.
i.      Punya ilmu dan pengalaman.

Sebagai salah satu bidang profesi, Information Technology (IT) bukan pengecualian,diperlukan rambu-rambu tersebut yang mengatur bagaimana para IT profesional inimelakukan kegiatan. Memang belum ada Kode Etik khusus yang ditujukan kepada IT Profesional di Indonesia. Tetapi sudah ada beberapa kegiatan yang mengarah ke terbentuknya Kode Etik ini, namun usahanya belum sampai menghasilkan suatu kesepakatan.

  1. Definisi Programmer
Programmer adalah orang yang bekerja membuat atau merancang sebuah system untuk membantu memudahkan pekerjaan manusia yang menggunakan media Komputer. Sekarang ini banyak sekali Programmer-programmer baik freelance maupun yang tidak  berlomba membuat sebuah system yang bisa dibilang canggih dan bermanfaat bagi manusia. Programmer adalah individu yang bertugas dalam hal rincian implementasi, pengemasan, dan modifikasi algoritma serta struktur data, dituliskan dalam sebuah bahasa pemrograman tertentu.
Programmer dapat didefinisikan :
a.    Tanggung jawab pemrogram terbatas pada pembuatan program komputer.
b.    Pengetahuan programer cukup terbatas pada teknologi komputer, system komputer, utilitas dan bahasa-bahasa program yang diperlukan.
c.    Pekerjaan programer sifatnya teknis dan harus tepat dalam pembuatan instruksi-instruksi program.
d.   Pekerjaan programer tidak menyangkut hubungan dengan banyak orang,terbatas pada sesama pemrogram dan analis sistem yang mempersiapkan rancang bangun (spesifikasi) program.

  1. Keahlian Programmer
a)      Menguasai Algoritma dan logika pemprograman (ini penting sekali).
b)      Memahami metode, best practice dan tool/pemodelan pemprograman seperti OOP,design pattern, UML (kemampuan membaca dan menerapkan).
c)      Menguasai salah satu atau beberapa bahasa pemprograman populer seperti C++, VB, PHP, C#, Java, Ruby dll (untuk web developer perlu juga menguasai HTML,DHTML, CSS, JavaScript dan AJAX).
d)     Memahami RDBMS dan SQL (Structured Query Language).
e)      Menguasai bahasa Inggris (hal ini sangat penting saat ini karena bahasa en-US merupakan bahasa ibu di dunia IT) .

  1. Jenis Profesi Programmer
Programmer terbagi menjadi beberapa profesi antara lain :
a.    Programmer adalah Profesi yang menulis program dengan bahasa pemrograman seperti Php, Java, C, C++, Delphi, dll.
b.    Database Programmer adalah profesi yang membuat, memanipulasi, menghapus, maupun memelihara database itu sendiri dengan menggunakan pemograman database seperti MySQL, Postgre SQL, dll.
c.    Web Programmer adalah profesi yang membuat suatu web, situs yang mana agar bisa di upload dan dapat ditampilkan melalui internet seperti situs facebook, yang dibuatdengan bahasa pemrograman Php.
d.   Multimedia Programmer adalah profesi yang membuat suatu media multimedia dengan tampilan yang di dalamnya dapat berupa teks, gambar, suara, audio/video, dll, bentuk nya hampir bisa seperti web atau situ You Tube yang terdapat video didalamnya.

  1. Keterampilan Programmer
Keterampilan yang harus dimiliki seorang programmer terkait dengan komprehensi kode sumber program, adalah:
a)    Memahami kode sumber yang ditulis sendiri pada saat ia tidak lagi mengingat detail mekanisme dari program tersebut.
b)   Melanjutkan pengelolaan, menyesuaikan, mengembangkan dan (bila perlu) merombaknya untuk menyesuaikan program dengan kebutuhan pengguna tanpa mengorbankan kemudahan perawatan di masa mendatang.
c)    Memiliki kemampuan sebagaimana dijelaskan dalam point 1. dan 2. untuk  program yang ditulis dan didokumentasikan oleh programmer lain.
d)   Membaca program untuk memperkaya perkakas yang dimiliki seorang programmer untuk memecahkan masalah.


  1. Kewajiban Programmer
Seorang programmer memiliki kewajiban sebagai berikut :
a.       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 system operasi (misalnya Linux), programmer dapat mengetahui berbagai pertimbangan dalam merancang aplikasi besar yang terus berkembang.
b.      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.
c.       Memahami konsep dasar  relational database. Setiap aplikasi pasti memiliki sebuah database dalam penyimpanan datanya untuk itu programmer khususnya Database Programmer ditekankan menguasai relational database.
d.      Karena sekarang jaman internet, maka wajib memahami protokol HTTP, FTP, POP3, SMTP, SSH. Protokol HTTP sekarang adalah protokol yang paling banyak digunakan di internet.
e.       Karena sekarang jaman globalisasi, maka wajib memahami Unicode. Unicode itu penting supaya aplikasi kita tetap bisa diinstal di komputer mana saja.
f.       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).
g.      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.

  1. Profesionalisme Programmer
Bentuk profesionalisme Programmer adalah:
a.       Memiliki sikap mandiri berdasarkan kemampuan yang di milikinya secara pribadi serta terbuka dan mau menghargai pendapat orang lain, serta cermat dalam memilih yang terbaik bagi diri dan perkembangan pribadinya, atau dengan kata lain adalah mandiri. Seorang pekerja dibidang IT terutama programmer harus memiliki sikap tidak tergantung dengan orang lain, terbuka, mau menerima dengan hati yang lapang atas pekerjaanya, saat dikritik tentang pekerja tersebut maupun saat mendapat saran dari orang lain, bahkan dapat komplain dari klien karena ada program yang dibuatnya tidak jalan karena beberapa factor, misalkan program yang dibuat kena virus, error, dan lain-lain.
b.      Memiliki pengetahuan yang tinggi dan handal di bidang IT , Seorang programer harus mempunyai modal yang cukup salah satunya menguasai bahasa pemprograman, sehingga dalam pembuatan program tersebut benar-benar terjamin kualitasnya dan juga tidak asal-asalan, sehingga program tersebut dapat bermanfaat.
c.       Menerapkan norma-norma yang berhubungan dengan IT yang telah diatur dalam kode etik, misalkan profesional atau developer dengan klien, antara para profesional dalam ruang lingkup itu sendiri, atau antara organisasi profesi serta organisasi profesi dengan pemerintah. Contohnya salah satu bentuk hubungan seorang programer dengan klien atau pengguna jasa, misalnya pembuatan sebuah program aplikasi yang dibuatnya.
d.      Seorang programmer tidak dapat membuat suatu program semaunya sendiri, ada beberapa hal yang harus ia perhatikan seperti : untuk apa program tersebut dibuat dan nantinya digunakan oleh kliennya atau user, ia dapat menjamin keamanan sistem kerja program aplikasi tersebut dari pihak-pihak yang dapat mengacaukan sistem kerjanya.
e.       Bisa menentukan apakah dia sanggup atau tidak menyelesaikan tugas yang diterima. Harus tahu batasan kemampuannya. Kalau sanggup, dia butuh waktu berapa lama.
f.       Bisa menentukan biaya yang dia butuhkan (bayaran) untuk pekerjaan yang dilakukan. Tahu batas minimal biayanya, sehingga tidak terjadi kesulitan di belakang nanti.
g.      Komitmen untuk menyelesaikan tugas sesuai dengan perjanjian, termasuk garansi dan maintenance (perawatan).
h.      Tahu batasan pekerjaan yang dia lakukan, sehingga bisa menolak seandainya permintaan dari klien telah melebihi batasan perjanjian.

  1. Kode Etik Programmer
Seperti halnya seorang dokter, pengacara , atau bidang lainnya, programmer komputer juga memiliki kode etik. Kode etik merupakan sesuatu hal yang harus menjadi bagian dari seorang programmer komputer. Kode etik bersumber dari kode etik yang digunakan dalam perkumpulan programmer internasional. Adapun kode etik programmer komputer antara lain :
a.    Programmer komputer tidak boleh menggunakan ulang kode yang mempunyai hak cipta, kecuali telah membeli atau meminta izin.
b.    Tidak boleh mencari keuntungan tambahan dari proyek yang didanai oleh pihak kedua tanpa izin.
c.    Tidak boleh mencuri software khususnya development tools.
d.   Tidak boleh mencela atau mempermalukan profesi programmer computer.
e.    Tidak dengan sengaja membuat atau mengenalkan bug, dan kemudian mengklaim untuk  fixing bug , atau memberikan stimulasi untuk update versi terakhir.
f.     Tidak boleh menulis kode yang dengan sengaja menjatuhkan kode programmer lain untuk mengambil keuntungan dalam menaikkan status.
g.    Tidak boleh mengambil keuntungan dari pekerjaan orang lain.
h.    Seorang programmer tidak boleh membuat atau mendistribusikan Malware.
i.      Seorang programmer tidak boleh menulis kode yang sulit diikuti dengan sengaja. j.Seorang programmer tidak boleh menulis dokumentasi yang dengan sengaja untuk membingungkan atau tidak akurat.
j.      Tidak boleh menerima dana tambahan dari berbagai pihak eksternal dalam suatu proyek secara bersamaan kecuali mendapatkan izin.
k.    Tidak boleh membeberkan data-data penting karyawan dalam perusahaan.
l.      Tidak boleh memberitahu masalah keuangan pada pekerja dalam pengembangan suatu proyek.
m.  Tidak boleh secara asal-asalan menyangkal adanya bug dalam aplikasi.
n.    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.

  1. Pelanggaran Proggrammer
Adapun beberapa pelanggaran yang umum dan sering terjadi adalah sebagai berikut :
a.       Pelanggaran Copyright Pelanggaran ini merupakan pelanggaran dimana seorang programmer menggunakan ulang kode dengan hak cipta orang lain atau perusahaan lain dan menjual atau mengkomersilkan kembali kode tersebut dengan mengatas namakan hak cipta programmer tersebut. Untuk pelanggaran ini seorang programmer bisa diberikan sanksi berupa sanksi Hukum baik hukum pidana atau pun hukum perdata.
b.      Pembuatan Virus Komputer Pelanggaran ini merupakan pelanggaran dimana seorang programmer dengan sengaja membuat sebuah Program Virus, dan menyebarkannya ke semua komputer di dunia melalui jaringan internet. Untuk kasus ini bisa dibilang cukup sulit, dikarenakan banyak programmer pembuat virus tersebut menginisialkan nama aslinya sehingga sulit untuk melacak keberadaannya. Untuk pelanggaran ini, bisa diberikan sanksi berupa sanksi Hukum bila programmer tersebut terbukti dan tertangkap membuat program virus tersebut.
c.       Pembuatan Software Cracking Untuk pelanggaran yang satu ini merupakan pelanggaran dimana seorang programmer membuat sebuah Aplikasi yang memungkinkan menjadikan Software berbayar menjadi Free alias Gratis. Untuk pelanggaran ini, bisa diberikan sanksi berupa sanksi Hukum karena melanggar hak cipta dari pengembang software asli. Hacking Merupakan pelanggaran yang cukup banyak ditemui sekarang ini. Banyak sekali website-website yang terkena hacking oleh para hacker-hacker dunia. Dan tidak hanya merubah tampilan halaman sebuah website saja, kadang juga beberapa hacker ada yang membuat Server dari hosting website tersebut Down alias Hank dan tidak bisa beroperasi selama beberapa jam atau menit. Untuk pelanggaran tersebut belum ada sanksi yang jelas, dan sedikit sulit untuk menangkap tersangka Hacker tersebut karena menggunakan nama inisial. Untuk di Indonesia sudah ada UU yang menangani masalah tersebut yaitu UU ITE.
d.      Carding Pelanggaran ini merupakan pelanggaran seorang programmer dimana programmer tersebut mengumpulkan data Kartu Kredit atau Akun Bank dari seseorang dan kemudian disalahgunakan dengan memindahkan sejumlah uang atau menggunakan uang hasil pengumpulan data tersebut. Untuk pelanggaran ini bisa dikenakan Sanksi Hukum dan masuk kedalam kategori Hukum Pidana maupun Perdata bila pelaku tertangkap dan terdapat bukti yang menguatkan.





III.   Kesimpulann

Profesionalisme merupakan komitmen para anggota suatu profesi untuk meningkatkan kemampuannya secara terus menerus. Profesionalisme merupakan suatu tingkah laku, suatu tujuan atau suatu rangkaian kualitas yang menandai atau melukiskan coraknya suatu “profesi”. Programmer adalah orang yang menulis kode program untuk suatu aplikasi tertentu berdasarkan rancangan yang dibuat oleh system analis (lebih memahami teknologi komputer).
Jenis profesi programmer antara lain programmer, database programmer, web programmer, multimedia programmer. Programmer yang professional adalah programmer yang memiliki keahlian-keahlian yang harus dimikili seorang programmer dan melaksanakan tugasnya sebagai seorang programmer dengan berlandaskan kode etik programmer. Pelanggaran yang sering dilakukan programmer antara lainPelanggaran Copyright, Pembuatan Virus Komputer, Pembuatan Software Cracking, Hacking dan Carding.