Jumat, 19 Juli 2013

RDBMS dalam GIS, Model Basis Data Hybrid, Model Data terintegrasi

RDBMS (Relational Data Base Management System ) adalah sebuah sistem manajemen basis data relasional atau dalam bahasa Inggrisnya dikenal sebagai relational database management system (RDBMS) adalah sebuah program komputer (atau secara lebih tipikal adalah seperangkat program komputer) yang didisain untuk mengatur/memanajemen sebuah basisdata sebagai sekumpulan data yang disimpan secara terstruktur, dan melakukan operasi-operasi atas data atas permintaan penggunanya.
Contoh penggunaan DBMS ada banyak sekali dan dalam berbagai bidang kerja, misalnya akuntansi, manajemen sumber daya manusia, dan lain sebagainya. Meskipun pada awalnya DBMS hanya dimiliki oleh perusahaan-perusahaan berskala besar yang memiliki perangkat komputer yang sesuai dengan spesifikasi standar yang dibutuhkan (pada saat itu standar yang diminta dapat dikatakan sangat tinggi) untuk mendukung jumlah data yang besar, saat ini implementasinya sudah sangat banyak dan adaptatif dengan kebutuhan spesifikasi data yang rasional sehinggal dapat dimiliki dan diimplementasikan oleh segala kalangan sebagai bagian dari investasi perusahaan.

RDBMS dalam GIS
Relational Database Management System (RDBMS) adalah program yang melayani sistem basis data yang entitas utamanya terdiri dari tabel-tabel yang mempunyai relasi dari satu tabel ke tabel yang lain.
Keuntungan yang didapatkan :
1.      Tidak perlu pusing lagi dengan history penyimpanan data yang tersebar per layer
2.      Performance GIS dalam melakukan editing, analisi ataupun query sangat cepat. Hal ini disebabkan karena eksekusi suatu perintah cenderung terkait hanya dengan satu baris pada tabel yang bersangkutan.
3.      Multiuser.

Model Basis Data Hybrid

Model basis data menyatakan hubungan antar rekaman yang tersimpan dalam basis data. Beberapa literatur menggunakan istilah struktur data logis untuk menyatakan keadaan ini. Model dasar yang paling umum yaitu :

1. Model Hirarki
Model hirarki biasa disebut model pohon, karena menyerupai pohon yang dibalik. Model ini menggunakan pola hubungan orang tua & anak. Setiap simpul (biasa sinyatakan dengan lingkaran atau kotak) menyatakan sekumpulan medan. Simpul yang terhubung ke simpul pada level di bawahnya disebut orang tua.Setiap orang tua bisa memiliki satu hubungan (1 : 1) atau beberapa anak (1 : M), tetapi setiap anak hanya memiliki satu orang tua. Simpul-simpul yang dibawahi oleh simpul orang tua disebut anak. Simpul orang tua yang tidak memiliki orang tua disebut akar. Simpul yang tidak memiliki anak disebut daun. Adapun hubungan antara anak dan orang tua disebut cabang. Beriktu memperlihatkan contoh model hirarki, yang terdiri atas 4 level dan 13 simpul.Pada contoh diatas, A berkedudukan sebagai akar, dan berkedudukan sebagai orang tua dari simpul B, C, D, dan E. Keempat simpul yang disebutkan belakangan ini disebut sebagai anak simpaul A. C juga dapat berkedudukan sebagai orang tua , yaitu orang tua F dan G. Adapun simpul F, G, H, I, J, L, dan M disebut sebagai daun.Contoh produk DBMS yang menggunakan model hirarki adalah IMS (Information Management System) , yang dikembangkan oleh dua perusahaan IBM dan Rockwell International Corporation. 

