Kriteria Manajer Proyek yang Baik

Leave a comment

Manajer Proyek (Project Manager) adalah seseorang yang brtindak sebagai pimpinan dalam suatu proyek. PM ini sangat berperan penting dalam adanya suatu proyek, karena kegagalan dan keberhasilan dari proyek tersebut di tentukan oleh PM itu sendiri.

Untuk menjadi seorang PM yang baik diperlukan beberapa kriteria khusus agar proyek berhasil dengan baik. Kriteria tersebut dilihat dari berapa sisi diantaranya :

Karakter dari Kepribadinya

Karakteristik dari Kemampuan Terkait dengan Proyek yang Dikelola

Karakteristik Kemampuan Terkait dengan Tim yang Dipimpin

1.  Karakter dari Kepribadiannya

Harus memahami dan menguasai semua hal baik secara teori maupun teknis terhadap proyek yang sedang di tangani.

Memiliki pengalaman dan keahlian yang berkaitan dengan proyek yang sedang dikelola.

Sebagai seorang yang mengambil keputusan, maka harus mampu bertindak secara adil dan bertanggung jawab.

Memiliki wibawa, mampu beradaptasi dan bergaul dengan bawahan sehingga tidak ada kesenjangan antara atasan dan bawahan.

2.  Karakteristik dari Kemampuan Terkait dengan Proyek yang Dikelola

Memiliki komitmen yang tinggi untuk meraih tujuan serta keberhasilan proyek.

Mampu menyelesaikan proyek sesuai dengan waktu dan anggaran yang diberikan.

Membuat dan melakukan rencana darurat untuk mengantisipasi hal-hal maupun masalah tak terduga.

Mampu membuat perencanaan dalam jangka panjang dan jangka pendek.

Memiliki kemauan untuk mendefinisikan ulang tujuan, tanggung jawab dan jadwal selama hal tersebut ditujukan untuk mengembalikan arah tujuan dari pelaksanaan proyek jika terjadi jadwal maupun anggaran yang meleset.

3.  Karakteristik Kemampuan Terkait dengan tim yang Dipimpin

Mampu bersosialisasi dengan bawahan atau anggota tim.

Mampu membangun kedisiplinan secara structural

Memiliki kemampuan dan keahlian berkomunikasi serta manjerial.

Menghormati para anggota tim kerjanya serta mendapat kepercayaan dan penghormatan dari mereka.

Memiliki kepercayaan yang tinggi kepada para profesional terlatih untuk menerima pekerjaan-pekerjaan yang didelegasikan darinya.

Berbagi sukses dengan seluruh anggota tim.

Mampu menempatkan orang yang tepat di posisi yang sesuai.

Memberikan apresiasi yang baik kepada para anggota tim yang bekerja dengan baik.

 http://udifq.wordpress.com/kriteria-manajer-proyek-yang-baik/

COCOMO

Leave a comment

COCOMO (Constructive Cost Model)

COCOMO adalah model konstruktif biaya dan dikembangkan di TRW / Northrop-Grumman pada tahun 2002. COCOMO didesain oleh Barry Boehm untuk memperoleh perkiraan dari jumlah orang-bulan yang diperlukan untuk mengembangkan suatu produk perangkat lunak. COCOMO merupakan suatu model parametris pengestimasian yang menghitung jumlah FP dalam perencanaan serta pengembangan perangkat lunak. Satu hasil observasi yang paling penting dalam model ini adalah bahwa motivasi dari tiap orang yang terlibat ditempatkan sebagai titik berat.COCOMO terdapat tiga macam pengimplementasian dalam evolusinya sejak dari awal kejadiannya hingga kini, yaitu:

– Basic (COCOMO I 1981)
Menghitung dari estimasi jumlah LOC (Lines of Code);
– Intermediate (COCOMO II 1999)
– Menghitung dari besarnya program dan “cost drivers” (faktor-faktor yang berpengaruh langsung kepada proyek), seperti: perangkat keras, personal, danatribut-atribut proyek lainnya;

