Selasa, 01 April 2014

Membangun Aplikasi Database Client Server dengan Delphi dan MySQL

Software-Software berbasis client server memang sudah banyak dibangun oleh developer. Untuk membuat aplikasi database berbasis client server dengan Delphi sebenarnya bisa dikatakan gampang-gampang susah tapi jika sobat sudah paham konsepnya pasti jadi gampang banget. Aplikasi Database Berbasis Client Server sudah banyak dikembangkan oleh para Developer Untuk memudahkan proses transaksi. Suatu misal Software yang ada di mesin ATM, Software Kasir yang ada di minimarket seperti Indomaret dan Alfamart dan lain sebagainya banyak dikembangkan dengan Delphi.

Cara kerjanya sederhana, Aplikasi yang ada disisi (Komputer) Client akan melakukan manipulasi data pada Database yang ada di komputer server cara seperti ini sering disebut dengan sistem komputasi terpusat. Lantas Bagaimana cara membuat aplikasi semacam ini ? Berikut adalah langkah-langkah serta syarat yang harus dipenuhi :

1. Pastikan Anda memiliki minimal 2 Komputer (Client dan Server) atau Anda dapat memanfaatkan Mesin Virtualisasi jika hanya memiliki 1 PC/Laptop.

2. Pastikan Koneksi kedua komputer tersebut sudah tidak ada masalah. Saya Asumsikan IP Komputer Server adalah 192.168.1.1 Sedangkan IP Komputer Client adalah 192.168.1.2 Jika anda menggunakan banyak komputer atau lebih anda bisa sesuaikan sendiri.

3. Gunakan DBMS MySQL karena merupakan Mesin Database Server yang tentu saja dapat lebih memudahkan kita. Anda Harus Menginstallnya pada komputer server.

Setelah semua syarat diatas terpenuhi, sobat harus melakukan step berikutnya yaitu mengatur settingan hak akses Database MySQL yang ada dikomputer Server dengan cara sebagai berikut

Mengatur Hak Akses Database Pada Komputer (Sisi) Server


1. Buka http://localhost/phpmyadmin di komputer server. Oya, pada contoh ini saya menggunakan xampp dikomputer server agar lebih mudah karena xampp sudah komplit dengan satu kali proses instalasi. Selain phpmyAdmin anda juga dapat menggunakan Tools lain semisal HeidiSQL. Selanjutnya Ikuti saja step-step pada gambar berikut. Proses dibawah ini adalah tahap dimana kita menambahkan user baru pada DBMS MySQL. 

Membangun Aplikasi Database Berbasis Client Server dengan Delphi dan MySQL

Membangun Aplikasi Database Berbasis Client Server dengan Delphi dan MySQL

Membangun Aplikasi Database Berbasis Client Server dengan Delphi dan MySQL

Membangun Aplikasi Database Berbasis Client Server dengan Delphi dan MySQL

Membangun Aplikasi Database Berbasis Client Server dengan Delphi dan MySQL

Pada gambar diatas kita sudah berhasil membuat user baru pada DBMS MySQL di komputer server, User inilah yang akan kita gunakan nantinya untuk menggunakan Database yang ada di server dari komputer Client jadi pastikan anda sudah mengingat User dan Passwordnya. 

Settingan Pada Komputer (Sisi) Client 


Untuk Settingan disisi (Komputer) Client disini saya mencontohkan dengan dua Connector yang cukup terkenal dan banyak digunakan oleh programmer Delphi yaitu ODBC dan ZEOSLib Jika anda menggunakan selain yang saya sebutkan silahkan sesuaikan sendiri karena intinya sama saja. Pada Settingan Konektor Zeos dan ODBC, anda perlu mengatur propertinya menjadi seperti gambar dibawah. Kita menggunakan IP Address Server yaitu 192.168.1.1 Serta User dan Password yang telah kita buat sebelumnya.

Membangun Aplikasi Database Berbasis Client Server dengan Delphi dan MySQL

Membangun Aplikasi Database Berbasis Client Server dengan Delphi dan MySQL

