• Tidak ada hasil yang ditemukan

APLIKASI SMS (SHORT MESSAGE SERVICE) MANAGER BERBASIS JAVA

N/A
N/A
Protected

Academic year: 2019

Membagikan "APLIKASI SMS (SHORT MESSAGE SERVICE) MANAGER BERBASIS JAVA"

Copied!
109
0
0

Teks penuh

(1)

i

Skripsi

Ditujukan Untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Informatika

Disusun oleh :

Bergas Prakoso Wiharto

035314003

TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

(2)

ii

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

FACULTY OF SAINS AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

(3)
(4)
(5)
(6)

vi

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

Almamaterku Teknik Informatika Universitas Sanata Dharma

(7)

vii

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.

(8)

viii

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.

(9)

ix

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.

(10)
(11)

xi

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

telah memberikan bekal ilmu dan arahan selama penulis menempuh studi.

6. Seluruh staff Sekretariat Fakultas Sains dan Teknologi.

7. Ibu penulis yang telah memberikan cinta, doa, semangat, perhatian dan

pengorbanannya, juga bapak penulis yang membiayai sehingga penulis

(12)

xii

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.

Yogyakarta, Juli 2009

Penulis

(13)

xiii

HALAMAN PERSETUJUAN

iii

HALAMAN PENGESAHAN

iv

PERNYATAAN KEASLIAN KARYA

v

HALAMAN PERSEMBAHAN

vi

HALAMAN MOTTO

vii

ABSTRAKSI

viii

ABSTRACT

ix

PERNYATAAN PUBLIKASI KARYA

x

KATA PENGANTAR

xi

DAFTAR ISI

xiii

DAFTAR GAMBAR

xviii

DAFTAR TABEL

xx

BAB I PENDAHULUAN

1.1

Latar Belakang Masalah

1

1.2

Rumusan Masalah

2

1.3

Batasan Masalah

2

1.4

Tujuan dan Manfaat Penulisan

3

1.5

Metodologi Penelitian

4

1.6

Sistematika Penulisan

5

(14)

xiv

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.1.3.6

Service Center Time Stamp (SCTS)

12

2.1.3.7

User Data Length (UDL)

12

2.1.3.8

User Data (UD)

13

2.2 Bahasa Pemrograman Java

13

(15)

xv

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.4

Proses Menghapus SMS Pada Database

33

3.2.1.5

Proses Menampilkan SMS Dari Database

34

3.2.1.6

Proses Mengirim SMS dari Aplikasi

35

3.2.1.7

Proses Menampilkan Phonebook Handphone

36

(16)

xvi

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

B

A

A

B

B

I

I

V

V

I

I

M

M

P

P

L

L

E

E

M

M

E

E

N

N

T

T

A

A

S

S

I

I

S

S

I

I

S

S

T

T

E

E

M

M

4.1

Karakteristik Sistem

50

4.2

Perangkat Lunak dan Perangkat Keras yang Digunakan

dalam Pembuatan Aplikasi

50

4.2.1 Perangkat Lunak Yang Digunakan

50

(17)

xvii

4.5.1 Form SMS Manager

53

4.5.2 Form Koneksi

56

4.5.3 Form Kirim SMS

61

4.5.4 Panel Phonebook Perangkat Terkoneksi

64

4.5.5 Panel SMS

68

4.5.6 Panel Sms Tersimpan pada Database

69

4.6

Implementasi Penerimaan dan Pengiriman SMS pada Aplikasi

70

4.6.1 Membalik Karakter Pada Format PDU

70

4.6.2 Mengubah Nilai dari Desimal Menjadi Heksadesimal

71

4.6.3 Mengubah Format 8 Bit Menjadi 7 Bit

73

4.6.4 Mengubah Format 7 Bit Menjadi 8 Bit

75

4.6.5 Mengubah Format Pesan PDU Menjadi Format Teks

76

4.6.6 Mengubah Format Pesan Teks Menjadi Format PDU

81

BAB V ANALISIS HASIL

5.1

Hasil Pengujian Sistem

84

5.2

Kelebihan dan Kekurangan Aplikasi

85

BAB VI KESIMPULAN DAN SARAN

6.1

Kesimpulan

87

6.2

Saran

87

(18)

xviii

Gambar 2.2 Skema Format SMS PDU Pengirim

8

Gambar 2.3 Skema Format SMS PDU Penerima

11

Gambar 2.4 Simbol Entity Object

17

Gambar 2.5 Simbol Interface Object

18

Gambar 2.6 Simbol Control Object

18

Gambar 2.7 Simbol Use Case

19

