Skip to content

Commit 06eb113

Browse files
authored
add: penjelasan JavaStringTokenizer (#119)
1 parent b8b1dad commit 06eb113

File tree

4 files changed

+132
-0
lines changed

4 files changed

+132
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package utilities.JavaStringTokenizer;
2+
import java.util.StringTokenizer;
3+
4+
public class JavaStringTokenizer {
5+
public static void main(String[] args) {
6+
7+
// Memanggil contructor dengan 2 params
8+
StringTokenizer strings = new StringTokenizer("My name is Caroline."," ");
9+
10+
// Melakukan looping untuk mencetak semua token yang tersedia
11+
while (strings.hasMoreTokens()) {
12+
System.out.println(strings.nextToken());
13+
}
14+
15+
// Mencetak 1 token dari sebuah string
16+
strings = new StringTokenizer("Hello, nice to meet you.");
17+
System.out.println(strings.nextToken(","));
18+
19+
// Menghitung jumlah token dari sebuah string
20+
strings = new StringTokenizer("Hello, nice to meet you.");
21+
System.out.println(strings.countTokens());
22+
23+
// Melakukan looping untuk mencetak semua token yang tersedia
24+
strings = new StringTokenizer("Hello, world !"," ");
25+
while (strings.hasMoreElements()) {
26+
System.out.println(strings.nextToken());
27+
}
28+
}
29+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
# Java StringTokenizer
2+
3+
Didalam **JAVA** terdapat sebuah class yang bernama **_StringTokenizer_**. Class ini berguna untuk memecah string kedalam bentuk _tokens_. Tidak seperti class **_StreamTokenizer_**, class ini tidak memiliki fitur untuk membedakan antara data angka, string, maupun _identifiers_.
4+
5+
Untuk menggunakannya, silahkan import package ```java.util.StringTokenizer``` terlebih dahulu.
6+
7+
8+
<img src="img/StringTokenizerFlow.png" width="140" height="250" style="margin-bottom:20px; margin-top:10px;">
9+
10+
Terdapat 3 constuctor dalam class **_StringTokenizer_**, yaitu :
11+
12+
- ```StringTokenizer(String str)```
13+
Membuat token berdasarkan argumen string yang diinput
14+
- ```StringTokenizer(String str, String delim)```.
15+
Membuat token berdasarkan argumen string dan _delimiter_ (pemisah) yang diinput.
16+
- ```StringTokenizer(String str, String delim, boolean returnValue)```
17+
Membuat token berdasarkan argumen string, _delimiter_, dan boolean returnValue yang diinput. Jika boolean returnValue bernilai **true** maka _delimiter_ dibaca sebagai token, sedangkan jika returnValue bernilai **false** maka _delimiter_ berfungsi untuk memisah-misahkan token.
18+
19+
Method-method yang terdapat dalam class **_StringTokenizer_** :
20+
21+
- ```boolean hasMoreTokens()```, untuk melakukan pengecekan apakah masih ada token yang tersedia.
22+
- ```int countTokens()```, untuk menghitung jumlah keseluruhan token yang tersedia.
23+
- ```Object nextElement()```, untuk mengambil data token selanjutnya dan mengembalikannya dalam bentuk Object.
24+
- ```String nextToken()```, untuk mengambil data token selanjutnya dan mengembalikannya dalam bentuk String.
25+
- ```boolean hasMoreElements()```, untuk melakukan hal yang sama seperti method ```boolean hasMoreTokens()```.
26+
27+
### Contoh penggunaan
28+
[![](https://img.shields.io/static/v1?&label=Lihat%20source%20code&message=%3e&color)](JavaStringTokenizer.java)
29+
30+
Dibawah ini akan didemonstrasikan cara melakukan tokenisasi string dan memisah-misahkannya dengan karakter whitespace (spasi).
31+
32+
```java
33+
StringTokenizer strings = new StringTokenizer("My name is Caroline."," ");
34+
35+
while (strings.hasMoreTokens()) {
36+
System.out.println(strings.nextToken());
37+
}
38+
```
39+
40+
Dengan method ```hasMoreTokens()``` diatas, akan dicek apakah masih ada token yang tersedia. Selama masih ada, maka token tersebut dicetak. Begitu juga dengan token selanjutnya ( ```nextToken()``` ).
41+
42+
Maka, outputnya adalah
43+
44+
```
45+
My
46+
name
47+
is
48+
Caroline.
49+
```
50+
51+
Selanjutnya, kita akan coba menggunakan method ```nextToken()``` dengan _delimiter_ berupa tanda koma, namun tidak dimasukkan kedalam blok perulangan.
52+
53+
```java
54+
StringTokenizer strings = new StringTokenizer("Hello, nice to meet you.");
55+
System.out.println(strings.nextToken(","));
56+
```
57+
58+
Karena tidak dilakukan perulangan dalam membaca token, maka hanya diambil 1 token, yaitu token yang berada sebelum _delimiter_ (,).
59+
60+
Maka, outputnya adalah
61+
62+
```
63+
Hello
64+
```
65+
66+
Selanjutnya, kita akan coba menggunakan method ```countTokens()``` untuk menghitung jumlah keseluruhan token yang ada.
67+
68+
```java
69+
StringTokenizer strings = new StringTokenizer("Hello, nice to meet you.");
70+
System.out.println(strings.countTokens());
71+
```
72+
73+
Maka, outputnya adalah
74+
75+
```
76+
5
77+
```
78+
79+
Selanjutnya, kita akan coba menggunakan method ```hasMoreElements()``` untuk menghitung jumlah keseluruhan token yang ada.
80+
81+
```java
82+
StringTokenizer strings = new StringTokenizer("Hello, world !"," ");
83+
84+
while (strings.hasMoreElements()) {
85+
System.out.println(strings.nextToken());
86+
}
87+
```
88+
89+
Maka, outputnya adalah
90+
91+
```
92+
Hello,
93+
world
94+
!
95+
```
96+
97+
Dapat dilihat bahwa method ```hasMoreElements()``` memiliki cara kerja yang sama dengan method ```hasMoreTokens()```.
98+
99+
### Daftar lengkap method Class StringTokenizer
100+
101+
![allStringTokenizerMethods](img/allStringTokenizerMethods.png)
102+
103+
[![allStringTokenizerMethodsDetail](https://img.shields.io/static/v1?&label=Lihat%20detail%20method&message=%3e&color)](https://docs.oracle.com/javase/7/docs/api/java/util/StringTokenizer.html#method_detail)
Loading
Loading

0 commit comments

Comments
 (0)