Home > Visual Basic > Membuat Y!M Translator sendiri

Membuat Y!M Translator sendiri

June 29, 2010

Artikel kali ini merupakan pengembangan dari 2 artikel saya sebelumnya yaitu Menganalisa dan membuat mesin penjawab otomatis Y!M dan Manganalisa source code mesin penjawab otomatis Y!M versi 8, 9 & 10.

Sebenarnya sih iseng-iseng aja dan ternyata berhasil ha ha ha🙂. Oke kita langsung saja, apa saja yg perlu disiapkan untuk membuat aplikasi ini :

1. Skrip php yang menyederhanakan proses parsing dari output Google Translate.

Alamat URLnya bisa diakses di http://amikom.ac.id/service.php?t=pesan_yg_ingin_diterjemankan&l=target terjemahan.

Contoh penggunaan URL tersebut :

http://amikom.ac.id/service.php?t=rubah cokelat yang cepat melompat diatas anjing pemalas&l=en

2. Yahoo! Messenger

3. Tool kesayangan kita Visual Basic😀

Untuk mengirim dan menerima hasil URLnya saya menggunakan komponen Microsoft Internet Controls (dari menu Project -> Components -> Microsoft Internet Controls), pembahasan tuntas bagaimana menerima dan membalas pesan yang masuk via Yahoo! Messenger sudah saya bahasa di dua artikel diatas.

Untuk pembahasan artikel kali ini saya fokuskan bagaimana menggunakan komponen Microsoft Internet Controls untuk mengirim dan menerima hasil URL

1. Mengirim URL

Private Sub cmdKirimURL_Click()
    Dim url As String
    Dim msg As String

    msg = "rubah cokelat yang cepat melompat diatas anjing pemalas"

    url = "http://amikom.ac.id/service.php?t=" & msg & "&l=en"
    WebBrowser1.navigate url
End Sub

Hasilnya lebih kurang seperti berikut :

Untuk membaca hasil tersebut gunakan kode berikut :

Private Sub cmdBacaHasilURL_Click()
    Dim terjemahan  As String

    terjemahan = WebBrowser1.document.getElementById("translation").innerHTML
    MsgBox terjemahan
End Sub

Mungkin muncul pertanyaan, darimana saya mendapatkan informasi element id “translation”, ada 2 cara yang saya ketahui :
1. Coba ketikkan secara manual alamat urlnya : http://amikom.ac.id/service.php?t=rubah cokelat yang cepat melompat diatas anjing pemalas&l=en

blok/seleksi hasil terjemahan, kemudian klik kanan pilih menu View Selection Source, setelah itu akan mendapatkan tampilan seperti berikut :

2. Ini cara yang paling gampang, tinggal nanya aja sama yang membuat skrip phpnya element idnya dikasih nama apa😀

Jadi dengan menggabungkan teknik sederhana ini plus dua artikel diatas, kita juga bisa membuat aplikasi Y!M Translator sendiri.

Berikut source code inti dari aplikasi Y!M Translate

Private Sub tmrAutoReplay_Timer()
    Dim hwndYMMainClass     As Long

    Dim msg                 As String
    Dim ymID                As String
    Dim url                 As String
    Dim terjemahan          As String

    On Error GoTo errHandle

    Select Case ymVersion
        Case "8"
            hwndYMMainClass = FindWindow("YSearchMenuWndClass", vbNullString)

        Case "9"
            hwndYMMainClass = FindWindow("ATL:007C07F0", vbNullString)

        Case "10"
            hwndYMMainClass = FindWindow("CConvWndBase", vbNullString)

    End Select

    If hwndYMMainClass <> 0 Then
        ymID = getYMID(hwndYMMainClass)
        msg = getYMMessage(hwndYMMainClass)

        msg = Replace(msg, "Bookmark", "")

        lstMessageIn.AddItem ymID & ": " & msg
        lstMessageIn.ListIndex = lstMessageIn.ListCount - 1

        If Len(msg) > 0 Then
            url = "http://amikom.ac.id/service.php?t=" & msg & "&l=en"

            WebBrowser1.Navigate url
            While WebBrowser1.ReadyState < 4
                DoEvents: DoEvents: DoEvents
            Wend
            Call pause(1)

            terjemahan = WebBrowser1.Document.getElementById("translation").innerHTML

            Call ymChatSend(hwndYMMainClass, "<#0A8EFE>" & msg & "</#> -> <b>" & terjemahan & "</b>")
            Call closeYM(hwndYMMainClass)
        End If
    End If

    Exit Sub
errHandle:
    Call closeYM(hwndYMMainClass)
End Sub

Selamat MENCOBA🙂

  1. ari setiawan
    July 26, 2010 at 12:56 pm

    tutorialnya sangat membantu gan
    terima kasih informasinya
    izin mengembangakn ya gan

    gan ada tutorial cara buat gtalk dr vb6 ??
    mohon disharing gan klo ada tutorialnya
    ^_^”

  2. July 27, 2010 at 3:01 am

    ari setiawan :

    tutorialnya sangat membantu gan
    terima kasih informasinya
    izin mengembangakn ya gan

    Oke om

    ari setiawan :

    gan ada tutorial cara buat gtalk dr vb6 ??
    mohon disharing gan klo ada tutorialnya
    ^_^”

    Maksudnya buat aplikasi seperti di artikel ini tetapi menggunakan Google Talk?
    He he sy belum pernah coba Google Talk😀

  3. slamet
    August 3, 2010 at 12:10 am

    gan bisa kasi tut klo buat aplikasi YM sendiri pake VB.
    thx

  4. kangjeri
    November 3, 2010 at 11:33 am

    Mantap.. gan tutorialnya
    TOP…top..top!

    • November 4, 2010 at 2:52 am

      Oke om tq udah mampir🙂

  5. April 9, 2011 at 3:48 pm

    Sepertinya link http://amikom.ac.id/service.php?t=rubah cokelat yang cepat melompat diatas anjing pemalas&l=en, sudah tidak bisa digunakan lagi untuk mem-parsing, apa benar?

    • April 10, 2011 at 1:36 am

      Eh ono om ibnu surur/hibban udah ganti nama ya skrg ?😀
      Iya om kemarin pindah server, nanti deh file service.phnya sy carikan lagi😀

  6. April 13, 2011 at 6:39 am

    iya, coba ganti nama, mudah-mudahan bawa hoki, kalau gak hoki ganti nama lagi, gitu terus nge-looping pake kode do while dan for…netx.

    tadinya mau pake server itu buat memparsing google translate, tapi karena gak jalan, terpaksa bikin sendiri buat memparsingnya.

    == makasih infonya ==

    • April 14, 2011 at 2:16 am

      Ok om

  7. Sou Yuen
    April 27, 2011 at 5:15 am

    Dear Admin

    Could you did this in C++ (v6)?I’m doing an application to track down messages from Yahoo Messenger child window chat (CConvWndBase) and save every chat record to a file.It manage to run fine for ym10 but it did not record anything in ym 11.Means it is has problem with ym11 and still finding the solution.You can email me for detail.

    • April 27, 2011 at 10:04 am

      Sorry I am not a c++ developer, but you can read this article, I have tried works fine for YM 11

  8. May 11, 2013 at 7:12 pm
  1. April 16, 2014 at 9:12 am
Comments are closed.
%d bloggers like this: