Forum Sains Indonesia

Portal Sains Indonesia

Berita: Forsa berencana untuk mengadakan Gathering Forsa. Bagi yang berminat, silakan urun rembuk dan daftarkan diri anda.
* *
Selamat datang, Pengunjung. Silahkan masuk atau mendaftar.
Lupa email aktivasi Anda?
Maret 19, 2010, 10:13:10


Masuk dengan nama pengguna, kata sandi dan lama sesi


Selamat datang, Pengunjung. Silahkan masuk atau mendaftar.
Lupa email aktivasi Anda?
Maret 19, 2010, 10:13:10

Masuk dengan nama pengguna, kata sandi dan lama sesi
Last 10 Shouts:
Hari ini at 10:01:39
Owe meninjau lapangan..
Mempersiapkan lokasi untuk kedatangan anggota..
Hari ini at 09:50:45
haa~
yg harusnya ngusir itu owe ya...
situ sebgai ketua ga kasi contoh buat anggotanya loo.. T.,T  
Hari ini at 09:37:56
Oi oi... Belum jam vampir..
Hus hus.. Ntar baru balik lagi..
Hari ini at 09:35:06
haaa~
T.,T
jahatt~
yg orang tua di sini sapa sih.?
=.,=
Hari ini at 07:49:16
kalo misalnya dikatakan 'normal hemofilia',,itu artinya homozigot normal ato heterozigot carrier y..?
Hari ini at 05:08:47
Sisca: BBLLLEEEEETTAAAAKK..!!
Kurang ajar sama orang tua..
Hari ini at 04:20:31
tfuh
Hari ini at 04:10:36
huft
Hari ini at 04:06:48
ola.. ola..
Hari ini at 04:04:22
alo...alo...
Halaman: [1] 2   Turun
Kirim topik ini | Cetak
Pembuat Topik: Mencari teks dalam teks  (Baca 3829 kali)
0 Anggota dan 1 Pengunjung melihat topik ini.
Mtk Kerajaan Mataram
Dosen
****

IQ: 43
Offline Offline

Gender: Pria
Tulisan: 471


tapak tanganku


Lihat Profil
« pada: Agustus 08, 2008, 07:39:04 »

Salam
Saya punya permasalahan
Misalnya diberikan dua teks berupa kata, misal kata(1) dan kata(2), dengan
panjang kata(1) > panjang kata(1).
Bagaimana algoritma untuk dimana jika kata(1) termuat dalam kata(2) maka fungsi akan return true dan jika tidak termuat maka akan return false.
Misalnya:
Function Termuat(kata1,kata2) as boolean
....
end function

maka
f(membajak,bajak)=true
f(memukul,pukul)=false
f(tertawa,erta)=true
....dst

Trims

Edit : tambahan
Bisa tulis algoritmanya
Gimana algoritmanya
Kalau bisa codenya dalam visual basic
« Edit Terakhir: Agustus 11, 2008, 01:21:54 oleh reborn » Masuk
insan sains
Moderator
Profesor
*****

IQ: 57
Offline Offline

Gender: Pria
Tulisan: 629


Life is Beatiful

insan_sains
Lihat Profil WWW
« Jawab #1 pada: Agustus 08, 2008, 08:30:45 »

Pake bahasa pemprograman apa yach?

Kalo menggunakan Fox Pro, ada tuh sebuah command yang bisa dipakai untuk masalah ini :
- AT
untuk mencari karakter/kata yang tidak case-sensitive

- ATC
untuk mencari karakter/kata yang case-sensitive
Masuk

Menuju Indonesia sebagai THE COUNTRY MASTER OF TECHNOLOGY, 2030
izna
Dosen
****

IQ: 13
Offline Offline

Gender: Wanita
Tulisan: 153


HaDapi DeNgan SeNyuman,..

isna_tea
Lihat Profil Email
« Jawab #2 pada: Agustus 08, 2008, 12:39:17 »

kayaknya pake VB ya?

@Insan
coba deh liat atasnya..! bingung
ya kan pke VB? huh
Masuk

DeNgan CiNta HiDup jaDi InDah, DeNgan iLmu HiDup jaDi MuDah, DeNgan iMan HiDup jaDi TerArah
eky
Profesor
*****

IQ: 19
Offline Offline

