Wednesday, November 23, 2011

KBA Editor 1.0

Ini merupakan kelanjutan dari posting sebelumnya, mengenai cara menambahkan kosakata ke dalam Kamus Bahasa Arab v3.0. Selain aplikasi-aplikasi yang bisa digunakan untuk menambah kosakata (notepad, wordpad, word, dll) kita pun dapat membuat sendiri aplikasi kecil untuk lebih mempermudah mengisi kosakta, dan ini merupakan salah satu contohnya, saya namakan dengan KBA Editor. Apabila ada kekurangan/bug/error Anda dapat memperbaikinya melalui source codenya.

Catatan: Satukan folder KBA Editor 1.0 dengan Kamus Bahasa Arab v3.0 pada saat proses installasi. Apabila Anda telah memiliki banyak kosatakata yang disimpan dalam file tambahan.txt, jangan lupa untuk mem-backup (mengkopi salinan) file tambahan.txt.

READ MORE - KBA Editor 1.0

Memiliki Akun Google Adsense Itu Mudah - Blogging

Artikel ini, untuk yang memahami permainan google adsense tetapi tidak/belum/gagal memiliki akun google adsense, dan sedikitnya telah memahami mengenai dunia blogging. Mengirim artikel dan diterima menjadi publisher google adsense itu tidaklah sulit, yang sangat sulit adalah memperoleh penghasilan darinya.Sebelum Anda mengirimkan blog/artikel, ada beberapa hal yang harus diperhatikan yakni pada saat kita mengirimkan sebuah blog/artikel sebenarnya blog yang kita kirimkan tersebut pada dasarnya tidak langsung direview oleh manusia, tetapi harus melewati mesin pemindai yang dilengkapi auto respond dan sistem pakar terlebih dahulu. Jika blog yang Anda kirim tidak sesuai kreteria google (sesuai dengan sistem pakar yang diprogramkan), maka si mesin tersebut akan mengirimkan email penolakan sesuai dengan kreteria kesalahan yang terdapat pada blog tersebut (sistem pakar). Hal ini dilakukan untuk menekan biaya, tenaga, waktu, terlebih kecepatan. Kesimpulannya Google akan mengandalkan mesin bagi tugas-tugas yang seratus persen dapat diselesaikan oleh sebuah mesin. Contoh sederhananya adalah masalah yang berkenaan dengan broken link, dll. Nah, setelah kita mengetahui bahwa Google mengandalkan mesin untuk tugas yang seratus persen bisa dilakukan mesin tersebut, lalu bagaimana dengan peran manusianya?. Pada jaman modern dan canggih menurut versi kita sekarang (bukan versi 200 tahun mendatang), ketahuilah masih banyak sekali hal-hal yang menurut manusia sangat sederhana akan tetapi menjadi sangat-sangat rumit bahkan mustahil dilakukan oleh sebuah mesin. Contoh sederhananya mengidentifikasi gambar. Terlebih mengenai detail dari gambar tersebut, apakah wajahnya terlihat bahagia atau sedih? laki-laki atau perempuan (keduanya memiliki rambut yang sama panjang)?. Adapun kaitan dengan tulisan di atas, bagaimana jika blog yang kita submit memuat konten-konten yang tidak diperbolehkan? apakah mesin dapat menyelesaikannya? tentu saja tidak, tetapi manusia yang melakukannya. Ini sekedar contoh sederhana saja mengenai peran manusia di dalamnya. Setelah kita memahami dua hal di atas, maka untuk mudah diterima menjadi publisher adsense ikuti langkah berikut: buatlah email baru di gmail.com buatlah blog baru di blogger menggunakan akun gmail tadi (bukankah harus berumur 6 bulan dengan domain sendiri?) gantilah template dengan minima, ini untuk menangkal penolakan karena navigasi yang sulit pastikan untuk mengisi data secara lengkap buatlah beberapa belas atau beberapa puluh artikel. gunakan Bahasa Inggris. Mengenai artikel, perhatikan: tidak ada broken link (penolakan kebanyakan bukan berada di sini) bukan duplikat konten (100% copy paste tanpa edit) Konten yang berhubungan antara judul, sub judul, isi/artikel menurut versi mesin bukan menurut versi manusia (penolakan kebanyakan berada di sini). Dari sekian baris tulisan di atas, konten yang tidak berhubungan inilah yang paling banyak dan menjadi penyebab utama penolakan, bukan masalah domain, bukan masalah umur yang 6 bulan itu, bukan masalah Bahasa Inggris, bukan masalah duplikat konten, juga bukan masala broken link karena kita telah yakin dan memastikan serta mematuhi semuanya. Konten yang berhubungan menurut versi manusia, belum tentu berhubungan menurut versi mesin, disinilah letak permasalahan utamanya, mengapa terjadi demikian? Ini disebabkan karena mesin tersebut bekerja dengan cara menumpuk keyword-keyword dari artikel yang kita kirimkan dan membandingkannya dengan judul-judul blog tersebut, kemudian mesin tersebut membuat keputusan sebagai blog yang memiliki konten berhubungan atau sebaliknya, dan hasilnya kebanyakan adalah blog dengan konten yang tidak memiliki hubungan menurut versi mesin, dan hasil akhirnya adalah ditolak. Nah, jika sudah demikian, bagaimana cara mengatasinya? seret dan giring saja si mesin pemindai tersebut ke daerah (blog/artikel) yang sangat sempit. Sebuah daerah (blog/artikel) yang kemungkinan peluang salah terjemahnya sangat kecil. Jika Anda memahami salah satu bahasa pemrogrman tentu hal ini lebih mudah, yakni dengan membuat artikel dari awal sampai akhir hanya berisi kode-kode saja (saya menyarankan yang ini). Link/tautan di bawah merupakan salah satu contoh blog dari seluruh penjelasan di atas, tidak pernah di rubah baik template maupun judul-judulnya semenjak diterima menjadi publisher adsense tahun 2009. Karena tidak pernah dikelola dan sepi pengunjung, di dalamnya hanya ada satu dollar saja, padahal sudah dua tahun ya? tidak apa-apa, setidaknya rasa penasaran itu sudah terobati. http://4basic-vb.blogspot.com Anda diperbolehkan mengcopy paste seluruh artikel yang terdapat pada http://4basic-vb.blogspot.com tanpa menyebutkan sumbernya, yang perlu Anda lakukan adalah mengganti judul-judul artikelnya dan mengganti header-headernya saja, agar tidak terjadi duplikat konten. Untuk memastikan tidak terdapat duplikat konten, ujilah judul-judul dan header-header yang telah Anda ganti melalui search engine google dengan memberi tanda petik di kiri dan kanan. Blog yang baru Anda buat dan submit pertama kali tersebut harus langsung diterima menjadi publisher google adsense, jika masih ragu, pastikan sekali lagi bahwa seluruhnya telah terselesaikan dengan baik. Waktu tersedia banyak dan google sabar menunggu. Catatan Penting: Hindari membuat beberapa akun (misalnya Anda dan teman-teman Anda) dalam ip adress yang sama, jika satu akun dibanned, kemungkinan akan dibanned seluruhnya. Karena yang diperhitungkan mesin di sini lebih kepada IP Adress, tetapi ini hanya sekedar kemungkinan saja
READ MORE - Memiliki Akun Google Adsense Itu Mudah - Blogging

