Kamis, 25 Maret 2010

Membuka File dBase

|0 komentar

Meskipun dBase sudah jarang yang memakai sebagai backend aplikasi-aplikasi di masa kini, tetap saja ada yang masih menggunakannya karena sudah terlanjur memakai dari sejak lama dan mereka tidak melihat alasan untuk mengganti ke model database yang baru.

Hal ini juga saya alami, ketika saya mendapat satu pesanan aplikasi yang harus bisa import data dari dBase. Data tersebut harus bisa di’lebur’ ke dalam database utama yang saya buat dengan MySQL. Untuk frontend saya memakai Visual Basic 6.0.

Pertamanya sih bingung juga, setelah cari sana-sini ketemu juga untuk membuka data dBase. Untuk connection string kita masih memakai bantuan konektor Microsoft Jet. Cara penulisan string nya sebagai berikut:

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=folder_lengkap;Extended Properties=dBASE IV;User ID=Admin;Password=;"

Di Data Source anda bisa ganti dengan path dan nama dBase nya, misalnya file dBase nya adalah contoh.dbf dan berada di folder C:\Data\ maka connection string nya menjadi seperti ini:

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Data\;Extended Properties=dBASE IV;User ID=Admin;Password=;"

Buka koneksi string itu dengan object Connection ADODB. Oya, anda bisa tetap memakai ADODB object untuk membukanya. Lalu untuk memakai koneksi di object recordset-nya anda bisa membuka table-nya dengan cara seperti ini:

rs.Open "SELECT * FROM nama_file sehingga dalam contoh ini, anda bisa membuka file contoh.dbf dengan menuliskan SQL statement seperti ini: rs.Open "SELECT * FROM contoh.dbf.

Nah, proses selanjutnya anda bisa mengelola nya seperti biasa dan untuk lebih jelasnya, rekan-rekan bisa melihat contoh dari aplikasi saya:

Dim conn_mpm As ADODB.Connection
Dim rs_data As New ADODB.Recordset
Dim con_string_mpm As String
Dim folder_data As String
Dim nama_file As String
Dim str_sql As String
'/berikan default nama file dan path db
folder_data = "C:\Data\"
nama_file = "contoh.dbf"
'/set connection string
con_string_mpm = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & folder_data & ";Extended Properties=dBASE IV;User ID=Admin;Password=;"
'/buka koneksi
Set conn_mpm = New ADODB.Connection
With conn_mpm
.ConnectionString = con_string_mpm
.CursorLocation = adUseClient
.Open
End With
'/string sql
str_sql = "SELECT * FROM " & nama_file
With rs_data
.CursorLocation = adUseClient
.Open str_sql, conn_mpm, adOpenStatic, adLockReadOnly
.Requery
If .RecordCount <= 0 Then
MsgBox "Tidak ada data di dalam file!", vbExclamation, "Kosong"
Else
masukan field ke control form anda.
End If
End With
'/hapus memory
Set rs_data = Nothing

Semoga artikel ini bisa sedikit bermanfaat.



Faces Di iPhoto 09

|0 komentar

facesSaya ingin menuliskan tentang fitur Faces di iPhoto 09 sejak lama, tapi saya bingung apa sih fungsi-nya? Kalau anda pengguna Facebook tentunya sudah mengerti tentang fitur ini, karena serupa. Dengan fungsi Faces ini, kita bisa menandai siapa aja orang-orang di photo itu, sehingga kita bisa mencarinya berdasarkan nama-nama yang telah kita tandai di kemudian hari. Melihat fungsinya yang menarik, saya mulai mencoba fitur di iPhoto versi teranyar ini. Ternyata, menarik juga!Untuk menandai, caranya cukup mudah. Anda hanya perlu melakukan langkah berikut:

  1. Buka foto anda di tab Events atau Photos.
    tab events or photos
  2. Lalu klik tombol Name di bagian bawah foto yang ingin anda tandai.
    tombol Name
  3. Viola… keajaiban iPhoto di mulai, hebatnya iPhoto bisa mengenali wajah-wajah di dalam foto tersebut dengan memberikan kotak-kotak di sekitar wajah yang ada di dalam foto. Untuk memberi nama, tinggal klik klik tulisan unknown face lalu beri nama pemilik wajah tersebut. Dan jika ada wajah yang tidak bisa dikenali oleh iPhoto, anda bisa klik Add Missing Face. Dan jika sudah klik tombol Done.
    beri nama
  4. Setelah di tandai, anda bisa klik tab Faces dan anda akan melihat nama-nama orang yang telah anda tandai.
    kumpulan wajah

