APLIKASI SMS (SHORT MESSAGE SERVICE) MANAGER BERBASIS JAVA
APLIKASI SMS (SHORT MESSAGE SERVICE) MANAGER
BERBASIS JAVA
Skripsi Ditujukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika
Disusun oleh : Bergas Prakoso Wiharto
035314003
JAVA BASED SMS MANAGER APPLICATION
A THESIS Presented as Partial Fulfillment of the Requirements
To Obtain the Sarjana Teknik Degree In Department of Informatics Engineering
Created by: Bergas Prakoso Wiharto
NIM : 035314003
DEPARTMENT OF INFORMATICS ENGINEERING
HALAMAN PERSEMBAHAN
Karya ilmiah ini ku persembahkan untuk : Allah SWT atas berkah dan karuniaNya
Ibuku dengan cinta dan pengorbanannya, serta Bapakku Adik, Kakak, dan Keponakanku atas semangat yang kalian berikan
Seseorang yang akan menjadi pendampingku kelak
HALAMAN MOTTO
Tiada yang indah tanpa perih tertatah.
Jangan pernah menunda-nunda pekerjaan.
Malam akan semakin kelam, namun pastilah cahaya fajar kan
datang menjelang.
Ing Ngarsa sung tuladha, Ing madya mangun karsa,
Tut wuri handayani.
ABSTRAKSI
Layanan SMS (Short Message Service), saat ini menjadi sebuah layanan yang hampir selalu digunakan oleh banyak orang pada umumnya. Hal ini terjadi karena layanan ini memiliki beberapa kelebihan. Sebaliknya, layanan ini juga memiliki kelemahan yaitu kapasitas penyimpanan pesan-pesan di dalam
handphone yang terbatas.
Tugas Akhir ini bertujuan untuk membangun sebuah aplikasi SMS
manager yang diharapkan dapat mengatasi kelemahan seperti yang telah
disebutkan di atas. Teknologi yang digunakan adalah Java untuk pemrograman aplikasinya dan MySQL untuk pemrograman database-nya, sedangkan teknologi AT COMMAND digunakan untuk proses komunikasi antara komputer dengan
handphone. Dalam proses komunikasi tersebut, agar port serial yang ada pada
komputer dapat dikenal oleh Java (Java Communication Port), dibutuhkan library tambahan yaitu javaxx.comm.properties.
Aplikasi telah berhasil dikembangkan pada sebuah komputer dengan fasilitas-fasilitas seperti menampilkan, menyimpan, dan menghapus SMS yang terdapat pada handphone. Menu tambahan lain adalah pengiriman SMS ke satu, atau banyak nomor telepon tujuan. Pengiriman SMS ke banyak nomor telepon tujuan dapat dilakukan dengan cara mengetikkan nomor telepon satu-persatu maupun melalui fasilitas grup dimana nomor telepon telah tersimpan di dalam grup tersebut.
ABSTRACT
SMS service, at this time becomes a service that almost always used by many people in generally. This happened because of this service has several excess. On the other side, this service also has the weakness, like limited storage of capacity for messages.
The purpose of the final assignment is to build SMS manager applications that are expected to overcome the limited storage capacity on the mobile phone short message service, using Java Technology and MySQL database programming language. AT COMMAND technology used for the communication between computer and mobile phone. In the process of this communication, library javaxx.comm.properties is required for supporting Java to recognize port serial in computer.
The application has been successfully developed on a computer with several facilities such as display, save, and delete SMS in handphone from computer. Additional menu is sending SMS to one or more phone numbers. Send SMS to multiple phone numbers can be done with type the phone numbers one by one or through the facilities at the group, where the phone number has been stored in the group.
KATA PENGANTAR
Puji syukur kehadirat Allah SWT yang telah mengaruniakan berkah dan karuniaNya sehingga penulis dapat menyelesaikan tugas akhir ini.
Dalam proses penulisan tugas akhir ini ada begitu banyak pihak yang telah memberikan bentuan dan perhatian dengan caranya masing-masing. Oleh karena itu saya mengucapkan terima kasih diantaranya kepada :
1. Bapak JB Budi Darmawan, S.T., M.Sc. selaku dosen pembimbing tugas akhir yang telah banyak memberikan bimbingan dalam penyusunan tugas akhir ini.
2. Bapak Puspaningtyas Sanjoyo Adi, S.T., M.T dan Bapak Iwan Binanto, S.Si., M.Cs. selaku panitia penguji yang telah memberikan banyak kritik dan saran guna sempurnanya tugas akhir ini.
3. Ibu Ridowati Gunawan, S.Kom., M.T., selaku dosen pembimbing akademik angkatan 2003.
4. Bapak Emanuel Belle Bau, SPd. dan Yustinus Nugroho sebagai laboran yang telah membantu dalam mempersiapkan ujian pendadaran.
5. Seluruh staff dosen Teknik Informatika Universitas Sanata Dharma yang
8. Adik, kakak dan keponakanku, serta Diana Jerni Lestari yang selalu menyemangati dan membantu dalam segala hal.
9. H. Eko P., S.T, untuk semangat dan bimbingannya dalam proses coding.
10. Giyanto, Ganjar, Jiwo, Anang, Roland, Suryo, Devita, Evi, untuk semangat, dukungan, serta kebersamaanya.
11. Wiwid, Ria, Abdul Rosyid, dan Santhos, serta Candra untuk segala bantuan, kebersamaan, semangat, dan dukungan yang teramat tulus.
12. Dian, Hendrik, Winda, Junaedi, Pamako, Ruth, Hendro, Tika, Ones, Oscar, Albert Kurnia, Ari, Dani, Galih, Evivania, Heri, untuk segala kebersamaan dan bantuannya.
13. Semua teman-teman Jurusan Teknik Informatika angkatan 2003.
14. Semua pihak yang telah membantu penulisan baik secara langsung maupun tidak langsung, yang tidak dapat penulis sebutkan satu persatu.
Dengan rendah hati saya menyadari bahwa tugas akhir ini masih jauh dari sempurna, oleh karena itu kritik dan saran untuk perbaikan tugas akhir ini sangat saya harapkan. Akhir kata semoga tugas akhir ini bermanfaat bagi semua pihak.
DAFTAR ISI
HALAMAN JUDUL iDAFTAR ISI xiii
1.2 Rumusan Masalah
1
1.1 Latar Belakang Masalah
BAB I PENDAHULUAN
DAFTAR TABEL xx
DAFTAR GAMBAR xviii
KATA PENGANTAR xi
HALAMAN PERSETUJUAN iii
PERNYATAAN PUBLIKASI KARYA x
ABSTRACT ix
ABSTRAKSI viii
HALAMAN MOTTO vii
HALAMAN PERSEMBAHAN vi
PERNYATAAN KEASLIAN KARYA v
HALAMAN PENGESAHAN iv
2
2.1 Sistem Kerja SMS (Short Message Service)
6
2.1.1 Cara Kerja SMS (Short Message Service)
6
2.1.2 SMS PDU Pengirim (Originated)
7
2.1.2.1 Service Center Address (SCA)
8
2.1.2.2 PDU Type
8
2.1.2.3 Message Reference (MR)
8
2.1.2.4 Destination Address (DA)
9
2.1.2.5 Protocol Identifier (PID)
9
2.1.2.6 Data Coding Scheme (DCS)
9
2.1.2.7 Validity Period (VP)
10
2.1.2.8 User Data Length (UDL)
10
2.1.2.9 User Data (UD)
10
2.1.3 SMS PDU Penerima (Terminated)
10
2.1.3.1 Service Center Address (SCA)
11
2.1.3.2 PDU Type
11
2.1.3.3 Originator Address (OA)
11
2.1.3.4 Protocol Identifier (PID)
12
2.1.3.5 Data Coding Scheme (DCS)
12
2.3.1 Konsep Obyek
16
2.3.1.1 Object Oriented Analysis (OOA)
16
2.3.1.2 Object Oriented Design (OOD)
16
2.3.2 UML (Unified Modelling Language)
18
2.4 MySQL
21
2.5 AT Command
23 BAB III ANALISIS SISTEM DAN PERANCANGAN SISTEM
3.1 Analisis sistem
25
3.1.1 Gambaran umum sistem lama
25
3.1.2 Gambaran umum sistem baru
25
3.1.3 Aktor yang terlibat dalam sistem
27
3.1.4 Use Case Diagram
28
3.1.5 Class Diagram
29
3.2 Desain Sistem
30
3.2.1 Sequence Diagram
30
3.2.1.1 Proses Tampilkan Nomor Perangkat Terkoneksi
30
3.2.1.2 Proses Menampilkan SMS Inbox Handphone
31
3.2.1.3 Proses Menyimpan SMS Pada Database
32
3.2.1.9 Proses Update Grup
38
3.2.1.10 Proses Menampilkan Anggota Grup
39
3.2.1.11 Proses Update Anggota Grup
40
3.2.1.12 Proses Menghapus SMS pada Handphone
41
3.3 Perancangan Database dan User Interface
42
3.3.1 Desain Database
42
3.3.1.1 Tabel SMS
42
3.3.1.2 Tabel Phonebook
42
3.3.1.3 Tabel Grup
43
3.3.1.4 Tabel Anggota Grup
43
3.3.2 Desain User Interface
44
3.3.2.1 Form Koneksi
44
3.3.2.2 Panel SMS Handphone
45
3.3.2.3 Panel Phonebook Handphone
46
3.3.2.4 Form Kirim SMS
47
3.3.2.5 Panel Daftar Grup dan Anggota Grup
48
3.3.2.6 Panel SMS Database
49 B A B
I V
I M P L E M E N T A S
I S
I S T E M B A B
I V
I M P L E M E N T A S
I S
I S T E M
4.3 Implementasi Database
51
84
81 BAB V ANALISIS HASIL
4.6.6 Mengubah Format Pesan Teks Menjadi Format PDU
76
4.6.5 Mengubah Format Pesan PDU Menjadi Format Teks
75
4.6.4 Mengubah Format 7 Bit Menjadi 8 Bit
73
4.6.3 Mengubah Format 8 Bit Menjadi 7 Bit
71
4.6.2 Mengubah Nilai dari Desimal Menjadi Heksadesimal
70
4.6.1 Membalik Karakter Pada Format PDU
70
69
4.5.6 Panel Sms Tersimpan pada Database
53
4.4 Setting koneksi dari Java ke MySQL
51
4.5 Implementasi Antar Muka dan Proses Kerja Aplikasi
52
4.5.1 Form SMS Manager
4.5.2 Form Koneksi
68
56
4.5.3 Form Kirim SMS
61
4.5.4 Panel Phonebook Perangkat Terkoneksi
64
4.5.5 Panel SMS
4.6 Implementasi Penerimaan dan Pengiriman SMS pada Aplikasi
5.1 Hasil Pengujian Sistem
DAFTAR GAMBAR
20 Gambar 3.1 Gambaran Sistem
32 Gambar 3.7 Sequence Diagram Proses Menghapus SMS pada Database
31 Gambar 3.6 Sequence Diagram Proses Menyimpan SMS pada Database
30 Gambar 3.5 Sequence Diagram Proses Menampilkan SMS Handphone
29 Gambar 3.4 Sequence Diagram Proses Menampilkan Nomor Perangkat Terkoneksi
28 Gambar 3.3 Class Diagram
26 Gambar 3.2 Use Case Diagram Sistem Aplikasi SMS Manager
20 Gambar 2.9 Simbol Association
Gambar 2.1 Skema Cara Kerja SMS19 Gambar 2.8 Simbol Actor
18 Gambar 2.7 Simbol Use Case
18 Gambar 2.6 Simbol Control Object
17 Gambar 2.5 Simbol Interface Object
11 Gambar 2.4 Simbol Entity Object
8 Gambar 2.3 Skema Format SMS PDU Penerima
7 Gambar 2.2 Skema Format SMS PDU Pengirim
33
Gambar 3.13 Sequence Diagram Proses Menampilkan Anggota Grup54 Gambar 4.2 Form SMS Manager Submenu Menu
69 Gambar 4.10 Panel Sms Tersimpan pada Database
65 Gambar 4.8 Panel SMS / Pesan Terbaca Dari Handphone
62 Gambar 4.7 Panel PhonebookPerangkat Terkoneksi
57 Gambar 4.6 Form Kirim SMS
56 Gambar 4.5 Form Koneksi
56 Gambar 4.4 Form SMS Manager Tab Menu Phonebook
55 Gambar 4.3 Form SMS Manager Tab Menu SMS
49 Gambar 4.1 Form SMS Manager
39 Gambar 3.14 Sequence Diagram Proses Update Anggota Grup
48 Gambar 3.21 Panel SMS Database
47 Gambar 3.20 Panel Daftar Grup dan Anggota Grup
46 Gambar 3.19 Form Kirim SMS
45 Gambar 3.18 Panel Phonebook Handphone
44 Gambar 3.17 Panel SMS Handphone
44 Gambar 3.16 Form Koneksi
40 Gambar 3.15 Sequence Diagram Proses Menghapus SMS pada Handphone
70
DAFTAR TABEL
Tabel 2.1 Tabel Tipe Data dalam MySQL22 Tabel 2.2 Tabel AT Command yang Digunakan
24 Tabel 3.1 Tabel SMS
37 Tabel 3.2 Tabel Phonebook
37 Tabel 3.3 Tabel Grup
38 Tabel 3.4 Tabel Anggota Grup
38 Tabel 4.1 Tabel Nilai Parameter Koneksi ke Terminal
58 Tabel 4.2 Tabel Perintah AT Command
58
BAB I PENDAHULUAN
1.1 Latar Belakang Masalah
Salah satu layanan yang ada pada handphone adalah SMS (Short
Message Service). SMS menjadi sebuah layanan yang hampir selalu
digunakan untuk mengirim pesan secara singkat oleh banyak orang pada umumnya. Hal ini terjadi karena media ini mudah dalam penggunaanya, dapat langsung dikirim dan terkirim menuju tujuan saat itu juga (apabila tidak terjadi gangguan pada jaringan yang digunakan), serta membutuhkan biaya yang relatif terjangkau. Pesan-pesan yang dikirim atau yang diterima dapat berupa pesan biasa, maupun pesan yang penting. Ketika pesan tersebut dirasa penting maka pesan tersebut akan disimpan di dalam memori penyimpanan. Dalam kurun waktu tertentu, ketika pesan-pesan tersebut semakin banyak yang disimpan, maka dapat mengakibatkan penuhnya memori penyimpanan dari inbox sms handphone yang kapasitas penyimpanannya terbatas.
1.2 Rumusan Masalah
Dari latar belakang masalah yang telah disebutkan sebelumnya, maka dapat dirumuskan masalah yaitu “bagaimana memanfaatkan komputer menjadi sebuah tempat pengaturan dan media penyimpanan, atau database dari data-data SMS, dengan menggunakan bahasa pemrograman Java dan pemrograman database MySQL ?”.
1.3 Batasan Masalah
Batasan-batasan dalam penulisan Tugas Akhir ini adalah :
1. Aplikasi yang dibuat mempunyai arsitektur Stand Alone, tidak berbentuk Client Server.
2. Pengaturan data-data berupa SMS di dalam Java, dibatasi hanya menggunakan format perintah AT Command (perintah yang bertugas membaca atau melakukan operasi pada handphone dari
serial port), tidak menggunakan format perintah yang berupa text mode.
3. Aplikasi yang dibuat hanya menangani pengaturan SMS seperti menampilkan, menyimpan, dan menghapus SMS pada komputer
5. Aplikasi ini tidak menangani terjadinya error dalam pengiriman dan pembacaan pesan apabila masalah tersebut disebabkan karena traffic jaringan dari provider atau operator jaringan GSM (Global System for Mobile Communication) sedang mengalami gangguan.
6. Di dalam aplikasi yang akan dibuat, anggota grup dari grup dibatasi hanya dari phonebook yang ada pada handphone yang sedang terhubung dengan komputer.
7. Aplikasi tidak merubah data yang ada pada phonebook handphone.
8. Aplikasi tidak menangani pembacaan delivery report SMS (laporan SMS terkirim dari operator seluler).
1.4 Tujuan dan Manfaat Penelitian
Penelitian ini bertujuan untuk membangun sebuah aplikasi SMS
manager, yang nantinya diharapkan dapat membantu seorang pengguna
(user) dalam mengatur data-data SMS, seperti menampilkan atau menghapus SMS yang ada pada handphone, menyimpan atau menghapus
1.5 Metodologi Penelitian
1. Studi Pustaka Penulis mencari literatur tentang bagaimana membangun sebuah aplikasi SMS manager menggunakan bahasa pemrograman Java dan
database MySQL
2. Pengembangan perangkat lunak dengan metode pengembangan perangkat lunak berorientasi obyek (Whitten, 2004), dengan langkah- langkah sebagai berikut:
a. Analisis dan Desain Sistem Berorientasi Obyek, dengan langkah- langkah sebagai berikut :
1. Pembuatan Use Case Diagram, Class Diagram, dan Sequence Diagram.
2. Perancangan database.
3. Perancangan user interface.
b. Implementasi.
c. Testing.
1.6 Sistematika Penulisan
Sistematika penulisan adalah sebagai berikut :
BAB I PENDAHULUAN Bab ini menjelaskan tentang latar belakang masalah, rumusan masalah, tujuan dan manfaat penelitian, batasan masalah, metodologi penulisan, dan sistematika penulisan.
BAB II LANDASAN TEORI Bab ini berisikan landasan teori yang digunakan sebagai dasar dalam perancangan tugas ahkir. BAB III ANALISIS dan PERANCANGAN SISTEM Bab ini berisi tentang analisis dan desain sistem yang akan dibuat. BAB IV IMPLEMENTASI SISTEM Bab ini menjelaskan tentang implementasi ke dalam bentuk program berdasarkan desain yang telah dibuat. BAB V ANALISIS HASIL IMPLEMENTASI Bab ini menjelaskan tentang sistem yang telah dibuat seperti kelebihan dan kekurangan sistem dari percobaan
BAB II LANDASAN TEORI
2.1 Sistem Kerja SMS (Short Message Service)
2.1.1 Cara Kerja SMS (Short Message Service)
SMS merupakan salah satu fitur dari GSM (Global System for
Mobile Communication) yang dikembangkan dan distandarisasi oleh
ETSI (European Telecommunications Standards Institute). Pada saat kita mengirim pesan berupa SMS dari handphone, pesan tersebut tidak langsung dikirim ke handphone tujuan, melainkan terlebih dahulu dikirim ke SMS Center (SMSC) dengan prinsip Store and
Forward, setelah itu baru dikirimkan ke handphone yang dituju.
Dengan adanya SMSC, status dari pesan yang kita kirim (terkirim atau gagal terkirim) dapat kita ketahui. SMSC akan memberikan pesan kepada pengirim setelah pesan yang kita kirim diterima oleh handphone tujuan, begitu pula apabila handphone tujuan dalam keadaan tidak aktif maupun diluar jangkauan, sehingga tujuan gagal (Tim Penelitian dan Pengembangan Wahana Komputer, 2005).
Proses pengiriman SMS dapat dilihat pada gambar 2.1 di bawah ini : Gambar 2.1: Skema Cara Kerja SMS
2.1.2 SMS PDU Pengirim (Originated)
Seperti telah dijelaskan sebelumnya, pesan yang akan dikirim ke handphone tujuan akan dikirimkan terlebih dahulu ke SMSC.
Pada saat sebelum dikirimkan, pesan yang diketik masih berupa teks. Karena pesan tersebut akan dikirim terlebih dahulu ke SMSC, maka pesan yang berupa teks tersebut akan diubah formatnya menjadi format PDU oleh handphone pengirim (originated), proses SCA PDU MR DA PID DCS
VP UDL UD Type
Gambar 2.2 Skema Format SMS PDU Pengirim2.1.2.1 Service Center Address (SCA) Adalah informasi tentang alamat (nomor) SMSC.
SCA memiliki 3 komponen utama, yaitu len, type of
number, dan service center number. Dalam pengiriman
pesan SMS, nomor SMSC tidak dicantumkan (Tim Penelitian dan Pengembangan Wahana Komputer, 2005).
2.1.2.2 PDU Type
Nilai default dari PDU Type untuk SMS pengirim adalah 11 hexa, yang memiliki arti bahwa 11 hexa = 00010001 (Tim Penelitian dan Pengembangan Wahana Komputer, 2005).
2.1.2.3 Message Reference (MR)
Adalah acuan dari pengaturan pesan SMS. Untuk memberikan keleluasaan pengaturan pesan SMS agar dapat
2.1.2.4 Destination Address (DA)
Adalah alamat (nomor) tujuan yang terdiri atas panjangnya nomor tujuan (Len), format dari nomor tujuan (Type Number), dan nomor tujuan (Destination Number) (Tim Penelitian dan Pengembangan Wahana Komputer, 2005).
2.1.2.5 Protocol Identifier (PID)
Adalah tipe atau format dari cara pengiriman pesan yang biasanya diatur dari handphone pengirim. Misalnya tipe Standard Text, Fax, E-mail, Telex, X400, dan lain- lainnya. Nilai default dari PID adalah 00, yang artinya adalah Standard Text. Pada contoh di atas pesan yang dikirim berupa teks standar, maka PID-nya adalah 00 (Tim Penelitian dan Pengembangan Wahana Komputer, 2005).
2.1.2.6 Data Coding Scheme (DCS)
Adalah rencana dari pengkodean data untuk menentukan kelas dari pesan tersebut apakah berupa SMS teks standar, Flash SMS, atau Blinking SMS. Pada contoh
2.1.2.7 Validity Period (VP)
Adalah lama waktu pesan SMS disimpan di SMSC apabila pesan tersebut gagal diterima oleh handphone penerima (Tim Penelitian dan Pengembangan Wahana Komputer, 2005).
2.1.2.8 User Data Length (UDL)
Adalah panjangnya pesan SMS yang akan dikirim dalam bentuk teks standar. Pada contoh di atas pesan SMS yang dikirim adalah “Pesan pendek”, yang memiliki 12 karakter (0C h). Sehingga pada UDL hasilnya adalah 0C (Tim Penelitian dan Pengembangan Wahana Komputer, 2005).
2.1.2.9 User Data (UD)
Adalah isi pesan yang akan dikirim dalam format heksadesimal (Tim Penelitian dan Pengembangan Wahana Komputer, 2005).
2.1.3 SMS PDU Penerima (Terminated)
2005). Format PDU dari SMS yang diterima adalah aeperti terlihat pada gambar 2.3 berikut : SCA PDU Type OA PID DCS SCTS UDL UD
Gambar 2.3 Skema Format SMS PDU Penerima2.1.3.1 Service Center Address (SCA)
Adalah alamat (nomor) dari SMSC. Memiliki tiga komponen utama yaitu len, type off number, dan service
center (Tim Penelitian dan Pengembangan Wahana Komputer, 2005).
2.1.3.2 PDU Type
Nilai default dari PDU Type untuk SMS-Deliver adalah 04 hexa, yang artinya, 04 hexa = 00000100 (Tim Penelitian dan Pengembangan Wahana Komputer, 2005).
2.1.3.3 Originator Address (OA)
Adalah alamat (nomor) dari pengirim yang terdiri dari panjangnya nomor pengirim (Len), format dari nomor
2.1.3.4 Protocol Identifier (PID)
Adalah tipe atau format dari cara pengiriman pesan, biasanya diatur oleh handphone pengirim. Misalnya tipe
Standard Text, Fax, E-mail, dan lain-lain. Nilai default-nya
adalah 00 (Standard Text) (Tim Penelitian dan Pengembangan Wahana Komputer, 2005).
2.1.3.5 Data Coding Scheme (DCS)
Adalah rencana dari pengkodean data untuk menentukan kelas dari pesan tersebut apakah berupa SMS teks standar, Flash SMS, atau Blinking SMS (Tim Penelitian dan Pengembangan Wahana Komputer, 2005).
2.1.3.6 Service Center Time Stamp (SCTS)
Adalah waktu penerimaan pesan oleh SMSC penerima. SCTS terdiri dari tahun, bulan, tanggal, jam, menit, detik, dan zona waktu (Tim Penelitian dan Pengembangan Wahana Komputer, 2005).
2.1.3.7 User Data Length (UDL)
Adalah panjang dari pesan yang diterima dalam
2.1.3.8 User Data (UD)
Adalah pesan yang diterima dalam bentuk heksadesimal (Tim Penelitian dan Pengembangan Wahana Komputer, 2005).
2.2 Bahasa Pemrograman Java
Java adalah bahasa pemrograman berorientasi obyek yang dikembangkan oleh Sun Microsystems pada Agustus 1991. Sebagai bahasa pemrograman yang berorientasi obyek, Java menggunakan kelas untuk membentuk suatu obyek.
Java dapat digunakan untuk membuat program dengan menggunakan bahasa seperti Pascal atau C++. Selain itu Java juga mendukung World Wide
Web (Web), serta aplikasi client/server. Program Java dapat dibedakan
menjadi dua jenis, yaitu applet dan aplikasi. Applet adalah program yang dibuat dengan Java, dapat diletakkan pada web server dan diakses melalui web (seperti Netscape Navigator, Internet Explorer, dan HotJava). Sedangkan aplikasi adalah program yang dibuat dengan Java yang bersifat umum.
Aplikasi dapat dijalankan secara langsung, tidak memerlukan perangkat lunak
Kompiler Java bernama Progam ini berfungsi untuk
Javac.
mengkompilasi berkas sumber kode Java dalam bentuk yang dapat dimengerti oleh interpreter Java. Hasil kompilasi berupa berkas bytecode.Dalam hal ini akhiran yang dugunakan berupa .clas
2. Interpreter Java
Interpreter Java digunakan untuk mengeksekusi berkas bytecode (.class ).
3. Debugger Java
Debugger jdb berfungsi seperti interpreter tetapi dilengkapi dengan
kemampuan khusus seperti menghentikan eksekusi progam pada posisi yang dihendaki oleh pemrogram dan menampilkan nilai variabel-variabel tertentu. Progam ini berguna untuk melacak kesalahan progam.
4. Penampil Applet Penampil apllet (aplletviewer) berguna untuk menampilkan applet.
5. Pembangkit Dokumentasi Pembangkit dokumentasi (Javadoc) berguna untuk mengkonversi berkas kode Java dalam berkas HTML (Hypertext Markup Language).
6. Pembangkit Header C Perangkat lunak Java digunakan untuk mengahasilkan header C dan komputer dan akan dijalankan pada platform menggunakan Java Virtual
Machine (JVM) yang disebut juga dengah bytecodes interpreter atau Java
runtime interpreter (Abdul Kadir, 2004).Java memiliki beberapa keunggulan (Abdul Kadir, 2004), diantaranya :
1. Berorientasi pada obyek (Object Oriented) Dalam memecahkan masalah, Java membagi program menjadi obyek- obyek, kemudian memodelkan sifat dan tingkah laku masing-masing.
Selanjutnya, Java menentukan dan mengatur interaksi antara obyek yang satu dengan yang lain.
2. Bersifat terdistribusi
3. Bersifat Multiplatform Java dapat diterjemahkan oleh Java Interpreter pada berbagai sistem operasi. Tidak tergantungnya Java terhadap platform sering dinyatakan dengan istilah portabilitas. Tingkat portabilitas Java tidak hanya sebatas pada program sumber (source code), melainkan juga pada tingkat kode biner yang disebut bytecode yang bisa dijalankan pada berbagai sistem operasi karena kode ini berbeda dengan kode mesin (Abdul Kadir, 2004).
Contoh Penulisan Script Java:
2.3 Pengembangan Perangkat Lunak Berorientasi Obyek
2.3.1 Konsep Obyek
Pendekatan berorientasi obyek pada pengembangan sistem didasarkan pada konsep tentang obyek yang telah ada pada sebuah lingkungan sistem.
Obyek sendiri dapat diartikan sesuatu yang dapat dilihat, disentuh atau dirasakan, dan user menyimpan data serta mencatat perilaku mengenai sesuatu itu (Whitten,2004).
2.3.1.1 Object Oriented Analysis (OOA)
Sebuah teknik model driven yang mengintegrasikan data dan proses ke dalam konstruksi yang disebut obyek. Model ini berisikan gambar-gambar yang mengintruksikan obyek-obyek sistem dari berbagai macam perspektif, seperti struktur,
behavior, dan interaksi obyek.
2.3.1.2 Object Oriented Design (OOD)
Pendekatan yang digunakan untuk menentukan solusi perangkat lunak dalam hal menggabungkan obyek, attribute, dan metodenya. disimpan pada sebuah database. Entity object memuat informasi tentang tentang obyek tersebut yang disebut
attribute. Entity object bersifat menetap atau persisten
yang dapat diartikan bahwa obyek tersebut “aktif/hidup” setelah mengeksekusi sebuah progam dan disimpan dalam database (Whitten,2004). Hal ini dapat dilihat pada gambar
2.4 Simbol Entity Object :
: Objec t En tit y
Gambar 2.4 : Simbol Entity Object2. Interface Object Adalah sebuah obyek yang menyediakan media di mana pengguna dapat berkomunikasi dengan system (Whitten,2004). Pengguna dapat berkomunikasi
2. Mengambil data yang berkaitan dengan peristiwa bisnis dan menterjemahkan data tersebut kepada pengguna. Hal ini dapat dilihat pada gambar 2.5 Simbol Interface Object:
: Interface Object
Gambar 2.5 :Simbol Interface Object3. Control Object Adalah obyek yang berisi aplikasi logika yang bukan merupakan tanggung jawab entity object (Whitten,2004).
Hal ini dapat dilihat pada gambar 2.6 Simbol Control Object
: C o n t r o l O b j e c t
Gambar 2.6 :Simbol Control Object (Whitten,2004) tidak menemukan sebuah metode untuk mengembangkan sistem tetapi hanya berupa notasi.UML mendefinisikan diagram-diagram berikut :
1. Use-Case
Use-Case adalah pemodelan yang mengidentifikasi dan
menggambarkan fungsi-fungsi sistem dengan menggunakan alat (Whitten, 2004). Use-Case Diagram ini menggambarkan interaksi sistem, eksternal sistem dengan actor. Dengan kata lain merupakan penggambaran secara grafis tentang siapa yang menggunakan sistem dan dengan cara apa pengguna mengharapkan untuk berinteraksi dengan sistem. Komponen-komponen use-case diagram adalah :
a. Use-Case menggambarkan langkah-langkah yang secara tindakan saling terkait (skenario), baik terotomatisasi maupun secara manual, untuk tujuan melengkapi satu tugas bisnis tunggal (Whitten, 2004). Hal ini terlihat pada gambar 2.7 berikut :
Actor
Gambar 2.8: Simbol Actor
c. Association (Gabungan) adalah hubungan antara pelaku/actor dengan use case di mana terjadi interaksi di antara mereka (Whitten, 2004). Hal ini terlihat pada gambar 2.9 berikut :
UseCas e Actor
Gambar 2.9: Simbol Association
2. Class Diagram Merupakan gambar grafis mengenai struktur obyek statis dari suatu sistem, menunjukan kelas-kelas obyek yang menyusun sebuah sistem dan juga hubungan antar kelas obyek tersebut (Whitten, 2004).
Sequence Diagram memperlihatkan tahap demi tahap apa
yang seharusnya terjadi untuk menghasilkan sesuatu didalam use case (Whitten, 2004).
2.4 MySQL
MySQL merupakan multiuser database yang menggunakan bahasa SQL (Structured Query Language) yang umumnya untuk menangani data yang cukup besar. SQL (Structured Query Language) merupakan bahasa yang telah distandarisasi dan digunakan untuk mengelola database. Di dalam SQL terdapat 3 sub bahasa yaitu:
1. Data Definition Language (DDL), digunakan untuk membangun obyek- obyek dalam database seperti tabel.
2. Data Manipulation Language (DML), digunakan untuk menambah, menghapus, mengubah, dan mencari data pada tabel.
3. Data Control Language (DCL), digunakan untuk menangani masalah keamanan pada database.
Kelebihan lain dari MySQL adalah menyediakan dukungan open source. Beberapa tipe data dalam MySQL (Ridwan Sanjaya, 2005) dapat dilihat
Tabel 2.1: Tipe Data dalam MySQL
Tipe Data Keterangan
INT(M) [UNSIGNE Angka -2147483648 s/d 2147483647 D] FLOAT(M,D) Angka pecahan
Tanggal, DATE Format : YYYY-MM-DD Tanggal dan Waktu,
DATETIME Format : YYYY-MM-DD HH:MM:SS String dengan panjang tetap sesuai dengan yang CHAR(M) ditentukan.
Panjangnya 1-255 karakter
String dengan panjang yang berubah-ubah sesuaiVARCHAR(M) dengan yang disimpan saat itu.
Panjangnya 1 – 255 karakter
BLOB Teks dengan panjang maksimum 65535 karakter
LONGBLOB Teks dengan panjang maksimum 4294967295
karakter3. Membuat tabel
create tabel [nama tabel] (nama field1 typedata1,….) ;
4. Mengisikan data pada tabel
insert into [nama tabel] values (isi field1, isi field 2,…);
5. Menampilkan data pada tabel
select [field] from [nama tabel];
2.5 AT Command
AT Command adalah perintah-perintah yang digunakan dalam komunikasi dari aplikasi dengan handphone menggunakan Serial Port.
Dengan AT Command kita dapat mengetahui vendor dari handphone yang digunakan, membaca pesan yang ada pada SIM card, mengirim pesan SMS, menghapus pesan SMS pada handphone dan SIM card, dan lain-lain, yang seluruhnya dapat dilakukan melalui komputer apabila komputer dan
handphone telah terhubung.
Beberapa perintah AT Command (Tim Penelitian dan Pengembangan Wahana Komputer, 2005) yang akan digunakan pada pembuatan tugas akhir ini terlihat pada tabel 2.2
Tabel 2.2 AT Command yang DigunakanAT Command Keterangan AT Memeriksa apakah handphone telah terhubung dengan aplikasi AT+CMGF Menetapkan format mode dari terminal
AT+CMGL Membuka daftar SMS yang ada pada SIM Card AT+CMGS Mengirim pesan SMS AT+CMGR Membaca pesan SMS AT+CMGD Menghapus pesan SMS
BAB III ANALISIS SISTEM DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
3.1.1 Gambaran umum sistem lama
Penerimaan pesan singkat atau SMS pada handphone setiap waktu dapat terjadi. Pesan yang diterima akan disimpan di dalam
inbox handphone. Apabila pesan terus disimpan, akan menyebabkan
penuhnya pesan di dalam inbox handphone tersebut. Kejadian ini dapat menyebabkan pesan yang akan masuk tertunda, dan apabila terlalu lama, dapat mengakibatkan pesan gagal diterima. Hal ini akan sangat merugikan apabila pesan yang akan masuk tersebut adalah pesan yang penting.
3.1.2 Gambaran umum sistem baru
Sistem yang akan dibangun untuk mengatasi masalah tersebut adalah sistem yang memanfaatkan komputer dan database sebagai media penyimpanan SMS. Melalui sistem ini user dapat menyimpan
3. Sistem melakukan proses untuk melakukan pengaturan yang dipilih user Sistem ini mempunyai arsitektur Stand Alone. Handphone pengirim (originator) mengirimkan data berupa SMS kepada
handphone penerima (terminated). Kemudian data SMS tersebut
akan diteruskan menuju komputer, dan kemudian aplikasi yang akan di buat (berada di dalam komputer) akan memrosesnya, sehingga pengaturan-pengaturan pada data berupa SMS yang telah disebutkan di atas dapat dilakukan dari komputer. Kabel data serial, digunakan sebagai penghubung antara handphone penerima (terminated) dengan PC (Personal Computer), hal ini dapat dilihat pada gambar 3.1 di bawah ini :
3.1.3 Aktor Yang Terlibat Dalam Sistem
Ada satu orang aktor yang terlibat dalam aplikasi pengaturan sms ini, yaitu : User
User adalah pengguna yang melakukan pembacaan data SMS
dari aplikasi di komputer, menyimpan data SMS pada database di komputer, menghapus data SMS pada database di komputer maupun pada handphone, serta mengirim SMS dari komputer melalui aplikasi.
3.1.4 Use Case Diagram menampilkan menampilkan phonebook handphone (from use cases) (from use cases)
nomor perangkat terkoneksi
menampilkan sms menghapus sms inbox (from use cases) inbox handphone handphone menyimpan sms pada database (from use cases) (from use cases) (from Actors) user menampilkan sms dari database menghapus sms pada database (from use cases) update grup (from use cases) (from use cases) update anggota grup menampilkan grup (from use cases) (from use cases )3.1.5 Class Diagram
Relasi antar obyek yang berada dalam sistem ini disajikan pada Gambar 3.3 <<Pk>> idx_grup <<Pk>> idx_grup grup grup update_nama_grup() update_nama_grup() Tampil_nama_grup() Tampil_nama_grup() nama_grup nama_grup 0..1 0..1 0..1 0..1 punya punya is i_sms jam_terima tgl_terima Index_sms <<Pk>> key_table sms
stat <<Fk>> no_telp_pb anggotagrup anggotagrup 0..* 0..* <<Pk>> idx_grup <<Pk>> idx_grup 0..* 0..* 0..* 0..* hapus_sms() simpan_sms() tampil_sms() kirim_sms() punya punya punya <<Pk>> no_tlp_pb <<Pk>> no_tlp_pb tampil_anggotagrup() tampil_anggotagrup() update_anggotagrup() update_anggotagrup() 0..* 0..* 0..* 0..* <<Pk>> no_tlp_pb <<Pk>> no_tlp_pb phonebook phonebook 0..1 0..1 Nama Nama 0..1 0..1 0..1 0..1 tam pil_pb() tam pil_pb() nomor_tlp_sim nomor_tlp_sim
Gambar 3.3 : Class Diagram3.2 Desain Sistem
3.2.1 Sequence Diagram
3.2.1.1 Proses Tampilkan Nomor Perangkat Terkoneksi
Sequence diagram untuk menampilkan nomor
perangkat terkoneksi disajikan pada gambar 3.4
aplikasi kontroll : form sms manager : user pilih tampilkan nomor perangkat terkoneksi phonebook baca_nomor_penerima insert_data() tampilkan_nomor() nomor perangkat terkoneksi ditampilkan
Gambar 3.4 : Sequence Diagram Proses Menampilkan Nomor PerangkatTerkoneksi
3.2.1.2 Proses Menampilkan SMS Inbox Handphone
Sequence diagram untuk menampilkan SMS handphone disajikan pada gambar 3.5
Gambar 3.5 : Sequence Diagram Proses Menampilkan SMS Handphone : user form sms manager : aplikasi kontrol: sms Klik tombol baca sms
tampil_sms()
insert_sms() data sms ditampilkan3.2.1.3 Proses Menyimpan SMS pada Database
Sequence diagram untuk menyimpan sms pada database disajikan pada gambar 3.6 : user form sms manager pilih baca sms tampil_sms() : aplikasi kontrol : sms data sms ditampilkan insert_sms() pilih sms yang akan disimpan get_sms_selected() insert_data_terpilih()
Gambar 3.6 : Sequence Diagram Proses Menyimpan SMS pada Database3.2.1.4 Proses Menghapus SMS pada Database
Sequence diagram untuk menghapus SMS di
database disajikan pada gambar 3.7 : user form sms manager : aplikasi kontrol : sms pilih baca sms database tampil_sms() tampil_sms_database() data sms ditampilkan pilih sms yang dihapus get_sms_selected() delete_data_terpilih()
Gambar 3.7 : Sequence Diagram Proses Menghapus SMS pada
Database
3.2.1.5 Proses Menampilkan SMS dari Database
Sequence diagram untuk menampilkan SMS dari
database disajikan pada gambar 3.8
: us er form sms manager pilih baca sms database tampil_sms() : aplikasi kontrol : sms sms database ditampilkan tampil_sms_database()Gambar 3.8 : Sequence Diagram Proses Menampilkan SMS dari Database3.2.1.6 Proses Mengirim SMS dari Aplikasi
Sequence diagram untuk mengirim SMS disajikan
pada gambar 3.9
: aplikasi kontrol : user
form kirim sms
masukkan nomor tujuan ketik pesan kirim_sms() pilih kirim get_data() pesan sms telah terkirim3.2.1.7 Proses Menampilkan Phonebook Handphone
Sequence diagram untuk menampilkan phonebook
disajikan pada gambar 3.10 : user pilih phonebook tampilkan : form sms manager baca_pb_handphone aplikasi kontrol phonebook phonebook ditampilkan tampilkan insert _data() _pb()
Gambar 3.10 : Sequence Diagram Proses Menampilkan PhonebookHandphone
3.2.1.8 Proses Menampilkan Grup
Sequence diagram untuk menampilkan grup
disajikan pada gambar 3.11 : us er pilih daftar grup form sm s m anager tampilkan_grup() aplikas i kontrol select_data() grup grup ditampilkan
Gambar 3.11 : Sequence Diagram Proses Menampilkan Grup3.2.1.9 Proses Update Grup
Sequence diagram untuk update grup disajikan pada
gambar 3.12 : user form sms manager aplikasi kontrol grup
pilih daftar grup
tampilkan_grup()
select_data() grup ditampilkan pilih masukkan grupget_data()
insert_data() pilih edit grupget_data()
update_data() pilih hapus grupget_data()
delete_data()3.2.1.10 Proses Menampilkan Anggota Grup
Sequence diagram untuk menampilkan anggota
grup disajikan pada gambar 3.13
Gambar 3.13 : Sequence Diagram Proses Menampilkan Anggota Grup : user form sms manager aplikasi kontrol anggota gruppilih daftar anggota grup tampilkan_anggotagrup() select_data() anggota grup ditampilkan
3.2.1.11 Proses Update Anggota Grup
Sequence diagram untuk menampilkan nomor
penerima disajikan pada gambar 3.14 : user form sms manager aplikasi kontrol anggota_grup
pilih daftar anggota grup tampilkan_anggotagrup() select_data() anggota grup ditampilkan pilih masukkan anggota grup get_data() insert_data() pilih edit anggota grup get_data() update_data() pilih hapus data get_data() delete_data()
3.2.1.12 Proses Menghapus SMS pada Handphone
Gambar 3.14 : Sequence Diagram Proses Menghapus SMS pada Handphone : user form sms manager : aplikasi kontrol : sms pilih baca sms baca_sms() insert_data() sms database ditampilkan Pilih hapus get_data() delete_data_from_hp()3.3 Perancangan Database dan User Interface
3.3.1 Desain Database
3.3.1.1 Tabel SMS
Tabel SMS disajikan pada tabel 3.1