– Mempergunakan data-data historis dari proyek-proyek yang pernah menggunakan COCOMO I, dan terdaftar pengelolaan proyeknya dalam COCOMO database.
– Advanced
Memperhitungkan semua karakteristik dari “intermediate” di atas dan “cost drivers” dari setiap fase (analisis, desain, implementasi, dsb) dalam siklus hidup pengembangan perangkat lunak.
Model COCOMO dapat diaplikasikan dalam tiga tingkatan kelas:

1. Proyek organik, adalah proyek dengan ukuran relatif kecil, dengan anggota tim yang sudah berpengalaman, dan mampu bekerja pada permintaan yang relatif fleksibel.

2. Proyek sedang (semi-terpisah), adalah proyek yang memiliki ukuran dan tingkat kerumitan yang sedang, dan tiap anggota tim memiliki tingkat keahlian yang berbeda.

3. Proyek terintegrasi, adalah proyek yang dibangun dengan spesifikasi dan operasi yang ketat.

Pengenalan Cocomo ini diawali tahun 70-an akhir. Sang pelopor Boehm, melakukan riset dengan mengambil kasus dari 63 proyek perangkat lunak untuk membuat model matematisnya.Model dasar dari model ini adalah persamaan:

effort = C x sizeM

Dikenal sebagai Constructive Cost Model (COCOMO), model konstruksi biaya.
Dimana :
C dan M adalah koefisien konstanta ( > 1 ), targantung pada tipe proyek dan organisasi, dengan cara melihat Tabel Konstanta (sudah tersedia dari penelitian).
Ditentukan pula oleh: application experience, leadership capability, new environment and tools, requirements uncertainty, software reuse.

Persamaan dasar model COCOMO adalah:

E = ab (KLOC)b

b

D = cb (E)d

b

P = E / D
Dimana E adalah usaha dalam orang-bulan, D adalah waktu pengerjaan dalam satuan bulan, KLOC adalah estimasi jumlah baris kode dalam ribuan, dan P adalah jumlah orang yang diperlukan. Koefisien ab, bb, cb, dan db diberikan pada tabel berikut:

Penggolongan suatu proyek perangkat lunak didasarkan pada sistem aplikasi dimana perangkat lunak tersebut dikembangkan dan lingkungan pendukungnya. Penggolongan ini terbagi atas:

– Organic mode : digunakan pada proyek-proyek kecil dengan sedikit pekerja dandikembangkan pada lingkungan yang tidak memerlukan program antar-muka (interface)yang kompleks, contoh: pembuatan situs mandiri untuk perusahaan;

– Embedded mode : mode ini merupakan kombinasi antara dua mode di atas dan memilikikarekteristik gabungan antara keduanya. Proyek mode ini dikembangkan ke dalamserangkaian perangkat keras, lunak dan batasan operasional yang ketat, contoh: aplikasipengontrolan penerbangan pada pesawat terban.

Pengembangan model COCOMO adalah dengan menambahkan atribut yang dapat menentukan jumlah biaya dan tenaga dalam pengembangan perangkat lunak, yang dijabarkan dalam kategori dan subkategori sebagai berikut:

1. Atribut produk
a. Reliabilitas perangkat lunak yang diperlukan
b. Ukuran basis data aplikasi
c. Kompleksitas produk

2. Atribut perangkat keras
a. Performa program ketika dijalankan
b. Memori yang dipakai
c. Stabilitas mesin virtual
d. Waktu yang diperlukan untuk mengeksekusi perintah

3. Atribut Sumber Daya Manusia
a. Kemampuan analisis
b. Kemampuan ahli perangkat lunak
c. Pengalaman membuat aplikasi
d. Pengalaman menggunakan mesin virtual
e. Pengalaman dalam menggunakan bahasa pemrograman

4. Atribut proyek
a. Menggunakan perangkat lunak tambahan
b. Metode rekayasa perangkat lunak
c. Waktu yang diperlukan

Sumber

http://toraerdo.blogspot.com/2012/04/cocomo-constructive-cost-model-cocomo.html

Penggunaan Software Opensource

Leave a comment