Gambar 2.8 Simbol Actor

20

Gambar 2.9 Simbol Association

20

Gambar 3.1 Gambaran Sistem

26

Gambar 3.2 Use Case Diagram Sistem Aplikasi SMS Manager

28

Gambar 3.3 Class Diagram

29

(19)

xix

Gambar 3.16 Form Koneksi

44

Gambar 3.17 Panel SMS Handphone

45

Gambar 3.18 Panel Phonebook Handphone

46

Gambar 3.19 Form Kirim SMS

47

Gambar 3.20 Panel Daftar Grup dan Anggota Grup

48

Gambar 3.21 Panel SMS Database

49

Gambar 4.1 Form SMS Manager

54

Gambar 4.2 Form SMS Manager Submenu Menu

55

Gambar 4.3 Form SMS Manager Tab Menu SMS

56

Gambar 4.4 Form SMS Manager Tab Menu Phonebook

56

Gambar 4.5 Form Koneksi

57

Gambar 4.6 Form Kirim SMS

62

Gambar 4.7 Panel PhonebookPerangkat Terkoneksi

65

Gambar 4.8 Panel SMS / Pesan Terbaca Dari Handphone

69

(20)

xx

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

(21)

1

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.

Saat kapasitas penyimpanan dalam kondisi penuh, pesan baru tidak

dapat masuk (

pending

) karena menunggu adanya tempat kosong di dalam

tempat penyimpanan. Hal ini dapat merugikan penerima maupun pengirim

pesan apabila pesan tersebut adalah pesan yang sangat penting. Dengan

melihat permasalahan yang ada tersebut, maka di dalam penulisan Tugas

(22)

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

(

personal computer

), serta mengirim sms dari komputer dengan

jumlah karakter maksimal sebanyak 160.

4. Aplikasi yang dibuat hanya digunakan untuk menampilkan pesan

(23)

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

(24)

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.

(25)

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

yang dilakukan.

BAB VI KESIMPULAN dan SARAN

Bab ini berisikan kesimpulan yang dapat diambil dari

penelitian yang telah dilakukan dan saran-saran untuk

(26)

6

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

pesan yang kita kirim tidak dapat sampai, maka pesan tersebut akan

disimpan pada SMSC hingga periode validitas tidak terpenuhi.

(27)

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)

(28)

2.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

diatur sendiri oleh

handphone

tujuan, maka nilai yang

diberikan adalah “00”. Sehingga hasil pada

Message

Reference

adalah 00 (Tim Penelitian dan Pengembangan

Wahana Komputer, 2005).

Gambar 2.2 Skema Format SMS PDU Pengirim

SCA

PDU

Type

(29)

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)

(30)

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)

(31)

2005). Format PDU dari

SMS

yang diterima adalah aeperti terlihat

pada gambar 2.3 berikut :

2.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

pengirim (Type Number), dan nomor pengirim (Originator

Number) (Tim Penelitian dan Pengembangan Wahana

Komputer, 2005).

SCA PDU Type OA PID DCS SCTS UDL UD

(32)

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)

(33)

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

browser untuk menjalankannya. Setelah dilakukan kompilasi maka program

(34)

Kompiler Java

bernama

Javac.

Progam ini

berfungsi

untuk

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

berkas kode sumber C berdasarkan berkas bytecode

Java.

(35)

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:

public class Latihan {

public static void main(String [ ] args { system.out.println(“Belajar Java “);}}

Hasil Progam :

Belajar Java

(36)

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.

Pada

Object Oriented Design

(OOD) ini dibagi menjadi

tiga obyek yaitu:

1.

Entity Object

(37)

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 Object

2.

Interface Object

Adalah sebuah obyek yang menyediakan media di mana

pengguna

dapat

berkomunikasi

dengan

system

(Whitten,2004).

Pengguna

dapat

berkomunikasi

menggunakan antarmuka/interface.

Tugas dari Interface Entity

adalah:

(38)

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 Object

3.

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)

2.3.2 UML (Unified Modelling Language)

(39)

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 :

Gambar 2.7: Simbol Use-Case

b.

Actor

adalah segala sesuatu yang perlu berinteraksi dengan

sistem untuk pertukaran informasi (Whitten,2004). Hal ini

terlihat pada gambar 2.8 berikut :

(40)

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 :

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).

3.

Sequence Diagram

Menjelaskan interaksi obyek yang disusun dalam suatu

urutan waktu. Diagram ini secara khusus berasosiasi dengan

use

case.

Actor

(41)

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.

(42)

Tabel 2.1: Tipe Data dalam MySQL

Tipe Data

Keterangan

INT(M)

