BAB II TEORI DASAR
2.1
Pengukuran Ketinggian Ketinggian merupakan posisi vertikal suatu objek dari titik tertentu yang
berada pada suatu daerah. Ketinggian suatu daerah dipengaruhi oleh suhu dan tekanan udara. Tekanan udara disebabkan oleh gravitasi, dimana udara yang bermassa ditarik untuk berada sedekat mungkin dengan tanah. Sedangkan perubahan tekanan udara disebabkan oleh perbedaan suhu, dimana semakin tinggi suhu udara maka semakin tinggi pula tekanan udara pada daerah tersebut. Maka semakin tinggi suatu daerah, semakin rendah suhu udara yang menyebabkan tekanan udara menjadi rendah. Dengan menggunakan sebuah sensor, ketinggian suatu objek dapat diukur dengan menggunakan data tekanan dan temperatur [1]. Ketinggian dalam satuan meter dapat dihitung dengan rumus barometrik internasional, yaitu [2] : ...................................... 2.1 Keterangan : p
=
tekanan udara pada ketinggian h (hPa)
po
=
tekanan permukaan air laut (1013,25 hPa)
L
=
gradien suhu (0,0065 Kelvin/meter)
h
=
ketinggian (meter)
To
=
suhu standar (15 oC = 288,15 K)
g
=
gaya gravitasi bumi (9,80665 m/s2)
5
6
M
=
massa molar (0,0289644 kg/mol)
R
=
konstanta gas universal (8,31447 J/mol.K)
Sehingga dengan mensubstitusikan nilai konstanta yang ada, maka diperoleh nilai h (meter) : ....................................... 2.2
2.2
Komunikasi Data Pada awal tahun 2000an, para pemasok alat sensor meneliti cara-cara
dalam memperkenalkan standarisasi. Jaringan nirkabel biasanya mengirim ukuran data sederhana yang kecil. Untuk aplikasi dalam gedung, perancang mengesampingkan standar IEEE 802.11b (Wi-Fi / Wireless Fidelity) untuk sensor karena terlalu kompleks dan bandwidth yang besar. Sistem infrared memerlukan line of sight, dimana tidak selalu dapat dicapai. Teknologi bluetooth (IEEE 802.15.1) awalnya dipandang memungkinkan namun segera dianggap kompleks dan mahal. Ini membuka kesempatan bagi standar baru IEEE 802.15.4 bersamaan dengan ZigBee (ZigBee bergerak pada lapisan diatas IEEE 802.15.4). IEEE 802.15.4 beroperasi pada frekuensi 2,4 GHz dan kecepatan transmisi data hingga 250 kbps pada jarak 30 sampai 200 kaki. ZigBee / IEEE 802.15.4 dirancang untuk menyempurnakan teknologi nirkabel seperti bluetooth, Wi-Fi, dan ultra-wideband (UWB) serta aplikasi dimana koneksi kabel tidak memungkinkan, rendah daya dan biaya [3]. Peneliti telah mengembangkan banyak protokol baru khusus untuk wireless sensor network, dimana penggunaan energi merupakan pertimbangan
7
yang penting. Jaringan merupakan komponen yang penting dalam jaringan sensor dan standar mempunyai peranan penting. Tabel 2.1 menunjukkan beberapa protokol lapisan bawah yang diaplikasikan dalam wireless sensor network [3]. Tabel 2.1 Protokol Wireless Sensor Network Lapisan Bawah [3]
Nama standar di penjualan Sasaran jaringan
IEEE 802.11b/g
IEEE 802.15.1
IEEE 802.15.4
2.5G/3G
Wi-Fi
Bluetooth
ZigBee
PAN dan DAN
WSN
Pengganti kabel
Pengawasan dan pengontrolan
WLAN dan hotspot Aplikasi perusahaan (data dan VoIP)
WAN/MAN Suara dan data dalam daerah yang luas
Konsentrasi aplikasi Bandwidth (Mbps) Jarak transmisi (feet) Faktor perancangan
2.2.1
GPRS/GSM 1XRTT/CDMA
0,064 – 0,128 +
11 – 54
0,7
0,020 – 0,25
3000 +
1 – 300 +
1 – 30 +
1 – 300 +
Jangkauan dan kualitas transmisi
Pendukung perusahaan, skabilitas, dan biaya
Biaya, kemudahan dalam penggunaan
Keandalan, daya, dan biaya
Wireless Sensor Network Wireless Sensor Network (WSN) adalah suatu jaringan nirkabel yang
terdiri dari kumpulan simpul sensor yang tersebar di suatu area tertentu (sensor field). Setiap
simpul sensor memiliki kemampuan untuk
mengumpulkan data dan berkomunikasi dengan simpul sensor lainnya [3]. Wireless sensor node merupakan elemen utama dalam sebuah wireless sensor network. Simpul tersebut terdiri atas pendeteksian, pemrosesan, sumber daya, dan komunikasi. Sistem prosesor adalah elemen utama dalam sebuah simpul dan ada beberapa pilihan prosesor, salah satunya adalah mikrokontroler. Beberapa sensor mempunyai built-in Analog-to-Digital
8
Converter (ADC) sendiri yang dapat dihubungkan secara langsung ke prosesor melalui protokol chip-to-chip. Hubungan sistem komunikasi ke sistem prosesor dapat digunakan Serial Peripheral Interface (SPI) serial bus. Beberapa transceiver mempunyai prosesor sendiri untuk melakukan proses sinyal tingkat rendah yang berhubungan dengan physical layer dan data link layer [4].
Gambar 2.1 Arsitektur Wireless Sensor Node [4] Standar IEEE 802.15.4 dibuat untuk alat berdaya rendah yang beroperasi pada frekuensi 868 MHz, 915 MHz, dan 2,45 GHz. Kecepatan data standar ini adalah 20, 40, dan 240 kbps. IEEE 802.15.4 berfokus pada spesifikasi dua lapisan rendah dalam protokol (physical layer dan data link layer) [4].
2.2.1.1
Wireless Sensor Network Physical Layer Sinyal pesan dari sensor merupakan sinyal analog. Sinyal tersebut
adalah sinyal baseband (sinyal yang mempunyai frekuensi mendekati 0) dan harus dikonversi ke sinyal diskrit agar dapat diproses oleh prosesor. Konversi membutuhkan sampling paling sedikit Nyquist Rate (minimum
9
sampling rate menjadi dua kali sinyal bandwidth) sehingga tidak ada informasi yang hilang. Setelah sampling, sinyal diskrit akan dikonversi ke dalam bentuk biner. Proses ini disebut source encoding [4].
Gambar 2.2 Komponen dari Sistem Komunikasi Digital [4] Channel encoding bertujuan untuk memastikan sinyal yang dikirim kuat terhadap derau (noise) dan gangguan. Setelah channel encoding, sinyal akan dimodulasi, proses dimana sinyal baseband diubah menjadi sinyal bandpass. Tujuan utama modulasi adalah untuk mengirim dan menerima sinyal dengan antena yang pendek. Selanjutnya, sinyal yang dimodulasi harus diperkuat dan energi listrik diubah menjadi energi elektromagnetik oleh antena transmitter dan sinyal dipropagasi melalui media nirkabel ke tujuan yang diinginkan [4]. Komponen dari receiver menerima sinyal pesan dari gelombang elektromagnetik. Antena receiver menginduksikan tegangan yang sama dalam bentuk, frekuensi, dan fasa dari sinyal modulasi. Setelah melalui proses penguatan dan penyaringan, sinyal tersebut kemudian diubah
10
menjadi sinyal baseband melalui proses demodulasi dan pendeteksian. Sinyal baseband menjalani proses pembentukan pulsa dan dua tahap decoding (kanal dan sumber) untuk mendapatkan urutan simbol-simbol yang mempresentasikan sinyal analog asli yaitu pesan [4].
2.2.1.2
Wireless Sensor Network Medium Access Control Layer Medium nirkabel digunakan bersama oleh beberapa alat jaringan.
Oleh karena itu, sebuah mekanisme diperlukan untuk mengatur akses ke medium. Ini merupakan tugas lapisan kedua yaitu data link layer. Berdasarkan referensi IEEE 802, lapisan ini dibagi menjadi logical link control layer dan medium access control layer. Medium Access Control (MAC) layer beroperasi langsung diatas physical layer. Fungsi utama MAC layer adalah untuk menentukan kapan sebuah simpul dapat mengakses medium dan untuk menyelesaikan konflik antara simpulsimpul. MAC layer juga bertanggung jawab atas memperbaiki kesalahan komunikasi (communication error) yang terjadi pada physical layer dan menjalankan aktivitas lain seperti framing, addressing, dan flow control [4].
2.2.2
ZigBee ZigBee mempunyai elemen yang sama dengan Open System
Interconnection (OSI) layer yaitu physical, MAC, dan network (NWK) layer. Sedangkan untuk transport, session, presentation, dan application layer diatur di dalam Application Support (APS) layer dan ZigBee Device
11
Object
(ZDO)
layer.
Seperti
spesifikasi
IEEE
802.15.4,
ZigBee
menggunakan dua Service Access Point (SAP) setiap lapisan, dimana satu untuk data dan satu untuk pengaturan. Sebagai contoh, semua komunikasi data dari dan ke jaringan melewati Network Layer Data Entity Service Access Point (NLDE-SAP) [5]. IEEE 802.15.4 mendefinisikan dua lapisan paling bawah, yaitu Medium Access Control (MAC) layer dan physical layer. Physical layer menerjemahkan paket menjadi gelombang elektromagnetik dan sebaliknya. MAC layer menyediakan konsep dari jaringan, termasuk Personal Area Network Identity (PAN ID), dan beberapa perintah untuk menghubungkan dan membentuk jaringan. Arsitektur ZigBee dapat dilihat pada gambar 2.3 [5].
Gambar 2.3 ZigBee dan IEEE 802.15.4 [5] NWK layer bertanggung jawab atas jaringan mesh dimana mencakup pengiriman paket ke jaringan, menentukan jalur untuk pengiriman paket ke
12
satu tujuan, dan memastikan paket terkirim dari simpul ke yang lain. APS layer bertanggung jawab atas menyaring dan membuang paket untuk endpoint (sebuah jalur maya yang menghubungkan simpul, satu simpul mempunyai 240 endpoint) yang tidak ada di simpul, paket yang tidak sesuai dengan identitas, serta paket duplikat. ZDO layer bertanggung jawab atas pengaturan jaringan lokal dan nirkabel, pencarian simpul lain dan layanan dalam jaringan, serta bertanggung jawab atas status dari simpul itu sendiri di jaringan [5].
2.2.2.1
ZigBee Frame Sebuah paket data ZigBee yang lengkap terdiri dari MAC, NWK,
APS, dan ZigBee Cluster Library (ZCL) frame yang dapat dilihat pada gambar 2.4. Lapisan yang lebih tinggi berada di dalam lapisan yang lebih rendah sehingga NWK frame berada di dalam MAC frame dan seterusnya [5].
Gambar 2.4 ZigBee Data Frame [5] Ukuran dari setiap frame tergantung pada parameter. MAC frame diakhiri dengan Frame Check-Sum (FCS) yang berfungsi untuk memastikan bit data benar. NWK frame diakhiri dengan NWK Auxiliary Message Integrity Code (MIC) opsional yang berfungsi mencegah
13
siapapun untuk mengubah paket. NWK Auxiliary Header dan NWK MIC ada hanya pada jaringan yang aman [5].
Gambar 2.5 ZigBee MAC dan NWK Header [5] MAC dan NWK keduanya mempunyai alamat tujuan dan sumber. Sebagai contoh, simpul A mengirim paket ke simpul F. Pengiriman pertama adalah dari A ke B, berikutnya adalah B ke C dan seterusnya. Sumber dan tujuan MAC akan berubah sesuai dengan perjalanan sedangkan alamat sumber dan tujuan NWK tidak [5].
2.2.3
Serial Data Communication RS-232 adalah standar komunikasi serial yang didefinisikan sebagai
antarmuka antara perangkat terminal data (Data Terminal Equipment atau DTE) dan perangkat komunikasi data (Data Communication Equipment atau DCE) menggunakan pertukaran data biner secara serial. Tx (transmit data) adalah sebuah keluaran pada DTE dan sebuah masukan pada DCE, sedangkan Rx (receive data) adalah sebuah masukan pada DTE dan sebuah keluaran pada DCE [6].
14
Tabel 2.2 Pin DB 9 dan DB 25 [6] Nomor pin (9 pin D-sub)
Nomor pin (25 pin D-sub)
Sinyal
Sumber
Tipe
Deskripsi
1
8
CD
DCE
Kontrol
Carrier detect
2
3
Rx
DCE
Data
Receive data
3
2
Tx
DTE
Data
Transmit data
4
20
DTR
DTE
Kontrol
Data terminal ready
5
7
SG
–
–
Signal ground
6
6
DSR
DCE
Kontrol
Data set ready
7
4
RTS
DTE
Kontrol
Request to send
8
5
CTS
DCE
Kontrol
Clear to send
9
22
RI
DCE
Kontrol
Ring indicator
-
1, 9 – 19, 21, 23 – 25
Tidak digunakan
–
–
–
Gambar 2.6 RS-232 to USB menggunakan FT232R [6] Ferrite bead adalah sebuah komponen pasif yang digunakan untuk meredam derau frekuensi tinggi. Ferrite bead diserikan dengan catu daya USB untuk mencegah derau dari alat dan interferensi elektromagnetik yang
15
diradiasikan ke kabel USB. Tx membawa data dari DTE ke DCE sedangkan Rx membawa data dari DCE ke DTE. DCE menyatakan CTS (Clear To Send) ketika siap untuk menerima data dan DTE menyatakan RTS (Request To Send) ketika siap untuk menerima data. Sebelum mengirim, komputer membaca keluaran flow control komputer lain. Jika keadaan sinyal mengindikasikan bahwa penerima belum siap menerima data, maka pengirim menunggu [6]. Transfer data Universal Serial Bus (USB) rentan terhadap delay yang tidak biasanya muncul pada sistem yang digunakan untuk transfer data menggunakan interupsi. Bandar Communication (COM) pada Personal Computer (PC) berhubungan langsung dengan motherboard dan bebas dari interupsi. Ketika sebuah karakter dikirim atau diterima, Central Processing Unit (CPU) akan diinterupsi dan menuju ke rutin untuk mengurus data tersebut. Ini berarti dengan baud rate dan kecepatan data tertentu, transfer data dapat dicapai tanpa memerlukan flow control. Dengan begitu, data dapat ditransfer tanpa menggunakan handshaking dan tetap sampai pada PC tanpa kehilangan [7]. Data diterima dari USB ke PC dengan metode polling. Driver akan meminta jumlah data tertentu dari USB scheduler. Hal ini dilakukan dalam perkalian 64 byte. Ukuran paket terbesar dari USB adalah sebuah maksimum dari 64 byte. Driver akan membaca data dari alat baik sebuah paket dengan ukuran lebih kecil dari 64 byte diterima atau panjang ukuran data yang diminta telah tercapai. Ukuran paket akan mempengaruhi kinerja
16
dan tergantung pada kecepatan data. Untuk kecepatan yang sangat tinggi, ukuran paket terbesar diperlukan [7].
2.3
Mikrokontroler 2.3.1
Arsitektur Mikrokontroler Secara sederhana dapat disebutkan bahwa mikrokontroler adalah
mikroprosesor yang dilengkapi dengan periferal dan peralatan pendukung yang tidak dimiliki mikroprosesor. Mikrokontroler menerapkan arsitektur Harvard yang menyimpan program dan data dalam memori yang terpisah. Dengan arsitektur Harvard ini, penjemputan instruksi dapat dilaksanakan secara bersamaan dengan pemindahan data. Terdapat beberapa produsen mikrokontroler, antara lain : Intel dengan rumpun MCS-51 dan AVR, Motorola dengan rumpun MC68HC, National dengan rumpun COP8, Mikrochip dengan rumpun PIC, yang masing-masing juga ditawarkan dalam puluhan tipe, mulai dari yang sederhana sampai dengan yang sudah kompleks. Mikrokontroler ini juga sudah dibuat dalam teknologi Reduced Instruction Set Computer (RISC) dan RISC-like, dimana satu instruksi dapat dilaksanakan dalam satu periode penabuh (clock) dasar [8]. Secara umum, terdapat tujuh komponen dalam mikrokontroler, yaitu [8] : 1. Prosesor (CPU) Prosesor (CPU) melaksanakan penjemputan instruksi dari memori, mendekodekan dan menjalankannya serta mengarahkan perpindahan data antar register atau antara register dengan memori. Register dalam
17
mikrokontroler pada umumnya dipetakan sebagai memori atau Random-Access Memory (RAM). Semua kegiatan ini diserempakkan oleh penabuh (clock) yang dibangkitkan oleh pembangkit penabuh (Clock Generator) yang dicatu oleh osilator kristal, Resistor-Capasitor (RC) atau sumber luar.
Gambar 2.7 Komponen Mikrokontroler [8] 2. Read-Only Memory (ROM) ROM digunakan untuk menyimpan data yang bersifat permanen. Dalam mikrokontroler, program disimpan dalam ROM, Electrically Erasable Programmable Read-Only Memory (EEPROM) atau Flash ROM. Ada mikrokontroler yang dapat ditambah ROM eksternal di luar serpih mikrokontroler. Dalam beberapa mikrokontroler, EEPROM juga digunakan untuk menyimpan data. 3. Random-Access Memory (RAM) RAM digunakan untuk menyimpan data yang bersifat sementara. Dalam kebanyakan mikrokontroler, RAM yang tersedia sangat sedikit
18
dan sebagian dari RAM digunakan sebagai register prosesor, dikatakan register dipetakan sebagai memori. 4. Pewaktu Pewaktu (timer) adalah counter (pencacah) yang digunakan untuk membangkitkan pulsa atau deretan pulsa pada saat-saat tertentu atau dengan frekuensi tertentu. Pulsa ini digunakan sebagai interupsi internal untuk memulai atau mengakhiri kegiatan tertentu. Dalam kebanyakan mikrokontroler, pencacah ini adalah pencacah naik, berbeda dengan pencacah turun yang diterapkan dalam sistem mikroprosesor. 5. Bandar Input/Output (I/O) Bandar I/O (I/O ports) yang dipetakan sebagai memori terdiri atas bandar paralel dan bandar seri yang pada umumnya mempunyai kemampuan tristate. Arah aliran bandar data pada umumnya dipilih melalui register arah (Data Direction Register atau DDR). 6. Interupsi Interupsi dapat dibedakan atas interupsi perangkat lunak yang dibangkitkan oleh instruksi interupsi yang ditanamkan dalam program dan interupsi perangkat keras yang dibangkitkan oleh sinyal perangkat keras baik yang berasal dari sumber internal seperti pewaktu atau sumber eksternal dari bandar seri atau paralel. Masing-masing interupsi ini dapat dihalang (masked) atau dimampukan (enabled) tersendiri melalui bit tertentu dan pada umumnya dapat juga dikendalikan secara menyeluruh melalui bit tertentu yang disebut bit
19
General Interrupt Enable (GIE) dalam register status. Di samping itu ada juga interupsi yang tidak dapat dihalang (unmaskable). 7. Bus Bus adalah saluran yang membawa sinyal-sinyal perangkat keras. Sebagaimana dalam mikroprosesor, bus dibedakan atas bus data, alamat, dan kontrol. Bus data membawa data antara register dan memori atau I/O. Ukuran bus ini menunjukkan ukuran data (bit) yang disimpan dalam setiap register atau memori. Bus alamat menunjuk nomor alamat memori dari/ke mana data disimpan. Ukuran bus ini menunjukkan ukuran memori yang dapat diakses prosesor. Bus kontrol membawa sinyal-sinyal yang mengendalikan kegiatan sistem termasuk di dalamnya sinyal-sinyal pewaktuan dan interupsi. Bus data dan bus alamat bersifat dua arah sedangkan bus kontrol bersifat satu arah.
2.3.2
Universal Asynchronous Transmitter / Receiver Universal Asynchronous Transmitter / Receiver (UART) adalah bagian
dari sebuah perangkat keras atau integrated circuit yang digunakan dalam komunikasi serial antara komputer atau periferal. UART mengkonversi data diantara bentuk paralel dan serial. UART biasanya sudah termasuk ke dalam mikrokontroler [9]. Setiap byte data terdiri atas bit start (rendah), 8 bit data (least significant bit first), dan bit stop (tinggi). Bit start memberi sinyal kepada penerima bahwa terdapat data baru yang masuk. Jika terdapat bit parity yang digunakan, bit tersebut akan diletakkan setelah bit data. Baud rate, parity,
20
bit start, banyaknya bit stop dan bit data harus dikonfigurasi diantara dua UART untuk berkomunikasi [10].
Gambar 2.8 Paket Data UART [10]
2.3.3
Inter-Integrated Circuit Inter-Integrated Circuit (I2C) adalah bus serial sinkron half-duplex.
I2C mempunyai 2 bidirectional bus, yaitu Serial Clock (SCL) dan Serial Data Analyzer (SDA). Setiap induk menghasilkan sinyal penabuh masingmasing sehingga alat-alat yang berkomunikasi harus sinkronisasi kecepatan penabuh mereka. Jika tidak, budak yang lambat dapat salah mendeteksi alamatnya pada bus SDA sementara induk yang cepat sedang mengirim data ke alat ketiga [4].
2.4
Pemrograman Scilab adalah perangkat lunak open source dan cross-platform dengan
paket komputasi numerik dan bahasa pemrograman tingkat tinggi berbasis numerik. Scilab dapat digunakan untuk pemrosesan sinyal, analisis statistik, peningkatan gambar, simulasi cairan dinamis, optimisasi numerik, pemodelan
21
dan simulasi sistem dinamis, dan manipulasi simbolik. Scilab adalah alternatif open source yang lengkap dari Matlab [11]. Scilab memuat ratusan fungsi matematis. Beberapa fungsi yang ada di dalam scilab [11] : •
Matematika dan simulasi untuk aplikasi teknik dan sains umum termasuk operasi matematis dan analisis data.
•
Visualisasi dua dimensi dan tiga dimensi yaitu fungsi grafis untuk menggambarkan dan menjelaskan serta membuat dan menyesuaikan berbagai macam jenis plot dan grafik.
•
Rancangan dan analisis sistem kontrol.
•
Pemrosesan sinyal menggambarkan, menganalisis dan menapis sinyal dalam domain waktu dan frekuensi.
•
Xcos – pemodelan dan simulasi sistem dinamis seperti pemodelan sistem mekanik, rangkaian hidrolik.
Sistem operasi yang dapat digunakan untuk scilab 5.5.1 yaitu [12] : •
Windows : 32-bit dan 64-bit untuk Windows XP, Windows Vista, Windows 7, dan Windows 8.
•
Mac OS dengan perangkat lunak java 6 : Mac OS X 10.6.x (Snow Leopard), Mac OS X 10.7.x (Lion), Mac OS X 10.8.x (Mountain Lion), Mac OS X 10.9.x (Mavericks), dan Mac OS X 10.10.x (Yosemite).
•
GNU/Linux : 32-bit dan 64-bit untuk CentOS, Debian, Redhat, Fedora, Suse, dan Ubuntu.