2. Model Basis Data Relasional Dan Sig
Perbedaan penekanan para perancang sistem SIG pada pendekatan basis data untuk penyimpanan koordinatkoordinat peta dijital telah memicu pengembangan dua pendekatan yang berbeda dalam mengimplementasikan basis data relasional di dalam SIG. Pengimplementasian basis data relasional ini didasarkan pada model data hybrid atau terintegrasi.

 
3. Model Data Hybrid
Nah ini merupak inti dari pembahasan kita, jadi langkah awal pada pendekatan ini adalah pemahaman adanya dugaan atau pendapat bahwa mekanisme penyimpanan data yang optimal untuk informasi lokasi (spasial) di satu sisi, tetapi di dsisi yang lain, tidak optimal untuk informasi atribut (tematik). Berdasarkan hal ini, data kartografi digital disimpan di dalam sekumpulan files sistem operasi direct access untuk meningkatkan kecepatan input-output, sementara data atributnya disimpan did alam DBMS relasioanl lomersial yang standar.
Maka perangkat lunak SIG bertugas mengelola hubungan (linkage) anatar files kartografi (lokasi) dan DBMS (data atribut) selama operas-operasi pemrosesan peta yang berbeda (misalnya overlay) berlangsung. Sementara digunakan beberapa pendekatan yang berbeda untuk penyimpanan data kartografi, mekanisme untuk menghubungkan dengan basis datanya tetap sama secara esensial, berdasarkan nomor pengenal (ID) yang unik yang disimpan di dalam sebuah tabel atribut basis data yang memungkinkannya tetap terkait dengan elemen-elemen peta yang bersangkutan.

 
4. Model Data Terintegrasi
Pendekatan modael data terintegrasi juga dideskripsikan sebagai pendekatan sistem pengelolaan basis data (DBMS) spasial, dengan SIG yang bertindak sebagai query processor. Kebanyakan implementasinya pada saat ini adalah bentuk topologi vektor dengan tabel-tabel relasional yang menyimpan data-data koordinat peta (titik, nodes, segmen garis, dl.) bersama dengan tabel lain yang berisi informasi topologi. Data-data atribut disimpan di dalam tabel-tabel yang sama sebagai basis data map feature (tabel internal atau abel yang dibuat secara otomatis) atau disimpan di dalam tabel-tabel yang terpisah dan dapat diakses melalui operasi relasional “JOIN”.


Model Data Terintegrasi

Model data terintegrasi
1.      Perancagannya didasarkan pada boycecodd
2.      SIG bertindak sebagai query processor
3.      Pasangan – pasangan koordinat (x,y) verteks pada segmen garis disimpat pada rows yang berbeda
4.      Titik, segmen garis, dan model data lain disimpan dengan table yang berisi data topologi
5.      Diakses dengan konsep join table.

Pada proses penyimpanan data tradisional, tiap area fungsional organisasi cenderung mengembangkan aplikasi secara masing-masing untuk mengakomodasi proses organisasi dalam wilayah fungsionalnya. Pendekatan tradisional ini dapat memicu terjadinya redudansi data, yaitu ketika divisi yang berbeda menyimpan informasi yang sama. Sebagai contoh, pada divisi pinjaman komersial sebuah bank, bagian marketing dan kredit mungkin akan mengkoleksi informasi tentang customer yang sama.

Teknologi database dapat menyelesaikan sebagian permasalahan pada pendekatan tradisional. Suatu definisi yang lebih tepat untuk database adalah sekumpulan data yang dikelola untuk melayani beberapa aplikasi secara efisien dengan sentralisasi data dan meminimalisasi redudansi data [5].

Namun, dengan pendekatan database management system, bukan berarti permasalahan pengolahan data selesai. Manish Srivatava (2003) mengemukakan bahwa aplikasi dalam organisasi kebanyakan dikembangkan dalam suatu batasan departemen organisasi [6]. Organisasi yang telah terlanjur memiliki banyak aplikasi seringkali terjebak dalam spaghetti application, di mana antar aplikasi memiliki kesamaan data dan fungsi layanan. Aplikasi-aplikasi yang telah lama dikembangkan dan digunakan oleh organisasi untuk menangani aktifitas dan proses organisasi biasa disebut legacy system.

Untuk menangani legacy system yang mungkin memiliki kesamaan data dan fungsi layanan, kata kunci yang seringkali digunakan adalah integrasi. William Tse menyebutkan bahwa setidaknya terdapat 3 model dalam integrasi aplikasi [8], yaitu:

Integrasi Presentasi, yaitu suatu user interface yang menyediakan akses pada suatu aplikasi. Adapun model integrasi presentasi ini dapat dilihat pada Gambar-1.Keuntungan dari model integrasi presentasi adalah resiko dan biaya rendah, teknologi yang tersedia relatif stabil, mudah untuk dilakukan, cepat untuk diimplementasikan, tidak perlu merubah data sumber. Sedangkan kelemahan ada pada performan, persepsi, dan tidak adanya interkoneksi antara aplikasi dan data.