Cukup menarik kan? Disamping Faces, iPhoto ada fitur-fitur menarik lainnya hanya belum saya coba secara maksimal sih, seperti Places dan Themed Slideshow.



Manipulasi Registry Dengan Visual Basic 2008

|0 komentar

Dalam pembuatan satu programming project yang baik, tentu banyak melibatkan ‘melempar’ banyak parameter keluar. Sehingga untuk penyesuaian nilai parameter-parameter yang tidak konstan bisa di rubah dengan mudah dan tidak perlu merubah coding lagi. Biasa orang meletakan parameter-parameter itu di satu file yang biasa di beri ekstensi .ini atau di registry.

Nah, di artikel ini saya ingin membahas bagaimana mengakses, membuat dan merubah registry sehingga dapat membantu kita membuat satu aplikasi yang applicable dengan menggunakan Visual Basic 2008.

Tentu dengan Visual Basic 2008 ini kita dapat mengakses registry jauh lebih mudah di banding ketika menggunakan Visual Basic 6, karena semua function dan procedure yang di butuhkan sudah ada di framework-nya yang ketika artikel ini di tulis sudah sampai versi 3.5 (versi 4 masih Beta 1).

OK, langsung saja ya perhatikan contoh code di bawah ini:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
'/-------------daftar konstanta---------------------------
Private Const local_machine = "HKEY_LOCAL_MACHINE\"
Private Const alamat_reg_lengkap As String = "SOFTWARE\ElkanaSoft\ES.NET\"
'/--------------------------------------------------------
Public Sub set_reg_awal()
Dim reg_key As Object
'/isi variable registry
reg_key = My.Computer.Registry.LocalMachine.OpenSubKey(alamat_reg_lengkap, True)
'/cek apakah nilai registry sudah ada
If reg_key Is Nothing Then
'MsgBox("Registry Tidak Ada")
'/buat registry key standard
With My.Computer.Registry
'/buat subkey
.LocalMachine.CreateSubKey(alamat_reg_lengkap)
'/buat key default
.SetValue(local_machine & alamat_reg_lengkap, "Counter", 0, Microsoft.Win32.RegistryValueKind.String)
.SetValue(local_machine & alamat_reg_lengkap, "Server", "localhost", Microsoft.Win32.RegistryValueKind.String)
.SetValue(local_machine & alamat_reg_lengkap, "User", "es_mis", Microsoft.Win32.RegistryValueKind.String)
'/masukan nilai ke public variable
server_reg = .GetValue(local_machine & alamat_reg_lengkap, "Server", Nothing)
user_reg = .GetValue(local_machine & alamat_reg_lengkap, "User", Nothing)
End With
Else
With My.Computer.Registry
'counter_reg = .GetValue(local_machine & alamat_reg_lengkap, "Counter", Nothing)
server_reg = .GetValue(local_machine & alamat_reg_lengkap, "Server", Nothing)
user_reg = .GetValue(local_machine & alamat_reg_lengkap, "User", Nothing)
End With
End If
End Sub

Pada intinya procedure di atas akan memeriksa apakah nilai registry yang akan kita pakai dalam aplikasi sudah ada, jika belum buat dengan default value yang sudah kita tentukan. Dan berikut penjelasan detailnya:

  1. Di baris 2 dan 3, saya buat konstanta alamat registry nya.
  2. Buat variable dengan type object.
  3. Di baris 8 buka registry key-nya dulu karena kita akan melihat apakah sudah ada alamat registry dalam terdapat dalam kosntanta tersebut.
  4. Di baris 10 periksa apakah sudah ada atau belum, jika belum buat registry dengan cara pada baris 17-19. Di baris 17 misalnya, saya membuat registry value dengan jenis String bernama Counter dan saya beri nilai awal 0.
  5. Karena saya memerlukan nilai registry tersebut, maka saya masukan ke Public Variable saya di baris 21-22.
  6. Tapi jika nilai registry sudah ada langsung ambil nilai registry dengan method GetValue dan masukan langsung ke Public Variable (di baris 26-28).

