freetowrite. freetospeak. freetodecide.

[utak-atik]

text atau binary?

hai temans.. kemarin2 ini sy sempat bingung, mau nerima text atau binary? hehe, ini sebenarnya masalah di salah satu kerjaan sy tahun ini. yap, ini tentang listening message di port tertentu saat menerima sms. tentu saja kita main dengan j2me, midlet, messageconnection, dsb.
jadi waktu itu sy butuh membedakan message yg masuk itu text atau binary, karena selanjutnya perlakuan utk kedua jenis message itu berbeda. ternyata hanya butuh kata kunci “instance of”, beres! mudah2an bermanfaat yak.. :)

//ambil sms dari messageconnection yang sudah
//didefinisikan listening ke port tertentu
sms_masuk = msgcon.receive();
String pesan = null;
if(sms_masuk != null){
   //lihat apakah sms yg masuk itu text atau binary
   if(sms_masuk instanceof TextMessage){
      TextMessage tm = (TextMessage) sms_masuk;
      //ambil string dari textmessage tm
      pesan = tm.getPayloadText();
      //silakan proses pesan yg textmessage ini sesuai selera
   }
   //jika bukan textmessage, ya paling2 binary :p
   else if (sms_masuk instanceof BinaryMessage){
      BinaryMessage bm = (BinaryMessage) sms_masuk;
      //ambil string dari binarymessage bm
      byte[] bytepsn = bm.getPayloadData();
      pesan = new String(bytepsn, "UTF-8");
      //silakan proses pesan yg binarymessage ini sesuai selera
   }
}

tes koneksi java mysql

halo semua.. mau share kode sumber nih. sebenarnya di luar sana udh banyak sih yg nulis kode sumber utk ini. tp siapa tau aja ada yg terbantu dengan posting ini. lagipula kerjaan sy tahun ini berkaitan dengan koneksi mysql menggunakan java. hehehe..

pertama, kita perlu bahan-bahan sbb:
- jdk, sy pakenya versi 1.6
- netbeans, sy pakenya versi 6.1
- mysql, sy pake mysql yg ada dalam paket 3-in-1 (apache, php, mysql) pada appserv 2.5.9
- mysql-connector-java.jar, sy pakenya versi 3.2.0

kemudian instal bahan-bahan tersebut pada komputer anda. untuk bahan nomor 1 s/d 3 itu gampang, tinggal ‘next’, …, ‘next’ dan ‘finish’. untuk bahan terakhir juga sebenarnya mudah, cukup kopi dan salin file jar ke folder jdk anda di /jre/lib/ext. contoh : jdk 1.6 sy ada di C:\Program Files\Java\jdk1.6.0_07 maka sy kopi dan salin file jar tsb ke C:\Program Files\Java\jdk1.6.0_07\jre\lib\ext. gampang yah?
agar nanti kode sumber berjalan dengan semestinya, jangan lupa buat database dengan nama sesuka anda plus tabel-tabel yg ada di dalamnya. di contoh ini sy membuat database bernama ’sms’ dengan tabel ‘data_pelanggan’.

lanjut.. kita akan lihat apa saja yg dilakukan oleh kode sumber utk koneksi ke mysql dan beraksi di sana. pertama adalah panggil driver jdbc (java database connectivity). gini manggilnya..

try {
   Class.forName("com.mysql.jdbc.Driver");
   System.out.println("Berhasil!");
} catch (ClassNotFoundException c) {
      System.out.println("Gagal! " + c);
}

klo driver itu ada maka kita akan mendapat tulisan ‘Berhasil!’, jika sebaliknya ya ‘Gagal!’ ditambah dengan keterangan kegagalan.

kedua adalah membangun koneksi menggunakan interface Connection. koneksi yang dibangun didapat dari class DriverManager menggunakan method getConnection(String url, String username, String password).

if (koneksi == null) {
   try {
      String url = "jdbc:mysql://127.0.0.1:3306/sms";
      String user = "root";
      String passw = "myroot";
      koneksi = DriverManager.getConnection(url, user, passw);
      System.out.println("Koneksi ke mysql sukses!");
   } catch (SQLException s) {
         System.out.println("Koneksi ke mysql gagal!");
         System.exit(0);
   }
}

url adalah alamat dari database di mysql, pada kode ini ada di 127.0.0.1 port 3306 (port default) dengan nama ’sms’. username adalah nama user yg untuk mengakses database di mysql, pada kode ini usernamenya ‘root’. password adalah password yg bersesuaian dgn username yg tadi yaitu ‘myroot’.

ketiga, membuat object Statement yang berfungsi untuk melakukan query ke mysql, kemudian menyimpan hasil query dalam interface ResultSet untuk selanjutnya dapat menampilkan hasilkan query tsb.

