MENU <- klik here

Senin, 14 Juni 2010

[Tutorial] Pengantar Membuat Aplikasi SMS

//-----------------------------------------------------------------------------------------
Dibuat oleh : Eka Riana
Nama Project : OpenSMS ver.0.1 Beta 2009
Tanggal : Awal Oktober 2009
Keterangan : Source code ini berisi tentang bagaimana cara mengirimkan pesan ke nomor handphone yang dituju
Sifat : GPL (General Public Lisence) - Open Source
Harapan : Silahkan dikembangkan untuk perbaikan agar bangsa ini menjadi BESAR
//------------------------------------------------------------------------------------------

Sebelum saya meneruskan langkah demi langkah pengantar Membuat Aplikasi OpenSMS ini, saya mohon izin kepada para sesepuh dan akang-akang (pujisusanto, mbahlawu, pujanggabageur, gyus, flack, agoesdobleb, vberror13, tatangs, k4m4r482, akhirudin, trail, g3zle, ibnuQoyyim dan yang lain-nya yang ga tertulis) dan kawan-kawan yang cukup dan sangat-sangat Advanced di bidang ini dan yang sudah saya anggap guru pribadi saya , saya cuma punya setitik pengetahuan dan hanya ingin berbagi informasi atas dasar

"Sampaikan Ilmu walaupun satu pembuktian Ilmi-ah"

Ucapan Terima Kasih :
1. Allah SWT yang telah memberikan kurnia IMAN dan pemahaman source code visual basic 6.0 walau hanya sedikit
2. Ayah dan Ibu tercinta yang telah mendahului, saya sangat rindu kepadamu. Maaf ananda belum mampu mewujudkan cita-cita Ibunda.
3. Kawan-kawanku di forum.vb-bego.com yang berubah menjadi iBego,
4. nGOpre-X Community yang tidak terurus blog-nya dan pertemuannya, mudah-mudahan kawan-kawan bisa segera menyelesaikan persoalannya ini.

Mukaddimah
Aplikasi ini salah satu aplikasi untuk mengirim SMS yang masih sangat sederhana dari sisi source code, interface dan security. Aplikasi ini dibantu dengan gammu dan MySQL sebagai databasenya. Iseng dan mempertajam daya ingat dikhawatirkan semua source code yang saya miliki luntur karena tidak sering digunakan, tapi besar harapan mudah-mudahan bisa dijadikan satu referensi bagi siapapun yang membutuhkan.

Sesuai dengan namanya OpenSMS ver.01-BETA1 2009, maka source code inipun boleh dikembangkan dan diperbaiki bahwa disesuaikan dengan yang anda suka, selain itu guna mendukung gerakan IGOS (Indonesia, Go Open Sources) dan mencerdasakan kehidupan bangsa, walaupun memang language yang digunakan bukan Open Source. Sejujurnya apapun bahasa yang nanti akan dipakai semuanya pasti bisa.

