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.

Bermain-main dengan Regedit Menggunakan Delphi

Bermain-main dengan Regedit Menggunakan Delphi

Sebelum membaca postingan ini ada baiknya anda membaca postingan saya sebelumnya tentang Membuat Aplikasi Run As Administrator disini kerena pada kesempatan ini kita akan sedikit bermain-main dengan Registry Editor Windows atau yang akrab disebut dengan Regedit. Sekedar Informasi buat anda yang belum tahu bahwa sebagian besar aplikasi yang kita install di windows beberapa settingan akan disimpannya kedalam Regedit anda dapat membuktikannya dengan membuka regedit di :
HKEY_LOCAL_MACHINE\SOFTWARE\

Sebut Saja Connector ODBC, Jika anda pernah menggunakan Connector ini mungkin anda sudah tahu bahwa settingan koneksinya disimpan di Regedit anda dapat melihatnya di : 
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\
Berangkat dari hal tersebut saya kira cukup penting untuk membuat postingan tentang Regedit ini.  

Terlepas dari hal tersebut diatas, seperti yang kita ketahui bersama, sejak dirilisnya windows vista, kita membutuhkan akses administrator untuk membuka beberapa utilitas penting di windows seperti Regedit oleh karenanya sebelum melanjutkan anda harus sudah bisa membuat aplikasi yang dijalankan as administrator silahkan lihat disini.

1. Tahap Awal adalah menambahkan Registry kedalam Uses anda.

2. Langkah kedua, buatlah sebuah variabel global reg dengan type Tregistry;

3. Tambahkan dua buah Button dan sebuah memo kedalam Form anda
   Button1.Caption = Tulis ke Regedit
   Button2.Caption = Baca Regedit

4. Berikut adalah contoh coding untuk menulis ke regedit
reg :=tregistry.Create;
reg.RootKey:=HKEY_LOCAL_MACHINE;
reg.OpenKey('SOFTWARE\Koneksi',true);
reg.WriteString('Hostname','localhost');
reg.WriteString('DataBasename','namadb');
reg.WriteString('User','root');
reg.WriteString('Password','password');
reg.WriteString('Port','3306');
reg.WriteString('Kunjungi','http://delphitutor.blogspot.com');
reg.Free;

Hasil dari Coding diatas dapat anda lihat di Regedit langsung yang lokasinya di HKEY_LOCAL_MACHINE\SOFTWARE\Koneski\. Jika tidak ingin repot kita juga bisa menampilkan Valuenya pada memo dengan coding pada step 5 dibawah ini

5. Berikut adalah contoh coding untuk membaca regedit


Memo1.Clear;
reg :=tregistry.Create;
reg.RootKey:=HKEY_LOCAL_MACHINE;
reg.OpenKey('SOFTWARE\Koneksi',true);
memo1.Lines.Add(reg.ReadString('Hostname'));
memo1.Lines.Add(reg.ReadString('DataBasename'));
memo1.Lines.Add(reg.ReadString('User'));
memo1.Lines.Add(reg.ReadString('Password'));
memo1.Lines.Add(reg.ReadString('Port'));
memo1.Lines.Add(reg.ReadString('Kunjungi'));
reg.Free;

Contoh Source Code dapat anda Download disini. Selamat Mencoba.

Bermain-main dengan File DLL di Delphi

File Dinamic Link Library atau yang biasa dipanggil File DLL Banyak digunakan oleh para programmer untuk menyimpan sebuah settingan Program Sehingga untuk merubah program kita tidak perlu merubah keseluruhan program tapi hanya perlu memperbarui File DLL tersebut (Istilah lain untuk menyebutnya adalah Patch). Seperti namanya, File DLL merupakan sebuah Library. Dengan membuat konsep Library semacam ini dapat membantu menghemat Resource Aplikasi. 

Saat ini, hampir semua aplikasi yang ada menggunakan File DLL oleh karenanya Pada postingan ini saya ingin mengajak sobat Delphi untuk belajar membuat File DLL. Meskipun tidak pernah kita gunakan setidaknya kita paham konsep dan cara kerjanya.

Pada Contoh ini, Kita akan mencoba membuat file DLL yang berisi 4 buah fungsi dimana masing-masing fungsi akan melakukan tugasnya masing-masing yaitu melakukan Perkalian, Penambahan, Pembagian dan Pengurangan. Alhasil, User menginputkan data melalui Form Aplikasi tapi akan dikirim dan diproses melalui File DLL tersebut. Penggunaan File DLL ini juga dapat sobat gunakan untuk menyimpan settingan Trial/Batas Waktu dari Aplikasi yang sobat bangun.

Langkah - Langkah Membuat File DLL

1. Buka Delphi | File -> New -> Other -> DLL Wizard -> OK

2. Letakan Coding berikut dibawah {$R *.res}
// Fungsi Tambah
function tambah(_a, _b: integer): integer; stdcall;
begin
Result := _a + _b;
end;
// Fungsi Kurang
function kurang(_a, _b: integer): integer; stdcall;
begin
Result := _a - _b;
end;
// Fungsi Kali
function kali(_a, _b: integer): integer; stdcall;
begin
Result := _a * _b;
end;
//Fungsi Bagi
function bagi(_a, _b: Real): Real; stdcall;
begin
Result := _a / _b;
end;