Mengapa menggunakan software opensource?

Dalam Bahasa Indonesia, open source adalah kode terbuka. Kode yang dimaksud adalah kode program (perintah-perintah) yang diketikkan berdasarkan logika yang benar).  Suatu program dengan lisensi open source, berarti program tersebut membuka kode programnya bagi siapa saja yang ingin mempelajarinya. Caranya dengan menyertakan kode program bersama dengan distribusi paket program yang sudajh jadi (hasil kompilasi).

Opensource atau dalam bahasa indonesianya adalah Sumber terbuka adalah sistem pengembangan yang tidak dikoordinasi oleh suatu individu / lembaga pusat, tetapi oleh para pelaku yang bekerja sama dengan memanfaatkan kode sumber (source-code) yang tersebar dan tersedia bebas (biasanya menggunakan fasilitas komunikasi internet).

Pola Open Source lahir karena kebebasan berkarya, tanpa intervensi berpikir dan mengungkapkan apa yang diinginkan dengan menggunakan pengetahuan dan produk yang cocok. Kebebasan menjadi pertimbangan utama ketika dilepas ke publik. Komunitas yang lain mendapat kebebasan untuk belajar, mengutak-ngatik, merevisi ulang, membenarkan ataupun bahkan menyalahkan, tetapi kebebasan ini juga datang bersama dengan tanggung jawab, bukan bebas tanpa tanggung jawab.

Open source berdasarkan kebebasan user dalam menggunakan pendistribusian dan  lainnya serta software gratis (tanpa biaya). Feature utama dari karakteristik open source adalah kebebasan user untuk:

  • Menggunakan software sesuai keinginannya
  • Memiliki software yang tersedia sesuai kebutuhan
  • Mendistribusikan software kepada user lainnya.

Open source merupakan implementasi software dalam bentuk source code yang dapat dibaca. Beberapa contohnya adalah web server (apache), Bahasa pemrograman (perl, PHP), sistem operasi (Linux, OpenBSD), pembuat portal (phpnuke, postnuke, mambo), e-learning management system (Moddle, Claroline), dll.

Keuntungan Dan Kerugian Open Source

Penggunaan open source belakangan ini semakin popular saja. Namun, open source ini memliki keuntungan dan kerugian.

Beberapa keuntungan :

  1. Adanya hak untuk mendistribusikan modifikasi dan perbaikan pada code.
  2. Ketersediaan source code dan hak untuk memodifikasi
  3. Tidak disandera vendor.
    Open source menggunakan format data terbuka, sehingga data menjadi transparan dan bisa dengan bebas diproses di sistem komputer yang berbeda-beda, sambil tetap menjaga keamananya. Dengan demikian, konsumen tidak lagi terikat pada kemauan vendor untuk dapat menggunakan data-datanya.
  4. Banyaknya tenaga (SDM) untuk mengerjakan proyek.
    Proyek open source biasanya menarik banyak developer, misalnya: pengembangan web server Apache menarik ribuan orang untuk ikut mengembangkan dan memantau.
  5. Kesalahan (bugs, error) lebih cepat ditemukan dan diperbaiki.
    Hal ini dikarenakan jumlah developer-nya sangat banyak dan tidak dibatasi. Visual inspection (eye-balling) merupakan salah satu metodologi pencarian bugs yang paling efektif. Selain itu, source code tersedia membuat setiap orang dapat mengusulkan perbaikan tanpa harus menunggu dari vendor.
  6. Kualitas produk lebih terjamin.
    Hal ini dikarenakan evaluasi dapat dilakukan oleh banyak orang, sehingga kualitas produk dapat lebih baik. Namun, hal ini hanya berlaku untuk produk open source yang ramai dikembangkan orang. Tidak selamanyaopen source dikembangkan oleh banyak orang, karena bisa juga dilakukan oleh individual.
  7. Lebih aman (secure).
    Sifatnya yang terbuka membuat produk open source dapat dievaluasi oleh siapa pun. Public scrutinity merupakan salah satu komponen penting dalam bidang keamanan. Secara umum, open source memiliki potensi untuk lebih aman meskipun dia tidak terkendali secara otomatis. Namun, hal ini dapat tercapai, jika security by obscurity bukan tujuan utamanya.
  8. Hemat biaya.Sebagian besar developer ini tidak dibayar/digaji.
    Dengan demikian, biaya dapat dihemat dan digunakan untuk pengeluaran yang tidak dapat ditunda, misal membeli server untuk hosting web.
  9. Tidak mengulangi development.
    Pengulangan (re-inventing the wheel) merupakan pemborosan. Adanyasource code yang terbuka membuka jalan bagi seseorang programmeruntuk melihat solusi-solusi yang pernah dikerjakan oleh orang lain. Namun, pada kenyataannya tetap banyak pengulangan.
  10. User dapat membuat salinan tak terbatas, menjual atau memberikan bebas hasil lisensi.
  11. User dapat memodifikasi dan mengunci agar hanya kalangan terbatas yang dapat membaca kode dan memodifikasinya.
  12. Mencegah software privacy yang melanggar hukum.

