Selasa, 07 Oktober 2008

Gaji IT 2008 di Indonesia

Ingin tahu berapa gaji rata2 IT di Indonesia untuk tahun 2008?

Detail report-nya bisa dilihat di :
http://ct.techrepublic.com.com/clicks?c=71583651-98724844&brand=techrepublic&ds=5
(musti registrasi dulu).

Saat kita melakukan registrasi kita akan mengisi profil kita yang meliputi:
personal data: lama kerja, posisi, besar gaji
perusahaan tempat kita bekerja: industri tempat kerja, jumlah karyawan

Data2 ini-lah yang digunakan untuk report IT salary. Akurasi data-nya tentu bergantung pada entry-an kita.

Dari banyak table yang disajikan ada beberapa data yang menurut saya cukup representatif:

Report 5.4: Average annual salary by IT skills and years of experience
5.4.1. Less then 5 years experience
- Application Development: 36 jt
- Desktop / Software : 41 jt
- Web Development : 34 jt
- Database Management: 38 jt
- Servers/ Networking: 40 jt
5.4.2. 5 - 10 years of experience
- Application Development: 81 jt
- Desktop / Software : 74 jt
- Servers/ Networking: 85 jt
- System Administration : 83 jt
- Database Management: 82 jt
5.4.3. More than 10 years of experience
- Application Development: 151 jt
- System Administration : 139 jt
- Servers/ Networking: 132 jt
- Desktop / Software : 130 jt
- Database Management: 147 jt
- Operating Systems : 134 jt

Bagaimana, apa sudah sesuai dengan gaji anda ?

Read More......

Minggu, 26 Agustus 2007

Membuat ABAP Dialog Progam sederhana

Baca dulu: Mengenal Screen Painter.

Melalui contoh ini diperkenalkan:
1. cara membuat text field
2. cara membuat button
3. mengatur alur program



Step 1.
Masuk tcode SE38, buat program baru.

Step 2.
Deklarasikan data.
Program ini akan menampilkan text field di screen.
DATA: d_nama(40) TYPE c.

Step 3.
Tulis code berikut:
CALL SCREEN 100.
Code tersebut akan memanggil screen 100. Double click di screen 100 untuk masuk ke screen tsb.

Step 5.
Tambahkan element / object di layout editor.
Masuk ke layout editor, tambahkan object text di screen. Text field bisa ditambahkan dengan dua:
- cara pertama: drag & drop text object ke dalam screen dari list object. Namai sesuai nama variable di program (yaitu d_nama), lalu ubah attribute text dengan cara double click, akan muncul window atrribute, ubah lebar field sesuai dengan yang sudah dideklarasikan sebelum-nya.
- cara kedua: klik Goto -> Secondary window -> Dict/program fields. Tulis nama variable yang ingin di-insert ke layout (yaitu d_nama) , lalu klik "Get from program".

Tambahkan tombol dengan cara drag & drop dari list object.
Tiap tombol musti mempunyai attribute FctCode ( Function code). Saat tombol ditekan, nilai sy-ucomm akan berubah berdasarkan attribute FctCode dari tombol tersebut. Dalam contoh ini kita akan beri nilai FctCode = 'NEXT'.


Step 6.
Di flow logic screen 100.
Di event PBO, kita tidak melakukan apa2.
Di event PAI, kita ingin menangkap action (tombol ditekan) di screen tersebut, maka kita perlu buat buat untuk menangkap-nya. Buat satu module, misal-nya nama module-nya USER_COMMAND_0100. Double-click di nama module tersebut untuk membuat isi module. Di module tersebut, bila tombol yang ditekan adalah tombol dengan FctCode = 'NEXT', kita ingin keluar dari screen 100. Perintah-nya bisa dituliskan sebagai berikut.

MODULE USER_COMMAND_0100 INPUT.
IF sy-ucomm = 'NEXT'.
SET SCREEN 0.
LEAVE SCREEN.
ENDIF.
ENDMODULE. " USER_COMMAND_0100 INPUT

Perintah SET SCREEN 0 adalah perintah untuk keluar dari screen.
Perintah LEAVE SCREEN adalah perintah untuk keluar dari event PAI.
Bila perintah hanya SET SCREEN 0 saja tanpa LEAVE SCREEN, maka module2 di PAI akan di-execute seluruh-nya sampai selesai, baru setelah itu keluar dari screen tersebut.

Step 7.
Keluar dari Screen Editor, kembali ke program biasa.
Tekan tombol back dari screen untuk kembali ke ABAP editor biasa (transaction SE38).

Step 8.
Tulis data.

Berikut adalah program lengkap-nya:


REPORT ZAALGAL0009 .
*http://abap-gallery.blogspot.com
*Screen Painter: my first dialog program
DATA: d_nama(40) TYPE c.

start-of-selection.
* Buat screen 100
* Tambahkan element textbox dengan nama "d_nama".
* Tambahkan button dengan FctCode = 'NEXT'
* Buat Flow logic untuk screen 100
* PROCESS BEFORE OUTPUT.
* PROCESS AFTER INPUT.
* MODULE USER_COMMAND_0100.

call screen 100.
WRITE :/ 'Nama=', d_nama.

*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0100 INPUT.

IF sy-ucomm = 'NEXT'.
SET SCREEN 0.
LEAVE SCREEN.
ENDIF.

ENDMODULE. " USER_COMMAND_0100 INPUT


Read More......

Dialog Programming: Mengenal Screen Painter

Screen painter adalah editor untuk membuat ABAP screen (dialog program). Screen painter diakses melalui TCode SE51. Berbeda dengan ABAP list report yang berfungsi untuk menampilkan data, dialog program biasanya digunakan untuk entry data.

Arsitektur Screen painter terdiri dari:

1. Screen Attributes.
Mengubah nama screen, menentukan type screen (normal, subscreen).

2. Flow logic
Flow logic berfungsi mengatur alur program.
Contoh sederhana dari flow logic adalah sbb:
PROCESS BEFORE OUTPUT. MODULE PBO_module1.
MODULE PBO_module2.
PROCESS AFTER INPUT. MODULE PAI_module1.
MODULE PAI_module2.
Structure flow logic disusun berdasarkan event, untuk contoh di atas ada dua event yg digunakan, yaitu "process before output" (PBO) dan "process after input" (PAI).
Event PBO dieksekusi sebelum screen ditampilkan. Gunanya antara lain adalah menentukan toolbar apa saja yang muncul, judul windows, mengubah attribute dari object2 secara dinamis.
Event PAI dieksekusi sesudah user melakukan suatu action (menekan tombol, melakukan double klik, dll) pada screen. PAI digunakan untuk mengeksekusi command berdasarkan action.
Flow logic hanya berfungsi untuk mengatur alur program, sedangkan program-nya sendiri berada di tempat lain, module di-eksekusi berdasarkan urutannya secara sekuensial. Untuk membuat isi module double-click di nama module.

3. Layout Editor
Layout editor berfungsi untuk menyusun letak object2 pada screen. Ada 2 pilihan setting untuk layout editor, graphic & list. Yang lebih mudah digunakan adalah yg graphic, untuk mengubah setting, di SE51, pilih Utilities -> Setting, di tab screen painter centang checkbox "Graphical layout editor".

Layout Editor
Screen layout memiliki elemen sbb:
i. Daftar element / object : di kiri layout terlihat daftar object2 (lable, textbox, checkbox, dll), drag & drop ke screen untuk memasukan element (object) ke screen.
ii. Name & text
Di atas screen daftar elemen terlihat "Name" & "Text", ini berfungsi untuk memberi nama dan default value pada object.
iii. Attribute window
Di sebelah kiri tanda help (?) terlihat kotak kecil berwarna kuning dengan alt = "Attributes window" atau bisa diakses melalui menu Goto->Secondari Window->Attributes. Ini berfungsi untuk mengubah setting object, misal-nya mengubah text field menjadi read only.
iv. Dictionary / program field.
Di sebelah kiri tanda help (?) terlihat kotak kecil berwarna kuning dengan alt = "Dictionary / program fields", berfungsi membuat object type text dengan attributes refer ke field di data dictionary atau field yg sudah dideklarasikan di program.

4. Element list
Element list berisi element2/object yang ada di sceen. Bisa digunakan untuk mengubah attributes suatu object. Element list jarang digunakan karena attributes object lebih mudah dimaintain di Layout Editor.

Read More......

Selasa, 14 Agustus 2007

Belajar ABAP

Apa itu ABAP?
ABAP (Advanced Business Application Programming) adalah bahasa pemrograman yang diperuntukkan membangun aplikasi SAP. SAP adalah suatu ERP dengan konsep open source. Seluruh program SAP yang ditulis dengan bahasa ABAP dapat dilihat oleh customer.


