Selasa, 18 Desember 2012

[JAXB] Write Object in XML

Hari ini mau tulis tentang JAXB (Java Architecture Xml Binding), fungsinya sama dengan jdom yakni bisa digunakan write dan read object ke xml. Tapi perbedaannya dengan jdom, jaxb menggunakan anotation yang digunakan untuk mendefinisikan element dan attribut.
Langsung aja ke kode yang simple ya, 

Minggu, 16 Desember 2012

[android] Panggil Activity Lain

Hari ini mau tulis cara memanggil activity lain di android. Kadang kita berfikir gimana cara memanggil window atau interface lain (activity) pada saat mengklik atau apa lah. Dalam memanggil activity lain di android kita menggunakan class Intent
Langsung aja kita ke code ya; 

Layout ke-1  --> login.xml

<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

Sabtu, 15 Desember 2012

No Permission Android

Hari ini mau tulis tentang cara menghapus no permision pada saat debug applikasi langsung di android. Pengalaman saya ini terjadi pada Samsung Galaxy S. Sewaktu menjalankan command adb devices, tiba handset seperti tidak terdetect. Bisa dilihat pada gambar dibawah ini :

Untuk mengatasi hal tersebut cukup mudah. Langkah - langkahnya sebagai berikut ;
1)  Ketik command lsusb untuk mengetahui vendor id dan id productnya. Seperti gambar di bawah ini
Bisa dilihat Samsung Galaxy S memiliki vendord id 18d1 dan product id 4e22.

Rabu, 12 Desember 2012

[Error] IFB_LLLCHAR: Problem packing field 48. IsoMsg can not be cast to string

Sorry if the tittle english but the content indonesian language. Hari ini mau posting tentang error yang ada di atas. 
Biasanya error di atas disebabkan karena :
- Salah dalam mengisi field 48, biasanya ukuran besaran tiap subfield yang diisi ada yang salah.
misal;
............ // snipet code packager
............
     protected ISOFieldPackager fld48[] =
    {
           new org.jpos.iso.IF_CHAR(14,  "subs_msisdn"),
          new org.jpos.iso.IF_CHAR(9,   "merchant_trx_id"),
          new org.jpos.iso.IF_CHAR(6,   "account_pin"),
     };
...........
........... // end snipet code packager

Jumat, 07 Desember 2012

[Android] Back To Parent Activity

Sorry, if the title is english, but the content indonesian :). Oke hari ini mau tulis tentang balik ke parent activity kalo seandainya programnya sudah ada di second activity. Ini bisa digunakan jika kalian membuat aplikasi di android yang memiliki banyak activity ato screen. 

Nah caranya simple cukup kita panggil fungsi finish saja pada second activity. Oke untuk lebih jelas kita buat contoh :)

Minggu, 02 Desember 2012

Introduction JDOM2

Hi..hi...sorry if the tittle english but the content indonesian :p.
Hari ini mau posting tentang jdom2 library. Bagi yg belum kenal apa itu jdom, saya akan sedikit bercerita apa itu jdom. Jdom itu erat kaitannya dengan XML di java. Kalau kalian mengenal java, maka harus kenal pula itu jdom :). Karena beberapa framework dan server di java menggunakan xml, contohnya hibernate, jetty, dll.
Oke langsung aja ke code ya, hari ini mau tulis gimana create xml menggunakan jdom2.

import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.jdom2.Attribute;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.output.Format;
import org.jdom2.output.XMLOutputter;

Jumat, 09 November 2012

[Apache] setting public_html di ubuntu

Uda banyak sih yang nulis postingan beginian, tp gw cuma pengen nambah catatan aja. Gw pengen posting cara setting public_html di ubuntu menggunakan apache.
Step - stepnya ;
- Buat file public_html ;  mkdir  /home/<user>/public_html

- Masuk ke folder mods-enabled;  cd  /etct/apache2/mods-enabled

- Link beberapa file yang ada di folder mods-enabled ke file yang ada di folder mods-available;
   sudo  ln  -s  ../mods-available/userdir.conf  userdir.conf
   sudo  ln  -s  ../mods-available/userdir.load  userdir.load

- Lalu restart apachenya; sudo  /etc/init.d/apache2  restart

