APLIKASI SMS SERVER UNTUK PENYAMPAIAN PENGUMUMAN MAHASISWA
APLIKASI SMS SERVER
UNTUK PENYAMPAIAN PENGUMUMAN MAHASISWA
Skripsi Ditujukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika
Disusun oleh :
V. Aji Chandra Kumara 035314047
TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
APLIKASI SMS SERVER
UNTUK PENYAMPAIAN PENGUMUMAN MAHASISWA
Skripsi Ditujukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika
Disusun oleh :
V. Aji Chandra Kumara 035314047
TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
SMS SERVER APPLICATION
FOR SENDING AN ANNOUNCEMENT OF STUDENT
A THESIS Presented as Partial Fulfillment of the Requirements to Obtain the Sarjana Teknik Degree in Department of Informatics Technology
Created by:
V. Aji Chandra Kumara 035314047
DEPARTMENT OF INFORMATICS TECHNOLOGY
FACULTY OF SCIENCE AND TECHNOLOGY
HALAMAN PERSEMBAHAN
Karya ilmiah ini ku persembahkan untuk : Tuhan Yesus Kristus atas kasihNya
Bunda Maria Ibu dan Bapakku
Kakakku Saudara-saudaraku
Almamaterku Teknik Informatika Universitas Sanata Dharma khususnya angkatan 2003
HALAMAN MOTTO
Janganlah takut, sebab Aku menyertai engkau
(Yesaya 41 : 10)
Keberhasilan berasal dari tindakan-tindakan kecil
yang terus menerus.
Jangan pernah menunda-nunda pekerjaan.
Sebuah Keajaiban lahir dari
keyakinan dan kerja keras.
(Mario Teguh)
99% dari kegeniusan adalah perspirasi
(berkeringat atau kerja keras),
ABSTRAKSI
Tugas Akhir ini bertujuan untuk membangun suatu aplikasi SMS Server untuk Penyampaian Pengumuman Mahasiswa. Teknologi yang digunakan untuk membangunnya adalah bahasa pemrograman Java dan MySQL.
Aplikasi ini digunakan untuk mengirimkan pengumuman berupa perubahan jadwal kuliah kepada mahasiswa. Agar mahasiswa dapat menerima pengumuman melalui SMS di handphone nya, mahasiswa harus melakukan registrasi terlebih dahulu. Registrasi dapat dilakukan dengan cara mengirimkan SMS ke nomer handphone SMS server. Setiap terdapat perubahan jadwal kuliah petugas memasukkan data perubahan jadwal kuliah kemudian sistem secara otomatis akan mengirimkan pengumuman tersebut ke mahasiswa terkait.
ABSTRACT
The purpose of the final asingment is to build a sms server application for sending an annountcement of student using Java and MySQL.
The application is used to send an changing of schedule anouncement. First, student must sign in the system. Student send SMS to the application for registering. Student will get a SMS on their handphone every schedule changed.
KATA PENGANTAR
Puji dan syukur kepada Tuhan Yang Maha Esa yang telah mengaruniakan berkat dan hikmatNya 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 sehingga tugas akhir ini dapat diselesaikan. 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 St. Wisnu Wijaya, S.T., M.T. selaku panitia penguji yang telah memberikan banyak kritik dan saran 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 mendukung dalam mempersiapkan ujian pendadaran.
5. Seluruh staff dosen Teknik Informatika Universitas Sanata Dharma yang telah memberikan bekal ilmu, arahan dan pengalaman selama penulis menempuh studi.
DAFTAR ISI
HALAMAN JUDUL iHALAMAN PERSETUJUAN iii
HALAMAN PENGESAHAN iv
PERNYATAAN KEASLIAN KARYA v
HALAMAN PERSEMBAHAN vi
HALAMAN MOTTO vii
ABSTRAKS viii
ABSTRACT ix
KATA PENGANTAR xi
DAFTAR ISI xiii
DAFTAR GAMBAR xvi
DAFTAR TABEL xv
BAB 1 PENDAHULUAN
1.1 Latar Belakang Masalah
1
1.2 Rumusan Masalah
2
1.3 Batasan Masalah
3
1.4 Tujuan dan Manfaat Penulisan
3
1.5 Metodologi Penelitian
4
1.6 Sistematika Penulisan
5 BAB 2 LANDASAN TEORI
2.1.1 Analisis dan desain berorientasi objek.
7
2.1.1.1 Object Oriented Analysis (OOA)
7
2.1.1.2 Object Oriented Design (OOD)
7
2.1.2 UML (Unified Modelling Language)
9
2.2 SMS
11
2.2.1 SMS PDU Pengirim ( Mobile Originated )
13
2.2.1.1 Service Center Address ( SCA )
14
2.2.1.2 PDU Type
14
2.2.1.3 Message Reference ( MR )
14
2.2.1.4 Destination Address ( DA )
14
2.2.1.5 Protocol Identifier ( PID )
15
2.2.1.6 Data Coding Schema ( DCS )
15
2.2.1.7 Validity Period ( VP )
15
2.2.1.8 User Data Length ( UDL )
15
2.2.1.9 User Data ( UD )
15
2.2.2 SMS PDU Penerima ( Mobile Terminated )
15
2.2.2.1 SCA
16
2.2.2.2 PDU Type
16
2.2.2.3 Originator Address ( OA )
16
2.2.2.4 Protocol Identifier ( PID )
16
2.2.2.5 Data Coding Schema ( DCS )
16
2.2.2.6 Service Center Time Stamp ( SCTS )
17
2.2.2.8 User Data ( UD )
17
2.3 AT Comment
17
2.4 Java
18
2.4.1 Konsep Pemrograman Berorientasi Objek
19
2.4.2 Enkapsulasi, Pewarisan (inheritance), dan Polymorphisme
20
2.5 MySQL
20
2.6 JDBC
21
2.7 Java Communication Port
21 BAB III ANALISIS SISTEM DAN PERANCANGAN SISTEM
3.1 Analisis sistem
22
3.1.1 Gambaran umum sistem lama
22
3.1.2 Gambaran umum sistem baru
22
3.1.3 Actor yang terlibat dalam sistem
23
3.1.4 Use case diagram
24
3.1.4.1 Use Case Admin dan Petugas
24
3.1.4.2 Use Case Mahasiswa
26
3.1.5 Sequence diagram
27
3.1.5.1 Proses Login
27
3.1.5.2 Update User
28
3.1.5.2.1 Proses Menambah Data User
28
3.1.5.2.2 Proses Menggubah Data User
29
3.1.5.2.3 Proses Menghapus Data User
29
3.1.5.4 Update Mahasiswa
30
3.1.5.4.1 Proses Menambah Data Mahasiswa
30
3.1.5.4.2 Proses Mengubah Data Mahasiswa
31
3.1.5.4.3 Proses Menghapus Data Mahasiswa
32
3.1.5.4.4 Proses Melihat Data Mahasiswa
32
3.1.5.5 Update Pengumuman
33
3.1.5.5.1 Proses Mengirim dan Menerima Pengumuman
33
3.1.5.5.2 Proses Melihat Pengumuman
34
3.1.5.5.3 Proses Merubah Pengumuman
34
3.1.5.5.4 Proses Menghapus Pengumuman
35
3.1.5.6 Proses Cetak Pengumuman
36
3.1.5.7 Proses Mendaftar Account oleh Mahasiswa
36
3.1.5.8 Proses Login oleh Mahasiswa
37
3.1.5.9 Proses Merubah Nomer Handphone oleh Mahasiswa
38
3.1.5.10 Proses Merubah Password oleh Mahasiswa
38
3.1.5.11 Proses Menghapus Account oleh Mahasiswa
39
3.1.5.12 Proses Mengirim Pesan Info
40
3.1.5.13 Proses Backup Data oleh Admin
40
3.1.6 Class Diagram
41
3.2 Desain Sistem
43
3.2.1 Data Base Design
43
3.2.1.1 Tabel Mata Kuliah
43
3.2.1.3 Tabel Mahasiswa
53
51
3.2.1.16 Tabel Bantu Cetak Pengumuman
51
3.2.1.17 Tabel Bantu Cetak Pengumuman Bulan
52
3.2.1.18 Tabel Bantu Cetak SMS Terima
52
3.2.2 Rancangan Alat
3.2.3 Rancangan Sistem
50
55
3.2.3.1 Proses Mengirim Pesan oleh Mahasiswa
55
3.2.3.2 Proses Filtering Pesan
57
3.2.3.3 Proses Pengiriman Pengumuman oleh Aplikasi
59
61
3.2.1.15 Tabel Bantu Cetak Kategori
3.2.1.14 Tabel Ruang Kuliah
44
3.2.1.8 Tabel Kirim
3.2.1.4 Tabel Jadwal Mata Kuliah
44
3.2.1.5 Tabel Ambil Mata Kuliah
45
3.2.1.6 Tabel Reg Mahasiswa
46
3.2.1.7 Tabel History Ganti Nomer Handphone
46
47
50
3.2.1.9 Tabel Terima
47
3.2.1.10 Tabel Login
48
3.2.1.11 Tabel Pengumuman
48
3.2.1.12 Tabel Pra Kirim
49
3.2.1.13 Tabel Pemakaian Ruang
3.2.4 Rancangan User Interface
3.2.4.2 Form Utama
61
3.2.4.3 Form Setting Account
62
3.2.4.4 Form Koneksi
63
3.2.4.5 Form Tambah User
64
3.2.4.6 Form Lihat User
64
3.2.4.7 Form Tambah Mahasiswa
65
3.2.4.8 Form Lihat Mahasiswa
66
3.2.4.9 Form Kirim Pengumuman
66
3.2.4.10 Form Lihat Pengumuman
68
3.2.4.11 Form Lihat Detail Pengumuman
69 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
4.1 Spesifikasi Hardware dan Software
70
4.1.1 Spesifikasi Hardware
70
4.1.2 Spesifikasi Software
70
4.2 Implementasi Tampilan dan Jalan Kerja Aplikasi
71
4.2.1 Form Login
71
4.2.2 Form Utama
71
4.2.3 Logout
74
4.2.4 Form Setting Account
74
4.2.5 Form Koneksi 75 4.2.5.1 Thread pengecekan tabel terima.
78 4.2.5.2 Thread pengecekan tabel Kirim.
78
4.2.5.4 Thread pengecekan tabel Status Pengumuman.
79
4.2.6 Menu Exit
80
4.2.7 Form Tambah User
80
4.2.8 Form Lihat User
81
4.2.9 Form Tambah Mahasiswa
82
4.2.10 Form Lihat Mahasiswa
83
4.2.11 Form Kirim Pengumuman
84
4.2.12 Form Lihat Pengumuman
86
4.3 Implementasi Pengiriman dan Penerimaan SMS
88
4.3.1 Membalik Karakter Pada Format PDU
89
4.3.2 Mengubah Nilai Desimal Menjadi Heksadesimal
89
4.3.3 Mengubah 8 Bit Menjadi 7 Bit
90
4.3.4 Mengubah 7 Bit Menjadi 8 Bit
92
4.3.5 Mengubah Format Pesan PDU menjadi Teks
93
4.3.6 Mengubah Format Pesan Teks menjadi PDU
94 BAB V ANALISIS HASIL
5.1 Manfaat dan Kemudahan yang Diberikan oleh Aplikasi
96
5.2 Kelebihan dan Kekurangan Aplikasi
96 BAB VI KESIMPULAN DAN SARAN
6.1 Kesimpulan
98
6.2 Saran
98 DAFTAR PUSTAKA 100
DAFTAR GAMBAR
25 Gambar 3.2 Use Case Mahasiswa
31 Gambar 3.10 Sequence Diagram Proses Menghapus Data Mahasiswa
31 Gambar 3.9 Sequence Diagram Proses Merubah Data Mahasiswa
30 Gambar 3.8 Sequence Diagram Proses Menambah Data Mahasiswa
29 Gambar 3.7 Sequence Diagram Proses Melihat Data User
29 Gambar 3.6 Sequence Diagram Proses Hapus Data User
28 Gambar 3.5 Sequence Diagram Proses Mengubah Data User
27 Gambar 3.4 Sequence Diagram Proses Menambah User
26 Gambar 3.3 Sequence Diagram Proses Login
16 Gambar 3.1 Use Case Admin dan Petugas
Gambar 2.1 Simbol Entity Object14 Gambar 2.9 Skema Format SMS PDU Penerima
13 Gambar 2.8 Skema Format SMS PDU Pengirim
11 Gambar 2.7 Skema Cara Kerja SMS
10 Gambar 2.6 Simbol Association
10 Gambar 2.5 Simbol Actor
9 Gambar 2.4 Simbol Use-Case
9 Gambar 2.3 Simbol Control Object
8 Gambar 2.2 Simbol Interface Object
32
Gambar 3.13 Sequence Diagram Proses Melihat Pengumuman42 Gambar 3.25 Handphone Siemens C55
63 Gambar 3.33 Form Tambah User
63 Gambar 3.32 Form Koneksi
62 Gambar 3.31 Form Setting Account
61 Gambar 3.30 Form Utama
59 Gambar 3.29 Form Login
55 Gambar 3.28 Flow Chart Filtering Pesan
54 Gambar 3.27 Rancangan Aplikasi
54 Gambar 3.26 Kabel Data RS232
41 Gambar 3.24 Class Diagram
34 Gambar 3.14 Sequence Diagram Proses Melihat Pengumuman
40 Gambar 3.23 Sequence Diagram Proses Backup Data oleh Admin
39 Gambar 3.22 Sequence Diagram Proses Mengirim Pesan oleh Mahasiswa
39 Gambar 3.21 Sequence Diagram Proses Menghapus Account oleh Mahasiswa
38 Gambar 3.20 Sequence Diagram Proses Merubah Password oleh Mahasiswa
37 Gambar 3.19 Sequence Diagram Proses Merubah Nomer Handphone oleh Mahasiswa
37 Gambar 3.18 Sequence Diagram Proses Login oleh Mahasiswa
36 Gambar 3.17 Sequence Diagram Proses Daftar Account
35 Gambar 3.16 Sequence Diagram Proses Cetak Pengumuman
35 Gambar 3.15 Sequence Diagram Proses Menghapus Pengumuman
64
Gambar 3.36 Form Lihat Mahasiswa80 Gambar 4.9 Form Lihat User
87 Gambar 4.17 Form Edit Pengumuman
86 Gambar 4.16 Klik Kanan Lihat Pengumuman
85 Gambar 4.15 Form Lihat Pengumuman
84 Gambar 4.14 Form Kirim Pengumuman
83 Gambar 4.13 Klik Kanan Lihat Mahasiswa
82 Gambar 4.12 Form Lihat Mahasiswa
82 Gambar 4.11 Form Tambah Mahasiswa
81 Gambar 4.10 Klik Kanan Lihat User
80 Gambar 4.8 Form Tambah User
66 Gambar 3.37 Form Kirim Pengumuman
79 Gambar 4.7 Konfirmasi Exit
77 Gambar 4.6 Form Utama Setelah Selesai Diatur Nilai Parameter
75 Gambar 4.5 Form Koneksi
74 Gambar 4.4 Form Setting Account
73 Gambar 4.3 Konfirmasi Logout
72 Gambar 4.2 Form Utama
69 Gambar 4.1 Form Login
68 Gambar 3.39 Form Lihat Detail Pengumuman
67 Gambar 3.39 Form Lihat Pengumuman
87
DAFTAR TABEL
48 Tabel 3.10 Tabel Login
52 Tabel 3.18 Tabel Bantu Cetak SMS Terima
52 Tabel 3.17 Tabel Bantu Cetak Pengumuman Bulan
51 Tabel 3.16 Tabel Bantu Cetak Pengumuman
51 Tabel 3.15 Tabel Bantu Cetak Kategori
50 Tabel 3.14 Tabel Ruang Kuliah
50 Tabel 3.13 Tabel Pemakaian Ruang
49 Tabel 3.12 Tabel Pra Kirim
48 Tabel 3.11 Tabel Pengumuman
47 Tabel 3.9 Tabel Terima
Tabel 2.1 Tabel AT Command47 Tabel 3.8 Tabel Kirim
46 Tabel 3.7 History Ganti Nomer Handphone
46 Tabel 3.6 Tabel Reg Mahasiswa
45 Tabel 3.5 Tabel Ambil Mata Kuliah
44 Tabel 3.4 Tabel Jadwal Mata Kuliah
43 Tabel 3.3 Tabel Mahasiswa
43 Tabel 3.2 Tabel Dosen
18 Tabel 3.1 Tabel Mata Kuliah
53
BAB I PENDAHULUAN
1.1. Latar Belakang Masalah
Teknologi mengalami perkembangan yang pesat. Banyak pekerjaan manusia yang dulunya dirasakan berat, membutuhkan banyak waktu atau tidak mungkin dikerjakan sekarang menjadi lebih mudah. Salah satu teknologi yang berkembang adalah diciptakannya telepon seluler atau handphone .
Handphone menjadi teknologi komunikasi yang populer karena banyak orang memanfaatkannya untuk melakukan komunikasi jarak jauh.
Salah satu fitur dari handphone adalah Short Message Service (SMS). SMS dikembangkan dan distandarisasi oleh European Telecommunication
Standard Institute (ETSI). Dibandingkan surat atau fax, sms mempunyai
keunggulan. Keunggulan tersebut antara lain ; tarif pengiriman SMS yang murah, waktu penyampaian sms relatif cepat dan kemungkinan sampai penerima besar walaupun tergantung pada operator yang digunakan, tingginya traffic , area jangkauan dan handphone yang dikirimi sms hidup atau tidak.
Karena keunggulannya, SMS banyak dikembangkan untuk penyampaian informasi : cuaca, kurs mata uang, jadwal penerbangan, polling, kuis dan lain- lain. perubahan jadwal kuliah pun demikian. Untuk mengetahui informasi perubahan jadwal, mahasiswa harus melihatnya di papan pengumuman. Hal ini kurang efisien dan membuat mahasiswa kerepotan. Mahasiswa diharuskan bolak-balik ke kampus untuk mengikuti kuliah yang diundur dari jadwal seharusnya. Hal ini akan semakin merepotan jika saat itu terjadi hujan. Mahasiswa yang berniat mengikuti kuliah harus ke kampus melewati derasnya hujan tetapi begitu sampai di kampus ternyata kuliah diundur ataupun kosong.
Saat ini hampir setiap mahasiswa Teknik Informatika menggunakan
handphone sebagai sarana komunikasi. Kerena latar belakang tersebut, akan
menjadi lebih efisien jika pengumuman perubahan jadwal kuliah disampaikan kepada mahasiswa lewat SMS. Setiap terdapat perubahan jadwal kuliah mahasiswa yang mengambil kuliah tersebut akan mendapatkan informasi melalui SMS. Dengan adanya sistem ini mahasiswa akan terbantu untuk mendapatkan informasi yang lebih awal.
Atas dasar tersebut, maka penulis mengambil judul Tugas Ahkir “Aplikasi SMS Server untuk Penyampaian Pengumuman Mahasiswa”.
1.2. Rumusan Masalah
Rumusan masalah dalam pembuatan aplikasi ini adalah “Bagaimana membangun aplikasi penyampaian pengumuman perubahan jadwal kuliah kepada mahasiswa peserta kuliah mengunakan teknologi SMS.”
1.3. Batasan Masalah
Batasan masalah dalam pembuatan aplikasi ini adalah sebagai berikut :
1. Aplikasi dibangun dengan bahasa pemrograman java dan database MySQL.
2. Memanfaatkan handphone Siemens C55 sebagai alat penerima dan pengirimam SMS serta kabel data sebagai alat untuk menghubungan komputer dan handphone .
3. SIM card yang digunakan hanya SIM card yang berlaku di Indonesia.
4. Aplikasi tidak menangani gangguan yang terjadi pada operator.
5. Sistem tidak menangani masalah pembebanan biaya yang dikeluarkan untuk pengiriman pengumuman melalui SMS.
6. Aplikasi hanya dijalankan oleh admin dan petugas.
1.4. Tujuan dan Manfaat Penulisan
Tujuan diadakan penelitian ini adalah membangun aplikasi sms server untuk penyampaian pengumuman perubahan jadwal kuliah kepada mahasiswa. Adapun manfaat dari pembuatan aplikasi ini adalah mahasiswa dapat mengetahui pengumuman perubahan jadwal kuliah dengan cepat dan akurat.
1.5. Metodologi Penelitian
1. Studi Pustaka Penulis mencari literatur tentang bagaimana membangun sebuah aplikasi SMS server dengan menggunakan bahasa pemrograman Java dan
data base MySQL
2. Pengembangan perangkat lunak dengan metode pengembangan perangkat lunak berorientasi objek (Whitten, 2004), dengan langkah-langkah sebagai berikut: i. System Analysis
Dengan melakukan observasi, yaitu Mengadakan pengamatan langsung kepada objek dalam hal ini fakultas Teknik Informatika Universitas Sanata Dharma Yogyakarta dapat diketahui gambaran umum sistem lama termasuk actor-actor yang terlibat dalam sistem.
Sehingga dapat dianalisis masalah-masalah yang ada dalam sistem tersebut. Dengan adanya masalah tersebut maka diusulkan cara mengatasinya yaitu dengan pembuatan sistem baru. Dokumentasi usulan sistem baru ini terdiri :
1. Use Case Diagram Dari Use Case Diagram dapat diketahui peran dari masing-masing actor
2. Squence Diagram
3. Class Diagram Gambar grafis mengenai struktur suatu objek statis dari suatu sistem, menunjukkan kelas – kelas objek yang menyusun sebuah sistem dan juga hubungan antara kelas objek tersebut. (Whitten, 2004) ii. System Design.
System Design terdiri dari : 1. Perancangan database.
2. Perancangan user interface.
3. Perancangan alat yang digunakan dalam sistem. iii. Implementasi
Mengkonversikan semua bentuk rancangan ke dalam program yang dapat berjalan dengan baik. iv. Testing Melakukan pengujian apakah sistem dapat berjalan dengan baik.
Pengujian dilakukan sebatas mencoba di laboraturium.
1.6. Sistematika Penulisan Sistematika penulisan tugas ahkir ini terbagi dalam enam bab.
BAB I PENDAHULUAN Bab ini berisikan latar belakang masalah, batasan masalah, tujuan dan
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 berisikan pembahasan mengenai analisis dan perancangan sistem yang akan dibuat. BAB IV IMPLEMENTASI Bab ini berisikan penjelasan mengenai implementasi rancangan yang telah dibuat ke dalam suatu program. BAB V ANALISIS HASIL Bab ini berisikan jawaban atas permasalahan yang dinyatakan pada bagian pendahuluan dan juga kelebihan, kekurangan dan prospek pengembangan sistem.
BAB VI PENUTUP Bab ini berisikan kesimpulan yang dapat diambil dari penelitian yang telah dilakukan dan saran-saran untuk pengembangan sistem selanjutnya.
BAB II LANDASAN TEORI P P a a d d a a b b a a b b i i n n i i d d i i b b a a h h a a s s l l a a n n d d a a s s a a n n t t e e o o r r i i y y a a n n g g d d i i g g u u n n a a k k a a n n d d a a l l a a m m p p e e r r a a n n c c a a n n g g a a n n p e n y a m p a i a n p e n g u m u m a n k e p a d a m a h a s i s w a .
p e n y a m p a i a n p e n g u m u m a n k e p a d a m a h a s i s w a .
2.1 Pengembangan Perangkat Lunak Berorientasi Objek
Pendekatan berorientasi objek pada pengembangan sistem didasarkan pada konsep tentang objek yang telah ada pada sebuah lingkungan sistem. Objek diartikan sesuatu yang dapat dilihat, disentuh atau dirasakan. User dapat menyimpan data serta mencatat perilaku mengenai sesuatu itu.
2.1.1 Analisis dan desain berorientasi objek.
2.1.1.1 Object Oriented Analysis (OOA) Object Oriented Analysis merupakan pendekatan yang
digunakan untuk mengidentifikasikan fungsionalitas dari kebutuhan sistem dari perspektif user dan mengidentifikasikan objek, atribut,
behaviour , dan relasi yang mendukung kebutuhan fungsional
sistem.(Whitten, 2004)
2.1.1.2 Object Oriented Design (OOD) Object Oriented Design merupakan pendekatan yang
digunakan untuk menspesifikasikan solusi perangkat lunak dalam
Pada Object Oriented Design (OOD) ini dibagi menjadi tiga jenis objek yaitu:
1. Entity Object
Entity object memuat informasi tentang objek tersebut yang
disebut attribute. Entity object bersifat menetap/persisten yang dapat diartikan bahwa objek tersebut “aktif/hidup” setelah mengeksekusi sebuah progam dan disimpan dalam database. Simbol Entity Object disajikan pada gambar 2.1
Gambar 2.1 Simbol Entity Object (Whitten,2004)2. Interface Object Adalah sebuah objek yang menyediakan media di mana pengguna dapat berkomunikasi dengan sistem. Pengguna dapat berkomunikasi menggunakan antarmuka/interface.
Tugas dari Interface Entity adalah:
1. Menterjemah inputan dari pengguna ke dalam informasi sehingga dapat dipahami oleh sistem dan digunakan untuk memproses peristiwa bisnis.
2. Mengambil data yang berkaitan dengan peristiwa bisnis dan menerjemahkan data tersebut kepada pengguna.
Gambar 2.2 Simbol Interface Object (Whitten,2004)3. Control Object Adalah objek yang berisi aplikasi logika yang bukan merupakan tanggung jawab entity object.
Simbol Control Object disajikan pada gambar 2.3
Gambar 2.3 Simbol Control Object (Whitten,2004) Gambar 2.3 Simbol Control Object (Whitten,2004)2.1.2 UML (Unified Modelling Language)
UML merupakan konfensi/perjanjian tentang sekumpulan modeling digunakan untuk menspesifikan dan menjelaskan sistem
software dan hardware dalam bentuk objek (Whitten, 2004). UML tidak
menemukan sebuah metode untuk mengembangkan sistem tetapi hanya berupa notasi.
UML mendefinisikan diagram-diagram berikut:
1. Use-Case
Use-Case adalah permodelan yang mengidentifikasikan dan
menggambarkan fungsi-fungsi sistem dengan menggunakan alat menggambarkan secara grafis siapa yang menggunakan sistem dan dengan cara apa pengguna mengharapkan untuk berinteraksi dengan sistem.
Komponen-komponen use-case diagram adalah:
1. 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). Disajikan pada gambar 2.4.
UseCase
Gambar 2.4 Simbol Use-Case (Whitten,2004)2. Actor adalah segala sesuatu yang perlu berinteraksi dengan sistem untuk pertukaran informasi (Whitten,2004). Disajikan pada gambar 2.5
Gambar 2.5 Simbol Actor (Whitten,2004)3. Association (Gabungan) adalah hubungan antara actor dengan
use case di mana terjadi interaksi di antara mereka (Whitten,
UseCase Actor
Gambar 2.6 Simbol Association (Whitten,2004)2. Class Diagram Merupakan gambar grafis mengenai struktur objek statis dari suatu sistem, menunjukan kelas-kelas objek yang menyusun sebuah sistem dan juga hubungan antar kelas objek tersebut (Whitten, 2004).
3. Sequence Diagram Menjelaskan interaksi objek yang disusun dalam suatu urutan waktu.
Diagram ini secara khusus berasosiasi dengan use case. Sequence
Diagram memperlihatkan tahap demi tahap apa yang seharusnya terjadi untuk menghasilkan sesuatu didalam use case (Whitten, 2004).
2.2 SMS
Short Messaging Service (SMS) merupakan salah satu fitur dari handphone yang dikembangkan dan distandarisasi oleh ETSI (European Telecommunications Standarts Institute ). SMS pada awalnya menjadi suatu
standar untuk telphone wireless yang berbasis GSM ( Global System for
Mobile Communications ). Namun perkembangan teknologi lain seperti
SMS memiliki daya tampung yang sangat terbatas. Satu SMS yang dikirimkan hanya dapat menampung paling banyak sebesar 160 karakter latin atau 70 karakter non latin seperti karakter cina atau jepang.
Prinsip kerja pengiriman SMS adalah store and forward. Pada saat kita mengirimkan sms dari handphone, sms yang kita kirim tersebut tidak langung dikirim ke nomer tujuan tetapi terlebih dahulu akan dikirim ke SMS Center (SMSC), setelah itu sms tersebut baru dikirimkan ke handphone yang dituju.
Melalui SMSC kita akan mengetahui apakah sms yang kita kirim sudah sampai atau gagal diterima oleh handphone tujuan. Jika sms tersebut berhasil diterima oleh handphone penerima maka handphone penerima akan mengirimkan kembali pesan konfirmasi ke SMSC yang menyatakan bahwa SMS tersebut sudah diterima. Selajutnya SMSC akan mengirimkan status tersebut ke handphone pengirim. Tetapi apabila handphone penerima dalam keadaan mati atau di luat jaringan maka sms yang dikirim tersebut akan disimpan di SMSC sampai periode validitas terpenuhi. Jika sampai periode validitas terlewati maka sms tersebut akan dihapus dari SMSC. SMSC kemudian akan mengirimkan pesan bahwa sms yang telah dikirim oleh pengirim gagal diterima oleh penerima. Disajikan pada gambar 2.7 Pengirim Penerima
SMSC SMSC
Gambar 2.7 Skema Cara Kerja SMSDalam pengiriman dan penerimaan SMS terdapat dua mode, yaitu mode teks dan mode Protocol Data Unit (PDU). Mode teks berbentuk teks asli yang dituliskan pada saat akan mengirimkan pesan. Sebenarnya mode teks merupakan hasil pengkodean dari mode PDU. Mode PDU berbentuk octet heksadesimal dan octet semidesimal.
Pada pengiriman pesan terdapat dua jenis mobile, yaitu Mobile
Terminated (Handphone Penerima) dan Mobile Originated (Handphone
Pengirim).2.2.1 SMS PDU Pengirim ( Mobile Originated )
SMS PDU Pengirim adalah pesan yang dari handphone ke terminal yang kemudian dikirimkan ke SMSC. Prinsipnya bila kita
Pesan yang akan dikirim ke terminal masih dalam bentuk teks, sedangkan pengiriman ke SMSC harus dalam bentuk PDU. Sebelum melakukan pengiriman terminal atau handphone akan melakukan perubahan dari format teks menjadi format PDU. Proses ini sering disebut proses encode. Skema format SMS PDU pengirim disajikan pada gambar 2.8
2.2.1.1 Service Center Address ( SCA )
Adalah informasi dari alamat (nomor) SMSC. Memiliki 3 komponen utama yaitu len, type of number, dan service center
number . Dalam pengiriman pesan SMS, nomor SMSC tidak dicantumkan.
2.2.1.2 PDU Type
Nilai default dari PDU Type untuk SMS pengirim adalah 11 hexa.
2.2.1.3 Message Reference ( MR ) MR adalah acuan dari pengaturan pesan SMS. Nilai default 00.
2.2.1.4 Destination Address ( DA )
Gambar 2.8 Skema Format SMS PDU PengirimSCA PDU Type
MR DA PID DCS
VP UDL UD
2.2.1.5 Protocol Identifier ( PID )
Adalah tipe dari cara pengiriman pesan, yang biasanya diatur dari handphone pengirim. Misalnya tipe standard text, fax,
email , telex, X400.
Nilai default dari PID adalah 00 = “Standard Text”.
2.2.1.6 Data Coding Schema ( DCS )
Adalah rencana dari pengkodean data untuk menentukan kelas dari pesan. Antara lain berupa SMS teks standard, Flash SMS atau bliking SMS. DCS untuk teks standard adalah 00.
2.2.1.7 Validity Period ( VP )
Adalah lama waktu SMS disimpan dalam SMSC apabila pesan gagal diterima oleh handphone penerima.
2.2.1.8 User Data Length ( UDL )
Adalah panjangnya SMS yang akan dikirim dalam bentuk teks standard.
2.2.1.9 User Data ( UD )
Adalah isi pesan yang akan dikirim dalam format heksadesimal.
2.2.2 SMS PDU Penerima ( Mobile Terminated )
SMS PDU Penerima adalah terminal menerima pesan yang setelah itu terminal handphone yang menerima pesan akan melakukan pengkodean menjadi teks. Format PDU SMS Penerima disajikan pada gambar 2.9
SCA PDU Type OA PID DCS SCTS UDL UD
Gambar 2.9 Skema Format SMS PDU Penerima2.2.2.1 SCA
Adalah alamat dari SMSC. SCA memiliki 3 komponen utama yaitu len, type of number, dan service center number.
2.2.2.2 PDU Type
Nilai default dari PDU Type untuk SMS-Deliver adalah 04 hexa.
2.2.2.3 Originator Address ( OA )
Adalah nomor dari pengirim. Terdiri dari panjang nomor pengirim (len), format dari nomor pengirim (Type Number), dan nomor pengirim (Originator Number).
2.2.2.4 Protocol Identifier ( PID )
Adalah tipe atau format dari pengiriman pesan. Biasanya diatur dari handphone pengirim. Nilai defaultnya 00 (standard text).
2.2.2.5 Data Coding Schema ( DCS )
2.2.2.6 Service Center Time Stamp ( SCTS )
Adalah waktu penerimaan pesan oleh SMSC penerima. SCTC terdiri atas tahun, bulan, tanggal, jam , menit, detik dan zona waktu.
2.2.2.7 User Data Length ( UDL )
Adalah panjang pesan yang diterima dalam bentuk teks standard .
2.2.2.8 User Data ( UD ) Adalah pesan yang diterima dalam format heksadesimal.
2.3 AT Comment
AT Comment adalah perintah-perintah yang digunakan dalam komunikasi dengan serial port. Lewat AT Command dapat diketahui vendor dari handphone yang digunakan, kekuatan sinyal, membaca pesan yang ada di SIM Card , mengirim pesan, mendeteksi pesan baru, menghapus pesan.
Adapun perintah AT Command yang digunakan disajikan pada tabel
2.1
AT Command Keterangan
AT Mengecek apakah handphone telah terhubung AT + CMGF Menetapakan format mode dari terminal
AT + CSCS Menetapkan jenis encoding AT + CNMI Mendeteksi pesan SMS baru masuk secara otomatis
AT + CMGL Membuka daftar SMS yang ada pada SIM Card AT + CMGS Mengirim pesan
AT + CMGR Membaca pesan AT + CMGD Menghapus pesan
Tabel 2.1 Tabel AT Command2.4 Java
Java diciptakan oleh Sun Microsystems. Java merupakan bahasa pemrograman yang murni object oriented. Seperti bahasa pemrograman lainya (Pascal atau C++), Java digunakan untuk membuat program. Java mendukung sumber daya internet dan aplikasi client/server.
Java memiliki dua jenis hasil program yaitu :
1. Applet Applet adalah bentuk aplikasi java yang banyak dibuat. Applet biasanya diletakkan dalam sebuah web-page. Web-page tersebut diletakkan dalam sebuah server.
2. Aplikasi Merupakan program Java yang bersifat umum, sehingga dapat secara
1. Java bersifat sederhana dan relatif murah.
2. Java merupakan bahasa pemrograman berorientasi objek (Object Oriented Programming).
3. Java bersifat terdistribusi.
4. Java bersifat multiplatform.
5. Java bersifat MultiThread.
2.4.1 Konsep Pemrograman Berorientasi Objek
Merupakan konsep pemrograman yang difokuskan pada penciptaan kelas yang merupakan abstraksi dari suatu objek. Kelas tersebut harus menggandung sifat (data) dan tingkah laku (method) umum yang dimiliki oleh objek-objek yang nantinya akan dibuat.
Beberapa istilah dalam konsep pemrograman berorientasi objek antara lain:
1. Objek Objek adalah kesatuan entitas (benda), baik yang berwujud nyata ataupun hanya suatu sistem atau konsep yang memiliki sifat karakteristik dan fungsi.
2. Kelas Kelas merupakan pemodelan dari objek yang berisi informasi tentang sifat karakteristik (data) dan tingkah laku (method) yang dimiliki oleh objek tersebut.
3. Instance (Instans) Instans adalah perwujudan. Dalam pemrograman berorientasi, objek merupakan instans (perwujudan) dari suatu kelas.
2.4.2 Enkapsulasi, Pewarisan ( inheritance), dan Polymorphisme
a. Enkapsulasi Merupakan cara membungkus data dan method yang menyusun kelas sehingga kelas dapat dipandang sebagai suatu modul. Termasuk didalamnya adalah menentukan tingkat akses dari masing-masing data dan method serta menyembunyikan detail implementasinya.
b. Inheritance (Pewarisan)
Inheritance merupakan proses pewarisan seluruh data dan method
yang dimiliki oleh suatu kelas kepada kelas lainnya. Kelas yang mewariskan disebut dengan Kelas Super, sedangkan kelas yang diwariskan disebut dengan Subkelas.
c. Polymorphism
Polymorphism merupakan suatu konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan prilaku berbeda.
2.5 MySQL
MySQL merupakan software system manajeman database (Database
Managemet System – DBMS) yang popular dimana dalam pengolahan data
dan pengaksesan database server menggunakan perintah Structure Query
2.6 JDBC Java Database Connectivity adalah versi ODBC yang dibuat oleh Sun
Microsystems. JDBC sepenuhnya dibangun dengan Java API sehingga dapat dipakai cross-platform.
Dengan JDBC API kita dapat mengakses database dari vendor-vendor server database ternama seperti Oracle, Sybase, Informix, Interbase, MySQL.
Setiap server dari vendor berbeda memerlukan driver yang berbeda pula. Dengan JDBC kita dapat mengirimkan perintah-perintah SQL ke RDBMS.
2.7 Java Communication Port
Pada Java 2 Standard Development Kit ( Java 2 SDK ) belum disediakan fasilitas untuk hubungan dengan serial port. Untuk itu perlu ditambahkan paket kelas untuk hubungan dengan serial port. Nama kelas tersebut adalah Java Communication Port. Paket kelas tersebut dapat didownload di alamat URL: http://dmap.nrlssc.navy.mil/dmap/gidb2/faq.jsp (diakses terahkir 13 Oktober 2008).
BAB III ANALISIS DAN PERANCANGAN SISTEM P P a a d d a a b b a a b b i i n n i i d d i i b b a a h h a a s s a a n n a a l l i i s s i i s s d d a a n n p p e e r r a a n n c c a a n n g g a a n n s s i i s s t t e e m m p p e e n n y y a a m m p p a a i i a a n n p e n g u m u m a n m a h a s i s w a .
p e n g u m u m a n m a h a s i s w a .
3.1 System Analysis
3.1.1 Gambaran umum sistem lama
Saat ini Universitas Sanata Dharma khususnya jurusan Teknik Informatika dalam penyampaian pengumumannya dilakukan dengan cara menempelkan di papan pengumuman atau memasang di web Teknik Informatika. Hal ini sudah cukup membantu mahasiswa. Tetapi menjadi kurang efisien jika mahasiswa yang bersangkutan tidak dapat datang ke kampus ataupun membuka web untuk melihat pengumuman tersebut. Pengumuman yang sifatnya penting seperti perubahan jadwal kuliah yang dimajukan, diundur ataupun kosong tidak dapat diketahui oleh mahasiswa secara cepat.
3.1.2 Gambaran umum sistem baru
Sistem yang akan dibangun untuk mengatasi masalah tersebut adalah dengan sistem yang memanfaatkan komputer dan SMS sebagai media penyampaian pengumuman kepada mahasiswa. Melalui sistem ini mahasiswa yang telah terdaftar dalam sistem dan terkait dengan
Adapun urutan kerja dari sistem ini adalah sebagai berikut
1. Petugas menerima informasi berupa perubahan jadwal kuliah dari dosen.
2. Petugas menginputkan informasi tersebut.
3. Sistem melakukan seleksi mahasiswa.
4. Sistem mengirimkan pengumuman ke mahasiswa terkait yang telah diseleksi.
3.1.3 Actor yang terlibat dalam sistem
Dalam aplikasi SMS server melibatkan 3 actor yaitu :
1. User
User dibagi menjadi dua actor yaitu
a. Admin
Actor yang bertangung jawab atas berjalannya sistem. Baik
dalam hal pengolahan ataupun pemberian hak akses baik kepada user ataupun mahasiswa.
b. Petugas
Actor yang bertugas menginputkan pengumuman. Petugas tidak mempunyai hak untuk melakukan perubahan dalam sistem.
2. Mahasiswa Merupakan acto r yang menerima atau memanfaatkan pengumuman.
3.1.4 Use case diagram
3.1.4.1 Use Case Admin dan Petugas
Use case admin dan petugas menampilkan aktifitas admin
dan petugas dalam sistem. Sebelum melakukan segala aktifitas admin dan petugas harus melakukan login. Setelah login admin dapat melihat, menambah, mengubah ataupun menghapus data user dan mahasiswa. Admin dapat melakukan penghapusan terhadap pengumuman. Petugas dapat melihat data mahasiswa, mengirim pengumuman, melihat pengumuman, merubah pengumuman. Petugas dapat mencetak laporan pengumuman. Disajikan pada gambar 3.1
Login <<depand on>> Petugas
Admin Menghapus Pengum uman Melihat Pengumuman Mengirim Pengum uman Melakukan Backup Data Cetak Data Melihat Data User Menambah Data User Menambah Data Mahasiswa Melihat Data Mahasiswa Merubah Pengumuman Merubah Data User Menghapus Data User Menghapus Data Mahasiswa Merubah Data Mahasiswa
Gambar 3.1 Use Case Admin dan Petugas2
5
3.1.4.2 Use Case Mahasiswa
Use case mahasiswa manampilkan aktifitas mahasiswa
dalam sistem. Mahasiswa harus melakukan pendaftaran terlebih dahulu sebelum menerima pengumuman, merubah
password , merubah nomer handphone yang digunakan dan
keluar dari aplikasi. Disajikan pada gambar 3.2 Mahasiswa Mendaftar Account Login <<depands on>>
<< depands on>>
Mengirim Pes an Info Menerima Pengumuman Merubah Password Merubah Nomor Handphone Menghapus Account
Gambar 3.2 Use Case Mahasiswa3.1.5 Sequence diagram
3.1.5.1 Proses Login
Sequence diagram untuk proses login disajikan dalam gambar 3.3 : layar login : login control : login : Admin
: Petugas memasukkan data memasukkan data lihat_login() select data edit_login() update data konfirmasi login
Gambar 3.3 Sequence Diagram Proses Login3.1.5.2 Update user
3.1.5.2.1 Proses Menambah Data User
Sequence diagram untuk proses menambah data user disajikan
dalam gambar 3.4 : Admin Masukkan Data User Simpan Data User : Layar User : User Control : login tambah_login() insert user
konfirmasi data telah ditambah
Gambar 3.4 Sequence Diagram Proses Menambah User3.1.5.2.2 Proses Menggubah Data User
Sequence diagram untuk proses mengubah data user disajikan
dalam gambar 3.5
: Admin : Layar User : User Control : login mem asukkan data baru user simpan data baru user edit_login() update data konfirmasi data telah dirubah
Gambar 3.5 Sequence Diagram Proses Mengubah Data User3.1.5.2.3 Proses Menghapus Data User
Sequence diagram untuk proses menghapus user disajikan dalam
gambar 3.6
: Admin : Layar User : User Control : login
Masukkan data user hapus_login() delete data konfirmasi data telah dihapus