Membuat Y!M Translator sendiri
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
- 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 SubHasilnya 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

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 
 
      
    
Comments