Cara membuat launcher – application launcher – desktop launcher pada Linux Ubuntu 11.10 – Unity Desktop

Belum lama ini aku mendapatkan notebook baru dengan spek lumayan. Tetapi OSnya masih Windows 7. Karena aku nggak suka pakai Windows, aku langsung ganti dengan OS favoritku yaitu Ubuntu. Pada saat nginstall, versi terakhir dari ubuntu adalah versi 11.10 (Oeneric).

Saat menggunakan versi ini, rasanya seperti menggunakan OS baru. Bener-bener baru semuanya karena menggunakan desktop Unity (another face of Gnome 3). Setelah mencoba beberapa hari, aku merasakan banyak kemudahan dan semuanya bertambah simpel dalam pengoperasiannya terutama adanya Dash Home sebagai laucher utama. “Everything start from Dash Home” yaaa boleh aku katakan begitu lah …

Namun ada yang terasa hilang dari kebiasaanku menggunakan Ubuntu berbasis Gnome 2 yaitu soal lancher aplikasi. Kalau dulu mau mengatur atau membuat lancher tinggal cari menu “Add to panel” Jangan harap akan mudah membuatnya. Inilah satu-satunya yang membuatku cukup repot.

Yaitu untuk mengakses aplikasi harus membukah dash home terlebih dahulu kemudian ketik nama aplikasi, baru keluar icon aplikasnya. Baru kemudian baru bisa dibuka. Sungguh proses yang panjang. Model ini menurutku berbanding terbalik dengan clean dan fresh desktop yang ditawarkan. Memang dengan model ini desktop menjadi bersih dan fresh. Sebenarnya cukup dari dash home bisa akses semuanya, Tetapi untuk aplikasi favoritku yang sering diakses seperti Netbeans, Geany, SQL Developer, Teamviewer, Terminal dan lainnya butuh waktu cepat. Mengakses melalui dash home membuatkua kadang gregetan sendiri.

Tetapi Dengan sedikit trick ahirnya menaruh dan membuat shortcut di desktop sehingga bisa mudah. Caranya tertantung dari jenis aplikasinya:

  1. Untuk aplikasi yang berasal dari hasil installasi dari software center atau paket .deb, dengan membuat mendrag icon aplikasi ke desktop dari dash home.
  2. Untuk aplikasi yang berasal dari hasil ekstrak file yang untuk membukanya dari file .sh sepeerti sql developer caranya dengan copy launcher yang sudah ada kemudian kita ganti arah command dan launcher iconnya.

Berikut ini step by stepnya: Lanjut membaca

How to set ZK Combobox Selected Item ? How to setSelectedItem on ZK Combobox ? Set selected item pada combobox zk

Hi there ..
finally i found the simple way to set selected item or selected index on zk combobox ! yeah … it’s very simple !

Mungkin banyak temen-temen programmer zk yang dipusingkan dengan hal ini, tetapi belum menemukan solusi yang simpel atau sudah punya solusi tetapi rumit dan butuh alokasi memory yang lebih. Berikut cara yang menurutku paling simpel, cukup 4 baris kode, tanpa perlu method atau class tambahan. Ini per 5 Januari 2012, jika nanti ada metode yang lebih baik aku akan memakainya.

Ada dua case dimana kita kadang butuh untuk mengeset nilai default pada zk combobox dari daftar nilai yang ada yaitu ketika :

  1. On Render
    Yaitu ketika sebuah form baru ditampilkan atau ketika baru diload, sebuah combobox ingin kita set nilai defaultnya atau set selected index-nya. Contohnya pada form edit atau detail data, dimana kita meng-assign nilai pada field-field dalam tampilan tersebut yang seringnya diantara field itu ada yang berbentuk combobox
  2. On Event
    Yaitu ketika ketika sebuah event dijalankan pada sebuah tampilan / form yang sudah dirender.

Permasalahan:
Pengisian nilai combobox oleh zk dilakukan setelah compose html, sehingga kalau kita melakukan hal yang sama dengan ketika koding html+javascript convensional yaitu pada ‘domready’ = ‘onload’ = ‘ready’ contohnya memberi value pada combobox, tidak akan berlaku pada zk. Dengan kata lain doAfterCompose != domready.

Maka solusinya, kita bisa melakukan intervensi pemberian selected index pada combobox ketika zk sedang melakukan render data yaitu pada case nomor 1..

Untuk case nomor 1: onRender
Pada saat doAfterCompose, kita harus memiliki nilai yang sama dengan salah satu comboitem value pada combobox yang kan kita set nilai defaultnya, pada saat render comboitem, kita cari nilai comboitem yang nilainya sama dengan data kita, kemudian kita setSelectedItem dengan comboitem yang nilainya sama dengan yang kita inginkan dengan method setSelectedItem(comboitem). Contoh kodingnya seperti ini.