Gender: Pria
Tulisan: 778


growing up


Lihat Profil WWW
« Jawab #3 pada: Agustus 08, 2008, 01:07:26 »

berhubung saya belum ngerti VB ..
so saya kasih algoritma aja deh ..
moga2 membantu .. ahhaa
>>>>


Function Termuat(kata1,kata2) as boolean
1. pada kata1, cari karakter yang sesuai dengan karakter awal di kata2
2. jika ada,
  2.1 majukan pointer pada kata1
  2.2 majukan pointer pada kata2
  2.3 sesuaikan, apakah 2.1 == 2.2
  2.4 jika benar, ulangi langkah mulai 2.1 sampai karakter pada kata2 habis
3. jika tidak, return false aja ...

end function

nb.
sebenarnya banyak algoritma yang bisa diterapkan..
sebaiknya menggunakan fungsi pengulangan, semisal for atau while
pake array biar lebih gampang ..

selamat mencoba ketawa
Masuk

insan sains
Moderator
Profesor
*****

IQ: 57
Offline Offline

Gender: Pria
Tulisan: 629


Life is Beatiful

insan_sains
Lihat Profil WWW
« Jawab #4 pada: Agustus 08, 2008, 05:12:45 »

kayaknya pake VB ya?

@Insan
coba deh liat atasnya..! bingung
ya kan pke VB? huh


hehehe... iya ya.... saya yang kurang jeli atau Izna yang memang cerdas...
hihi.. jadi maluuu....!! Makasih Iz...!!

Kalo pake VB, tidak terlalu susah, soalnya sudah ada command-nya juga, yaitu : instr

Kalau dalam bentuk contoh program, kira2 sperti ini :

Dim sText As String
Dim lFind As Long

sText = "Insan Sains"
lFind = InStr(sText, "Sains")


IFind akan mereturn angka 7
yaitu karakter pertama yang ditemukan dari sText

kalau mau dijadikan tipe boolean, gak susah juga.

Dim sText As String

sText = "Insan Sains"
If InStr(sText, "Sains") Then
   MsgBox "Found the word 'Sains'"
   
Else
   MsgBox "Did not find the word 'Sains'"
End If



Kalau mau dijadikan function, bisa kan?? hehehe...
Cuman tinggal ganti MsgBox menjadi di-return-kan ke nama function-nya.

Nah... usul dari Eky bagus juga tuh...
Itu bisa dipakai untuk mencari kata tertentu dalam sebuah dokumen.

Ini script kalau mau nyobain dengan Visual Basic. Dimana kita punya sebuah form yang telah ditambahkan sebuah richtextbox bernama txtDocument yang diisi dengan tulisan yang ingin dicari, kemudian regular textbox bernama txtFinf yang merupakan kata yang akan dicari, serta sebuah tombol bernama cmdFind untuk memulai pencarian.

sumber : http://en.allexperts.com/q/Visual-Basic-1048/Creating-find-word-document.htm

-------------------------------------------------------------------

Option Explicit

Private Sub cmdFind_Click()
   ExecuteSearch
End Sub

Private Sub ExecuteSearch()
   Dim sFind As String
   Dim nFindIndex As Integer
   Dim nStartIndex As Integer
   
   sFind = txtFind.Text
   
   nStartIndex = txtDocument.SelStart + txtDocument.SelLength
   
   If nStartIndex = 0 Then
       nStartIndex = 1
   ElseIf nStartIndex >= Len(txtDocument.Text) Then
       If PromptForSearchFromBeginning Then
           txtDocument.SelStart = 1
           txtDocument.SelLength = 0
           nStartIndex = 1
       End If
   End If
   
   nFindIndex = InStr(nStartIndex, txtDocument.Text, txtFind.Text, vbBinaryCompare)
   
   If nFindIndex > 0 Then
       txtDocument.SelStart = nFindIndex - 1
       txtDocument.SelLength = Len(txtFind.Text)
       txtDocument.SetFocus
   Else
       If InStr(1, txtDocument.Text, txtFind.Text, vbBinaryCompare) Then
           If PromptForSearchFromBeginning Then
               txtDocument.SelStart = 1
               txtDocument.SelLength = 0
               'Make recursive call
               ExecuteSearch
           End If
       End If
   End If
End Sub