Untuk apa ABAP?
1. Membuat Report (ABAP report)
Walaupun SAP sudah menyediakan report2 standard. Namun terkadang report standard tersebut belum memenuhi kebutuhan customer yang sangat specific dan bervariasi.
2. Membuat form (SAP form)
Form adalah dokumen output dari SAP, contohnya adalah hasil cetak invoice, purchase order.
3. Menyesuaikan proses bisnis. (user exit, enhancement)
Terkadang proses bisnis yang sudah disediakan oleh SAP belum mencukupi. Contohnya, di perusahaan saya untuk membuat sales order, pembuatan sales order untuk material2 tertentu hanya bisa dilakukan untuk order type tertentu, hal ini tidak di-cover oleh SAP standard.
4. Memperbaiki bug SAP (implement SAP notes)
SAP memang tidak bersih dari bug, hal ini dimaklumi melihat perkembangan SAP yang terus menerus dan juga tingginya kompleksitas program. Untuk itu SAP menyediakan service berupa SAP notes. SAP notes adalah catatan2 tentang problem2 di SAP berikut solusi-nya.

Install SAP trial
Download ABAP trial

Sulitkah belajar ABAP?
Untuk mempelajari ABAP seluruh-nya memang tidak mudah. Namun sekedar untuk mempelajari syntax sederhana yang umum digunakan tidaklah sulit, karena ABAP memang dilengkapi syntax yang sangat mendukung reporting. Berikut contoh program untuk menampilkan sales order, sederhana bukan?.


report zgetsalesorder.
*deklarasi data
data t_report like tbl_salesorder occurs 10 with header line.
*ambil data
select * from tbl_salesorder into table t_report.
*tampilkan data
loop at t_report.
skip.
write t_report-salesorderno.
write t_report-kustomer.
endloop.

Read More......

Senin, 30 Juli 2007

Strategi open source SAP

Sebagai salah satu ERP terbesar di dunia, SAP menerapkan strategi open source dalam menunjang peningkatan kepuasan customer.
Konsep open source ini memudahkan consultant untuk menyediakan solusi yang sesuai untuk tiap2 kebutuhan customer yang beraneka ragam. Selain itu, dengan adanya open source, akan lebih mudah untuk memperbaiki bug program. SAP memang tidak bersih dari bug. Dengan perkembangan aplikasi yang terus menerus dan kompleksitas aplikasi yang sangat tinggi dapat dimaklumi adanya bug tersebut. Perbaikan bug dapat dicari di SAP Notes (SAP Notes adalah kumpulan informasi problem-problem berikut solusi-nya).

Namun open source tentu perlu ditunjang oleh perangkat2 tertentu agar sisi positif dari open source tetap terjaga dengan tetap menjaga agar aplikasi tidak mudah dibajak dan juga konsistensi data tetap terjaga.

Berikut point2 penting strategi open source SAP, strategi ini mungkin bisa menjadi inspirasi dalam membangun sistem open source:

* Bahasa Tingkat Tinggi eksklusif.
SAP menyediakan source-nya dalam bahasa tinggak tinggi yang hanya diperuntukkan pengembangan aplikasi SAP, bahasa tingkat tinggi tersebut dinamakan ABAP (Advance Business Application Programming) sehingga tidak mudah membajak SAP.

* Naming Convention
Untuk membedakan program yang asli buatan SAP dengan program buatan customer, SAP memproteksi penamaan program, khusus untuk program buatan customer hanya bisa menggunakan prefix Z atau Y. Demikian juga untuk object2 lainnya seperti nama table.

* Version Management
Setiap perubahan di program SAP akan dicatat, dan disimpan dalam version management. Fasilitas ini memudahkan kita untuk me-retrieve program ke versi sebelumnya.

* Access Key
Object/program standard SAP diproteksi dengan Access Key. Jadi kita tidak bisa begitu saja mengubah program SAP tanpa tercatat oleh SAP. Untuk melakukan perubahan pada program standard, kita terlebih dahulu harus meminta access key di web sap. Permintaan access key juga hanya diperuntukkan perubahan program SAP untuk memperbaiki bug yang telat tercatat oleh SAP. Jadi kita hanya boleh meng-copy paste perbaikan program sesuai notes dari SAP.