Nah, cukup mudah kan? Semoga artikel ini bisa sedikit bermanfaat bagi rekan-rekan yang masih belajar Visual Basic 2008, seperti saya ini.



Membuat Table Di MySQL

|0 komentar

Langkah pertama untuk membuat proyek pemrograman database, tentu adalah mendesign blue print dari aplikasi itu sendiri. Tanpa design yang benar, kita seolah berjalan dengan mata tertutup, asal jalan saja. Tentu akan terjadi tambal sulam disana-sini di kemudian hari. Biasa setelah mendesign suatu program, saya mulai dengan membuat table-table database terlebih dahulu. Nah, kali ini saya akan mengajak anda berdiskusi tentang table-table di MySQL.

Sebetulnya dalam pembuatan table-table ada banyak hal yang harus diperhatikan, tapi karena saya juga bukan seorang database administrator yang expert, saya akan menulisanya dalam bahasa versi saya saja. Untuk membuat table, anda perlu untuk membuat schema atau database terlebih dahulu.

Anda bisa membuatnya melalui command line mysql, MySQL Administrator atau MySQL Query Browser. Sebetulnya menurut saya paling enak sih melalui MySQL Administrator. Aplikasinya pun gratis. Anda bisa download aplikasi nya di website MySQL.

Proses instalasinya sangatlah mudah, setelah file anda download, tinggal klik ganda file tersebut dan ikuti saja langkah-langkah instalasinya (kali cuman 4-6 klik tombol Next, selesai). Setelah terinstal dengan benar, anda bisa membukanya melalui menu Start -> All Programs -> MySQL -> MySQL Administrator atau klik kanan ikon MySQL yang ada di systray dan pilih menu MySQL Administrator.

Berikut langkah-langkah simple yang bisa anda ikuti:

  1. Login dengan user name dan password anda (jika anda pengguna desktop, biasanya anda akan login sebagai root).
    Login screen
  2. Jika anda belum mempunyai database/schema anda sendiri, buat dulu dengan klik tab Catalogs.
    tab Catalogs
  3. Lalu semua schema yang ada di server anda akan terlihat.
    View Schema
  4. Untuk membuat schema baru, klik kanan di ruang kosong dipanel schemata lalu pilih menu Create New Schema.
    Menu Create new schema
  5. Beri nama schema anda, saran saya beri nama yang mewakili isi database/schema anda.
    memberi nama schema baru
  6. Maka schema anda akan muncul di daftar schemata.
  7. Untuk membuat table baru di schemata anda, klik tombol Create Table yang terletak di sebelah bawah.
    Tombol Create Table
  8. Lalu akan muncul MySQL Table Editor, isi nama table di Table Name lalu mulai buat field-field baru sesuai dengan kebutuhan anda. Biasa untuk field pertama adalah Primary Key yang berisi dengan data unik dan tidak ada data kembar didalamnya. Biasanya sih saya memberinya dengan angka integer dan untuk mudahnya pastikan Auto Inc kolom anda centang sehingga setiap ada data baru, MySQL akan mengenerate nilai baru yang selalu bertambah secara otomatis. Dan berikutnya tulis field anda, saran saya jika anda membuat suatu field, berikan tipe data yang sesuai dan set panjang data maksimalnya sehingga MySQL akan berhemat resource komputer server anda. Biasanya MySQL set panjang data dengan angka dalam kurung disebelah nama tipe data nya. Misal kalau anda ingin set field nama_karyawan dengan VarChar dan maksimal panjang data adalah 45, ketik VarChar(45) di kolom Datatype.
    Table Editor
  9. Setelah selesai anda mengetik semua field yang anda perlukan, klik tombol Apply Changes lalu anda akan di konfirmasi pembuatan table dalam bahasa SQL nya, klik Execute untuk mulai membuat table baru tersebut.
    Konfirmasi
  10. Lalu table anda akan terlihat di daftar table.
    Result

Waduh serius sekali ya… tapi ini adalah dasar dan langkah awal yang harus kita kuasai, jika kita ingin membuat aplikasi dengan database MySQL. Bagaimana pendapat anda?