Nov 292010
 

cara koneksi delphi dengan database mysql adalah satu hal yang banyak dipertanyakan. mengingat delphi tidak menyediakan default conector ke mysql. sedangkan mysql adalah salah satu database yang menjadi pilihan favorit. maka disini akan dituliskan tutorial sederhana untuk koneksi delphi ke mysql, dan dalam hal ini dipakai delphi 7.



langkah-langkah:
1. download zeos di sourceforge.net atau cari di gogel. 😀
2. extract file zeosdbo-6.6.5-stable.zip
3. Letakkan ke lokasi yang kamu inginkan, karena ini tidak akan kita hapus lagi.
4. Buka Delphi 7
5. File -> Close All
6. Buka File ZeosDbo.bpg yang ada di folder Zeos -> Packages\Delphi7
7. Pada Delphi Klik Project -> Compile All
8. File -> Close All
9. Pada Delphi Klik Tools -> Environment Options, Klik tab Library. Lalu klik tab Library, dan klik tombol elipsis di samping kanan combobox Library path.
10. Klik tombol di kanan textbox yang berada dibawah tulisan Greyed items denote invalid path, kemudian pilih folder zeos -> Packages\Delphi7\build
11. Klik OK 2 kali sampai Environment Option ditutup.
12.Dari Delphi, Buka file pada folder zeos -> Packages\Delphi7\ZComponentDesign.dpk. Lalu klik tombol Install…
13. Coba liat di bagian Komponen, biasanya dibagian kanan sendiri sudah terinstal zeosnya

jika berhasil, maka selamat belajar dan bekerja… 🙂

ups… lupa… 😀
bagi yang lum tahu cara koneksi ke database mysql pake zeos, caranya….

1. jalankan delphi… 😀
2. letakkan komponen zconnection yang terdapat pada tab zeos access.
3. ubah properti hostname menjadi localhost atau IP dari server database yang dituju.
4. isikan user n password sesuai dengan setingan database anda. defaultnya, username = root password nya dikosongi.
5. protocol di pilih mysql-5
6. database isikan dengan nama database yang ingin anda koneksikan.
7. terakhir, ubah connected menjadi true.

** jika ada error, dan ada peringatan bahwa tidak menemukan file libmysql.dll ato file library apapun, jangan panik dan teriak-teriak.. 🙂 search di komputer anda nama file tersebut, kemudian jika ketemu, copykan file tersebut ke system32 atau ke folder dimana anda menyimpan aplikasi yang membutuhkan koneksi ke mysql.

jika conected bisa diubah menjadi true, maka proses anda berhasil… 😀 selamat….

untuk step-step koneksi diatas, bisa dibolak-balik sesuai selera… asal bagian conected nya harus paling akhir.

kalo dah conect trus ngapain? ya terserah… 😀

prinsip kerja zeos seperti komponen standar ADO. kalo di ado ada adoconnection, di zeos zconnection, kalo di ADO ada ADOquery, di zeos ada zquery, begitu seterusnya… 🙂

ada pertanyaan?? 😀



Nov 072010
 

uke, membuat kolom auto increment pada oracle memang tidak seperti pada mysql yang bisa kita langsung tulis pada saat pembuatan kolom. membuat auto increment (kolom dengan nomer yang otomatis bertambah tiap insert) pada oracle, diperlukan beberapa tahap :
1. membuat tabel ->tentu, apa yang akan dipasang auto increment jika tidak ada tabelnya?? 🙂
2. membuat squence -> untuk meng-isikan column ID nantinya.
3. membuat trigger -> TRIGGER sebelum melakukan insert ke table TB_NAME, artinya perintah ini akan dijalankan sebelum terjadi insert di table TB_NAME.

baiklah, sekarang saatnya untuk contoh code dari 3 tahap di atas :



Continue reading »

Aug 252010
 

Dalam membangun sebuah aplikasi kita sering dihadapkan pada kasus dimana pemakai aplikasi terdiri dari beberapa kalangan atau tingkatan akses data. misal, untuk sistem informasi akademik misalnya, sistem tersebut kelak dipakai oleh kepala sekolah, guru, siswa, dan bahkan TU. dan tentu saja, masing-masing jabatan atau kalangan memilliki akses data yang berbeda, misal, guru input nilai, sedangkan siswa melihat nilai dirinya pada beberapa mata pelajaran.

untuk menghadapi kasus ini, maka diperukan sebuah sistem yang memiliki login multi user. sehingga bisa dibedakan, user sebagai admin, siswa, guru atau yang lainnya. berikut adalah salah satu contoh solusi sederhana login multi user.

dengan spesifikasi memakai database MS access 2003, 2 user yaitu guest dan admin, dan dibuat menggunakan delpi7.

source untuk login :



———————————-begin————————
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls;
Continue reading »

Aug 222010
 

haaahhh.. akhirnya setelah sekian lama bisa juga disempatkan sedikit waktu untuk post sebuah artikel tutorial. kali ini saya akan membuat sebuah tutorial untuk menggabungkan beberapa String atau kata menjadi sebuah string. Dan kemudian memisahkan kembali string yang telah di gabung tersebut menjadi beberapa substring. mungkin dalam penggabungan kita tidak akan terlalu menemukan masalah karena sangat mudah hanya dengan script sederhana. misal:

String:=''+string1+' '+string2+'';

namun bagaimana jika kita hendak memisahkan lagi 2 string yang telah digabung tersebut untuk keperluan edit data atau keperluan lainnya?? itu lah yang agak merepotkan..

hal seperti ini baru saja saya alami. dimana biasanya saya hanya memakai datetimepicker untuk menyajikan data berupa tanggal. Namun kemarin, saya diminta untuk menyajikan tanggal dalam bentuk 3 combobox. sebut saja masing-masing dengan cbhari, cbbulan, dan cbtahun. user menginputkan dengan 3 combobox tersebut lalu data tanggal disimpan dalam 1 field bernama tanggal (proses penggabungan string) dan jika suatu saat diperlukan edit data tanggal, maka tanggal yang tadinya telah disimpan menjadi 1 string harus dipisah lagi menjadi 3 substring tanggal. yaitu untuk hari, bulan, dan tahun. contoh:

user input tanggal :
cbhari=7
cbbulan=April
cbtahun=1999

kemudian data disimpan menjadi 7/April/1999. dan jika dibutuhkan edit, maka String 7/April/1999 harus dipisah lagi menjadi:
cbhari=7
cbbulan=April
cbtahun=1999

o iya, disini dipakai pemisah/delimiter tanda ‘/’ sebenarnya bisa juga memakai spasi,’;’, atau tanda lainya…

berikut source lengkapnya..



——————————begin—————————
unit Unit1;

interface
Continue reading »

Jul 282010
 

oke, sekarang saat nya kita mempelajari pemrograman java. kali ini server socket. salah satu fungsinya adalah untuk membuat aplikasi chating. aplikasi chating tersebut masih sangat sederhana. karena tidak dalam bentuk gui melainkan masih dalam bentuk console. prinsipnya, chat bisa berjalan jika server dijalankan terlebih dahulu. bisa dalam 1 komputer, bisa juga dalam komputer yang berbeda. masalah ini, tinggal seting saja pada client. tulis localhost jika chat dalam 1 komputer, atau tulis ip server jika chat dilakukan dengan komputer yang berbeda. karena bersifat sederhana pula, chat hanya bisa dilakukan secara bergantian. tidak bisa server terus yang mengirim pesan, begitu juga untuk client.

anda disarankan untuk memahami konsep-konsep dasar pemrograman sebelum mencoba untuk menjalankan aplikasi ini. kalau belum, pada akhirnya juga akan mengatakan “program apa ini?? ngawur si admin. program ga bisa dijalankan nekat di upload pula”. 🙂 karena saya banyak menerima komentar serupa, berkaitan dengan source code yang saya upload. sedangkan, saya pastikan bahwa semua source code bisa di compile atau dijalankan dengan baik. 🙂

oke, sekali lagi, mohon dipelajari algoritma dan code nya. jadi jangan asal copy-paste. 🙂



chatserver.java

—————————-begin—————————————

import java.net.*;
import java.io.*;

public class chatserver
{
public static void main(String args[]) throws Exception
{
ServerSocket ss=new ServerSocket(2000);
System.out.println(“Menunggu Klien mengirim pesan pertama, klien yang harus pertama kali mengirim pesan…”);
System.out.println(“* chat dilakukan 2 arah, server klien, n bergantian kirim pesan.”);
Socket sk=ss.accept();
System.out.println(“Klien telah masuk. happy chat! untuk berhenti, ketik stop pada klien.\n\n”);
BufferedReader cin=new BufferedReader(new InputStreamReader(sk.getInputStream()));
PrintStream cout=new PrintStream(sk.getOutputStream());
BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in));
String s;
while ( true )
{
s=cin.readLine();
if (s.equalsIgnoreCase(“stop”))
{
cout.println(“Bye”);
break;
}
System. out.print(“Client : “+s+”\n”);
System.out.print(“Server : “);
s=stdin.readLine();
cout.println(s);
}
ss.close();
sk.close();
cin.close();
cout.close();
stdin.close();
}
}
Continue reading »