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
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.
Ketrampilan
yang Dimiliki Seorang Programmer
1.
Memahami kode sumber sebuah
program,
dari yang sederhana hingga relatif kompleks, adalah keterampilan yang harus dimiliki oleh
seorang programmer.
2.
Implementasi sebuah
algoritma yang memodifikasi sebentuk
struktur data dalam sebuah
program
dapat
kita adaptasikan
ke dalam
program yang kita buat
sendiri dengan konteks dan
struktur data yang sama sekali berbeda
3.
Melanjutkan pengelolaan,
menyesuaikan, mengembangkan dan
(bila perlu)
merombaknya untuk menyesuaikan
program dengan kebutuhan
pengguna
tanpa mengorbankan
kemudahan perawatan di masa mendatang.
4.
Memiliki kemampuan sebagaimana dijelaskan
dalam point
1. dan 2. untuk program yang ditulis
dan didokumentasikan
oleh programmer
lain.
5.
Membaca program
untuk memperkaya perkakas yang dimiliki seorang programmer untuk memecahkan
masalah.
Kelompok Bidang Programmer
Profesi seorang programmer dapat
dikelompokkan
menjadi beberapa bidang sebagai berikut:
1.
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.
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
10g.
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.
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.
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.
- Kemampuan
programmer professional
·
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.
Sumber :