[UNSIGNE

D]

Angka -2147483648 s/d 2147483647

FLOAT(M,D)

Angka pecahan

DATE

Tanggal,

Format : YYYY-MM-DD

DATETIME

Tanggal dan Waktu,

Format : YYYY-MM-DD HH:MM:SS

CHAR(M)

String dengan panjang tetap sesuai dengan yang

ditentukan.

Panjangnya 1-255 karakter

VARCHAR(M)

String dengan panjang yang berubah-ubah sesuai

dengan yang disimpan saat itu.

Panjangnya 1 – 255 karakter

BLOB

Teks dengan panjang maksimum 65535 karakter

LONGBLOB

Teks dengan panjang maksimum 4294967295

karakter

Contoh penulisan Script

MySQl:

1. Membuat database

create database

[nama database] ;

2. Menghapus database

(43)

3. 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.

(44)

Tabel 2.2 AT Command yang Digunakan

AT 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

(45)

25

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

SMS ke

database

maupun menghapus SMS pada

handphone

.

Adapun urutan kerja dari sistem ini adalah sebagai berikut

1.

User

menerima SMS .

2.

User

memilih pengaturan SMS yang diperlukan pada

handphone

(46)

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 :

Gambar 3.1 Gambaran Sistem

(47)

3.1.3

Aktor Yang Terlibat Dalam Sistem

Ada satu orang aktor yang terlibat dalam aplikasi pengaturan sms

ini, yaitu :

User

(48)

3.1.4

Use Case Diagram

Gambar 3.2 :

Use Case Diagram

Sistem Aplikasi SMS Manager

menampilkannomor perangkat terkoneksi

(from use cases)

menampilkanphonebook handphone

(from use cases)

mengirim sms (from use cases) menampilkan sms inbox handphone

(from use cases)

menghapus sms inbox handphone

(from use cases)

menghapus sms pada database

(from use cases)

menyimpan sms pada database

(from use cases)

menampilkan sms dari database

(from use cases)

menampilkan grup

(from use cases) user

(from Actors)

update grup

(from use cases)

update anggota grup

(from use cases)

menampilkan anggotagrup

(49)

3.1.5

Class Diagram

Relasi antar obyek yang berada dalam sistem ini disajikan

pada Gambar 3.3

sms <<Pk>> key_table Index_sms tgl_terima jam_terima is i_sms stat <<Fk>> no_telp_pb tampil_sms() simpan_sms() hapus_sms() kirim_sms() phonebook <<Pk>> no_tlp_pb Nama nomor_tlp_sim tam pil_pb() 0..1 0..* punya anggotagrup <<Pk>> idx_grup <<Pk>> no_tlp_pb tampil_anggotagrup() update_anggotagrup() 0..* 0..1 0..* punya grup <<Pk>> idx_grup nama_grup Tampil_nama_grup() update_nama_grup() 0..* 0..1 0..* 0..1 punya phonebook <<Pk>> no_tlp_pb Nama nomor_tlp_sim tam pil_pb() anggotagrup <<Pk>> idx_grup <<Pk>> no_tlp_pb tampil_anggotagrup() update_anggotagrup() grup <<Pk>> idx_grup nama_grup Tampil_nama_grup() update_nama_grup() 0..* 0..1 0..* punya 0..* 0..1 0..* 0..1 punya 0..1 0..1 0..1 0..*

(50)

3.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

Gambar 3.4 :

Sequence Diagram

Proses Menampilkan Nomor Perangkat

Terkoneksi

: user

: form sms manager aplikasi kontroll phonebook

pilih tampilkan nomor perangkat terkoneksi

baca_nomor_penerima

insert_data()

tampilkan_nomor()

(51)

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

form sms manager

: user : aplikasi kontrol : sms

Klik tombol baca sms

tampil_sms()

insert_sms()

(52)

3.2.1.3 Proses Menyimpan SMS pada

Database

Sequence diagram

untuk menyimpan sms pada

database

disajikan pada gambar 3.6

Gambar 3.6 :

Sequence Diagram

Proses Menyimpan SMS pada

Database

: user form sms manager : aplikasi kontrol : sms

pilih baca sms

tampil_sms()

insert_sms()

data sms ditampilkan

pilih sms yang akan disimpan

get_sms_selected()

(53)

3.2.1.4 Proses Menghapus SMS pada

Database

Sequence diagram untuk menghapus SMS di

database

disajikan pada gambar 3.7

form sms manager

: user : 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

(54)

3.2.1.5 Proses Menampilkan SMS dari

Database

Sequence diagram

untuk menampilkan SMS dari

database

