Archive for the ‘Teknologi’ Category

SerialPort pada VB Express 2005

July 2, 2008

Ketika membuat program yang menggunakan komponen SerialPort pada Visual Basic Express 2005. Pengiriman data ke SerialPort menggunakan fungsi SerialPort.Write() jika data yang dikirim bukan hanya ASCII maka tidak semua karakter ( data yang dibuat dengan fungsi Chr() ) dapat dikirim dengan persis. Untuk mengakalinya maka encoding-nya perlu diubah yaitu sisipkan perintah berikut pada bagian loading dari form yang menggunakan SerialPort.

SerialPort1.Encoding = System.Text.Encoding.Default

Pada code diatas nama objeknya SerialPort1. Ubah nama tersebut sesuai dengan nama yang Anda pakai. Dengan kode diatas semua karakter dapat dikirim, bukan hanya karakter ASCII.

Salam

Module Excel

June 18, 2007

Berikut ini kode untuk baca-tulis file excel dengan vb express:

Module xls

Dim Koneksii As New System.Data.OleDb.OleDbConnection
Dim Perintahh As New System.Data.OleDb.OleDbCommand
Public Hasill As System.Data.OleDb.OleDbDataReader

Dim NotFreee As Boolean

Public Sub OpenGuard()
While NotFreee
Application.DoEvents()
End While
NotFreee = True
End Sub

Public Sub CloseGuard()
NotFreee = False
End Sub

Public Sub SetXLS(ByVal Alamat As String)
Koneksii.ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0; Data Source=” & Alamat & “; Extended Properties=” & Chr(&H22) & “Excel 8.0;HDR=No;IMEX=2″ & Chr(&H22) & “;”
Perintahh.Connection = Koneksii
End Sub

Public Sub DoQueryXLS(ByVal Command As String)
Koneksii.Open()
Perintahh.CommandText = Command ‘”Select * from log”
Hasil = Perintahh.ExecuteReader
End Sub

Public Sub CloseKoneksi()
Koneksii.Close()
End Sub

Public Sub DoNonQueryXLS(ByVal Command As String)
Koneksii.Open()
Perintahh.CommandText = Command ‘”insert into”
Perintahh.ExecuteNonQuery()
Koneksii.Close()
End Sub

End Module

Berikut ini contoh penggunaannya:

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
xls.OpenGuard()
xls.SetXLS(“Presensi.xls”)
xls.DoNonQueryXLS(“Update [Sheet1$A1:A1] set F1=’123′”)
xls.DoNonQueryXLS(“Update [Sheet1$A2:A2] set F1=’WAS’”)
xls.DoNonQueryXLS(“Update [Sheet1$A3:A3] set F1=’TO’”)

xls.DoNonQueryXLS(“Update [Sheet1$B1:B1] set F1=’123b’”)
xls.DoNonQueryXLS(“Update [Sheet1$B2:B2] set F1=’WASb’”)
xls.DoNonQueryXLS(“Update [Sheet1$B3:B3] set F1=’TOb’”)

xls.DoQueryXLS(“select * from [Sheet1$A1:A2]“)
While Hasil.Read()
TextBox1.AppendText(Hasil(0) & vbCrLf)
End While

xls.CloseKoneksi()
xls.CloseGuard()
End Sub

Azan Scheduler 1.0 Released

June 11, 2007

Setelah menggunakan program sederhana hasil porting dari program Basic tulisan dari Dr. T. Djamaluddin, akhirnya Azan Scheduler yang aku tulis dapat di-share di http://sourceforge.net/projects/azan

Azan Scheduler ditulis dalam bahasa C++ menggunakan editor dari Qt Designer pada operating system Linux Red Hat 9. Program ini pernah dicoba juga pada Fedora Core 5 dan Kubuntu 7.04. Target penggunanya adalah KDE. Tapi sesungguhnya secara teori dapat digunakan pada Linux yang lain asalkan ada program crontab dan media player. Hal itu dilakukan dengan adanya skrip perl azan.pl yang tidak mengharuskan instal menggunakan GUI dengan Qt library.

Silahkan Anda download dan coba program ini pada: http://sourceforge.net/projects/azan

Salam.

Aplikasi dengan style Xp menggunakan VB6

February 8, 2007

Biasanya membuat program di VB6 agak membosankan, karena tampilannya tidak terlalu bagus. Tetapi kini dengan menambahkan kode berikut tampilannya menjadi sesuai dengan skin Xp saat dijalankan di Xp.

Private Type tagInitCommonControlsEx
    lngSize As Long
    lngICC As Long