Kesimpulannya : Koneksi ke Database yang ada di Server kita lakukan pada saat Design Time (saat aplikasi dibangun) dari komputer Client. Ada sebuah solusi agar Aplikasi menjadi lebih user Friendly yaitu melakukan koneksi pada saat Run Time (saat Aplikasi Berjalan). anda dapat membaca postingan saya yang ada disini. Selamat Mencoba. Happy Coding. :)

Jumat, 14 Maret 2014

Cara Pecah String di Delphi

Jika di PHP Istilah Pecah String disebut Explode, didelphi istilah tersebut dijuluki Split. Kebutuhan untuk melakukan Split String ini memang tidak dapat dipungkiri mulai dari implementasi sebuah algoritma dan semacamnya. Jika sobat membangun sebuah aplikasi Voting berbasis SMS Gateway atau penyewaan lapangan futsal dan lain sebagainya, maka Teknik Split String ini sangat dibutuhkan.

Sebut saja kita sedang membangun sebuah aplikasi Rental Lapangan Futsal Berbasis SMS. Maka kita perlu menentukan format pesan yang digunakan untuk melakukan proses penyewaan lapangan. suatu misal formatnya seperti ini Booking#TglMain#JamMain#NoLapangan#JamSelese#NamaPemesan

Pada Aplikasi yang kita bangun, tentu kita perlu memecang string pesan masuk dengan format tersebut untuk kebutuhan mengecek lapangan apakah sudah disewa atau belum, melakukan penyimpanan data serta kebutuhan lainnya. Seperti Contoh pada gambar berikut

Cara Pecah String di Delphi

Contoh pada gambar diatas memang sangat sederhana, kita menggabungkan beberapa inputan terlebih dahulu menjadi satu kemudian melakukan Explode atau Split sehingga menghasilkan beberapa variabel yang berbeda. jika anda tertarik untuk mencobanya silahkada download source codenya disini.

Penggunaan Message Dialog di Delphi

Message dialog digunakan untuk menampilkan sebuah pesan informasi tentang sebuah kesalahan, peringatan, pilihan atau sekedar menampilkan infromasi kepada user. Delphi memiliki beberapa macam pesan dialog yang dapat kita manfaatkan sesuai dengan kebutuhan kita tentunya.

Berikut saya sharing beberapa contoh penggunaan Message Dialog di Delphi.

1. Information Dialog
Untuk menggunakan dialog ini kita dapat menggunakan baris perintah berikut. letakan pada event yang anda inginkan agar dialog ini muncul.
MessageDlg('Ini adalah Contoh Dialog Information!',mtInformation,[mbok],0);

Penggunaan Message Dialog di Delphi

2. Warning Dialog
Penggunaan dialog ini juga tidak jauh beda dengan Information dialog. yang membedakan pada inisialisasi dialog yang kita gunakan yaitu mtwarning
MessageDlg('Ini adalah Contoh Dialog Warning!',mtWarning,[mbok],0);

Penggunaan Message Dialog di Delphi

3. Error Dialog
Tidak jauh beda dengan Information dan Warning dialog. yang membedakan hanya insialisasi dialognya yaitu dengan mterror.
MessageDlg('Ini adalah Contoh Dialog Error!',mtError,[mbok],0);

Penggunaan Message Dialog di Delphi

4. Confirmation Dialog
Dialog ini banyak dimanfaatkan untuk memberikan pilihan kepada user perihal aksi yang akan dilakukan oleh program. pilihan tersebut adalah Yes dan No


if MessageDlg('Ini adalah Contoh Confirmation Doalog ?',mtConfirmation,[mbyes,mbno],0)=mrYes then ShowMessage('Anda Memilih Yes') else Abort;

Penggunaan Message Dialog di Delphi

Sabtu, 01 Maret 2014

Contoh Login Hashing dengan SHA1 dan MD5 di Delphi

Teknik Hashing banyak digunakan untuk menyembunyikan password login dari sebuah aplikasi. Teknik ini banyak dipakai oleh Website Programmer sebagai sebuah implementasi keamanan dan pertahanan dari aplikasi tersebut. Selain itu, hashing juga kerap digunakan sebagai media Checksum untuk mengetahui valid tidaknya pesan yang diterima. Teknik seperti ini banyak digunakan di internet (biasanya untuk cek file yang telah di download).