disajikan pada gambar 3.8

form sms manager

: us er : aplikasi kontrol : sms

pilih baca sms database

tampil_sms()

tampil_sms_database()

sms database ditampilkan

(55)

3.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 terkirim

(56)

3.2.1.7 Proses Menampilkan Phonebook

Handphone

Sequence diagram

untuk menampilkan phonebook

disajikan pada gambar 3.10

Gambar 3.10 :

Sequence Diagram

Proses Menampilkan

Phonebook

Handphone

: form sms manager

: user aplikasikontrol phonebook pilih tampilkanphonebook

baca_pb_handphone

insert_data()

tampilkan_pb()

(57)

3.2.1.8 Proses Menampilkan Grup

Sequence diagram

untuk menampilkan grup

disajikan pada gambar 3.11

: us er

form sm s m anager aplikas i kontrol grup pilih daftar grup

tampilkan_grup()

select_data()

grup ditampilkan

(58)

3.2.1.9 Proses

Update

Grup

Sequence diagram

untuk

update

grup disajikan pada

gambar 3.12

Gambar 3.12 :

Sequence Diagram

Proses

Update

Grup

form sms manager

: user

aplikasi kontrol grup

pilih daftar grup

tampilkan_grup()

select_data()

grup ditampilkan

pilih masukkan grup

get_data()

insert_data()

pilih edit grup

get_data()

update_data()

pilih hapus grup

get_data()

(59)

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 grup

pilih daftar anggota grup

tampilkan_anggotagrup()

select_data()

(60)

3.2.1.11 Proses

Update

Anggota Grup

Sequence diagram

untuk menampilkan nomor

penerima disajikan pada gambar 3.14

Gambar 3.14 :

Sequence Diagram

Proses

Update

Anggota Grup

form sms manager

: user

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()

(61)

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()

(62)

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

Tabel 3.1: Tabel SMS

Nama Field

Tipe Data

Ukuran

Keterangan

key_table

bigint

15

primary key, auto increment

Index_sms

varchar

index sms dari

handphone

no_telp_pb

varchar

20

nomor telpon pada

phonebook, foreignkey

dengan

phonebook

tgl_terima

varchar

15

tanggal sms diterima

isi_sms

Text

isi dari pesan (sms)

stat

varchar

20

Status tersimpan/belum

tersimpan pada

database

Jam_terima

varchar

8

Waktu sms diterima

3.3.1.2

Tabel

Phonebook

Tabel

phonebook

disajikan pada tabel 3.2

Tabel 3.2: Tabel

Phonebook

Nama Field

Tipe

Data

Ukuran

Keterangan

Nama

varchar

24

Nama yang disimpan di

handphone

no_tlp_pb

varchar

20

primary key,

nomor telepon yang

disimpan di

handphone

nomor_tlp

varchar

20

nomor

sim card handphone

(63)

3.3.1.3

Tabel Grup

Tabel Anggota grup disajikan pada tabel 3.3

Tabel 3.3: Tabel

Grup

Nama Field

Tipe Data

Ukuran

Keterangan

idx_grup

int

15

primary key, auto increment

Nama_grup

varchar

20

Nama dari grup

3.3.1.4

Tabel Anggota Grup

Tabel

grup

disajikan pada tabel 3.4

Tabel 3.4: Tabel Anggota

Grup

Nama Field

Tipe Data

Ukuran

Keterangan

idx_grup

int

15

primary key

(64)

3.3.2

Desain

User Interface

3.3.2.1

Form

Koneksi

Gambar 3.16 merupakan form koneks (sub-menu dari

item Menu pada

Menu Bar

), digunakan untuk melakukan

koneksi antara komputer dengan

handphone.

(65)

3.3.2.2

Panel SMS

Handphone

Gambar 3.17 merupakan panel SMS

handphone

,

digunakan untu menampilkan SMS yang di baca aplikasi

dari

handphone

yang terhubung dengan komputer

.

(66)

3.3.2.3

Panel

Phonebook Handphone

Gambar 3.18 merupakan gambar panel phonebook

handphone, digunakan untuk menampilkan nomor telepon

yang telah dibaca aplikasi.

(67)

3.3.2.4

Form

Kirim SMS

Gambar 3.19 merupakan

form

kirim sms, digunakan

untuk mengirim sms dari aplikasi.

(68)

3.3.2.5

Panel Daftar Grup dan Anggota Grup

Gambar 3.20 merupakan panel daftar grup dan

anggota grup, digunakan untuk menampilkan daftar grup

dan anggota grupnya.

(69)

3.3.2.6

Panel SMS

Database

