Forum Sains Indonesia

Portal Sains Indonesia

Berita:
* *
Selamat datang, Pengunjung. Silahkan masuk atau mendaftar.
Lupa email aktivasi Anda?
Januari 09, 2009, 03:01:41


Masuk dengan nama pengguna, kata sandi dan lama sesi


Selamat datang, Pengunjung. Silahkan masuk atau mendaftar.
Lupa email aktivasi Anda?
Januari 09, 2009, 03:01:41

Masuk dengan nama pengguna, kata sandi dan lama sesi
Last 10 Shouts:
Kemarin at 03:11:41
off dulu
Kemarin at 01:37:30
ahmad, silakan buat topik baru saja, shoutbox bukan tempat untuk diskusi.
Kemarin at 11:57:54
lam knal smuaa
Kemarin at 11:57:29
mizi...mizi
Kemarin at 10:02:19
polarisasi gelombang itu apa?? ad yg taw gag??
Kemarin at 08:32:07
halo semua
pa kabar!!
Kemarin at 07:39:04
kardioid n limason keren kan
Kemarin at 12:26:12
ampun.. kapan gw lulus..!!!
Januari 07, 2009, 01:39:47
[tex]e6x=lim_{n\to\infty}

Januari 07, 2009, 10:13:59
Lewat ah nyengir
Halaman: [1] 2   Turun
Kirim topik ini | Cetak
Pembuat Topik: Mencari teks dalam teks  (Baca 1338 kali)
0 Anggota dan 1 Pengunjung melihat topik ini.
Mtk Kerajaan Mataram
Asisten Dosen
***

IQ: 11
Offline Offline

Tulisan: 88


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
Dosen
*****

IQ: 37
Offline Offline

Gender: Pria
Tulisan: 363


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: 12
Offline Offline

Gender: Wanita
Tulisan: 149


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: 21
Offline Offline

Gender: Pria
Tulisan: 775


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
Dosen
*****

IQ: 37
Offline Offline

Gender: Pria
Tulisan: 363


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: 21
Offline Offline

Gender: Pria
Tulisan: 775


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
Dosen
*****

IQ: 37
Offline Offline

Gender: Pria
Tulisan: 363


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: 21
Offline Offline

Gender: Pria
Tulisan: 775


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
Asisten Dosen
***

IQ: 11
Offline Offline

Tulisan: 88


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: 21
Offline Offline

Gender: Pria
Tulisan: 775


growing up


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

wah selamat ya ..
ketawa
Masuk

insan sains
Moderator
Dosen
*****

IQ: 37
Offline Offline

Gender: Pria
Tulisan: 363


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: 21
Offline Offline

Gender: Pria
Tulisan: 775


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
Asisten Dosen
***

IQ: 11
Offline Offline

Tulisan: 88


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
Dosen
*****

IQ: 37
Offline Offline

Gender: Pria
Tulisan: 363


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: 21
Offline Offline

Gender: Pria
Tulisan: 775


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
Masa depan steroids akan lebih cerah indoroids 0 1050 Tulisan terahkir Januari 13, 2008, 09:00:27
oleh indoroids
SUSU - penjelasan dan rasionalisasi « 1 2 » jesuisnoel 23 6866 Tulisan terahkir Oktober 21, 2008, 04:48:21
oleh Ginji
Flu burung (avian influenza) FAQ reborn 5 9474 Tulisan terahkir Maret 08, 2007, 08:53:12
oleh reborn
Kumpulan Cerpen Fiksi Ilmiah Karya Isaac Asimov reborn 7 156 Tulisan terahkir Januari 07, 2009, 10:37:40
oleh reborn
Janji dan Maaf DeJoko 1 1221 Tulisan terahkir Pebruari 03, 2007, 01:10:22
oleh reborn
Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC
RSS | Sitemap | Science Directory | Science Blog


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