Beberapa kerugian :

  1. Kurangnya SDM yang dapat memanfaatkan open source.
    Ketersediaan source code yang diberikan dapat menjadi sia-sia, jika SDM yang ada tidak dapat menggunakannya. SDM yang ada ternyata hanya mampu menggunakan produk saja, Jika demikian, maka tidak ada bedanya produk open source dan yang propriertary dan tertutup.
  2. Tidak adanya proteksi terhadap HaKI.
    Kebanyakan orang masih menganggap bahwa open source merupakan aset yang harus dijaga kerahasiannya. Hal ini dikaitkan dengan besarnya usaha yang sudah dikeluarkan untuk membuat produk tersebut. Karena sifatnya dapat di-abuse oleh orang-orang untuk mencuri ide dan karya orang lain.
  3. Kesulitan dalam mengetahui status project.
  4. Tidak ada garansi dari pengembangan.
  5. Limitasi modifikasi oleh orang – orang tertentu yang membuat atau memodifikasi sebelumnya.
  6. Untuk beberapa platform, contohnya JAVA yang memiliki prinsip satu tulis dan bisa dijalankan dimana saja, akan tetapi ada beberapa hal dari JAVA yang tidak competible dengan platform lainnya. Contohnya J2SE yang  SWT – AWT bridge-nya belum bisa dijalankan di platform Mac OS.
  7. Open Source digunakan secara sharing, dapat menimbulkan resiko kurangnya diferensiasi antara satu software dengan yang lain, apabila kebetulan menggunakan beberapa Open Source yang sama.

 

Sumber :

http://freezcha.wordpress.com/2011/03/18/keuntungan-dan-kerugian-penggunaan-open-source/

http://nabiyutiful.blogspot.com/2012/04/kenapa-kita-dianjurkan-menggunakan.html

 

PROFESI YANG BERLAKU BAGI PROGRAMMER DI INDONESIA

Leave a comment

Disusun Oleh :

  1. Lucia Isadora      (14109810)
  2. Rena Respiana     (13109328)
  3. Selly Firgina P     (10109233)

Kelas : 4KA07

 

PENDAHULUAN

Latar Belakang

 Suatu  kode  etik  menggambarkan  nilai-nilai  profesional  suatu  profesi  yang  diterjemahkan  ke dalam standart  perilaku   anggotanya. Nilai  professional  paling  utama  adalah  keinginan  untuk  memberikan pengabdian kepada masyarakat. Kode  etik dijadikan standart aktivitas anggota profesi, kode etik tersebut sekaligus sebagai pedoman  (guidelines)

Kode Etik dapat diartikan pola aturan, tata cara, tanda cara, tanda pedoman etis dalam melakukan suatu kegiatan atau  pekerjaan. Kode etik merupakan pola aturan atau tata cara sebagai pedoman berperilaku. Dalam  kaitannya  dengan  profesi,  bahwa  kode  etik  merupakan  tata  cara  aturan  yang  menjadi  standart kegiatan anggota suatu profesi.