Gambar 3.21 merupakan panel SMS database,

digunakan untuk menampilkan SMS yang telah disimpan

pada

database.

(70)

50

4.1

Karakteristik Sistem

Sistem yang dibuat merupakan aplikasi yang bersifat

stand alone.

Aplikasi berdiri sendiri dan digunakan oleh pengguna tunggal (single

user).

Input dari

user

hanya dilakukan ketika akan melakukan pengiriman

sms (Short Message Service). Sedang menu-menu lain,

user

hanya perlu

melakukan klik melalui mouse.

4.2

Perangkat Lunak dan Perangkat Keras yang Digunakan dalam

Pembuatan Aplikasi

4.2.1

Perangkat Lunak yang Digunakan

1. Sistem Operasi Windows XP sp1

2. Java NetBeans IDE 5.5

3.

Java Commmunication Port

4. MySQL Server 5.0

5. SQLyog 5.14

6. IVT Corporation Bluetooth Bluesoleil

4.2.2

Perangkat Keras yang Digunakan

1.

Processor

Intel Pentium IV 2.66 Ghz

2.

Memory

RAM 512 Mb

(71)

4. VGA Nvidia GForce MX 4000 P CI 64 Mb

5.

Handphone

Motorola E1 Rokr

6. Kabel Data (sesuai dengan tipe

handphone, pada penelitian ini

penulis menggunakan kabel data khusus Motorola Rokr E1)

7. ISSC Bluetooth Device

8. Monitor resolusi 1024 x 768 pixels

4.3

Implementasi Database

Database Server

yang digunakan dalam implementasi sistem ini

adalah MySQL Server 5.0.

Database

dan tabel – tabel yang digunakan

dibuat dengan menggunakan tool SQLyog 5.14. Database

yang dibuat terdiri

dari tabel-tabel berikut :

1. Tabel sms

2. Tabel phonebook

3. Tabel grup

4. Tabel anggota grup

4.4

Setting koneksi dari Java ke MySQL

Untuk melakukan koneksi antara Java dengan MySQL server, maka

harus digunakan suatu

driver / interface

JDBC (

Java DataBase

Connectivity

) yang berisi kelas – kelas untuk mengakses

database server

(72)

adalah

mysql-connector-java-5.0.4-bin.jar. Berikut ini adalah

langkah-langkah untuk koneksi dari Java ke database

MySQl :

1. Melakukan load driver

2. Melakukan pembuatan koneksi program ke database

3. Melakukan query database

4. Melakukan penutupan koneksi database

4.5

Implementasi Antar Muka dan Proses Kerja Aplikasi

Sebelum program dijalankan, perlu dilakukan penambahan paket kelas

Java Communication Port, karena pada Java 2 Standard Development Kit

(Java 2 SDK) belum tersedia fasilitas untuk komunikasi dengan Serial Port.

Diasumsikan

misal

instalasi

jdk

berada

pada

C:\Program

Files\Java\jdk1.6.0

. Langkah-langkahnya sebagai berikut (Tim Penelitian

Dan Pengembangan Wahana Komputer, 2005) :

1. Copy file

win32com.dll

ke direktori bin pada jdk

C:\Program Files\Java\jdk1.6.0\bin

dan

C:\Program Files\Java\jdk1.6.0\jre\bin

2. Copy file

comm.jar

dan

javaxx.comm.properties

ke direktori lib

pada jdk

C:\Program Files\Java\jdk1.6.0\lib

dan

C:\Program Files\Java\jdk1.6.0\jre\lib

3. Tambahkan

comm.jar

pada classpath (pada command prompt)

(73)

4.5.1

Form SMS Manager

Gambar 4.1 Form SMS Manager

Pada gambar 4.1 di atas, merupakan tampilan awal, di mana pada saat

konstruktor form

SMS Manager

dijalankan, pada bagian panel, tab menu, serta

tombol selain untuk melakukan koneksi dan melihat informasi, akan

di-setting

tidak aktif, hal ini untuk menghindari penggunaan bagian tersebut

pada saat koneksi belum dilakukan.

Form

ini memiliki empat menu

popup

yaitu Menu, SMS, Phonebook,

dan Informasi. Selain itu juga memiliki enam tombol yaitu

Phonebook,

SMS, Komputer, Baca Phonebook Perangkat Terkoneksi, kirim Sms dan

Tampilkan. Hal ini terlihat seperti pada gambar 4.1 di atas.

(74)

1. Tombol

Phonebook

berfungsi untuk memanggil panel

Phonebook.

2. Tombol Sms berfungsi untuk memanggil panel SMS, serta

