i
TUGAS AKHIR
APLIKASI SMS MENGGUNAKAN J2ME
UNTUK PENGENDALIAN MOTOR DC
Oleh:
HERBIN BERNAT PARDAMEAN NIM : 055114027
PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
ii
SMS APPLICATIONS USING J2ME
FOR DC MOTOR CONTROLLING
HERBIN BERNAT PARDAMEAN NIM : 055114027
ELECTRICAL ENGINEERING STUDY PROGRAM
SCIENCE AND TECHNOLOGY FACULTY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
vi
MOTTO :
Keep Try Do the Best !!!
Kupersembahkan karya tulis ini kepada :
Tuhan Yesus Kristus
Ibuku
Rosma Rumadam Pakpahan
Kakakku
Brigida Lasma Rohanika Simamora
,
Abangku
Rony karces Simamora
,
Adikku
Junius parulian simamora
,
viii
Saat ini masyarakat masih bergantung pada alat seperti remote control untuk mengendalikan
beban pada jarak jauh. Akan tetapi, pengendalian tersebut hanya dapat dilakukan pada jarak tertentu
karena sistem yang digunakan amat tergantung pada jarak jangkauan pengendalian contoh infrared. Pengendalian dengan menggunakan layanan SMS menjadi solusi yang menarik, cakupan jangkauan
pengendalian menjadi semakin luas sehingga alat dapat dikendalikan dari jauh. Kesalahan format
SMS, waktu untuk mengetikkan SMS, dan waktu untuk mengetikkan nomor tujuan sistem yang akan
dikendalikan menjadi bahan pertimbangan.
Sistem aplikasi SMS menggunakan J2ME untuk pengendalian motor DC tersusun atas dua
buah telepon seluler, bluetooth hardware, Personal Computer (PC), RS232, dan mikrokontroler.
Pengendalian motor DC terjadi setelah user memilih format pengendalian (berhenti, ccw, atau cw)
pada aplikasi telepon seluler 1. Pemantauan kondisi motor DC terjadi setelah user memilih cek pada
telepon seluler 1. Pengendalian motor DC merupakan perintah agar motor DC dalam keadaan
berhenti, berputar Counter Clock Wise (CCW) atau berputar Clock Wise (CW). Perintah pemantauan
motor DC merupakan perintah agar sistem memberikan keterangan kepada telepon seluler 1.
Keterangan yang diberikan berisi berhenti, ccw, atau cw yang merupakan kondisi dari motor DC.
Hasil pengamatan menunjukkan bahwa sistem aplikasi SMS menggunakan J2ME untuk
pengendalian motor DC telah berhasil dibuat dan bekerja dengan baik. Pengamatan terdiri dari data
antara telepon seluler 1 dan telepon seluler 2 menggunakan aplikasi J2ME, data antara telepon seluler
2 dan PC dengan menggunakan bluetooth, dan data yang terjadi antara PC dan mikrokontroler beserta
arah putaran motor DC.
ix
Today people still rely on a tools such as remote control for controlling the remote
load . However, controlling can only be done at a certain distance depend on the infrared range of the controlled load..Controlling using the SMS service is one of the attractive solution, the
coverage is increasingly broaden, so that the appliance can be remotely controlled. SMS format
errors, time to type SMS, and time to type the destination number the system to be controlled is
coming into consideration.
SMS using J2ME application system for DC motor control composed of two mobile
phones, bluetooth hardware, Personal Computer (PC), RS232, and microcontroller. DC motor
control occurs after the user selects a format control (stop, ccw, or cw) on a mobile phone
application. DC motor condition monitoring occurs after the user selects a DC motor condition
monitoring (cek) on the celluler phone. 1. DC motor control is divide into three state, i.e.
stopping, spinning Counter Clock Wise (CCW), or spinning Clock Wise (CW). Order to monitor
of DC motor state is asking the system to provide information to the mobile phone 1.
Information of the DC motor state contains stop, ccw, or cw.
After some testing, it show that the system of SMS application using J2ME for DC motor
control has been successfully made and works well. The observations result consist of data
between a mobile phone 1 and mobile phone 2 uses J2ME applications, data between mobile
phones and PC using Bluetooth, and data between the PC and the microcontroller and it’s
direction of rotation of DC motor.
x
Syukur dan terima kasih kepada Tuhan Yesus Kristus atas segala rahmat dan
karunia-Nya sehingga tugas akhir dengan judul “Aplikasi SMS Menggunakan J2ME
untuk Pengendalian Motor DC“ ini dapat diselesaikan dengan baik.
Selama menulis tugas akhir ini, penulis menyadari bahwa ada begitu banyak pihak
yang telah memberikan bantuan dengan caranya masing-masing, sehingga tugas akhir ini
bisa diselesaikan. Oleh karena itu penulis ingin mengucapkan terima kasih kepada:
1. Damar Widjaja, ST., MT., selaku dosen pembimbing yang dengan penuh
kesabaran membimbing, memberi saran dan kritik yang membantu penulis
dalam menyelesaikan tulisan ini.
2. Rosma Rumadam Pakpahan sebagai orang tua tercinta yang tidak pernah
berhenti memberikan dukungan dalam bentuk doa, dukungan dan semangat.
3. Kakak, adik dan abangku yang selalu memberikan doa dan semangat.
4. Seluruh dosen teknik elektro dan laboran yang memberikan ilmu dan
pengetahuan kepada penulis selama kuliah.
5. Teman-teman teknik elektro angkatan 2005 atas segala dukungan dan bantuan.
6. Berbagai pihak yang tidak bisa penulis sebutkan satu-persatu atas bantuan,
bimbingan, kritik dan saran.
Dengan rendah hati penulis menyadari bahwa tugas akhir ini masih jauh dari
sempurna, oleh karena itu berbagai kritik dan saran untuk perbaikan tugas akhir ini sangat
diharapkan. Akhir kata, semoga tugas akhir ini dapat bermanfaat bagi semua pihak.
Terima kasih.
Yogyakarta, 25 Mei 2011
xi
HALAMAN JUDUL
(Bahasa Indonesia)……… iHALAMAN JUDUL
(Bahasa Inggris) ……..………... iiHALAMAN PERSETUJUAN
…………..………..…. iiiHALAMAN PENGESAHAN
………...… ivPERNYATAAN KEASLIAN KARYA
……… vHALAMAN PERSEMBAHAN DAN MOTTO HIDUP
……… viLEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA
ILMIAH UNTUK KEPENTINGAN AKADEMIS
... viiINTISARI
………..…… viiiANSTRACT
…….………..……….. ixKATA PENGANTAR
……….. xDAFTAR ISI
……..……….. xiDAFTAR GAMBAR
……….... xvDAFTAR TABEL
………...……... xixBAB I : PENDAHULUAN
……….……….... 11.1 Judul ……….….. 1
1.2 Latar Belakang ……… 1
1.3 Tujuan dan Manfaat ……… 1
xii
BAB II : DASAR TEORI
………..………..……... 42.1 Java2 Micro Edition……..……….…… 4
2.1.1 Konfigurasi ……….……. 4
2.1.1.1Connected Limited Device Configuration……….….…. 5
2.1.1.2Connected Device Configuration……….… 5
2.1.2 Profile……….. 6
2.1.3 Paket-paket Opsional ………... 7
2.1.4 Midlet ………..…..…... 7
2.1.5 Koneksi SMS pada J2ME ……… 8
2.1.5.1 Interface Text dan Binary Message……….. 8
2.1.5.2 Interface Message Connection………. 9
2.1.5.3 Mengirim SMS ………. 10
2.5.2 Serial PortPersonal Computer.……….……….. 21
xiii
BAB III : PERANCANGAN
……….………... 283.1 Model Sistem ………...……… 28
3.2 Perancangan Subsistem Hardware.……….…… 29
3.2.1 Perancangan Interface PC dengan Hardware .……….….…… 29
3.2.2 Rangkaian untuk Memeriksa Status Motor DC .………….….….…… 29
3.2.3 Rangkaian Sistem Mikrokontroler .……….….……….… 31
3.3 Perancangan Subsistem Software.……….….……….… 33
3.3.1 Perancangan Program Mikrokontroler .……….….……… 33
3.3.1.1 Program Memeriksa Status Motor DC .……….….…… 34
3.3.1.2 Program Kendali Motor DC .……….………….…… 35
3.4 Perancangan Program Personal Computer .………...….…….… 37
3.5 Perancangan Program Memeriksa Status Motor DC pada Personal Computer.………..………...……….….…… 38
3.5.1 Perancangan Program Kendali Motor DC pada Personal Computer… 40 3.6 Perancangan Program Telepon Seluler 1 .……….…….….….….… 41
3.6.1 Program Pengendalian Motor DC ………..………..….….… 42
3.6.2 Program Memeriksa Status Motor DC ……..……...……….… 44
3.7 Perancangan Program Telepon Seluler 2 ……..………..…….… 48
3.7.1 Program Pengendalian Motor DC …………..……...……….… 49
3.7.2 Program Memeriksa StatusMotor DC ……..……...……….… 50
BAB IV : HASIL DAN PEMBAHASAN
………..…………... 534.1Gambar Fisik Hardware ………..………..……... 53
4.2Pengujian SMS Sistem……….…..………...…….… 56
4.3Pengujian Sistem Minimum Mikrokontroler…………..………...…….… 63
4.4Pembahasan Program PC ………..…...…….… 67
4.4.1 Option Kendali SMS……….……..…...…….… 69
xiv
5.1 Kesimpulan ………...……..… 76
5.2 Saran ………..……….………..… 76
xv
Gambar 2.6 Arsitektur Jaringan GSM ...……….. 16
Gambar 2.7 Diagram Blok Proses Pengiriman SMS …...………..… 18
Gambar 2.8 Konfigurasi Pin ATMega8535 ………..……….… 19
Gambar 2.9 Konfigurasi Pin IC MAX232 …….………... 21
Gambar 2.10 Konfigurasi Pin Konektor DB9 ……….. 22
Gambar 2.11 Konfigurasi Pin dari IC L293D ..……… 23
Gambar 2.12 Simbol Rangkaian Phototodioda………..….. 24
Gambar 2.13 Simbol LED ... 24
Gambar 2.14 Rangkaian LED ... 25
Gambar 2.14 Motor DC Sederhana ... 26
Gambar 2.15 Prinsip Kerja Motor DC ………..……... 26
Gambar 2.16 Dasar Pengaturan Arah Putar Motor DC ... 27
Gambar 3.1 Model Sistem Hardware ...……… 28
Gambar 3.2. Model Sistem Pengolahan SMS pada PC ... 28
Gambar 3.3 Rangkaian Interface PC dengan Mikrokontroler ……….…. 29
Gambar 3.4 Rangkaian untuk Memeriksa Status Motor DC ... 31
Gambar 3.5 Rangkaian Minimum Sistem Mikrokontroler ... 32
Gambar 3.6 Flowchart Utama Program Memeriksa dan Mengendalikan Motor DC ... 33
Gambar 3.7 Flowchart Program Memeriksa Status Motor DC ... 35
Gambar 3.8 Flowchart Program Kendali Motor DC ... 36
Gambar 3.9 Alur Pengolahan SMS Perintah ... 37
Gambar 3.10 Flowchart Program Utama Personal Computer... 38
xvi
Gambar 3.14 Flowchart Tampilan Awal pada Telepon Seluler 1 ... 41
Gambar 3.15 Tampilan Cara Pemilihan Kendali Motor DC Berhenti ... 42
Gambar 3.16 Tampilan Aktifitas Pengiriman SMS setelah User Memilih Kendali Motor DC Berhenti ... 42
Gambar 3.17 Tampilan Aktifitas Pengiriman SMS setelah User Memilih Kendali Motor DC Berhenti ... 43
Gambar 3.18 Tampilan Cara Pemilihan Kendali Motor DC CCW ... 43
Gambar 3.19 Tampilan Aktifitas Pengiriman SMS setelah User Memilih Kendali Motor DC Berputar Counter Clock Wise …... 43
Gambar 3.20 Tampilan Cara Pemilihan Kendali Motor DC CW ……….. 44
Gambar 3.21 Tampilan Aktifitas Pengiriman SMS setelah User Memilih Kendali Motor DC Berputar Clock Wise ………... 44
Gambar 3.22 Flowchart Program Kendali Motor DC pada Telepon Seluler 1 ... 45
Gambar 3.23 Tampilan Cara Memilih Pilihan Memeriksa Status Motor DC ... 45
Gambar 3.24 Tampilan setelah User Melakukan Eksekusi KirimSMS pada Memeriksa Status Motor DC ... 46
Gambar 3.25 Tampilan pada Telepon Seluler 1 apabila StatusMotor DC Berputar Counter Clock Wise (CCW) ... 46
Gambar 3.26 Tampilan pada Telepon Seluler 1 apabila Status Motor DC Berputar Clock Wise (CCW) ... 47
Gambar 3.27 Tampilan pada Telepon Seluler 1 apabila Status Motor DC Berhenti ... 47
Gambar 3.28 Flowchart Memeriksa StatusMotor DC ... 48
Gambar 3.29 Tampilan pada Telepon Seluler 2 ………... 48
Gambar 3.30 Flowchart Tampilan Awal pada Telepon Seluler 1 ………... 49
Gambar 3.31 Tampilan Cara Pemilihan Kendali Motor DC Berhenti …………... 49
Gambar 3.32 Tampilan setelah User Memilih Pilihan Kendali Motor DC Berputar Counter Clock Wise (CCW) ... 50
xvii
Gambar 3.35 Tampilan pada Telepon Seluler 1 apabila Status Motor DC Berhenti …... 51
Gambar 3.36 Tampilan pada Telepon Seluler 1 apabila Status Motor DC Berputar Clock Wise (CW) ... 52
Gambar 3.37 Tampilan pada Telepon Seluler 1 apabila Status Motor DC Berputar Counter Clock Wise (CCW) ... 52
Gambar 3.38 Flowchart Memeriksa Status Motor DC ... 52
Gambar 4.1 Flowchart Memeriksa Status Motor DC ... 53
Gambar 4.2 Rangkaian Sistem Minimum Mikrokontroler ... 54
Gambar 4.3 Rangkaian Regulator Tegangan ... 55
Gambar 4.4 Rangkaian Memeriksa Status Motor DC ... 55
Gambar 4.5 Rangkaian Optocoupler ... 55
Gambar 4.6 Rangkaian Comparator Tegangan Keluaran Sensor Photodioda ... 56
Gambar 4.7 Motor DC ... 56
Gambar 4.8 Tampilan Pengendalian Motor DC Telepon Seluler 1 dan Telepon Seluler 2 Menggunakan J2ME ... 58
Gambar 4.9 Pemantauan Status Motor DC Telepon Seluler 1 dan Telepon Seluler 2 Menggunakan J2ME ... 59
Gambar 4.10 Model Sistem Pengolahan SMS dalam PC (Design yang Digunakan) ... 61
Gambar 4.11 Bluetooth Adapter Class 1 ... 62
Gambar 4.12 Pengujian Pemantauan Status motor DC Berhenti Berputar Logika 0 ... 66
Gambar 4.13 Pengujian Pemantauan Status motor DC Berhenti Berputar Logika 1 ... 66
Gambar 4.14 Pemantauan Status motor DC berputar ccw ... 67
Gambar 4.15 Pemantauan Status motor DC berputar cw ... 67
Gambar 4.16 Tampilan Form Utama ... 68
Gambar 4.17 Tampilan Form Perintah Pengendalian Motor DC Berhenti ... 70
Gambar 4.18 Tampilan Form Pemantauan Status Motor DC ... 71
xix
Halaman
Table 2.1 Perbandingan Spesifikasi dari CLDC dan CDC ... 22
Table 2.2 Method pada ClassDisplay ... 22
Tabel 2.3 Method pada ClassForm ... 15
Table 2.4 Daftar Method dari Class List untuk Manipulasi Item ... 22
Table 2.5 Tipe List ... 15
Tabel 2.6 Format Pengiriman Data Serial Asinkron ...………. 20
Table 2.7 Keterangan Pin Konektor DB9 (PC Serial Port) ... 22
Tabel 3.1 Rangkaian untuk Memeriksa Status Motor DC ... 42
Tabel 3.2 Pengolahan Data Masukan Memeriksa Status pada Mikrokontroler ... 35
Tabel 3.3 Kendali Motor DC Mikrokontroler …………... 36
Tabel 3.4 Pengolahan Masukan dari Mikrokontroler yang akan diolah ... 39
Tabel 3.5 Tabel Perintah Kendali Motor DC dan Nilai Masukan pada Mikrokontroler .... 40
Tabel 4.1 Tabel Format SMS pada Database ... 57
Tabel 4.2 Tabel Data Hasil Percobaan Aplikasi SMS Menggunakan J2ME untuk Pengendalian Motor DC ... 57
Tabel 4.3 Tabel Data Hasil Percobaan Aplikasi SMS Menggunakan J2ME untuk Memeriksa Status Motor DC ... 59
xx
Menggunakan Bluetooth dari Serial Port Komputer ... 62
Tabel 4.6 Tabel Data Hasil Percobaan Pengendalian Motor DC pada Sistem Minimum
Mikrokontroler ... 63
Tabel 4.7 Tabel Data Hasil Percobaan Pemantauan Status Motor DC pada Sistem
1
PENDAHULUAN
1.1
Latar Belakang
Dalam kehidupan sehari-hari, sampai saat ini masyarakat masih bergantung pada alat
seperti remote control untuk mengendalikan beban pada jarak jauh. Akan tetapi, pengendalian
tersebut hanya dapat dilakukan pada jarak tertentu saja, sehingga apabila jarak antara alat
yang dikendalikan dan alat pengendali melewati batas toleransi, maka peralatan tersebut tidak
dapat berfungsi sesuai dengan keinginan [1]. Sistem pengendalian beban jarak jauh
diperlukan untuk mengatasi permasalahan tersebut. Penggunaan layanan Short Message
Service (SMS) untuk pengendalian sistem menjadi alternatif yang baik karena luasnya cakupan jangkauan dari jaringan Global System for Mobile Communication (GSM).
Pengendalian beban dengan menggunakan SMS sudah banyak digunakan dan masih
terdapat kekurangan yaitu adanya kesalahan format SMS dan lamanya pengetikan SMS [2].
Masalah tersebut dapat diminimalisir dengan aplikasi SMS yang dibangun menggunakan
Java2 Micro Edition (J2ME) [3].
J2ME merupakan salah satu fasilitas pemrograman yang sering digunakan untuk
membuat aplikasi yang dapat diletakkan di telepon selular . Aplikasi J2ME sering ditemukan
pada telepon selular yang sudah didukung fitur Java seperti aplikasi chat, browsing, dan
lain-lain. Dari sinilah muncul ide bagaimana cara mengendalikan beban dengan menggunakan
fasilitas SMS yang terdapat pada telepon selular yang dikemas pemrograman J2ME. Dengan
cara ini, waktu yang digunakan untuk mengetikkan format SMS dalam mengendalikan beban
menjadi lebih efisien dan keakuratan lebih terjamin.
1.2
Tujuan dan Manfaat Penelitian
Tujuan dari penelitian ini adalah untuk membuat sebuah perangkat yang dapat
mengendalikan beban dari jarak jauh dengan aplikasi SMS menggunakan J2ME.
Manfaat dari penelitian ini untuk:
1. Memudahkan pengguna dalam mengendalikan beban dari jarak jauh
1.3
Batasan Masalah
Penelitian ini memiliki batasan masalah sebagai berikut :
1. Menggunakan J2ME.
2. Menggunakan mikrokontroler keluarga AVR ATMega8535
3. Menggunakan motorDC sebagai beban.
4. MotorDC berputar Clock Wise (CW), berhenti, dan Counter Clock Wise (CCW).
5. Menggunakan telepon seluler GSM.
6. Telepon seluler support Java seperti MIDP 2.0 dan CLDC 1.0
1.4
Metodologi Penelitian
Metodologi penelitian yang dilakukan dalam penyusunan tugas akhir ini adalah
sebagai berikut :
1. Studi Pustaka
Pengumpulan data melalui buku penunjang tentang J2ME, RS232, Gammu,
mysql, Visual Basic dan datasheet yang berkaitan dengan perancangan alat.
2. Model Sistem.
Perancangan dan pembuatan alat dilakukan berdasarkan teori dan selanjutnya
disimulasikan terlebih dahulu sebelum diaplikasikan ke dalam bentuk nyata.
Gambar 1.1 memperlihatkan model sistem yang akan dibuat.
Gambar 1.1 Bagan model alat pengendalian beban
Perangkat keras terdiri dari :
a. telepon selular 1 sebagai pengendali sistem yang dipakai oleh pengguna
c. komunikasi serial dengan menggunakan RS232
d. Personal Computer ( PC ) sebagai pendeteksi SMS yang masuk dan
mengolah data SMS
e. Beban yang digunakan adalah motor DC.
Proses kerja dari sistem adalah telepon seluler 1 mengirimkan SMS ke telepon
selular 2 yang tehubung dengan PC. Lalu PC akan membaca SMS yang diterima
oleh telepon selular 2. Selanjutnya, SMS akan diolah pada PC yang akan
digunakan untuk mengendalikan beban motor DC.
3. Pengujian alat dan pengambilan data.
Teknik pengujian alat dan pengambilan data meliputi kondisi beban sesuai dengan
yang diinginkan yaitu kondisi berhenti, Counter Clock Wise dan Counter Clock Wise
pada beban motor DC. Pengendalian motor DC menggunakan format SMS yang akan dipantau dan disesuaikan dengan hasil yang diharapkan sejak perancangan.
4. Analisa dan penyimpulan hasil percobaan.
Analisa data dilakukan dengan cara membandingkan hasil pengendalian motor
DC yang sesungguhnya dan pengendalian motor DC yang diharapkan dan dibahas untuk mengetahui keakuratan alat dan menarik kesimpulan dari hasil analisa data
4
BAB II
DASAR TEORI
2.1
Java2 Micro Edition
Java2 Micro Edition (J2ME) adalah sekumpulan interface Java API (Application
Programming Interface) dengan JVM (Java Virtual Machine) yang didesain khusus untuk alat [3]. Kombinasi tersebut digunakan untuk membuat aplikasi yang dapat bekerja dalam
suatu alat, misalnya telepon seluler. J2ME terdiri dari tiga buah bagian utama yang terdiri dari
konfigurasi, profil, dan paket-paket opsional. Bagian utama tersebut ditunjukkan pada
Gambar 2.1.
Gambar 2.1 Arsitektur J2ME [3]
2.1.1
Konfigurasi
Konfigurasi merupakan bagian berisi JVM dan beberapa library class. Konfigurasi
terdiri dari dua jenis yaitu Connected Limited Device Configuration (CLDC) dan Connected
yang didefinisikan di dalam CLDC terdapat pula dalam CDC. Konfigurasi CLDC dan CDC
ditunjukkan pada Gambar 2.2.
Gambar 2.2 Lingkup Konfigurasi [3]
2.1.1.1 Connected Limited Device Configuration
Connected Limited Device Configuration (CLDC) adalah spesifikasi dasar yang berupa library dan API yang diimplementasikan pada J2ME seperti yang digunakan pada
telepon selular, pager, dan PDA [3]. Perangkat tersebut dibatasi dengan keterbatasan memory,
sumber daya, dan kemampuan memproses. Spesifikasi CLDC pada J2ME terdiri dari paket,
kelas, dan sebagian fungsi Java Virtual Machine (JVM) yang dikurangi agar dapat
diimplementasikan dengan keterbatasan sumber daya pada alat-alat tersebut. Paket JVM yang
digunakan dalam CLDC disebut sebagai Kilobyte Virtual Machine (KVM).
KVM adalah paket JVM yang didesain untuk perangkat yang kecil. KVM mendukung sebagian dari fitur JVM, seperti misalnya KVM tidak mendukung operasi
floating-point dan finalisasi obyek. KVM diimplementasikan dengan menggunakan C
sehingga sangat mudah beradaptasi dengan tipe platform yang berbeda.
2.1.1.2 Connected Device Configuration
Connected Device Configuration (CDC) terdiri dari virtual machine dan kumpulan
library dasar yang dipergunakan pada profil industri [3]. Implementasi dari CDC adalah
Tabel 2.1 Perbandingan Spesifikasi dari CLDC dan CDC [3]
CLDC CDC
Mengimplementasikan sebagian dari J2SE Mengimplementasikan seluruh fitur J2SE
JVM yang digunakan adalah KVM JVM yang digunakan adalah CVM
Digunakan pada perangkat gengg
(handphone, PDA, pager) dengan mem
terbatas (160-512 KB)
Digunakan pada perangkat genggam (inter
TV, Nokia communicator, car TV) deng
memori minimal 2MB
Prosesor : 16/32 bit Prosesor 32 bit
C-Virtual Machine (CVM) merupakan paket JVM optimal yang digunakan pada CDC. CVM mempunyai seluruh fitur dari virtual machine yang didesain untuk perangkat yang
memerlukan fitur-fitur Java 2 virtual machine.
2.1.2
Profile
Profile merupakan bagian perluasan dari konfigurasi [3]. Selain sekumpulan kelas
yang terdapat pada konfigurasi, terdapat juga kelas spesifik yang didefinisikan lagi di dalam
profile. Dengan kata lain, profile menyediakan kelas yang tidak terdapat pada bagian konfigurasi. Profile yang digunakan pada J2ME adalah Mobile Information Device Profile
(MIDP).
Mobile Information Device Profile (MIDP) adalah spesifikasi untuk sebuah profile J2ME. MIDP memiliki lapisan di atas CLDC, API tambahan untuk daur hidup aplikasi,
antarmuka, jaringan, dan penyimpanan persisten. Pada saat ini, terdapat MIDP 1.0 dan MIDP
2.0. Fitur tambahan MIDP 2.0 dibanding MIDP 1.0 adalah API untuk multimedia. Pada MIDP
2.0 terdapat dukungan memainkan tone, tone sequence, dan file WAV walaupun tanpa adanya
Mobile Media Api (MMAPI).
MIDP User Interface API memiliki API level tinggi dan level rendah. API level
antara lain Alert, Form, List, dan Text Box yang merupakan ekstensi dari kelas abstrak screen.
Arsitektur antarmuka dari MIDP ditunjukkan pada Gambar 2.3.
Gambar 2.3 MIDP User Interface [3]
2.1.3
Paket-paket Opsional
Paket-paket opsional merupakan paket-paket yang dibutuhkan oleh aplikasi,
sehingga pada saat proses deployment, paket-paket tersebut perlu didistribusikan juga sebagai
bagian dari aplikasi bersangkutan. Mobile Media API dan Wireless Messaging API
merupakan contoh paket-paket opsional [3].
2.1.4
Midlet
Midlet merupakan piranti utama yang ditulis untuk MIDP [3]. Aplikasi Midlet adalah bagian dari kelas javax.microedition.Midlet.Midlet yang didefinisikan pada MIDP. Midlet
berupa sebuah kelas abstrak yang merupakan sub-class dari bentuk dasar aplikasi, sehingga
antarmuka antara aplikasi J2ME dan aplikasi manajemen pada perangkat dapat terbentuk.
Midlet terdiri dari tiga bagian utama yaitu startApp(), pauseApp(), dan destroyApp (Boolean unconditional) [3]. Ketika Midlet dijalankan, seluruh variabel akan diinisialisasi
dengan kondisi pause dan dijalankan pauseApp(). Kondisi selanjutanya adalah fungsi
destroyApp() akan dijalankan dan akan memanggil notifyDestroyed(). NotifyDestroyed() akan memberitahu platform untuk menghentikan Midlet dan membersihkan semua sumber daya
yang mengacu pada Midlet seperti diperlihatkan pada Gambar 2.4.
Gambar2.4Daur hidup Midlet [3]
2.1.5
Koneksi SMS pada J2ME
Dalam proses pengiriman dan penerimaan SMS, terdapat tiga buah interface utama
yaitu TextMessage, BinaryMessage, dan MessageConnection [3].
2.1.5.1 Interface TextMessage dan BinaryMessage
Paket Wireless Messaging API (WMA) menyediakan interface TextMessage dan
BinaryMessage [3]. Kedua interface tersebut diturunkan dari interface Message, yang
merupakan method umum untuk menunjukkan alamat penerima dan juga mendapatkan waktu
SMS. Berikut bentuk deklarasi method dalam interface Message [3].
String getAddress()
void SetAddress (String address)
Interface TextMessage merupakan interface yang mewakili pesan berupa teks.
Interface tersebut membutuhkan dua buah method untuk mengakses teks-teks yang akan diakses yakni [3] :
String getPayloadText() //untuk mendapatkan isi dari pesan
void setPayloadText (String body) //untuk mengeset isi pesan
Interface BinaryMessage adalah interface yang mewakili pesan biner. Interface
tersebut menambahkan dua buah method untuk mengakses pesan biner yang terdapat di
dalamnya [3]. Isi dari pesan biner adalah berupa array byte.
byte [] getPayloadData ()
void setPayloadData (byte [ ] content)
2.1.5.2
Interface Message Connection
Paket WMA terletak pada bagian interface Message Connection, yang mewakili
sebuah koneksi jaringan untuk melakukan proses pengiriman maupun penerimaan SMS [3].
Instance dari Message Connection dapat diperoleh dengan cara melewatkan URL ke dalam
method Conector.open(). Aturan penulisan URL dalam WMA adalah sebagai berikut [3]: 1. Sms://no_telepon.MessageConnection akan mengirimkan pesan ke nomor telepon
tujuan. Pesan akan terkirim ke inbox SMS pada device tujuan.
2. Sms://no_telepon:port.MessageConnection akan mengirimkan pesan ke nomor telepon
tujuan untuk port yang ditentukan SMS tidak akan terkirim ke inbox SMS pada device
tujuan, melainkan akan dikirimkan ke suatu Midlet pada device penerima yang bertugas
untuk merespon port tersebut.
3. Sms://:port.MessageConnection akan mendengarkan port yang ditentukan. Midlet SMS
yang berada di client berperan sebagai server pada port tertentu. Koneksi ni dinamakan
dengan koneksi mode server (server mode connection)
4. Cbs://:port.MessageConnection akan merespon port tertentu yang ditetapkan untuk
Interface MessageConnection membutuhkan beberapa method untuk keperluan pengiriman dan penerimaan pesan, yaitu sebagai berikut [3]:
Message newMessage (String type)
Message newMessage (String type, String address)
Int numOfSegments (Message msg)
void set MessageListener (MessageListener 1)
Parameter type yang terdapat pada method newMessage () dapat berupa
TEXT_MESSAGE atau BINARY_MESSAGE. MessageConnection juga dapat memiliki sebuah
obyek listener. Midlet yang memiliki obyek listener harus menyertakan interface
MessageListener.
Interface MessageListener memiliki method notifyIncomingMessage() yang harus disertakan dalam Midlet dan dijalankan ketika terdapat SMS yang masuk. Gambar 2.5
menunjukkan daftar interface pada paket WMA.
Gambar 2.5 Interface pada Paket WMA [3]
2.1.5.3
Mengirim SMS
Kode yang diperlukan untuk melakukan proses pengiriman SMS adalah sebagai
berikut [3] :
MessageConnection conn = (MessageConnection) connector.open(address);
TextMessage msg =
(TextMessage)conn.newMessage(MessageConnection.TEXT_MESSAGE);
msg.setAddress (address);
msg.setPayloadText(“Coba mengirimkan SMS”); conn.send(msg);
Kode tersebut akan mengirimkan SMS dengan teks “Coba mengirimkan SMS” ke nomor telepon 12345678. Pada awalnya, obyek MessageConnection dibuat dengan
menuliskan perintah connector.open(). Selanjutnya, obyek TextMessage dibuat dengan cara
memanggil method newMessage(). Method newMessage() akan menghasilkan obyek bertipe
Message maka typecasting dilakukan terhadap obyek menjadi tipe TextMessage. Setelah obyek TextMessage terbentuk, alamat tujuan ditentukan dengan menggunakan method
setAddress() dan teks pesan yang akan dikirim dengan menggunakan method
setPayloadText(). Setelah semuanya tereksekusi, method send() dapat dijalankan untuk mengirimkan obyek TextMessage pada Midlet tersebut.
2.1.5.4
Menerima SMS
Method yang digunakan untuk menerima pesan adalah method receive() yang terdapat pada obyek MessageConnection [3]. Interface MessageListener, yaitu method
notifyIncomingMessage() perlu ditambahkan dalam pembuatan aplikasi untuk menerima SMS. Method notifyIncomingMessage() memiliki satu buah parameter bertipe
MessageConnection dan akan dieksekusi pada saat terdapat SMS yang masuk. Kode yang
diperlukan untuk menerima SMS adalah sebagai berikut [4]: String smsPort = “50000”
String address = “sms://:”+ smsPort;
MessageConnection conn = (MessageConnection) connector.open(address);
Message msg = conn.receive();
If (msg instanceof Text Message) {
String text = tmsg.getPayloadText(); //lakukan sesuatu terhadap pesan bersangkutan
}
Pada awalnya port akan digunakan untuk proses penerimaan SMS. Selanjutnya,
setelah membentuk obyek MessageConnection, method receive() dapat dipanggil untuk
mengambil pesan yang masuk. SMS yang masuk bertipe Message sehingga typecasting dilakukan terhadap SMS menjadi tipe TextMessage. Method getPayloadText() dari obyek
TextMessage digunakan untuk mengambil teks dari SMS yang diterima.
2.1.6
Bekerja dengan Display
Display merupakan obyek yang mewakili pengelola layar pada telepon seluler [4]. Pada sebuah Midlet hanya terdapat satu obyek display. Obyek display menyediakan method
untuk menggambar dan menampilkan elemen antarmuka grafis pada layar. Obyek display
juga menyediakan method untuk mengetahui property layar mendukung layar berwarna atau
tidak pada telepon seluler.
Class Display menyediakan fungsi-fungsi untuk manajemen layer pada perangkat telepon seluler dan menampilkan obyek screen. Akses ke layer dapat dilakukan dengan
fungsi static getdisplay() pada class Display :
Public static Display getDisplay(Midlet m)
Obyek screen yang ingin ditampilkan dapat ditentukan dengan fungsi setCurrent() setelah
mendapatkan obyek display.
Public void setCurrent(Displayable screen)
Beberapa method yang digunakan dalam class Display dapat dilihat pada Tabel 2.2.
Tabel 2.2 Method pada Class Display [4]
Type Method
Boolean flashBacklight( int duration)
melakukan request untuk efek flash backlight dari device.
Displayable getCurrent()
Tabel 2.2 (Lanjutan) Method pada Class Display [4]
Type Method
Static Display getDisplay(Midlet m)
mendapatkan obyek Display untuk Midlet.
Boolean isColor()
mendapatkan informasi mengenai color support untuk device
Void setCurrent(Alert alert, Displayable nextDisplayable)
melakukan request untuk membuat alert, dan setelah itu menampilkan
nextDisplayable.
Void setCurrent(Displayable nextDisplayable)
melakukan request obyek Displayable lain untuk ditampilkan pada layer
Boolean vibrate(int duration)
melakukan request untuk action pada device
2.1.7
Bekerja dengan Form
Form merupakan halaman untuk memasukkan data [4]. Form dapat terdiri dari komponen-komponen yang biasa disebut dengan item. Kumpulan item yang terdapat pada
form akan tersimpan di dalam array, sehingga dapat diambil dengan menggunakan indeks. Beberapa method yang terdapat pada class form ditunjukkan pada Tabel 2.3.
Tabel 2.3 Method pada Class Form [4]
Type Method
Int Append(img img)
Menambahkan sebuah item image kedalam form
Int Append (str str)
Menambahkan sebuah item string kedalam form
Void Delete (int itemNum)
Menghapus item yang ditunjuk oleh itemnum
Void Deleteall()
Tabel 2.3 (Lanjutan) Method pada Class Form [4]
Type Method
Item get(int itemNum)
Mendapatkan item pada posisi yang telah ditentukan
Int getHeight()
mengembalikan nilai height item dalam pixel dari displayable area
Int getWidth()
Mengembalikan nilai width item dalam pixel dari displayable area
Void set(int itemNum, Item item)
mengatur item dengan memposisikan item pada posisi yang telah
ditentukan dan mengganti item sebelumnya
Int size()
Mendapatkan jumlah item pada form
Void insert(int itemNum, Item item)
Memasukkan sebuah item ke dalam form dengan memposisikan item pada
posisi yang telah ditentukan.
2.1.8
Kelas List
Kelas list merupakan kelas turunan dari kelas screen yang akan menampilkan daftar
item pilihan untuk melakukan scroll terhadap daftar item pilihan [4]. Scroll daftar item pilihan tidak akan menimbulkan tanggapan aplikasi. Tanggapan aplikasi akan berjalan setelah
melakukan penekanan tombol select maupun menu command pada aplikasi yang sedang
digunakan.
Bentuk constructor dari kelas list adalah sebagai berikut :
List (String title, int listType)
List(String title, int listType, String [ ] choices, Image [ ] images)
Sebuah obyek List kosong yang hanya memiliki judul dan tipe dibuat dengan
menggunakan bentuk constructor di atas. Setiap item di dalam constructor tersebut dapat
Tabel 2.4 Daftar Method dari Class List untuk Manipulasi Item [4]
Nama Method Kegunaan
append () Menambah item dan menempatkannya di posisi terakhir
insert () Menambah item dan menempatkannya di posisi sebelum posi itemktif (item yang sedang dipilih)
delete () Menghapus item yang sedang dipilih
deleteAll () Menghapus semua item yang terdapat di dalam obyek List
Bentuk constructor pada kelas List mempunyai dua buah parameter tambahan, yaitu
choices yang digunakan untuk melewatkan item-item yang akan diisikan dan images yang berfungsi untuk menyimpan daftar gambar icon untuk item. Terdapat tiga tipe kelas List yang
ditunjukkan oleh Tabel 2.5.
Tabel 2.5 Tipe List [4]
Tipe Keterangan
EXCLUSIVE List ni berupa radio button, yakni user hanya memilih satu pilihan
MULTIPLE List ini berupa list yang di dalamnya terdapat check box. Di sini, user diizinkan untuk memilih beberapa (lebih dari satu) pilihan
IMPLICIT List ini berupa list standar yang umumnya banyak digunakan
2.2
Arsitektur Jaringan GSM
Global System for Mobile communication (GSM) adalah sebuah standar global untuk komunikasi bergerak digital [5]. GSM adalah nama sebuah grup standarisasi yang dibentuk
di Eropa tahun 1982 untuk menciptakan sebuah standar bersama telepon selular di Eropa yang
ditunjukkan pada Gambar 2.6. Jaringan GSM terdiri atas tiga subsistem yaitu Mobile Station
(MS), Base Station Subsystem (BSS), dan Network Switching Subsystem (NSS).
Gambar 2.6 Arsitektur Jaringan GSM [4]
Mobile Station terdiri dari [5] : 1. Mobile Equipment
2. Mobile Equipment (ME) adalah perangkat untuk transmisi radio yang dikenal dengan
istilah telepon seluler. ME memiliki identitas unik yang disebut International Mobile
Equipment Identity (IMEI). 3. Subcriber Identification Module
4. Subcriber Identification Module (SIM) card berisi International Mobile Subscriber
Identity (IMSI), secret key (kunci rahasia) untuk otentikasi, phone book (daftar telepon),
dan pesan SMS. IMSI digunakan untuk identifikasi subscriber (pelanggan) ke sistem.
SIM card dapat diproteksi dengan password atau Personal Identity Number (PIN).
Base Station Subsytem terdiri dari :
1. Base Tranciever System
2. Base Tranciever System (BTS) merupakan alat tranceiver radio (transmitter receiver
3. Base Station Controller
4. Base Station Controller (BSC) mengontrol dan mengatur beberapa BTS. BSC
bertanggung jawab untuk menjaga koneksi radio link saat terjadi panggilan dan mengatur
kepadatan lalu lintas panggilan pada areanya. Fungsi tersebut memungkinkan operasi
seperti handover, cell site configuration, management of radio resources, dan menyetel
power level dari frekuensi radio BTS.
Network Switching Subsystem terdiri dari :
1. Mobile Switching Center
Mobile Switching Center (MSC) berfungsi untuk switching suatu panggilan telepon dari jaringan internal atau dari jaringan lain (eksternal), call routing untuk subscriber yang
melakukan roaming (roaming subscriber), menyimpan informasi billing serta data base
lain yang berisi informasi subscriber ID (IMSI), nomor telepon seluler subscriber,
otentikasi, informasi lokasi subscriber, dan beberapa layanan atau larangan yang
berkaitan dengan subscriber.
2. Home Location Register
Home Location Register (HLR) adalah database permanen subscriber yang digunakan untuk menyimpan data dan profil dari subscriber. HLR dapat disatukan dengan MSC dan
VLR.
3. Visitor Location Register
Visitor Location Register (VLR) berisi database sementara dari subscriber. Database sementera tersebut diperlukan oleh MSC untuk melayani subscriber yang berkunjung
dari area lain.
4. Authentication Center
Authentication Center (AuC) merupakan database proteksi yang menyimpan salinan dari
secret key (kunci rahasia) yang terdapat pada setiap SIM card. Proteksi ini digunakan
untuk otentikasi dan enkripsi pada channel radio.
5. Equipment Identity Register
Equipment Identity Register (EIR) merupakan database yang berisi daftar valid mobile
equipment pada jaringan. Setiap MS diidentifikasikan dengan International Mobile
2.3
Short Message Service
Short Message Service (SMS) merupakan salah satu fitur berupa pesan pendek yang
disediakan dalam komunikasi seluler [6]. Layanan SMS distandarisasi oleh suatu badan yang
bernama European Telecomunication Standards Institute (ETSI). Layanan SMS ini
memungkinkan perangkat telepon seluler mengirim dan menerima pesan-pesan teks dengan
panjang sampai dengan 160 karakter melalui jaringan GSM.
2.3.1
Short Message Service Center
SMS yang dikirim melalui telepon seluler tidak akan langsung dikirimkan kepada
telepon seluler tujuan, tetapi akan dikirim terlebih dahulu ke Short Message Service Center
(SMSC). Setelah SMSC menerima SMS dari pengirim, SMSC akan langsung mengirimkan
SMS tersebut ke telepon seluler yang dituju. Diagram blok dari proses pengiriman SMS dapat
dilihat pada Gambar 2.7.
Pengirim
S
M
S
C
Penerima
Gambar 2.7 Diagram Blok Proses Pengiriman SMS [6]
Status SMS yang gagal terkirim atau telah diterima oleh telepon seluler tujuan dapat
diketahui karena adanya peralatan SMSC. Pesan SMS dapat terkirim apabila telepon seluler
yang dituju dalam keadaan aktif dan berada di dalam jangkauan layanan GSM. Pada saat SMS
diterima, telepon seluler yang dituju akan memberikan konfirmasi kepada SMSC.
Selanjutnya, SMSC akan mengirimkan laporan status kepada telepon seluler pengirim yang
menyatakan bahwa pesan SMS telah diterima oleh telepon seluler tujuan. SMS yang belum
diterima oleh telepon seluler tujuan akan disimpan pada SMSC sampai validity period
2.4
Mikrokontroler AVR
Mikrokontroler AVR memiliki arsitektur Reduced Instruction Set Computing (RISC)
8-bit. Semua instruksi dikemas dalam kode 16-bit (16 bits word) dan sebagian besar instruksi
dieksekusi dalam 1 siklus clock [7]. Secara umum, AVR dikelompokkan menjadi 4 kelas,
yaitu keluarga ATtiny, keluarga AT90Sxx, keluarga ATMega, dan AT86RFxx. Pada
dasarnya, yang membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya.
Gambar 2.8 memperlihatkan konfigurasi lengkap dari pin ATMega8535.
Gambar 2.8 Konfigurasi Pin ATMega8535 [7]
Berdasarkan Gambar 2.7 fungsi dari tiap pin adalah [7]:
1. VCC merupakan pin yang berfungsi sebagai input pin catu daya.
2. GND merupakan ground pin.
3. Port A (PA0-PA7) merupakan input/output (I/O) dua arah dan input pin untuk Analog to
Digital Converter (ADC).
4. Port B (PB0-PB7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu
5. Port C (PC0-PC7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu Two-wire
Serial Interface (TWI), komparator analog, dan Timer Oscillator.
6. Port D (PD0-PD7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu komparator
analog, interupsi eksternal dan komunikasi serial.
7. RESET merupakan pin yang digunakan untuk membuat mikrokontroler dalam kondisi
reset.
8. XTAL1 dan XTAL2 merupakan inputpin untuk clock eksternal.
9. AVCC merupakan input pin untuk tegangan ADC.
10.AREF merupakan input pin untuk tegangan referensi ADC.
2.5
Komunikasi Data Serial
Ada dua macam sistem transmisi dalam komunikasi data serial, yaitu sinkron dan
asinkron [8]. Pada komunikasi data serial sinkron, clock dikirim bersama-sama dengan data
serial. Pada komunikasi data serial asinkron, clock tidak dikirimkan bersama-sama dengan
data serial tetapi dibangkitkan secara sendiri-sendiri baik pada sisi pengirim (transmitter)
maupun pada sisi penerima (receiver). Komunikasi data serial asinkron ini dikerjakan oleh
Universal Asyncronous Receiver/ Transmitter (UART).
Pada UART, kecepatan pengiriman data (baudrate) dan fase clock pada sisi pengirim
dan pada sisi penerima harus sinkron. Sinkronisasi antara pengirim dan penerima dilakukan
oleh bit ‟Start‟ dan bit ‟Stop‟. Bentuk format pengiriman serial data asinkron diperlihatkan
dalam Tabel 2.6.
Faktor lain yang cukup penting dalam transfer (pengiriman) data serial asinkron
adalah kecepatan pengiriman. Besaran kecepatan pengiriman data serial adalah bit per second
(bps) dan biasa disebut baudrate atau character per second (cps). Baudrate yang biasa
digunakan adalah 110, 300, 1200, 4800, 9600, dan 19200.
Tabel 2.6 Format Pengiriman Data SerialAsinkron [8].
2.5.1
IC MAX232 dan RS-232
IC MAX 232 merupakan IC Serial RS232 yang digunakan sebagai interface (antar
muka) dari PC ke perangkat luar (level Transistor Transistor Logic,TTL) atau sebaliknya dari
perangkat luar ke PC [9]. Konfigurasi pin dari IC MAX232 dapat dilihat pada Gambar 2.9.
Karakteristik dari RS-232 memiliki ketentuan level tegangan sebagai berikut [8] :
1. Level tegangan antara -3 Volt (-3V) hingga -25 Volt (-25V) untuk logika „1‟ disebut „mark‟ .
2. Level tegangan antara +3V hingga +25V untuk logika „0‟ disebut „space‟.
3. Level tegangan antara -3V hingga +3V adalah invalid level, yaitu level tegangan yang
tidak memiliki level logika pasti sehingga harus dihindari. Level tegangan lebih negatif
dari -25V atau lebih positif dari +25V juga harus dihindari karena tegangan tersebut dapat
merusak line driver pada saluran RS-232.
Gambar 2.9 Konfigurasi Pin IC MAX 232 [9]
2.5.2
Serial Port Personal Computer
Standar konektor komunikasi serial RS232 pada PC adalah konektor 9 pin (konektor
Gambar 2.10 Konfigurasi Pin Konektor DB9 [10].
Keterangan fungsi dan deskripsi pin DB9 dapat dilihat pada Tabel 2.7. Piranti-piranti
yang menggunakan komunikasi serial adalah sebagai berikut :
1. DTE = Data Terminal Equipment, yaitu Personal Computer (PC).
2. DCE = Data Communication Equipment, yaitu eksternal hardware.
Tabel 2.7 Keterangan Pin Konektor DB9 (PC Serial Port) [10].
No. pin Nama pin Deskripsi Fungsi
1 DCD Data Carrier Detect Saluran sinyal ini akan diaktifkan ketika DTE
mendeteksi suatu carrier dari DCE. 2 RXD Received Data Sebagai penerimaan data serial. 3 TXD Transmit Data Sebagai pengiriman data serial. 3 TXD Transmit Data Sebagai pengiriman data serial.
4 DTR Data Terminal Ready Dengan saluran ini, DTE memberitahukan
kesiapan terminalnya.
5 GND Ground Saluran ground.
6 DSR Data Set Ready Dengan saluran ini, DTE memberitahukan bahw
siap melakukan komunikasi.
7 RST Request To Send Dengan saluran ini , DCE diminta mengirim data
oleh DTE.
8 CTS Clear To Send Dengan saluran ini, DCE memberitahukan bahw
DTE boleh mulai mengirim data.
9 RI Ring Indicator
2.6
IC Driver L293
IC L293 merupakan IC tegangan tinggi (high voltage), keempat saluran driver berarus
tinggi (600mA persaluran dan 1,2A puncak arus keluaran (non repetitive) per saluran)
dirancang untuk level logika Transistor-Transistor Logic (TTL) [11]. Driver ini biasanya
digunakan untuk memicu beban induktif (relay, solenoid, motor DC dan motor stepper). Agar
mudah digunakan sebagai dua jembatan (bridge), setiap pasang saluran (channel) dilengkapi
dengan input enable. IC L293D sudah memiliki 4 buah dioda pengaman. Alat ini bisa
digunakan untuk aplikasi switching pada frekuensi sampai 5kHz. Input untuk suplai terpisah
agar mudah digunakan untuk bekerja pada tegangan rendah. Gambar 2.11 memperlihatkan
konfigurasi pin dari IC L293D.
Gambar 2.11 Konfigurasi Pin dari IC L293D [11]
2.7
Fotodioda (
Photodiode
)
Fotodioda adalah salah satu alat yang dibuat untuk berfungsi paling baik
berdasarkan kepekaannya terhadap cahaya. Pada dioda ini, sebuah jendela
memungkinkan cahaya masuk melalui pembungkus dan mengenai persambungan pn.
Silikon, yaitu bahan material di mana transistor dan rangkaian terintegrasi dibuat, akan
mengalami perubahan resistansi listrik saat dikenai cahaya. Fotodioda sebenarnya tidak
berbeda dari dioda biasa yang ditempatkan di dalam material transparan, sehingga
memungkinkan cahaya mengenainya (sedangkan pada dioda biasa, kotaknya berupa
digunakan untuk menghasilkan sinyal listrik yang besarnya tergantung pada jumlah
cahaya yang mengenainya. [14]
Gambar 2.2 menunjukan lambang skematis fotodioda. Panah yang mengarah ke
dalam melambangkan cahaya yang datang. Sumber dan tahanan seri memberikan
prategangan balik pada fotodioda. Bila cahaya makin cerah, arus balik naik. Dalam fotodioda yang lazim, arus balik tersebut besarnya sedikit puluhan mikroamper. [14]
Gambar 2.12 Simbol Rangkaian Fotodioda
2.8
Light Emiting Diode
(LED)
LED adalah dioda berprategangan maju, dimana elektron bebas melintasi
sambungan dan jatuh ke dalam lubang (hole). Ketika elektron jatuh dari tingkat energi
tinggi ke rendah, elektron akan mengeluarkan energi. Pada diode biasa, energi
dikeluarkan dalam bentuk panas. Tetapi pada LED, energi dikeluarkan dalam bentuk
sinar. Dengan menggunakan elemen seperti gallium, arsenik, dan fosfor, pabrik dapat
memproduksi LED berwarna merah, hijau, kuning, biru, orange / jingga, dan inframerah
/ infrared (tak terlihat). Gambar 2.3 menunjukkan simbol LED. [14]
Gambar 2.13 Simbol LED
2.8.1
Tegangan dan Arus LED
LED mempunyai penurunan tegangan lazimnya dari 1,5 V sampai 2,5 V untuk
arus di antara 10 sampai 150 mA. Penurunan tegangan yang tepat tergantung dari arus
LED, warna, kelonggaran, dan sebagainya. Kecermelangan LED tergantung dari arusnya.
Idealnya, cara terbaik untuk mengendalikan kecermelangan ialah dengan menjalankan
Gambar 2.14 Rangkaian LED
(2.1)
Dimana : VLED = Penurunan tegangan LED (Volt) Vs = Tegangan sumber (volt)
Rs = Resistor yang tersusun seri dengan LED (Ohm) I = Arus (Ampere)
Makin besar tegangan sumber, makin kecil pengaruh VLED. Dengan kata lain Vs yang besar menghilangkan pengaruh perubahan tegangan VLED. Biasanya, arus LED ada di antara 10 mA sampai 50 mA karena daerah ini memberikan cahaya yang cukup untuk
banyak pemakai.[14]
2.9
Motor DC
Motor listrik merupakan perangkat elektromagnetis yang mengubah energi listrik menjadi
energi mekanik. Energi mekanik ini digunakan untuk memutar impeller pompa, fan atau blower,
menggerakan kompresor, mengangkat bahan, dan lain-lain. Motorlistrik digunakan juga di rumah
seperti mixer, bor listrik, fan angin dan di industri. Motor listrik kadangkala disebut “kuda kerja”
industri sebab diperkirakan bahwa motor-motor menggunakan sekitar 70% beban listrik total di
industri [12].
Motor DC memerlukan suplai tegangan yang searah pada kumparan medan untuk diubah
menjadi energi mekanik. Kumparan medan pada motor dc disebut stator (bagian yang tidak
berputar) dan kumparan jangkar disebut rotor (bagian yang berputar). Jika terjadi putaran pada
kumparan jangkar dalam pada medan magnet, maka akan timbul tegangan/gaya gerak listrik
(GGL) yang berubah-ubah arah pada setiap setengah putaran, sehingga merupakan tegangan
bolak-balik. Prinsip kerja dari arus searah adalah membalik fasa tegangan dari gelombang yang
mempunyai nilai positif dengan menggunakan komutator, dengan demikian arus berbalik arah
memiliki kumparan satu lilitan yang bias berputar bebas di antara kutub-kutub magnet permanen
seperti ditunjukkan pada Gambar 2.12.
Gambar 2.15MotorDCSederhana [12]
Catu tegangan dc dari baterai menuju ke lilitan melalui sikat yang menyentuh
komutator. Komutator adalah dua segmen yang terhubung dengan dua ujung lilitan.
Kumparan satu lilitan pada gambar di atas disebut angker dinamo. Angker dinamo adalah
sebutan untuk komponen yang berputar di antara medan magnet.
2.9.1
Prinsip Kerja
Daerah kumparan medan yang dialiri arus listrik akan menghasilkan medan
magnet yang melingkupi kumparan jangkar dengan arah tertentu [12]. Konversi dari
energi listrik menjadi energi mekanik (motor) maupun sebaliknya berlangsung melalui
medan magnet. Medan magnet selain berfungsi sebagai tempat untuk menyimpan energi,
sekaligus berfungsi sebagai tempat berlangsungnya proses perubahan energi. Daerah
medan magnet dapat dilihat pada Gambar 2.13 [12]:
Dengan mengacu pada hukum kekekalan energi :
Proses energi listrik = energi mekanik + energi panas + energi di dalam medan magnet,
medan magnet akan dihasilkan kumparan medan dengan kerapatan fluks sebesar B
dengan arus adalah I serta panjang konduktor sama dengan L, sehingga diperoleh gaya
sebesar F, dengan persamaan sebagai berikut :
F = B I L (2.2)
Arah dari gaya ini ditentukan oleh aturan kaidah tangan kiri. Adapun kaidah tangan kiri
tersebut adalah sebagai berikut : Ibu jari sebagai arah gaya (F), telunjuk jari sebagai fluks
(B), dan jari tengah sebagai arus (I). Bila motor dc mempunyai jari-jari dengan panjang
sebesar (r), maka hubungan persamaan dapat diperoleh :
Tr = Fr = B I L r (2.3)
Saat gaya (F) tersebut dibandingkan, konduktor akan bergerak di dalam kumparan medan
magnet dan menimbulkan GGL yang merupakan reaksi lawan terhadap tegangan sumber.
Agar proses perubahan energi mekanik tersebut dapat berlangsung secara sempurna,
tegangan sumber harus lebih besar dari pada tegangan gerak yang disebabkan reaksi
lawan. Arus pada kumparan jangkar yang dilindungi oleh medan menimbulkan
perputaran pada motor.
2.9.2
Aplikasi arah putar Motor DC
Dalam aplikasinya seringkali sebuah motor digunakan untuk arah yang searah
dengan jarum jam maupun sebaliknya. Untuk mengubah putaran dari sebuah motor dapat
dilakukan dengan mengubah arah arus yang mengalir melalui motor tersebut. Secara
sederhana, hal ini ditunjukkan pada Gambar 2.13. Hal ini dapat dilakukan hanya dengan
mengubah polaritas tegangan motor seperti ditunjukkan pada Gambar 2.14 [13].
28
PERANCANGAN
3.1.
Model Sistem
Rancangan model sistem yang akan dibuat terdiri dari dua subsistem, yaitu
subsistem hardware (telepon seluler GSM, personal computer (PC), mikrokontroler, motor DC, komunikasi serial RS232) dan subsistem software (J2ME, Gammu, MySql,
Microsoft Access, dan Visual basic). Gambar 3.1 menunjukkan model sistem hardware
dan Gambar 3.2 menunjukkan model sistem alur pengolahan SMS yang akan dibuat.
Gambar 3.1. Model Sistem Hardware
Telepon
seluler 2 Gammu MySql Isi SMS Visual Basic
nomor telepon
Gambar 3.2 Model Sistem Pengolahan SMS dalam PC
Proses kerja sistem dimulai saat telepon selular 1 dengan menggunakan J2ME
mengirimkan SMS perintah ke telepon selular 2. Telepon seluler 2 terhubung dengan PC menggunakan RS232. SMS perintah dari telepon selular 2 akan dibaca oleh PC dengan
menggunakan Gammu. Data SMS perintah beserta nomor telepon pengirim akan dimasukkan ke dalam MySql untuk penyimpanan data SMS perintah yang terdapat pada
telepon seluler 2. Kemudian, data nomor telepon pada MySql akan diambil dan dibaca
dengan menggunakan Visual Basic untuk melakukan pengecekan apakah nomor telepon pengirim SMS boleh melakukan proses pengendalian motor DC. Selanjutnya data hasil
mengendalikan motor DC dan mengubah data 2 bit dari motor DC yang dikirimkan ke
PC sebagai informasi status motor DC.
3.2.
Perancangan Subsistem
Hardware
3.2.1
Perangkat
Interface
PC dengan Mikrokontroler
Komunikasi serial antara PC dengan mikrokontroler memerlukan sebuah
perangkat interface yang mengubah level tegangan Transistor-Transistor Logic (TTL) dari PC menjadi level tegangan RS232 pada mikrokontroler. Gambar 3.3 menunjukkan
rangkaian dari perangkat interface yang digunakan. Besarnya nilai kapasitor C1, C2, C3,
dan C4 sebesar 1 F [9]. Koneksi antara IC MAX232 dengan RS232 terhubung melalui pin14 MAX232 (Tx/Transmitter)dengan pin 2 DB9 (Rx /Receiver)dan pin 13 MAX232
(Rx/Receive)dengan pin 3 DB9 (Tx/Transmitter).
Gambar 3.3 Rangkaian Interface PC dengan Mikrokontroler
3.2.2
Rangkaian untuk memeriksa status motor DC
Rangkaian status motor DC digunakan untuk mengambil data dari motor DC. Data yang diambil adalah kondisi motor DC sedang berputar atau tidak beserta arah
putar motor DC terdiri dari CCW, dan CW. Data tersebut akan dikirimkan ke portd.2 dan portd.3 pada mikrokontroler yang menjelaskan kondisi dari motor DC.
Rangkaian untuk mendeteksi motor DC sedang berputar atau tidak terdiri atas
LED inframerah sebagai sumber cahaya dan fotodioda sebagai penerimanya sehingga bekerja seperti optocoupler. Optocopler mendeteksi motor DC sedang berputar pada saat
keluaran dari photodioda. Data yang diambil oleh mikrokontroler untuk mengetahui
kondisi motor DC sedang berputar antara lain jika pada awalnya optocopler mendeteksi
logika bernilai 1, dan selanjutnya mendeteksi logika bernilai 0 , atau pada awalnya
mendeteksi logika bernilai 0, dan selanjutnya optocopler mendeteksi logika ber nilai1.
Data yang diambil untuk kondisi motor DC sedang tidak berputar apabila optocopler
mendeteksi tidak adanya perubahan nilai masukan, yaitu jika pada awalnya optocopler
mendeteksi logika bernilai 0, dan selanjutnya mendeteksi logika bernilai 0, atau j ika pada awalnya optocopler mendeteksi logika bernilai 1, dan selanjutnya optocopler
mendeteksi logika bernilai 1. Gambar 3.4 menunjukkan rangkaian yang akan dibuat. Rangkaian tersusun atas optocoupler dan opamp yang bekerja sebagai
comparator untuk mengeluarkan tegangan 5 Volt(logika1) atau tegangan 0 volt(logika0).
Rangkaian optocoupler yang akan dibuat menggunakan LED dan fotodioda. Arus maksimum LED adalah 150 mA (datasheet) dan VLED adalah 1,5 Volt (pengukuran). Dengan Vcc (catu daya) 5 Volt, maka dapat dicari Rs maximum dan Rs minimum dengan persamaan 2.2 sebagai berikut :
Resistor yang digunakan dalam perancangan adalah 330 Ω dikarenakan terdapat
di pasaran dan agar mendapat nilai arus yang kecil namun masih termasuk dalam nilai optimum (10mA – 150mA), yaitu :
Berdasarkan perhitungan di atas didapat nilai sebesar 23,33 . Pada bagian LED menggunakan arus optimum (150mA) bertujuan agar intensitas cahaya yang dikeluarkan LED inframerah optimum sehingga jika terhalang oleh benda berwarna
hitam akan mengaktifkan fotodioda.
Rind dapat dicari dengan menggunakan persamaan yang sama dengan Rs sehingga memiliki besar resistansi yang sama dengan Rs. Rind merupakan resistor pengaman untuk LED indikator (LED berwarna merah). LED indikator akan menyala (on) jika keluaran
komparator berlogika 0 (0 volt / Ground) dan akan mati (off) jika keluaran komparator
keluaran fotodioda. Tabel 3.1 merupakan tabel data pra penelitian untuk mengetahui
karakteristik fotodioda dan Gambar 3.4 merupakan gambar rangkaian secara skematik.
Gambar 3.4 Rangkaian untuk Memeriksa Status Motor DC
Tabel 3.1 Karakteristik Fotodioda Hasil Pra Penelitian
RD (k Ohm)
Kondisi Ruang VIR VD
1 Terbuka 1,194 V 4,48 V
Tertutup 1,194 V 4,54 V
2 Terbuka 1,194 V 3,9 V
Tertutup 1,194 V 4,38 V
3 Terbuka 1,194 V 3,78 V
Tertutup 1,194 V 4,33 V
4 Terbuka 1,194 V 133,2 mV
Tertutup 1,194 V 160 mV
Dari tabel 3.1, pada resistor RD = 3k Ohm memiliki beda tegangan ON – OFF yang cukup tinggi saat cahaya inframerah terhalang benda dengan jarak 12 cm, yaitu:
Sehingga yang digunakan untuk RDadalah resistor 3 kΩ.
3.2.3
Rangkaian Sistem Mikrokontroler
Minimum sistem mikrokontroler berfungsi sebagai media interface dan
pemrosesan data antara PC dan unit I/O. Kristal yang digunakan dalam minimum sistem
mikrokontroler ini adalah kristal eksternal yang diatur melalui program. Gambar 3.5
memperlihatkan rangkaian minimum sistem mikrokontroler yang akan digunakan.
Rangkaian reset digunakan untuk melakukan reset pada mikrokontroler,
Jika port RST diberikan logika 1, maka program akan kembali ke awal (reset). Setelah
PC mengirimkan suatu bilangan ke mikrokontroler melalui serial port(DB9), selanjutnya
bilangan tersebut akan masuk ke mikrokontroler melewati RS232 (media sinkronisasi
mikrokontroler dan serial port). Setelah data diterima oleh mikrokontroler, selanjutnya
mikrokontroler akan mengolah data tersebut apakah data yang dikirimkan dari PC
digunakan untuk mengendalikan motor DC atau untuk memeriksa status motor DC.
Pada saat bilangan yang terdeteksi oleh mikrokontroler adalah bilangan yang digunakan untuk mengendalikan motor DC, maka mikrokontroler akan mengirimkan data berupa
logika 1 atau logika 0 (tergantung bilangan yang dikirimkan oleh PC) ke portd.4 dan portd.5. Pada saat bilangan yang terdeteksi oleh mikrokontroler adalah bilangan yang
digunakan untuk memeriksa motor DC, maka mikrokontroler akan melakukan
pembacaan nilai masukan pada portd.4 dan portd.5. Selanjutnya pada mikrokontroler akan diolah dan mengeluarkan data berupa karakter yang akan dikrimkan ke PC melalui
RS232. Optocoupler yang digunakan pada minimum sistem sebanyak 1 buah yang digunakan untuk mengetahui motor DC sedang berputar atau berhenti.
3.3
Perancangan Subsistem Software
3.3.1
Perancangan Program Mikrokontroler
Dalam perancangan sistem ini, perangkat lunak yang digunakan adalah
BASCOM AVR. BASCOM AVR adalah program yang menggunakan bahasa basic
yang ringkas dan dirancang untuk compiler bahasa mikrokontroler AVR.
Perancangan program pada mikrokontroler terdiri dari dua jenis yaitu program
memeriksa status dan pengendalian motor DC. Pengendalian motor DC merupakan program yang digunakan untuk memerintahkan motor DC berputar sesuai keinginan
user dan program memeriksa status digunakan untuk memeriksa status dari motor DC yang akan dikendalikan. Gambar 3.6 menunjukkan flowchart utama memeriksa dan
mengendalikan motor DC.
Gambar 3.6 Flowchart Utama Program Memeriksa dan Mengendalikan