Tujuan dari configurasi ini, supaya tidak perlu naro project web ke folder /var/www , cukup ke folder /home/<user>/public_html, misalkan user gw ardi. Sehingga pas buka browser cukup mengetik url : http://localhost/~ardi

Sekian dulu bye :)

Kamis, 08 November 2012

Update ADT 21 dan SDK r20

Uda lama gak megang android, ternyata android uda ngerilis ADT dan SDK yang baru. Gw ngupdate ADT dan SDK ini mungkin gara2 gak sengaja ada library yang gw update. Nah pas mau ngejalanin gw butuh update ADT versi 20. Padahal ADT gw versi 16, jauh banget yak :D.

Pas gw cari - cari, ternyata uda ada yg versi 21, cuma gak nemu sourcenya. Eh, ada yang bilang langsung dari link updatenya aja

Ini link untuk ADT 21 : https://dl-ssl.google.com/android/eclipse-preview/

Tapi yg kita install itu yang versi 20 ya, yang ini linknya https://dl-ssl.google.com/android/eclipse/

Kenapa gak install yang baru, karena gw pernah coba dan si eclipse minta SDK versi 21 di upgrade. Nah itu dia yg gak gw punya makanya gw downgrade lagi ke 20.

Setelah update ADT nya, kita download jg SDK versi 20 di sini

Root Smartfren Andro HS-E910 Via Recovery

Sekedar nambah catatan, hari ini mau tulis cara root di smartfren hisense E910. Pertama yang wajib dilakukan itu cari file - file seperti dibawah ini
- ADB dan Fastboot, (ADB.zip)
- Driver Fastboot (google-adb-driver.rar)
- CWM Recovery  versi china, recovery.zip
- Update Zip (root-cwm.zip)

Jika sudah dapat file - file pendukung di atas, langkah-langkah selanjutnya:

[Android] : INSTALL_FAILED_INSUFFICIENT_STORAGE error

Buat catatan aja sih, gw pernah nemuin error kyk judul di atas waktu debug di devices langsung. Ternyata caranya mudah. Tinggal tambahin satu tag pada AndroidManifest.xml. Contoh seperti di bawah ini dengan menambahkan android:installLocation="preferExternal".

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.andrewsmith.android.darkness"
    android:installLocation="preferExternal"

Sudah deh, bisa langsung run. Oh iya kalo kurang jelas bisa lihat di sini.

Sudah ya, mau pulang dulu :)

Debug Project Android di Smartfren Hisense E910

Hari ini mau tulis cara debug project android di Smartfren atau menjalankan applikasi android langsung tanpa melalui emulator yang ada di eclipse. Gw melakukannya di OS ubuntu dengan mengunakan eclipse sebagai IDE nya.
Untuk melakukan debug langsung pada device, kita harus tau spesifikasi device tersebut. Dan yang paling perlu diketahui adalah vendor ID nya. Berikut spesifikasi yg gw dapat dari link lain

Jumat, 02 November 2012

Enkripsi AES di Java

     Di hari minggu yang mendung bikin galau ini, gw pengen nulis satu lagi catatan yang kemarin bikin galau jg. Catatan ini mengenai  enkripsi menggunakan AES di platfrom java. Langsung aja ke code 

import java.security.GeneralSecurityException;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;