membaca data SMS dari handphone.

3. Tombol Komputer berfungsi untuk memanggil panel komputer.

4. Tombol Baca Phonebook Perangkat Terkoneksi berfungsi

untuk memanggil panel Phonebook Perangkat Terkoneksi.

5. Tombol Kirim Sms digunakan untuk memanggil

form

Kirim

Sms

6. Tombol Tampilkan pada panel Nomor Perangkat Terkoneksi

berfungsi untuk menampilkan nomor

handphone

yang

terhubung dengan komputer, yang sebelumnya sudah disimpan

pada

handphone. Pada

tab menu Menu

terdapat dua

submenu

yaitu Form Koneksi dan Keluar. Hal ini terlihat pada gambar

4.2

(75)

7. Pada

tab menu

SMS terdapat dua

submenu

yaitu Daftar Sms

Terbaca dan Kirim SMS.

Tab menu

SMS akan aktif apabila

koneksi telah dilakukan. Hal ini terlihat pada gambar 4.3

Gambar 4.3 Form SMS Manager tab menu

SMS

8. Pada

tab menu Phonebook

terdapat dua submenu

yaitu Daftar

Phonebook

dan Grup dan Anggota Grup. Sama seperti

tab

menu

SMS,

tab menu Phonebook

akan aktif apabila koneksi

telah dilakukan. Hal ini terlihat pada gambar 4.4

(76)

4.5.2

Form

Koneksi

Gambar 4.5

Form

Koneksi

Form

koneksi digunakan untuk melakukan koneksi antara

handphone

dengan aplikasi. Proses yang pertama bekerja adalah menampilkan daftar

port

yang ada pada komputer. Hal ini terlihat pada listing

4.1

Kemudian setelah memilih port

dan menekan tombol Sambung, maka

proses akan bekerja untuk menghubungkan port dengan handphone. Proses

ini terlihat pada listing

4.2

Tombol Putus dilakukan untuk memutuskan koneksi. Hal ini terlihat

pada listing 4.3

Implementasi pengaturan serial port

pada program dapat diilihat pada

listing 4.4, sedangkan listing pengaturan terminal untuk pengiriman

AT

COMMAND

dapat dilihat pada listing 4.5

Pada aplikasi ini, pengaturan parameter

serial port

dilakukan oleh

aplikasi tanpa inputan dari user, dengan menggunakan parameter yang pada

umumnya di-support

oleh kebanyakan

handphone

yang dapat menerima

(77)

port, bit per second(bps), databits, parity, stopbits, dan

flow control

terlihat

pada tabel 4.1

Tabel 4.1

Nilai Parameter Koneksi ke Terminal

Parameter

Nilai

Port

COM1

Bit per Second (bps)

19200

Data bits

8

Parity

NONE

Stop Bits

1

Pengaturan terminal perlu dilakukan agar terminal siap menerima dan

mengirimkan SMS dengan cara mengirimkan perintah

AT COMMAND.

Contoh perintah AT COMMAND

yang dikirimkan ke terminal saat aplikasi

dijalankan secara berurutan disajikan pada Tabel 4.2

Tabel 4.2

Perintah AT Command

Perintah AT

Keterangan

AT+CMGF = 0

Menetapkan format SMS adalah format PDU

AT+CMGS

Menetapkan encoding berupa GSM

AT+CPBR

Membaca phonebook

AT+CPBS

Mengetahui memori penyimpanan phonebook

AT+CNUM

Mmbaca nomor sim yang dipakai di dalam

handphone

(78)

public String[] getNamaPort() {

int i=0;

// Mencari nama port

String[] namaPortSerial=new String[cariSerialPort()];

Enumeration daftarPort=CommPortIdentifier.getPortIdentifiers(); while(daftarPort.hasMoreElements()){ CommPortIdentifier portId=(CommPortIdentifier) daftarPort.nextElement(); if(portId.getPortType()==CommPortIdentifier.PORT_SERIAL){ namaPortSerial[i]=portId.getName(); i++; } } return namaPortSerial; }

Listing 4.1

Listing

Mencari dan Menampilkan

Serial Port

Komputer

private void ButtonKoneksiActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

JOptionPane.showMessageDialog(this,"Sedang melakukan penyambungan port", "Info",

JOptionPane.INFORMATION_MESSAGE);

jLabel_status.setText("Port terkoneksi");

if (koneksi.openConnection((String)PilihPort.getSelectedItem())){

this.buttonConnect(); input = koneksi.getInputStream(); output = koneksi.getOutputStream();

}

}

(79)

private void

ButtonDiskonekActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

