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
UNIVERSITAS SANATA DHARMA
i 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
UNIVERSITAS SANATA DHARMA
ii
SMS SERVER APPLICATION
FOR SENDING AN ANNOUNCEMENT OF STUDENT
A THESIS
Presented as Partial Fulfillment of the Requirements to Obtain theSarjana TeknikDegree
in Department of Informatics Technology
Created by: V. Aji Chandra Kumara
035314047
DEPARTMENT OF INFORMATICS TECHNOLOGY
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
vi
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
vii
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),
bukanlah inspirasi.
viii 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.
ix
sending an annountcement of student using Java and MySQL.
xi
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.
xiii
HALAMAN 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
xiv
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
xv
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
xvi
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
xvii
3.2.1.6 Tabel Reg Mahasiswa 46
3.2.1.7 Tabel History Ganti Nomer Handphone 46
3.2.1.8 Tabel Kirim 47
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 50
3.2.1.14 Tabel Ruang Kuliah 50
3.2.1.15 Tabel Bantu Cetak Kategori 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 53
3.2.3 Rancangan Sistem 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
3.2.4 Rancangan User Interface 61
xviii
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
BAABBIIVVIIMMPPLLEEMMEENNTTAASSII
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
xix
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
xx
DAFTAR GAMBAR
Gambar 2.1 Simbol Entity Object 8
Gambar 2.2 Simbol Interface Object 9
Gambar 2.3 Simbol Control Object 9
Gambar 2.4 Simbol Use-Case 10
Gambar 2.5 Simbol Actor 10
Gambar 2.6 Simbol Association 11
Gambar 2.7 Skema Cara Kerja SMS 13
Gambar 2.8 Skema Format SMS PDU Pengirim 14
Gambar 2.9 Skema Format SMS PDU Penerima 16
Gambar 3.1 Use Case Admin dan Petugas 25
Gambar 3.2 Use Case Mahasiswa 26
Gambar 3.3 Sequence Diagram Proses Login 27
Gambar 3.4 Sequence Diagram Proses Menambah User 28
xxi
Gambar 3.16 Sequence Diagram Proses Cetak Pengumuman 36 Gambar 3.17 Sequence Diagram Proses Daftar Account 37 Gambar 3.18 Sequence Diagram Proses Login oleh Mahasiswa 37 Gambar 3.19 Sequence Diagram Proses Merubah Nomer Handphone oleh Mahasiswa 38 Gambar 3.20 Sequence Diagram Proses Merubah Password oleh Mahasiswa 39 Gambar 3.21 Sequence Diagram Proses Menghapus Account oleh Mahasiswa 39 Gambar 3.22 Sequence Diagram Proses Mengirim Pesan oleh Mahasiswa 40 Gambar 3.23 Sequence Diagram Proses Backup Data oleh Admin 41
Gambar 3.24 Class Diagram 42
Gambar 3.25 Handphone Siemens C55 54
Gambar 3.26 Kabel Data RS232 54
Gambar 3.27 Rancangan Aplikasi 55
Gambar 3.28 Flow Chart Filtering Pesan 59
Gambar 3.29 Form Login 61
Gambar 3.30 Form Utama 62
Gambar 3.31 Form Setting Account 63
Gambar 3.32 Form Koneksi 63
Gambar 3.33 Form Tambah User 64
Gambar 3.34 Form Lihat User 64
xxii
Gambar 3.36 Form Lihat Mahasiswa 66
Gambar 3.37 Form Kirim Pengumuman 67
Gambar 3.39 Form Lihat Pengumuman 68
Gambar 3.39 Form Lihat Detail Pengumuman 69
Gambar 4.1 Form Login 72
Gambar 4.2 Form Utama 73
Gambar 4.3 Konfirmasi Logout 74
Gambar 4.4 Form Setting Account 75
Gambar 4.5 Form Koneksi 77
Gambar 4.6 Form Utama Setelah Selesai Diatur Nilai Parameter 79
Gambar 4.7 Konfirmasi Exit 80
Gambar 4.8 Form Tambah User 80
Gambar 4.9 Form Lihat User 81
Gambar 4.10 Klik Kanan Lihat User 82
Gambar 4.11 Form Tambah Mahasiswa 82
Gambar 4.12 Form Lihat Mahasiswa 83
Gambar 4.13 Klik Kanan Lihat Mahasiswa 84
Gambar 4.14 Form Kirim Pengumuman 85
Gambar 4.15 Form Lihat Pengumuman 86
Gambar 4.16 Klik Kanan Lihat Pengumuman 87
Gambar 4.17 Form Edit Pengumuman 87
xxiii
Tabel 3.1 Tabel Mata Kuliah 43
Tabel 3.2 Tabel Dosen 43
Tabel 3.3 Tabel Mahasiswa 44
Tabel 3.4 Tabel Jadwal Mata Kuliah 45
Tabel 3.5 Tabel Ambil Mata Kuliah 46
Tabel 3.6 Tabel Reg Mahasiswa 46
Tabel 3.7 History Ganti Nomer Handphone 47
Tabel 3.8 Tabel Kirim 47
Tabel 3.9 Tabel Terima 48
Tabel 3.10 Tabel Login 48
Tabel 3.11 Tabel Pengumuman 49
Tabel 3.12 Tabel Pra Kirim 50
Tabel 3.13 Tabel Pemakaian Ruang 50
Tabel 3.14 Tabel Ruang Kuliah 51
Tabel 3.15 Tabel Bantu Cetak Kategori 51
Tabel 3.16 Tabel Bantu Cetak Pengumuman 52
Tabel 3.17 Tabel Bantu Cetak Pengumuman Bulan 52
Tabel 3.18 Tabel Bantu Cetak SMS Terima 53
Tabel 4.1 Parameter Koneksi ke Terminal 76
1
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, kursmata 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
3
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
1.5. Metodologi Penelitian
1. Studi Pustaka
Penulis mencari literatur tentang bagaimana membangun sebuah aplikasi SMSserver dengan menggunakan bahasa pemrograman Java dan data baseMySQL
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
DariUse Case Diagram dapat diketahui peran dari masing-masing actor
2. Squence Diagram
5
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 Designterdiri dari : 1. Perancangandatabase. 2. Perancanganuser 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 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
7
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.1Object 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.2Object Oriented Design (OOD)
Pada Object Oriented Design (OOD) ini dibagi menjadi tiga jenis objek yaitu:
1. Entity Object
Entity object memuat informasi tentang objek tersebut yang disebutattribute. Entity object bersifat menetap/persisten yang dapat diartikan bahwa objek tersebut “aktif/hidup” setelah mengeksekusi sebuah progam dan disimpan dalamdatabase. SimbolEntity Objectdisajikan pada gambar 2.1
2. Interface Object
Adalah sebuah objek yang menyediakan media di mana pengguna dapat berkomunikasi dengan sistem. Pengguna dapat berkomunikasi menggunakan antarmuka/interface.
Tugas dariInterface Entityadalah:
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. SimbolInterface Objectdisajikan pada gambar 2.2
9
3. Control Object
Adalah objek yang berisi aplikasi logika yang bukan merupakan tanggung jawabentity object.
SimbolControl Objectdisajikan pada gambar 2.3
2.1.2 UML (Unified Modelling Language)
UML merupakan konfensi/perjanjian tentang sekumpulan modeling digunakan untuk menspesifikan dan menjelaskan sistem software danhardwaredalam 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 (Whitten, 2004). Use-Case Diagram ini menggambarkan interaksi sistem, eksternal sistem dengan actor. Dengan kata lain
Gambar 2.2 SimbolInterface Object (Whitten,2004)
menggambarkan secara grafis siapa yang menggunakan sistem dan dengan cara apa pengguna mengharapkan untuk berinteraksi dengan sistem.
Komponen-komponenuse-case diagramadalah:
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.
2. Actor adalah segala sesuatu yang perlu berinteraksi dengan sistem untuk pertukaran informasi (Whitten,2004). Disajikan pada gambar 2.5
3. Association (Gabungan) adalah hubungan antara actor dengan use case di mana terjadi interaksi di antara mereka (Whitten, 2004). Disajikan pada gambar 2.6
Gambar 2.5 SimbolActor(Whitten,2004) UseCase
11
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 didalamuse case(Whitten, 2004).
2.2SMS
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 CDMA dan TDMA pun memasukkan SMS sebagai fitur mereka.
Actor UseCase
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.
13
Dalam 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 mengirim pesan ke nomor tujuan, pesan itu akan melalui SMSC.
Gambar 2.7 Skema Cara Kerja SMS
Pengirim Penerima
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 )
DA adalah alamat nomor tujuan. Terdiri dari panjang nomor tujuan (Len), format dari nomor tujuan (Type Number), dan nomor tujuan (Destination Number).
Gambar 2.8 Skema Format SMS PDU Pengirim
SCA PDU
Type
15
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, FlashSMS ataubliking 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 olehhandphonepenerima.
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 )
setelah itu terminalhandphone yang menerima pesan akan melakukan pengkodean menjadi teks. Format PDU SMS Penerima disajikan pada gambar 2.9
2.2.2.1 SCA
Adalah alamat dari SMSC. SCA memiliki 3 komponen utama yaitulen, type of number, danservice 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 darihandphonepengirim. Nilaidefaultnya 00 (standard text). 2.2.2.5 Data Coding Schema ( DCS )
Adalah rencana dari pengkodean data untuk menentukan kelas dari pesan. Berupa teksstandard,flash SMS atauBlikingSMS. DCS 00 berarti pesan yang diterima berupa teks standard. SCA PDU Type OA PID DCS SCTS UDL UD
17
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 darihandphoneyang digunakan, kekuatan sinyal, membaca pesan yang ada di SIM Card, mengirim pesan, mendeteksi pesan baru, menghapus pesan.
2.4 Java
Java diciptakan oleh Sun Microsystems. Java merupakan bahasa pemrograman yang murniobject oriented. Seperti bahasa pemrograman lainya (Pascal atau C++), Java digunakan untuk membuat program. Java mendukung sumber dayainternetdan aplikasiclient/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 sebuahserver.
2. Aplikasi
Merupakan program Java yang bersifat umum, sehingga dapat secara langsung dijalankan tanpa menggunakan perangkat lunakbrowser.
Selain itu Java juga memiliki keunggulan dibandingkan bahasa pemrograman lainnya, yaitu :
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
19
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
3. Instance (Instans)
Instans adalah perwujudan. Dalam pemrograman berorientasi, objek merupakan instans (perwujudan) dari suatu kelas.
2.4.2 Enkapsulasi, Pewarisan (inheritance), danPolymorphisme a. Enkapsulasi
Merupakan cara membungkus data dan methodyang menyusun kelas sehingga kelas dapat dipandang sebagai suatu modul. Termasuk didalamnya adalah menentukan tingkat akses dari masing-masing data danmethodserta 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
21
2.6 JDBC
Java Database Connectivityadalah versi ODBC yang dibuat oleh Sun Microsystems. JDBC sepenuhnya dibangun dengan Java API sehingga dapat dipakaicross-platform.
Dengan JDBC API kita dapat mengaksesdatabase darivendor-vendor server databaseternama seperti Oracle, Sybase, Informix, Interbase, MySQL. Setiapserverdarivendorberbeda memerlukandriveryang berbeda pula. Dengan JDBC kita dapat mengirimkan perintah-perintah SQL ke RDBMS. 2.7Java Communication Port
22
P
Paaddaa bbaabb iinnii ddiibbaahhaass aannaalliissiiss ddaann ppeerraannccaannggaann ssiisstteemm ppeennyyaammppaaiiaann
p
peenngguummuummaannmmaahhaassiisswwaa..
3.1System 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 diwebTeknik 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
23
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 Actoryang terlibat dalam sistem
Dalam aplikasi SMSservermelibatkan 3actoryaitu : 1. User
User dibagi menjadi duaactoryaitu a. Admin
Actor yang bertangung jawab atas berjalannya sistem. Baik dalam hal pengolahan ataupun pemberian hak akses baik kepada userataupun mahasiswa.
b. Petugas
Actor yang bertugas menginputkan pengumuman. Petugas tidak mempunyai hak untuk melakukan perubahan dalam sistem. 2. Mahasiswa
3.1.4 Use case diagram
3.1.4.1Use CaseAdmin dan Petugas
25
Mengirim Pengum uman
Merubah Pengumuman Cetak Data Petugas
Menambah Data User
Merubah Data User Menghapus Data User
Menghapus Pengum uman Login
Melihat Data Mahasiswa Melihat Data User
Melihat Pengumuman
Menambah Data Mahasiswa
Merubah Data Mahasiswa Menghapus Data Mahasiswa
Melakukan Backup Data Admin
<<depand on>>
Gambar 3.1Use CaseAdmin dan Petugas
2
3.1.4.2Use CaseMahasiswa
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
Mendaftar Account
Menerima Pengumuman Merubah Password Merubah Nomor Handphone Menghapus Account
Login
Mengirim Pes an Info Mahasiswa
<< depands on>> <<depands on>>
27
3.1.5 Sequence diagram 3.1.5.1 ProsesLogin
Sequence diagramuntuk proseslogindisajikan dalam gambar 3.3
: Admin : Petugas : layar login : login control : login memasukkan data
memasukkan data
lihat_login()
select data
konfirmasi login edit_login()
update data
3.1.5.2Update user
3.1.5.2.1 Proses Menambah DataUser
Sequence diagram untuk proses menambah data user disajikan dalam gambar 3.4
: Admin : Layar User : User Control : login Masukkan Data User
Simpan Data User
tambah_login()
insert user konfirmasi data telah ditambah
29
3.1.5.2.2 Proses Menggubah DataUser
Sequence diagram untuk proses mengubah data user disajikan dalam gambar 3.5
3.1.5.2.3 Proses Menghapus DataUser
Sequence diagram untuk proses menghapus user disajikan dalam gambar 3.6
: 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.5Sequence DiagramProses Mengubah DataUser
: Admin : Layar User : User Control : login
Masukkan data user
hapus_login()
delete data
konfirmasi data telah dihapus
3.1.5.3 Proses Melihat DataUser
Sequence diagramuntuk proses mencari data user disajikan dalam gambar 3.7
3.1.5.4UpdateMahasiswa
3.1.5.4.1 Proses Menambah Data Mahasiswa
Sequence diagram untuk proses menambah data mahasiswa disajikan dalam gambar 3.8
: Admin : Layar User : User Control : login
masukkan data user
lihat_login()
select data
informasi data user
31
3.1.5.4.2 Proses Mengubah Data Mahasiswa
Sequence diagram untuk proses menggubah data mahasiswa disajikan dalam gambar 3.9
: Admin : Layar Mahasiswa : Mahasiswa Control : mahasiswa : reg_mhs masukkan data mahasiswa
cek data mahasiswa
sim pan data m ahasiswa
tambah_reg()
insert data
konfirmasi data telah disimpan
Gambar 3.8 Sequence DiagramProses Menambah Data Mahasiswa
: Admin : Layar Mahasiswa : Mahasiswa Control : reg_mhs
Masukkan Data Baru Mahasiswa
Simpan data
edit_reg()
update data
konfirmasi data telah dirubah
3.1.5.4.3 Proses Menghapus Data Mahasiswa
Sequence diagram untuk proses menghapus data mahasiswa disajikan dalam gambar 3.10
3.1.5.4.4 Proses Melihat Data Mahasiswa
Sequence diagramuntuk proses melihat data mahasiswa disajikan dalam gambar 3.11
: Admin : Layar Mahasiswa : Mahasiswa Control : reg_mhs
masukkan data mahasiswa
hapus_reg()
delete data
konfirmasi data telah dihapus
Gambar 3.10 Sequence DiagramProses Menghapus Data Mahasiswa
: Admin : Petugas : Layar Mahasiswa : Mahasiswa Control : reg_mhs
select data
masukkan data mahasiswa
masukkan data mahasiswa
lihat_reg()
informasi data mahasiswa
33
3.1.5.5 Update Pengumuman
3.1.5.5.1 Proses Mengirim dan Menerima Pengumuman Sequence diagram untuk proses mengirim pengumuman oleh petugas dan menerima pengumuman oleh mahasiswa disajikan dalam gambar 3.12
: Mahasis wa : Petugas : Layar Pengumuman : Pengumuman Control : dosen : matkul : jdwl_matkul : pengumuman : pemakaian_ruang : pra_kirim : kirim
select data dosen tampil data dosen
masukkan dosen
lihat_matkul() lihat_dosen()
select data matkul tampil data matkul
masukkan mata kuliah lihat_jdwl()
select jdwl_matkul tampil data jdwl_matkul
masukkan pengumuman
tambah_pengumuman()
insert data pengumuman
konfirmas i dalam proses pengiriman cetak pengumuman
cetak_pengumuman()
select data tambah_pemakaian_ruang()
insert data pemakaian ruang select data pemakaian ruang
insert data
insert data kirim pengumuman
3.1.5.5.2 Proses Melihat Pengumuman
Sequence diagram proses melihat pengumuman disajikan dalam gambar 3.13
3.1.5.5.3 Proses Merubah Pengumuman
Sequence diagram untuk merubah pengumuman disajikan dalam gambar 3.14
Gambar 3.13 Sequence DiagramProses Melihat Pengumuman
: Petugas : Layar Pengumuman : Pengumuman Control : pengumuman memasukkan status pengiriman
masukkan lihat berdasar
lihat_pengumuman()
select data
detail data lihat berdasar
masukkan detail lihat berdasar
lihat_pengumuman()
select data
35
3.1.5.5.4 Proses Menghapus Pengumuman
Sequence diagram untuk proses menghapus pengumuman disajikan dalam gambar 3.15
: Petugas : Layar Pengumuman : Pengumuman Control : pengumuman
merubah data pengumuman
edit_pengumuman()
update data
konfirmasi data telah diupdate
Gambar 3.14 Sequence DiagramProses Melihat Pengumuman
: Admin : Layar Mahasiswa : Pengumuman Control : pengumuman : pemakaian_ruang masukkan data pengumuman
hapus_pengumuman()
delete data
hapus_pemakaian ruang()
delete data
konfirmasi data telah dihapus
3.1.5.6 Proses Cetak Pengumuman
Sequence diagram untuk proses cetak pengumuman disajikan dalam gambar 3.16
3.1.5.7 Proses Mendaftar Account oleh Mahasiswa
Sequence diagram untuk proses daftar account disajikan dalam gambar 3.17
: Petugas : Layar Pengum uman : Pengumuman Control : pengumuman memasukkan kategori
cetak_pengumuman()
select data
konfirmasi dicetak
37
3.1.5.8 Proses Login oleh Mahasiswa
Sequence diagram untuk proses daftar account disajikan dalam gambar 3.18
: Mahasiswa : Layar Mahasiswa : Mahasiswa Control : terima : m ahasiswa : reg_mhs : terima masukkan data
insert pesan yang diterim a
insert pesan balasan konfirmasi telah berhasil mendaftar
Gambar 3.17 Sequence DiagramProses DaftarAccount
: Mahasiswa : Layar Mahasiswa : Mahasiswa Control : terima : reg_mhs : kirim masukkan data mahasiswa
lihat_reg()
select data tambah_terima()
insert pesan yang diterim a
insert pesan balasan
konfirmasi login
3.1.5.9 Proses Merubah NomerHandphoneoleh Mahasiswa
Sequence diagramuntuk proses nomer handphoneoleh mahasiswa disajikan dalam gambar 3.19
3.1.5.10 Proses Merubah Passwordoleh Mahasiswa
Sequence diagram untuk proses merubah password oleh mahasiswa disajikan dalam gambar 3.20
: Mahasiswa : Layar Mahasiswa : Mahasiswa Control : terima : reg_mhs : history_ganti_hp : kirim merubah nomer handphone
tambah_terima()
insert pesan yang diterima
update nomor handphone insert update nomer handphone
insert pesan balasan konfirmasi data berhasil diupdate
edit_reg()
39
3.1.5.11 Proses Menghapus Accountoleh Mahasiswa
Sequence diagram untuk proses menghapus account oleh mahasiswa disajikan dalam gambar 3.21
: Mahasiswa : Layar Mahasiswa : Mahasiswa Control : terim a : reg_mhs : kirim mengirim pesan hapus account
tambah_terima()
insert pesan yang diterim a lihat_reg()
select data hapus_reg()
delete data
insert pesan balasan konfirmasi menghapus account
Gambar 3.21 Sequence Diagram Proses MenghapusAccountoleh Mahasiswa
: Mahasiswa : Layar Mahasiswa : Mahasiswa Control : terima : reg_mhs : kirim merubah password
edit_reg()
update password tambah_terima()
insert pesan yang diterima
insert pesan balasan konfirmasi rubah password
3.1.5.12Proses Mengirim Pesan Info
Sequence diagram untuk proses mengirim pesan oleh mahasiswa disajikan dalam gambar 3.22
3.1.5.13Proses Backup Dataoleh Admin
Sequence diagram untuk proses menghapus backup data oleh admin disajikan dalam gambar 3.23
: Mahasiswa : Layar Mahasiswa : Mahasiswa Control : terima : kirim
mengirim pesan info
tambah_terima()
insert data
tambah_kirim()
insert pesan balasan
informasi pesan balasan
41
3.1.6Class Diagram
Relasi antar objek yang berada dalam sistem ini disajikan pada Gambar 3.24
: Admin : Layar Backup : Backup Control : kirim : terima : pengumuman : login : dosen : matkul : jdwl_matkul : pemakaian_ruang: m ahasiswa : ambil_matkul : reg_mhs : history_ganti_hp Memasukkan backup data
backup data
backup data backup data
backup data backup data
backup data backup data
bcakup data bcakup data
backup data backup data
backup data bcakup data konfirmasi telah dibackup
login
Gambar 3.24 Class Diagram
4
43
3.2 System Design
3.2.1 Data Base Design
Dari class diagram dapat diketahui relasi antar tabel. Adapun desain masing-masing tabel adalah sebagai berikut;
3.2.1.1 Tabel Mata Kuliah
Tabel mata kuliah dalam data base bernama matkul. Merupakan tabel untuk menyimpan mata kuliah yang ditawarkan kepada mahasiswa. Detail tabel mata kuliah tampak pada Tabel 3.1.
Nama Field Tipe Data Ukuran Keterangan
kd_mtk varchar 9 Primery Key
nama_mtk varchar 50 Nama mata kuliah
3.2.1.2 Tabel Dosen
Tabel dosen dalam database bernama dosen. Merupakan tabel untuk menyimpan nama dosen yang mengajar kuliah. Detail tabel dosen tampak pada Tabel 3.2
Nama Field Tipe Data Ukuran Keterangan
nip varchar 10 Primery Key
nama_dsn varchar 50 Nama dosen
Tabel 3.1 Tabel Mata Kuliah
3.2.1.3 Tabel Mahasiswa
Tabel mahasiswa dalam databasebernama mahasiswa. Merupakan tabel yang digunakan untuk menyimpan data mahasiswa yang terdaftar di Universitas Sanata Dharma jurusan Teknik Informatika. Detail tabel mahasiswa tampak pada tabel 3.3.
Nama Field Tipe Data Ukuran Keterangan
nim varchar 9 Primery Key
nama_mhs varchar 80 Nama mahasiswa
3.2.1.4 Tabel Jadwal Mata Kuliah
Tabel jadwal mata kuliah dalam database bernama jdwl_matkul. Merupakan tabel yang berisi jadwal kuliah mata kuliah. Detail Tabel jadwal mata kuliah tampak pada tabel 3.4
Nama Field Tipe Data Ukuran Keterangan
id_jdwl_kls_mtk int 5 Primery key
kd_mtk varchar 9 Kode mata kuliah
th_akdmk varchar 9 Tahun akademik
smt_twr int 2 Diambil pda semester
nip varchar 10 Nomor induk dosen
kelas varchar 3 Kelas
ruang1 varchar 15 Ruang kuliah
hari1 varchar 6 Hari kuliah
45
jam1 varchar 11 Jam kuliah
ruang2 varchar 15 Ruang kuliah
hari2 varchar 6 Hari kuliah
jam2 varchar 11 Jam kuliah
3.2.1.5 Tabel Ambil Mata Kuliah
Tabel ambil mata kuliah dalam database bernama ambl_matkul. Detail tabel ambil mata kuliah pada tabel 3.5
Nama Field Tipe Data Ukuran Keterangan
nim varchar 9 Nomor induk mhs
id_jdwl_kls_mtk varchar 5 Id_jadwal kelas mata kuliah id_jdwl_kls_mtk1 varchar 5 Id_jadwal kelas mata kuliah 1 id_jdwl_kls_mtk2 varchar 5 Id_jadwal kelas mata kuliah 2
id_jdwl_kls_mtk3 varchar 5 Id_jadwal kelas mata kuliah 3 id_jdwl_kls_mtk4 varchar 5 Id_jadwal kelas mata kuliah 4 id_jdwl_kls_mtk5 varchar 5 Id_jadwal kelas mata kuliah 5 id_jdwl_kls_mtk6 varchar 5 Id_jadwal kelas mata kuliah 6
id_jdwl_kls_mtk7 varchar 5 Id_jadwal kelas mata kuliah 7 id_jdwl_kls_mtk8 varchar 5 Id_jadwal kelas mata kuliah 8 id_jdwl_kls_mtk9 varchar 5 Id_jadwal kelas mata kuliah 9 id_jdwl_kls_mtk10 varchar 5 Id_jadwal kelas mata kuliah 10
id_jdwl_kls_mtk11 varchar 5 Id_jadwal kelas mata kuliah 11
3.2.1.6 Tabel Reg Mahasiswa
Tabel reg_mhs digunakan untuk menyimpan mahasiswa beserta nomer handphone yang telah terdaftar dalam sistem dan berhak mendapatkan pesan setiap kali ada perubahan jadwal kuliah. Detail tabel Reg Mahasiswa pada tabel 3.6
Nama Field Tipe Data Ukuran Keterangan
nim varchar 10 Primery key
no_hp varchar 20 Nomor hp mahasiswa
pass varchar 255 Password mahasiswa
3.2.1.7 Tabel History Ganti Nomer Handphone
Tabel history_ganti_hp digunakan untuk mencatat aktifitas pergantian nomer handphone mahasiswa baik yang dilakukan secara manual yaitu oleh petugas maupun lewat sms oleh mahasiswa. Detail tabel HistoryGanti NomerHandphonedisajikan pada tabel 3.7
Nama Field Tipe Data Ukuran Keterangan
tgljam_rubah datetime Primery Key
nim varchar 10 Primery Key
no_hp varchar 20 No handphone yang
Tabel 3.5 Tabel Ambil Mata Kuliah
47
mengalami diupdate
3.2.1.8 Tabel Kirim
Tabel kirim digunakan untuk menyimpan pesan-pesan yang sudah siap dikirim. Tabel kirim akan selalu dicek secara otomatis setiap waktu tertentu. Detail tabel kirim pada tabel 3.8.
Nama Field Tipe Data Ukuran Keterangan
no_kirim int 10 Primery key
tgl date
no_hp varchar 15 Nomor hp mahasiswa
pesan varchar 320 Pesan yang dikirim
status varchar 20 Belum Dikirim dan Telah
Dikirim
3.2.1.9 Tabel Terima
Tabel terima adalah tabel yang digunakan untuk menyimpan semua sms yang diterima oleh handphone yang digunakan dalam aplikasi. Detail tabel terima pada tabel 3.9
Nama Field Tipe Data Ukuran Keterangan
no_terima int 3 Primery key
no_hp varchar 13 Nomor hp mahasiswa
Tabel 3.7HistoryGanti NomerHandphone
pesan varchar 160 Pesan yang dikirim
status varchar 20 belum diproses dan telah
diproses
3.2.1.10 TabelLogin
Tabel login merupakan tabel untuk menyimpan actor yang diperbolehkan masuk ke dalam aplikasi, yaitu admin dan petugas beserta passwordyang sudah dienkripsi. Detail tabelloginpada tabel 3.10
Nama Field Tipe Data Ukuran Keterangan
nip varchar 10 Primery Key
username varchar 10 User name pagawai
pass varchar 255 Password pegawai
status varchar 7 Admin dan Petugas
kondisi varchar 1 0 : pasif dan 1 : aktif
3.2.1.11 Tabel Pengumuman
Tabel pengumuman merupakan tabel untuk menyimpan semua pengumuman baik yang belum dikirim, dalam proses maupun sudah dilakukan pengiriman. Detail tabel pengumuman pada tabel 3.11.
Nama Field Tipe Data Ukuran Keterangan
no_pengumuman int 6 Primery Key
Tabel 3.9 Tabel Terima
49
tgl date Tgl Pembuatan Pengumuman
id_jdwl_kls_mtk varchar 5 Id jadwal kelas
tgl_kuliah date Tanggal kuliah
nip varchar 10 Nomer induk pegawai
dirubah_tgl date Tanggal perubahan
dirubah_jam varchar 10 Jam perubahan
dirubah_ruang varchar 10 Ruang perubahan
perubahan varchar 12 Dimajukan,diundur,kosong
ket varchar 160 Keterangan perubahan jadwal
status varchar 15 Proses Dikirim
Terkirim Belum Dikirim
pertemuan varchar 15 Pertemuan I
Pertemuan II
3.2.1.12 Tabel Pra Kirim
Tabel pra_kirim digunakan untuk menyimpan pengumuman sementara sebelum dilakukan pengiriman ke nomer handphone tujuan. Detial tabel pra kirim pada tabel 3.12.
Nama Field Tipe Data Ukuran Keterangan
no_prakirim int 5 Primery Key
tgl date Tanggal proses kirim
jam time Waktu proses kirim
no_pengumuman varchar 15 No pengumuman
no_hp varchar 15 No tujuan pengiriman
pesan varchar 160 Pesan sms
3.2.1.13 Tabel Pemakaian Ruang
Tabel pemakaian_ruang merupakan tabel untuk mengetahui ruangan yang dipakai dalam jangka waktu 2 minggu ke depan. Detail tabel pemakaian ruang pada tabel 3.13
Nama Field Tipe Data Ukuran Keterangan
id_jdwl_kls_mtk int 5 Primery Key
tgl date Tanggal pakai ruang
hari varchar 10 Hari pakai ruang
ruang varchar 15 Ruang yang dipakai
jam_kuliah varchar 15 Jam pakai ruang
3.2.1.14 Tabel Ruang Kuliah
Tabel ruangkul merupakan tabel untuk mengetahui ruangan yang dipakai dalam perkuliahan. Detail tabel ruang kuliah pada tabel 3.14
Nama Field Tipe Data Ukuran Keterangan
id_ruang int 3 Primery Key
Tabel 3.12 Tabel Pra Kirim
51
nama_ruang varchar 20 Nama ruangan
3.2.1.15 Tabel Bantu Cetak Kategori
Tabel Bantu cetak kategori digunakan untuk menyimpan data yang akan dicetak berupa kategori cetak dan tanggal cetak. Detail tabel Bantu cetak kategori pada tabel 3.15
Nama Field Tipe Data Ukuran Keterangan
tgl_cetak datetime Tanggal waktu cetak
kategori varchar 25 Nama ruangan
3.2.1.16 Tabel Bantu Cetak Pengumuman
Tabel Bantu cetak pengumuman digunakan untuk menyimpan sementara data pengumuman yang akan dicetak. Detail tabel bantu cetak pengumuman pada tabel 3.16
Nama Field Tipe Data Ukuran Keterangan
nama_mtk varchar 50 Nama mata kuliah
nama_dsn varchar 50 Nama dosen
kelas varchar 3 Kelas
tgl varchar 30 Tanggal kuliah
dirubah_tgl varchar 30 Tanggal perubahan
dirubah_jam varchar 15 Jam perubahan
dirubah_ruang varchar 20 Ruang perubahan
ket varchar 160 Keterangan
perubahan varchar 12 Perubahan(dimajukan,di
undur,kosong)
3.2.1.17 Tabel Bantu Cetak Pengumuman Bulan
Tabel Bantu cetak pengumuman bulan digunakan untuk menyimpan sementara berupa data pengumuman yang akan dicetak berdasarkan bulan dan tahun tertentu. Detail tabel bantu cetak pengumuman pada tabel 3.17
Nama Field Tipe Data Ukuran Keterangan
no_pengumuman int 3 Primery key
tanggal date Tanggal perubahan
nama_dsn varchar 50 Nama dosen
nama_mtk varchar 50 Nama mata kuliah
perubahan varchar 12 Perubahan
status varchar 15 Status pengiriman
ket varchar 160 Keterangan
3.2.1.18 Tabel Bantu Cetak SMS Terima
Tabel Bantu cetak pengumuman bulan digunakan untuk menyimpan sementara berupa data pengumuman yang akan dicetak
53
berdasarkan bulan dan tahun tertentu. Detail tabel bantu cetak pengumuman pada tabel 3.18
Nama Field Tipe Data Ukuran Keterangan
tgl_cetak datetime Primery key
periode varchar 20 Primery key
tot_reg varchar 4 Total registrasi
tot_unreg varchar 4 Total unregistrasi
tot_gn varchar 4 Total ganti nomer
tot_gp varchar 4 Total ganti password
tot_info varchar 4 Total info
3.2.2 Rancangan Alat
Spesifikasi alat yang digunakan adalah sebagai berikut : 1. Komputer
Spesifikasi komputer yang digunakan penulis adalah: Prosesor: Intel Core2Duo (2.2 Mhz)
Harddisk: 80 G Memory : 2 GHz
2. Handphone
Handphone digunakan sebagai modem GSM untuk mengirimkan maupun menerima SMS. Tipe handphone sudah mendukung AT Comment. Penulis menggunakan Siemens C55. Disajikan pada gambar 3.25.
3. Kabel data
Kabel data digunakan untuk menghubungkan handphone dengan komputer. Kabel data yang digunakan penulis adalah RS 232. Disajikan pada gambar 3.26.
55
Dari komponen tersebut, dapat didesain seperti pada gambar 3.27
3.2.3 Rancangan Sistem
Rancangan sistem terbagi dalam beberapa proses sebagai berikut : 3.2.3.1 Proses Pengiriman Pesan oleh Mahasiswa
Untuk mendapatkan pengumuman kuliah yang kosong ataupun diundur mahasiswa harus melakukan registrasi. Registrasi bertujuan supaya pengumuman tersebut dapat dikirim tepat sasaran. Pengumuman hanya akan dikirimkan ke nomor handphone mahasiswa yang bersangkutan dengan kuliah tersebut..
Adapun proses registrasi adalah sebagai berikut :
1. SMS dikirim oleh mahasiswa ke nomer SMS server dengan format
REG<spasi>NIM<spasi>password <spasi>konfirmpassword.
Gambar 3.27 Rancangan Aplikasi
client(mahasiswa) komputerserver handphone server
kabel data
Contoh : REG 035314047 1234 1234
Banyaknya password minimal 4 karakter dan maksimal 10 karakter.
2. SMS server menerima SMS yang masuk tersebut, kemudian pesan tersebut akan diproses oleh program SMS server. 3. Program akan melakukan pengecekan ke database apakah
NIM dan nomer handphone sudah pernah melakukan registrasi sebelumnya.
4. Jika sudah maka akan dikirimkan pesan kalau nomor handphone atau NIM tersebut pernah melakukan registrasi. 5. Jika belum pernah melakukan registrasi maka nomer
handphone tersebut akan disimpan dengan NIM dan password. SMS server akan melakukan konfirmasi jika registrasi telah berhasil dilakukan.
6. Password digunakan melakukan perubah nomor handphone mahasiswa ataupun untuk melakukan UNREG.
Setelah mahasiswa melakukan registrasi, mahasiswa dapat melakukan :
1. PenggantianPassword
57
sebelumnya telah diketahui oleh orang lain. Prosedur untuk melakukan penggantian password :
GP<spasi>NIM<spasi>passlama<spasi>passbaru<spasi>knfi rmpassbaru
Contoh : GP 035314047 1234 4321 4321 2. Penggantian Nomor Handphone
Penggantian nomor handphonedilakukan dengan prosedur GN NIM password
Contoh : GN 035314047 1234
3. Keluar sebagai mahasiswa yang terdaftar dalam sistem Keluar dari sistem dilakukan dengan prosedur
UNREG NIM Pass
Contoh : UNREG 035314047 1234
4. Mendapatkan informasi sistem. Informasi tersebut adalah cara-cara bagaimana melakukan registrasi, ganti nomer, ganti password dan keluar dari sistem. Prosedur untuk mendapatkan informasi adalah : INFO
3.2.3.2 Proses FilteringPesan
kemudian disimpan dalam table terima dengan status belum diproses.
59
3.2.3.3 Proses Pengiriman Pengumuman oleh Aplikasi
Proses pengiriman pengumuman dilakukan oleh petugas. Adapun proses pengiriman pengumuman terbagi dalam tahap-tahapan berikut :
Apakah pesan sesuai dengan
ketentuan? Tidak sesuai aturan Tidak Ganti Password ?
Proses Merubah Password Tidak
Ya
Pesan Berupa Ganti Nomor ?
Proses
Kirim Pesan Berhasil Rubah Password
Kirim Pesan Berhasil Rubah Nomor
Kirim Pesan Berhasil Hapus Account
1. Petugas memasukkan pengumuman jadwal kuliah yang mengalami perubahan.
2. Program SMSserverakan menentukan nomerhandphone mahasiswa yang berhak menerima pesan tersebut. Pengumuman tersebut kemudian disimpan dalam tabel prakirim.
3. Setiap 20 detik akan dilakukan pengecekan apakah dalam tabel prakirim terdapat pengumuman.
4. Apabila terdapat pengumuman baru maka pengumuman tersebut akan dipindahkan ke tabel kirim dan pengumuman yang masih berada dalam table prakirim dihapus.
5. Apabila dalam tabel prakirim tidak terdapat pengumuman maka pengumuman pada tabel pengumuman statusnya akan dirubah menjadi telah dikirim. Tetapi apabila masih ada maka akan tetap berstatus Proses Dikirim. Proses ini dilakukan setiap 60 detik.
61
7. Pengumuman dikirimkan ke nomer handphone mahasiswa yang mengambil mata kuliah bersangkutan.
3.2.4 RancanganUser Interface
3.2.4.1From Login
Gambar 3.28 merupakan rancangan Form Login. Login nantinya akan muncul pertama kali saat aplikasi dijalankan.
3.2.4.2FormUtama
Form Utama akan tampil setelah login berhasil dilakukan oleh admin maupun petugas. Formutama berisi menu-menu yang terdapat pada program. Rancanganformutama disajikan pada gambar 3.29.
PROGRAM PENYAMPAIAN PENGUMUMAN UNIVERSITAS SANATA DHARMA
YOGYAKARTA
Login As
Username
Password
Login Cancel
3.2.4.3Form Setting Account
Form setting account berfungsi merubah username atau password yang dimiliki oleh useryang sedang aktif. Bentukform settingaccount disajikan pada gambar 3.30
Tanggal UserName
63
3.2.4.4FormKoneksi
Form koneksi digunakan untuk melakukan pengaturan parameter serial portdan pengaturan terhadap terminal. Rancanganformkoneksi disajikan dalam gambar 3.31
Username
Password Lama
Password Baru
Konfiirmasi Password
abcde…
***
***
***
Save Clear Cancel
Gambar 3.31 Form Setting Account
Port
Baud Rate
Bata Bits
Parity
Stop Bits
Flow Control
Connect Stop Cancel
3.2.5.5FormTambahUser
Formtambah user digunakan untuk menambah admin atau petugas yang diperbolehkan menjalankan program ini. Rancangan formtambah userdisajikan dalam gambar 3.32
3.2.4.5FormLihatUser
Form lihat user digunakan untuk melihat admin ataupun petugas yang dapat menjalankan program ini. Rancangan form lihat user disajikan dalam gambar 3.33
NIP Username
Password
Konfirmasi Password
Tipe User
Save Clear Cancel
1234… abc…
***
***
Admin Petugas
65
3.2.4.6FormTambah Mahasiswa
Form tambah mahasiswa digunakan untuk registrasi mahasiswa sehingga dapat menerima pengumuman perubahan kuliah melalui nomer handphone yang didaftarkannya. Rancangan form tambah mahasiswa disajikan dalam gambar 3.34
NIM
Nomer Handphone
Password
Konfirmasi Password
Save Clear Cancel 1234…
08562592562
*** ***
Gambar 3.35 FormTambah Mahasiswa 035314047
Gambar 3.34 FormLihat User
Close
Tipe User
3.2.4.7FormLihat Mahasiswa
Form lihat mahasiswa digunakan oleh admin ataupun petugas untuk melihat mahasiswa yang telah terdaftar dalam sistem. Rancanganformlihat mahasiswa disajikan dalam gambar 3.35
3.2.4.8FormKirim Pengumuman
Form kirim pengumuman digunakan untuk mengirim pengumuman yang akan disampaikan kepada mahasiswa. Rancangan formkirim pengumuman disajikan dalam gambar 3.36
Lihar Berdasar
NIM Nama No Handphone
Search
Close
67
3.2.4.9FormLihat Pengumuman
Form lihat pengumuman digunakan untuk melihat pengumuman yang sudah terkirim, belum terkirim ataupun dalam proses dikirim. Rancanganformlihat pengumuman disajikan dalam gambar 3.37
Close
Status Pengiriman
Lihat Berdasar
No Pengumuman Tanggal Mata Kuliah
Refresh
69
3.2.4.10 FormLihat Detail Pengumuman
Form lihat detail pengumuman merupakan kelanjutan dari form lihat pengumuman. Form lihat detail pengumuman digunakan untuk melihat pengumuman secara lengkap. Petugas dapat melakukan edit atau mengirim pengumuman yang belum dikirim. Rancangan form lihat detail pengumuman disajikan dalam gambar 3.38
No Pengumuman
70
P
Paaddaa bbaabb iinnii ddiibbaahhaass iimmpplleemmeennttaassii bbeerrddaassaarrkkaann hhaassiill aannaalliissiiss ddaann
p
peerraannccaannggaannssyysstteemmppeennyyaammppaaiiaannppeenngguummuummaannkkeeppaaddaammaahhaassiisswwaa.. 4.1 SpesifikasiHardwaredanSoftware
4.1.1 SpesifikasiHardware
Spesifikasi hardware yang digunakan untuk membangun aplikasi ini adalah :
1. ProsesorIntel Core2Duo 2.0 2. Memory2G
3. Harddisk80G
4. HandphoneSiemens C55 5. Kabel Data RS232 4.1.2 SpesifikasiSoftware
Spesifikasisoftwareyang digunakan adalah : 1. Sistem Operasi Windows XP sp2 2. Java Netbeans IDE 5.5
3. MySQL Server 5.2 4. SQLyog v5.14 5. JDK
6. JRE
71
4.2 Implementasi Tampilan dan Jalan Kerja Aplikasi
Sebelum program dijalankan, hal yang pertama kali dilalukan adalah menambahkan paket Java Commucation Port. Hal ini supaya program dapat mengenali serial port yang terdapat di komputer server. Adapun caranya adalah sebagai berikut:
1. <jdk> merujuk pada direktori tempat instalasi jdk berada misalnya pada c:\program files\java\jdk1.6_02
2. copy win32com.dll ke folder <jdk>\jre\bin 3. copy comm.jar ke <jdk>\jre\lib\ext
4. copy javax.comm.properties di <jdk>\jre\lib
Ketika program pertama kali dijalankan maka tampil form login. Bersama dengan itu secara otomatis tabel pemakaian_ruang akan diisi. Pengisian tabel pemakaian_ruang tersebut hanya pemakaian ruang untuk 2 minggu ke depan. Jika dalam tabel pemakaian ruang terdapat tanggal sebelum tanggal sekarang maka dihapus.
4.2.1Form Login
aktif. Form login akan ditutup dan ditampilkan form utama seperti gambar 4.2.
4.2.2Form Utama
Saat form utama aktif terdapat 2 thread yang ikut dijalankan. Thread tersebut digunakan untuk menampilkan jam dan untuk mendeteksi caps lock. Thread jam akan dijalankan setiap 1 detik sedangkanthread untuk mendeteksicaps lockakan dijalankan setiap 0.1 detik.
Dalam formutama terdapat 10 menu. Dimana menu-menu tersebut antara lain :
73
1. Logout 8. Lihat Mahasiswa
2. Setting Account 9. Kirim Pengumuman
3. Koneksi 10. Lihat Pengumuman
4. Exit 11. Backup data
5. Tambah User 12. Laporan
6. LihatUser 13. Help
7. Tambah Mahasiswa
4.2.3Logout
Logout digunakan untuk keluar dari form utama. Saat menu diklik maka akan tampil konfirmasi seperti gambar 4.3
Jika memilih tombolYesmakaformutama akan ditutup dan akan diaktifkan form login. Sebaliknya jika memilih tombol No maka akan kembali keformutama.
4.2.4Form Setting Account
Saat user merasa bahwa passwordyang dimilikinya sudah tidak secure lagi maka user dapat memilih menu setting account. Menu ini berfungsi untuk menganti username ataupun password. Tampilan form setting accountseperti gambar 4.4
75
4.2.5FormKoneksi
Sebelum aplikasi dapat melakukan penerimaan dan pengiriman SMS maka user harus melakukan pengaturan koneksi yaitu penyambungan komputer dan handphone dengan kabel data melalui serial port, melakukan pengaturan parameterserial portdan pengaturan terhadap terminal. Pengaturan parameter serial port antara lain port, bit per second(bps), databits, parity, stopbits, dan flow control. Adapun nilai-nilai parameter serial port jika mengunakan handphone Simens C55 disajikan pada tabel 4.1
Pengaturan terminal agar terminal siap menerima dan mengirimkan SMS yaitu dengan cara mengirimkan perintah AT. Perintah AT yang dikirimkan ke terminal saat aplikasi dijalankan secara berurutan disajikan pada Tabel 4.2
Ketika user mengaktifkan menu koneksi maka akan dicari dan ditampilkan serial port yang terdapat dalam komputer server. Penggalan listing program pada Listing 4.1 digunakan untuk mencari serial portpada komputerserverdan menampilkannya.
Perintah AT Keterangan
AT Pengecekan penyambungan terhadap terminal AT+CMGF=0 Menetapkan format SMS adalah format PDU AT+CSCS=GSM Menetapkan encoding berupa GSM
AT+CNMI=1,1,2,2,1 Terminal dapat menerima SMS secara otomatis AT+CMGL=0 Membaca SMS dalam inbox yang belum terbaca
Tabel 4.2 Perintah AT
Parameter Nilai
Port COM1
Bit per Second (bps) 19200
Data bits 8
Parity NONE
Stop Bits 1