Gambar 1
Integrasi Data, yaitu model integrasi data yang dilakukan langsung pada database atau struktur data dari aplikasi dengan mengabaikan presentasi dan business logic ketika membuat integrasi. Model integrasi data dapat dilihat pada Gambar-2.

Gambar 2
Keunggulan dari model integrasi data ada pada fleksibilitas yang lebih baik dari model presentasi dan memungkinkan data digunakan oleh aplikasi lain. Namun jika ada perubahan model data, maka integrasi tidak berfungsi lagi
Integrasi Fungsional, melakukan integrasi pada level business logic dengan memanfaatkan distributed processing middleware. Model integrasi fungsional dapat dilihat pada Gambar-3.
Gambar 3
Keunggulan dari integrasi fungsional ada pada kemampuan integrasi yang kuat di antara model integrasi yang lain. Selain itu, model integrasi fungsional menggunakan true code reuse infrastructure untuk beberapa aplikasi pada enterprise.


Minggu, 28 April 2013

Web GIS

Geographic Information System (GIS) merupakan sistem yang dirancang untuk bekerja dengan data yang tereferensi secara spasial atau koordinat-koordinat geografi. GIS memiliki kemampuan untuk melakukan pengolahan data dan melakukan operasi-operasi tertentu dengan menampilkan dan menganalisa data. Applikasi GIS saat ini tumbuh tidak hanya secara jumlah applikasi namun juga bertambah dari jenis keragaman applikasinya. Pengembangan applikasi GIS kedepannya mengarah kepada applikasi berbasis Web yang dikenal dengan Web GIS.

Berikut adalah beberapa contoh dari web GIS dan fitur-fitur yang terdapat di dalamnya :
  1.  http://gis.dephub.go.id
Departemen Perhubungan
Kementerian Perhubungan telah ditetapkan sebagai salah satu simpul jaringan dari empat belas instansi pemerintah. Melalui Jaringan Data Spasial Nasional dapat dikoordinasikan berbagai aspek spasial seperti data, simpul jaringan, penghubung simpul, unit kliring, meta data, SNI, spesifikasi data spasial.
Untuk mengantisipasi hal tersebut di lingkungan Kementerian Perhubungan telah dibangun Sistem Informasi Geografis (SIG) Prasarana Transportasi sebagai simpul yang berperan dalam pengumpulan, pengolahan serta penyajian data baik yang bersifat spasial maupun non – spasial.
Situs ini menyedikan beberapa fitur seperti :
·         Pemetaan yang merupakan sarana perhubungan yang dipisahkan berdasarkan moda transportasinya yakni darat, laut, udara dan keretaapi. Dari masing-masing moda transportasi tersebut terdapat beberapa jenis prasarana transportasi terkait. Peta ditampilkan dengan menggabungkan beberapa layer termasuk layer peta dasar wilayah administratif Negara Kesatuan Republik Indonesia.
·         Layanan Peta yang berisi protokol standar untuk melayani images peta bergeoreferensi melalui internet yang dihasilkan oleh server peta (map server) menggunakan data dari database SIG.
Tools yang digunakan adalah ArcGIS

 2.      http://gis.deptan.go.id

Departemen pertanian
Informasi Geografis yang ada di situs ini bersifat indikatif (umum) serta akan terus disempurnakan dan dilengkapi sesuai dengan perkembangan terakhir untuk meningkatkan keakurasian, ketepatan waktu dan kelengkapan data.
 Batas-batas yang disajikan tidak berkekuatan hukum, untuk tujuan dimaksud harus menggunakan data (peta) yang disahkan oleh pejabat yang berwenang sesuai ketentuan yang berlaku (Surat Keputusan).
Situs ini menyedikan beberapa fitur seperti :
·         Peta Interaktif adalah penyajian peta dengan media web yang mudah digunakan untuk memperoleh informasi spasial. Anda dapat memperoleh informasi spasial tentang kehutanan dengan mudah melalui internet cukup menggunakan browser yang tersedia.
·         Peta Cetak adalah peta yang sudah dilayout dalam bentuk softcopy dan siap untuk di download/print. Peta ini berformat PDF atau JPEG.
Tools yang digunakan adalah ArcGIS, ArcGIS Explorer, ArcGIS JavaScript, Google Earth dan Virtual Earth