String sql = "SELECT * FROM data_pelanggan";
try {
   Statement st = koneksi.createStatement();
   ResultSet rs = st.executeQuery(sql);
   while (rs.next()) {
      //ambil data dgn nama field
      System.out.print(rs.getString("id_pelanggan") + " | ");
      System.out.print(rs.getString("nama_pelanggan") + " | ");
      System.out.print(rs.getString("alamat_pelanggan") + " | ");
      System.out.println(rs.getString("daya"));
   }
   //tutup statement
   st.close();
} catch (SQLException s) {
   System.out.println("Data tak dapat diambil. "+s);
}

terakhir jangan lupa untuk menutup koneksi yang tadi kita bangun.

try {
   koneksi.close();
   System.out.println("Koneksi ke mysql berhasil diputus!");
} catch (SQLException s) {
      System.out.println("Koneksi ke mysql tidak dapat diputus. "+s);
}

gitu dulu deh ya, klo mau kode sumber lengkapnya silahkan ke sini aja. selamat mencoba. semoga bermanfaat yah..
*) dari berbagai sumber


jtextfield that only accept numbers

here it is a java class made to make your jtextfield accepts only numbers. i’ve found it somewhere in the net. my brother, a java specialist called mamasexy, told me to put the code here in my blog. he said it would help people who need it. that sounds wise.. so i put it here, right here below with a green text.

import java.awt.event.KeyEvent;
import javax.swing.JTextField;

public class IntTextField extends JTextField {
    final static String
    badchars = “`~!@#$%^&amp;*()_+=\\|\”‘:;? / > . < , “;
    @Override
    public void processKeyEvent(KeyEvent ev) {
        char c = ev.getKeyChar();
        if((Character.isLetter(c) &amp;&amp; !ev.isAltDown())
        || badchars.indexOf(c) > -1) {
            ev.consume();
            return;
        }
        if (c == ‘-’ &amp;&amp; getDocument().getLength() > 0) ev.consume();
        else  super.processKeyEvent(ev);
    }
}

i use this code with Java 6 using Netbeans IDE 6. you need to include this java class on your package to make it work. dont forget to create textfield’s instance using myTextfield = new IntTextField();.
well..i hope it’s useful… enjoy your cup of java.


bikin modul di joomla!

hari ini sy mencoba membuat modul di joomla. tahun ini joomla memang jadi bagian pekerjaan saya, jadi mau tak mau harus sy pelajari. ternyata membuat modul di joomla cukup mudah. cukup buat dua file, *.xml dan *.php, cukup..tapi ini hanya untuk modul yg sederhana loh..
awalnya sy dapat caranya dari pak betha sidik, namun sy bingung karena tidak berhasil. kemudian sy cari dan temukan caranya di e-book tentang joomla, dan berhasil! vd^-^b. sebagai contoh sy membuat sebuah modul yg akan menyapa pengunjung sekaligus memberitahukan tanggal hari ini. modul ini sy namai ‘HaiDunia’. nama yg standar yah.. :P
note : contoh dipraktekkan pada versi joomla!1.5.3

berikut adalah langkah-langkahnya:

1. buat file mod_hai.xml sbg file descriptor bagi modul yg akan kita buat :

<? xml version="1.0" encoding="utf-8" ?>
<install type="module" version="1.5.0">
<name>HaiDunia</name>
<author>raindust</author>
<creationDate>Juni2008</creationDate>
<copyright>copyfree@2008</copyright>
<description>Modul yg menampilkan lokasi dan tanggal server.</description>
<files>
<filename module="mod_hai">mod_hai.php</filename>
</files>
<params>
<param name="location" type="text" default="Jakarta, ID"
label="server location" description="Ini adalah lokasi saya berada.">
</params>
</install>

2. buat file mod_hai.php sebagai file modulnya :

<?php
// cegah akses langsung
defined( ‘_JEXEC’ ) or die( ‘Akses langsung tidak diperbolehkan’ );
// dapatkan parameter location yang di-set dalam Module Manager
$myLocation = $params->get(‘location’, 0);
// set string tanggal
$myDateTime = date("d M Y");
// tampilkan ucapan
echo JText::_(‘Hai..salam dari ‘) . "<b>" .$myLocation . "</b>.";
echo JText::_(" Sekarang tanggal ") . $myDateTime . "<br/>";
?>

3. zip dua file tersebut dgn nama mod_hai.zip

4. instal modul dgn cara masuk ke Extension Manager pilih Instal

5. pada box Upload Package browse file mod_hai.zip lalu klik [Upload File and Instal]

6. masuk ke Module Manager lalu enable-kan modul HaiDunia dan atur order-nya

7. lihat hasilnya di halaman home/frontpage joomla!

hasilnya nanti seperti ini…

semoga berhasil dan bermanfaat.. d^-^b
raindust greetz to : si cntq ii bungamatahariku