JOptionPane.showMessageDialog(this,"Koneksi port putus");

jLabel_status.setText("Koneksi putus");

this.buttonDisconnect();

koneksi.closeConnection(); }

Listing 4.3

Listing

Memutuskan Koneksi dengan Port Terpilih

try{

getSerialPort().setFlowControlMode(getSerialPort().FLOWCONTROL_NONE)

;

getSerialPort().setSerialPortParams(19200,getSerialPort().DATABITS_8

,getSerialPort().STOPBITS_1,getSerialPort().PARITY_NONE);

getSerialPort().notifyOnDataAvailable(true);

}catch (UnsupportedCommOperationException e){

JOptionPane.showMessageDialog(null,"error pengaturan

data serial port " + e.getMessage()); }

(80)

public void aTCommandBacaInbox(InputStream input,OutputStream

output){ try{this.input = input;t his.output = output;

SMSUtil.kirimAT("AT+CMGF=0" + "\15", 1500);

SMSUtil.kirimAT("AT+CSCS=GSM" + "\15", 1500);

SMSUtil.kirimAT("AT+CMGL=4 " + "\15", 1500

// Apabila Pengiriman AT Command baca inbox GAGAL

}catch(Exception ioe){

System.out.println("send at command :"+ioe.getMessage());

} }

(81)

4.5.3

Form

Kirim SMS

Gambar 4.6

Form

Kirim SMS

Form

ini digunakan untuk mengirimkan pesan singkat dari aplikasi.

Tombol Keluar digunakan untuk keluar dari

form

ini. Tombol Kirim

digunakan untuk melakukan proses pengiriman sms, sedang tombol

Bersihkan digunakan untuk menghapus pesan yang telah ditulis dari

text

area.

Nomor dapat diisi dengan awalan “0” atau “+62” (kode Negara

Indonesia). Setelah nomor didapat maka akan diperiksa apakah berawalan 0

atau +62, kemudian pesan yang ditulis akan diambil, dan kemudian di codec

ke bentuk PDU (Protocol Data Unit) agar pesan dapat dikirim melalui

terminal (handphone). Pesan juga dapat dikirim ke banyak nomor dengan

pemisah antar nomor menggunakan karakter “ ; ”. Hal ini terlihat pada

(82)

if (!notlp.getText().equals("")) {

// Mendapatkan nomor telpon dari JTextField

String noTlp = notlp.getText();

String [] splitedNoTlp = noTlp.split(";");

// Looping jika nomor lebih dari satu, sebanyak nomor

tujuan yang ada

for(int i=0;i<splitedNoTlp.length;i++){

// Memeriksa penulisan apakah diawali dengan angka 0

atau tidak jika nomor lebih dari satu

if (splitedNoTlp[i].startsWith("0")) {

splitedNoTlp[i] = pdu.hapusNol(splitedNoTlp[i]);

splitedNoTlp[i] + "\n");

}

// Mendapatkan pesan dari JTextArea

String isiPesan = pesan.getText();

// Memanggil method setKirimSMS pada kelas PDU

dengan obyek pdu untuk mengirim pesan SMS

pdu.setKirimSMS(splitedNoTlp[i],isiPesan);

}

}

Listing 4.6

Listing

Mengirim SMS dengan Mengisi Nomor pada

Text Field

Pengiriman SMS juga dapat dilakukan kepada nomor-nomor tujuan

yang telah disimpan dalam tabel grup pada database. Hal ini terlihat pada

listing 4.7

if (!ComboGroup.getSelectedItem().equals("---")) {

try{

String SQL = "select b.no_tlp_peng FROM grup a inner

join phonebook b on a.idx_grup = b.idx_grup WHERE a.nama_grup =

(83)

ResultSet rs = konDB.selectData(SQL);

String NomerGrup = null;

rs.last();

rs.beforeFirst();

while(rs.next()) {

if (rs.getString(1).startsWith("0")) {

NomerGrup = pdu.hapusNol(rs.getString(1));

}

pdu.setKirimSMS(NomerGrup,pesan.getText());

}

rs.close();

} catch (SQLException ex) {

ex.printStackTrace();

System.out.println(ex.getMessage());

}

}

(84)

4.5.4 Panel

Phonebook

Perangkat Terkoneksi

Gambar 4.7

Panel

Phonebook

Pada panel

Phonebook

Perangkat Terkoneksi terdapat tombol yang

merupakan proses utama dalam halaman ini yaitu Baca Phonebook

Perangkat Terkoneksi. Tombol ini berfungsi untuk melakukan penmbacaan

data-data

phonebook

yang ada pada

handphone. Saat tombol ditekan maka

proses yang bekerja adalah pengiriman perintah

AT COMMAND

dari

aplikasi dikomputer kepada terminal. Kemudian terminal akan mengirim

respon balik yang akan diproses lebih lanjut oleh aplikasi.

Listing

(85)

public int listOfNumber(String param){

int returnValue = 0;

SMSUtil.kirimAT(atCommandPhonebookI,1500); String atCommandPhonebookII="AT+CPBS?"+"\15"; SMSUtil.kirimAT(atCommandPhonebookII,1500); returnValue = Integer.parseInt(konek.getInstance().getSerialBuffer().get(0).toStri ng());

System.out.println("Isi Memory HP : "+returnValue);

konek.getInstance().getSerialBuffer().clear();

return returnValue;

}

public void getAllPhonebookEntry(){

int temp = listOfNumber("SM")+1001;

for(int i=1001;i<=temp;i++){

String atCommandPhonebookIII="AT+CPBR="+i+"\15";

SMSUtil.kirimAT(atCommandPhonebookIII,600);

}

Iterator it =

konek.getInstance().getPhoneBuffer().iterator();

List a = konek.getInstance().getPhoneBuffer();List b = new

LinkedList();

System.out.println("Ukuran list number HP SM RokR :

"+a.size());

while(it.hasNext()){

System.out.println("hasil iterator HP SM RokR :

"+String.valueOf(it.next()));

}

int temp2 = listOfNumber("ME");

for(int i=1;i<=temp2;i++){

(86)

SMSUtil.kirimAT(atCommandPhonebookVI,600);

}

Iterator it2 =

konek.getInstance().getPhoneBuffer().iterator();

List g = konek.getInstance().getPhoneBuffer();List h = new

LinkedList();

System.out.println("Ukuran list number HP di ME :

"+g.size());

while(it2.hasNext()){

System.out.println("hasil iterator HP di ME :

"+String.valueOf(it2.next()));

}

int temp3 = listOfNumber("SM");

for(int j=1;j<=temp3;j++){

String atCommandPhonebookIV="AT+CPBR="+j+"\15";

SMSUtil.kirimAT(atCommandPhonebookIV,600);

}

Iterator it3 =

konek.getInstance().getPhoneBuffer().iterator();

List c = konek.getInstance().getPhoneBuffer();List d = new

LinkedList();

System.out.println("Ukuran list number HP SM siemens :

"+c.size());

while(it3.hasNext()){

System.out.println("hasil iterator HP SM siemens :

"+String.valueOf(it3.next()));

} int temp1 = listOfNumber("ME")+300; // digunakan

untuk membaca ME soner W302

for(int i=300;i<=temp1;i++){

String atCommandPhonebookV="AT+CPBR="+i+"\15";

(87)

Gambar

Tabel 2.1: Tipe Data dalam MySQL
Gambar 3.2 : Use Case Diagram Sistem Aplikasi SMS Manager
Gambar 3.3 : Class Diagram
Gambar 3.4 : Sequence Diagram Proses Menampilkan Nomor Perangkat
+7

Referensi

Dokumen terkait

Sidat berukuran 100 g mampu mengatur dan mengkompensasi oksigen yang rendah, tetapi tidak tahan terhadap konsentrasi karbondioksida yang tinggi (hypercapnia). Daya tahan yang

Manajer harus sangat berhati – hati dalam pengambilan keputusan pendanaan, sebab jumlah hutang yang semakin tinggi akan mengakibatkan financial distress yang

Jurusan Teknik Informatika merupakan salah satu jurusan yang ada di Universitas Sriwijaya dalam lingkungan Fakultas Ilmu Komputer (Fasilkom) bersama dengan

Jenis gaya kepemimpinan ini dalam mempengaruhi anggotanya menggunakan cara dan pola pendekatan melalui peningkatan kepedulian terhadap pentingnya nilai, sebagai acuan

Penelitian akan dilakukan dalam bentuk kuesioner yang berisi gambaran singkat tentang sebuah tingkah laku bullying dan responden diminta untuk merating motivasi

Metode penelitian yang digunakan dalam penelitian ini adalah kuantitatif. Karena jenis penelitian yang akan dilakukan adalah penelitian korelasi sebab dalam

Prednosti prototipne rešitve pred dosedanjim načinom dela: - urejena dokumentacija in podatki - hiter dostop do podatkov in zato tudi boljši pregled nad podatki - manj napak pri

Khas pada bangunan periode ini adalah bangunan berlantai banyak (Vertikalisme) dengan bentangan-bentang lebar, dan banyak menggunakan kaca pada eksteriornya,