Private Function PromptForSearchFromBeginning() As Boolean
   Dim eMsgBxRslt As VbMsgBoxResult
   Dim bRetVal As Boolean
   
   eMsgBxRslt = MsgBox("End of Document reached" & vbNewLine & "Would you like to start from the beginning?", vbYesNo, "End of Document")
   bRetVal = (eMsgBxRslt = vbYes)
       
   PromptForSearchFromBeginning = bRetVal
End Function 


-------------------------------------------------------------------

Kalau mau bacaan lebih jelas tentang command instr, bisa lihat help-nya atau tinggal klik link berikut ini
« Edit Terakhir: Agustus 08, 2008, 05:17:15 oleh insan sains » Masuk

Menuju Indonesia sebagai THE COUNTRY MASTER OF TECHNOLOGY, 2030
eky
Profesor
*****

IQ: 19
Offline Offline

Gender: Pria
Tulisan: 778


growing up


Lihat Profil WWW
« Jawab #5 pada: Agustus 08, 2008, 05:17:35 »

wah om insan sains jago ...
terima kasih atas info nya om ..
saya sama sekali belum pernah megang VB ..
asik ga sih om??
Masuk

insan sains
Moderator
Profesor
*****

IQ: 57
Offline Offline

Gender: Pria
Tulisan: 629


Life is Beatiful

insan_sains
Lihat Profil WWW
« Jawab #6 pada: Agustus 08, 2008, 05:20:39 »

kekeke.... kayak ayam aja.... ("jago")  nyengir

sekarang sih udah gak pegang VB lagi...! tinggal sisa-sisanya doang.. Dah berapa tahun yach gak megang lagi nih bahasa pemprograman?

Btw.. eky biasa pake bahasa pemprograman apa?
Masuk

Menuju Indonesia sebagai THE COUNTRY MASTER OF TECHNOLOGY, 2030
eky
Profesor
*****

IQ: 19
Offline Offline

Gender: Pria
Tulisan: 778


growing up


Lihat Profil WWW
« Jawab #7 pada: Agustus 08, 2008, 05:29:09 »

delphi,php yang masih lumayan ingat
java dah sedikit lupa .. hehe
pengen belajar matlab ahhhh ....
Masuk

Mtk Kerajaan Mataram
Dosen
****

IQ: 43
Offline Offline

Gender: Pria
Tulisan: 471


tapak tanganku


Lihat Profil
« Jawab #8 pada: Agustus 09, 2008, 02:05:01 »

Terima kasih saudara Ihsan,
saya sudah mencoba kode njenengan dengan visual basic pada macro di excel dengan obyek2 :
Commandbutton1, Textbox1,Textbox2, dan Label1
Dan hasilnya cocok...sbb :

Private Sub CommandButton1_Click()
Dim sText, cText As String
sText = TextBox1.Text
cText = TextBox2.Text
If sText = "" Then
    MsgBox "Kata pertama belum ditulis."
    Exit Sub
ElseIf sText = "" Then
    MsgBox "Kata kedua belum ditulis."
    Exit Sub
End If
If InStr(sText, cText) Then
     Label1.Caption = "tersisip"
Else
     Label1.Caption = "tidak tersisip"
End If
End Sub

Terima kasih amat.
Masuk
eky
Profesor
*****

IQ: 19
Offline Offline

Gender: Pria
Tulisan: 778


growing up


Lihat Profil WWW
« Jawab #9 pada: Agustus 09, 2008, 06:36:42 »

wah selamat ya ..
ketawa
Masuk

insan sains
Moderator
Profesor
*****

IQ: 57
Offline Offline

Gender: Pria
Tulisan: 629


Life is Beatiful

insan_sains
Lihat Profil WWW
« Jawab #10 pada: Agustus 10, 2008, 02:02:14 »

^_^ Wah.. syukurlah...

Coba dong dikembangin lebih jauh, seperti :
- gimana membedakan case-sensitive dan yang tidak case-sensitive
- dalam sebuah kalimat ditemukan berapa kata yang dicari
- gimana caranya mengganti sebuah kata yang dicari dengan kata penggantinya

Tools-tools kayak gini bisa dijual loh...!! kekeke.. sapa tahu ada yg mata duitan.....

ayo.. ayo... dilanjutkan....
Masuk

