Modul membangun-aplikasi-sms-gateway-dengan-delphi-7-mysql blog1

1,753 views
1,662 views

Published on

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,753
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
145
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Modul membangun-aplikasi-sms-gateway-dengan-delphi-7-mysql blog1

  1. 1. MEMBANGUN APLIKASI SMS GATEWAY DENGAN DELPHI 7, MYSQL DAN GAMMU OLEH : KUWAT SANTOSO, S.Kom dan MOH. ALI ALJAUHARI, S.Kom 1/2/2012 Modul ini berisi tentang tata cara pembuatan aplikasi sms gateway menggunakan Borland Delphi 7 serta pembuatan databasenya menggunakan MySQL, walaupun pada modul ini Delphi yang dipakai versi 7, tapi tidak jauh berbeda caranya ketika kita mempraktikan pada Delphi versi 5, 6 atau pada Delphi versi lebih tinggi. Akhir kata semoga dapat bermanfaat dan jangan pernah bosan untuk belajar!
  2. 2. 1. Pendahuluan - SMS Gateway : merupakan komunikasi dua arah, mengirim dan menerima, digunakan untuk SMS keyword, polling, ataupun informasi lainnya. 2. Software Yang Harus Di Persiapkan - MySQL versi 5, dapat diinstall dengan paket software XAMPP (Apache MySQL PHP Perl) disarankan versi 1.7.2 ke atas, atau bisa anda diinstall memakai paket software yang lain seperti AppServ , PHPTriad, ataupun WAMP. - Borland Delphi 7 atau versi lebih tinggi (Sebagai Program Aplikasi) - Gammu : Tools aplikasi sms gateway, dapat di unduh di www.wammu.eu . Gammu yang dipakai pada modul ini adalah versi: Gammu 1.29.92 - Zeoslib: seperangkat komponen MySQL, PostgreSQL,Interbase, Firebird, MS SQL, Sybase, Oracle database untuk dan SQLite untuk Delphi, FreePascal/Lazarus, Kylix dan C Builder. Dapat di unduh di http://zeos.firmos.at 3. Konfigurasi Gammu - Spesifikasi Gammu dan Modem Yang Dipakai Versi Gammu: Gammu 1.29.92 Modem: Modem SMS Gateway “Wavecom” - Konfigurasi Gammu - Copykan file gammurc & smsdrc dari: C:Program FilesGammu 1.29.92sharedocgammu examplesconfig Ke: C:Program Filesgammubin - Dengan menggunakan notepad,atur file gammurc yang ada pada : C:Program Filesgammubingammurc device = com23: connection = at115200 - Dengan menggunakan notepad,atur file smsdrc yang ada pada : C:Program Filesgammubinsmsdrc device = com23: connection = at115200 Service=MYSQL user = root password = pc = localhost database = sms Copyright © 2012 By Moh. Ali Aljauhari, S.Kom dan Kuwat Santoso, S.Kom
  3. 3. - Langkah selanjutnya, untuk mengecek bahwa gammu dan modem wavecom sudah jalan, coba buka cmd (command prompt) - Kemudian masuk ke: - Tes Kirim SMS - Menjalankan Service Gammu Langkah selanjutnya, setelah service gammu aktif, coba uji dengan mengirim sms ke nomor yang telah dimasukan di modem dengan format yang telah disetting pada trigger yang dibuat. 4. Pembuatan Database sms di MySQL - Buka database MySQL melalui phpMyAdmin ataupun melalui tools GUI MySQL lainnya, kemudian buatlah database sms : create database sms; - Untuk pembuatan tabel-tabelnya kita tidak akan merancang dari awal karena akan mengimport dari file mysql.sql bawaan dari installasi gammu. Kalau gammu nya kita install di C biasanya secara default ada di : Copyright © 2012 By Moh. Ali Aljauhari, S.Kom dan Kuwat Santoso, S.Kom
  4. 4. - Setelah kita import, hasilnya akan ada 9 buah tabel yang tercipta seperti gambar berikut: - Keterangan: - Tabel inbox: untuk menampung data sms yang masuk, detailnya sbb: - Tabel outbox: untuk menampung data kirim pesan, detailnnya sbb: - Tabel sentitems: untuk menampung data pesan terkirim, detailnya sbb: Copyright © 2012 By Moh. Ali Aljauhari, S.Kom dan Kuwat Santoso, S.Kom
  5. 5. - Tabel pbk_groups: untuk menampung data grup phonebook, detailnya sbb: - Tabel pbk : untuk menampung data phonebook, detailnya sbb: 5. Membuat Program Aplikasi SMS Dengan Delphi 7 - Buka Delphi 7 dari Start Menu>All Programs>Borland Delphi 7>Delphi 7, sehingga akan nampak seperti gambar berikut : A. Untuk tahap pertama kita buat dulu form inbox (Finbox/Uinbox.pas), persiapkan komponen berikut pada form anda : Copyright © 2012 By Moh. Ali Aljauhari, S.Kom dan Kuwat Santoso, S.Kom
  6. 6. No. 1. Komponen Form 2. ZConnection1 Dari component palete “ZeosAccess” 3. ZQuery1 Dari component palete “ZeosAccess” 4. Datasource1 Dari component palete “Data Access” DBGrid1 Dari component palete “DataControls” DBMemo1 Dari component palete “DataControls” Button1 Button2 5. 6. 7. 8. Properti Name Caption Hostname User Password Protocol Port Database Connected Active Dataset Enabled Nilai Finbox .:: PESAN MASUK ::. localhost root sesuaikan! Mysql 3306 Sms True Keterangan: Jika pada saat connected-nya di true kan muncul pesan error: library..... copy file dari C:xamppmysqlbinlibmysql.dll kemudian paste di c:/windows ZConnection1 SELECT ReceivingDateTime,SenderNumber, TextDecoded FROM inbox True ZQuery1 True Datasource Datasource1 Datasource DataField Datasource1 TextDecoded Caption Caption &Tampilkan &Close Connection SQL - Berikut tampilan form inbox yang akan dibuat : - Double klik pada button TAMPILKAN, lalu ketikan skrip dibawah ini : procedure TFinbox.Button1Click(Sender: TObject); begin with ZQuery1 do Copyright © 2012 By Moh. Ali Aljauhari, S.Kom dan Kuwat Santoso, S.Kom
  7. 7. begin Close; SQL.Clear; SQL.Text := 'SELECT ReceivingDateTime, SenderNumber, TextDecoded FROM inbox'; Open; end; - end; Double klik pada button CLOSE, lalu ketikan skrip dibawah ini : procedure TFinbox.Button2Click(Sender: TObject); begin Close; end; B. Untuk tahap kedua kita buat form sentitems (Fsent/Usentitems.pas), persiapkan komponen berikut pada form anda : No. 1. Komponen Form 2. ZConnection1 Dari component palete “ZeosAccess” 3. ZQuery1 Dari component palete “ZeosAccess” 4. Datasource1 Dari component palete “Data Access” DBGrid1 Dari component palete “DataControls” DBMemo1 Dari component palete “DataControls” DBNavigator1 Dari component palete “DataControls” Button1 Dari component palete “Standard” 5. 6. 7. 8. - Properti Name Caption Hostname User Password Protocol Port Database Connected Connection SQL Active Dataset Enabled Nilai Fsent .:: PESAN TERKIRIM ::. localhost root sesuaikan! Mysql 3306 Sms True ZConnection1 select SendingDateTime, DestinationNumber , TextDecoded from sentitems True ZQuery1 True Datasource Datasource1 Datasource DataField Datasource1 TextDecoded Datasource Datasource1 Caption &CLOSE Berikut tampilan form sentitems yang akan dibuat : Copyright © 2012 By Moh. Ali Aljauhari, S.Kom dan Kuwat Santoso, S.Kom
  8. 8. - Double klik pada button CLOSE, lalu ketikan skrip dibawah ini : procedure TFsent.Button2Click(Sender: TObject); begin Close; end; C. Untuk tahap ketiga kita buat form kirim pesan (Fkirim/Ukirim.pas), persiapkan komponen berikut pada form anda : No. 1. 2. ZConnection1 Dari component palete “ZeosAccess” 3. ZQuery1 (ZeosAccess) 4. 5. 6. 7. 8. 9. - Komponen Form Label1 (Standard) Label2 (Standard) Edit1 (Standard) Memo1 (Standard) Button1 (Standard) Button2 (Standard) Properti Name Caption Hostname User Password Protocol Port Database Connected Connection SQL Active Caption Caption Text Nilai Fkirim .:: KIRIM PESAN ::. localhost root sesuaikan! Mysql 3306 Sms True ZConnection1 select SendingDateTime, DestinationNumber , TextDecoded from sentitems True Nomor Tujuan Isi Pesan Dikosongkan! Caption Caption &KIRIM &BATAL Berikut tampilan form kirim pesan yang akan dibuat : Copyright © 2012 By Moh. Ali Aljauhari, S.Kom dan Kuwat Santoso, S.Kom
  9. 9. - - Double klik pada bitbutton KIRIM kemudian tuliskan coding dibawah ini: procedure TFkirim.BitBtn1Click(Sender: TObject); begin ZQuery1.close; ZQuery1.SQL.Clear; ZQuery1.SQL.Text:='insert into outbox(DestinationNumber,TextDecoded) value ("'+ Edit1.Text+'","'+Memo1.Text+'")'; ZQuery1.ExecSQL; edit1.Text:=''; Memo1.Text:=''; ShowMessage('Sms Terkirim!'); end; Double klik pada bitbutton Cancel kemudian tuliskan coding dibawah ini: procedure TFkirim.BitBtn2Click(Sender: TObject); begin Close; end; D. Untuk tahap keempat kita buat form phonebook (Fphonebook/Uphonebook.pas), persiapkan komponen berikut pada form anda : No. 1. Komponen Form 2. ZQuery1 (Zeos Access) 3. 4. 5. 6. ZQuery2 (Zeos Access) DataSource1 (Data Access) DataSource2 (Data Access) ZTable1 (Zeos Access) 7. ZTable2 (Zeos Access) 8. 9. GroupBox1 (Standard) GroupBox2 (Standard) Properti Name Caption Connection SQL Active Connection DataSet DataSet Connection TableName Active Connection TableName Active Caption Caption Nilai Fphonebook .::: PHONEBOOK :::. Finbox.ZConnection1 select p.Number,p.Name,g.Name from pbk p left outer join pbk_groups g on p.GroupID=g.ID True Finbox.ZConnection1 ZQuery1 ZTable2 Finbox.ZConnection Pbk True Finbox.ZConnection Pbk_groups True PhoneBook GroupPhoneBook Copyright © 2012 By Moh. Ali Aljauhari, S.Kom dan Kuwat Santoso, S.Kom
  10. 10. No. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Komponen Label1 (Standard) Label2 (Standard) Label3 (Standard) Label4 (Standard) Edit1 (Standard) Edit2 (Standard) Edit3 (Standard) DBComboBox1 (DataControls) Button1 (Standard) Button2 (Standard) BitBtn1 (Additional) DBGrid1 (Data Controls) DBGrid2 (Data Controls) DBNavigator1 (Data Controls) DBNavigator2 (Data Controls) Properti Caption Caption Caption Caption Text Text Text DataSource Caption Caption Caption DataSource DataSource DataSource DataSource Nilai Nama No. HP Group Nama Grup Kosongkan Kosongkan Kosongkan DataSource2 &SAVE &ADD &KELUAR DataSource1 DataSource2 DataSource1 DataSource2 - Berikut tampilan form phonebook yang akan dibuat : - Double klik pada button ADD yang ada pada GroupBox2 (GroupPhoneBook) kemudian tuliskan coding dibawah ini: procedure TFphonebook.Button2Click(Sender: TObject); begin ZQuery1.close; ZQuery1.SQL.Clear; ZQuery1.SQL.Text:='insert into pbk_groups (Name) value ("'+ Edit3.Text+'")'; ZQuery1.ExecSQL; edit3.Text:=''; ShowMessage('Group telah dibuat!'); ZTable2.Refresh; end; - Double klik pada button SAVE yang ada pada GroupBox1 (PhoneBook) kemudian tuliskan coding dibawah ini: procedure TFphonebook.Button1Click(Sender: TObject); var id:string; begin ZQuery1.close; Copyright © 2012 By Moh. Ali Aljauhari, S.Kom dan Kuwat Santoso, S.Kom
  11. 11. ZQuery1.SQL.Clear; ZQuery1.SQL.Text:='select * from pbk_groups where Name="'+DBComboBox1.Text+'"'; ZQuery1.Open; ZQuery1.First; id:= ZQuery1.FieldByName('ID').AsString; ZQuery1.close; ZQuery1.SQL.Clear; ZQuery1.SQL.Text:='insert into pbk (Name,GroupID,Number) value ("'+Edit1.Text+'","'+id+'","'+Edit2.Text+'")'; ZQuery1.ExecSQL; ShowMessage('Data telah disimpan ke tabel phonebook!'); ZQuery1.SQL.Clear; ZQuery1.SQL.Text:='select p.Number,p.Name,g.Name from pbk p '+'left outer join pbk_groups g on p.GroupID=g.ID'; ZQuery1.open; end; - Double klik pada bitbutton KELUAR kemudian tuliskan coding dibawah ini: procedure TFphonebook.BitBtn1Click(Sender: TObject); begin close; end; E. Untuk tahap selanjutnya kita buat form kirim pesan group (Fkirimgrup/Ukirimgrup.pas), persiapkan komponen berikut pada form anda : No. 1. Properti Name Caption 2. 3. 4. 5. 6. 7. ZQuery1 (Zeos Access) Label1 (Standard) Label2 (Standard) ComboBox1 (Standard) Memo1 (Standard) BitBtn1 (Additional) Connection Caption Caption Nilai Fkirimgrup .::: KIRIM PESAN GRUP :::. Finbox.ZConnection1 GRUP PESAN 8. - Komponen Form BitBtn2 (Additional) Caption Kind Caption Kind KIRIM bkOK CANCEL bkCancel Berikut tampilan form kirim pesan grup (Fkirimgrup) yang akan dibuat : Copyright © 2012 By Moh. Ali Aljauhari, S.Kom dan Kuwat Santoso, S.Kom
  12. 12. - Double klik pada form kirim grup (Fkirimgrup), kemudian tuliskan coding dibawah ini: procedure TFkirimgrup.FormCreate(Sender: TObject); var i:integer; begin ZQuery1.Close; ZQuery1.SQL.Clear; ZQuery1.SQL.Add('select * from pbk_groups'); ZQuery1.Open; ZQuery1.First; i:=0; ComboBox1.Clear; while i< ZQuery1.RecordCount do begin ComboBox1.Items.Add(ZQuery1.FieldByName('Name').AsString); i:=i+1; ZQuery1.Next; end; ZQuery1.Close; end; - Double klik pada BitBtn1(KIRIM), kemudian tuliskan coding dibawah ini: procedure TFkirimgrup.BitBtn1Click(Sender: TObject); var i:integer; begin //pilih nomor dalam Group ZQuery1.close; ZQuery1.SQL.Clear; ZQuery1.SQL.Text:='select pbk.*,pbk_groups.* from pbk left outer join pbk_groups on '+ ' pbk.GroupID=pbk_groups.ID where pbk_groups.Name="'+ComboBox1.Text+'"' ; i:=0; ZQuery1.Open; ZQuery1.First; while i < ZQuery1.RecordCount do begin ZQuery2.close; ZQuery2.SQL.Clear; Copyright © 2012 By Moh. Ali Aljauhari, S.Kom dan Kuwat Santoso, S.Kom
  13. 13. ZQuery2.SQL.Text:='insert into outbox(DestinationNumber,TextDecoded) value ("'+ ZQuery1.FieldByName('Number').AsString+'","'+Memo1.Text+'") '; ZQuery2.ExecSQL; i:=i+1; ZQuery1.Next; end; ZQuery1.Close; Memo1.Text:=''; ShowMessage('Sms Terkirim!'); end; - Double klik pada BitBtn2(CANCEL), kemudian tuliskan coding dibawah ini: procedure TFkirimgrup.BitBtn2Click(Sender: TObject); begin Close; end; F. Selanjutnya kita buat form menu sms (Fmenusms/Umenusms.pas), persiapkan komponen berikut pada form anda : No. 1. Komponen Form Properti Name Caption Nilai Fmenusms .:: FORM MENU SMS GATEWAY ::. MainMenu1 PopupMenu1 Sesuaikan seperti gambar berikut : 2. MainMenu1 (Standard) Menu PopupMenu Items 3. Popup Menu1 (Standard) Items 4. Label1 (Standard) Caption SELAMAT DATANG DI Copyright © 2012 By Moh. Ali Aljauhari, S.Kom dan Kuwat Santoso, S.Kom
  14. 14. No. Komponen Properti 5. Image1 (Standard) Picture Stretch Nilai APLIKASI SMS GATEWAY Load(cari gambar yg sesuai dari direktori anda) True - Berikut tampilan form menu sms (Fmenusms) yang akan dibuat : - Source Code Umenusms (Fmenusms) unit Umenusms; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls, jpeg, ExtCtrls; type TFmenusms = class(TForm) MainMenu1: TMainMenu; File1: TMenuItem; sms1: TMenuItem; SMS2: TMenuItem; Inbox1: TMenuItem; Sent1: TMenuItem; Help1: TMenuItem; About1: TMenuItem; PopupMenu1: TPopupMenu; Inbox2: TMenuItem; SentItems1: TMenuItem; About2: TMenuItem; keluar1: TMenuItem; Label1: TLabel; KirimPesan1: TMenuItem; Image1: TImage; PhoneBook1: TMenuItem; PhoneBook2: TMenuItem; KirimPesanGrup1: TMenuItem; KirimPesanGrup2: TMenuItem; Copyright © 2012 By Moh. Ali Aljauhari, S.Kom dan Kuwat Santoso, S.Kom
  15. 15. procedure procedure procedure procedure procedure procedure procedure procedure procedure procedure procedure procedure procedure sms1Click(Sender: TObject); Inbox1Click(Sender: TObject); Sent1Click(Sender: TObject); Inbox2Click(Sender: TObject); SentItems1Click(Sender: TObject); keluar1Click(Sender: TObject); KirimPesan1Click(Sender: TObject); About2Click(Sender: TObject); PhoneBook1Click(Sender: TObject); PhoneBook2Click(Sender: TObject); About1Click(Sender: TObject); KirimPesanGrup1Click(Sender: TObject); KirimPesanGrup2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Fmenusms: TFmenusms; implementation uses Ucobazeoc, Usentitems, Ukirim, Uphonebook, Uabout, Ukirimgrup; {$R *.dfm} procedure TFmenusms.sms1Click(Sender: TObject); begin Fphonebook.ShowModal; end; procedure TFmenusms.Inbox1Click(Sender: TObject); begin Finbox.showmodal; end; procedure TFmenusms.Sent1Click(Sender: TObject); begin Fsent.showmodal; end; procedure TFmenusms.Inbox2Click(Sender: TObject); begin Finbox.ShowModal; end; procedure TFmenusms.SentItems1Click(Sender: TObject); begin Fsent.ShowModal; end; procedure TFmenusms.keluar1Click(Sender: TObject); begin Copyright © 2012 By Moh. Ali Aljauhari, S.Kom dan Kuwat Santoso, S.Kom
  16. 16. Fphonebook.ShowModal; end; procedure TFmenusms.KirimPesan1Click(Sender: TObject); begin Fkirim.showmodal; end; procedure TFmenusms.About2Click(Sender: TObject); begin Fkirim.Showmodal; end; procedure TFmenusms.PhoneBook1Click(Sender: TObject); begin Application.Terminate; end; procedure TFmenusms.PhoneBook2Click(Sender: TObject); begin Fkirimgrup.ShowModal; end; procedure TFmenusms.About1Click(Sender: TObject); begin Fabout.showmodal; end; procedure TFmenusms.KirimPesanGrup1Click(Sender: TObject); begin Fkirimgrup.showmodal; end; procedure TFmenusms.KirimPesanGrup2Click(Sender: TObject); begin Application.Terminate; end; end. ☺ ===== SELAMAT MENCOBA, SEMOGA SUKSES ===== Copyright © 2012 By Moh. Ali Aljauhari, S.Kom dan Kuwat Santoso, S.Kom
  17. 17. 6. REFERENSI : 1. Kadir, Abdul.2006.Dasar Pemrograman Delphi.Yogyakarta : Andi Publisher 2. Saputra, Agus.2011.Step by step Membangun Aplikasi SMS dengan PHP dan MySQL.Jakarta: Elex Media Komputindo. 3. www.apachefriends.org 4. blog.rosihanari.net 5. www.wammu.eu 6. www.ilmukomputer.org 7. samsonasik.wordpress.com Copyright © 2012 By Moh. Ali Aljauhari, S.Kom dan Kuwat Santoso, S.Kom

×