Banner Java

Menggunakan Kelas StringTokenizer Di Java

Salah satu kelas menarik yang juga digunakan untuk memanipulasi string adalah kelas StringTokenizer. Dengan menggunakan kelas ini, Anda dapat memecah-mecah string yang panjang menjadi beberapa kata atau bagian-bagian tertentu berdasarkan delimiter yang ditentukan. Secara default, delimiter yang digunakan adalah space, tab, new line, dan carriage return (“ \t\n\r”). Anda juga diperbolehkan untuk menentukan delimiter sendiri. Tiap-tiap delimiter adalah sebuah karakter, sedangkan kata-kata atau bagian-bagian hasil pemisahan berdasarkan delimiter disebut token.

Konstruktor kelas StringTokenizer.

Kelas StringKokenizer mempunyai tiga buah konstruktor yang dapat digunakan untuk mengkonstruksi obyek secara berbeda. Tiga buah konstruktor dari kelas StringTokenizer adalah sebagai berikut:

Konstruktor Keterangan
StringTokenizer(String s) Mengkonstruksi string kokenizer dengan nilai string.
StringTokenizer(String s, String delimiters) Mengkonstruksi string kokenizer dengan nilai string dan delimiter ditentukan.
StringTokenizer(String s, String delimiter, boolean returnDelimiters) Mengkonstruksi string kokenizer dengan nilai string dan delimiter ditentukan. Jika returnDelimiters bernilai true, maka delimiter ikut dihitung.

Metoda kelas StringTokennizer.

Kelas StringTokenizer mempunyai beberapa metoda yang digunakan untuk memproses dan mengambil kata-kata atau bagian-bagian yang sebelumnya sudah dipecah-pecah berdasarkan delimiter. Adapun metoda-metoda yang dimaksud adalah sebagai berikut:

Metoda Keterangan
countTokens() Mengembalikan jumlah tokens yang tersisa.
nextToken() Mengembalikan token berikutnya.
nextToken(String delimiters) Mengembalikan token berikutnya menggunakan delimiter baru.
hasMoreTokens() Mengembalikan nilai boolean true jika ada lebih token yang tersisa.

Menggunakan delimiters default.

Berikut ini adalah contoh kode program yang mendemonstrasikan penggunaan delimiter default (“ \t\n\r”) untuk memecah-mecah string menjadi beberapa kata.

// Nama file : DelimitersDefault.java
// Mendemonstrasikan penggunaan delimiters default

// Mengimpor kelas
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import java.util.StringTokenizer;

// Deklarasi kelas
public class DelimitersDefault {

   // Metoda main
   public static void main(String[] args) {

      String str = "Java mudah dipelajari dan menyenangkan.";

      StringTokenizer strTokens;
      strTokens = new StringTokenizer(str);

      String hasil;
      hasil = "Argumen konstruktor : \n";
      hasil += str + "\n";
      hasil += "\nJumlah tokens : " + strTokens.countTokens();

      while (strTokens.hasMoreTokens())
         hasil += "\n" + strTokens.nextToken();

      // Menampilkan hasil
      JTextArea area = new JTextArea();
      area.append(hasil);
      JOptionPane.showMessageDialog(null, area, "Menggunakan Delimiter " +
         "Default", JOptionPane.INFORMATION_MESSAGE);

      // Mengakhiri aplikasi berpenampilan GUI
      System.exit(0);
   }
}

Baris nomor 18 adalah pernyataan untuk membuat obyek dari kelas StringTokenizer dan memberi variabel strTokens acuan objek tersebut. Obyek dibuat dengan menggunakan kontruktor yang mempunyai satu parameter dengan tipe String. Parameter ini diberi argumen literal string “Java mudah dipelajari dan menyenangkan.”. Pernyataan di baris nomor 23, metoda countTokens digunakan untuk mengetahui jumlah token yang terdapat di obyek StringTokenizer.

Baris nomor 25 adalah perulangan while. Perulangan while ini mengevaluasi ekspresi bernilai boolean, strTokens.hasMoreToken, untuk menentukan apakah token (kata-kata atau bagian-bagian lain yang ditentukan oleh delimiliter) masih ada. Apabila ekspresi boolean ini bernilai boolean true, maka pernyataan baris nomor 26 akan dieksekusi.

Baris nomor 26 adalah pernyataan untuk merangkai string baru dengan nilai string yang tersimpan di variabel string hasil. Nilai string baru terdiri dari karakter baris baru dan nilai hasil pengembalian metoda nextToken. Metoda nextToken mengembalikan nilai dengan tipe String yang merupakan token berikutnya yang masih terdapat di obyek StringTokenizer. Perulangan while akan terus melakukan iterasi selama tokens di obyek StringTokenizer masih ada (ekspresi strTokens.nextTokens bernilai boolean true).

Untuk memperbaiki mutu konten, Anda dapat berpartisipasi dengan cara melaporkan apabila menemukan kesalahan ketik, kata-kata rangkap, redaksi kurang pas (jelas), gambar pendukung tidak ada dan sebagainya melalui form Kontak Kami untuk mendapatkan perbaikan. Terima kasih atas kerjasamanya.

Hindro HindriantoHindro adalah pendiri sekaligus admin termasmedia.com dan topikit.com, blog online yang mengulas teknologi informasi. Dunia web mulai ditekuni tahun 2012 dengan mempelajari CMS Joomla dan Wordpress. Beberapa buku yang sekarang dipelajari antara lain PHP, HTML5, ASP.NET 4.5, JavaScript, CSS3, MySQL, Adobe Dreamweaver, Adobe Photoshop dan Adobe Flash.