Drag And Drop Pada Dua ListBox - VB6 Souce Code

Terkadang dalam memprogram kita membutuhkan operasi drag and drop antara dua object ListBox, contohnya untuk pembuatan wizard dan lain sebagainya. Di bawah ini merupakan contoh source codenya. Dibuat oleh Luciano Esteban Lodola pemilik situs: http://www.recursosvisualbasic.com.ar
Option Explicit 
' ---------------------------------------------------------------------------------------
' \ -- Autor : Luciano Lodola -- http://www.recursosvisualbasic.com.ar
' ---------------------------------------------------------------------------------------

' \ -- funciNn de windows para poder obtener un elemento (Indice) de un control de lista a partir de la psiciNn del mouse
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Any) As Long

' -- Constante / mensaje para recupera el Item a partir de la posiciNn del mouse ( con SendMessage )
Private Const LB_ITEMFROMPOINT = &H1A9
Public iX As Integer
' --------------------------------------------------------------------------------------
'\ -- Inicio
' --------------------------------------------------------------------------------------
Private Sub Form_Load()

Dim i As Byte
' -- Agregar elementos de muestra para el ejemplo
With List1
.AddItem "Impresora Epson"
.AddItem "Impresora Lexmark"
.AddItem "Monitor LG"
.AddItem "Monitor Samsung"
.AddItem "PC Pentium Dual Core"
.AddItem "PC Pentium Core Duo"
.AddItem "Impresora lDser HP - MonocromDtica"
.AddItem "Impresora lDser Epson - MonocromDtica"
.AddItem "Impresora lDser color"
End With
' -- Importante !!!! Habilitar el Drag con el mï؟½todo OLEDragMode, y el Drop para el List2
List1.OLEDragMode = 1
List2.OLEDropMode = 1
End Sub

' --------------------------------------------------------------------------------------
'\ -- FunciNn que retorna el Jndice del Item del List2 ( Donde se encuentra el mouse )
' --------------------------------------------------------------------------------------
Private Function pvGetItemFromPoint(X As Single, Y As Single, lBox As ListBox) As Long

Dim
indice As Long
Dim
XPoint As Long
Dim
YPoint As Long
Dim
ZPoint As Long

' -- Valor por defecto de retorno de la funciNn ( NingRn item estD seleccionado)
indice = -1