public class TUtil {

public static byte[] convertStr2Byte() {
String strKey = "11C54021B1232ABD21A2121B10A3112C";
        byte[] byteArray = new byte[strKey.length() / 2];

        for (int i = 0; i < strKey.length(); i += 2) {
            char ch1 = strKey.charAt(i);
            char ch2 = strKey.charAt(i + 1);

Digusur atau Karma Menggusur ?

Pernah lihat banyak orang pinggir rel yang pernah kena gusuran lalu nangis-nangis. Atau pedagang kaki lima yang kena gusuran sampe harus ribut dengan satpol PP untuk mempertahankan lahan jualan mereka. Karena mereka sudah bertahun-tahun disitu dan membayar sewa tempat itu sehingga mereka berhak memiliki lahan itu.
Tapi apa orang yang digusur itu pernah berpikir tentang siapa yang sebelumnya pernah mereka gusur. Mungkin kalau semut bisa ngomong mereka akan sumpah serapah pada manusia yang menggusur mereka. Kalau pun punya tenaga buat ribut, mungkin kejadianya seperti pedagang yang mempertahankan lahannya dari satpol PP.
Dan kalau semut bisa menangis, mungkin tangisnya lebih lebay dari ibu2 yang ngamuk karena dagangannya diangkut. 
Entahlah, apa benar kalau manusia itu hanya bisa mengusik kehidupan makhluk lain ?

Wassalam

Kamis, 01 November 2012

Get Content from Httpresponse

Sorry If the tittle use english, but the content indonesian :senyum. Langsung aja yak kemarin gw punya masalah tentang cara ngambil content response yang ada di web, tp melalui httpresponse. Karena problem gw itu gak ditampilkan di web lagi, melainkan diteruskan lagi ke switching lain. Oke langsung aja, yang perlu kita ambil itu stream terus dijadiin string.

private StringBuilder inputStreamToString(InputStream is) {
    String line = "";
    StringBuilder total = new StringBuilder();
    
    // Wrap a BufferedReader around the InputStream
    BufferedReader rd = new BufferedReader(new InputStreamReader(is));

    // Read response until the end
    while ((line = rd.readLine()) != null) { 
        total.append(line); 
    }
    
    // Return full string
    return total;
}

Kemudian fungsi di atas dipanggil dan passing paramater inputStreamnya. Lihat contoh di bawah ini.
public void run() {
  HttpClient hc = new DefaultHttpClient();
  URI uri = null;
  try {
   uri = URIUtils.createURI("http", "192.168.0.133", 9083, "/retail/request", request_param, null);
   
   System.out.println("uri "+uri);
   
   HttpPost httpost = new HttpPost(uri);  
   HttpResponse response = hc.execute(httpost);
   StringBuilder sb = inputStreamToString(response.getEntity().getContent());
  
   System.out.println("response "+sb);
   
  } catch(URISyntaxException ex) {
   Logger.getLogger(TCashDevelH2H.class.getName()).log(Level.SEVERE, null, ex);
  }catch (IOException ex) {
                 Logger.getLogger(TCashDevelH2H.class.getName()).log(Level.SEVERE, null, ex);
                } 
   finally {
   hc.getConnectionManager().shutdown();
  }
 }

Nah disitu tinggal panggil inputStreamnya aja abis itu print dah contentnya. Btw gw ga masukin full source code karena disitu banyak banget, Di situ gw bikin class TCashDevelH2H dan isinya ada fungsi run dan inputStreamToString.

Sekian dari gw, kalau mau lebih jelas lagi. Lihat link ini aja ya :).

Import Certificate To KeyStore

Pagi ini buat catatan pendek tentang keystore. Kemarin rada riweh gara-gara masalah keystore aja. Yuk langsung aja ke code.
sudo keytool -importcert -keystore jdk1.6.0_12/jre/lib/security/cacerts -alias tcash -file jdk1.6.0_12/jre/lib/security/TCASH.cert

Command di atas untuk mengimport certificate ke keystore dengan nama filenya cacerts dan diletakkan di folder jdk1.6.0_12/jre/lib/security/. Sebelumnya nama certificate yang mau diimport itu TCASH.cert

Senin, 29 Oktober 2012

Java : Convert String To Byte

Hallo, hari ini mau tulis lagi snipet code nih. Kali ini gimana kita convert string ke byte di java. Sebenernya mudah sih tinggal panggil fungsi getBytes() aja. Cuma ada sedikit perbedaan jika kasusnya begini.

// variable
String strKey = "BDE540BD7E91EDACA3B0125FE004F52C";

Kemudian pengen dibuat jadi kumpulan byte array dengan per 2 karater. Contoh seperti ini

byte[] bytKey = new byte[16];

bytKey[0] = 0xBD;
bytKey[1] = 0xE5;
...............
...............
byteKey[15] = 0x2C;

Regex di Java

Hari ini mau tulis catatan tentang code regex di java. Btw gw jg gak tau apa ini termasuk regex di java ato enggak :D
Asal mu asal gw tulis ini code sebenernya gw lagi iseng bikin aplikasi kecil tp  pake database db4o (kalo ada yg belom tau tentang db4o, nanti gw tulis artikelnya). Jadi di db4o itu gw gak nemu caranya pake clause 'like' seperti yang ada di sql. Nah untuk mengakalinya gw pake regex. Langsung aja ke code

// ............./** Start snipet code ***/ .......

String str = "ardi cakep";

if(str.matches(".*cakep.*")) System.out.println("This string contains cakep");

// ........./** End snipet code ***/.............

Pada code diatas akan ngeprint This string contains cakep, itu karena variable str mengandung kata cakep.

Sekian dulu, mau meeting :)

Wassalam

Jumat, 05 Oktober 2012

Sebuah Kemalasan dan Harapan

Pagi-pagi di hari sabtu, bingung mau tulis apa hari ini. Tapi di resolusi gw tahun 2012 ini pengen bikin 48 postingan di blog. Cuma bakal rada sulit, karena apa ?? karena ampe oktober ini tulisan gw  cuma ampe 30an :hammer. 
Terus tahun ini jg, gw pengen perut six pack lagi. Cuma masih aja one pack :nohope (ya setidaknya sudah turun 95kg yang dari sebelumnya 100kg :hammer)

Jumat, 21 September 2012

Keyword Basic Postgresql

Berikut gw pengen tulis keyword yang ada di postgresql, sebagai pengingat juga.

- \dt : Tampilkan semua tabel
- \di : Tampilkan semua index
- \ds : Tampilkan semua sequence
- \dv
- \dS : Tampilkan semua deskripsi tabel
- \d table-name : Tampilkan deskripsi dari table-name
- \d index-name : Tampilkan deskripsi dari index-name
- \d view-name :
- \d sequence-name : Tampilkan deskripsi dari sequence-name
- \dp : Tampilkan semua hak akses
- \dl  : Tampilkan semua object
- \da : Tampilkan semua agregator
- \df  : Tampilkan semua fungsi
- \d function-name : Tampilkan deskripsi dari function-name
- \do : Tampilkan semua operator
- \d operator-name : Tampilkan deskripsi dari operator-name
- \dT : Tampilkan semua list type
- \l : Tampilkan semua list database dalam cluster

Sekian :)