Software Pendukung
Apikasi ini membutuhkan beberapa software pendukung agar bisa berjalan sesuai dengan fungsinya yaitu mengirim SMS, antara lain software pendukung yang dimaksud adalah :
1. MySQL
2. Gammu win32 (http://www.ziddu.com/download/3428268/g ... 2.zip.html)
3. Driver Handphone (jika dibutuhkan)
4. Visual Basic 6.0

Hardware Pendukung
Selain software pendukung, tambahan hardwarepun harus dipersiapkan, dikarenakan software ini untuk mengirim sms maka beberapa hardware pendukung yang harus dipersiapkan antara lain:
1. Handphone Siement C55, Sony Ericsson
2. Kabel data
3. Bluetooth (bila ingin menggunakan fasilitas Bluetooth )

Image Image Image Image

Sebaiknya dan saran dari saya apabila kita ingin mencoba dan sudah saya uji sebelumnya Siement C55 cukup menjadi bahan pertimbangan untuk digunakan.

Rancangan Database
1. Install MySQL
    Gammu membutuhkan database yang di buat di MySQL, oleh karena itu mau tidak mau, suka tidak suka kita harus buat database tersebut di MySQL, tapi sebelum membuat Dbnya terlebih ddahulu kita harus Install dulu MySQL tersebut, untuk mudahnya tinggal kita liat di thread iniviewtopic.php?f=16&t=254
2. Create dan Import Database
    Berikut dibawah ini langkah-langkah membuat database untuk aplikasi SMS yang kita buat, hanya create dan import yang mesti kita lakukan, inilah enaknya gammu sudah menyiapkan sendiri rancangan databasenya, jadi kita tidak susah-susah buat lagi.
    1. Masuk ke web browse, untuk kali ini kita bisa menggunakan IE atau Firefox, silahkan pakai webbrowser yang anda suka.
    2. Pada Address bar ketik localhost, sehingga akan terlihat tampilan seperti dibawah ini :
      Image

    3. Berikutnya klik phpMyAdmin, maka akan terlihat tampilan seperti dibawah ini :

      Image

    4. Ketik OpenSMS pada text Create new database, dilanjutkan klik tombol Create, maka database OpenSMS sudah terbuat.
    5. Untuk membuat table didalam database selanjutnya kita klik import, maka akan terlihat tampilan seperti dibawah ini :

      Image

    6. Klik tombol browse -----> cari file mysql.sql di folder win32 pada drive C:\, klik Open bila file mysql.sql sudah dipilih. (lihat gambar)

      Image

    7. klik GO sebagai terakhir dari membuat database OpenSMS dan import 9 tabel ini, maka akan terlihat seperti ini ;

      Image

Konfigurasi Gammu
Untuk sinkronisasi antara port com dan nama database yang digunakan, maka konfigurasi gammu ini mutlak harus dilakukan, ada 2 fila gammu yang harus kita sesuaikan atau kita ubah terlebih dahulu, dibawah ini cara mengkonfigurasi 2 file tersebut.

1. File gammurc
    a. Sebelum kita ubah isi file gammurc, maka terlebih dahulu anda harus mengextrak file gammu_win32.zip yang sudah di unduh ke drive C:\
    b. Buka folder win32 yang kita extrak tadi, kemudian cari file gammurc
    c. Klik kanan file gammurc, pilih open (maka akan muncul tampilan seperti dibawah ini)

    Image

    d. Untuk mempermudah mengubah isi file maka kita harus pilih WordPad, dilanjutkan dengan klik Ok, maka akan terlihat isi file gammurc seperti dibawah ini :

    [gammu]

    port = com10: --------> yang ini harus sesuaikan dengan com di pc anda
    #model = 6110
    connection = at19200 ------> yang ini sesuaikan dengan hp yang dipakai
    #synchronizetime = yes
    #logfile = gammulog
    #logformat = textall
    #use_locking = yes
    #gammuloc = locfile
    #startinfo = yes
    #gammucoding = utf8
    #rsslevel = teststable
    #usephonedb = yes

    [gammu1]

    port = com10: --------> yang ini harus sesuaikan dengan com di pc anda
    #model = 6110
    connection = at19200 ------> yang ini sesuaikan dengan hp yang dipakai
    #synchronizetime = yes
    #logfile = gammulog
    #logformat = textall
    #use_locking = yes
    #gammuloc = locfile
    #startinfo = yes
    #gammucoding = utf8


    Keterangan:
    untuk Handphone siement C55 kita bisa menggunakan connection=at, dan untuk handphone sony Ericcson kita bisa menggunakan connection=at19200. Untuk lebih jelasnya bisa dilihat isi file gammurc dibawahnya.

    d. Simpan file gammurc yang sudah kita ubah tersebut.
    e. Terakhir, untuk melihat hasil konfigurasi file gammurc ini berhasil atau tidak maka kita harus testing terlebih dahulu dengan cara dibawah ini :
      * Masuk ke DOS dengan klik Start --> Run --> ketik cmd (lihat gambar dibawah ini)
      Image
      * Masuk ke drive C:\ dan folder win32, dengan cara ketik cd \win32 ---> Tekan Enter
      * Untuk menjalankan dan sekaligus mengecek file gammurc dan hp sudah terbaca atau belum, ketik gammu –identify ----> Tekan Enter (lihat gambar untuk lebih jelasnya)

      Image

      Keterangan :
      Setelah kita menekan tombol Enter, maka gammu akan mengidentifikasi Handphone yang kita pasang terbaca atau tidak, sebagai tanda kalau handphone yang kita gunakan terbaca maka gammu akan memberikan keterangan nomor imei dari handphone yang kita gunakan.


2. File smdrc
    Setelah file gammurc sudah kita sesuaikan dengan port com dan connection handphone yang kita gunakan, maka selanjutnya kita harus merubah isi file smsdrc, file ini harus kita sesuaikan dengan database yang kita buat. Dibawah ini potongan file dari smsdrc yang harus kita sesuaikan, dan cara membuka filenya sama dengan cara mengedit file gammurc

    # ----------------------- SETTINGS FOR --smsd MYSQL --------------------
    user = root ----> sesuaikan dengan user name mysql
    password = ----> sesuaikan dengan password user mysql
    pc = localhost ----> sesuaikan dengan host yang digunakan
    database = smsd---> sesuaikan dengan nama database yang kita buat

    # when you send sms from some SMSC, you can have Delivery/Failed Delivery
    # Reports from other SMSC number. You can set here number of this "buggy"
    # SMSC used by you and Gammu will not check it's number during assigning
    # reports to sent sms
    #skipsmscnumber = +48602123456
    # -----------------------------------------------------------------------



    Dari database yang kita buat adalah OpenSMS, dengan user mysqlnya root dan passwordnya null, sedangkan nama hostnya adalah localhost, maka seharusnya isi file smsdrc menjadi seperti dibawah ini :

    # ----------------------- SETTINGS FOR --smsd MYSQL --------------------
    user = root
    password =
    pc = localhost
    database = OpenSMS


    # when you send sms from some SMSC, you can have Delivery/Failed Delivery
    # Reports from other SMSC number. You can set here number of this "buggy"
    # SMSC used by you and Gammu will not check it's number during assigning
    # reports to sent sms
    #skipsmscnumber = +48602123456
    # -----------------------------------------------------------------------


    Jangan lupa untuk menyimpan file smsdrc tersebut.


3.Testing Service Gammu
    Dua file sudah kita konfigurasi, maka langkah selanjutnya kita coba menjalankan service gammu, service gammu ini berfungsi untuk membaca sms yang masuk dari handphone yang kita gunakan, dan mengirimkan sms yang keluar dari table outbox yang terdapat didatabase MySQL. Tidak rumit dan memusingkan otak untuk menjalankan service gammu ini, silahkan ikuti langkahnya :
    • Masuk ke DOS (ingat bukan DDOS ya aksi membombardir server, yang biasa dilakukan oleh para cracker)
    • Masuk ke direktori gammu dengan perintah CD
    • Ketik perintah gammu –smsd MYSQL smsdrc (awas jangan salah ketik baik huruf besar dan kecilnya), look in picture

      Image

    • Bila terdapat tulisan secara terus menerus maka service gammu sudah ok (jangan ditutup dan dihentikan biarkan berjalan)


Rancangan Interface OpenSMS
Sudah saatnya kita harus membuat rancangan tampilan atau antar muka pengguna dari Aplikasi OpenSMS, sebagai awal kita akan buat 1 form didalam Visual Basic 6.0, dan diharapkan anda sudah tidak lagi bingung dalam merancang form di dalam Visual Basic 6.0.
1. Silahkan buka Visual Basic kesayangan anda
2. Tambahkan 1 Form, 2 object label, 2 object text dan 2 object command serta 2 shape
3. Silahkan setting sesuai selera anda, sehingga hasilnya kalau saya setting properties seperti ini :

    Image

Saya yakin anda jauh lebih baik dalam hal desain interfacenya dari saya :D

Create Coding
Inilah sesi yang paling dan sunggung-sungguh sangat menyulitkan buat saya secara pribadi yang masih muda belia dalam hal pemrograman ini, "Nulis Coding" atau "Syntax" atau "Listing Program"

Sebelumnya saya mohon maaf kalau penulisan Codingnya tidak memenuhi standar penulisan yang sebenarnya :

1. Tambahkan 1 modul, silahkan create coding na kaya seperti ini, sebelumnya tambahkan reference Microsoft ActiveX Data Object xx library:

Public DB As ADODB.Connection
Public rsPhone As ADODB.Recordset
Public SQL As String

Public Sub Koneksi()
Set DB = New ADODB.Connection
DB.ConnectionString = "DRIVER={MYSQL ODBC 3.51 Driver};" _
& "SERVER=localhost;" _
& "DATABASE=OpenSMS;" _
& "UID=root;" _
& "PWD=;" _
& "OPTION="
DB.Open
End Sub

Public Sub TextKosong()
Dim i As Control
For Each i In FrmKirim
If TypeName(i) = "TextBox" Then
i.Text = ""
End If
Next i
End Sub
Public Sub TextMati()
Dim i As Control
For Each i In FrmKirim
If TypeName(i) = "TextBox" Then
i.Enabled = False
End If
Next i
End Sub

Public Sub TextHidup()
Dim i As Control
For Each i In FrmKirim
If TypeName(i) = "TextBox" Then
i.Enabled = True
End If
Next i
End Sub


2. Kembali ke Form KirimSMS
'-----------------------------------------------------------------------------------
'Dibuat oleh : Eka Riana
'Tanggal : Awal Oktober 2009
'Keterangan : Source code ini berisi tentang bagaimana cara mengirimkan pesan
' ke nomor handphone yang dituju
'Sifat : Open Source
'Harapan : Silahkan dikembangkan untuk perbaikan agar bangsa ini menjadi BESAR
'-----------------------------------------------------------------------------------
Private Sub CmdKirim_Click()
If CmdKirim.Caption = "&Kirim" Then
If Text1.Text = "" Or Text2.Text = "" Then
If Text1.Text = "" Then
MsgBox "Maaf Nomor Pengirim Belum Diisi", vbOKOnly + vbInformation, "Informasi"
Text1.SetFocus
ElseIf Text2.Text = "" Then
MsgBox "Maaf Isi Pesan Belum Diisi", vbOKOnly + vbInformation, "Informasi"
Text2.SetFocus
End If
Else
CmdKirim.Caption = "&Keluar"
cmdMulai.Caption = "&Mulai"
KirimSMS
TextMati Me
TextKosong Me
End If
Else
MsgBox "Silahkan Source Code ini dikembangkan (Eka Riana)", vbMsgBoxSetForeground, "Informasi"
End If
End Sub

Private Sub cmdMulai_Click()
With cmdMulai
If .Caption = "&Mulai" Then
TextHidup
Text1.SetFocus
.Caption = "&Batal"
CmdKirim.Caption = "&Kirim"
Else
.Caption = "&Mulai"
CmdKirim.Caption = "&Keluar"
TextMati
End If
End With
End Sub

Private Sub Form_Load()
Koneksi
TextKosong Me
TextMati Me
End Sub

Sub KirimSMS()
Set rsKirim = New ADODB.Recordset
SQL = "Insert Into outbox(DestinationNumber, Coding, TextDecoded) values" _
& "('" & Text1.Text & "', 'Default_No_Compression'," _
& "'" & Text2.Text & "')"
DB.Execute SQL
End Sub

Private Sub Text2_Change()
lblJumlah.Caption = 160 - Len(Text2.Text)
If Len(Text2.Text) = 160 Then
MsgBox "Maaf Jumlah Karakter Sudah Tidak Mencukupi", vbOKOnly + vbInformation, "Konfirmasi"
End If
End Sub

'yang ini ga usah di pake yah
Private Sub Timer1_Timer()
fadin = fadin - 5
If fadin >= 10 Then
MakeTransparent Me.Hwnd, fadin
Else
MakeTransparent Me.Hwnd, 255
Timer1.Enabled = False
Unload Me
FrmMe.Show
End If
End Sub


Test Program
Yang perlu di perhatikan sebelum kita test program yang sudah kita buat ini, mampu mengirim sms atau tidak, berikut dibawah ini yang perlu di perhatikan :
1. Hp sudah terpasang ke PC lewat Com1 atau Com2 atau via Bloothoet
2. Hp yang kita gunakan sudah dikenal oleh gammu dengan ciri menampilkan nomor imei hp tersebut.
3. Service gammunya sudah running (kalau belum silahkan jalankan lagi lewat command prompt)
4. MySQL sudah running


Kalau sudah semuanya ok, silahkan tekan F5 dan di coba mengirim SMS ke nomor ane 021-91975218, Insya Allah ane balas kalau ada Pulsa,,, oh iya jadi lupa yang nomor 5 nih

5. Biar testnya memuaskan kartunya enaknya ada PULSA-nya :D

Penutup
Alhamdulillahirabbil`alamin saya menyatakan syukur
Demikian tutorial Pengantar cara membuat Aplikasi OpenSMS ini, semoga bermanfaat adanya, bila ada yang kurang mohon dikoreksi dan ditambahkan demi perbaikan informasi untuk sesama.

Parungpanjang, 5 Mei 2010
Salam,


Eka Riana



Dengan Mozilla Firefox --- Website Terbuka Optimal Dengan Resolution 1024 768 Pixels ---- By MASTER DIGITAL Powered By ARYANTO