Pada Postingan terdahulu sudah saya sharing Contoh Login beserta komponen MD5 di Delphi. Kali ini saya mau sharing lagi tentang Contoh Form Login yang dikombinasikan dengan Hashing (Md5 dan SHA1) menggunakan Library chash yang dapat anda download secara gratis disini.

Sebelum membahas lebih lanjut terlebih dahulu tambahkan Path komponen tersebut kedalam Library Delphi. Caranya sudah saya jelaskan pada postingan-postingan yang telah lalu. Jika belum tahu, sebagai contohnya anda dapat melihatnya disini.

Langkah Selanjutnya anda perlu menggunakan Library tersebut dengan menambahkannya pada Uses Projek anda. seperti gambar berikut :

Contoh Login Hashing dengan SHA1 dan MD5 di Delphi

Untuk Menggunakan Hasing MD5 dan SHA1 Library tersebut dapat anda lihat pada contoh potongan coding dibawah ini :
password:=MD5DigestToHex(CalcMD5(Edit2.Text));
password := SHA1DigestToHex(CalcSHA1(Edit2.Text));

Sebagai Bahan Pembelajaran, dibawah ini adalah contoh Screenshoot Form Login dan Form Utama Projek yang saya buat. 

Contoh Login Hashing dengan SHA1 dan MD5 di Delphi

Contoh Login Hashing dengan SHA1 dan MD5 di Delphi

Oya, Hampir Lupa. Projek tersebut dapat anda Download pada link ini. Agar Lebih Paham, Pastikan anda telah mempraktekan step-step diatas. Untuk Login gunakan Username = admin dan Password = masuk. 

Contoh Mikrotik API Untuk Delphi

Mikrotik atau yang akrab kita sebut dengan Router Mikrotik memiliki dua Produk yang dikenal dengan Mikrotik Router Board dan Mikrotik RouterOS. Mikrotik dikembangkan dengan menggunakan Kernel Linux oleh karenanya anda dapat menjadikan PC/Komputer anda sebagai Router dengan menginstalkannya Mikrotik RouterOS, tentu saja anda akan membutuhkan NIC (Network Interface Card) tambahan. Namun Jika anda tidak ingin repot, Mikrotik juga mengeluarkan Mikrotik Router Board untuk memudahkan anda. 

Baik Router Board ataupun RouterOS Mikrotik sebenarnya keduanya sama saja. Hal ini tentu tergantung kenyamanan serta pilihan penggunanya. Terlepas dari hal itu, Umumnya untuk melakukan konfigurasi pada Mikrotik dapat dilakukan dengan dua cara; 1. Command Line Interface (CLI), 2. Berbasis GUI (Winbox/Webfig). Keduanya dapat anda gunakan secara gratis. 

Kali ini saya ingin sedikit berbagi bagaimana memanfaatkan Mikrotik API (Aplication Programming Interface) untuk membuat Tools Sederhana Meremote Mikrotik dengan Delphi. Sebelumnya, Anda harus mengaktifkan Fitur API yang ada di Mikrotik dengan perintah sebagai berikut. 

Langkah - Langkah Mengaktifkan Mikrotik API

1. ip service print -> Untuk melihat apakah API sudah aktif atau belum

Contoh Mikrotik API Untuk Delphi

2. ip service enable api -> Untuk Mengaktifkan Fitur API di Mikrotik

Contoh Mikrotik API Untuk Delphi

Sampai disini Fitur API Mikrotik sudah Aktif yang ditandai dengan hilangnya tanda X disamping tulisan api pada gambar diatas. Selanjutnya anda bisa mendownload contoh Source code Mikrotik Delphi API disini. 

Contoh Mikrotik API Untuk Delphi

Karena contoh tersebut menggunakan Library tambahan yaitu synapse, jadi Sebelum membuka source code tersebut dengan Delphi anda, Pastikan anda sudah menambahkan Path Library Synapse ke Delphi anda. Cara untuk menambahkannya dapat anda lihat disini.

