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.