// Export
exports
tambah,
kurang,
kali,
bagi;

3. Simpan Lalu Build Projek anda. Setelah Proses ini dilakukan maka File DLL sudah terbentuk didalam Folder Projek anda :)

Langkah - Langkah Memanggil File DLL 

1. Buka Menu File -> New -> Aplication

2. Tambahkan Beberapa Komponen sehingga menjadi seperti gambar dibawah ini

Bermain-main dengan File DLL di Delphi

3. Letakan Coding berikut sebagai variabel global
 function tambah(_a, _b: integer): integer; stdcall; external 'dll_projek.dll';
function kali(_a, _b: integer): integer; stdcall; external 'dll_projek.dll';
function bagi(_a, _b: integer): integer; stdcall; external 'dll_projek.dll';
function kurang(_a, _b: integer): integer; stdcall; external 'dll_projek.dll';

4. Simpan terlebih dahulu Projek anda didalam Folder File DLL yang tadi dibuat

5. Setelah itu, anda bisa memanggil fungsi yang ada didalam file DLL dengan cara


kurang(StrToInt(Edit1.Text),StrToInt(Edit2.Text));
kali(StrToInt(Edit1.Text),StrToInt(Edit2.Text));
bagi(StrToInt(Edit1.Text),StrToInt(Edit2.Text));
tambah(StrToInt(Edit1.Text),StrToInt(Edit2.Text));

Untuk Lebih Jelasnya, Anda Dapat Mendownload Contoh Projek yang saya buat disini. Selamat mencoba semoga berhasil. :)    

Aplikasi Run As Administrator dengan Delphi

Terkadang dalam membangun sebuah Aplikasi kita perlu menjalankan Aplikasi yang kita bangun dengan akses Administrator di Windows. Suatu misal untuk menjalankan perintah-perintah yang membutuhkan akses administrator semisal menghentikan service yang sedang berjalan atau menjalankan sebuah service. Disini saya akan coba berbagi cara Membuat aplikasi kita dijalankan dengan level Administrator.

1. Kita memerlukan dua buah file manifest dan file rc kedua file tersebut dapat anda Download disini

2. Extrack File tersebut ke direktori D:\

3. Selanjutnya kita akan membuat sebuah File RES dengan memanfaatkan Tools brcc32

4. Buka Command Prompt dan Masuk ke Direktory Folder Hasil Ekstrak File (Step 2) kemudian ketikan perintah brcc32 ReqAdmin.rc

Aplikasi Run As Administrator dengan Delphi

5. akan terbentuk sebuah file baru dengan nama ReqAdmin.res. Copy Semua File tersebut kedalam Folder Projek anda lalu Tambahkan code {$R 'ReqAdmin.res'} kedalam projek anda seperti gambar dibawah ini

Aplikasi Run As Administrator dengan Delphi

6. Compile Projek Anda dengan menekan CTRL+F9 (Jangan di Run / F9)

7. Lihat Hasil Compile kemudian Coba Jalankan. Jika anda menggunakan komponen XPMan kemungkinan tidak akan berhasil silahkan hapus komponen tersebut dari form dan uses projek anda.

Silahkan Download Contoh Projek Hasil Compile saya disini. Selamat Mencoba Semoga Berhasil. :)

Menampilkan File PDF di Form Delphi

Menampilkan File PDF di dalam Form Delphi Sebenarnya tidak perlu menggunakan Komponen tambahan seperti PDF Viewer yang banyak digunakan oleh sebagian Orang. Pasalnya, Komponen tersebut juga memanfaatkan Plugin Milik Adobe Reader Sehingga tetap saja harus terinstal Adobe Reader didalam Komputer agar komponen tersebut dapat menjalankan tugasnya dengan baik.

Disini Saya ingin berbagi bagaimana menampilkan File PDF dengan memanfaatkan Komponen ActiveX milik Acrobat Reader alias tanpa komponen tambahan namun sobat tetap harus menginstal Adobe Reader. Jadi, Pastikan Harus Udah Terinstal Adobe/Acrobat Reader di Komputer anda. Jika Syaratnya sudah terpenuhi, Silahkan lanjutkan ke step berikutnya

Menginstal ActiveX Acrobat Reader

1. Buka Delphi Anda kemudian klik menu Component -> Import ActiveX Control

Menampilkan File PDF di Form Delphi

Menampilkan File PDF di Form Delphi

2. Jika Muncul Pesan Konfirmasi tekan saja OK/Yes. Setelah Proses tersebut dijalankan coba buka Pallete ActiveX

Menampilkan File PDF di Form Delphi

3. Langkah Selanjutnya adalah Tambahkan Komponen Beberapa Komponen kedalam Form Anda

- ActiveX -> AcroPDF 1 Buah
- Dialog -> Open Dialog 1 Buah
- Standart -> Button 1 Buah

4. Klik dua kali Button yang sudah anda tambahkan lalu masukan coding dibawah ini
if OpenDialog1.Execute then
AcroPDF1.LoadFile(OpenDialog1.FileName);

Contoh Source Code yang saya Buat Dapat Anda Download disini. Selamat Mencoba dan semoga berhasil.