Jumat, 14 September 2012

Auto Increment in Postgresql

Sabtu pagi yang cerah ini, rasanya gak afdol jika gak diisi sambil nulis artikel di blog. Kali ini pengen nulis artikel gimana cara bikin auto increment di postgresql. Ya mungkin ecek-ecek sih, tp tidak salahnya jika sambil nambah tulisan di blog.
Auto increment di mysql dan di postgresql sedikit berbeda. Langsung saja kita ke syntax ya.
Pertama kita buat dulu sequence sebagai counter.

CREATE SEQUENCE tbl_category_sequence;

Jumat, 07 September 2012

Aplikasi Host Simulator

Akhirnya project iseng gw kelar jg. Yah walaupun masih beta version. Kali ini gw buat aplikasi host simulator. Biasa dipake buat ngetest aplikasi EDC ato aplikasi client lainnya. Berikut gw tampilin screenshootnya.

Gambar 1. Tampilan Awal

Selasa, 28 Agustus 2012

Adding Check Box in Cell Table

Pengen nambah catatan lagi mengenai JTable. Kali ini pengen nambahin gimana caranya insert checkbox di cell JTable. Untuk nambahin checkbox, caranya cukup mudah. Pada cell tertentu ganti saja dengan object Boolean, maka akan di render menjadi checkbox. Lansung aja ke code ya.

public class TableFieldModel extends AbstractTableModel {

    String[] colom = {"Field", "Value", "Action"};
    FieldModel fm = new FieldModel("", "", false);
    List<FieldModel> lfm = new ArrayList<FieldModel>();

Senin, 27 Agustus 2012

Adding and Remove Row in JTable

Sambil mau nambah catatang lagi nih, pengen tulis snippet code nambah dan hapus baris di JTable. Pertama kita bikin dulu mode table kita sendiri, tentunya kita extends dari yang sebelumnya :D. Kemudian kita bikin class bantu (klo gw nyebutnya gitu :D ). 


Langsung aja ya ke code, :)

