Minggu, 20 Oktober 2013

Validasi Input Pada Delphi

Validasi Input adalah sebuah istilah untuk mengecek keabsahan nilai sebuah Inputan Form. Hal ini akan sangat diperlukan untuk mencegah Error Program yang kita bangun. Aplikasi yang baik senantiasa akan memiliki Action handling (Penanganan Aksi), Error Handling (Penanganan Error) dan Semacamnya. Jadi Orang Buat Aplikasi itu tidak sembarangan. hehe

Dalam Implementasinya, Coding Validasi Input akan mengecek terlebih dahulu Inputan-Inputan User Sebelum melakukan aksi selanjutnya. Anggap Saja Anda Membuat Aplikasi tentang Pengolahan Data Barang. Katakanlah pada Proses Simpan anda tidak melakukan Validasi Maka Cobalah Menginputkan Data-Data yang tidak Valid Suatu misal Pada Inputan tanggal anda menulis Teks maka pasti Program anda akan Error. Inilah Yang sering disebut dengan Bug (Bak). Seorang Hacker atau Cracker akan memanfaatkan Bug tersebut untuk merusak system anda.

Secara Sederhana Kita dapat Memanfaatkan Kondisi untuk melakukan Validasi input ini. Logikanya Sederhana; Jika Inputan = Kosong Maka Tampilkan Pesan Error atau Jika Inputan != Angka Maka Tampilkan Pesan Kesalahan. Bagaimana ? 

Oke. Kita langsung saja ke Coding. Contoh Berikut adalah penggunaan secara sederhana saja. 
// Cek Jika Inputan Masih Kosong
If (Edit1.Text='') or (Edit2.Text='') then
// Tampilkan Pesan Kesalahan
MessageDlg('Ops, Inputan Anda Masih Kosong !',mtWarning,[mbok],0) else
// Jika Inputan Tidak Kosong, Lakukan Aksi dibawah
begin
// Aksinya ada disini
end;

Validasi Input Pada Delphi

Coding diatas akan mengecek inputan Edit 1 dan Edit 2. Jika salah satunya Kosong (OR) maka proses akan dihentikan dan program akan menampilkan sebuah Pesan kesalahan yang menyatakan bahwa inputan masih kosong. tapi jika semua terisi, aksi akan dilanjutkan ke proses berikutnya. 

Selasa, 01 Oktober 2013

Contoh Aplikasi Kirim SMS dengan Gammu dan Delphi


Contoh Aplikasi Kirim SMS dengan Gammu dan Delphi

Disini saya akan sharing Contoh Aplikasi dan Source Code Kirim SMS (Perorangan dan Group) yang dibangun dengan Delphi dan Gammu. Agar Anda tidak bingung bagaimana menggunkan Aplikasi ini, Silahkan Baca Postingan Sebelumnya tentang Berkenalan dengan Gammu dan Tutorial Setting Gammu. Silahkan Download Source Codenya disini

CARA PAKAI
- Install gammu-setup
- Setting dengan Tutorial yang ada Pada Postingan Sebelumnya disini

Aplikasi Ini di setting dengan Keterangan SBB Silahkan Sesuaikan Sendiri Komputer dan Device Anda

DEVICE
Perangkat Pengirim dan Penerima SMS = Modem Huaweii E1550
PORT Tempat Modem di COLOK = com9

DATABASE
user = root
pass = root
port = 3306
Hostname = Localhost
Nama Database = gammu

CONNECTOR DATABASE = ZEOSLib
Pada Settingan ZConnection di Property
Library Location = C:\gammu\libmysql.dll 

Membuat dan Menghapus File dengan Code Delphi

Pada postingan ini saya akan sharing tentang bagaimana membuat dan menghapus file *.txt biasanya untuk membuat file *.txt kita lakukan dengan menggunakan editor seperti notepad hal itu tentu tidaklah sulit karena yang melakukannya adalah editor (tools).

berangkat dari hal tersebut diatas, sepertinya menarik jika kita membuat sebuah editor sederhana yang mampu membuat dan menghapus file *.txt. biar tidak panjang lebar, berikut saya sharing screenshoot hasil akhirnya

Membuat dan Menghapus File dengan Code Delphi

saya minta maaf karena tidak bisa menjelaskan langkah-langkah pembuatannya pada psotingan ini. untuk itu saya hanya sharing source codenya saja pada link berikut khusus buat sobat pecinta delphi. silahkan download disini

Penggunaan Komponen DBGridEh

Untuk anda yang tidak puas dengan komponen DBGRID bawaan Delphi 7,  Pada Kesempatan kali ini saya akan sedikit sharing tentang penggunaan komponen DBGridEh.  komponenya dapat anda download pada postingan sebelumnya disini Silahkan sobat download dan install sebelum kita lanjutkan.

Saya asumsikan anda sudah berhasil menginstal komponennya serta sudah tidak ada masalah dengan koneksi database anda. seperti biasa, kita tetap membutuhkan konektor (entah ZEOS atau ODBC/ADO), ADOQuery/ZQuery dan Datasource jadi pastikan anda sudah melakukan koneksi Untuk DBGRIDnya silahkan gunakan Komponen DBGRIDeh (Pallete EhLib).