* Batch input
Melalui ABAP, dimungkinkan mengubah data standard SAP secara langsung. Namun hal ini sangat tidak direkomendasikan mengingat tingginya kompleksitas suatu transaksi sehingga hampir tidak memungkinkan kita bisa mengetahui data2 apa saja yang di-update oleh suatu transaksi.
Namun kebutuhan untuk mengubah data standard oleh program merupakan suatu kebutuhan vital. Terutama saat implementasi awal SAP, biasanya kebutuhan untuk meng-upload transaksi2 dari sistem lama ke sistem SAP membutuhkan program karena banyaknya data yang perlu di-input.
Untuk itu, SAP menyediakan fasilitas batch input, dengan adanya fasilitas ini, program dapat melempar data ke transaksi SAP dengan alur program yang sama persis jika transaksi dijalankan secara manual.

Selain fasilitas2 di atas tentu-nya programmer SAP juga perlu menjaga kaidah2 berikut untuk menjaga konsistensi data:
1. Jangan pernah melakukan update data ke table standard SAP, gunakan batch input untuk meng-update data.
2. Jangan pernah mengubah program SAP diluar dari apa yang telah dituliskan di SAP Notes.

Read More......

Kamis, 26 Juli 2007

Berkembangnya bisnis di blog


Berkembangnya dunia blog menyebabkan timbul-nya peluang2 bisnis baru di dunia blog. Ibarat mesjid, kalau abis sholat jum'at banyak pasar2 kaget muncul di sekitar mesjid tiap selesai sholat jum'at. Kenapa sih pasar kaget muncul? Salah satu faktor-nya adalah prinsip ekonomi padang, di mana banyak orang berkumpul, di situlah timbul peluang bisnis hehee... sorry, indak bamaksuik mangecekan ambo urang minang...

Dunia blog yg semakin hari semakin banyak orang berseliweran di dalam-nya juga menimbulkan berkembang-nya bisnis2 maupun berkembangnya profesi2 antara lain:

*) Blog provider
Blog provider adalah penyedia layanan blog, seperti blogger, wordpress, dll..
Blog provider default-nya menyediakan layanan gratizz dengan feature2 basic.. mereka ambil untung-nya dari pengguna yang menginginkan layanan/feature tingkat lanjut... Nggak kebayang juga sih, untung nggak sih mereka dari situ, soalnya saya liat kebanyakan orang senang2 aja sih dengan feature basic. Bingung emang terkadang ngeliat cara investasi orang2 berduit, terkadang kita nggak bisa meliat untung-nya di mana saat launching awal, contoh-nya saat google pertama kali ada, kita tidak melihat google ambil untung dari mana, karena saat itu belum ada program periklanan adword, namun setelah ketergantungan orang dari google tinggi barulah dia meluncurkan program periklanan-nya itu, baru kita (saya tepat-nya) sadar.. oo dari situ toh google ngambil untung

*) Aggregator
Aggregator merupakan pengumpul hasil tulisan dari blogger. Fungsi utama dari aggregator hampir sama dengan search engine, dengan tambahan/penekanan feature:
1. tag (klasifikasi)
2. penentuan rangking berdasarkan hasil voting
3. komunitas
4. dll -lah ya...
Aggregator mencari untung dari iklan yg dipasang di aggregator tersebut.

*) Web designer
Jaman dulu waktu belum ada blog, yg punya web site musti yg punya duit. Karena punya duit, maka web designer-nya tentu-nya musti yang profesional juga. Dengan adanya blog makin banyak yg punya web site. Dari kalangan orang yg kere sampe yg tajir punya blog...
Berikut sumber pendapatan web designer berdasarkan kriteria pemilik blog:
1. tajir, baik hati, perfesionis: orang2 seperti ini ingin web site-nya indah, seperti iklan bajaj, mereka berani bilang "at any cost" untuk mendapatkan web indah. Mereka berani membayar designer / membeli tempate dari designer.
2. pas2an, baik hati, perfeksionis: orang2 seperti ini rajin mencari2 template2 apa yg sudah tersedia. Web designer tinggal menyediakan free template yg agak bagus, biarkan orang2 ini browsing free template tersebut. Kalau dia senang dengan template tersebut dia akan melakukan voting terhadap blog anda, lumayan buat ningkatin popularitas. Atau kalau kurang puas dia akan klik iklan2 adsense di blog web designer...mayan-lah bisa dapet duit dari adsense.
3. kere, pelit: wahhhh... orang2 kayak gini sih paling ribet.. udah mau-nya nyari yg gratis, nge-klik adsense aja nggak rela dia.. web designer cuma bisa ngarepin naik-nya peringkat blog dengan banyak-nya dia nge-klik2 template kita