import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
import javax.swing.table.AbstractTableModel;

/**
 *
 * @author user
 */
public class TableMTIModel extends AbstractTableModel{
       String[] colom = {"MTI", "Fields"};
       List<Helper> l = new ArrayList<Helper>();
       Helper hl = new Helper();
    
       public TableMTIModel () {        
             l.add(hl);        
       }    

Insert Button in Cell JTable

Hari ini mau tulis snipet code tetang cara masukin button ke cell table. Ya sebagai catatan aja biar gak cari - cari lagi. Untuk masukin button ke cell table, kita pake yang namanya cell renderer dan cell editor. Langsung aja ya ke kode.

import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.DefaultCellEditor;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.UIManager;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableCellRenderer;

/**
 * @version 1.0 11/09/98
 */
public class JButtonTableExample extends JFrame {

     public JButtonTableExample() {
          super("JButtonTable Example");

          DefaultTableModel dm = new DefaultTableModel();
          dm.setDataVector(new Object[][] { { "button 1", "foo" },
         { "button 2", "bar" } }, new Object[] { "Button", "String" });

          JTable table = new JTable(dm);
          table.getColumn("Button").setCellRenderer(new ButtonRenderer());
          table.getColumn("Button").setCellEditor(
                      new ButtonEditor(new JCheckBox()));
          JScrollPane scroll = new JScrollPane(table);
          getContentPane().add(scroll);
          setSize(400, 100);
          setVisible(true);
    }

Kamis, 23 Agustus 2012

Interface in Java

Hari ini mau tulis tentang interface di java. Interface itu object yang isinya hanya methode / fungsi. Biasa digunakan untuk "berinteraksi" dengan object lain tanpa tahu object lain itu seperti apa. Bingung??  Ok sama gw jg bingung :D, contoh yang paling gampang adalah ketika kita menggunakan remote tv ketika ingin menonton tv. Tombol remote tv adalah sebagai interface antara kita dan listrik yang ada di dalam remote tv.
Langsung aja kita buat simple contoh dari interface,

public interface HiListeners{
     public void say(String word);
}

Jumat, 10 Agustus 2012

SSL in Java

Hari ini mau tulis tutorial ecek-ecek lah. Uda lama juga gak nulis setelah laptop keyboard rusak #curcol. Kemarin iseng - iseng bikin koneksi tapi dibungkus pake SSL. Gw jg baru sih dan lumayan rada sulit.
Yang pertama kita lakukan itu bikin keynya atau gak certificatnya. Untuk bikin key itu uda ada tool dari javanya sendiri. 
Ketik command :
keytool -genkey -keystore mykey -keyalg RSA
Setelah jalanin command ini, akan terbuat file "mykey". Isinya itu keystore yang uda digenerate pake keytool. Oh, ya dalam membuat key ini bisa diselipin option macem-macem ya. Tapi default gw cuma bikin itu doank.
Nah abis itu kita buat server dan clientnya. Berikut kodenya untuk server dan client.

Kamis, 21 Juni 2012

Aku Suka Kamu dan End part 3

Setelah pagi-pagi ditolak, gw langsung berpikir untuk fokus ke skripsi ama kerjaan. Secara uda semester 9, malu lah di kampus lama-lama. Cuman yang bodohnya waktu itu, walaupun uda ditolak tp gw masih pengen coba lagi. Y siapa tau kalo dicoba lagi berhasil. Ibarat kata klo di programming , "Sekali Compile Gagal, Coba Compile Lagi, Sapa Tau Berhasil dan Bisa Dijalanin" :nyengir. 

Setelah anca mandi, gantian gw yang mandi. Di kamar mandi sambil liat kaca, gw mikirin omongan hanna yang bikin gw ga pede itu :mad. Waktu liat muka gw dicermin, terus gw bilang "gw ganteng jg ya :metal" (sebenernya mencoba menghibur diri, tapi sayang ga berhasil :nangis). Terus gw punya pikiran buat cukur kumis ama jenggot. Keliatannya dekil ngeliatnya, mama di rumah juga sering protes minta jenggot ama kumis dicukur (karna baru satu fans aja yang complain, makanya diacuhkan aja :hammer). Pengen ganti suasana jg karena abis ditolak :nangis. 

Jumat, 15 Juni 2012

Aku Suka Kamu dan End part2

Menyambung dari blog sebelumnya.

Keesokan harinya, gw ketemu dia :malu (waktu itu emang ada matakuliah bareng :senyum). Dan tiba-tiba aja gw jadi mules waktu ngeliat wajah dia :hammer. Dia keliatan lebih cantik dari biasanya, yang biasanya pake kaos sekarang lebih feminim pakaiannya :genit. Setelah matakuliah selesai, seperti biasa hanna nyamperin gw di meja admin.

Hanna :  "Di,,, kemarin gimane?!! jadi lo nembak desi ??!!"
Gw     :  "Jadi....(dengan ekspresi datar :cool)"
Hanna :  "Terus..terus lo bilang gimane??!!" (mulai kepo :nohope)
Gw     :   "Ya gitu, gw cuma bilang suka aja ama dia....:malu"
Hanna :  "Lah, lo ga bilang jadi pacar ato apa gitu?? :nohope"
Gw     :   "Kagak, emang ngape?? :senyum"
Hanna :  "Iiih...dodool, lah abis bilang itu dia ngomong ape??"
Gw     :   "Abis gw bilang itu, dia cuma bilang "kok cuma segitu doank siih"??, udah"
Hanna :   "Ya ampun, ardiiiii, itu artinya cewe minta lebih dari itu!! :nohope"
Gw     :   "Masa sih han?? :norose"
Hanna :   "Ya iyalah, itu namanya lo gantung perasaan dia"  (mulai sotoy :nohope)
Gw     :   "Terus gimana?? :norose"
Hanna :  "Yaahh, ya uda deh mending doa aje yeee"
Gw      :  "....... :norose"

Aku Suka Kamu dan End part1

Sambil nunggu copy file 24GB, mending ngeblog aja kali yak. Uda sore jg, rada males kerja jg. Pengen cerita zaman jadi admin dulu. Senang, sedih, sangat sedih waktu di kampus. Waktu itu kira-kira semester 7 lah. Waktu itu hampir mau lulus, tp satu pun wanita belom bisa digebet ( maklum masih kere :hammer ). Tapi sebelumnya memang sebenernya gw uda suka sama cewe, dia itu mentor waktu pas OSMA (kata ganti dari OSPEK :senyum ). Waktu itu hanya sebatas suka aja, kalau dia jalan suka liatin, suka nyapa doi juga :nyengir. Waktu itu gw juga sampe bela-belain masuk rohis gitulah (secara dia anak rohis :senyum). Cuma waktu itu gw kurang aktif, jadi jarang ikut rohis jarang pula ketemu doi :nangis. Jadi inget waktu minta tanda tangan pas OSMA, gw rela ada di antrian paling belakang cuma pengen liat doi doank. Ampe ga sadar dia jg liat balik.

Selasa, 22 Mei 2012

Reasons of getting a java.lang.VerifyError

Pernah ngalamin error kayak gini, sekedar pengalaman dan nambah tulisan aja :nyengir. Ini error muncul kalau ada library yang berbeda versi. Jadi library pada saat di compile dan run itu berbeda.
Misal kita compile menggunakan library httpcore-4.1.1.jar tapi di classpath pada saat run kita menggunakan httpcore-4.0.jar.  Jadi ada beberapa perubahan class yang terjadi pada saat run, sehingga menyebabkan ClassNotFoundException. Karena mungkin saja ada method atau class yang ga ada.
Biasanya compiler akan memberikan flag dimana methode signature tidak sama. JVM memeriksa bytecode lagi ketika class diload, dan melempar VerifyError ketika bytecode mencoba untuk melakukan sesuatu yang tidak diijinkan, misal memanggil methode yang mengembalikan String dan kemudian menyimpan nilai balikan tersebut di dalam field yang memegang list

Jumat, 18 Mei 2012

Kampus Ku Horor ep-2

Liburan biasanya belajar setting server, masih inget waktu itu belajar nyetting ltsp server. Nah karena biasanya lab itu sepi, gw rencana ngerjain hari minggu. Gw pilih hari libur itu karna emang lab ga terlalu rame dan mulainya pagi lah jadi bisa selesai sebelum maghrib.
Nah jam 9 gw uda nyampe kampus tuh ( mahasiswa rajin :nyengir ). Seperti biasa di depan loby ada satpam yang nunggu di depan.

Rabu, 16 Mei 2012

Delete And Import Task Ant

Hi..
Sore ini mau tulis tentang task yang ada di ant. Kalau kalian tahu, ada banyak task yang ada di ant. Tapi sore ini mau tulis tentang delete dan import. Oke kita mulai dari delete.
Delete digunakan untuk menghapus file atau folder yang ada pada konfigurasi suatu project atau yang lain. 
1. Delete folder <delete dir="${basedir}/DirToDelete" />
2. Delete specified file, e.g java file, under the provided target
     <delete>
         <fileset dir="${basedir}/DirToDelete" includes="*.java" />
     </delete>
3. Delete all specified file, e.g java file anywhere under the provided target
    <delete>
          <fileset dir="${basedir}/DirToDelete" includes="**/*.java" />
     </delete>
4. Delete all specified file, e.g java file only within the target directory  and its immediate child directories
    <delete>
           <fileset dir="${basedir}/DirToDelete" includes="*.java, */*.java"/>
    </delete>

Jumat, 11 Mei 2012

Hari Riweh

Gw ga tau lagi harus bilang apa untuk client gw ini. Padahal ini client paling terkenal, ya secara XL gitoh (eh keceplosan). Jadi gini harusnya hari ini kita demo ke client client untuk ngenalin produk kita dan berhubungan juga dengan XL. Tapi sampai saat ini kita belom bisa melakukan demo, itu karena mereka belom entry database client yang mau kita demoin :hammer
Gw belom datang aja, ini hp uda geter - geter di paha. Pas gw datang uda diserbu pertanyaan, ini gimana itu gimana macem artis aja :nyengir


Bapak : "Di, ini gimana kita ga bisa koneksi?, kok putus mulu ya ?"
Ardi    : "Ummm....(mana gw tau!!!)"
Bapak :  "Katanya gatewaynya??"
Ardi    : "Oh, nanti saya cek deh pak (baru buka laptop)"


Cara Menutup Port di Ubuntu

Hi...
Hari ini mau tulis tutorial tentang menutup port, ya terhitung ecek - ecek sih. Tapi gpp lah sekalian nambah tulisan.
Untuk menutup port, kita cari tahu PID nya berapa, caranya :

sudo netstat -lpn | grep :8707

Nanti akan muncul output yang seperti dibawah ini :


tcp6       0      0 : : :8707                 : : :*                    LISTEN      6547/java

Abis itu bisa langsung kill PID nya :

kill 6547

Setelah itu selesai dah

Sekian tutorial dari saya, cukup mudah bukan :)

Jumat, 04 Mei 2012

Kampus Ku Horor ep-1

Baru pulang dari kantor terus bingung mau ngapain,sambil liat liat facebook,twitter,blog, tiba - tiba kepikiran pengen nulis. Sebelumnya liat - liat foto kampus yang di facebook, jadi keingetan sama kejadian horor sewaktu di kampus. Ada banyak sih yang gw alamin waktu masih di kampus, karena gw sendiri paling sering di kampus, ya secara gw admin gitu :nyengir .

Jadi ceritanya gini, waktu masih jadi admin lab kampus, so pasti gw kan sering nongkron di lab. Malam itu gw sama temen - temen yang lain itu di lab. Ga lama beberapa itu pamitan mau pulang. Kira - kira itu masih jam 8an lah. Tapi gw ama beberapa yang lain masih asyik main di lab, ya mumpung inet gratis :hammer . Ga terasa tuh uda jam 11 malem. Ya uda gw bilang ama temen gw buat balik, disitu ada tris ama aji.


ardi : "Woii...balik yuk, uda malem nih"
tris  : "Ohh....buset uda jam segini aja yak.."
ardi : "Beres - beres dah Ji !! (dengan nada bos gitu :cool )"
adji : "Iyee.. (mungkin setengah gondok :mad )"


Kamis, 03 Mei 2012

Nasib programmer

Pengen curcol nih tentang kerjaan sebagai programer. Bekerja sebagai programer bisa dibilang enak ya enak, tp mau dibilang susah ya susah.
Dan paling :emosi tuh kalo kerjaannya diuber - uber, mending dipake aplikasinya, kadang - kadang jg kagak :fuck. Pernah jg gw disuruh ngerjain aplikasi ampe diuber - uber, waktu itu bos gw ngomong gini

bos : "Di, seminggu lagi demo di pancoran, aplikasinya uda siap ?"
ardi : "Belom bos.... (anjriiit, lo kata gampang ngerjainnya :fuck )"
bos : "Ya pokoknya mesti jadi lah yak,soalnya mau dipasang tuh"
ardi : "Iyee... (setengah gondok... :mad)"

Uda dah tuh, dengan menyusun semangat 45 :army ane kerjain tuh. Dan akhirnya kelar jg lah, ya setidaknya bisa didemoinlah. Setelah demo selesai, hari berganti minggu, minggu berganti bulan (sorry rada lebay..... :nyengir ).
Gw penasaran kok ga ditanya,padahal sebelum demo gw uda diuber2 kan. Terus gw tanya gini

ardi : "bos, itu project kemarin gmn ? kok adem ayem aja :senyum "
bos : "Gak jadi, di. Nilainya ga sesuai"
ardi : "Maksudnya ga sesuai apaan?.. (mulai gondok nih.... :mad)"
bos : "Iya ga jadi, ga sesuai MDR"
ardi : "!@#!#@!#!... :fuck"

Ya itulah sebagian kecil pengalaman gw kerja sebagai programer, udah yak gw mau pulang nih jg masih dikantor :nyengir

Jumat, 27 April 2012

Collapse dan Expands vim

Hi, hari ini mau tulis tentang fitur Vim yang bisa menggunakan collapse dan expands. Untuk fitur ini disebut folding.
Contohnya seperti gambar dibawah ini.


Tanpa basa-basi langsung aja. Step - stepnya :
1. Enabling fold : untuk enable folding ketik :set foldenable dan untuk disable folding ketik :set unfoldenable

2. Fold method : ada beberapa yang bisa difolding syntax, indent, manual. Caranya, :set foldmethod=OPTION contohnya :set foldmethod=syntax

3. Setelah method folding dijalankan, vim sudah bermode folding. Berikut command - commandnya :
    - za : expands atau collapse (folding
    - zc : collapse (close folding)
    - zo : expands (open folding)
    - zr dan zm : expands all atau collapse all

Selesai dah, gitu aja command folding.
Kalau kurang jelas bisa lihat di dokument ini.

Sabtu, 14 April 2012

Aku Cakep

Kata orang gw cakep.. Apa bener ya.... Setau gw biasa2 aja... Tapi biarlah orang yang menilai kalo gw cakep....

Ini lo wajah gw....

Spoiler :

Jumat, 13 April 2012

Standar Input Output : gets()

Hallo, tiba - tiba pengen nulis tentang standar input output yang di C.
Kalau ada kalian yang menggunakan "gets", pasti akan terasa aneh pada saat nge run programnya. Semisal ada code seperti ini

#include<stdio.h>
#include<string.h>

void main() {

   char nama[30];
   char alamat[30];
   int umur;

   printf("input nama : ");
   gets(nama);

   printf("input alamat : ");
   scanf("%s", alamat);

   printf("input umur: ");
   scanf("%d", umur);
}

pas di run 
input nama : ardi 
input alamat : input umur :

Untuk itu kita tambahin fflush(stdin)

#include<stdio.h>
#include<string.h>

void main() {

   char nama[30];
   char alamat[30];
   int umur;

   printf("input nama : ");
   gets(nama);
   fflush(stdin);

   printf("input alamat : ");
   scanf("%s", alamat);

   printf("input umur: ");
   scanf("%d", umur);
}


pas di run 

input nama : ardi
input alamat : jakarta timur
input umur : 19

Nah outputnya ga serusak yang sebelumnya, btw fungsi fflush(stdin

Sekian dari saya :)