PROFESI PROGRAMMER DAN SYARAT-SYARATnya
Pengertian
Programmer Komputer
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.
Perkembangan
Dunia Programmer
Seorang programer tentu lebih mengutamakan dari sisi programingnya. Bagaimana
kecepatan prosesnya, bagaimana keamanan scriptnya, bagaimana dapat berjalan
dengan baik di berbagai platform, bagaimana mempermudah untuk mengembangkan
script tersebut nantinya, bagaimana agar mudah untuk dibuatkan design
(template) nya. Hal-hal tersebut akan menjadi pertimbangan-pertimbangan seorang
programer dalam bekerja.
Programer akan benar-benar diperlukan jika program yang dibuat bersifat uniq
dan tidak ada atau belum ada opensourcenya. Atau jika sudah ada opensourcenya
perlu meng-customize software tsb untuk disesuaikan dengan kebutuhan.
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 :
- Seorang programmer tidak boleh membuat atau mendistribusikan Malware.
- Seorang programmer tidak boleh menulis kode yang sulit diikuti dengansengaja.
- Seorang programmer tidak boleh menulis dokumentasi yang dengan sengaja untuk membingungkan atau tidak akurat.
- Seorang programmer tidak boleh menggunakan ulang kode dengan hak cipta kecuali telah membeli atau telah meminta izin.
- Tidak boleh mencari keuntungan tambahan dari proyek yang didanai oleh pihak kedua tanpa izin.
- Tidak boleh mencuri software khususnya development tools.
- Tidak boleh menerima dana tambahan dari berbagai pihak eksternal dalam suatu proyek secara bersamaan kecuali mendapatkan izin.
- Tidak boleh menulis kode yang dengan sengaja menjatuhkan kode programmer lain untuk mengambil keuntungan dalam menaikkan status
- Tidak boleh membeberkan data-data penting karyawan dalam perusahaan.
- Tidak boleh memberitahu masalah keuangan pada pekerja dalam pengembangan suatu proyek.
- Tidak pernah mengambil keuntungan dari pekerjaan orang lain.
- Tidak boleh mempermalukan profesinya.
- Tidak boleh secara asal-asalan menyangkal adanya bug dalam aplikasi.
- Tidak boleh mengenalkan bug yang ada di dalam software yang nantinya 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.
Persiapan
Menjadi Programmer
Menguasai
dasar teknologi informasi, harus mengetahui apa dan bagaimana sistem komputer,
apakah program dan apa manfaat dibuatnya sebuah program tersebut. Harus
memperlajari bagaimana menggunakan internet karena internet sangat penting
sebagai salah satu wahana mencari informasi ketika belajar pemrograman, selain
buku referensi tentunya.
- Kemampuan yang diperlukan, tidak perlu mahir dalam pemrograman, namun harus memiliki semangat dan obsesi yang tinggi dalam belajar dan menekuni profesi programmer komputer, sehingga semua kesulitan belajar tidak akan menjadi penghalang yang berarti. Tidak akan mudah putus asa, tidak mudah stres dan tidak mudah berhenti belajar pemrograman ditengah jalan apabila mengalami sesuatu yang tidak mengenakkan.
- Sertifikasi programmer, sertifikasi memiliki beberapa manfaat diantaranya membantu melihat kompetensi dari seorang programmer dan dapat dijadikan sarana pengujian diri untuk mengetahui sejauh mana kemampuan dan kompetensi yang dimiliki.
Kewajiban
Programmer
- 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.
- Memahami konsep dasar jaringan. Sebuah aplikasi tidak dapat berjalan sendiri. Aplikasi tersebut pasti harus berhubungan dengan internet, melayani banyak pengguna
- Memahami konsep dasar relational database. Setiap aplikasi pasti memiliki sebuah database dalam penyimpanan datanya untuk itu programmer khususnya Database Programmer ditekankan menguasai relational database.
- Karena sekarang jaman internet, maka wajib memahami protokol HTTP, FTP, POP3, SMTP, SSH. Protokol HTTP sekarang adalah protokol yang paling banyak digunakan di internet.
- Karena sekarang jaman globalisasi, maka wajib memahami Unicode. Unicode itu penting supaya aplikasi kita tetap bisa diinstal di komputer mana saja.
- 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.
- Cara menggunakan Version Control. Dalam dunia kerja, penggunaan version control adalah wajib. Ini standar (de facto) internasional.
Ketrampilan
yang Dimiliki Seorang Programmer
- Memahami kode sumber sebuah program, dari yang sederhana hingga relatif kompleks, adalah keterampilan yang harus dimiliki oleh seorang programmer.
- 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
- Melanjutkan pengelolaan, menyesuaikan, mengembangkan dan (bila perlu) merombaknya untuk menyesuaikan program dengan kebutuhan pengguna tanpa mengorbankan kemudahan perawatan di masa mendatang.
- Memiliki kemampuan sebagaimana dijelaskan dalam point 1. dan 2. untuk program yang ditulis dan didokumentasikan oleh programmer lain.
- Membaca program untuk memperkaya perkakas yang dimiliki seorang programmer untuk memecahkan masalah.
Kelompok
Bidang Programmer
Profesi
seorang programmer dapat dikelompokkan menjadi beberapa bidang sebagai berikut:
- 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 antara lain :
- Menulis program (coding) dengan menggunakan pemrograman tertentu (VB, VB.NET, Java).
- 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.
- 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.
- 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.
- Multimedia Programmer
Programmer
multimedia yang menguasai penggunaan teknologi dan pengembangan aplikasi
berbasis multimedia
- Embedded Programmer
Programmer
yang menguasai arsitektur sistem mikroprosesor, interfacing dan pemrograman
embedded.
Faktor yang
Mempengaruhi Kualitas Produk dan Produktitas Programmer
- 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.
- Kerumitan produk
Tiga level
kerumitan produk : program aplikasi, program utility, program level sistem.
- 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.
- Kendali perubahan
Perubahan
terhadap produk harus tetap meminta persetujuan manajer sebagai penanggung
jawab proyek. Dampak perubahan harus dapat ditelusuri, diuji, dan
didokumentasikan.
- 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
- Pendekatan sistematis
Sistem
menetapkan teknik dan prosedur baku. pembakuan dalam pengembangan dan
pemeliharaan perangkat lunak masih belum mantap.
- Tingkat keandalan
Setiap produk
harus mempunyai keandalan standar. Peningkatan keandalan dihasilkan melalui
perhatian yang sangat besar pada tahap analisa. Peningkatan keandalan akan
menurunkan produktivitas.
- 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 mendapatkaninformasi kebutuhan pelanggan karena pelanggan bukan seorang end user.
- Persyaratan keterampilan
Berbagai
keterampilan harus ada dalam sebuah proyek perangkat lunak, misalnya:
- Keterampilan berkomunikasi dengan pelanggan untuk memastikan keinginannya dengan sejelas-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.
- 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.
- 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.
- Ketersediaan waktu
Berbagai
keterampilan harus ada dalam sebuah proyek perangkat lunak, misalnya :
- Keterampilan berkomunikasi dengan pelanggan untuk memastikan keinginannya dengan sejelas-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.
- 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.
Sikap
Programmer Terhadap Klien
- Mempunyai sikap & kepribadian baik, komunikatif, mudah beradaptasi dengan lingkungan kerja, cekatan & fleksibel.
- Mampu bekerja berorientasi jadwal, mengatur pekerjaan multiple project dan bekerja sama dalam team.
- Membuat kontrak kerja dengan klien.
- Menyukai dan mengerti dasar-dasar pemrograman.
Jenis –
jenis Pelanggaran Pemograman
Kode etik pemrograman merupakan pengaturan diri profesi yang bersangkutan dan
ini perwujudan moral yang hakiki, yang tidak dapat dipaksakan dari luar. Kode
etik pemrograman hanya berampilrlaku efektif apabila dijiwai oleh cita-cita dan
nilai-nilai yang hidup dalam lingkungan profesi itu sendiri. Kode etik
merupakan kriteria prinsip profesionalisme yang lebih digariskan, sehingga
diketahui dengan pasti kewajiban profesionalisme lama, baru ataupun calon
anggota kelompok profesi. Dalam bab makalah ini yang akan dijabarkan lebih
banyak adalah mengenai kode etik pemrograman. Semakin berkembangnya teknologi,
semua aplikasi akan berbasis Internet Protokol (IP). Berbagai cara digunakan
untuk melewatkan layanan melalui jaringan IP. Jaringan IP sendiri adalah
merupakan jaringan komunikasi data yang berbasis packet-switch. Salah satu
layanan yang bisa dilewatkan melalui jaringan IP adalah layanan voice atau
biasa disebut Voice over Internet Protocol (VoIP). VoIP adalah teknologi
yang mampu melewatkan trafik suara yang berbentuk paket melalui jaringan IP.
Komunikasi real time seperti voice merupakan layanan yang sangat rentan
terhadap delay sedangkan jaringan akses yang sudah ada memberikan delay yang
cukup besar untuk layanan ini. Salah satu alternatif jaringan yang dapat
digunakan adalah jaringan dengan teknologi WiMAX (Worldwide Interoperability
for Microwave Access) Teknologi ini mampu memberikan layanan data berkecepatan
hingga 70 Mbps dalam radius hingga 50 km. Radius yang cukup untuk menjadikan
WiMAX sebagai jaringan telekomunikasi broadband. Dengan teknologi WiMAX, impian
akan layanan informasi data yang murah dengan kecepatan tinggi akan segera
terwujud
Pelanggaran
kode etik pemrograman
Faktor utama
meningkatnya Pelanggaran Kode Etik Pemrograman adalah makin merebaknya
penggunaan internet. Jaringan luas komputer tanpa disadari para pemiliknya
disewakan kepada spammer (penyebar e-mail komersial), fraudster (pencipta
situs tipuan), penyabot digital. Terminal-terminal jaringan telah terinfeksi
virus komputer, yang mengubah komputer menjadi “zombie”.
- Kualifikasi programmer
- Selalu gembira, dengan membiasakan bergembira akan mampu mengoptimalkan hasil kerja. Orang yang gembira cenderung memiliki etos kerja daripada orang yang selalu murung atau tidak bergembira.
- Lurus hati dan berdisiplin, akan menyebabkan memiliki perasaan yang nyaman, selalu menyejukkan suasana dan menjadikan pergaulan lebih sehat. Bersikaplah sesuai dengan peraturan walaupun lingkungan terbiasa melanggar peraturan. Selalu disiplin dan menepati komitmen yang telah dibuat, sehingga akan selalu diandalkan oleh rekan – rekan kerja.
- Bijaksana, cerdik dalam mengamati situasi dan mampu mengambil keputusan dengan cepat
- Sopan santun, agar selalu disenangi dan dihargai oleh orang lain.
- Mudah bergaul, agar dapat memperluas jaringan yang memungkinkan untuk mengembangkan kemampuan yang dimiliki serta mendapatkan peluang bisnis.
- Penuh inisiatif, selalu mencari peluang yang ada.
- Tidak mudah putus asa dan pantang menyerah, kegagalan justru menjadi pemicu anda untuk berusaha lebih baik lagi.
- Ketajaman daya ingat, untuk mempermudah dalam pembuatan program karena banyak sintaks yang harus diingat.
- Penuh perhatian terhadap segala hal yang menjadi tanggung jawab anda.
- Percaya diri, agar tidak mudah terpengaruh dengan pemikiran orang lain.
- Selalu ingin tahu, agar selalu berfikir dan terus menerus memperbaiki diri.
- Bertanggung jawab, harus berani mempertanggungjawabkan segala hal yang telah dibuat.
- Instalasi software dan hardware, bisa melakukan instalasi karena instalasi merupakan tahap awal untuk melakukan deployment program.
- Keamanan manajemen dan keamanan sistem, bisa menjamin keamanan program agar tidak disusupi oleh orang lain.
- Backup dan recovery data, bisa menyimpan atau mengkonfigurasi program sehingga suatu saat dapat di-restore/recovery.
- Troubleshooting, bisa memastikan tools yang digunakan untuk menjalankan program telah berjalan sebagaimana mestinya, serta mengintegrasikannya dengan berbagai komponen.
- Kemampuan komunikasi, bisa mengkomunikasikan kemampuan program yang dibuat baik kepada sesama tim maupun kepada orang yang membutuhkan program tersebut.
- Kemampuan bahasa pemrograman tertentu, tidak harus menguasai semua jenis bahasa pemrograman, namun harus pandai mencari bahasa pemrograman untuk membangun aplikasi yang banyak dibuthkan...
Comments