[ New messages · Members · Forum rules · Search · RSS ]
  • Page 1 of 1
  • 1
Split String (Built-In dan Manual)
satriaDate: Tuesday, 2011-05-03, 12:36 PM | Message # 1
Lieutenant colonel
Group: Administrators
Messages: 126
Reputation: 0
Status: Offline
Tutorial kali ini adalah memisahkan sebuah teks (kalimat) berdasarkan karakter/kata tertentu sebagai delimiter atau pemisahnya.

Cara pertama adalah menggunakan fungsi built-in (asli buatan VB) yang berkaitan dengan string, salah satunya adalah fungsi SPLIT.

Contoh penggunaan singkatnya adalah:

Dim kalimat() As String
Dim i As Integer

kalimat() = Split("Forum IF Unikom", " ") ' dipisah berdasarkan spasi

text1= vbNullChar
For i = 0 To UBound(kalimat)
text1 = text1 & kalimat(i) & vbCrLf
Next i
Erase kalimat

Output di dalam komponen textbox bernama text1 adalah:

Code
Forum
IF
Unikom

Sedangkan cara kedua, secara manual kita menggunakan fungsi string InStr untuk mengetahui letak delimiternya, kemudian dengan logika sederhana kita pisahkan masing2 kata yang dipisahkan tersebut.
Sekarang kita buatkan aplikasi GUI yang agak bagus

Komponen:

Label: label1, label2, label3, label4
Textbox: text1 (penyimpan kalimat) dan text2 (penyimpan delimiter)
Listbox: List1 (menyimpan output)
Command Button: command1 (built-in split function), command2 (manual), command3 (keluar program)

Pengaturan properti semua komponen langsung dilakukan pada coding (saat run time.)

Kecuali untuk form, pengaturan properti di design time adalah:

Border Style : 1 - Fixed Single

 
satriaDate: Tuesday, 2011-05-03, 12:37 PM | Message # 2
Lieutenant colonel
Group: Administrators
Messages: 126
Reputation: 0
Status: Offline
Source Code lengkapnya:

Option Explicit

Private Sub Command1_Click()
'Membangkitkan logika split menggunakan fungsi built-in VB
Dim kalimat() As String
Dim i As Integer

kalimat() = Split(Text1, Text2)
List1.Clear

If UBound(kalimat) = 0 Then
List1.AddItem "__DELIMITER INVALID__"
Else
For i = LBound(kalimat) To UBound(kalimat)
If Len(kalimat(i)) <> 0 Then
List1.AddItem kalimat(i)
End If
Next i
End If
Erase kalimat
End Sub

Private Sub Command2_Click()
'Membangkitkan logika split menggunakan cara manual
Dim pos As Integer
Dim mulai As Integer

List1.Clear
mulai = 1

Do
pos = InStr(mulai, Text1, Text2)
If pos <> 0 Then
If pos <> 1 Then
List1.AddItem Mid(Text1, mulai, pos - mulai)
End If
mulai = pos + 1
Else
If mulai = 1 Then
List1.AddItem "__DELIMITER INVALID__"
Else
List1.AddItem Mid(Text1, mulai, Len(Text1) - pos)
End If
End If
Loop Until pos = 0
End Sub

Private Sub Command3_Click()
End 'keluar program
End Sub

Private Sub Form_Load()
Form1.Caption = "Tutorial Split - by Galih Hermawan"
Command1.Caption = "Split (Built-In)"
Command1.ToolTipText = "Tombol split menggunakan fungsi built-in VB"
Command2.Caption = "Split (Manual)"
Command2.ToolTipText = "Tombol split menggunakan logika secara manual"
Command3.Caption = "Tutup Program"
Text1.Text = "Forum Informatika Indonesia"
'Text1.Text = "a b c"
Text2.Text = " "
Text2.ToolTipText = "Masukkan karakter atau kata pemisah di sini. " & _
"Misalkan: {spasi}, f, {koma}, in, dan lain-lain."
Label1.Caption = "Tuliskan teks Anda di sini."
Label2 = "Karakter atau kata pembatas (delimiter)"
Label3.Caption = "Keluaran"
Label4.Caption = "( default : {spasi} )"
End Sub

 
satriaDate: Tuesday, 2011-05-03, 12:39 PM | Message # 3
Lieutenant colonel
Group: Administrators
Messages: 126
Reputation: 0
Status: Offline
Hasil eksekusi pertama dengan delimiter spasi.

Hasil eksekusi pertama dengan delimiter kata or.

 
  • Page 1 of 1
  • 1
Search: