Thursday, December 24, 2009

VB6 Code - Memahami Struktur Software Maktabah Syamilah

Sebelumnya perlu Anda ketahui bahwa Software Maktabah Syamilah ini dibuat dengan menggunakan bahasa pemrograman Visual Basic 6.0.
  • Format file-file eBooknya keseluruhan menggunakan Access 97. Alasannya menggunakan Access 97 adalah ukurannya lebih kecil dan lebih cepat untuk di-load.
  • Dalam pembuatannya Software Maktabah Syamilah tidak menggunakan resource akan tetapi, seluruh gambar, menu, dan sebagainya langsung diembed ke dalamnya. Menu-menu misalnya langsung ditanamkan ke dalam file exe-nya, itulah sebabnya walaupun kita menggunakan software 'Resource Hacker' tetap tidak dapat merubah menu-menu tersebut ke dalam Bahasa Indonesia misalnya.
  • Kendali file-file eBooknya keseluruhan terdapat dalam file main.mdb yang ada dalam directory ... \Liblary\Files\main.mdb. Hal tersebut bertujuan agar lebih mempermudah dalam pengaturan serta penambahan file-file eBooknya (kitabnya) seakan-akan file Maktabah Syamilah.exe dan eBooknya merupakan bagian yang terpisah.
  • File-file recent/history serta file bookmark disimpan dalam C:\Program Files\أ‡أ،أ£أںأٹأˆأ‰ أ‡أ،أ”أ‡أ£أ،أ‰\user.mdb. Backuplah file tersebut jika Anda ingin menyelamatkan file-file history dan file-file bookmark yang telah Anda buat.
  • File-file e-booknya disimpan dalam directory ... \Liblary\Books\0 ... 9. Tujuan penyimpanan file-file tersebut (dari 0 s/d 9) berguna untuk mempercepat proses pencarian kitab artinya pemberian nama folder 0 ... 9 itu merupakan index dari e-booknya itu sendiri. Tidakkah Anda melihat bahwa directory ... \Liblary\Books\0 (misalnya) akan diisi oleh file *.mdb yang berakhiran 0, misalnya 10.mdb, 20.mdb, 110.mdb, 130.mdb,1000.mdb dan seterusnya.

Lalu (setelah mempelajari struktur maktabah syamilah di atas)...
  • bagaimana jika kita ingin menambahkan kitab pada maktabah syamilah, misalnya kitab yaqulu, jurumiyah dsb atau al-Qur'an dengan disertai terjemahan DEPAG misalnya?
  • Bagaimana jika kita ingin membuat software Maktabah Syamilah versi Indonesia (maksudnya file .exenya saja, dimana seluruh menu dan petunjuknya menggunakan bahasa Indonesia sedangkan seluruh databasenya diambil dari maktabah syamilah yang asli)?
Tentu saja poin ke-7 dan ke-8 itu sangat bisa, hanya yang menjadi persoalan adalah My google adsense. Googlenya terkena 'smart pricing' (lho apa hubungannya?)

Terimakasih semoga bermanfaat.
READ MORE - VB6 Code - Memahami Struktur Software Maktabah Syamilah

VB6 Code - Form Yang Mengikuti Pointer Mouse

Kali ini kita akan membuat sebuah project yang diberi judul 'Form Yang Mengikuti Pointer Mouse'. Maksudnya sebuah form yang mengikuti koordinat pointer mouse. Fungsinya telah diperbaiki sehingga sebuah form tidak akan melebihi ukuran layar. Lalu apa kegunaannya? Jawabannya dapat Anda lihat pada Pelengkap Kamus2.04 yang sengaja kami sisakan bug (form yang melebihi ukuran layar yang terlihat pada saat pointer terlampau ke kiri atau terlampau ke bawah) .

Berikut kodenya yang dibuat dengan Microsoft Visual Basic 6.0:
'Kode pada form1
Option Explicit

Private Sub Timer1_Timer()
PosisikanForm Form1
End Sub

'Kode pada module
Option Explicit

Private Declare Function GetCursorPosXY Lib "user32" Alias "GetCursorPos" (lpPoint As POINTAPI) As Long
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Type POINTAPI
x As Long
y As Long
End Type

Public Sub GetCursorPos(xX As Long, xy As Long)
Dim pt As POINTAPI
Call GetCursorPosXY(pt)
xX = pt.x
xy = pt.y
End Sub

Public Sub PosisikanForm(frm As Form)
Dim x As Long
Dim y As Long
GetCursorPos x, y
'Kode di bawah merupakan inti dari project ini dengan fungsi yang telah diperbaiki
If ((y) + frm.Height / 15) > (Screen.Height / Screen.TwipsPerPixelY) Then
frm.Top = (y * 15) - (frm.Height)
Else
frm.Top = (y * 15) + 200
End If

If ((x) + frm.Width / 15) > (Screen.Width / Screen.TwipsPerPixelX) Then
frm.Left = (x * 15) - frm.Width
Else
frm.Left = (x * 15) + 200
End If

End Sub
READ MORE - VB6 Code - Form Yang Mengikuti Pointer Mouse

Monday, December 7, 2009

VB6 Code - Konsep Membuat Software Tashrif (Ilmu Sharaf)

Tashrif dalam ilmu sharaf bisa kita sederhanakan menjadi:
  1. Hadzaf (pembuangan huruf)
  2. Naql (pemindahanhuruf/syakal)
  3. Ibdal (penggantian huruf)
  4. Ziyadah (penambahan huruf)
Lalu artinya? artinya dengan memahami konsep di atas, kita dapat membuat software tashrif dengan cara mengeksplorasi dan memanipulasi fungsi-fungsi string yang terdapat dalam pemrograman. Untuk keperluan ini kami menggunakan program Visual Basic 6.0. Yang menjadi persoalan kita sekarang, bagaimanakah membuat fungsi-fungsi yang dapat mencakup keseluruhan wazan yang terdapat dalam Ilmu Sharaf, salim dan ghair salim (mudho'af, mahmuz, mu'tal [mitsal, ajwaf, naqish, lafif mafruq, lafif maqrun, dsb] kemudian madhi, mudhore, amr sampai isim alat berikut tashrifannya?

Berikut ini dua fungsi yang telah dibuat untuk keperluan di atas:
Option Explicit

'//--------------------------------------------------------------------
'// Dua fungsi utama software tashrif
'//--------------------------------------------------------------------

'Fungsi pertama: untuk menyamakan syakal
Function SamakanSyakal(sMauzun As String, sWazan As String) As String

Dim s() As String
Dim c() As String
Dim i As Integer
Dim a As Integer
Dim d As String
Dim g As String
ReDim s(Len(sWazan))
ReDim c(Len(sWazan))

a = 1

For i = 1 To Len(sWazan)
s(i) = Mid(sWazan, i, 1)
Next

For i = 1 To UBound(c)
d = Mid(sWazan, i, 1)
If d = "ظژ" Or _
d = "ظڈ" Or _
d = "ظگ" Or _
d = "ظ’" Or _
d = "ظŒ" Or _
d = "ظ‹" Then
c(i) = d
Else
c(i) = Mid(sMauzun, a, 1)
a = a + 1
End If
Next

For i = 1 To UBound(c)
g = g & c(i)
Next

SamakanSyakal = g

End Function

'//--------------------------------------------------------------------
'//Fungsi kedua: untuk menyamakan huruf
'//--------------------------------------------------------------------

Function SamakanHuruf(sMauzun As String, PolaWazan As String) As String

Dim s() As String
ReDim s(Len(PolaWazan))
Dim i As Integer
Dim c As String

For i = 1 To Len(PolaWazan)
If Mid(PolaWazan, i, 1) < 9 Then
c = c & Mid(sMauzun, Mid(PolaWazan, i, 1), 1)
Else
c = c & Mid(PolaWazan, i, 1)
End If
Next

SamakanHuruf = c

End Function

Di bawah ini sedikit contoh untuk wazan ط§ط³طھظپط¹ظ„ yang salim.

'----------------------------------------------------------------------------
'//Contoh penggunaan dua fungsi di atas
'----------------------------------------------------------------------------

Private Sub cmdGenerate_Click()

Dim d As String
Dim c As String
c = Text2.Text

'Madhi ط§ظ„ظ…ط§ط¶ظٹ
d = SamakanSyakal(SamakanHuruf(c, "123456"), "ط¥ظگط³ظ’طھظژظپظ’ط¹ظژظ„ظژ")
'Mudhore ط§ظ„ظ…ط¶ط§ط±ط¹
d = d & " - " & SamakanSyakal(SamakanHuruf(c, "ظٹ23456"), "ظٹظژط³ظ’طھظژظپظ’ط¹ظگظ„ظڈ")
'Mashdar ط§ظ„ظ…طµط¯ط±
d = d & " - " & SamakanSyakal(SamakanHuruf(c, "ط¥2345ط§6ط§"), "ط¥ظگط³ظ’طھظگظپظ’ط¹ظژط§ظ„ط§ظ‹")
'Fa'il ط§ظ„ظپط§ط¹ظ„
d = d & " - ظپظ‡ظˆ " & SamakanSyakal(SamakanHuruf(c, "ظ…23456"), "ظ…ظڈط³ظ’طھظژظپظ’ط¹ظگظ„ظŒ")
'Maf'ul ط§ظ„ظ…ظپط¹ظˆظ„
d = d & " - ظˆط°ط§ظƒ " & SamakanSyakal(SamakanHuruf(c, "ظ…23456"), "ظ…ظڈط³ظ’طھظژظپظ’ط¹ظژظ„ظŒ")
'Amr ط§ظ„ط£ظ…ط±
d = d & " - " & SamakanSyakal(SamakanHuruf(c, "ط¥23456"), "ط¥ظگط³ظ’طھظژظپظ’ط¹ظگظ„ظ’")
'Nahi ط§ظ„ظ†ظ‡ظٹ
d = d & " - ظ„ط§ " & SamakanSyakal(SamakanHuruf(c, "طھ23456"), "طھظژط³ظ’طھظژظپظ’ط¹ظگظ„ظ’")
'Makan ط§ظ„ظ…ظƒط§ظ†
d = d & " - " & SamakanSyakal(SamakanHuruf(c, "ظ…23456"), "ظ…ظڈط³ظ’طھظژظپظ’ط¹ظژظ„ظŒ")
'Zaman ط§ظ„ط²ظ…ط§ظ†
d = d & " - " & SamakanSyakal(SamakanHuruf(c, "ظ…23456"), "ظ…ظڈط³ظ’طھظژظپظ’ط¹ظژظ„ظŒ")

Text3.Text = d

End Sub
READ MORE - VB6 Code - Konsep Membuat Software Tashrif (Ilmu Sharaf)

Sunday, December 6, 2009

Kamus Bahasa Arab v3.0 | Menu-Menu

Berikut penjelasan mengenai menu-menu yang terdapat dalam Software Kamus Bahasa Arab v3.0:
Menu File Terdiri dari: (baru pada versi 3.0)

1. Save To File
2. Print
3. Exit

Keterangan:
1. Save To File:
Menyimpan hasil terjemahan dalam format *.rtf.
2. Print:
Mencetak hasil terjemahan dengan format WYSIWYG (what you see what you get).
3. Exit:
Keluar dari aplikasi Kamus Bahasa Arab v3.0.

Menu View Terdiri dari:

1. Gabungkan Fiil dan Ghair Fiil
2. Tampilkan Fiil dan Ghair Fiil
3. Tampilkan Fiil
4. Tampilkan Ghair Fiil (Isim atau Harf)
5. Sebelum
6. Sesudah
7. Simpan Ke dalam File
8. Salin

Keterangan:
1. Gabungkan Fiil dan Ghair Fiil
Menampilkan terjemahan baik fiil dan ghair fiil yang disatukan dalam satu tampilan
2. Tampilkan Fiil dan Ghair Fiil
Menampilkan terjemahan fiil dan ghair fiil (isim atau harf) secara terpisah
3. Tampilkan Fiil
Menampilkan terjemahan fiil tanpa isim atau harf
4. Tampilkan Ghair Fiil
Menampilkan terjemahan isim atau harf tanpa terjemahan fiil

5. Sebelum
Kembali pada terjemahan kosakata sebelumnya

6. Sesudah
Kembali pada terjemahan kosakata sebelumnya
8. Simpan Ke dalam File
Menyimpan kosakata yang terpilih ke dalam file dengan ekstensi .txt

9. Salin
Menyalin kosakata yang terpilih ke dalam clipboard

Menu Tools terdiri dari:

1. Hafalan
2. Option
3. Update
4. Virtual Keyboard
5. Aktifkan double klik untuk Maktabah Syamilah
6. Pencarian Cepat

Keterangan:

1. Hafalan
Menampilkan teks hafalan yang telah tersimpan sebelumnya
2. Option:
Tab Tampilan dan Aksara:
Menampilkan Kotak dialog option, yang terdiri dari:
· Pilihan font arab (ukuran dan jenis huruf)
· Pilihan font latin (ukuran dan jenis huruf)
· Pilihan warna latar teks terjemah
· Menampilkan Tip Of The Day

Tab Pencarian:
Pilihan untuk meniadakan tasydid dan sebagainya

Tab Keyboard:
Memilih keyboard yang akan digunakan

3. Update Kosakata
Berguna untuk meng-update kosakata yang belum ada dalam kamus ini. (disable)

4. Virtual Keyboard
Menampilkan virtual keyboard. Ada dua pilihan (1) Keyboard Default (2) Keyboard XP

5. Aktifkan Double Klik Untuk Maktabah Syamilah
Berguna untuk mencari terjemahan kosakata dengan cara double klik khusus untuk maktabah syamilah.

Perhatian:
Untuk kosakata-kosakata tertentu ada yang harus diketikan langsung pada teks pencarian,

6. Pencarian Cepat
Mencari terjemahan dengan cepat, kekurangannya yaitu teks terjemahannya kurang berwarna

Menu Help terdiri dari:

1. Help Contents
2. About Kamus Bahasa Arab v3.0

Keterangan:
1. Help Contents
Mengunjungi situs http://khoiriyyah.blogspot.com
2. About Kamus Bahasa Arab v3.0
Menampilkan dialog About
READ MORE - Kamus Bahasa Arab v3.0 | Menu-Menu