List<TblSetKota> ltsk = k.getTrSetKotas(); // from jdbc or orm
cmbKota.setModel(new ListModelList(ltsk, true)); // cmbKota = id zk combobox
cmbKota.setItemRenderer(new ComboitemRenderer() {

	public void render(Comboitem cmbtm, Object o) throws Exception {
		TblSetKota tsk = (TblSetKota) o;
		cmbtm.setLabel(tsk.getNmKota());
                cmbtm.setValue(tsk);
		// set selected item
                if (tblSetUser != null) {
			if (tsk.getKdKota() == tblSetUser.getKdKota()) {
                            	cmbKota.setSelectedItem(cmbtm);
			}
		}
	}
});

Logic:
Ada sebuah form perekaman user. Form user berisi grid yang berisi daftar user, dan ada 2 button “Add” dan “Edit”. Kemudian terdapat sebuah form yang digunakan untuk menambah user dan mengedit user. Form Add dan Form Edit ini sama dalam rangka menghemat koding. Dalam Form Add user terdapat field berupa zk combobox yang isinya berasal daftar kota. Jika button “Add” di klik, maka akan tampil window Form Add dalam kondisi kosong. Jika button “Edit” di klik maka window Form Add akan tampil dalam keadaan sudah isi berdasarkan user yang terpilih untuk diedit. Dalam mode edit nilai combobox kota akan terisi sesuai kota user ketika form diload.

Untuk case nomor 2: onEvent
Syaratnya hampir sama dengan case nomor 1, bedanya hanya waktu kita untuk melakukan setSelectedItem yaitu pertama kita ambil jumlah item dalam combobox dengan method getItemCount() kemudian kita looping untuk mendapatkan comboitemnya. Pada saat looping kita ambil nilai dari comboitemnya dan kita bandingkan dengan data yang kita miliki. Jika hasilnya sama maka itulah nilai index yang kita bisa gunakan untuk melakukan dengan method setSelectedIndex(index).

Step by Step Install OS Linux Red Hat Enterprise Server 64 bit

Untuk menyimpan ingatan agar lebih mudah di baca lagi, tulisan kali ini berisi tentang pengalamanku kemarin install Linux Red Hat Server versi 5.5 yang 64 bit. Ceritanya neh, kantor tempat aku bekerja mau migrasi OS untuk server-server mainstream dari Windows Server ke Linux. Pilihan jatuh pada Red Hat karena da supportnya dan Bos ingin memastikan adopsi linux sebagai OS utama di lino server tidak ada masalah.

Untuk install os  Red Hat, cukup dengan memiliki satu file iso installer. Cara mendapatkannya kemarin aku dapet bareng ketika kantorku membeli server. Sebelumnya untuk mendapatkan installer redhat susah sekali, harus punya RHN, kalau nggak punya cuma 30 hari trial … Yaah agak aneh memang linux harus bayar, tapi yang bayar sebenarnya adalah supportnya, bukan linuxnya. Red Hat tetep open source, boleh dimodifikasi dengan bebas dan disebarkan lagi seperti yang dilakukan oleh CentOS, bahkan dikomersilkan seperti yang dilakukan oracle enterprise linux.

Berikut ini langkah-langkahnya. Ternyata mudah dan gampang, sudaha da GUI / tampilan yang tinggak pilih, konfigurasi dan next kemudian next dan selesai … Lanjut membaca

Cara menginstall Oracle XE 11g pada Linux Red Hat dan Cara Membuat Connection Pool pada Glassfish 3.1 ke Oracle XE di OS Red Hat 5.5 64 bit

Melanjutkan catatanku mengenai installasi server yang aku tulis di sini, yaitu mengenai Cara menginstall java jdk6 pada Red Hat 5 dan Cara Mengganti default java pada Red Hat 5 Enterprise Server 64 bit, kali ini catatanku berisi tentang cara menginstall Oracle XE 11g para OS Linux Red Hat 5.5 64 bit.

Pokoknya kali ini aku sedang menginstall sebuah web server glassfish 3.1 untuk memasang aplikasi SSO yang telah aku jelaskan sebelumnya di bawah ini :

  1. http://ahsanfiles.wordpress.com/2011/02/20/step-by-step-membuat-server-single-sign-on-sso/
  2. http://ahsanfiles.wordpress.com/2011/02/24/membangun-sso-server-untuk-implementasi-single-sign-on/
  3. http://ahsanfiles.wordpress.com/2011/09/28/mengintegrasikan-banyak-sistem-user-management-menggunakan-single-sign-on-sso/
  4. http://ahsanfiles.wordpress.com/2011/09/28/implementasi-sso-single-sign-on-pada-inhouse-aplikasi-ditjen-bea-dan-cukai/

Lho apa hubungannya glassfish, oracle dengan SSO ? Baca dulu tulisan mengenai SSO yang aku sebutkan di atas !
Glassfish sebagai application server yang aku gunakan untuk memasang SSO Server, Oracle XE aku gunakan untuk membuat user management. Yaah pokoknya gitu deh intinya …

Yuk kita mulai dengan cara menginstall Oracle XE-nya dulu di red hat : Lanjut membaca

Cara menginstall java jdk6 pada Red Hat 5 dan Cara Mengganti default java pada Red Hat 5 Enterprise Server 64 bit