Menuju Indonesia sebagai THE COUNTRY MASTER OF TECHNOLOGY, 2030
eky
Profesor
*****

IQ: 19
Offline Offline

Gender: Pria
Tulisan: 778


growing up


Lihat Profil WWW
« Jawab #11 pada: Agustus 10, 2008, 05:24:53 »

Coba dong dikembangin lebih jauh, seperti :
- gimana membedakan case-sensitive dan yang tidak case-sensitive
- dalam sebuah kalimat ditemukan berapa kata yang dicari
- gimana caranya mengganti sebuah kata yang dicari dengan kata penggantinya
bukannya klo ngebuat ini, udah ada di bahasa pemrogramannya ..huh
tinggal pake doang kan? jadi kayaknya ga terlalu bermain di algoritma ...  ya ga>??
Masuk

Mtk Kerajaan Mataram
Dosen
****

IQ: 43
Offline Offline

Gender: Pria
Tulisan: 471


tapak tanganku


Lihat Profil
« Jawab #12 pada: Agustus 10, 2008, 08:46:47 »

Thank you,
Sebenarnya ini sedang menyempurnakan program saya berupa mesin pencarian, termasuk komputasinya. Sebelumnya saya menggunakan algoritma sendiri untuk kasus yg saya tanyakan tsb,yaitu :

Function Termuat(Kal1 As String, Kal2 As String) As Integer
Dim Pjg1, Pjg2, I, j, k, L, bERKURANG(), jbERKURANG As Integer
Dim Hf1(), Hf2(), Kata1, Kata2 As String
Dim Cocok, H, hIT(), sELhIT(), jsELhIT As Integer
On Error Resume Next
Pjg1 = Len(Trim(Kal1))
Pjg2 = Len(Trim(Kal2))
ReDim Hf1(Pjg1)
ReDim Hf2(Pjg2)
ReDim hIT(Pjg1)
ReDim sELhIT(Pjg1)
ReDim bERKURANG(Pjg1)
If Pjg2 <= Val(Text3.Text) Then
If Pjg1 <= Pjg2 Then
    Kata1 = Trim(Kal1)
    Kata2 = Trim(Kal2)
    For I = 1 To Pjg1
         Hf1(I) = Left(Right(Trim(Kata1), Pjg1 - I + 1), 1)
    Next I
    For I = 1 To Pjg2
         Hf2(I) = Left(Right(Trim(Kata2), Pjg2 - I + 1), 1)
    Next I
    Cocok = 0
    L = 0
    bERKURANG(0) = 0
    Do While Pjg1 >= 0
        k = 0
        L = L + 1
        For j = 1 To Pjg2
            If Hf1(1) = Hf2(j) Then
                hIT(L) = jbERKURANG + j
                k = k + 1
                H = j
                Exit For
            End If
        Next j
        If k = 0 And Not Trim(Kata1 = "") Then
            Termuat = 0
            Exit Do
        ElseIf Not Trim(Kata1) = "" Then
            Kata1 = Right(Trim(Kata1), Pjg1 - 1)
            Kata2 = Right(Trim(Kata2), Pjg2 - H)
            Pjg1 = Len(Kata1)
            Pjg2 = Len(Kata2)
            bERKURANG(L) = bERKURANG(L - 1) + H
            jbERKURANG = bERKURANG(L)
            For I = 1 To Pjg1
                Hf1(I) = Left(Right(Trim(Kata1), Pjg1 - I + 1), 1)
            Next I
            For I = 1 To Pjg2
                Hf2(I) = Left(Right(Trim(Kata2), Pjg2 - I + 1), 1)
            Next I
            Cocok = Cocok + k
        Else
            Exit Do
        End If
    Loop
    If Cocok = Len(Kal1) Then
        jsELhIT = 0
        For I = 1 To Len(Kal1) - 1
            sELhIT(I) = hIT(I + 1) - hIT(I)
            jsELhIT = jsELhIT + sELhIT(I)
        Next I
        If jsELhIT = Len(Kal1) - 1 Then
            Termuat = 1
        Else
            Termuat = 0
        End If
    End If
Else
    Termuat = 0
End If
Else
    Termuat = 0