Penggunaan Komponen DBGridEh

Membuat Multi Title atau Title Bertingkat 

1. Untuk membuat multi title pada komponen DBGRID anda, silahkan klik 1 kali pada komponen DBGRIDEh kemudian atur property (Use Multi Title = True)
2. Masuk ke Objek TreeView ->DBGRIDEh -> Columns -> Pilih Salah Satu Field Tabel 

Penggunaan Komponen DBGridEh

3. Masuk Ke Objek Inspector -> Title -> Caption -> Multi Title | Nama Field Tabel
4. Ulangi Langkah kedua dan ke tiga dengan Field tabel yang berbeda. hasil saya seperti dibawah ini 

Penggunaan Komponen DBGridEh

Membuat Footer Pada DBGRID

Footer biasanya dibutuhkan untuk men total value Field dalam tabel database atau untuk memberikan keterangan pada Field tertentu. 

1. Untuk Membuat Footer SUM Caranya Cukup Mudah, Klik 1 kali pada komponen DBGRIDEh kemudian atur property sbb :
FooterRowCount = 1
SUMList -> Active = True

2. Masuk ke Objek TreeView ->DBGRIDEh -> Columns -> Pilih Salah Satu Field Tabel 

Penggunaan Komponen DBGridEh

3. Masuk Ke Objek Inspector -> Footer -> Value Type = FvtSum
4. Ulangi Langkah kedua dan ketiga untuk Field tabel yang berbeda. Hasil Saya Seperti dibawah ini

Penggunaan Komponen DBGridEh

Tutorial Setting Gammu

Sebelum Melakukan setting Gammu, Silahkan Baca Postingan Sebelumnya Tentang Berkenalan Dengan Gammu karena ini adalah step kedua setelah kita berkenalan dengan Gammu.

1. Download Gammu disini Kemudian Install 

2. Lihat Support Phone DB di Website Gammu http://wammu.eu/support/ (Agar kita Tahu Apakah Ponsel atau Modem Kita Support atau tidak dengan Gammu)

3.Setting Gammu
- Edit File Gammurc  yang ada di c:\gammu\gammurc
; isikan nomor port di bawah ini (lihat di device manager PORTS (COM & LPT))
port = com9:

; isikan jenis connection di bawah ini (lihat di website gammu (step 2))
connection = at

- Uji Koneksi dengan membuka Command Prompt dan mengetikan gammu identify 
Hasil Jika Sukses Seperti di bawah ini 

Tutorial Setting Gammu

4. Buat database Untuk menampung SMS Gammu, dalam Folder install anda di c:\gammu sudah ada file sql dumpnya nama filenya adalah mysql-table.sql Silahkan Import dengan Tools mysql anda (PHPMyAdmin, HeidiSQL dsb).

5. Setting SMS Daemon tujuan untuk membaca sms secara otomatis. Silahkan Edit File SMSDRC yang ada di c:\gammu\smsdrc. Berikut Contohnya
[gammu]
# isikan no port di bawah ini
port = com9:
# isikan jenis connection di bawah ini
connection = at

[smsd]
service = mysql
logfile = smsdlog
debuglevel = 0
phoneid = MyPhone1
commtimeout = 10
sendtimeout = 10
deliveryreport = no
PIN = 1234

# -----------------------------
# Konfigurasi koneksi ke MySQL
# -----------------------------
pc = localhost
# isikan user untuk akses ke MySQL
user = root
# isikan password user untuk akses ke MySQL
password = root
# isikan nama database untuk Gammu
database = gammu

6. Membuat Service Gammu di Windows dengan mengetikan perintah pada command prompt yang di run as administrator gammu-smsd -c smsdrc �i sedangkan jika anda ingin merubah konfigurasi smsdrc anda perlu untuk menghapus service terlebih dahulu dengan mengetikan perintah pada command prompt yang di run as administrator gammu-smsd �u
Jika Muncul Pemberitahuan tentang Service GammuSMSD Installed Succesfully berarti Anda Sudah Sukses Mengkonfigurasi Gammu. Jika Gagal Coba Periksa Kembali Settingan smsdrc anda.

Tutorial Setting Gammu

Untuk Menguji, Silahkan Jalankan Service Gammu Anda di Control Panel -> System and Security -> Administrative Tools -> Service Kemudian Coba Kirim SMS ke Ponsel atau modem yang anda konfigurasi dengan Gammu tadi kemudian Lihat Tabel Inbox pada database yang anda buat pada proses 4

--- Catatan Kaki ---
- Jika Service Sudah di Aktifkan, Jangan Jalankan Aplikasi Lain yang mengontrol Modem/Ponsel Anda
- Service hanya di jalankan 1 kali. So, jika computer di matikan dan di hidupkan kembali, service akan otomatis berjalan
- Matikan Servicenya Terlebih dahulu sebelum uninstal gammu

Koneksi Database MySQL dengan ZEOS