*) Blogger adsense
Saya sebut-nya blogger adsense aja ya..Orang2 seperti ini blogging untuk menjaring sebanyak2nya orang dengan harapan sebanyak2nya iklan adsense di blog-nya di-klik.

*) SEO consultant / adsense consultant
Dengan menjamur-nya blogger adsense, maka timbullah orang2 yang mengaku pakar SEO (search engine optimization / adsense).. pakar2 ini dibayar untuk konsultasi-nya.. atau dapet untung dengan cara adsense juga :)

*) warnet
A: masak sih warnet dimasukin juga, bukannya warnet nggak ngefek langsung dari blog
B: iyalah masuk, dulu2 kan orang2 yg nggak nge-blog nggak ke warnet, sekarang dengan adanya orang2 yg nge-blog, mereka jadi ke warnet
A: ahhh. masak sih? bukannya sebelum ngeblog mereka emang udah ke warnet juga, main chatting2an, main2 di forum, nyari gambar2 seru, akses cerita seru heheee..
B: iya sih, tapi kan orang nggak selama ini ngakses internet-nya.. karena media2 yg sebelum relatif masih kurang bisa mengapresiasikan diri, namun dengan adanya blog, semangat mereka jadi meningkat, jadi di warnet-nya jadi lebih lama..
A: ok-lah.. tapi, yakin lo mereka di warnet, bukannya mereka yg nge-blog kebanyakan nge-blog di tempat kerja mereka?
B: hehee... no comment dah, ssstt bentar ya, udahan dulu ya, ada bos gue lagi celingak celinguk nih, nanti ya dilanjutin lagi

Read More......

Rabu, 25 Juli 2007

Kenapa saya blogging ...


awal-nya gue nge-blog dulu gara2 pengen kenal sama seseorang cewex.. gue sering liat dia di forum2, kayak-nya orang-nya asik.. setiap komentar dia di footer-nya ada alamat blog-nya.. iseng2 gue masuk ke situ.. ternyata isi-nya diary-nya.. yang bikin gue tertarik adalah, dia bukan orang IT tapi bisa bikin web canggih tampilan-nya.. jadilah gue ikutan daftar di blog dia..dulu modblog, sekarang nggak tau di mana rimba-nya tu modblog.com ....

setelah mulai ikut bikin blog jiwa programmer gue terpanggil.. canggih bener ni modblog, rich feature, easy to customize.. jadi pengen bikin program kayak gini.. akhir-nya setelah gue pelajari blog provider itu jadilah gue berkutat lagi dengan programming, pengen bikin web kayak modblog kecil2an, ada tambahan feature sih, yaitu workflow... sampe akhir-nya gue nemuin bahwa ternyata program kayak gitu udah banyak yg beredar, gratis pula, free open source, namanya content management system.. emang sih content management system yg ada belum bisa meng-cover kebutuhan workflow seperti system yg gue buat.. tapi tau kenapa gara2 open source itu jadi males ngembangin lagi CMS + workflow yang udah gue buat.. takut-nya udah buat capek2 keringat darah entar pas udah jadi ternyata udah keluar versi open source-nya, cape deeehhhh...

capek mikirin bikin program saya absen lama juga dari dunia blog, sampe suatu saat, di saat kerjaan lagi nggak ada iseng2 browsing nggak karuan dari internet.. lagi asik2 browsing nggak karuan itu secara nggak sengaja saya tergelitik dengan hasil search engine yg saya dapat... kok nyari apa aja nemu-nya dari blog si you-know-who sih? (nggak boleh di-sebut, seleb blog), apakah sudah bergeser sumber informasi di internet, apakah sekarang blog sudah mulai menguasai hasil search pertama di internet?... iseng2 gue masuk ke blog-nya dia, dan sambil iseng2 berpikir, ni orang kok rajin bener nulis blog ya.. nggak ada kerjaan apa ni orang hehe.. apa ya motivasi-nya si you-know-who ini nge-blog...emang hobby aja atau ada udang di balik2 (biar nggak angus dibalik2)...

sampe akhirnya gue nemu salah satu yg bikin orang nge-blog, dan yang membuat gue tergelitik juga untuk ikut iseng2 nyobain makhluk ciptaan google, yaitu adsense, lama sih kepikiran-nya, cuma belum ada ide aja tulisan apaan yg mau dibikin..setelah kelamaan mikir, akhir-nya here I am.. kembali ke dunia blog..

mudah2an dengan kembali blogging sekalian juga pengen nambah2 temen & wawasan.. biar nggak pusing mikirin if, endif, select, endselect mulu...

Read More......