Menjadi seorang admin server atau data center kadang menyenangkan kalau semuanya lancar jaya, tetapi kadang sampe pucat pasi keringat dingin di ruangan server bersuhu 18 derajat celcius kalau ada error atau masalah yang penyelesaiannya nggak tau harus bagaimana lagi.

Aku bukan seorang admin server atau data center, tetapi sering melakukan pekerjaan layaknya seorang admin data center seperti install server, konfigurasi network, install os server dan lainnya. Catatan ini aku buat agar aku nggak lupa apa yang aku lakukan malam ini (kamis, 29 September 2011, jam 00.10 WIB). Semuanya try, catch, error dan finally sukses :mrgreen:

Whaaa lembur atau ngapain tuh jam segitu belum pulang ke rumah ?
Jangan di tanya soal ini yak !

Oke, di bawah ini adalah catatanku tentang cara menginsall Java khususnya jdk6 u27 pada OS Linux Red Hat 5.5. Penuh dengan suka dan dan duka… (lebay bro …) tapi itulah yang aku rasakan, soalnya install server sambil menemui beberapa masalah yang sempet bikin aku panik. Langsung aja …

  1. Download installer jdk 64 bit buat linux red hat dari websitenya oracle, sampai mendapatkan file jdk-6u27-linux-x64-rpm.bin atau versi yang lebih baru. http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u27-download-440405.html
  2. Melaui terminal, masuk sebagai user root kemudian masuk ke folder dimaan installer jdknya di simpan. Dalam hal ini aku mendownload dan menyimpannya di /home/glassfish/jdk-6u27-linux-x64-rpm.bin. Kemudian jalankan perintah sh jdk-6u27-linux-x64-rpm.bin dan tunggu sampai selesai. Lihat gambar di bawah ini :

  3. Selesai !

Lho koq gampang banget ? Iya emang gampang, tapi kita belum bisa menggunakan java yang barusan kita install sebagai default jvmnya. Kita harus mengubah alternatif java pada /usr/sbin/alternatives. Default java kalau kita menginstall red hat adalah jdk versi 1.4.2 … jaman jebod broo…

Cara mengganti default java dari jdk 1.4.2 ke jdk6 adalah sebagai berikut :

  1. Tetep login sebagai root kemudian ketikan perintah /usr/sbin/alternatives –install /usr/bin/java java /usr/java/jdk1.6.0_23/bin/java 1
    Atau lihat gambar di bawah ini :

  2. Kemudian cek versi java default dengan perintah :
    java -version, hasilnya harus jdk6 seperti pada bagian terakhir gambar nomor 2 di atas …

Selamat mencoba semoga sukses …

Sharing pengalaman dan review ZK Framework – Kekurangan dan Kelebihan Framework ZK

Sudah hampir satu setengah tahun aku menggunakan zk framework dalam membuat berbagai applikasi berbasis web di kantor. Banyak suka dan dukanya. Berikut ini pengalamanku :

  1. Berat
  2. Lebih Aman
  3. Kaku
  4. Boros HTML
  5. Mudah dan Cepat dalam membuat aplikasi
  6. Mudah diintegrasikan dengan back end framework
  7. Tidak mudah membuat / menutupi kekurangan yang ada

Nih penjelasanku satu persatu : Lanjut membaca

Tips Melakukan Sinkronasi Data Multi Database

Pernah mengalami kasus harus melakukan sinkronasi data pada beberapa database yang berbeda. Berbeda di sini dalam pengertian :

  1. Beda jenis database, misal antara oracle dengan mysql
  2. Jenis database sama tetapi beda server, misal sesama oracle tetapi beda ip servernya
  3. Jenis database sama, dalam 1 server, tetapi berbeda instance atau user

Untuk cara komunikasi datanya bisa pakai salah satu dari :

  1. Web service
  2. DB Link

Lho koq perlu sinkronasi sih ?
Kebutuhan sinkronasi data tetep diperlukan sampai kapanpun, kecuali sistem aplikasi yang digunakan sudah satu. Tetapi pada kenyataanya masih banyak satu aplikasi menangani satu divisi bisnis, kalau sudah berbeda divisi bisnis biasanya sudah berbeda aplikasi.

Sinkronasi di sini adalah :
Melakukan duplikasi sebagaian atau semua tabel atau view disebuah database ke database lain. Proses sinkronasi harus bisa mengcapture perubahan di database sumber dan menyamakannya ke database tujuan. Proses perubahannya meliputi insert, update dan delete.

Yang menjadi masalah :

  1. Bagaimana cara mengetahui perubahan yang terjadi di database sumber.
  2. Bagaimana cara mengetahui row terakhir yang sudah kita ambil ke database tujuan
  3. Bagaimana jika ada update atau delete pada data yang sudah kita ambil.

Pertanyaan di atas pasti harus dijawab oleh sistem sinkronasi.  OK langsung saja, aku sampaikan tips yang baik untuk sinkronasi data. Berikut ini aku sampaikan 4 cara sinkronasi data. Masing-masing akan aku sampaikan kekurangan dan kelebihannya : Lanjut membaca