End If
End Function

   Dan ternyata kode ini belum mencakup semua komposisi yang mungkin, ehh ternyata hanya pakai fungsi Instr dari saudara Insan dan lebih ngirit. Saya dalam fasilitas di visual basic memang masih kurang.
Masuk
insan sains
Moderator
Profesor
*****

IQ: 57
Offline Offline

Gender: Pria
Tulisan: 629


Life is Beatiful

insan_sains
Lihat Profil WWW
« Jawab #13 pada: Agustus 10, 2008, 11:37:53 »

@Mtk Kerajaan Mataram
Nanti kalo udah jadi, bagi2 yach hasil projectnya...!!!  nyengir
Inget kata mesin pencari, jadi inget google. Dia punya algoritma khusus tuh buat nyari dari milyaran data yang bertebaran dimana-mana, tapi bisa ditampilkan dalam sekejap... ck.. ck.. ck... huebatlah..

@eky
Kalo fasilitas searching yang ada di pemprograman itu sendiri hanya berlaku untuk script yang kita tulis saja, gak bisa general untuk mencari sebuah kata dalam dokumen apapun. Yang Mtk Kerajaan Mataram maksud adalah membuat fasilitas searching yang dedicated. Banyak kok tools-tools kayak gini yang dijual, yang saya tahu sih Search And Replace. Bagus banget tuh fitur-fitur yang ada didalemnya.

Banyak pengembangan aplikasi untuk model pencarian seperti ini. COntohnya, mesin pencari seperti google (walaupun kek nya masih jauh dalam hal kecepatan). Kemudian, bisa juga untuk kompresi file..!! Temen saya pernah ada yang bikin format file kompresi sendiri, dasarnya ya ini, pencarian karakter tertentu kemudian di ganti dengan karakter yang bitnya lebih kecil. Jika ingin di extract kembali, tinggal dibalik aja prosesnya. Hasilnya luar biasa, terutama untuk file gambar, ukuran filenya bisa berkurang berlipat-lipat.
Masuk

Menuju Indonesia sebagai THE COUNTRY MASTER OF TECHNOLOGY, 2030
eky
Profesor
*****

IQ: 19
Offline Offline

Gender: Pria
Tulisan: 778


growing up


Lihat Profil WWW
« Jawab #14 pada: Agustus 10, 2008, 12:15:32 »

@Mtk Kerajaan Mataram
Nanti kalo udah jadi, bagi2 yach hasil projectnya...!!!  nyengir
Inget kata mesin pencari, jadi inget google. Dia punya algoritma khusus tuh buat nyari dari milyaran data yang bertebaran dimana-mana, tapi bisa ditampilkan dalam sekejap... ck.. ck.. ck... huebatlah..
yang dimaksud sekejap di sini bukan berarti google ngesearch ke setiap database web di seluruh dunia pada saat kita mengetikkan keyword pada google. Google kan sebenarnya punya semacam spider (lupa nama lengkap spidernya apa) yang menjaring semua web yang ada di dunia ke dalam database google untuk disimpan. nah pada saat kita mengetikkan keyword pada google, google mencari pada databasenya dia, bukan ke seluruh dunia dalam sekejap .. ketawa
Masuk

Halaman: [1] 2   Naik
Kirim topik ini | Cetak
Lompat ke:  

Topik Lainnya :
Subyek Dimulai oleh Jawaban Dilihat Tulisan terahkir
oli top1 bikin masalah, hati2! wuriant 6 1354 Tulisan terahkir November 05, 2009, 03:59:42
oleh nandaz
Masa depan steroids akan lebih cerah indoroids 0 2276 Tulisan terahkir Januari 13, 2008, 09:00:27
oleh indoroids
unusual celebrity deaths nandaz 3 92 Tulisan terahkir Maret 09, 2010, 01:47:40
oleh nandaz
DR. Anhar Gonggong biobio 1 1112 Tulisan terahkir Mei 21, 2009, 05:53:41
oleh skuler
SUSU - penjelasan dan rasionalisasi « 1 2 » jesuisnoel 24 12712 Tulisan terahkir Juni 27, 2009, 06:09:33
oleh MuhammadBz
Powered by SMF 1.1.9 | SMF © 2006-2008, Simple Machines LLC
RSS | Sitemap | Science Blog | Feed Artikel


© 2006-2008 ForumSains.com
Dilber MC Theme by HarzeM