Perancangan Dan Implementasi Pelatih Sistem AFL Bandara Berbasis Android
PE
Pro
ERANCA
SISTEM
Disusun
ogram Stu
JU
FAKULT
UNIV
ANGAN D
AFL BA
T
n untuk m
udi Strata
Ir
Selvia Lo
URUSAN
TAS TEK
VERSITAS
DAN IMP
NDARA
TUGAS A
memenuhi
a Satu di J
Oleh
Dody Sa
102097
Pembim
r. Syahru
orena BR
N TEKNIK
KNIK DA
S KOMP
BANDU
2012
PLEMENT
BERBAS
AKHIR
syarat ke
Jurusan T
h
alam
708
mbing
ul, M.T
R Ginting,
K KOMP
N ILMU
UTER IN
UNG
2
TASI PEL
SIS ANDR
elulusan p
Teknik K
M.T
PUTER
KOMPU
NDONESI
LATIH
ROID
pada
Komputer
UTER
IA
(2)
iii ABSTRAK
Tulisan ini memaparkan hasil penelitian tentang perancangan dan implementasi pelatih sistem AFL (Airfield Lighting System) bandara berbasis Android. Sistem ini berfungsi memberikan pelatihan kepada operator atau calon operator AFL dalam upaya meningkatkan keselematan pesawat selama pesawat dalam proses pendekatan ke landasan. Simulasi tingkat kecerahan lampu AFL menggunakan personal komputer yang diprogram dengan bahasa pemrograman Visual Basic 6.0, sedangkan untuk simulasi kerusakan secara teknis dibuatkan perangkat CCR Simulator dengan antarmuka menggunakan mikrokontroler ATmega16 yang mendukung komunikasi serial RS-485 full-duplex. Pengiriman data untuk simulasi kerusakan lampu AFL dikontrol secara mobile menggunakan tablet PC dengan sistem operasi Android.
Perancangan simulasi sistem lampu AFL telah berhasil diuji untuk mensimulasikan lampu AFL jenis Apporoach dengan tingkat kecerahan lampu secara visual ditampilkan oleh personal computer dan CCR Simulator dapat mensimulasikan tiga jenis kerusakan secara teknis yaitu kerusakan jenis low current, over current, dan open circuit.
(3)
iv ABSTRACT
This paper presents the results of research on design and implementation of AFL trainer system that is Android based. This system serves to provide AFL operator training to a candidate in an effort to improve the safety of aircraft during flight in the approach to the runway. AFL lamp brightness level simulation using a personal computer programmed with Visual Basic 6.0 programming language, while for the simulation of the damage is technically made by the interface device CCR Simulator using ATmega16 microcontroller that supports RS-485 serial communications full-duplex. Sending data to the simulation of damage AFL lights controlled using a tablet PC with a mobile operating system Android.
AFL lighting design simulation system has been successfully tested to simulate the visual brightness of AFL lamps and simulate three types of damage in technically, that is low current, over current, and open circuit for the Approach lamp type.
(4)
v KATA PENGANTAR
Segala puji bagi Allah S.W.T karena atas rahmat dan karunia-Nya buku laporan Tugas Akhir dengan judul “Perancangan dan Implementasi Pelatih Sistem AFL Bandara Berbasis Android” dapat terselesaikan.
Penulis menyadari bahwa tanpa bantuan dari berbagai pihak, baik berupa bimbingan, petunjuk dan saran, keterangan dan data, dukungan dan dorongan yang diberikan kepada Penulis, mungkin penulisan buku laporan Tugas Akhir ini belum dapat diselesaikan. Maka pada kesempatan ini Penulis menyampaikan rasa hormat dan terimakasi kepada:
1. Sri Nurhayati, M.T selaku ketua program studi Sistem Komputer. 2. Hidayat, M.T selaku wakil ketua program studi Sistem Komputer. 3. Ir. Syahrul M.T selaku dosen pembimbing.
4. Selvia Lorena BR Ginting, M.T selaku dosen pembimbing. 5. S. Indriani L, M.T selaku ketua panitia Tugas Akhir. 6. Kedua orang tua Penulis H. Kaelani dan Hj. Juliah. 7. Doni, Azhar, Acid, dan
8. Seluruh pihak yang membantu baik secara langsung maupun tak langsung yang tak mungkin Penulis sebutkan satu persatu.
Dan Penulis menyadari pula bahwa penulisan ini masih terdapat kekurangannya, oleh karena itu Penulis tidak keberatan menerima keritik dan saran yang membangun untuk menjadi lebih baik.
Akhirnya, Penulis berharap semoga penelitian ini menjadi sumbangsih yang bermanfaat bagi dunia sains dan teknologi di Indonesia, khususnya disiplin keilmuan yang Penulis dalami.
Bandung, Agustus 2012 Penulis
(5)
vi DAFTAR ISI
LEMBAR PENGESAHAN ... i
LEMBAR PERNYATAAN ... ii
ABSTRAK ... iii
ABSTRACT ... iv
KATA PENGANTAR ... v
DAFTAR ISI ... vi
DAFTAR GAMBAR ... x
DAFTAR TABEL ... xiv
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 2
1.3 Batasan Masalah ... 2
1.4 Tujuan dan Manfaat ... 3
1.5 Metodologi Penelitian ... 3
1.6 Sistematika Penulisan ... 4
BAB II LANDASAN TEORI ... 5
2.1 Airfield Lighting System (AFL) ... 5
2.2 Sistem Operasi Android ... 7
2.2.1 Sejarah Android ... 8
2.2.2 Keunggulan Android ... 8
2.2.3 Versi Android ... 9
2.3 Mikrokontroler ATmega16 ... 11
2.3.1 Fitur ATmega16 ... 12
2.3.2 Blok Diagram ATmega16 ... 13
2.3.3 Konfigurasi Pin ATmega16 ... 14
2.3.4 Pemetaan Memori ATmega16 ... 16
2.3.5 Register ATmega16 ... 18
2.3.6 Alamat Vektor Interupsi ATmega16 ... 23
2.4 Komunikasi Serial RS-232 ... 24
(6)
vii
2.4.2 Konfigurasi Pin IC MAX232 ... 25
2.5 Komunikasi Serial RS-485 ... 26
2.5.1 Deskripsi IC MAX488 ... 27
2.5.2 Konfigurasi Pin IC MAX488 ... 27
2.6 Relay ... 28
2.7 Bahasa Pemrograman Assembly ... 28
2.7.1 IDE AVR Studio 4 ... 28
2.7.2 Instruksi Assembly ... 29
2.8 Bahasa Pemrograman Visual Basic ... 32
2.8.1 Lingkungan Kerja Visual Basic ... 33
2.8.2 Objek Kontrol ... 34
2.8.3 Tipe Data ... 34
2.8.4 Struktur Program ... 35
2.9 Bahasa Pemrograman Java ... 38
2.9.1 Perlengkapan Pemrograman ... 38
2.9.2 Activity ... 39
2.9.3 User Interface ... 41
2.9.4 Android Manifest ... 41
2.10 Perangkat Pendukung ... 43
2.10.1 Access Point ... 43
2.10.2 Tablet PC ... 44
BAB III PERANCANGAN ... 45
3.1 Perancangan Sistem ... 45
3.1.1 Blok Diagram Sistem Secara Keseluruhan ... 45
3.1.2 Blok Diagram Sistem yang Dirancang ... 46
3.2 Perancangan Sumber Catu Daya ... 48
3.3 Perancangan Konverter RS-232 – RS-485 ... 48
3.4 Perancangan CCR Simulator ... 49
3.4.1 Blok Diagram CCR Simulator ... 49
3.4.2 Perancangan Perangkat Keras CCR Simulator ... 50
3.4.2.1 Rangkaian Mikrokontroler ATmega16 ... 50
(7)
viii
3.4.2.3 Rangkaian Serial RS-485 ... 54
3.4.2.4 Rangkaian Relay SY-5K ... 54
3.4.2.5 Rangkaian Pembentuk Kerusakan... 55
3.4.2.6 Rangkaian CCR Simulator Secara Keseluruhan ... 55
3.4.3 Perancangan Perangkat Lunak CCR Simulator ... 57
3.4.3.1 Perancangan Format Perintah ... 57
3.4.3.2 Perancangan Register Port Input/Output ... 58
3.4.3.3 Perancangan Register Komunikasi Serial ... 59
3.4.3.4 Diagram Alur CCR Simulator ... 61
3.5 Perancangan Program Aplikasi AFL Simulator ... 64
3.5.1 Struktur Navigasi AFL Simulator ... 64
3.5.2 Perancangan Tampilan Form AFL Simulator ... 65
3.5.3 Diagram Alur Program AFL Simulator ... 75
3.6 Perancangan Program Aplikasi AFL Remote ... 87
3.6.1 Perancangan Struktur Navigasi AFL Remote ... 87
3.6.2 Perancangan Layout AFL Remote ... 88
3.6.3 Diagram Alur Program AFL Remote ... 94
BAB IV HASIL DAN PEMBAHASAN ... 99
4.1 Pengujian dan Analisa Perangkat Keras ... 99
4.1.1 Pengujian Rangkaian Catu Daya ... 99
4.1.2 Pengujian Rangkaian Serial RS-232 ... 102
4.1.3 Pengujian Rangkaian Serial RS-485 ... 107
4.1.4 Pengujian Rangkaian ATmega16 ... 108
4.1.5 Pengujian Rangkaian Optocoupler 6N135 ... 113
4.1.6 Pengujian Rangkaian Relay SY-5-K ... 114
4.1.7 Pengujian Access Point ... 114
4.1.8 Pengujian Tablet PC ... 115
4.2 Analisa Perangkat Lunak ... 115
4.2.1 Program CCR Simulator ... 116
4.2.2 Program AFL Simulator ... 118
4.2.3 Program AFL Remote ... 120
(8)
ix
BAB V SIMPULAN DAN SARAN ... 134
5.1 Simpulan ... 134
5.2 Saran ... 134
(9)
1 BAB I
PENDAHULUAN
1.1Latar Belakang
Pergerakan pesawat udara di wilayah bandara pada saat melakukan taksi, proses lepas landas, dan mendarat memerlukan bantuan informasi dari personal bandara agar proses tersebut dapat dilakukan dengan aman. Alat bantu untuk mengirimkan informasi pesawat digunakan dua jenis alat bantu yang pertama adalah alat bantu nonvisual atau disebut dengan istilah Instrument Landing System (ILS), yaitu alat bantu dengan mengirimkan informasi melalui frekuensi radio, seperti informasi mengenai Localizer, Glide Slope, Marker Beacon dan informasi lainnya.
Alat bantu pesawat yang ke dua yaitu secara visual atau disebut dengan istilah Airfield Lighting System (AFL), alat bantu jenis ini menggunakan lampu yang dihidupkan disekitar wilayah bandara. Kedua jenis alat bantu tersebut merupakan upaya untuk meningkatkan kesalamatan pesawat di bandara.
Lampu-lampu AFL dihidupkan sepanjang hari dengan tingkat kecerahan lampu yang dapat diatur, pengaturan tingkat kecerahan lampu tersebut dilakukan secara semiotomatis, sehingga diperlukannya seorang operator untuk mengoperasikannya. Operator AFL bandara merupakan salah satu personal bandara yang bertugas untuk mengendalikan tingkat kecerahan lampu AFL, operator ini bertanggung jawab sepenuhnya atas keselamatan pesawat di bandara, oleh karena itu operator AFL harus memiliki keterampilan untuk mengendalikan tingkat kecerahan lampu berdasar kondisi cuaca atau atas dasar perimintaan pilot, operator AFL juga harus mengetahui dan dapat menangani kerusakan yang mungkin terjadi pada lampu AFL.
Melihat pentingnya peranan dan besar tanggung jawab seorang operator AFL, maka operator AFL memerlukan pelatihan terlebih dahulu di laboratorium sebelum ditempatkan di bandara. Perangkat yang diperlukan untuk melatih operator AFL jika menggunakan perangkat yang sebenarnya akan memerlukan
(10)
2 tempat yang cukup luas dan biaya yang cukup mahal, oleh karena itu diperlukan perangkat simulasi lampu AFL.
1.2Rumusan Masalah
Berdasar latar belakang yang telah diungkapkan di atas, maka masalah yang akan ditangani dalam tugas akhir ini yaitu merancang perangkat simulasi sistem lampu AFL yang terdiri dari:
- Perangkat simulasi tingkat kecerahan lampu AFL secara visual menggunakan personal computer.
- Perangkat simulasi CCR (Constant Current Regulator) menggunakan mikrokontroler.
- Perangkat pengiriman data untuk simulasi kerusakan menggunakan tablet PC.
1.3Batasan Masalah
Karena keterbatasan waktu pelaksanaan dalam menyelesaikan Tugas Akhir dan untuk lebih terfokus, maka batasan masalah pada penulisan laporan Tugas Akhir ini yaitu sebagai berikut:
- Perangkat simulasi lampu AFL hanya untuk satu bandara yaitu bandara Orange dengan sebuah CCR Simulator untuk lampu AFL jenis Approach. - Pengiriman data simulasi kerusakan menggunakan tablet PC dengan
sistem operasi Android versi minimum yang dapat digunakan yaitu versi 2.3 (hardware mendukung wireless).
- Perangkat CCR Simulator menggunakan mikrokontroler ATmega16. - Program Aplikasi AFL Simulator dibuat dengan bahasa pemrograman
Visual Basic 6.0. 1.4Tujuan dan Manfaat
Adapun tujuan Penulis pada Tugas Akhir ini yaitu merancang perangkat simulasi sistem lampu AFL untuk melatih keterampilan calon operator AFL dengan cara membuat program aplikasi AFL Simulator sebagai simulasi secara visual tingkat kecerahan lampu AFL dan membuat perangkat CCR Simulator
(11)
3 untuk mensimulasikan jenis kerusakan secara teknis yang mungkin terjadi pada lampu AFL, di mana perangkat AFL Simulator dan CCR Simulator dapat dikendalikan secara mobile dengan menggunakan tablet PC.
Manfaat yang dapat diperoleh setelah mengikuti pelatihan dengan menggunakan perangkat simulasi lampu AFL yaitu calon operator dapat memiliki keterampilan untuk mengatur tingkat kecerahan lampu AFL berdasar kondisi cuaca atau atas permintaan penerbang atau pilot, dan terlatih dengan berbagai jenis kerusakan secara teknis jika terjadi kerusakan pada lampu AFL.
1.5Metodologi Penelitian
Adapun Metodologi yang dilakukan selama perancangan yaitu sebagai berikut:
- Kepustakaan.
Pada metode kepustakaan yaitu penulis mencari data-data melalui perpustakaan, internet, karya tulis, dan sumber pustaka lainnya yang terkait dengan sistem yang akan Penulis rancang.
- Percobaan.
Melalui data-data keterangan yang telah penulis dapatkan, penulis melakukan percobaan sesuai dengan data-data tesebut.
- Perancangan.
Setelah mengetahui kemampuan dari hasil percobaan, Penulis merancang sistem dengan menggabungkan seluruh hasil percobaan.
- Konsultasi.
Untuk mengatasi masalah yang muncul pada saat perancangan sistem Penulis berkonsultasi dengan dosen pembimbing, forum, dan orang yang lebih mengerti.
(12)
4 1.6Sistematika Penulisan
Adapun sistematika penulisan laporan Tugas Akhir ini yaitu sebagai berikut: BAB I Pendahuluan
Di dalam bab ini menjelaskan mengenai latar belakang, rumusan masalah, batasan masalah serta tujuan dan manfaat dari pembuatan tugas akhir.
BAB II Landasan Teori
Pada bab ini menjelaskan beberapa teori-teori penunjang seperti teori lampu AFL, Sistem Operasi Android, mikrokontroler ATmega16, komunikasi serial, bahasa pemrograman, dan teori penunjang lainnya yang perlu di paparkan pada bab ini.
BAB III Perancangan
Bab ini berisi perancangan blok diagram sistem, perancangan perangkat keras dan perangkat lunak agar sistem yang dibentuk sesuai dengan tujuan pembuatan.
BAB IV Hasil dan Pembahasan
Bab ini berisi data hasil percobaan yang telah dilakukan dan membahas data hasil percobaan tersebut dengan cara anlisa sehingga kemampuan sistem yang telah dirancang dapat diketahui.
BAB V Simpulan dan Saran
Berisi mengenai simpulan dari hasil percobaan yang telah dilakukan, dan saran untuk meningkatkan kualitas sistem agar menjadi lebih baik.
(13)
5
BAB II
LANDASAN TEORI
2.1Airfield Lighting System (AFL)
Airfield Lighting System (AFL) atau disebut juga dengan Aeronautical Ground Lighting (AGL) merupakan istilah yang digunakan pada bandara untuk membantu dan melayani pilot secara visual menggunakan berbagai jenis lampu pada saat pesawat melakukan proses tinggal landas, mendarat, dan melakukan taxi agar dapat bergerak secara efisien dan aman.[1]
Secara umum lampu AFL yang terdapat pada wilayah utama bandara (landing movement) dikelompokkan menjadi tiga jenis lampu yaitu lampu Runway, lampu Taxiway dan Apron. Setiap jenis lampu AFL memiliki nama lampu rambu yang berbeda-beda sesuai dengan lokasi penempatan lampu. Berikut ini dijelaskan lampu rambu sebagai berikut:[1]
1. Lampu Runway
Runway lighting yaitu lampu yang dipasang sepanjang landasan pacu (runway) baik di pinggir maupun di tengah, lampu Runway juga dipasang pada akhir landasan pacu. Beberapa lampu rambu pada Runway yaitu sebagai berikut:
a. Touchdown Zone Light
Touchdown Zone Light (TZL) yaitu lampu yang dipasang setelah melewati lampu Threshold jika dilihat dari penerbang ke arah pendaratan.
b. Runway Centerline Light
Runway Centerline Light (RCL) yaitu lampu yang ditempatkan sepanjang landasan pacu tepat ditengah-tengah landasan.
c. Runway Edge Light
Lampu Runway edge light yaitu lampu landasan pacu yang dipasang di tepi kiri dan kanan landasan.
d. Threshold Light
Lampu Trheshold light yaitu yang dipasang pada batas ambang landasan pacu dengan jarak tertentu.
(14)
6 e. Runway End Light
Lampu Runway End Light yaitu lampu yang dipasang pada batas ambang landasan, berfungsi sebagai penunjuk batas akhir landasan.
f. Apporach Light.
Approach light yaitu lampu yang dipasang pada perpanjangan landasan pacu, berfungsi sebagai petunjuk kepada penerbang tentang posisi arah pendaratan dan jarak terhadap ambang landasan pada saat pendaratan. g. Sequence Flashing Light (SQFL)
Yaitu lampu penerangan berkedip berurutan (sekuensial) pada arah pendekatan pendaratan. Lampu SQFL biasanya dipasang pada Bar 1 sampai dengan Bar 21.
h. PAPI (Precision Approach Path Indicator)
Lampu PAPI yaitu lampu yang menginformasikan kepada penerbang mengenai sudut luncur yang benar dan memandu penerbang melakukan pendekatan menuju titik pendaratan pada daerah Touchdown.
2. Lampu Taxiway
Taxiway light yaitu lampu yang dipasang pada tepi kiri dan kanan Taxiway, berfungsi untuk memandu penerbang dari landasan pacu ke/dari tempat parkir pesawat. Beberapa lampu Taxiway yaitu sebagai berikut:
a. Taxiway Edge Lighting
Yaitu lampu Taxiway yang dipasang pada tepi kiri dan kananan sepanjang jalur Taxi.
b. Taxiway Centerline Lighting
Yaitu lampu yang dipasang sepanjang jalur Taxi, lampu ini berada tepat ditengah-tengah jalur Taxiway.
c. Taxiway End Lighting
Yaitu lampu yang dipasang pada ujung jalur Taxiway, lampu ini berfungsi sebagai petunjuk akhir dari jalur Taxiway.
(15)
7 3. Lampu Apron
Yaitu rambu penerangan yang dipasang di tepi Apron untuk memberi tanda batas pinggir Apron.
2.2Sistem Operasi Android
Android adalah sistem operasi yang berbasis Linux atau open source yang digunakan untuk perangkat mobile seperti smartphone dan tablet PC. Pengembangan program aplikasi lebih mudah karena disediakannya Android SDK (Software Development Kit) oleh Google. Selain Android SDK untuk memudahkan dalam pengembangan aplikasi, Android juga bebas dalam bentuk operating system.[2]
Kernel Linux versi 2.6 menjadi dasar bagi sistem operasi Android yang mencakup middleware, perpustakaan, dan fungsi API yang ditulis dalam bahasa C dan perangkat lunak aplikasi berjalan pada kerangka aplikasi Java yang kompatibel perpustakaan berbasis Apache. Sistem operasi Android berjalan menggunakan Dalvik Virtual Machine (DVM) untuk menjalankan kode yang ditulis dalam bahasa pemrograman Java. Pada Gambar 2.1 merupakan arsitektur sistem operasi Android.[2]. (Sumber: Wikipedia, 2011)
(16)
8
2.2.1 Sejarah Android
Pada Juli 2000, Google bekerjasama dengan Android Inc., perusahaan yang berada di Palo Alto, California Amerika Serikat. Para pendiri Android Inc. bekerja pada Google, di antaranya Andy Rubin, Rich Miner, Nick Sears, dan Chris White. Saat itu banyak yang menganggap fungsi Android hanyalah sebagai perangkat lunak pada telepon seluler. Sejak saat itu muncul rumor bahwa Google hendak memasuki pasar telepon seluler, karena pada saat itu perusahaan Google memerintahkan sebuah tim yang dipimpin Andy Rubin bertugas mengembangkan program perangkat seluler yang didukung oleh kernel Linux. Hal ini menunjukkan indikasi bahwa Google sedang bersiap menghadapi persaingan dalam pasar telepon seluler.[2]
Sekitar September 2007 sebuah studi melaporkan bahwa Google mengajukan hak paten aplikasi telepon seluler (akhirnya Google mengenalkan Nexus One, salah satu jenis telepon pintar GSM yang menggunakan Android pada sistem operasinya. Telepon seluler ini diproduksi oleh HTC Corporation dan tersedia di pasaran pada 5 Januari 2010).[2]
Pada 9 Desember 2008, diumumkan anggota baru yang bergabung dalam program kerja Android ARM Holdings, Atheros Communications, diproduksi oleh Asustek Computer Inc, Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp, dan Vodafone Group Plc. Seiring pembentukan Open Handset Alliance (OHA), OHA mengumumkan produk perdana mereka, Android, perangkat bergerak (mobile) yang merupakan modifikasi kernel Linux 2.6. Sejak Android dirilis telah dilakukan berbagai pembaruan berupa perbaikan bug dan penambahan fitur baru.[2]
2.2.2 Keunggulan Android
Sistem operasi Android dikenal dengan “platform mobile pertama yang lengkap, Terbuka, dan bebas”, Android juga memiliki keunggulan dibandingkan dengan sistem operasi mobile lainya, berikut keunggulan yang terdapat pada sistem operasi Android.[2]
(17)
9 - Framework aplikasi yang mendukung penggantian dan reusable.
- Mesin Virtual Dalvik dioptimalkan untuk perangkat mobile. - Integrated browser berdasarkan engine open source WebKit.
- Grafis yang dioptimalkan dan didukung oleh libraries grafis 2D, grafis 3D berdasarkan spesifikasi openGL ES 1.0 (Opsional akselerasi hardware). - SQLite untuk penyimpanan data (database).
- Media support yang mendukung audio, video, dan gambar. - Bloetooth, EDGE, 3D, dan WiFi (tergantung hardware).
- Kamera, GPS, kompas, dan accelerometer (tergangtung hardware).
2.2.3 Versi Android
Sistem operasi Android mengalami perkembangan sangat cepat, dimungkinkan pada penghujung tahun 2012 diperkirakan hampir semua vendor selular di dunia menggunakan Android sebagai sistim operasinya. Adapun versi-versi android yang pernah dirilis adalah sebagai berikut:[3]
• Android Versi 1.1
Pada 9 Maret 2009, Google merilis Android versi 1.1. Andorid versi ini dilengkapi dengan pembaruan estetis pada aplikasi, jam, alarm, voice search (pencarian suara), pengiriman pesan dengan Gmail, dan pemberitahuan email.
• Android Veris 1.5 (Cupcake)
Pada pertengahan Mei 2009, Google kembali merilis telepon seluler dengan menggunakan Android dan SDK (Softwre Development Kit) dengan versi 1.5 (Cupcake). Terdapat beberapa pembaharuan termasuk juga penambahan beberapa fitur dalam seluler, yakni kemampuan merekam dan menonton video dengan modus kamera, meng-upload video ke Youtube dan gambar ke Picasa langsung dari telepon, dukungan Bluetooth A2DP, kemampuan terhubung secara otomatis ke headset Bluetooth, animasi layar, dan keyboard pada layar yang dapat disesuaikan dengan sistem.
• Android Versi 1.6 (Donut)
Donut (versi 1.6) dirilis pada September dengan menampilkan proses pencarian yang lebih baik dibanding sebelumnya, penggunaan baterai
(18)
10 indikator dan kontrol applet VPN. Penambahan fitur lainnya adalah galeri yang memungkinkan pengguna untuk memilih foto yang akan dihapus, kamera, camcorder dan galeri yang diintegrasikan, CDMA/EVDO, 802.1x, VPN, Gestures, dan Text to speech engine, kemampuan dial kontak, teknologi text to change speech (tidak tersedia pada semua ponsel, pengadaan resolusi VWGA).
• Android Versi 2.0/2.1 (Éclair)
Pada 3 Desember 2009 kembali diluncurkan ponsel Android dengan versi 2.0/2.1 (Eclair), perubahan yang dilakukan adalah pengoptimalan hardware, peningkatan Google Maps 3.1.2, perubahan UI dengan browser baru dan dukungan HTML5, daftar kontak yang baru, dukungan flash untuk kamera 3,2 MP, digital Zoom, dan Bluetooth 2.1.
Untuk bergerak cepat dalam persaingan perangkat generasi berikut, Google melakukan investasi dengan mengadakan kompetisi aplikasi mobile terbaik (killer apps - aplikasi unggulan).
• Android Versi 2.2 (Froyo: Frozen Yoghurt)
Pada 20 Mei 2010, Android versi 2.2 (Froyo) diluncurkan, perubahan-perubahan umum terhadap versi sebelumnya antara lain dukungan Adobe Flash 10.1, kecepatan kinerja dan aplikasi 2 sampai 5 kali lebih cepat, intergrasi V8 JavaScript engine yang dipakai Google Chrome yang mempercepat kemampuan rendering pada browser, pemasangan aplikasi dalam SD Card, kemampuan WiFi Hotspot portabel, dan kemampuan auto update dalam aplikasi Android Market.
• Android versi 2.3 (Gingerbread)
Pada 6 Desember 2010, Android versi 2.3 (Gingerbread) diluncurkan, perubahan-perubahan umum yang didapat dari Android versi ini antara lain peningkatan kemampuan permainan (gaming), peningkatan fungsi copy paste, layar antarmuka (User Interface) didesain ulang, dukungan format video VP8 dan WebM, efek audio baru (reverb, equalization, headphone virtualization, dan bass boost), dukungan kemampuan Near Field Communication (NFC), dan dukungan jumlah kamera yang lebih dari satu.
(19)
11
• Android Versi 3.0/3.1 Honeycomb.
Android Honeycomb dirancang khusus untuk tablet PC. Android versi ini mendukung ukuran layar yang lebih besar. User Interface pada Honeycomb juga berbeda karena sudah didesain untuk tablet. Honeycomb juga mendukung multiprosesor dan juga akselerasi perangkat keras (hardware) untuk grafis. Tablet pertama yang dibuat dengan menjalankan Honeycomb adalah Motorola Xoom, tablet PC ini masuk pasar Indonesia pada bulan Mei 2011.
• Android versi 4.0 (ICS :Ice Cream Sandwich)
Diumumkan pada tanggal 19 Oktober 2011, membawa fitur Honeycomb untuk smartphone dan menambahkan fitur baru termasuk membuka kunci dengan pengenalan wajah, jaringan data pemantauan penggunaan dan kontrol, terpadu dengan kontak jaringan sosial, perangkat tambahan fotografi, mencari email secara offline, dan berbagi informasi dengan menggunakan NFC.
2.3Mikrokontroler ATmega16
Mikrokontroler AVR adalah mikrokontroler RISC (Reduce Instruction Set Compute) 8 bit berdasarkan arsitektur Harvard, teknologi ini dilihat oleh Atmel pada tahun 1996. AVR mempunyai kepanjangan Advanced Versatile RISC atau Alf and Vegards RISC processor yang berasal dari dua mahasiswa Norwegian Institute of Technology (NTH), yaitu Alf-Egil Bogen dan Vegard Wollan.[4]
AVR memiliki keunggulan dibandingkan dengan mikrokontroler lain, yaitu AVR memiliki kecepatan eksekusi program lebih cepat karena sebagian besar instruksi dieksekusi dalam 1 siklus clock, lebih cepat dibandingkan dengan mikrokontroler MCS51 yang memiliki arsitekatur CISC (Complex Instruction Set Compute) di mana mikrokontroler MCS51 membutuhkan 12 siklus clock untuk mengeksekusi 1 instruksi. Selain itu, mikrokontroler AVR memiliki fitur yang lengkap (ADC internal, EEPROM internal, Timer/Counter, Watchdog Timer, PWM, Port I/O, komunikasi serial, Komparator, I2C, dll).[4]
(20)
12
2.3.1 Fitur ATmega16
Penggunaan mikrokontroler disesuaikan dengan aplikasi yang akan dibangun, yaitu dengan menyesuaikan aplikasi dengan fitur yang dimiliki oleh mikrokontroler. Adapun fitur-fitur pada mikrokontroler ATmega16 sebagai berikut:[5]
- Mikrokontroler AVR 8 bit yang memiliki kemampuan tinggi, dengan daya rendah.
- Arsitektur RISC dengan throughput mencapai 16 MIPS pada frekuensi 16 MHz.
- Memiliki kapasitas memori flash 16 Kbyte, EEPROM 512 Byte dan SRAM 1KByte
- Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C dan Port D. - CPU yang terdiri atas 32 buah register.
- Unit interupsi internal dan eksternal. - Port USART untuk komunikasi serial. - Fitur peripheral
• Tiga buah Timer/Counter dengan kemampuan pembandingan.
¾ 2 (dua) buah Timer/Counter 8 bit dengan prescaler terpisah dan mode Compare.
¾ 1 (satu) buah Timer/Counter 16 bit dengan prescaler terpisah, mode Compare, dan mode Capture.
• Real time Counter dengan Oscillator tersendiri.
• 4 channel PWM.
• 8 Channel, 10-bit ADC.
¾ 8 single-ended Channel.
¾ 7 Differential Channel hanya pada kemasan TQFP.
¾ 2 Differential Channel dengan Programmable Gain 1x, 10x, atau 20x.
• Byte-oriented Two-wire Serial Interface.
• Programmable Serial USART.
• Antarmuka SPI.
• Watchdog Timer dengan oscillator internal.
(21)
13
2.3.2 Blok Diagram ATmega16
Pada Gambar 2.2 merupakan blok diagram AVR ATmega16 yang menggunakan arsitektur Harvard yaitu dengan memisahkan antara bus memori untuk program dan data yang dapat memaksimalkan kemampuan dan kecepatan. (Sumber: Andrianto, 2008, hlm. 8)
(22)
14 Instruksi dalam memori program dieksekusi dengan pipelining single level. Di mana ketika satu instruksi dieksekusi, instruksi berikunya diambil dari memori program. Konsep ini mengakibatkan instruksi dieksekusi setiap clock cycle. CPU terdiri dari 32x8 bit, General Prupose Register (GPR) dapat diakses dengan cepat dalam satu clock cycle, yang mengakibatkan operasi Arithmetic Logic Unit (ALU) dapat dilakukan dalam satu cycle. Pada operasi ALU, dua operand berasal dari register, kemudian operasi dieksekusi dan hasilnya disimpan kembali pada register dalam satu clock cycle. Oparasi aritmatika dan logika pada ALU akan mengubah bit-bit yang terdapat pada Status Register (SREG). Proses pengambilan instruksi dan pengeksekusian instruksi berjalan secara paralel diilustrasikan seprti yang terlihat pada Gambar 2.3.[5]. (Sumber: Andrianto, 2008, hlm. 10)
Gambar 2.3. Pengambilan Instruksi dan Pengeksekusian Secara Paralel
2.3.3 Konfigurasi Pin ATmega16
(23)
15 Konfigurasi pin ATmega16 dengan kemasan 40 pin DIP (Dual In-lin Package) dapat dilihat pada Gambar 2.4. Dari Gambar 2.4 dapat dijelaskan fungsi dari masing-masing pin ATmega16 sebagai berikut:[5]
- VCC merupakan pin yang berfungsi sebagai masukan catu daya. - GND merupakan pin Ground.
- Port A (PA0:PA7) merupakan pin input/output dua arah dan memiliki fungsi khusus yaitu sebagai pin masukan ADC 8 kanal.
- Port B (PB0:PB7) merupakan pin input/output dua arah dan pin fungsi khusus seperti pada Tabel 2.1.(Sumber: Andrianto, 2008, hlm. 6)
Tabel 2.1. Fungsi Khusus Port B
Pin Fungsi Khusus
PB7 SCK (SPI Bus Serial Clock)
PB6 MISO (SPI Bus Master Input/Slave Output) PB5 MOSI (SPI Bus Master Output/Slave Input) PB4 SS (SPI Slave Select Input)
PB3 AIN1 (Analog Comparator Negative Input)
OC0 (Timer/Counter0 Output Compare Match Output) PB2 AIN0 (Analog Comparator Positive Input)
INT2 (External Interrupt 2 input)
PB1 T0 T1 (Timer/Counter1 External Counter Input) PB0 T0 T1 (Timer/Counter0 External Counter Input)
XCK (USART External Clock Input/Output)
- Port C (PC0...PC7) merupakan pin input/output dua arah dan pin fungsi khusus, adapun fungsi khusus yang dimiliki port C seperti yang terlihat padaTabel 2.2.(Sumber: Heri Andrianto, (2008), hlm. 6.)
Tabel 2.2. Fungsi Khusus Port C
Pin Fungsi Khusus
PC7 TOSC2 (Timer Oscillator Pin2) PC6 TOSC1 (Timer Oscillator Pin1) PC5 TDI (JTAG Test Data In) PC4 TDO (JTAG Test Data Out) PC3 TMS (JTAG Test Mode Select) PC2 TCK (JTAG Test Clock)
PC1 SDA (Two-wire Serial Bus Data Input/Output Line) PC0 SCL (Two-wire Serial Bus Clock Line)
(24)
16 - Port D (PD0..PD7) merupakan pin input/output dua arah dan pin fungsi
khusus, seperti yang terlihat pada Tabel 2.3. (Sumber: Andrianto, 2008, hlm. 7)
Tabel 2.3. Fungsi Khusus Port D
Pin Fungsi Khusus
PD7 OC2 (Timer/Counter2 Output Compare Match Output)
PD6 ICP (Timer/Counter1 Input Capture Pin)
PD5 OC1A (Timer/Counter1 Output Compare A Match Output) PD4 OC1B (Timer/Counter1 Output Compare B Match Output)
PD3 INT1 (External Interrupt 1 Input) PD2 INT0 (External Interrupt 0 Input) PD1 TXD (USART Output Pin) PD0 RXD (USART Input Pin)
- RESET merupakan pin yang digunakan untuk mereset mikrokontroler. - XTAL1 dan XTAL2 merupakan pin masukan clock eksternal.
- AVCC merupakan pin masukan tegangan untuk ADC. - AREF merupakan pin masukan tegangan referensi ADC.
2.3.4 Pemetaan Memori ATmega16
Arsitektur AVR mempunyai dua memori utama, yaitu memori program dan memori data (SRAM). Selain itu, ATmega16 juga memilliki memori EEPROM untuk menyimpan data.[5]
a. Memori Program
(25)
17 ATmega16 memiliki 16K byte Onchip In-System Programmable Flash memory untuk menyimpan program, Pemetaan memori ATmega16 dapat dilihat pada Gambar 2.5. Untuk keamanan program, memori program, flash dibagi ke dalam dua bagian, yaitu bagian program Boot dan aplikasi. Bootloader adalah program kecil yang bekerja pada saat start up time yang dapat memasukan seluruh program aplikasi ke dalam memori prosesor. (Sumber: Andrianto, 2008, hlm. 13)
b. Memori Data
Memori data AVR ATmega16 terbagi menjadi 3 bagian, yaitu 32 buah register umum, 64 buah register I/O dan 1 Kbyte SRAM internal. General Puspose Register menempati alamat data terbawah, yaitu $00 sampai $1F. sedangkan memori I/O menempati 64 alamat berikutnya mulai dari $20 hingga $5F. Memori I/O merupakan register yang khusus digunakan untuk mengatur fungsi terhadap berbagai peripheral mikrokontroler seperti kontrol register, timer/counter, fungsi-fungsi I/O, dan sebagainya. 1024 alamat memori berikutnya mulai alamat $60 hingga $45F digunakan untuk SRAM internal. ( Sumber: Andrianto, 2008, hlm. 14)
(26)
18 c. Memori EEPROM
ATmega16 terdiri dari 512 Byte memori data EEPROM 8 bit, data dapat ditulis/baca dari memori ini, ketika catu daya dimatikan, data terakhir yang ditulis pada memori EEPROM masih tersimpan pada memori ini, atau dengan kata lain memori EEPROM bersifat nonvolatile. Alamat EEPROM mulai #000 sampai &1FF.
2.3.5 Register ATmega16
Mikrokontroler ATmega16 yang memiliki 32 register merupakan register-register yang harus dikonfigurasi agar proses kerja mikrokontroler sesuai dengan tujuan pemrograman. Tidak semua register ATmega16 dijelaskan disini, akan tetapi hanya register-register yang berhubungan dengan pembuatan sistem saja. Adapun beberapa register yang perlu diketahui diantarnya yaitu sebagai berikut:[5]
1. Register SREG
Gambar 2.7. Register SREG
Status register berisi status yang dihasilkan pada setiap operasi yang dilakukan ketika suatu instruksi dieksekusi. SREG merupakan bagian dari inti CPU mikrokontroler, register SREG diilustrasikan seperti pada Gambar 2.7. Adapun bit penyusun pada register SREG adalah sebagai berikut:[5] (Sumber: Andrianto, 2008, hlm. 16)
a. Bit 7: I (Global Interrupt Enable) bit yang berfungsi untuk mengaktifkan interupsi.
b. Bit 6: T (Bit Copy Storage) bit yang berfungsi sebagai pemindahan data dari register dengan menggunakan instruksi BLD dan BST.
c. Bit 5: H (Half Carry Flag) bit yang berfungsi sebagai Half Carry dari operasi aritmatika.
(27)
19 d. Bit 4: S (Sign Bit) bit S merupkan hasil operasi EOR antara flag-N
(negative) dan flag V (komplemen dua overflow).
e. Bit 3: V (Two’s Complement Overflow Flag) bit guna untuk mendukung operasi aritmatika.
f. Bit 2: N(Negative Flag) apabila suatu operasi menghasilkan bilangan negative, maka flag N akan di-set.
g. Bit 1: Z (Zero Flag) bit akan di-set bila hasil operasi yang diperoleh adalah nol.
h. Bit 0: C (Carry Flag) bit akan di-set bila hasil operasi menghasilkan carry.
2. Register SP
Gambar 2.8. Register Stack Pointer
Pada Gambar 2.8 merupakan ilustrasi register satck. Stack merupakan register 16 bit yang fungsi utamanya digunakan untuk menyimpan data sementara, dan menyimpan return address setelah interupsi dan pemanggilan subrutin. Untuk menyimpan data ke dalam stack menggunakan instruksi PUSH dan untuk mengambil data kembali digunakan insruksi POP, penyimpanan data ke dalam stack akan mengurangi kapasitas stack.[5] (Sumber: Andrianto, 2008, hlm. 12)
3. Register UCSRA
Gambar 2.9. Register UCSRA
Register UCSRA digunakan untuk pengaturan flag komunikasi serial, ilustrasi register UCSRA dapat dilihat pada Gambar 2.9. Adapun bit penyusun pada
R/W Read/Write
Initial Value
R/W R/W R/W R/W R/W R/W R/W
0 0 0 0 0 0 0 0
R/W R/W R/W R/W R/W R/W R/W R/W
0 0 0 0 0 0 0 0
15 14 13 12 11 10 9 8
Bit
SPH SPL
SP7 SP5 SP4 SP3 SP2 SP1 SP0
SP8 SP10
SP6
SP9 SP11
SP12 SP13 SP14 SP15
(28)
20 regsiter UCSRA dapat dijelaskan sebagai berikut. (Sumber: Andrianto, 2008, hlm. 117)
a. Bit RXC akan diset 1 jika telah diterima 8 bit data serial dan di-clear ketika penyangga penerima kosong.
b. Bit TXC akan diset 1 ketika melakukan shift pada data serial, akan di-clear secara otomatis ketika selasai pengiriman.
c. Bit UDRE akan bernilai 1 jika isi register UDR kosong. d. Bit FE berfungsi untuk mendeteksi frame error.
e. Bit DOR berfungsi sebagai pendeteksi adanya data OverRun.
f. Bit PE berfungsi sebagai pendeteksi adanya paritas error pada 1 frame. g. Bit U2X jika di-set 1 maka kecepatan baud rate dilipatgandakan. h. Bit MPCM jika di-set 1 akan mengaktifkan multiprosesor. 4. Register UCSRB
Gambar 2.10. Register UCSRB
Gambar 2.10 merupakan isi dari register UCSRB. Register UCSRB berfungsi sebagai pengaturan komunikasi serial. Adapun bit penyusun pada register UCSRB adalah sebagai berikut. (Sumber: Andrianto, 2008, hlm. 118)
a. Bit RXCIE jika bernilai 1 akan mengaktifkan interupsi penerimaan data serial berdasar kondisi bit RXC.
b. Bit TXCIE jika di-set 1 akan mengaktifkan interupsi pengiriman data serial berdasar kondisi bit TXC.
c. Bit UDRIE jika di-set 1 akan mengaktikan interupsi kondisi bit UDRE. d. Bit RXEN jika di-set 1 maka penerimaan data serial di-enable-kan. e. Bit TXEN jika di-set 1 maka pengiriman data serial di-enable-kan.
f. Bit UCSZ2 berfungsi sebagai pengatur ukuran jumlah bit data serial yang bekerja bersama-sama dengan UCSZ1 dan UCSZ0 pada register UCSRC.
(29)
21 Adapun nilai UCSZ dalam menentukan ukuran karakter seperti yang terlihat pada Tabel 2.4. (Sumber: Andrianto, 2008, hlm. 118)
Tabel 2.4. Penentuan Ukuran Karakter UCSZ [2..0] Ukuran Data dalam Bit
000 5
001 6
010 7
011 8
100-110 Tidak dipergunakan
111 9
g. Bit RXB8 berfungsi untuk menerima bit yang ke-9 data serial.
h. Bit TXB8 berfungsi menampung bit yang ke-9 untuk untuk dikirimkan. 5. Register UCSRC
Gambar 2.11 Register UCSRC
Register UCSRC merupakan register yang digunakan untuk mengatur mode dan kecepatan komunikasi serial yang dilakukan, bit pada register UCSRC dapat diilustrasikan pada Gambar 2.11. Adapun bit penyusun pada register UCSRC adalah sebagai berikut. (Sumber: Andrianto, 2008, hlm. 119)
a. Bit URSEL merupakan bit pemilih akses antara UCSRC dan UBRR. b. Bit UMSEL merupakan bit pemilih mode komunikasi serial antara sinkron
dan asinkron. Pada Tabel 2.5 merupakan konfigurasi bit UMSEL. (Atmel, 2007, hlm. 166)
Tabel 2.5. Penentuan Mode Operasi
UMSEL Mode
0 Asynchronous Operation 1 Synchronous Operation
(30)
22 c. Bit UPM[1:0] merupakan bit pengatur paritas. Untuk mengatur paritas
dalam komunikasi serial, maka nilai UPM dapat dikonfigurasi seperti yang terlihat Tabel 2.6. (Sumber: Atmel, 2007, hlm. 166)
Tabel 2.6. Penentuan Mode Paritas UPM1 UPM0 Parity Mode
0 0 Disabled 0 1 Reserved 1 0 Enabled, Even Parity 1 1 Enabled, Odd Parity
d. Bit UBSS merupakan bit pemilih ukuran bit stop. Nilai default adalah nol sehingga jumlah bit stop yaitu 1 bit. Pada Tabel 2.7merupakan penentuan jumlah bit stop. (Sumber: Atmel, 2007, hlm. 166)
Tabel 2.7. Penentuan Jumlah Bit Stop
USBS Stop Bit(s)
0 1-bit
1 2-bit
e. Bit UCSZ[1:0] merupakan bit pengatur jumlah bit karakter pengiriman data serial.
f. Bit UCPOL merupakan bit pengatur hubungan antara perubahan data keluaran dan data masukan serial dengan clock sinkronisasi. Hanya berlaku untuk mode sinkron. Untuk mode asinkron, bit ini di-set 0.
6. Register UDR
Gambar 2.12. Register UDR
Register UDR merupakan register yang digunakan sebagai penyangga dalam pengiriman maupun penerimaan data serial. Penyangga (buffer) pengirim dan penerima memiliki nama yang sama akan tetapi memiliki lokasi yang berbeda. Sedangkan Penulisan data ke register UDR berarti akan mengirimkan data secara serial, dan pembacaan register UDR berarti menerima data serial. Pada
(31)
23 Gambar 2.12 merupakan ilustrasi register UDR. (Sumber: Atmel, 2012, hlm. 163)
7. Register UBRR
Gambar 2.13. Register UBRR
Register UBRR seperti yang terlihat pada Gambar 2.13,merupakan register 16 bit, yang berfungsi untuk menentukan kecepatan transmisi data yang akan digunakan. UBRR dibagi menjadi dua yaitu UBRRH dan UBRRL. UBRR[11:0] merupakan bit penyimpan konstanta kecepatan komunikasi serial. UBRRH menyimpan 4 bit tertinggi, dan UBRRL menyimpan 8 bit sisanya. Data yang dimasukan ke UBRRH dan UBRL dapat dihitung dengan persamaan seperti pada Tabel 2.8. (Sumber: Andrianto, 2008, hlm. 117)
Tabel 2.8. Rumus Perhitungan UBRR
Mode Operasi Persamaan Nilai UBRR
Asinkron mode kecepatan normal
(U2X=0) 6
Asinkron mode kecepagan ganda
(U2X=1) 8
Sinkron
2.3.6 Alamat Vektor Interupsi ATmega16
Mikrokontroler ATmega16 memiliki 21 alamat vektor interupsi, Program Counter (PC) akan menunjuk ke alamat vektor interupsi yang ditunjuk jika terjadi interupsi. Adapun 21 alamat vektor interupsi tersebut seperti pada Tabel 2.9.[5] (Sumber: Andrianto, 2008, hlm. 163)
(32)
24 Tabel 2.9. Alamat Vektor Interupsi
No. Vektor
Alamat Program
Sumber
Interrupt Keterangan
1 $000(1) RESET
Esternal Pin, Power-on Reset, Brown-out Reset, Watchdod Reset, and JTAG AVR Reset.
2 $002 INT0 External Interrupt Request 0 3 $004 INT1 External Interrupt Request 1 4 $006 TIMER2 COMP Timer/Counter 2 Compare Match. 5 $008 TIMER2 OVF Timer/Counter2 Overflow
6 $00A TIMER1 CAPT Timer/Counter1 Event
7 $00C TIMER1
COMPA
Timer/Counter Compare Match A 8 $00E TIMER1 COMPB Timer/Counter1 Compare Match B 9 $010 TIMER1 OVF Timer/Counter1 Overflow
10 $012 TIMER0 OVF Timer/Counter0 Overflow 11 $014 SPI, STC Serial Transfer Complete 12 $016 USART, RXC USART, Rx Complete 13 $018 USART, UDRE Usart Data Registry Empty 14 $01A USART, TXC USART, Tx Complete
15 $01C ADC ADC Conversion Complete
16 $01E EE_RDY EEPROM Ready
17 $020 ANA_COMP Analog Comparator
18 022 TWI Two-wire Serial Interface
19 $024 INT2 External Interrupt Request 2 20 $026 TIMER0 COMP Timer/Counter0 Compare Match 21 $028 SPM_RDY Store Program Memory Ready
2.4Komunikasi Serial RS-232
Standar sinyal komunkasi serial yang banyak digunakan adalah standar RS-232 yang dikembangkan oleh Electronic Industry Association and Telecomunications Industry Association (EIA/TIA) yang pertama kali dipublikasikan pada tahun 1962. Standar ini hanya menyangkut komunikasi data anatara komputer (Data Terminal Equipment – DTE) dengan alat-alat pelengkap komputer (Data Circuit-Termintaing Equipment DCE).[6]
Pada standar RS-232 logika satu “1” disebut dengan mark, memiliki besar tegangan antara -3V sampai dengan -25V, sedangkan logika nol “0” disebut dengan space yang memiliki tegangan +3V sampai dengan +25V, besar tegangan antara -3V samapai dengan +3V akan menghasilkan nilai yang tidak terdefinisi. Dengan demikian antarmuka port serial komputer tidak dapat langsung
(33)
25 dihubungkan dengan perangkat TTL yang memiliki tegangan 0V sampai dengan 5V, sehingga untuk keperluan ini diperlukan konverter. Salah satu IC yang dapat digunakan untuk konverter komunikasi serial RS-232 menjadi serial TTL adalah IC MAX232.[6]
2.4.1 Deskripsi IC MAX232
IC MAX232 merupakan IC konverter RS-232 level EIA/TIA menjadi level TTL/CMOS atau sebaliknya, IC ini menyediakan dua buah driver/receiver yang dapat membangkitkan tegangan RS-232 standar level EIA dan tegangan standar level TTL.[7]
Bagian Receiver RS-232 pada MAX232 akan mengonversi tegangan input level EIA-232 menjadi level TTL/CMOS yaitu 0V sampai dengan 5V, besar tegangan input RS-232 yang dapat diterima oleh MAX232 mencapai ±30V. Begitu pula sebaliknya dengan receiver TTL/CMOS, bagian ini akan mengonversi tegangan 0V sampai dengan 5V menjadi level EIA-232.[7]
Logika output pada IC MAX232 merupakan invers dari logika input, pada Gambar 2.14 merupakan satu buah logika driver/reciver yang dimiliki oleh IC MAX232.
TIN
ROUT RIN
TOUT
Gambar 2.14. Logika MAX232
2.4.2 Konfigurasi Pin IC MAX232
IC MAX232 memiliki 16 pin DIP, adapun konfigurasi pin yang dimiliki oleh IC MAX232 seperti yang terlihat pada Gambar 2.15. (Sumber: Texas Instruments Incorporated, 2004, hlm. 1)
(34)
26 Gambar 2.15. Konfigurasi Pin IC MAX232
Fungsi dari masing-masing pin adalah sebagai berikut:[7] a. VCC, sebagai tegangan kerja untuk tegangan positif. b. GND, sebagai tegangan kerja untuk ground.
c. C+, C-, sebagai voltagepump.
d. VS+, VS-, sebagai pembangkit tegangan positif dan tegangan negatif. e. TIN, TOUT, sebagai input TTL dan output EIA-232.
f. RIN, ROUT, sebagi input EIA-232 dan output TTL.
2.5Komunikasi Serial RS-485
Standar RS-485 mendukung komunikasi dua arah bergantian (half duplex) dan dua arah penuh (full duplex). Sistem half duplex hanya memerlukan 2 buah kabel (untuk sinyal A dan B) di mana sinyal A dan B untuk driver dan penerima dihubungkan secara paralel, sedangkan sistem full duplex memerlukan 4 buah kabel, masing-masing 2 untuk sinyal A dan B, pengirim dan penerima yang terpisah.[8]
Penerima RS-485 bekerja dengan membaca perbedaan tegangan antara sinyal A dan sinyal B. Jika sinyal A lebih besar minimal 200mV dari sinyal B, maka keluaran pada penerima akan berlogika tinggi. Sebaliknya, jika sinyal B lebih besar minimal 200mV dari sinyal A, keluaran penerima akan berlogika rendah. Perbedaan tegangan di bawah 200mV akan mengakibatkan keluaran yang tidak terdefinisi pada keluaran penerima. Salah satu IC yang dapat digunakan sebagai konversi komunikasi serial TTL menjadi serial RS-485 yaitu IC MAX488.
(35)
27
2.5.1 Deskripsi IC MAX488
IC MAX488 merupakan keluarga IC transceiver RS-422 dan RS-485, MAX488 dapat dihubungkan dengan unit load sebanyak 32 buah transceiver. Komunikasi yang disediakan oleh MAX488 yaitu komunikasi serial Full Duplex.[9]
Terminal A dan terminal B pada kondisi short circuit memiliki impedansi resistansi sebesar 12KΩ, dan pada kondisi open circuit tegangan antara terminal A dan terminal B adalah 0.2V, sehingga status output dapat diketahui yaitu berlogika satu “1”.[9]
2.5.2 Konfigurasi Pin IC MAX488
Konfigurasi pin yang dimiliki oleh IC MAX488 seperti yang terlihat pada Gambar 2.16. [9] (Sumber: Maxim, 2009, hlm. 7)
Gambar 2.16. Konfigruasi Pin IC MAX488
Adapun fungsi dari masing-masing pin IC MAX488 yaitu sebagai berikut:[7] a. RO: berfungsi sebagai output serial level TTL.
b. DI: berfungsi sebagai input serial level TTL.
c. A: berfungsi sebagai sinyal penerima noninverting atau sinyal D+. d. B: berfungsi sebagai sinyal penerima inverting atau sinyal D-. e. Y: berfungsi sebagai sinyal pengirim noninverting atau sinyal D+ f. Z: berfungsi sebagai sinyal pengirim inverting atau sinyal D-.
g. VCC: berfungsi sebagai tegangan kerja IC MAX487, tegangan positif. h. GND: berfungsi sebgai tegangan kerja IC MAX487, tegangan ground.
(36)
28
2.6Relay
Relay merupakan saklar elektromagnetik yang prinsip kerjanya menggunakan azas kumparan listrik. Jika kumparan tersebut mendapat aliran listrik maka posisi saklar akan berubah dari normaly close (NC) menjadi normaly open (NO). Pada Gambar 2.17 merupakan simbol relay.
NC NO
Gambar 2.17. Simbol Relay
Relay SY-5-K merupakan salah satu jenis relay yang memiliki resistansi kumparan sebesar 167Ω. Relay SY-5-K dapat bekerja jika kumparan diberi tegangan sebesar +5V dengan arus sebesar 30mA. Konfigurasi pin relay SY-5-K seperti yang terlihat pada Gambar 2.18.[10] (Sumber: Fujitsu, hlm. 7)
Gambar 2.18. Konfigurasi Pin Relay SY-5-K
2.7Bahasa Pemrograman Assembly 2.7.1 IDE AVR Studio 4
Compiler AVR Studio 4 adalah perangkat lunak yang digunakan dalam menulis bahasa program Assembly untuk memprogram mikrokontroler keluarga AVR, dengan menggunakan compiler tersebut akan dihasilkan file dengan ekstensi .hex, file ini merupakan file yang nantinya akan di-upload ke dalam memori mikrokontroler. Pada Gambar 2.19 merupakan tampilan jendela kerja compiler AVR Studio 4.
(37)
29 Gambar 2.19. Jendela Kerja AVR Studio 4
2.7.2 Instruksi Assembly
Dalam menjalankan program, mikrokontroler akan melakukan pembacaan data yang tersimpan dalam memori program (internal atau eksternal). Alamat memori yang harus dibaca disimpan dalam sebuah register yang dinamakan Program Counter (PC). Data yang terbaca akan diartikan sebagai perintah atau instruksi yang harus dikerjakan. Pada mikrokontroler keluarga AVR terdapat empat jenis instruksi yang sering digunakan yaitu pemindahan data (data transfer), pemrosesan data (data processing), pengaturan alur program (program control), dan instruksi operasi bit.
a. Instruksi Aritmatika
Instruksi aritmatika meliputi perkalian, pembagian, dan pengurangan serta operasi logika, pada Tabel 2.10 merupakan instruksi aritmatika yang terdapat pada mikrokontroler AVR.
(38)
30 Tabel 2.10. Instruksi Aritmatika
Mnemonic Deskripsi ADD Add two registers
ADC Add with cary two registers ADIW Add immediate to word SUB Subtract two registers
SUBI Subtract constant form register SBC Subtract with carry two registers
SBCI Subtract with carry constant from register SBIW Subtract immediate from word
AND Logical AND registers
ANDI Logical AND register and constant OR Logical OR registers
ORI Logical OR register and constant EOR Exclusive OR registers
COM One’s complement NEG Two’s complement SBR Set bit(s) in register CBR Clear bit(s) in register INC Increment
DEC Decrement
TST Test for zero or minus CLR Clear register
SER Set register MUL Multiply unsigned MULS Multiply signed
MULSU Multiply signed with unsigned FMUL Fractional multiply unsigned FMULS Fractional multiply signed
FMULSU Fractional multiply signed with unsigned
b. Instruksi Pemindahan Data
Mikrokontroler AVR memiliki instruksi pemindahan data yang sangat berguna untuk memindahkan data byte. Sumber atau tujuan dapat berupa data konstanta, register fungsi khusus, dan data di memori program atau memori data. Instruksi pemindahan data disajikan pada Tabel 2.11.
(39)
31 Tabel 2.11. Instruksi Pemindahan Data
Mnemonic Deskripsi MOV Mov between registers
MOVW Copy register word
LDI Load immediate LD Load indirect
LDD Load indirect with displacement
LDS Load direct from SRAM ST Store indirect
STD Store indirect with displacement
STS Store direct to SRAM
LPM Load Program Memory SPM Store Program Memory
IN In Port
OUT Out Port
PUSH Push register on stack POP Push register from stack
c. Instruksi Bit
Instruksi dalam pengoperasian bit pada mikrokontroler AVR meliputi instruksi logika perbit, rotasi bit, dan pertukaran nibble. Pada Tabel 2.12 merupakan instruksi bit pada mikrokontroler AVR.
Tabel 2.12. Instruksi Bit
Mnemonic Deskripsi
SBI Set bit in I/O register
CBI Clear bit in I/O register
LSL Logical Shift Left
LSR Logical Shift Right
ROL Rotate Left Through Carry
ROR Rotate Right Through Carry
ASR Arithmatic Shift Right
SWAP Swap Nibbles
BSET Flag Set
BCLR Flag Clear
BST Bit Store Form register to T
BLD Bit Load from T to register
SEC Sect Carry
CLC Clear Carry
SEN Set Negatif Flag
CLN Clear Negatif Flag
SEZ Set Zero Flag
CLZ Clear Zero Flag
SEI Global Interrupt Enable
CLI Global Interrup Disable
SES Set Signed Test Flag
CLS Clear Signed Test Flag
SEV Set Twos Complement Overflow
CLV Clear Twos Complement Overflow
SET Set T in SREG
CLT Clear T in SREG
(40)
32 d. Instruksi Percabangan
Instruksi percabangan yaitu instruksi yang meliputi instruksi lompat tak bersyarat dan lompat bersyarat. Adapun instruksi percabangan seperti yang terlihat pada Tabel 2.13.
Tabel 2.13. Instruksi Percabangan
Mnemonic Deskripsi
RJMP Relative Jump
IJMP Indirect Jump to (Z)
JMP Direct Jump
RCALL Relative Subroutine Call ICALL Indirect call to (Z) CALL Direct Subroutine Call
RET Subroutine Return
RETI Interrupt Return CPSE Compare, Skip if Equal
CP Compare
CPC Compare with Carry
CPI Compare register with Immediate SBRC Skip if Bit in Register Cleared
SBRS Skip if Bit in Register is Set SBIC Skip if Bit in I/O Register Cleared SBIS Skip if Bit in I/O Register is Set BRBS Branch if Status Flag Set
BRBC Branch if Status Flage Cleared BREQ Branch if Equal
BRNE Branch if Not Equal
BRCS Branch if Carry Set BRCC Branch if Carry Cleared BRSH Branch if Same or Higher BRLO Branch if Lower
BRMI Branch if Minus BRPL Branch if Plus
BRGE Branch if Greater or Equal, Signed BRLT Branch if Less than Zero, Signed
BRHS Branch if Half Carry Flag Set BRHC Branch if Half Carry Flag Cleared BRTS Branch if T Flag Set
BRTC Branch if T Flag Cleared BRVS Branch if Overflow Flag is Set BRVC Branch if Overflow Flag is Cleared
2.8Bahasa Pemrograman Visual Basic
Visual Basic adalah sebuah bahasa pemrograman yang digunakan untuk membuat program aplikasi berbasis orientasi objek atau Object Oriented Program (OOP). Visual Basic merupakan pengembangan dari bahasa Basic. Dengan Visual
(41)
33 Basic, perancangan sebuah program aplikasi akan lebih mudah karena didukung oleh komponen-komponen pelengkap yang memiliki standar Windows.[11]
2.8.1 Lingkungan Kerja Visual Basic
Gambar 2.20. Jendela Kerja Visual Basic
Seperti pada Gambar 2.20 fungsi dari masing-masing bagian jendela kerja Visual Basic dapat dijelaskan sebagai berikut:[11]
a. MenuBar
MenuBar terdiri dari beberapa menu yang berfungsi untuk berinteraksi dengan pembuatan program aplikasi.
b. ToolBar
ToolBar merupakan alternatif dari MenuBar yang ditampilkan dalam bentuk ikon.
c. ToolBox
ToolBox adalah jendela yang menampung objek-objek kontrol yang digunakan pada saat mendesain form.
d. Form
Form merupakan sebuah objek kontainer dari objek-objek lain yang dimiliki oleh Visual Basic, bagian dari sebuah project, dan digunakan sebagai alat berinteraksi antara program dengan pemakai (user).
(42)
34 e. Jendela Properties
Jendela properties adalah jendela yang memuat jenis-jenis properti yang dimiliki oleh suatu objek.
f. Jendela Project Explorer
Jendela project explorer adalah jendela yang menampilkan nama project dan komponen-komponen yang disertakan dalam sebuah project.
2.8.2 Objek Kontrol
Gambar 2.21. Objek Kontrol Visual Basic
Objek kontrol pada Visual Basic terletak pada jendela ToolBox, secara default isi dari ToolBox seperti terlihat pada Gambar 2.21, ToolBox ini menyediakan macam-macam objek yang sering digunakan seperti Label, TextBox, Frame, ComboBox, dan lain-lain. Untuk menampilkan objek kontrol lain dapat ditambahkan dengan mengklik menu Project kemudian pilih Component, atau dengan shortkey Ctrl+T.[11]
2.8.3 Tipe Data
Umumnya data dibagi menjadi dua bagian utama, yaitu karakter dan numerik, walaupun pada perkembangan selanjutnya dikembangkan menjadi beberapa tipe. Tipe data utama Visual Basic seperti terlihat pada Tabel 2.14.[11] (Sumber: Novian, 2004, hlm.39)
(43)
35 Tabel 2.14. Tipe Data Visual Basic
Tipe Data Nilai Penyimpanan Jangkauan
Integer 2 Byte -32.768 s/d 32.767 Long 4 Byte -2.1E9 s/d 2.1E9 Single 4 Byte Untuk nilai negatif:
-3,402823E s/d -1,401298E-45 Untuk nilai positif:
1,401298E-45 s/d 3,402823E38 Double 8 Byte Untuk nilai negative:
1,79769313486232E308 s/d -4,9406564581247E-324 Untuk nilai positif: 4,9406564581247E-324 s/d1,79769313486232E308 s/d Decimal 8 Byte Untuk bilangan tanpa koma:
+/-79.228.162.514.337.593.543.950.335 Untuk bilangan decimal:
+/-79,228162514337593543950335 Bilangn terkecil yang mungkin: 0,00000000000000000000000000001 Currency 8 Byte -922.337.203.685.477,5808 s/d
922.337.203.685.477,5808 String 1 Byte / Char 0 s/d 2E32 karakter
Byte 1 Byte 0 s/d 255
Boolean 2 Byte True atau False
Date 8 Byte 1 Jan 100 s/d 31 Dec 9999 Object 4 Byte Referensi object
Variant 16 Byte + 1Byte/Karakter Null Error
Nilai numeric s/d jangkauan tipe data Double.
String, Object, atau array.
Tipe data pada Visual Basic selain yang tertera pada Tabel 2.16, dapat juga dibuat tipe data gabungan dari berbagai tipe data. Pendeklarasian suatu variabel dengan menggunakan tipe data yang tepat, akan membuat program mengeksekusi lebih efisien dan penghematan dalam penggunaan memori.
2.8.4 Struktur Program
Setiap bahasa pemrograman tidak lepas dari struktur program, seperti struktur percabangan, struktur pengulangan. Pada Visual Basic struktur program dijelaskan sebagai berikut:[11]
(44)
36 a. Struktur percabangan.
Suatu program akan melakukan lumpatan ke baris program lainnya dengan membandingkan suatu kondisi dengan kondisi lainnya, atau program akan menjalan baris program berikutnya jika kondisi terpenuhi. Terdapat beberapa struktur percabangan diantaranya yaitu:
¾ If…Then.
Struktur ini digunakan untuk menjalankan satu atau beberapa perintah bila suatu kondisi terpenuhi. Bentuk umum penulisan If…Then yaitu:
If kondisi Then [perintah]
¾ If…Then…Else
Struktur If…Then…Else adalah pengembangan dari If…Then. Hanya saja, di sini ada banya pilihan kondisi untuk dikerjakan. Bila kondisi pertama bernilai benar, maka kerjakan perintah-perintah pertama. Bila kondisi pertama bernilai salah, maka periksa kondisi kedua dan seterusnya. Bentuk umum penulisan struktur ini adalah:
IF kondisi1 Then [perintah]
ElseIf kondisi2 Then [perintah] Else [perintah]
End IF
¾ Select Case.
Struktur ini merupakan alternatif pengganti dari struktur If…Then…Else. Select Case mempunyai pembacaan yang lebih mudah sehingga penulisan dapat menjadi lebih efisien. Bentuk umum dari penulisan Select Case adalah:
Select Case kondisi Case|Case Is = ekspresi1 [perintah]
Case|Case Is=ekspresi2 [perintah]
Case Else [Perintah]
(45)
37 b. Struktur pengulangan.
Struktur pengulangan akan mengeksekusi perintah selama dan atau sampai kondisi terpenehui. Beberapa struktur pengulangan yaitu:
¾ Do While…Loop
While akan memaksa program untuk melakukan pengulangan selama suatu kondisi masih bernilai benar. Struktur pengulangan Do While…Loop memiliki dua bentuk penulisan yaitu:
Do While kondisi [perintah]
Loop
atau dengan menggunakan bentuk ke dua: Do
[perintah]
Loop While kondisi
Pengulangan Do While…Loop mempunyai sebuah statement untuk menghentikan pengulangan walaupun kondisi masih bernilai benar. Statement tersebut adalah Exit Do.
¾ Do Until…Loop
Until akan memaksa program untuk melakukan pengulangan sampai suatu kondisi bernilai benar. Seperti halnya Do While…Loop, Do Until…Loop pun memiliki dua bentuk yaitu:
Do Until kondisi [perintah] Loop
atau dengan menggunakan bentuk kedua: Do
[perintah]
Loop Until kondisi
¾ While…Wend
Pengulangan While…Wend sebanarnya bentuk lain Do While…Loop. Struktur pengulangan akan mengeksekusi program selama suatu kondisi bernilai benar. Bentuk umum dari struktur While…Wend adalah:
While kondisi [perintah] Wend
(46)
38
¾ For…Next
For…Next digunakan jika telah diketahui banyaknya pengulangan yang akan dilakukan. Sebelum menggunakan For..Next nilai awal yang berfungsi sebagai indeks (counter) harus dideklarasikan terlebih dahulu. Bentuk umum pengulangan For…Next adalah sebagai berikut:
For counter=awal To akhir [Step tahpa] [perintah]
Next counter
¾ For Each…In… Next
For Each…In…Next digunakan untuk pengulangan yang jumlah pengulangannya sesuai dengan jumlah elemen suatu koleksi objek yang biasanya tidak diketahui dengan pasti berapa jumlahnya. Bentuk umum penulisannya adalah sebagai berikut:
For Each elemen In group [perintah]
Next [elemen]
2.9Bahasa Pemrograman Java 2.9.1 Perlengkapan Pemrogaman
Untuk pembuatan program aplikasi pada Android yang menggunakan bahasa pemrograman Java, maka diperlukan perangkat lunak yaitu sebagai berikut:
a. Java Development Kit (JDK)
Yaitu program Java yang berfungsi sebagai kompilasi kode sumber Android.
b. Android SDK (Software Development Kit)
Yaitu tools API (Application Programming Interface) yang diperlukan untuk memulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java.
c. IDE Eclipse
Yaitu IDE yang digunakan untuk menulis program sumber dalam pembuatan aplikasi Android.
(47)
39 d. Android Development Tools (ADT)
Yaitu penghubung antara IDE Eclipse dengan Android SDK, atau disebut juga dengan Plugins Eclipse.
2.9.2 Activity
Activity merupakan public class dalam aplikasi Android. Setiap activity merupakan sesuatu yang unik atau single, yang ditunjukan untuk meng-handle macam-macam hal yang bisa dilakukan oleh user. Umumnya, activity berbuhubungan dengan user di mana activity menciptakan Windows atau UI yang mana ditampilkan dengan concepts setContentView(View). Ada 2 method yang pasti dimiliki oleh satu activity yaitu:
1. onCreate untuk menginisialisasi suatu activity, biasanya dipanggil dengan perintah setContentView(int) untuk resource yang didefinisikan di layout UI, dan perintah findViewById(int) untuk memanggil widget yang dibutuhkan UI untuk berinteraksi dengan aplikasi.
2. onPause untuk menyatakan ketika user meninggalkan suatu activity. Untuk penggunaan dengan Context.startActivity(), semua kelas activity harus sesuai dengan <activity> yang dideklarasikan dalam suatu paket di AndroidManifest.xml. Activity adalah bagian penting dari keseluruhan siklus aplikasi, bagaiman activity dijalankan merupakan bagian penting dari model aplikasi.[11]
Activity aplikasi Android dikelola dengan sistem yang dikenal dengan activity stack. Ketika suatu activity start, activity diletakan pada stack yang paling atas dan activity-activity yang sudah berjalan berada dibawahnya dan akan terus berada pada posisi atas stack sampai muncul activity yang baru. Pada dasarnya activity memiliki empat keadaan yaitu:
1. Active/running, jika activity berada pada posisi atas stack.
2. Pause, jika activity tidak dipakai atau dibutuhkan pada suatu saat tertentu, tetapi activity itu masih ada atau visible, ketika activity baru yang ditangani oleh sistem activity yang lama disebut pause dan masih berada
(48)
40 di memori, bisa jadi suatu activity yang sudah keadaan pause tidak ada di memori yang kemungkinan disebabkan oleh kerbatasan memori.
3. Stopped, jika activity sudah tidak dipakai dan digantikan oleh activity lain, activity yang sudah stopped tidak akan pernah dipanggil lagi, dan secara permanen memori pun juga tidak menyimpan informasi mengenai activity ini.
4. Restrart, jika activity pause atau stopped, sistem dapat men-drop activity ini dari sistem memori, dan ketika user membutuhkan activity tersebut, activity akan kembali keadaan awal, artinya activity tersebut mengalami proses restart.
Pada Gambar 2.22 adalah ilustrasi mengenai activity lifecycle atau siklus dari activity di dalam sistem Android. (Sumber: Safaat H, 2011, hlm. 61)
Gambar 2.22. Lifecycle Activity
Berdasarkan Gambar 2.22 lifecycel activity di atas, secara umum dapat dijelaskan bahwa looping (perulangan) yang mungkin dialami oleh activity ada tiga perulangan yaitu:
(49)
41 1. Entire lifetime yaitu activity yang terjadi mulai dari onCreate() sampai
dengan onDestroy(), biasanya activity ini akan dibuat setup global ketika mendefinisikannya.
2. Visible lifetime yaitu activity yang terjadi mulai dari onCreate() sampai dengan onStop().
3. Foreground lifetime yaitu activity yang terjadi diantara onResume() dan onPause().
2.9.3 User Interface
Secara umum arsitektur User Interface (UI) pada aplikasi Android adalah user interface yang meliputi Activity dan user interface yang terdiri dari komponen. Semua yang berhubungan dengan user interface pada aplikasi Android biasanya berada pada lokasi res/layout/filename.xml. Di mana coding Java memanggilnya yang dikenal dengan R.layout.filename.
2.9.4 AndroidManifest
File AndroidManifest.xml diperlukan oleh setiap aplikasi android, file ini mendeskripsikan variabel global dari paket aplikasi yang digunakan, berikut adalah contoh listing pada AndroidManifest.xml.
<?xml version=”1.0” encoding=”utf-8”?>
<manifest xmlns:android=http://schemas.android.com/apk/res/android package=”com.tugas_akhir.afl”
android:versioncode=”1” android:versionName=”1.0”>
<application android:icon=”@drawable/icon” Android:label=”@string/app_name”>
<activity android:name”.afl” android:label=”@string/app_name”> <intent-filter>
<action android:name=”android.intent.action.MAIN”/>
<category android:name=”android.intent.category.LAUNCHER”/> </inent-filter>
</activity> </application>
<uses-sdk android:minSdkVersion=”9”/> </manifest>
Di dalam file AndroidManifest.xml ini berisi semua pendefinisian hal-hal yang dibutuhkan oleh aplikasi Android, beberapa elemen yang dapat dicantumkan di dalam file ini adalah sebagai berikut:
(50)
42 <Manifest>
Titik root utama dari AndroidManifest.xml, berisi atribut package aplikasi serta paket activity dalam program Android.
<uses-permision>
Menjelaskan tentang user permission/security permission yang harus diberikan agar aplikasi dapat berjalan sebagaimana mestinya, misalnya menggunakan resources yang tersedia dari sistem, seperti pengiriman SMS, dan sebagainya.
<permission>
Menjelaskan tentang user permission/securitypermission. <instrumentation>
Mendeklarasikan komponen instrumen yang tersedia untuk menguji fungsionalitas dari paket aplikasi yang digunakan dalam aplikasi android.
<application>
Element root yang berisi deklarasi aplikasi android. <intent-filter>
Mendeklarasikan Intent yang dibutuhkan oleh aplikasi Android yang digunakan, atribut-atribut bisa diberikan disini untuk men-supply label, ikon, data dan informasi yang digunakan dalam aplikasi android.
<action>
Berisi tentang action type yang didukung oleh komponen-komponen yang berada dalam aplikasi Android.
<category>
Mendeklarasikan kategori-kategori yang didukung oleh aplikasi Android. <data>
Mendeklarasikan tipe MIME, URL, authority penggunaan URL serta penentuan path yang digunakan dalam URL.
(51)
43 <meta-data>
Mendeklarasikan meta data yang dibutuhkan sebagai tambahan data yang ada untuk digunakan pada aplikasi Android.
<receiver>
Mendeklarasikan dimana aplikasi diberikan informasi mengenai sesuai perubahan atau aksi yang terjadi, seperti menerima SMS.
<service>
Mendeklarasikan komponen yang dapat berjalan sebagai service (berjalan di background).
<provider>
Mendeklarasikan komponen-komponen yang mengelola data dan mem-publikasikannya untuk dikelola atau dipakai oleh aplikasi lain.
<uses-sdk uses-sdk android:minSdkVersion=?>
Mendeklarasikan SDK Android yang digunakan, bisa juga menentukan SDK minimum yang digunakan.
2.10 Perangkat Pendukung 2.10.1 Access Point
Perangkat keras access point merupakan perangkat yang digunakan transmisi data melalui wireless, di pasaran terdapat berbagai merk access point salah satunya yaitu dengan merk D-LINK. Meskipun merk access point berbeda-beda akan tetapi frekuensi yang dimiliki oleh access point mengacu pada standar IEEE (Institute of Elelectrical and Electronics Enginers) 802.11.
Access point yang akan digunakan yaitu D-LINK dengan model DWL-2100AP, access point ini mengacu pada standar IEEE 802.11g yaitu memiliki frekuensi 2.4GHz dengan kecepatan transfer mencapai 108Mbps. Pada Gambar 2.23 merupakan bentuk fisik access point D-LINK DWL-2100AP.
(52)
44 Gambar 2.23. Access Point D-LINK DWL-2100AP
2.10.2 Tablet PC
Tablet PC merupakan salah satu perangkat mobile yang biasanya digunakan untuk memudahkan pengguna terhubung dengan jaringan tanpa harus berada di tempat tertentu. Di pasaran terdapat berbagai merk tablet PC, pada tugas akhir ini akan digunakan tablet PC dengan merk Samsung GalaxyTab model GT-P6200. Pada Gambar 2.24 merupakan bentuk fisik tablet PC Samsung GalaxyTab GT-P6200.
Gambar 2.24. Tablet PC GalaxyTab Model GT-P6200
Adapun spesifikasi yang dimiliki oleh GalaxyTab GT-P6200 yaitu sebagai berikut:
a. Prosesor : 1.2GHz Dual Core
b. EDGE/GPRS : Quad Band (850/900/1800/1900 MHz) c. Layar : 7” WSVGA (1024X600) PLS LCD d. Wireless : 802.11 a/b/g/n
e. Wireless Bluetooth : Bluetooth 3.0 f. Antarmuka : USB 2.0 g. Sistem Operasi : Android 3.2 h. Baterai : 4000 mAh
(53)
45 BAB III
PERANCANGAN
3.1Perancangan Sistem
Setelah membahas mengenai teori-teori penunjang pada Bab 2 sebagai pendukung dalam pembuatan sistem, maka pada bab ini penulis akan membahas mengenai perancangan sistem yang akan dibuat. Secara garis besar pada bab ini berisi penjelasan perancangan blok diagram sistem, perangkat CCR Simulator, program aplikasi AFL Simulator, dan program aplikasi AFL Remote.
3.1.1 Blok Diagram Sistem Secara Keseluruhan
(54)
46 Seperti terlihat pada Gambar 3.1 yaitu menggambarkan diagram blok sistem secara keseluruhan, adapun urutan proses kerja sistem yaitu sebagai berikut:
a. Peserta latihan operator AFL secara manual memasukan data tingkat kecerahan lampu melalui personal komputer ATC (Air Traffic Controller) yaitu dengan cara mengklik tombol navigasi tingkat kecerahan lampu. b. Data tingkat kecerahan lampu tersebut akan dikeluarkan oleh personal
komputer ATC melalui port serial dan dikirimkan ke PLC.
c. Data serial yang diterima oleh PLC akan dibaca dan dikeluarkan kembali dalam bentuk data paralel 8 bit kemudian dikirimkan ke salah satu CCR Simulator yang ditunjuk.
d. Jika AFL Simulator meminta status input CCR Simulator tertentu, maka CCR Simulator yang ditunjuk akan membaca data status input dan hasilnya akan dikirimkan ke AFL Simulator.
e. AFL Simulator akan mensimulasikan tingkat kecerahan lampu AFL sesuai dengan penerimaan data yang dikirimkan oleh CCR Simulator.
f. Jika instruktur memberikan nilai kesalahan terhadap AFL Simulator maka AFL Simulator akan menampilkan tanda adanya kesalahan pada CCR Simulator dan melanjutkan pengiriman data kesalahan tersebut ke CCR Simulator.
3.1.2 Blok Diagram Sistem yang Dirancang
Komponen-komponen yang terdapat pada blok diagram sistem secara keseluran tidak seluruh blok komponen tersebut dirancang pada Tugas Akhir ini. Blok diagram sistem yang tidak dijelaskan dalam perancangan yaitu blok ATC dan blok PLC, kedua blok ini akan dibuatkan program sederhana yang nantinya akan digunakan sebagai pelengkap untuk menguji sistem yang telah dibuat. Pada Gambar 3.2 merupakan blok diagram sistem yang akan dirancang.
(55)
47
8 Bit Data
8 Bit Data 8 Bit Data 8 Bit Data 8 Bit Data 8 Bit Data
AFL Simulator
ACCESSPOINT TABLET PC
AFL Controller RS485<->RS232 INSTRUKTUR 6 x 8 B IT DA TA DA RI P L C BUS Terminal Keluaran Untuk Pengukuran Arus Simulasi
Kerusakan RS485
OPTO
CCR Simulator 1
RELAY MCU
PSU
RS485 OPTO
CCR Simulator 2
RELAY MCU
PSU
RS485 OPTO
CCR Simulator 3
RELAY MCU
PSU
RS485 OPTO
CCR Simulator 4
RELAY MCU
PSU
RS485 OPTO
CCR Simulator 5
RELAY MCU
PSU
RS485 OPTO
CCR Simulator 6
RELAY MCU
PSU
PC
Terminal Keluaran Untuk Pengukuran Arus Simulasi
Kerusakan
Terminal Keluaran Untuk Pengukuran Arus Simulasi
Kerusakan
Terminal Keluaran Untuk Pengukuran Arus Simulasi
Kerusakan
Terminal Keluaran Untuk Pengukuran Arus Simulasi
Kerusakan
Terminal Keluaran Untuk Pengukuran Arus Simulasi
Kerusakan
(56)
48 3.2Perancangan Sumber Catu Daya
Catu daya merupakan perangkat keras yang berfungsi untuk menyediakan sumber tegangan yang diperlukan untuk men-supply perangkat keras agar perangkat tersebut dapat bekerja. Seperti terlihat pada Gambar 3.3 merupakan rangkaian catu daya yang akan dirancang, sumber tegangan yang akan dihasil oleh oleh rangkaian catu daya yaitu 5V DC.
Gambar 3.3. Rangkaian Catu Daya
Penggunaan transformator catu daya berfungsi untuk memperoleh tegangan AC kecil, tegangan tersebut merupakan tegangan induksi yang dihasilkan oleh kumparan sekunder, karena transformator yang digunakan adalah transformator catu daya maka keluaran tegangan sekunder lebih kecil dibanding dengan sumber tegangan primer.
Tegangan yang dikeluarkan oleh kumparan sekunder masih dalam bentuk tegangan AC, sehingga diperlukan dioda penyearah untuk memperoleh tegangan DC. Penyusunan empat buah dioda yang disusun dengan metode bridge bertujuan untuk memperoleh tegangan DC gelombang penuh (full-wave).
Tegangan yang keluar pada dioda bridge tidak langsung menghasilkan tegangan DC rata, oleh karena itu diperlukan tapis kapasitor. Untuk memperoleh tegangan DC 5V stabil maka digunakan IC regulator 7805. Tegangan yang masuk pada IC 7805 harus lebih besar dari tegangan keluaran, IC 7805 merupakan salah satu IC regulator tegangan positif.
3.3Perancangan Konverter RS-232 – RS-485
Komunikasi antara CCR Simulator dengan personal komputer akan digunakan komunikasi serial RS-485. Pada port serial personal komputer hanya
(57)
menyediak mengonve rangkaian 3.4Peran Pera Simulator 3.4.1 Bl Pera mungkin t peserta ca over curr memiliki b kan komun ersi serial konverter R Gamba ncangan CC ancangan pe , perancang ok Diagram angkat kera terjadi pada alon operato rent, low c
blok diagram
G
nikasi seria RS-232 m RS-232 men
ar 3.4. Rang CR Simulat erangkatat C gan peranga
m CCR Sim s CCR Sim a lampu AF or AFL seca
urrent, dan m seperti pa
Gambar 3.5. al RS-232 menjadi RS njadi RS-48 gkaian Konv tor CCR Simula kat keras, d mulator mulator berfu
FL, perangk ara teknis d n open circ
ada Gambar
Blok Diagr
sehingga d S-485. Pada
85 atau seba
verter RS-2
ator melipu dan perangk
ungsi sebag kat keras in dalam meng
cuit. Perang r 3.5.
ram CCR Si
diperlukan p a Gambar aliknya.
232 − RS-48
uti blok diag kat lunak.
gai simulasi ni digunaka enal jenis k gkat keras
imulator
perangkat u 3.4 merup
85
gram sistem
i kerusakan an untuk m kerusakan se CCR Simu 49 untuk pakan CCR yang elatih eperti ulator
(58)
Fungsi da berikut: ¾ Bl seb CC ¾ Bl lev ¾ Bl dit ¾ Bl po res ¾ Bl dib 3.4.2 Pe Pada CCR Sim rangkaian 3.4.2.1Ra ari masing-m
ok Power S bagai peny CR Simulato
ok RS-485 vel TTL me ok Microc terima secar ok Relay b ort output u
sistor. ok Optical baca oleh po erancangan
a subbab in mulator yan lainnya yan angkaian M masing blok Supply Unit edia sumbe or. digunakan enjadi data s controller
ra serial ma berfungsi se untuk men
Photo (OP ort input m n Perangka ni menjelask
ng terdiri ng berada p Mikrokontr
Gambar
k CCR Simu
t (PSU) atau er tegangan
n untuk me serial standa
Unit (MCU aupun data h ebagai sakel nentukan je
PTO) berfu mikrokontrol
at Keras CC kan peranca
dari rangk pada blok CC roler ATme
3.6. Rangka
ulator pada
u dikenal d n DC untuk
engonversi ar RS-485 a U) berfung hasil pemba lar elektrom enis kerusak ngsi sebaga ler. CR Simulat angan rangk kaian mikro CR Simulat ega16 aian ATmeg Gambar 3. dengan catu k men-supp
data serial atau sebalikn gsi mempro acaan portin magnetik ya
kan dengan
ai logika di
tor
kaian perang okontroler
tor.
ga16
5 adalah se
daya digun ply seluruh
standar RS nya.
oses data nput. ang di-drive
n memilih
igital yang
gkat keras u ATmega16 50 ebagai nakan blok S-232 yang
e oleh nilai
akan
untuk 6 dan
(59)
51 Mikrokontroler yang akan digunakan yaitu ATmega16, pada Gambar 3.6 merupakan rangkaian mikrokontroler ATmega16 yang akan dirancang. Pada Tabel 3.1 merupakan penjelasan pin ATmega16 yang digunakan.
Tabel 3.1. Pin ATmega16 yang Digunakan
No Pin Nama Fungsi Keterangan
1 40 PA0 Input
Input 8 bit data paralel dari optocoupler. 2 39 PA1 Input
3 38 PA2 Input 4 37 PA3 Input 5 36 PA4 Input 6 35 PA5 Input 7 34 PA6 Input 8 33 PA7 Input 9 1 PB0 Output
Ouput 12 bit data paralel untuk men-drive relay. 10 2 PB1 Output
11 3 PB2 Output 12 4 PB3 Output 13 5 PB4 Output 14 6 PB5 Output 15 7 PB6 Output 16 8 PB7 Output 17 22 PC0 Output 18 23 PC1 Output 19 24 PC2 Output 20 25 PC3 Output
21 14 PD0 RXD Menerima data serial 22 15 PD1 TXD Mengirim data serial 24 18 PD4 Input
Identitas CCR simulator 25 19 PD5 Input
26 20 PD6 Input 27 21 PD7 Input
28 9 RST Input Reset 29 13 XTAL1 Input Input clock 30 12 XTAL2 Output Output clokc 31 10 VCC VCC Tegangan VCC 32 11 GND Ground Tegangan ground
Seperti telihat pada rangkaian Gambar 3.6 terdapat dua rangkaian yang ada pada mikrokontroler ATmega16, kedua rangkaian tersebut dapat dijelaskan sebagai berikut:
1. Rangkaian osilator.
Mikrokontroler ATmega16 dalam mengeksekusi instruksi memerlukan sumber detak (clock), pada Gambar 3.7 sumber clock yang digunakan berasal
(60)
52 dari kristal dengan frekuensi 11059200 Hz dan dua buah kapasitor sebagai resonator yang memiliki kapasitansi 22pF (lembar data). Adapun rangkaian osilator seperti terlihat pada Gambar 3.7 merupakan rangkaian osilator.
Gambar 3.7. Rangkaian Osilator 2. Rangkaian reset.
Mikrokontroler yang beroperasi cukup lama akan mempengaruhi proses kerjanya, seperti terjadinya ketidaksesuaian antara proses kerja mikrokontroler dengan tujuan pembuatan program, sehingga sewaktu-waktu harus me-reset proses kerja mikrokontroler agar Program Counter (PC) kembali ke alamat awal program.
Mikrokontroler akan melakukan reset jika pada pin 9 (reset) diberikan logika low. Adapun rangkaian reset mikrokontroler seperti yang terlihat pada Gambar 3.8.
Gambar 3.8. Rangkaian Reset.
Pada saat reset aktif besar arus yaitu 0.5 mA, maka nilai R1 ditentukan dengan persamaan sebagai berikut:
Sedangkan nilai C1 ditentukan dengan persamaan sebagai berikut: X1
C1
C2
R1
C3 S1
VCC5V
(61)
3.4.2.2Ra Opto memiliki t 25mA. Pa Maka ran 3.9 merup Untuk me dengan pe Di mana
IF : A
CTR : C ICsat : A Jika nilai persamaan
angkaian O ocoupler ya tegangan fo ada Tabel 3. Ta
gkaian Opt pakan rangk enentukan ersamaan se Arus forward Current Tran Arus saturas IF telah n: Optocoupler ang digunak orward mini 2 merupaka abel 3.2. Pin
No Pin 2 T 3 T 5 T 6 T 8 T
tocoupler y kaian optoco
Gambar 3. besar arus ebagai berik
d yang dipe nsfer Ratio si yang diing
diketahui m
r 6N135 kan dalam p
imum 1.35V an pin Opto n Optocoup
F egangan inpu egangan Gro egangan Gro egangan inpu egangan pos
ang akan d oupler. .9. Rangkai yang dipe kut: erlukan oleh dalam perse gkan. maka besa perancangan V dan arus f ocoupler 6N pler yang Di
Fungsi
ut LED
ound LED
ound
utphoto tran
sitif
dirancang se
an Optocou erlukan oleh
h LED. en (Lihat da
r resistansi
n sistem ya forward ma N135 yang d
igunakan
nsistor
eperti terlih
upler 6N135 h dioda LE
atasheet).
i dapat dit
aitu 6N135, aksimum se digunakan.
hat pada Ga
5
ED dapat d
tentukan de 53 yang ebesar ambar dicari engan
(1)
HASIL DAN PEMBAHASAN
Pengujian Sistem Pengujian Sistem
(2)
HASIL DAN PEMBAHASAN
Hasil Pengujian Sistem Hasil Pengujian Sistem
Tabel 1 Data Hasil Pengukuran Arus Konstan pada Terminal Keluaran
Level
Tegangan Terminal Masukan Volt (V)
Arus Terminal Keluaran miliAmpere (mA)
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
1 24 0 0 0 0 0 0 0 51.1
2 0 24 0 0 0 0 0 0 51.0
3 0 0 24 0 0 0 0 0 51.0
4 0 0 0 24 0 0 0 0 51.0
5 0 0 0 0 24 0 0 0 51.1
6 0 0 0 0 0 24 0 0 51 0
6 0 0 0 0 0 24 0 0 51.0
7 0 0 0 0 0 0 24 0 51.0
(3)
HASIL DAN PEMBAHASAN
Hasil Pengujian Sistem Hasil Pengujian Sistem
Tabel 2 Data Hasil Pengukuran Arus pada CCR Simulator Berdasar Tipe Kerusakan
Tipe
Besar Arus Pada Terminal Keluaran (mA)
Grup Kerusakan
1 2 3 4 5 6 7 8
Tabel 2 Data Hasil Pengukuran Arus pada CCR Simulator Berdasar Tipe Kerusakan
1 2 3 4 5 6 7 8
1 8 51.1 51.1 51.1 51.1 51.1 51.1 51.1
L C t
2 51.1 8.8 51.1 51.1 51.1 51.1 51.1 51.1
Low Current
3 51.1 51.1 15.8 51.1 51.1 51.1 51.1 51.1
4 51.1 51.1 51.1 25.9 51.1 51.1 51.1 51.1
5 51.1 51.1 51.1 51.1 63.6 51.1 51.1 51.1
Over Current
6 51.1 51.1 51.1 51.1 51.1 74 51.1 51.1
7 51.1 51.1 51.1 51.1 51.1 51.1 107.5 51.1 7
8 51.1 51.1 51.1 51.1 51.1 51.1 51.1 130.5
(4)
SIMPULAN
¾ pembuatan perangkat simulasi sistem lampu AFL telah selesai dibuat dan telah diuji untuk mensimulasikan lampu AFL jenisj p j Approachpp .
¾ Program aplikasi AFL Simulator dapat menampilkan tingkat kecerahan
lampu AFL berupa gambar lampu Approach sesuai dengan data yang
di i d i i l TCP/IP d CCR Si l d
diterima dari port serial maupun port TCP/IP dan CCR Simulator dapat mensimulasikan tiga jenis kerusakan lampu Approach yaitu open circuit, low
current, dan over current.
¾ Perangkat CCR Simulator dapat berkomunikasi dengan AFL Simulator
melalui komunikasi serial RS-485 dengan mode full-duplex yang berjarak 20 Meter, dan mampu membaca tegangan input sebesar 24V DC dengan jarak Meter, dan mampu membaca tegangan input sebesar 24V DC dengan jarak 100 Meter dari sumber tegangan PLC.
(5)
(6)