Seperti sudah dijelaskan pada postingan sebelumnya, ZEOSLib merupakan connector database. seperti halnya ODBC, ZEOSLib juga memfasilitasi untuk melakukan koneksi ke Database MySql. rasanya kurang greget kalau kita hanya tahu teorinya saja tanpa ada implementasi untuk menggunakannya. untuk itu mari kita coba menggunakan connector ini untuk mengkoneksikan database MySQL kita ke Delphi. caranya mudah, ikuti langkah berikut :

1. Silahkan Download dan Install komponen ZEOSnya dulu. Disini
silahkan baca postingan sebelumnya tentang cara menginstal komponen di delphi

2. Buat sebuah database dengan minimal 1 tabel

3. Jalankan Delphi anda

4. Masuk ke Pallete Zeos Access dan tambahkan komponen ZConnection dan ZQuery ke Form anda
untuk property ZConnection silahkan ganti seperti berikut :
User = User MySQL anda (root)
Password = Password MySQL anda
Protokol = MySQL
Port = 3306
Library Location = C:\xampp\mysql\lib\libmysql.dll (Jika anda menggunakan xampp)
Hostname = localhost
Database = Nama Database Anda
Connected = True

5. Masuk ke Pallete Data Access dan tambahkan komponen Datasource
6. Masuk ke Pallete Data Control dan tambahkan komponen DBGRID

7. Atur Property ZQuery seperti berikut
Connection = ZConnection
SQL = select * from nama_tabel_di_database_anda
Active = True

8. Atur Property Datasource (Dataset = ZQuery)
9. Atur Property DBGrid (Datasource = Datasource1)

Hasil Akhir saya seperti ini :

Koneksi Database MySQL dengan ZEOS

Membuat Menu Navigasi dengan DevExpress

Jika kita berbicara masalah tampilan aplikasi saya kira hal itu tidak akan ada habisnya mengingat teknologi yang terus berkembang dari masa ke masa. Ambil saja contoh Handphone yang dulunya hanya berwarna hitam putih dan hanya bisa untuk SMS dan Telpon Saat ini tampilan bahkan kemampuan dari sebuah handphone hampir menyerupai komputer.

Berkaitan dengan hal diatas, Saya sendiri menyadari bahwa Urusan Desain Tampilan memang hal yang paling utama untuk kenyamanan End User. Berangkat dari hal itu kali ini saya mau sharing tentang cara membuat Menu Navigasi di Delphi dengan memanfaatkan salah satu component delphi yaitu Dev Express. Sobat Tahu kan menu Navigasi itu seperti apa ? contoh hasil akhir yang kita inginkan adalah seperti di bawah ini

Membuat Menu Navigasi dengan DevExpress

Cara membuatnya silahkan ikuti step-step berikut :

1. Silahkan Download dan Install component  DevExpress untuk delphi tujuh. Link Download ada pada postingan sebelumnya yang membahas cara membuat menu Office 2010 pada Delphi

2. Selesai install, silahkan buka Delphi Sobat

3. Masuk ke Pallete Win32 Tambahkan Komponen ImageList ke Form Sobat

4. Klik 2 kali Komponen ImageList kemudian Add (tambahkan 9 Icon ekstensi *.bmp atau *.ico) -> Apply -> OK
Membuat Menu Navigasi dengan DevExpress

5. Masuk Ke Pallete Dev Express kemudian tambahkan komponen dxNavbar ke Form Sobat. atur property sebagai berikut :
Align = alLeft
OptionImage -> SmallImage = ImageList

Membuat Menu Navigasi dengan DevExpress


6. Klik Dua kali komponen dxNavbar pada Form Sobat. Klik menu groups dan tambahkan 3 group. atur masing-masing property grup Sebagai berikut :
Caption = Terserah sobat
SmallImageIndex = Urutan gambar yang ada di ImageList / step 4 (di mulai dari 0). pilih salah satu misal 1

Membuat Menu Navigasi dengan DevExpress

7. Masih pada Pengaturan dxNavbar, Klik menu Items dan tambahkan 6 Item. atur property masing-masing Item sebagai berikut :
Caption = Terserah Sobat
SmallImageIndex = Urutan gambar yang ada di ImageList / step 4 (di mulai dari 0). pilih salah satu misal 3

Membuat Menu Navigasi dengan DevExpress

8. Masih pada Pengaturan dxNavbar, Klik menu Link Designer. Tambahkan Item 1 dan 2 ke Group 1, Item 3 dan 4 ke Group 2 dan Items 5 dan 6 ke Group 3 Caranya klik 1 kali pada salah satu group dan klik 1 kali pada item yang mau ditambahkan pada group tersebut kemudian klik button (+) atau bisa juga dengan drag and drop
Membuat Menu Navigasi dengan DevExpress

9. Klik menu View kemudian Pilih Skin Menu Navigasi Sesuka Sobat.

Membuat Menu Navigasi dengan DevExpress

10. Sampai disini, kita sudah berhasil membuat menu navigasi. akhir kata selamat mencoba :)

Membuat Menu Navigasi dengan DevExpress