End Type
Private Declare Function InitCommonControlsEx Lib "comctl32.dll" _
(iccex As tagInitCommonControlsEx) As Boolean
Private Const ICC_USEREX_CLASSES = &H200
Public Sub WriteManifest()
    On Error Resume Next
    Dim F As String
    F = App.Path & "\" & App.EXEName & ".exe.manifest"
    If Dir(F) = "" Then
        Open F For Output As #3
        Print #3, "<?xml version=" & Chr(&H22) & "1.0" & _
        Chr(&H22) & " encoding=" & Chr(&H22) & "UTF-8" & _
        Chr(&H22) & " standalone=" & Chr(&H22) & "yes" & _
        Chr(&H22) & " ?>"
        Print #3, "<assembly xmlns=" & Chr(&H22) & _
        "urn:schemas-microsoft-com:asm.v1" & Chr(&H22) & _
        " manifestVersion=" & Chr(&H22) & "1.0" & Chr(&H22) & ">"
        Print #3, vbTab & "<assemblyIdentity"
        Print #3, vbTab & vbTab & "version=" & Chr(&H22) & _
        "1.0.0.0" & Chr(&H22)
        Print #3, vbTab & vbTab & "processorArchitecture=" & _
        Chr(&H22) & "X86" & Chr(&H22)
        Print #3, vbTab & vbTab & "name=" & Chr(&H22) & _
        App.CompanyName & "." & App.ProductName & "." & _
        App.EXEName & Chr(&H22)
        Print #3, vbTab & vbTab & "type=" & Chr(&H22) & _
        "win32" & Chr(&H22) & " />"
        Print #3, vbTab & "<description>" & App.Comments & _
        "</description>"
        Print #3, vbTab & "<dependency>"
        Print #3, vbTab & "<dependentAssembly>"
        Print #3, vbTab & "<assemblyIdentity"
        Print #3, vbTab & vbTab & "type=" & Chr(&H22) & _
        "win32" & Chr(&H22)
        Print #3, vbTab & vbTab & "name=" & Chr(&H22) & _
        "Microsoft.Windows.Common-Controls" & Chr(&H22)
        Print #3, vbTab & vbTab & "version=" & Chr(&H22) _
        & "6.0.0.0" & Chr(&H22)
        Print #3, vbTab & vbTab & "processorArchitecture=" & _
        Chr(&H22) & "X86" & Chr(&H22)
        Print #3, vbTab & vbTab & "publicKeyToken=" & _
        Chr(&H22) & "6595b64144ccf1df" & Chr(&H22)
        Print #3, vbTab & vbTab & "language=" & Chr(&H22) & _
        "*" & Chr(&H22) & " />"
        Print #3, vbTab & "</dependentAssembly>"
        Print #3, vbTab & "</dependency>"
        Print #3, "</assembly>"
        Print #3, ""
        Close #3
        Shell App.Path & "\" & App.EXEName & ".exe", vbNormalFocus
        DoEvents
        End
    End If
    Dim Ticce As tagInitCommonControlsEx
    Ticce.lngSize = LenB(iccex)
    Ticce.lngICC = ICC_USEREX_CLASSES
    InitCommonControlsEx Ticce
    On Error GoTo 0
End Sub

Save code diatas pada file xp.bas. Tambahkan pada project yang ingin menggunakan style Xp. Kemudian tambahkan kode berikut dalam kode form utama.

Private Sub Form_Initialize()
    WriteManifest
End Sub

Agar tampilan form yang diedit juga bertema sesuai dengan tampilan saat run time maka simpan kode  di bawah ini pada folder instalasi VB6 anda, misal: C:\Program Files\Microsoft Visual Studio\VB98, sebagai file vb6.exe.manifest

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
    type="win32"
    name="Microsoft.Windows.Editeur"
    processorArchitecture="X86"
    version="4.4.0.0"
/>
<description>Microsoft Visual Basic 6.0</description>
<dependency>
    <dependentAssembly>
        <assemblyIdentity
            type="win32"
            name="Microsoft.Windows.Common-Controls"
            language="*"
            processorArchitecture="X86"
            version="6.0.0.0"
            publicKeyToken="6595b64144ccf1df"
        />
    </dependentAssembly>
</dependency>
</assembly>

Salam.

Setup MySQL untuk PHP5

December 15, 2006

Buka file inisialisasi PHP anda, php.ini. Enable extension untuk MySQL pada php.ini.

extension=php_mysql.dll

Kemudian tentukan letak extension tersebut, misal:

extension_dir=”C:\Program Files\PHP\ext”

Save php.ini. Setelah itu pastikan PATH dalam system variable telah berisi letak instalasi PHP anda.  Caranya klik kanan pada icon: My Computer – Properties – Advanced – Environment Variables. Pada window ini cari variable PATH. Pilih variable tersebut, kemudian klik Edit. Sekarang muncul window kecil untuk mengedit variable.Tekan tombol Home sekarang.

Jika folder instalasi anda pada  C:\Program Files\PHP maka sisipkan pada awal Variable value: tulisan berikut:

 C:\Program Files\PHP;

Pastikan anda tidak menghapus bagian isi PATH yang lain. Proses diatas adalah proses penambahan path C:\Program Files\PHP sebagai salah satu alamat pencarian dll. Tekan OK tiga kali. Untuk memastikan semuanya berjalan dengan lancar maka restart komputer anda.