sumber :

Sabtu, 27 April 2013

Mobile GIS


1. ArcGIS Mobile


ArcGIS Mobile membantu organisasi memberikan kemampuan GIS dan data dari server terpusat untuk berbagai perangkat mobile. Anda dapat menggunakan ArcGIS Mobile untuk menyebarkan aplikasi mobile GIS intuitif dan produktif untuk meningkatkan akurasi dan meningkatkan mata uang data GIS di seluruh organisasi Anda.
ArcGIS aplikasi Mobile mudah untuk digunakan dan memungkinkan staf lapangan yang belum tentu memiliki pengalaman GIS untuk melakukan
  • ·         Pemetaan
  • ·         Query Spasial
  • ·         Sketsa
  • ·         Integrasi GPS
  • ·         GIS editing

ArcGIS mobile dirancang untuk dihubungkan ke server GIS pusat namun juga akan beroperasi saat koneksi sedang down. Aplikasi mobile disesuaikan untuk melakukan tugas-tugas khusus yang dilakukan dengan cara yang sangat efisien dan efisien. Anda akan mendapatkan sejumlah besar produktivitas dengan menggunakan ArcGIS mobile tetapi produk membutuhkan infrastruktur secara signifikan lebih dan pelaksanaannya perlu direncanakan dan dikembangkan. Ini ideal ketika Anda memiliki sejumlah besar pengguna ponsel yang semuanya melakukan tugas yang sama.
Aplikasi mobile berjalan pada iOS, Android dan ponsel Windows 7 platform.


2. SuperSurv3 Mobile


SuperSurv adalah aplikasi mobile GIS dirancang khusus untuk platform Android. Mengintegrasikan dengan GIS dan teknologi GPS, SuperSurv memungkinkan Anda untuk dengan mudah mengumpulkan dan survei data spasial di lapangan dengan perangkat mobile menginstal OS Android.

Fungsi utama dari SuperSurv meliputi pengumpulan data, orientasi, tampilan peta dan bimbingan waypoint. Dengan fungsi GPS built-in, data titik, garis dan poligon semua dapat ditangkap dengan cepat. Sementara itu, waypoint dan track dapat direkam dan berhasil dengan baik mengendalikan arah Anda.

Selain itu, aplikasi ini mendukung pengaturan sistem koordinat global, sehingga file dari daerah yang berbeda dapat ditampilkan dengan benar untuk meningkatkan kenyamanan berbagi data. Selain itu, data titik, garis dan poligon yang SuperSurv Mengumpulkan dapat disimpan dalam SHP, GEO atau format KML untuk penggunaan yang lebih advanced
Dengan SuperSurv, Anda dapat:
  • ·         Efficienctly mengumpulkan titik, garis, data yang poligon.
  • ·         Tampilan data peta dengan pengaturan sistem koordinat global.
  • ·         Beralih basemaps dan terhubung ke layanan SuperGIS Server.
  • ·         Membuat dan mengelola waypoints dengan mudah.
  • ·         Query dan mengukur peta dengan alat GIS
Fitu- fitur
Efisien Pengumpulan Data
Surveyor lapangan dapat dengan cepat mengumpulkan titik, garis dan data poligon dengan SuperSurv dan data peta yang dikumpulkan dapat disimpan dalam SHP, GEO atau format KML. Seperti data, dapat dikumpulkan dan digambar oleh GPS atau gambar tangan. Selain itu, pengguna dapat mengganti lapisan cepat dan menyimpan data di lapisan yang sesuai.

Mendukung Sistem Global Coordinate
SuperSurv mendukung sistem koordinat global sehingga sangat cocok untuk digunakan secara global. Melalui SuperSurv, file dan data spasial daerah yang berbeda dapat ditampilkan dan dikumpulkan.

Web Map Service Tampilan
saat browsing peta, pengguna dapat beralih basemap sesuai dengan kebutuhan, di samping lapisan vektor, SuperSurv juga mendukung untuk terhubung ke layanan SuperGIS Server, langsung mengambil layanan peta dengan basemap atau overlay lapisan yang ada.

Rekomendasi system
Mobile device operating system: Android 2.3 or higher  

 



Sumber :

Selasa, 23 April 2013

PROFESI YANG BERLAKU BAGI PROGRAMMER DI INDONESIA


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