Connect Dialog : Koneksi MySQL Saat RunTime di Delphi

Connect Dialog : Koneksi MySQL Saat RunTime Delphi

Koneksi Aplikasi yang kita bangun menggunakan Delphi dengan Database MySQL dapat dengan mudah kita lakukan berbekal connector-connector yang sudah ada semisal ODBC, ZEOS dan MyDAC. Umumnya, Koneksi tersebut dilakukan secara manual pada saat Design Time dan tidak jarang terjadi Error setelah dipindahkan ke komputer lain. Hal ini menimbulkan masalah tersendiri bagi kenyamanan End User alias pengguna Aplikasi.

Dengan Membuat Connect Dialog atau Koneksi MySQL saat Run Time hal ini dapat menjadi solusi masalah tersebut sehingga jika koneksi gagal, yang akan muncul adalah form koneksi bukan pesan Error dari Aplikasi. Untuk membuat Utilitas semacam ini sebenarnya tidak terlalu sulit. Saya sendiri memanfaatkan Connector ZEOS 7.0.3 dan Statemen Try Except yang ada di Delphi untuk melakukannya.

Connect Dialog : Koneksi MySQL Saat RunTime Delphi

Konsepnya Sederhana, Property-Property yang dibutuhkan untuk melakukan koneksi semisal : 
Hostname, DatabaseNama, Port, User Database dan Password database kita simpan didalam sebuah File ini. Kemudian Value dari property didalam file ini tersebut kita akses melalui aplikasi kita. Adapaun Contoh Source Code beserta database yang saya gunakan dapat anda Download disini.

Cobalah Untuk menjalankan Hasil Compile Aplikasi untuk mengujinya. Anda Hanya Perlu Mengimport file database yang ada didalam folder database ke MySQL anda dengan PHPMyadmin atau HeidiSQL dan melakukan koneksi melalui form koneksi agar anda dapat masuk ke Form Utama Aplikasinya. Jika anda ingin mengedit Source Codenya, gunakan CTRL+F9 untuk mengcompile (Jangan F9)!
Selamat mencoba dan semoga berhasil. :)    

Cek Pulsa Modem dengan Gammu dan Delphi

Cek Pulsa Modem dengan Gammu dan Delphi

Dalam Membuat Aplikasi SMS Gateway, tentu perlu kiranya kita menambahkan sebuah utilitas yang mampu melakukan perintah USSD Command dalam Aplikasi kita. Perintah USSD Command juga digunakan untuk mengecek Pulsa suatu misal *123# (Cek Pulsa XL). Sebelumnya saya sudah sharing source code untuk mengecek Pulsa dengan menggunakan AT Command. Berbeda dengan itu, Kali ini kita akan memanfaatkan gammu untuk mengecek Pulsa Modem. 

Sekedar Informasi, Gammu yang bisa menjalankan perintah USSD command adalah versi 1.3 keatas. Jika anda masih menggunakan versi lawas anda dapat mendownload gammu versi 1.33 yang telah saya paketkan menjadi installer pada step dibawah ini

1. Gunakan gammu versi 1.33 atau yang lebih baru. Download Gammu Installer Versi 1.33 disini.

2. Pastikan Koneksi gammu dan Modem sudah tidak ada masalah. cara setting gammu lihat disini.

3. Silahkan Download Source Code Aplikasi Cek Pulsa dengan Gammu disini.

Sebenarnya anda juga dapat dengan mudah mengecek pulsa modem dengan Perintah gammu getussd *123# melalui Console dimana hasilnya kurang lebih akan seperti dibawah ini

Cek Pulsa Modem dengan Gammu dan Delphi

Jadi Secara Sederhana Aplikasi ini lebih memfokuskan tentang bagaimana kita mengambil Output dari Perintah yang kita jalankan di Command Prompt (DOS) Lalu menampilkannya melalui Memo di dalam Aplikasi kita. Bahasa kerennya disebut Capture DOS Output.