Kata  etika  sendiri  berasar  dari  bahasa  Yunani  yaitu       Ethos yang  berarti  adat  istiadat  atau kebiasaan.Oteng / Sutisna (1986 : 364) mendefinisikan bahwa kode etik sebagai pedoman yang memaksa perilaku  etis  anggota  profesi.  Bahwasannya  setiap  orang  harus  menjalankan  serta  menjiwai  akan  pola ketentuan  aturan,  karenapada  dasarnya  suatau  tindakan  yang  tidak  menggunakan  kode  etik  akan berhadapan dengan sanksi.

Salah satu profesi dibidang IT adalah Programmer, seorang programmer harus memiliki pengalaman yang  cukup  dan  benar-benar  mengusai  ilmu  dibidangnya,  selain  itu  seorang  programmer  juga  harus mematuhi kode etik yang berlaku.  Maka dari itu kode etik programmer perlu dipelajari, dimengerti dan dijalankan.

 

 

 

 

 

 

 

 

 

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 :

 

  1. Seorang programmer tidak boleh membuat atau mendistribusikan Malware.
  2. Seorang programmer tidak boleh menulis kode yang sulit diikuti dengansengaja.
  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 telah meminta izin.
  5. Tidak boleh mencari keuntungan tambahan dari proyek yang didanai oleh pihak kedua tanpa izin.
  6. Tidak boleh mencuri software khususnya development tools.
  7. Tidak boleh menerima dana tambahan dari berbagai pihak eksternal dalam suatu proyek secara bersamaan kecuali mendapatkan izin.
  8. Tidak boleh menulis kode yang dengan sengaja menjatuhkan kode programmer lain untuk mengambil keuntungan 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 programmer akan mendapatkan keuntungan dalam membetulkan bug.
  15. 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.
  1. 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.

  1. 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.

  1. Multimedia Programmer

Programmer multimedia yang menguasai penggunaan teknologi dan pengembangan aplikasi berbasis multimedia

  1. Embedded Programmer

Programmer yang menguasai arsitektur sistem mikroprosesor, interfacing dan pemrograman embedded.

 

Faktor yang Mempengaruhi Kualitas Produk dan Produktitas Programmer

  1. 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.

  1. Kerumitan produk

Tiga level kerumitan produk : program aplikasi, program utility, program level sistem.

  1. 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.

  1. Kendali perubahan

Perubahan terhadap produk harus tetap meminta persetujuan manajer sebagai penanggung jawab proyek. Dampak perubahan harus dapat ditelusuri, diuji, dan didokumentasikan.

  1. 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

  1. Pendekatan sistematis

Sistem menetapkan teknik dan prosedur baku. pembakuan dalam pengembangan dan pemeliharaan perangkat lunak masih belum mantap.

  1. Tingkat keandalan

Setiap produk harus mempunyai keandalan standar. Peningkatan keandalan dihasilkan melalui perhatian yang sangat besar pada tahap analisa. Peningkatan keandalan akan menurunkan produktivitas.

  1. 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.
  1. 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.
  1. 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.

  1. 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.

  1. 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.
  1. 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”.

  1. 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.
  1. Kemampuan programmer professional

 

 

 

 

 

 

 

Daftar Pustaka

 

http://chaniagorandy.blogspot.com/2011/03/profesi-programmer.html

http://missyuntary.files.wordpress.com/2011/04/etika-programmer.pdf

https://docs.google.com/viewer?a=v&q=cache:PepjfLoQGx0J:henisafitri.files.wordpress.com/2010/01/makalah-pemrograman1.doc+makalah+profesi+programmer&hl=id&pid=bl&srcid=ADGEEShoVa1pu2v9SlDfbo58eSpO-p6kn9knxqV5eSHHlUW8orWp_6t93YJYzuk8mjrSjWKT55ALHoWpb3ilkoAhYJd3-aai2VXWaveGHMiJnEbqJzzEdeZjCU35siCxQYv4WzwV5XWg&sig=AHIEtbQIPSfATH4cb5bsi8E61l8W8f-dzQ