Untuk mengetes apakah PHP sudah siap untuk mengakses MySQL, simpan kode dibawah ini sebagai coba_mysql.php ke dalam folder htdocs pada folder instalasi Apache anda.

<?php

$link = @mysql_connect(‘localhost’) or die(“Could not connect”);

print “Connected successfully”; 

?>

Jalankan coba_mysql.php pada browser anda dengan alamat berikut:

http://localhost/coba_mysql.php

Selamat mencoba. Salam.

Setup PHP5 dengan Apache 2.2

December 14, 2006

Pastikan installer PHP5 dalam format zip dan Apache 2.2 dalam format msi sudah anda download dari http://www.php.net/downloads.php dan http://httpd.apache.org .

Instal Apache terlebih dahulu, kemudian unzip PHP ke folder tertentu misal:

C:\Program Files\PHP

Buka file konfigurasi Apache pada folder conf yaitu file httpd.conf. Contoh lokasi httpd.conf :

C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf

Tambahkan kode berikut pada bagian akhir file httpd.conf:

PHPIniDir “C:/program files/php/”

LoadModule php5_module “C:/program files/php/php5apache2_2.dll”

AddType application/x-httpd-php .php

Pastikan modul dll yang dipilih sesuai dengan versi apache yang digunakan dalam contoh diatas digunakan php5apache2_2.dll. Tanda “\” dalam alamat harus diubah menjadi “/”.

Kemudian restart Apache. Untuk mencoba apakah instalasi berhasil atau tidak buat file .php, misal coba.php, yang disimpan pada:

C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\coba.php

Isi dari file coba.php adalah:

<? phpinfo(); ?>

Semua file yang akan dipublish mesti diletakkan pada folder ini:

C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\

Alamat diatas dijadikan folder yang dapat diakses menggunakan alamat berikut:

http://localhost

Buka web browser anda. Ketikkan alamat berikut:

http://localhost/coba.php

Jika muncul tampilan informasi PHP maka instalasi berhasil. Salam.

RFID

November 30, 2006

Teknologi ini telah ada sebelum teknologi bar code. Karena tidak ekonomis maka saat itu Radio Frequency Identification tidak banyak digunakan. Sekarang RFID kembali dengan implementasi yang dapat diusahakan lebih murah dibandingkan bar code. Keunggulan yang ditawarkan ialah keamanan dan kemudahan dalam penggunaan. Aman karena identifikasi menggunakan nomor yang tertanam dalam chip. Mudah karena tidak perlu menyentuhkan penyimpan nomor (Tag) dengan alat yang diakses (Tag Reader) dengan jarak akses yang bisa diatur.

RFID tag ada dua macam: passive dan active. Passive tag tidak membutuhkan power yang ditanam bersama dengan chip. Active tag membutuhkan power yang disertakan bersama tag sebagai transmitter. Karena itu jarak jangkau pembacaan tag paling jauh adalah active tag.

Setiap aplikasi yang menggunakan RFID harus menyesuaikan dengan kebutuhan yang paling pas dengan keadaan dilapangan. Dengan lingkungan yang berbeda maka RFID yang digunakan juga berbeda. Seperti RFID khusus untuk ditempelkan pada barang yang mengandung air dan logam.

Aplikasi utama RFID adalah alat bantu identifikasi. Turunannya adalah sebagai alat bantu transaksi.

Microcontroller

November 19, 2006

Menyelesaikan persoalan elektronika untuk mengontrol sesuatu menjadi relatif sederhana dengan menggunakan mikrokontroler (disingkat mikro). Dahulu untuk membuat rangkaian logic biasanya menggunakan komponen IC TTL. Awalnya kurang disukai mikro ini. Karena membutuhkan pengetahuan pemrograman assembly. Sekarang banyak mikro yang sudah bisa diprogram menggunakan bahasa C.

Saya biasa menggunakan mikro MCS51 keluaran Atmel, seperti AT89S52. Compiler C – nya menggunakan SDCC yang gratis dari forum sf.net. Programmernya (pengisi program ke dalam flash mikro) saya membuatnya sendiri. Atau juga bisa menggunakan programmer yang banyak dijual dipasaran.

Karena SDCC hanya sebuah program compiler C yang berjalan pada command prompt, maka saya menggunakan editor C gratis dari Programmer’s Notepad 2.

Programmer saya punya kelebihan khusus. Programmer ini bisa digunakan juga untuk rangkaian testing. Pengisian dilakukan melalui serial port. Software pengisinya saya beri nama Xerial Loader. Jalur serial ini, tanpa mengubah konfigurasi kabel dan rangkaian tambahan, juga bisa digunakan untuk mencoba UART dari mikro ke komputer. Rangkaian pengisi dan tester berada dalam satu board.

Xerial Loader

Dengan cara tadi, proses mengisi dan mencoba mikro tidak lagi membutuhkan operasi lepas pasang chip mikro yang terjadi pada programmer biasa.