XPoint = CLng(X / Screen.TwipsPerPixelX)
YPoint = CLng(Y / Screen.TwipsPerPixelY)
ZPoint = CLng(YPoint * &H10000 + XPoint)
With lBox
' -- Recupera el item seleccionado (el Jndice )
indice = SendMessage(.hwnd, LB_ITEMFROMPOINT, 0, ByVal ZPoint)
If indice >= 0 And indice <= .ListCount Then
pvGetItemFromPoint = indice
End If
End With
End Function
' --------------------------------------------------------------------------------------
'\ -- Iniciar Drag del item
' --------------------------------------------------------------------------------------
Private Sub List1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
iX = X
List1.OLEDrag
End Sub

' --------------------------------------------------------------------------------------
'\ -- evento que se produce al soltar el item
' --------------------------------------------------------------------------------------
Private Sub List2_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)

Dim
lIndex As Long
' -- Obtener el Jndice pasando a la funciNn
lIndex = pvGetItemFromPoint(X, Y, List2)
' -- Agregar con el mï؟½todo Additem en la posiciNn indicada por el Jndice
If lIndex >= 0 Then
List2.AddItem Data.GetData(1), lIndex
Else
List2.AddItem Data.GetData(1)
End If
' -- seleccionar el dato
If lIndex <> -1 Then List2.Selected(lIndex) = True
' -- Opcional - eliminar el elemento del List
List1.RemoveItem (List1.ListIndex)

End Sub
READ MORE - Drag And Drop Pada Dua ListBox - VB6 Souce Code

Mengcopy Seluruh Folder Beserta Isinya - VB6 Source

Berikut merupakan contoh source code untuk mengcopy folder beserta seluruh isi yang terdapat di dalamnya. Menggunakan Microsoft Scripting Runtime. Untuk lebih memudahkan penggunaan Anda dapat merubahnya menjadi Function.

Sumber: http://www.i-bego.com/visual-basic/copy-folder-pada-vb-t3616.html

Private Sub CopyFolder() 
Dim fso
Dim sfol As String, dfol As String
sfol = "c:\MyFolder" ' change to match the source folder path
dfol = "e:\MyFolder" ' change to match the destination folder path
Set fso = CreateObject("Scripting.FileSystemObject")
If Not fso.FolderExists(dfol) Then
fso.CopyFolder sfol, dfol
Else
MsgBox dfol & " already exists!", vbExclamation, "Folder Exists"
End If
End Sub
READ MORE - Mengcopy Seluruh Folder Beserta Isinya - VB6 Source

Memahami Bookmark Pada Microsoft ADO

Masing-masing record akan memiliki bookmark. Bookmark itu sifatnya unik (berbeda satu sama lainnya). Bookmark tidak dapat dilihat. Bookmark hanya bisa ditampung dalam datatype variant. Bookmark itu ... dan lain sebagainya.

Di bawah ini merupakan contoh sederhana penggunaan bookmark pada Microsoft ADO:
Download: Contoh Penggunaan Bookmark
READ MORE - Memahami Bookmark Pada Microsoft ADO

ADO Database dan Progress Bar - VB6 Source Code

Umumnya pada saat kita me-load database, seluruh form akan menjadi freeze (beku). Hal ini disebabkan kompiler hanya melakukan satu eksekusi kode dalam satu waktu. Hal ini tentu saja mempengaruhi terhadap splash form (form loading) yang dilengkapi unlimited progress bar. Pada dasarnya progress bar tersebut tidak akan pernah ditampilkan dengan baik. Nah, agar kompiler dapat mengeksekusi 2 kode dalam waktu bersamaan (load database/recordset dan tampilan progress bar) maka load-lah database tersebut menggunakan mode Asyncron. Nah, Asyncron itu adalah kata kuncinya.
READ MORE - ADO Database dan Progress Bar - VB6 Source Code

Menambahkan Kosakata Pada Kamus Bahasa Arab v3.0

Berbeda dengan versi-versi sebelumnya, maka pada versi yang ketiga, Anda dapat menambahkan sendiri kosakata yang belum ada. Kosakata tersebut bisa Anda tambahkan dengan menggunakan Word, Excel, Access, Wordpad, ataupun Notepad.

File yang digunakan untuk keperluan ini terletak pada folder bersamaan dengan file aplikasinya (.exe). File tersebut saya namakan dengan tambahan.txt. Di dalamnya terdapat satu contoh kosakata. Terdiri dari 4 kolom, kolom tersebut secara berturut-turut kosakata, indeks, arti, fiil-bukan fiil.

  1. Kosakata berisi kosakata arab yang hendak dicari.
  2. Indeks berisi keyword dari kosakata di atas, bisa berisi satu atau lebih dengan menggunakan delimiter (pemisah) spasi.
  3. Arti berisi arti dari kosakata di atas.
  4. Fiil dan bukan fiil berisi data type boolean, angka satu mewakili fiil dan angka 0 mewakili bukan fiil (ism atau harf).
READ MORE - Menambahkan Kosakata Pada Kamus Bahasa Arab v3.0