Thursday, June 12, 2008

Eclipse: Menambahkan JUnit library

JUnit

Unit testing adalah hal yang sangat penting dan krusial bagi para pengembang aplikasi terutama aplikasi besar. Antara lain kegunaannya adalah menjaga agar aplikasi kita tetap on track sesuai requirement dan menghindari bug sedini mungkin.

JUnit adalah pustaka unit testing untuk Java yang sangat populer, dan sebagai pengguna Eclipse ternyata JUnit ini sudah ada secara built in tetapi tidak disertakan secara otomatis di dalam classpath project kita.

Berikut adalah petunjuk menambahkan library / pustaka JUnit di dalam lingkungan Eclipse.

Menambahkan JUnit ke dalam Project

  • Klik kanan nama project kita kemudian pilih properties (atau ALT+ENTER)
  • Pilih Java Build Path | Libraries
  • Klik tombol Add Library



  • Pilih JUnit | klik Next
  • Pilh JUnit versi 3 atau 4 | Klik Finish



  • JUnit sudah ditambahkan ke dalam classpath


* Ditulis dengan menggunakan Windows Live Writer.

Sunday, June 8, 2008

Regular Expression di Java

Regular expression (regex) adalah konstruksi yang sangat powerful dalam mengolah teks. Berangkat dari popularitas penggunaannya di PERL, regex ini sekarang umum dijumpai di hampir semua bahasa pemrograman yang populer termasuk Java.

Jadi, bagaimana kita menggunakannya di Java ?

Mudah, ikuti saja tips berikut ini ;)

Mencocokkan suatu pola teks di dalam objek bertipe String

Untuk mencocokkan suatu pola teks, kita gunakan metode matches() dari String object. Sintaksnya adalah sebagai berikut:

boolean java.lang.String.matches(String regex)

Parameter yang digunakan adalah suatu pola atau pattern - yang merupakan suatu objek String - dan method ini mengembalikan nilai boolean true jika pola yang dibandingkan cocok. Begitu juga sebaliknya, akan mengembalikan nilai false jika pola yang dibandingkan dengan teks tidak cocok.

Contoh 1:

if(textToBeMatched.matches("[a-z A-Z]+"))
System.out.println("Teks cocok dengan sederetan karakter alfabet");


Contoh 2:


public class RegexTest {

public static void testPhoneNumber(String phoneNumber)
{
String phoneNumberPattern = "^\\+{0,1}[\\d]+[-\\d]+\\d$";

if(phoneNumber.matches(phoneNumberPattern))
System.out.println(phoneNumber + " adalah pola nomor telepon !");
else
System.out.println(phoneNumber + " bukan merupakan pola nomor telepon yang valid !");
}
public static void main(String[] args)
{
testPhoneNumber("+6221-3011-9353"); //output adalah nomor telepon yang benar
testPhoneNumber("-6221-3011-9353"); //output adalah nomor telepon yang salah
}
}


Mengganti teks yang cocok dengan suatu pola

Untuk mengganti suatu teks yang cocok dengan suatu pola kita dapat menggunakan dua class dari package java.util, yaitu class Pattern dan Matcher.

Pertama, kita menginisialisasi pola dengan method compile() dari class Pattern. Method ini sekaligus akan mengembalikan satu objek Pattern. Kita kemudian dapat memberikan teks yang akan diolah ke method matcher() yang kembali akan membuat objek Matcher. Sekarang kita tinggal memanipulasi teks dalam objek tersebut. Caranya adalah dengan menggunakan method replaceAll() method dari objek Matcher.



Contoh:


import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexReplacementTest {

public static String censoredPhoneNumber(String phoneNumber)
{
String phonePattern = "(\\+{0,1}[\\d]+[-\\d]+\\d).*";

Pattern pattern = Pattern.compile(phonePattern);
Matcher matcher = pattern.matcher(phoneNumber);

return matcher.replaceAll("*sensor*");
}

public static void main(String[] args)
{
String phoneNo = "Nomor telepon saya adalah +6221-3011-9353";

System.out.println(censoredPhoneNumber(phoneNo));

}
}

Kesimpulan

Aritkel blog ini menunjukkan 2 penggunaan regular expression :
  1. mencocokkan pola teks dengan method matches() yang ada pada setiap objek String.
  2. mengganti suatu text yang cocok dengan suatu pola dengan bantuan dua class helper, Pattern and Matcher.

Mudah-mudahan ini dapat membantu Anda untuk memecahkan masalah penggunaan regular expression di Java.

Salam,

Perubahan Header Blog

Dengan pertimbangan efisiensi ruang, akhirnya saya memutuskan untuk mengganti header blog ini dengan versi yang lebih ringkas - dengan tinggi gambar yang lebih kecil.

Di bawah ini adalah gambar header lama dan header baru.

(header lama)

(header baru)

Walaupun hanya header, semoga bisa menambah kesan keseriusan saya untuk selalu memberikan sumbangan tips dan tutorial untuk Java - a great programming language - melalui blog ini !

Salam,