7
BAB 2 LANDASAN TEORI
2.1
GPS GPS (Global Positioning System) merupakan satu-satunya sistem navigasi satelit
yang dapat berfungsi sepenuhnya untuk saat ini (Brain & Harris, Mei 2006). Konfigurasi dari 24 buah lebih satelit yang memancarkan sinyal RF ke receiver GPS, memungkinkan GPS untuk menentukan posisinya dalam posisi derajat lintang (latitude) dan bujur (longitude). GPS pertama kali berhasil dibuat pada tahun 1960. GPS menggunakan 24 buah satelit MEO (Medium Earth Orbit) yang mengorbit secara circular. Orbit tersebut diatur sedemikian rupa sehingga minimal 4 satelit selalu berada pada satu garis pandang atau LOS (line of sight) dari hampir semua tempat di muka bumi. Setiap satelit mengelilingi bumi dua kali dalam 24 jam dengan ketinggian 20.200 km. Terdapat 6 buah orbit dengan masing-masing orbit ditempati 4 satelit. Orbit-orbit satelit-satelit ini dipantau dari lima stasiun pemantau di bumi, yaitu Hawaii, Kwajalein, Ascension Island, Diego Garcia, Colorado Springs. Pusat kendali utama berada pada Schriever AFB. Satelit GPS menyiarkan tiga jenis data dalam sinyal navigasi utamanya. (Anonim, 2006). Pertama adalah almanac yang berisi informasi waktu serta status dari satelit-satelit yang ada. Kedua adalah ephemeris, yang berisi informasi orbital satelit GPS tersebut, sehingga memungkinkan bagi receiver untuk menghitung posisi dari satelit. Jenis data ketiga yang disiarkan satelit GPS adalah kode C/A. Kode C/A ini dapat
8 dibangkitkan sendiri oleh receiver. Kode C/A yang didapat dari satelit inilah yang dibandingkan dengan kode C/A yang dibangkitkan oleh receiver GPS, dan dilihat selisih waktu pada saat raising dan trailing edge. Selisih waktu ini kemudian dikalikan dengan faktor kecepatan sinyal (mendekati kecepatan cahaya), dan menghasilkan nilai jarak. Nilai jarak ini adalah jarak dari receiver ke satelit GPS yang mengirimkan kode C/A tersebut. Jika jarak masing-masing empat atau lebih satelit dan posisi satelit diketahui (beserta tinggi satelit dari permukaan bumi), maka koordinat dan tinggi (dari atas permukaan laut) receiver sendiri dapat diketahui juga dengan transliteration.
Gambar 2.1 GPS Transliteration
Merupakan sifat gelombang elektromagnetik (yang membawa sinyal GPS tersebut) yang tidak selalu sama kecepatannya bila bergerak di awan, udara maupun ruang hampa. Oleh karena itu, mungkin saja terjadi kesalahan dalam perhitungannya dimana waktu tempuh sinyal menjadi bertambah dan mengakibatkan jarak receiver ke satelit dianggap lebih jauh dari yang sebenarnya. Hal demikian mengakibatkan sistem GPS tidak dapat menentukan koordinat dengan benar-benar tepat. Terdapat sedikit
9 toleransi kesalahan. Sistem GPS merupakan sistem yang cukup dapat diandalkan dengan ketelitian penentuan lokasi hingga 15 meter. Artinya, hasil baca GPS dari satelit memberikan output koordinat yang toleransinya bisa terjadi penyimpangan maksimum 15 meter dari koordinat sebenarnya di bumi.
Gambar 2.2 Ketelitian GPS
Gambar 2.3 Modul GPS EG-T10
10 Salah satu contoh modul GPS adalah modul EG-T10 seperti tampak pada Gambar 2.3. Modul GPS ini adalah modul OEM (Original Equipment Manufacture) yang tidak memiliki kemasan. Modul ini ditujukan untuk penggunaan embedded. EGT10 memiliki level tegangan TTL. Output hasil pembacaan dari satelitnya dikeluarkan dari pin Tx. Beberapa pin yang penting dari modul GPS EG-T10 ini antara lain: Pin
Nama
Keterangan
1
ANT_PWR
Suplai tegangan bagi antena aktif
2
VCC
Catu daya DC masukan
5
PBRES
Pin reset. Aktif jika low.
11
TXA
Output data serial (UART)
12
RXA
Input data serial (UART)
10,13,16,18
GND
Ground
Tabel 2.1 Beberapa pin penting dari modul GPS EG-T10
Modul EG-T10 menggunakan standar NMEA 0813 versi 2.0 sebagai protokol output data hasil positioning.
2.2
Sistem Koordinat Geografis Sistem koordinat geografis menjelaskan keberadaan setiap titik di permukaan
bumi dengan koordinat lintang dan bujur. (Anonim, 2007). Lintang adalah sudut yang dibuat dari pusat bumi terhadap garis khatulistiwa, dimulai dari 0° di khatulistiwa hingga 90° di kutub utara/selatan. Bujur adalah sudut yang dibuat dari pusat bumi terhadap garis
11 Prime Meridian, dari 0° pada Prime Meridian hingga kurang dari 180° belahan bumi barat dan kurang dari 180° belahan bumi timur. Berikut ilustrasinya:
Gambar 2.4 Ilustrasi derajat lintang dan bujur
2.2.1
Presentasi Koordinat Terdapat tiga cara untuk merepresentasikan sebuah koordinat.
a. DM – merepresentasikan sebuah koordinat dengan derajat dan menit (dan fraksi menitnya). Output dari GPS umumnya menggunakan format ini. b. DMS – merepresentasikan sebuah koordinat dengan derajat, menit, dan detik. c. D – merepresentasikan sebuah koordinat dengan derajat dan fraksinya dalam desimal. Format yang lebih mudah untuk diproses di komputer karena cukup menggunakan tipe data Double.
12 Contoh: Sebuah titik dengan koordinat dalam format DMS adalah 16°10’15” LS 106°20’20” BT Jika direpresentasikan dalam bentuk DM, maka menjadi 16°10,25’ LS (dimana 15/60=0,25) 106°20,33’ BT (dimana 20/60=0,33) Dalam bentuk D, koordinat tersebut menjadi 16,17083° LS (dimana (10x60+15)/3600=0,17083) 106,33889° BT (dimana (20x60+20)/3600=0,33889) 2.2.2
Konversi Jarak dan Koordinat Panjang lingkar meridional (utara-selatan) 40.007,86 km, dan panjang lingkar
ekuatorial (khatulistiwa) adalah 40.075,02 km. (Kirvan, 1997). Dengan perhitungan sederhana, maka didapatkan: Jarak yang diwakili 1° bujur = 40.075,02/360 = 111,3195km (di ekuator) Jarak yang diwakili 1° lintang = 40.007,86/360 = 111,1329km Jarak yang diwakili oleh derajat lintang selalu sama untuk derajat bujur berapapun. Sedangkan jarak yang diwakili oleh satu derajat bujur tidak sama pada
13 derajat lintang yang berbeda. Misalkan untuk di lintang 0° (khatulistiwa), satu derajat bujur mewakili 111,3195 km. Namun untuk lintang 60°, di mana panjang lingkar bujur menjadi lebih pendek, satu derajat bujur tidak mewakili 111,3195 km lagi. Rumusan untuk menghitung jarak yang diwakili oleh satu derajat bujur adalah: Jarak = 111,3195 × cos(y) Dengan:
y = derajat lintang di mana lingkar bujur itu berada Jarak dalam km.
Contoh: Untuk lintang 60°, maka jarak yang diwakili oleh setiap derajat bujur adalah: 111,3195 x cos(60) = 55,65975km ≈ 55,66km
Menghitung jarak antara dua koordinat di bumi relatif sulit jika ingin menghitung secara detil, karena faktor yang harus dipertimbangkan adalah kurva yang terbentuk akibat bentuk bumi yang bulat, serta tidak konsistennya jarak yang diwakili oleh setiap derajat bujur pada derajat lintang tertentu. Untuk menghitung secara kasar, dapat dilakukan dengan menghitung jarak lintang antara dua titik, kemudian untuk menghitung jarak per derajat bujurnya dapat diambil dari rata-rata lintangnya. Jarak lintang dan jarak bujur kedua titik tersebut kemudian dimasukkan ke dalam rumus Pythagoras untuk dihitung jaraknya. Metode ini relatif lebih sederhana dan dapat diterapkan untuk menghitung jarak antar dua titik yang tidak terlalu jauh. Semakin jauh kedua titiknya, maka kesalahan perhitungan akan semakin besar.
14
Gambar 2.5 Perhitungan Jarak Sederhana 2.3
NMEA 0183 NMEA 0183 adalah protokol yang didefinisikan oleh National Marine
Electronics Association Amerika. Protokol ini meliputi kelistrikan dan spesifikasi data untuk komunikasi antara perangkat elektronik marine, dan umumnya receiver GPS. Untuk spesifikasi data, standard NMEA 0183 menggunakan ASCII sebagai basis dari paket datanya (bisa disebut juga sentence, atau message). Sedangkan untuk komunikasi datanya digunakan komunikasi serial. Ketentuan-ketentuan dari paket data NMEA 0183 adalah: a. Setiap paket dimulai dengan tanda dolar ($) b. Lima karakter berikutnya menandakan tipe dari paket/message tersebut. c. Semua field data dipisah oleh tanda koma. d. Field data terakhir kemudian diakhiri dengan tanda bintang (*) e. Dua digit checksum mengikuti tanda bintang tersebut f. Akhir dari paket adalah karakter Carriage Return dan Line Feed
15 Contoh:
Gambar 2.6 Contoh Sentence NMEA 0183 Sentence NMEA 0183 yang sering digunakan adalah tipe GPGGA. Tipe ini adalah tipe yang didukung oleh GPS receiver generik maupun receiver high-end pada umumnya. Format sentencenya adalah 1
2
3 4
5 6 7
8
9
10 |
|
|
| |
| | |
|
|
| |
12 13 | |
14
15
|
|
$GPGGA,hhmmss.ss,ddmm.mmmm,a,dddmm.mmmm,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxxx*hh
Nomor Field: 1) Waktu pada GMT 2) Derajat lintang. Dalam format DM. 3) N atau S (Utara atau Selatan) 4) Derajat bujur. Dalam format DM. 5) E atau W (Timur atau Barat) 6) Indikator kualitas posisi fix GPS, 0 – tidak fix (masih starting), 1 - GPS fix, 2 - Differential GPS fix (nilai di atas 2 adalah fitur NMEA 0183 2.3) 3 = PPS fix 4 = Real Time Kinematic 5 = Float RTK 6 = estimated (dead reckoning) 7 = Manual input mode
16 8 = Simulation mode 7) Jumlah satelit dalam pandangan, 00 - 12 8) Horizontal Dilution of precision (meter) 9) Tinggi antena di atas/bawah permukaan laut rata-rata (geoid) (dalam meter) 10)
Unit ketinggian antena, meter
11)
Geoidal
separation,
the
difference
between
the
WGS-84
earth
ellipsoid and mean-sea-level (geoid), "-" means mean-sea-level below ellipsoid 12)
Unit geoidal separation, meter
13)
Age of differential GPS data, time in seconds since last SC104
type 1 or 9 update, null field when DGPS is not used 14)
ID Stasiun referensi DGPS , 0000-1023
15)
Checksum
2.4
Mikrokontroler Mikrokontroler dapat dikatakan sebagai ”komputer dalam satu chip”. Sebuah
mikrokontroler mengandung CPU (Central Processing Unit), memory (RAM untuk memori data, dan ROM untuk memori program), clock generator sebagai pemacu mikrokontroler untuk beroperasi, dan kontroler I/O untuk keperluan input dan output. Mikrokontroler adalah perangkat yang dapat diprogram dan relatif murah untuk digunakan dalam aplikasi pengontrolan. Terdapat banyak jenis mikrokontroler di pasaran, yang berbeda satu sama lain dalam hal kecepatan, memori, banyaknya I/O, dan beberapa memiliki fungsi khusus. Terdapat dua keluarga mikrokontroler yang banyak digunakan dan dengan mudah didapatkan di Indonesia, khususnya Jakarta, yaitu keluarga MCS51 dan AVR.
17 2.4.1
MCS51 Merupakan sebutan untuk mikrokontroler keluarga 8051. Termasuk di dalamnya
AT89S51, AT89S52, dan sebagainya. IC mikrokontroler MCS51 yang banyak tersedia di pasaran adalah AT89S52. Dengan fitur sebagai berikut:
Keluarga CISC 8-bit
Maksimum Throughput 1 MIPS pada clock 12MHz
Satu port UART
Instruction Set sama dengan 8051
2.4.2
AVR Merupakan sebutan untuk keluarga mikrokontroler RISC AVR. Mikrokontroler
ini dikembangkan oleh Atmel Corporation. Salah satu contoh IC mikrokontroler AVR ini adalah Atmega162, dengan fitur:
Keluarga RISC 8-bit.
Maksimum Throughput 12 MIPS pada clock 12MHz.
Dua port USART (komunikasi serial secara sinkron maupun asinkron).
Instruction set AVR.
Pin Change Interrupt.
Dua Timer 8 bit dan dua Timer 16 bit.
18 2.5
Atmel ATMEGA162 Atmel Corporation membagi-bagi mikrokontroler AVRnya ke dalam kelas
ATmega dan ATtiny berdasarkan kemampuan dan fitur khusus yang dimiliki setiap mikrokontroler. Berikut ini adalah sedikit ulasan tentang cara penggunaan beberapa fitur khusus yang dimiliki oleh ATMEGA162. 2.5.1
USART USART merupakan singkatan dari Universal Synchronous and Asynchronous
serial Receiver Transmitter. USART merupakan suatu device komunikasi serial yang sangat fleksibel. ATMega162 mempunyai dua buah port USART yang mempunyai 2 buah register I/O yang terpisah sehingga kedua USART dapat digunakan secara simultan. Masing-masing USART mempunyai sebuah 8-bit register data yang disebut sebagai UDRx. Data yang ingin dikomunikasikan akan disimpan pada UDRx yang kemudian akan di-shift keluar secara serial (per-bit) melalui pin TXDx pada mikrokontroller ATMega162. Setelah semua bit data yang ada pada UDRx telah di-shift keluar, maka flag TXC akan di-set secara otomatis dan 8 bit data selanjutnya dapat mulai dikirimkan dengan cara menyimpannya di UDRx. Mode asynchronous pada USART disebut juga dengan UART. Yang membedakan antara synchronous dan asynchronous hanyalah pengunaan clocknya(XCK). Pada mode synchronous, komunikasi bergantung pada clock, sedangkan pada mode asynchronous tidak. Begitu pula pada saat data diterima, flag RXC akan di-set begitu bit kedelapan diterima. 8-bit data yang diterima akan disimpan pada UDRx dan menunggu untuk dibaca. Flag status seperti Frame Error, Data OverRun dan Parity Error harus
19 dibaca sebelum UDRx dibaca karena flags tersebut hanya valid sebelum UDRx dibaca. UDRx akan segera di-clear begitu dibaca sekali. Terdapat 5 register utama yang berhubungan dengan USART pada ATMega162. register register tersebut adalah sebagai berikut: •
USART I/O Data Register USART I/O Data register adalah register yang berfungsi untuk menampung data yang akan dikirim keluar melalui pin TXDx maupun data yang telah diterima melalui pin RXDx.
•
USART Control and Status Register A (UCSRA) UCSRA merupakan register yang terdiri dari bit status maupun kontrol seperti, bit status Transmit Complete (TXC), Receive Complete (RXC), USART Data Register Empty (UDRE), Data OverRun (DOR), Frame Error (FE), Parity Error (UPE). Dan bit kontrol USART Double Speed (U2X) dan Multi-Processor Communication Mode (MPCM). RXC adalah bit status yang akan di-set bila data telah diterima pada data register UDR. Begitu pula TXC, TXC merupakan bit status yang akan di-set bila data yang ada pada UDR telah dikirim seluruhnya. UDRE akan selalu bernilai satu bila UDR tidak berisi data, keadaan ini juga mengindikasikan bahwa USART siap menerima data melalui RXD. UDRE akan secara otomatis di-clear begitu terdapat data pada UDR dan belum di-shift keluar melalui TXD. Beberapa bit status lainnya yang berhubungan langsung dengan paket data yang diterima adalah FE, UPE dan DOR. Frame Error (FE) merupakan bit yang akan di-set
20 bila terdapat frame error pada data yang diterima di UDR. Frame error biasanya terjadi bila stop bit yang diterima bukan 1 melainkan 0. sedangkan Parity Error (UPE) akan di-set bila terdapat error pada parity bit. Data OverRun akan di-set bila buffer data penuh dan masih ada data yang menunggu untuk diterima. •
USART Control and Status Register B (UCSRB) UCSRB terdiri dari bit kontrol RX Complete Interrupt Enable (RXCIE), TX Complete Interrupt Enable (TXCIE), USART Data Register Interrupt Enable (UDRIE), Receive Data Bit 8 (RXB8), Transmit Data Bit 8 (TXB8), Character Size (UCSZ2), Receiver Enable (RXEN) dan Transmit Enable(TXEN). RXCIE, TXCIE dan UDRIE merupakan bit kontrol yang berfungsi untuk mengaktifkan interrupt bila di-set. RXCIE berfungsi untuk mengaktifkan interrupt yang akan di-trigerred bila data telah diterima di UDR, sedangkan TXCIE untuk interrupt bila data pada UDR telah dikirim dan UDRIE untuk interrupt bila bit UDRE diset. TXB8 dan RXB8 adalah bit yang akan digunakan untuk menampung bit ke 8 bila mode data 9-bit digunakan. RXEN dan TXEN adalah bit yang berfungsi untuk mengaktifkan Receiver dan Transmitter USART bila di-set. UCSZ2 dan UCSZ1:0 pada UCSRC merupakan bit yang berfungsi untuk mengatur mode panjang data.
•
USART Control and Status Register C (UCSRC) UCSRC merupakan register yang mengatur mode komunikasi (synchronous dan asynchronous) dan parameter parameter seperti panjang bit data, banyaknya stop bit, dan jenis parity yang digunakan. UCSRC mempunyai alamat yang sama dengan UBRR (register yang berfungsi untuk baud rate), oleh karena itu terdapat
21 bit URSEL yang berfungsi untuk memilih antara UBRR dan UCSRC. Bit URSEL harus di-set bila ingin menulis UCSRC. •
USART Baud Rate Register (UBRR) UBRR merupakan register yang berfungsi untuk menentukan Baud Rate USART. Rumusan untuk menghitung UBRR pada mode asynchronous dengan normal speed sebagai berikut:
UBRR = 2.5.2
fosc −1 16 BAUD
Timer 8-bit
Timer 8 bit ATMega162 mempunyai 5 buah register, yaitu Timer/Counter Control Register (TCCR), Timer Counter Register (TCNT), Output Compare Register
(OCR),
Timer/Counter
Interrupt
Mask
Register
(TIMSK)
dan
Timer/Counter Interrupt Flag Register (TIFR). TCNT merupakan register yang diincrement setiap waktu sesuai dengan lamanya interval yang ditentukan sebelumnya melalui TCCR. OCR merupakan register yang di-set sebelumnya untuk dibandingkan dengan TCNT. TCCR merupakan register yang berfungsi untuk mengatur mode timer dan interval increment. TIFR adalah register yang berfungsi sebagai flag untuk mengindikasikan adanya timer overflow ataupun output compare. TIMSK adalah register yang berfungsi untuk memilih jenis interrupt timer yang akan digunakan. 2.5.3
Pin Change Interrupt
Pin change interrupt adalah jenis interrupt yang akan di-trigerred bila terjadi perubahan nilai pada pin-pin yang telah dipilih sebelumnya. Untuk mengaktifkan
22 interrupt ini maka harus dilakukan pengaturan jenis perubahan yang akan memicu interrupt ini pada MCU Control Register (MCUCR) dan pengaktifannya secara global melalui General Interrupt Control Register (GICR).
2.6
RF Modem
RF Modem (Radio Frequency Modulator Demodulator) adalah perangkat endto-end yang berfungsi untuk mengirim dan menerima informasi dengan menggunakan transmisi nirkabel melalui medium udara dengan frekuensi RF. RF Modem memodulasi data yang akan dikirimkan ke dalam sinyal analog carrier, kemudian mengirimkannya lewat antena. Modulasi adalah proses menumpangkan data pada gelombang carrier, sedangkan Demodulasi adalah menguraikan sinyal data dari sinyal carrier. RF modem merupakan alat modulasi dan demodulasi yang menggunakan Radio Frequency sebagai medianya. Modulasi terbagi menjadi dua jenis, yaitu modulasi digital dan modulasi analog. Contoh modulasi analog adalah Phase Modulation, Frequency Modulation, Amplitude modulation, Sigma Delta modulation, dan lain lain. Sedangkan contoh modulasi digital adalah Phase Shift Keying, Frequency Shift Keying, dan Amplitude Shift Keying. Gambar dari beberapa modulasi digital ke analog adalah sebagai berikut :
23
Gambar 2.7 Jenis-jenis modulasi (Stallings, 2004) Salah satu contoh dari RF modem adalah 24XStream yang diproduksi oleh MaxStream. RF modem ini hadir dalam berbagai interface output, namun versi OEM juga diproduksi oleh MaxStream. RF modem ini memiliki jangkauan 3 hingga 10 mil dengan menggunakan frekuensi 2.4GHz.
2.7
MaxStream 24XStream
Gambar 2.8 Modul RF modem 24XStream
24 24XStream adalah modul RF modem yang dikembangkan oleh MaxStream. RF modem ini beroperasi pada frekuensi 2.4GHz yang merupakan pita frekuensi tanpa lisensi hampir di seluruh dunia. 24XStream memiliki pinout yang hampir sama dengan modem pada umumnya. Level tegangan dari RF modem yang digunakan (24Xstream) adalah level tegangan TTL, yaitu 0-5Vdc. No. Pin 1 2 3 4
Nama
Arah
Keterangan
CTS SLEEP DO (data out) DI (data in)
Output Input Output Input
5
RTS/CMD
Input
6
RESET
Input
7
RX_LED
Output
8
PWR_LED
Output
9
CONFIG
Input
10 11
VCC GND
Input -
Aktif jika LOW Aktif jika HIGH Pin Tx dari modul ini Pin Rx dari modul ini Bisa menjadi flow control RTS maupun untuk membuat modul masuk ke mode binary command Aktif jika LOW Memberikan pulsa 5V ketika sedang menerima data dari RF Indikasi bahwa suplai daya ada dan modul tidak Sleep Metode backup untuk masuk command mode Catu daya DC 5V teregulasi Ground
Tabel 2.2 Pinout dari 24XStream Beberapa pinout yang penting dari modul RF modem 24XStream antara lain:
Data In dan Data Out: merupakan jalur data serial asinkron komunikasi antara mikrokontroler dengan modul XStream.
RTS dan CTS: merupakan hardware flow control. CTS (Clear to Send) digunakan modem untuk menandakan bahwa modem siap atau tidak siap menerima data dari mikrokontroler. RTS (Request to Send) digunakan mikrokontroler untuk meminta session karena ada data yang ingin dikirimkan.
25 XStream menggunakan standar UART untuk pengiriman data serial keluar masuk modul. 2.7.1
Mode Operasi
Gambar 2.9 Mode operasi XStream RF modem XStream memiliki lima mode operasi seperti terlihat di atas.
Mode Idle Ketika tidak sedang menerima dan mengirimkan data, XStream masuk ke mode Idle.
Mode Sleep Terdapat tiga pilihan mode Sleep untuk XStream, yaitu: o Pin Sleep
Mikrokontroler dapat membuat XStream masuk ke sleep mode dengan memberikan logic HIGH ke pin Sleep (Sleep Mode ON = HIGH). o Serial Port Sleep
26 Menggunakan perintah AT-command. XStream akan kembali aktif ketika ada aktifitas di serial port. o Cyclic Sleep
Menggunakan perintah AT-command. XStream akan kembali aktif ketika ada ada aktifitas RF (mendapat Packet Initializer dari RF modem lain).
Mode Receive Jika XStream mendeteksi adanya aktifitas RF ketika berada dalam mode Idle, maka XStream akan masuk ke mode Receive.
Mode Transmit XStream akan mencoba memasuki mode Transmit ketika mendapat byte pertama dari serial port.
2.7.2
Konfigurasi Modem
Konfigurasi modem 24XStream, seperti Receive dan Sending address, menggunakan dua cara, yaitu AT-command dan Binary Command. XStream termasuk modem yang mengikuti spesifikasi Hayes Command Set, atau yang lebih dikenal dengan AT-command dewasa ini. Untuk memasuki mode ATcommand, ’+++’ dikirim ke pin Data In XStream dan setelah respon ’OK’ diterima maka XStream telah masuk ke mode AT-command dan pengiriman data di-disable hingga tidak ada perintah baru selama command mode timeout (default-nya 20 detik) atau diberikan perintah ATCN. AT-command digunakan untuk memodifikasi dan membaca parameter-parameter yang ada di modul. Modul harus terlebih dahulu masuk ke mode command untuk menggunakan AT-command.
27 Sebuah AT-command memiliki struktur sebagai berikut:
Gambar 2.10 Struktur AT-command Setiap perintah diawali dengan prefiks “AT” kemudian diikuti oleh perintahnya dalam ASCII, kemudian jika ada parameter dapat dimasukkan setelah command (dalam hexadesimal) dan kemudian ditutup oleh carriage return (0x0D). Selain menggunakan AT-Command, XStream juga mengenal jenis perintah yang lain, yaitu Binary Command. Binary Command merupakan cara tercepat untuk mengganti ataupun membaca parameter parameter operasi yang ada di modul, seperti kekuatan sinyal, alamat modul, perhitungan error dan lain lain. Binary Command biasanya digunakan pada saat penggantian parameter dibutuhkan namun modul RF sedang melakukan komunikasi ataupun pembacaan parameter yang perlu dilakukan secara rutin namun tidak menginginkan efek gangguan yang terlalu signifikan terhadap komunikasi data. Untuk mengaktifkan mode Binary Command , Binary command mode harus dienable terlebih dahulu melalui AT-Command dengan cara memberikan nilai RT sama dengan 1. Untuk memasuki mode Binary Command maka pin CMD harus diberi logic high. kondisi pin CMD akan selalu diperiksa setelah stop bit dikirim, bila state CMD menunjukkan logic high maka XStream akan masuk ke mode Binary Command. Binary command diinput melalui Data In, dan responnya akan diberikan oleh XStream melalui Data Out. Setiap kali binary command diterima maupun respon dihasilkan oleh
28 XStream, pin CTS akan menghasilkan logic high. keadaan logic high pin CTS mengindikasikan bahwa Binary Command ataupun respon tersebut yang valid. Gambar diagram pewaktuan Binary Command adalah sebagai berikut:
Gambar 2.11 Timing diagram untuk memasukkan binary command Format perintah Binary Command terdiri dari 2 byte dan sebagian diikuti oleh parameter. Perintah beserta parameter ini harus telah diterima paling lama 0.5 detik setelah masuk ke mode Binary Command, bila tidak maka modul XStream akan memasuki idle mode atau melanjutkan komunikasi kembali bila sebelumnya sedang melakukan komunikasi.
2.8
RS-232
RS-232 merupakan standar komunikasi serial yang dikeluarkan oleh EIA (Electronic Industry Association) yang mencakup tiga area, yaitu level tegangan sinyal, penggunaan jalur sinyal, serta timing sinyal dan bit. (Schweber, 1999). RS-232 dirancang sebagai spesifikasi standar antara 2 jenis peralatan, DTE dan DCE. DTE adalah singkatan dari Data Terminal Equipment, yaitu sebuah device yang berfungsi
29 untuk menghasilkan data yang akan dikirim ataupun menggunakan data yang diterima. Sedangkan DCE adalah singkatan dari Data Communications Equipment yang merupakan sebuah device interface yang berfungsi untuk mengambil data dari dan ke DTE. a. Level Tegangan sinyal.
Untuk merepresentasikan sebuah biner 1 atau 0, dibutuhkan dua rentang tegangan yang berbeda. Rentang tegangan yang berada pada +3V hingga +25V dikenali sebagai biner 0, dan rentang tegangan yang berada pada -3V hingga -25V dikenali sebagai biner 1. Sedangkan rentang tegangan dari -3V hingga 3V dianggap sebagai error atau tidak dikenali pada RS-232. Terdapat sedikit perbedaan level tegangan yang dikenali pada transmitter dan receiver, pada transmitter, nilai biner 0 berada pada rentang tegangan +5V hingga 25V dan nilai biner 1 berada pada rentang tegangan -5V hingga -25V, sedangkan pada receiver, nilai biner 0 berada pada rentang tegangan +3V hingga 25V dan nilai biner 1 berada pada rentang tegangan -3V hingga -25V. Tujuannya adalah untuk mengantisipasi loss atau noise yang mungkin terjadi. Misalnya terjadi suatu loss sebesar 3V pada pengiriman sebuah biner 1 dari transmitter yang beroperasi dengan tegangan 6V, maka receiver masih tetap akan mengenali tegangan yang dikirimkan sebagai biner 1. Oleh karena itu pada umumnya standar RS-232 pada PC menggunakan tegangan +/- 12 Volt untuk antisipasi. b. Jalur Sinyal
Jalur sinyal yang didefinisikan dalam standar RS-232 untuk konektor DB-9 adalah:
30 Pin
Deskripsi
1
Received line signal detect
2
Received Data (Rx)
3
Transmitted Data (Tx)
4
DTE ready
5
Signal Ground
6
DCE ready
7
Request To Send (RTS)
8
Clear To Send (CTS)
9
Ring Indicator Tabel 2.3 Ketentuan jalur data RS-232
Untuk menjamin data flow, maka RS-232 menggunakan metode handshaking, artinya baik DTE maupun DCE dapat memberitahukan apakah ada data yang akan ditransmisikan atau apakah mereka siap menerima data. Empat jalur kontrol yang dapat digunakan adalah : •
Request To Send (RTS), dari DTE memberitahukan DCE bahwa DTE mempunyai data baru yang ingin dikirim.
•
Clear To Send (CTS), dari DCE mengindikasikan kepada DTE bahwa DCE siap menerima data yang baru tersebut.
•
Data Set Ready (DSR), memberitahukan DTE bahwa DCE bisa menerima data baru.
•
Data Terminal Ready (DTR), dari DTE mengindikasikan kepada DCE bahwa DTE siap.
31
Gambar 2.12 Koneksi DTE ke DCE
c. Timing Sinyal dan Bit
Gambar 2.13 Timing signal dan bit Ketika komunikasi sedang Idle, data line RS-232 akan berada pada posisi mark (-V). Begitu ada data yang ingin dikirimkan, data line berubah menjadi space(+V) untuk periode satu bit yang disebut juga sebagai start bit. Kemudian setelah start bit, maka bit bit data akan dikirimkan, banyaknya bit data bervariasi sesuai dengan rancangan sistem (biasanya 7 atau 8 bit). Pengiriman data adalah LSB terlebih dahulu. Setelah MSB terdapat parity bit yang berfungsi sebagai error detection (bit ini merupakan optional) dan stop bit yang ditandai dengan perpindahan ke posisi mark. Stop bit dapat terdiri dari 1, 1½, 2 Bit period. Baik DTE maupun DCE harus mempunyai pengaturan parity dan stop bit yang sama agar komunikasi dapat berjalan dengan lancar.
32
2.9
Qt (toolkit)
Qt adalah framework untuk pemrograman aplikasi cross-platform pada PC yang banyak digunakan untuk mengembangkan aplikasi GUI. Qt dikembangkan oleh Trolltech yang berbasis di Norwegia. Beberapa aplikasi yang dikembangkan dengan Qt adalah KDE, Opera, dan Qtopia. Qt sendiri merupakan kumpulan dari kelas-kelas (library) yang siap pakai.
Gambar 2.14 Qt dan kedudukannya dalam sistem komputer (PC dan Mac).
Untuk memungkinkan kemampuan cross platform, Qt mengembangkan library untuk control dan paint engine sendiri, sehingga sangat sedikit kelas yang ditulis khusus untuk platform tertentu. Ini membuat Qt setara dengan Java. Namun Qt lebih unggul dari Java dalam hal kinerja karena program yang ditulis dalam Qt di-compile menjadi binary executable yang memiliki performa jauh lebih baik dibanding Java yang menggunakan bytecode.
33 Qt menggunakan bahasa C++ standard. Namun Qt telah menambahkan preprosesor
khusus
yang
dapat
membangkitkan
kode
yang
diperlukan
untuk
mengimplementasikan berbagai extension seperti definisi Signal dan Slot yang merupakan fundamental dari kontrol program pada Qt. Qt menyediakan meta object compiler (MOC) yang berfungsi menerjemahkan program yang berisi pre-prosesor tersebut menjadi kode native C++ sebelum di-compile oleh compiler yang disediakan programmer, seperti Microsoft Visual Studio, maupun GNU C Compiler. 2.9.1
QWidget
Inti dari pemrograman GUI dengan Qt adalah QWidget. Semua objek yang dapat divisualisasikan ke user merupakan sub-class dari QWidget. QWidget menerima event dari mouse, keyboard, maupun event lain dari sistem window. QWidget juga dapat digambar dengan menuliskan kode untuk menggambar ke dalam paint eventnya. Sebuah widget dapat mengandung widget lain, dan ketika hal demikian terjadi, maka widget ini menjadi parent widget dan widget yang dikandungnya otomatis merupakan child widget dari widget itu. Jika parent widget tersebut dihapus dari program, maka child widget dari dia juga akan dihapus secara otomatis oleh Qt. Ini merupakan salah satu cara untuk mencegah memory leak oleh Qt. Qt juga mengimplementasikan garbage collector untuk menghapus objek Qt yang sudah tidak ada referensinya, sama seperti Java. Contoh: Program Hello World
34 1 2 3 4 5 6 7 8 9 10
#include #include int main(int argc, char *argv[]){ QApplication app(argc, argv); QWidget widget; QLabel label("Hello World",&widget); widget.show(); return app.exec(); }
Output:
Gambar 2.15 Output program Hello World Baris 5 dan 9 dari kode tersebut merupakan inisialisasi objek aplikasi yang harus ada untuk semua program Qt. Setiap program Qt pasti memiliki satu objek aplikasi ini, dan objek ini merupakan thread utama dari program. Objek yang diciptakan setelah sebuah objek dari QApplication diciptakan dan sebelum objek tersebut memasuki event loop (kode app.exec()), akan menghuni thread utama dari program tersebut. Setelah menampilkan widget pada layar (kode baris 8), maka thread utama ini akan masuk ke dalam event loop. Event loop adalah keadaan di mana setelah selesai inisialisasi (setup GUI, dan lain-lain) dan program menunggu input dari user melalui klik dan sebagainya. Thread utama dari program ini adalah jalan utama program ini. Jika thread utama dari program ini di-terminate, maka program ini akan keluar (program selesai). Untuk kasus di atas, program hanya akan keluar apabila user menekan tombol X di title bar window-nya.
35 Pada baris ke-7, kodenya adalah program menciptakan sebuah widget label yang diisi dengan kata ”Hello World”, dan widget label ini di-assign sebagai child object dari objek widget. Dengan demikian ketika objek widget tersebut ditampilkan (baris 8), maka label tersebut ikut tampil. 2.9.2
Koneksi Signal dan Slot
Untuk menghindari teknik callback yang diterapkan pada pemrograman C++, Qt menggunakan koneksi signal dan slot. Sebuah objek dapat meng-emit signal tertentu, dan slot dari objek lain dijalankan oleh karena signal ini. Sebuah signal juga dapat memiliki parameter untuk di-pass ke slot yang dipanggilnya. Agar Qt tahu objek apa yang akan merespon (dan dengan slot apa responnya) ketika sebuah objek meng-emit sinyal, perintah connect digunakan. Perintah ini adalah static public member dari QObject, sehingga tanpa perlu membuat sebuah objek QObject perintah ini sudah dapat dipanggil. Contoh: 1 2 3 4 5 6 7 8 9 10 11 12
Output:
#include #include int main(int argc, char *argv[]){ QApplication app(argc, argv); QWidget widget; QPushButton push("Keluar Program",&widget); QObject::connect(&push, SIGNAL(clicked()), &app, SLOT(quit())); widget.show(); return app.exec(); }
36 Gambar 2.16 Output program percobaan signal-slot Pada baris 8-9, signal clicked() dari push button dihubungkan ke slot quit() dari objek app. Signal dan slot tersebut memang sudah ada dari asalnya. Signal maupun slot dapat ditambahkan ke suatu kelas tertentu dengan membuat sebuah kelas baru yang mewarisi kelas itu kemudian menambahkan signal atau slot spesifik sesuai yang diinginkan. Ketika tombol “Keluar Program” tersebut diklik, maka tombol tersebut akan mengemit signal clicked(), kemudian member dari app, yaitu quit() akan dijalankan. Sebuah koneksi signal dan slot dapat memiliki berbagai sifat, yaitu: a) Direct connection (Qt::DirectConnection) di mana ketika sebuah signal di-emit, maka slot yang terkoneksi ke signal tersebut langsung dijalankan. b) Queued connection (Qt::QueuedConnection) di mana ketika sebuah signal diemit, maka signal tersebut akan menunggu sampai thread masuk ke event loop lagi baru kemudian slot dijalankan. c) Auto connection (Qt::AutoConnection) di mana ketika signal di-emit, bila objek yang akan menerimanya tinggal dalam satu thread dengannya maka slot akan langsung dijalankan. Bila tidak, maka signal tersebut akan diantrikan seperti Queued connection.
2.10
AVR GCC
AVRGCC merupakan bahasa pemrograman open source berbasis bahasa C yang ditujukan secara khusus untuk pemrograman mikrokontroler AVR 8-Bit. AVRGCC
37 telah menyediakan beberapa library yang sangat berguna untuk pemorgraman mikrokontroler AVR. Beberapa library tersebut adalah seperti fungsi interrupt service routine (ISR), tipe data, register register AVR, operasi-operasi matematika dan fungsi matematika lainnya seperti sinus dan cosinus. AVRGCC juga mempunyai fitur untuk memasukkan potongan program assembly ke dalam program C yang ditulis. Biasanya fitur ini akan sangat berguna untuk program program yang time critical mengingat perhitungan waktu dengan Assembly lebih presisi dibandingkan C. Fitur ini disebut juga inline ASM. Interrupt service routine merupakan program rutin yang akan dieksekusi begitu interrupt dipicu. Contoh penggunaan interrupt service routine pada AVRGCC adalah sebagai berikut: ISR(INT0_vect){ /* tulis program rutin bila interrupt 0 dipicu disini */ PORTA=0xff; } Untuk jenis interrupt lain, fungsi ISR() tetap digunakan, hanya saja terdapat perubahan pada isi di dalam ( ) sesuai dengan jenis interrupt yang ingin ditangani. AVRGCC mempunyai operasi bitwise tambahan yang sangat berguna untuk melakukan manipulasi bit. Operasi tersebut adalah _BV(x), dimana x merupakan angka 0-7. _BV(x) berfungsi untuk memberikan logika 1 pada bit ke-x dari 8 bit. Contoh bila diberikan perintah _BV(3), maka akan dibuat 8 bit dan pada bit ke-3 diberi nilai logika 1. Bit yang terbentuk adalah 00010000. Contoh aplikasi _BV(x) yang paling sederhana adalah pada pemrograman running LED. Berikut ini adalah contoh pemrogramannya dengan AVRGCC:
38 void main(){ DDRB=0xff; while(1){ x+=1; if(x>7){ x=0; } PORTB=_BV(x); _delay_ms(100); } }
2.11
OSI Layer
OSI Layer adalah sebuah model yang dapat digunakan untuk menggambarkan desain komunikasi data dan komputer secara berlapis-lapis (Stallings, 2004). OSI Layer dikembangkan oleh ISO (International Organization for Standardization) bersama dengan ITU-T. Masing-masing lapisan memiliki fungsi dan PDU (Protocol Data Unit) sendiri. PDU adalah satuan unit data yang dispesifikasikan dalam sebuah lapisan, yang berisi informasi kontrol protokol pada lapisan tersebut beserta data yang dibawanya.
Gambar 2.17 OSI Layer Stack
39 2.11.1 Physical Layer
Fungsi dari layer ini adalah menjamin konektivitas fisik dari jaringan. Pada physical layer, frame-frame diubah menjadi bit bit yang dikirimkan melalui media fisik. Contoh dari physical layer: RS-232, Wi-Fi, Wi-Max, dan lain-lain.
2.11.2 Data Link Layer
Fungsi dari layer ini adalah mengenkapsulasi paket-paket data menjadi frameframe. PDU dari Data Link Layer adalah frame. 2.11.3 Network layer
Fungsi dari layer ini adalah menjamin konektivitas serta mencari jalur komunikasi terbaik. Logical addressing juga berada pada layer ini. Logical addressing adalah IP address. Pada network layer, segment-segment dienkapsulisasi menjadi paketpaket, yang merupakan PDU dari Network Layer. 2.11.4 Transport Layer
Fungsi dari layer ini adalah menjamin end-to-end connection, membangun, mengatur dan mengakhiri virtual circuits, serta sebagai error detection dan correction. Pada layer ini, data dibagi menjadi segment-segment. 2.11.5 Session layer
Fungsi dari layer ini adalah membangun, mengatur dan mengakhiri session antar aplikasi. 2.11.6 Presentation layer
40 Fungsi dari layer ini adalah menjamin agar data dapat dibaca oleh sistem penerima dan mengatur format data, struktur data, serta enkripsi data. 2.11.7 Application layer
Fungsi dari layer ini adalah menyediakan layanan layanan aplikasi seperti Email, file transfer (FTP), HTTP, dan lain lain. Pada OSI model, setiap layer menunjang layer diatasnya.
2.12
Protokol
Protokol adalah aturan-aturan yang mengatur cara beroperasi berbagai unit fungsional untuk memungkinkan komunikasi antar unit fungsional tersebut. (Stallings, 2004). Untuk mempermudah pemahaman, protokol didefinisikan per layer OSI. Contohnya adalah HyperText Transfer Protocol menempati layer Application, Internet Protocol menempati layer Network, dan sebagainya. Untuk lebih jelas mengenai protokol, dapat dilihat contoh berupa isi dari file HTML yang dimengerti oleh web browser dan diproses menjadi sebuah tampilan website. HTML merupakan protokol berupa tag-tag untuk memberitahukan apa yang harus diproses oleh web browser. Misalkan ASDF , dimana web browser telah mengenalinya sebagai perintah untuk mencetak tebal ASDF ke layar. HTTP adalah sebuah set protokol yang digunakan oleh web server dan web browser untuk memindahkan informasi dari server ke browser. HTTP adalah “bahasa”nya, yang memungkinkan server untuk meminta browser menampilkan halaman web sesuai yang diinginkan server.
41 2.13
FishFinder
FishFinder merupakan alat pemindai ikan yang menggunakan sonar (Sound Navigation Ranging). Secara fisik, alat ini terbagi menjadi dua komponen utama, yaitu tranducer dan modul handheld. Tranducer berfungsi untuk memancarkan gelombang suara dan handheld modul berfungsi untuk mengamati ada atau tidaknya objek yang dikenai oleh gelombang tersebut. Prinsip kerja FishFinder adalah sebagai berikut : Tranducer akan memancarkan gelombang ultrasonik ke arah dasar laut (jangkauan masing-masing Fishfinder bervariasi sesuai dengan jenis pabrikannya). Terdapat sensor pada tranducer yang dapat menangkap gelombang yang dipantulkan balik jika gelombang suara mengenai suatu objek. Sensor akan mengirimkan informasi ke handheld yang akan memproses dan menampilkan kedalaman dari objek tersebut. FishFinder Garmin umumnya memiliki beberapa keterangan di tampilannya, antara lain: informasi kedalaman, tiga ukuran icon ikan menandakan ukuran ikan yang dilihat (besar/kecil/sedang), temperatur air, dan sebagainya.
42
Gambar 2.18 Garmin Fishfinder 240 Fishfinder 240 ini memiliki layar B/W untuk menampilkan ikan yang ada di dalam air beserta kedalamannya.
2.14
UART
UART mendefinisikan beberapa parameter yang dibutuhkan dalam transmisi serial asinkron, seperti baudrate (menentukan timing/pewaktuan untuk pengambilan bit data), start/stop bit, dan parity checking. (Schweber, 1999). Setiap paket UART dimulai dengan start bit, data, parity (optional), dan stop bit. Berikut diagram pewaktuan dari UART. Sebuah data 0x1F (hexadesimal) dikirimkan menjadi:
43
Gambar 2.19 Paket data UART Ketika tidak sedang mengirimkan data, Tx masuk dalam mode “idle”. Transisi dari HIGH ke LOW pada saat jalur Tx (transmitter) pada saat idle akan dianggap sebagai start bit. Start bit berguna untuk sinkronisasi clock antara transmitter dengan receiver. Setelah Rx menerima stop bit, maka Rx akan menentukan pewaktuan untuk melakukan sampling terhadap sinyalnya. Misalnya jika telah disepakati baudrate 9600bps, maka bit time untuk setiap bit adalah
1 ms/bit. Rx akan mengambil data 9,6
(sampling) mulai dari (1+0.5) bit time, dan selanjutnya menunggu interval setiap bit time untuk melakukan sampling. Ini dilakukan berulang-ulang sebanyak panjang data yang telah disepakati. Ketika Tx telah selesai mengirim, Tx akan memberikan nilai HIGH ke jalur pertanda memasuki kondisi ”idle” lagi.
2.15
Antena
2.15.1 Tentang Antena
Antena merupakan suatu bagian dari rangkaian elektronika yang berfungsi sebagai transmitter (pengirim) maupun receiver (penerima) gelombang elektromagnetik. (Carr, 1998). Antena merupakan sebuah konduktor, jika sebuah konduktor dialiri arus
44 listrik maka akan timbul medan magnet dan medan listrik yang disebut juga dengan gelombang elektromagnetik, begitu pula bila konduktor mendapatkan gelombang elektromagnetik, konduktor akan menghasilkan arus. Gelombang elektromagnetik inilah yang dipropagasikan dan diterima oleh antena lainnya. Hubungan dari medan magnet, medan listrik, dan arus listrik dapat dilihat pada gambar di bawah:
Gambar 2.20 Medan listrik
Gambar 2.21 Medan Magnet 2.15.2 Parameter-parameter Antena
45 Antena mempunyai beberapa parameter yang sering menjadi digunakan untuk menentukan kualitasnya. Parameter parameter tersebut antara lain adalah Pola Radiasi, Gain dan Beamwidth. Pola radiasi adalah pola yang dibentuk oleh radiasi gelombang elektromagnetik. Pola radiasi dapat berupa berbagai macam bentuk. Gain(dalam dBi) merupakan kekuatan medan radiasi yang dimiliki suatu antena dibandingkan dengan antena isotropic ataupun antena half-wave dipole. Oleh karena itu gain menentukan jauhnya jarak radiasi. Beamwidth merupakan lebar sudut total dari medan radiasi. Gambar di bawah akan lebih memperjelas definisi tentang Gain, pola radiasi, dan Beamwidth.
Gambar 2.22 Pola Radiasi 2.15.3 Contoh Antena
Salah satu antena yang paling sering dijadikan sebagai standar perbandingan adalah antena halfwavelength dipole. Antena jenis ini sering digunakan untuk perbandingan gain antena lainnya karena secara prakteknya antena isotropik tidak mungkin untuk dibuat. Antena halfwavelength dipole ini dibuat dengan cara
46 memisahkan konduktor dari dua buah jalur tranmisi menjadi sebuah garis lurus. Gambar halfwavelength dipole antena adalah sebagai berikut:
. Gambar 2.23 Halfwave Dipole 2.16
GIS (Geographical Information System)
GIS adalah suatu koleksi hardware dan software komputer dan data geografis yang digunakan sebagai suatu sistem untuk menangkap, mengolah, menganalisa, dan menampilkan berbagai macam informasi geografis (Anonim, 2006). Data geografis merupakan data spasial atau data yang berhubungan dengan lokasi. 2.16.1 Teknik dalam GIS
Merelasikan informasi dari sumber yang berbeda
Kekuatan dari GIS terdapat pada kemampuannya untuk merelasikan informasiinformasi yang berbeda dalam suatu konteks spasial untuk memunculkan suatu kesimpulan. Karena sebagian besar informasi yang dimiliki berisi referensi lokasi, yang terdapat pada suatu titik di bumi yang menggunakan koordinat lintang dan bujur, informasi-informasi tersebut dapat dibandingkan dengan informasi dari lokasi lain di muka bumi. Contoh dari informasi ini misalnya informasi curah hujan,
47 dengan membandingkan dua lokasi yang berbeda menggunakan GIS, dapat ditentukan daerah mana yang akan menjadi kering atau lebih basah pada suatu waktu tertentu dalam satu tahun. GIS memberikan lebih banyak informasi sehingga keputusan yang dibuat menjadi lebih baik. Banyak database komputer yang juga dapat dimasukkkan langsung ke dalam GIS dalam bentuk data mengenai peta. GIS juga dapat mengkonversi data digital menjadi bentuk yang dapat dikenali dan diolahnya. Misalnya data foto satelit dapat dianalisa menjadi peta digital.
Representasi Data
Data GIS merepresentasikan objek di dunia nyata (jalan, elevasi, dsb) dengan data digital. Objek dalam dunia nyata dapat dibagi 2 abstraksi: objek diskrit (sebuah rumah) dan field kontinu (curah hujan atau elevasi). Dua cara umum yang dipakai untuk menyimpan data dalam GIS untuk kedua abstraksi adalah : Raster dan Vector. Tipe data Raster mengandung baris dan kolom yang terdiri dari sel-sel di mana tiap sel mengandung suatu nilai tunggal. Pada umumnya, data Raster adalah gambar, tapi selain warna, nilai yang disimpan pada tiap sel dapat berupa nilai diskrit, misalnya penggunaan tanah, nilai kontinu seperti curah hujan, atau nilai null jika tak ada data yang tersedia. Ketika suatu sel Raster menyimpan nilai tunggal, data tersebut dapat diperluas dengan menggunakan Raster band untuk merepresentasikan warna RGB (red/merah, green/hijau, blue/biru), colormaps (mapping antara kode thematic dan nilai RGB), atau sebuah tabel atribut perluasan dengan 1 baris untuk tiap nilai sel yang unik. Resolusi dari Raster dataset adalah lebar selnya yang
48 dihitung dalam unit tanah. Misalnya pada gambar Raster LIDAR, setiap sel adalah sebuah pixel yang merepresentasikan area 3x3 meter. Tipe data Vector menggunakan geometri seperti titik, garis (sejumlah titik koordinat yang bergabung), atau poligons, yang disebut juga areas (bentuk yang dibatasi garis), untuk merepresentasikan objek. Contohnya batas tanah yang direpresentasikan dengan poligons dan lokasi sumur dengan titik. Fitur Vector dapat dibuat untuk memasukkan integritas spasial dengan memasukkan aturan topologi, misalnya 'poligons tidak boleh saling tumpang tindih'. Data Vector dapat juga digunakan untuk merepresentasikan fenomena secara kontinu. Contour lines dan Triangulated Irregular Networks (TIN) digunakan untuk merepresentasikan elevasi atau nilai kontinu lainnya. TIN menyimpan nilai pada lokasi titik, yang terhubung dengan sehingga muncul suatu segitiga dengan bentuk irregular mesh yang merepresentasikan permukaan medan. Raster datasets menyimpan nilai untuk semua titik di suatu area yang dicakup sehingga ukurannya lebih besar tetapi ia mempermudah proses overlay. Data Vector dapat ditampilkan sebagai Vector graphics pada peta tradisional dibandingkan data Raster yang akan tampil sebagai image yang mungkin mempunyai penampilan yang terkotak-kotak untuk batas objek. Data tambahan non-spasial dapat disimpan dalam sel Raster selain data spasial yang sudah ada. Pada data Vector, data tambahannya adalah atribut dari objek. Pada data Raster nilai daridapa menyimpan informasi atribut, atau dapat juga digunakan sebagai pengidentifikasi untuk relasi dengan records pada tabel lain.
Data capture
49 Data capture atau proses pemasukan informasi dalam sistem melibatkan identifikasi objek pada peta, lokasi mereka, dan relasi spasialnya. Proses ini dilakukan menggunakan software yang dapat menghapus data yang tidak diperlukan dari peta yang sudah didigitalisasi menggunakan hand-tracing atau digitizing tablet. Terdapat banyak teknik data capture, misalnya scanning untuk data di kertas atau film, pemasukan data secara langsung dari instrumen pengukur, misalnya pada GPS, sensor-sensor seperti kamera dan LIDAR, dan penginderaan jauh pada satelit. Selain data spasial, atribut dari data juga dimasukkan dalam GIS. Untuk data Vector dibutuhkan informasi tambahan tentang objek yang direpresentasikan dalam sistem. Setelah pemasukan data, dibutuhkan editting untuk menghilangkan error atau pengolahan data lebih lanjut, misalnya kotoran pada film atau hubungan antar jalan. GIS dapat digunakan untuk menekankan relasi spasial antar objek yang ada di peta. Bila sebuah sistem pemetaan dengan bantuan komputer merepresentasikan sebuah jalan sebagai garis, GIS dapat menjadikan garis tersebut sebagai garis batas dari 2 area berbeda.
Data manipulation
Restrukturisasi data dapat dilakukan GIS untuk mengubah data menjadi format berbeda. Hal ini dikarenakan data digital disimpan dan diambil dengan cara yang berbeda-beda.
Data Integration
50 GIS memungkinkan untuk mengintegrasikan atau menghubungkan satu data dengan yang lain dengan membuat beberapa variabel baru. Misalnya penggabungan data hasil agrikultur dengan data hidrografi menghasilkan data baru yang dapat digunakan untuk menentukan aliran irigasi mana yang paling baik.
Proyeksi, koordinasi sistem dan registrasi
Proyeksi adalah proses fundamental pembuatan peta. Proyeksi sendiri adalah proses matematik untuk mentransfer data dari bumi yang 3 dimensi ke dalam media 2 dimensi misalnya kertas atau layar komputer. Proyeksi yang berbeda-beda ddigunakan untuk tipe peta yang berbeda-beda juga karena tiap proyeksi hanya cocok untuk 1 tugas saja. GIS menggunakan kekuatan komputer untuk melakukan proses ini dari sumber dengan proyeksi berbeda-beda menjadi 1 proyeksi umum. 2.16.2 Cara melihat GIS
GIS dapat dilihat dengan 3 cara :
The Database View: GIS adalah database unik dari bumi—sebuah geographic
database (geodatabase). Pada dasarnya, GIS didasarkan pada database terstruktur yang menggambarkan bumi dalam konotasi geografis.
Gambar 2.24 Database View
51
The Map View: GIS adalah suatu set dari peta pintar yang menunjukkan
hubungan geografis di permukaan bumi. Peta dari informasi geografis tambahan dapat dibuat dan dilihat menggunakan sebagai "window ke dalam database" untuk mendukung queries, analisa, dan proses editing. Proses ini dinamakan geovisualization.
Gambar 2.25 Map View
The Model View: GIS adalah suatu set alat transformasi informasi yang
membuat dataset geografis baru dari dataset yang sudah ada. Fungsi geoprocessing
mengambil
informasi
dari
dataset
yang
sudah
ada,
menganalisanya, dan membuat dataset baru dari hasil analisa tersebut.
2.17
Mekanisme Kerja Para Nelayan
Seorang nelayan tradisional biasanya berangkat ke laut pada sore hari dan pulang pada pagi atau siang hari, tergantung pada hasil tangkapannya, jika hasil tangkapan telah mencukupi pada pagi hari, maka nelayan akan segera berlayar pulang. Seorang nelayan tradisional biasanya melaut menggunakan kapal boat kecil, biasanya panjangnya berukuran beberapa meter (tidak melebihi 10 meter). Selain itu, nelayan tradisional juga
52 seringkali menggunakan kapal berukuran sedang, di dalam kapal ini terdapat beberapa orang nelayan tradisional. Sebuah kapal sedang (berukuran panjang dari 10 hingga 15 meter) biasanya memerlukan kurang lebih 100 liter bahan bakar untuk sekali melaut. Kapal kapal nelayan jenis ini masih menggunakan teknologi yang sangat konvensional. FishFinder maupun GPS belum digunakan di dalam kapal. Jaring hanya diturunkan jika ketika kapal berada di laut dan melihat adanya indikasi keberadaan ikan (biasanya dengan cara melihat ke laut dan melihat ikan yang melompat dari air ataupun yang berada di permukaan). Volume ikan yang dapat dibawa pulang bervariasi sesuai kondisi lingkungan seperti cahaya bulan, pasang surut, cuaca, arus panas, arus dingin, dan lain lain. Kapal kecil beroperasi pada jarak kurang dari 5 mil dari pantai, Sedangkan kapal sedang sedang beroperasi di jarak 5 hingga 15 mil dari pantai. Kapal kapal nelayan ini berlayar setiap sore dan pulang di pagi atau siang keesokan harinya. Cara kerja nelayan tradisional adalah sebagai berikut :
Mengisi bahan bakar kapal, selanjutnya mengambil es dari pabrik es.
Menuju lokasi yang tidak tetap (selama berada tidak terlalu dekat dengan pantai).
Observasi pada perairan sekitar mencari indikasi ada ikan (biasa ikan timbul di permukaan air)
Jika ada ikan, maka jaring ditebar
Jika tidak ada, maka mereka berpindah ke lokasi lain.
Begitu seterusnya hingga ikan yang didapat dirasa telah cukup banyak oleh para nelayan.
53 Penggunaan mekanisme kerja konvensional ini seringkali merugikan bagi para nelayan, seringkali mereka pulang tanpa hasil ataupun dengan tangkapan yang minim. Tidak seperti dahulu di mana perahu ikan masih menggunakan layar, penggunaan bahan bakar yang banyak menuntut mereka untuk dapat menangkap ikan dengan hasil yang mencukupi untuk menutupi biaya bahan bakarnya. Berbeda dengan kapal kapal nelayan tradisional yang hanya berlayar hingga beberapa mil dari laut. Kapal-kapal penangkap ikan besar berlayar hingga jauh ke laut lepas. Kapal-kapal besar ini telah memiliki peralatan modern seperti FishFinder, GPS, lampu sorot dan peralatan pengumpul ikan lainnya. Kapal-kapal besar ini dapat melaut hingga hitungan minggu ataupun bulan. Target ikannya adalah ikan-ikan laut lepas yang selalu bergerak cepat, seperti tuna, marlin, dan lain-lain. 2.18
Teknologi Penentuan Keberadaan Ikan dengan Satelit
Sistem yang telah dibuat dan diterapkan adalah sistem yang berbasiskan satelit yang melakukan forecasting keberadaan dan lokasi ikan. Sistem tersebut menggunakan satelit dengan sensor inframerah termal untuk memperoleh informasi tentang tenaga panas yang dimiliki oleh suatu objek. Gambar mekanisme kerja sistem tersebut adalah sebagai berikut:
54
Gambar 2.26 Mekanisme kerja sistem penginderaan jauh satelit (Anonim, 2004) Sistem satelit ini menggunakan sensor untuk mengetahui suhu serta tingkat dan distribusi klorofil pada suatu perairan, informasi ini kemudian dikirim ke stasiun bumi untuk diolah dan menghasilkan peta fishing ground. Sistem ini menggunakan dua jenis satelit, yaitu satelit NOAA (National Oceanic and Atmospheric Administration) untuk mengukur suhu permukaan laut dan satelit Seastar untuk mengukur kandungan klorofil pada suatu perairan. Data kandungan klorofil ini dapat diperoleh seminggu sekali dengan syarat daerah yang ingin diliput tidak tertutup awan. Sistem penentuan lokasi ikan berbasiskan penginderaan jauh satelit ini dilakukan untuk melakukan forecasting keberadaan dan lokasi (yang relatif luas) yang diramalkan mengandung ikan. Adapun sistem yang akan dibuat adalah untuk mengirimkan lokasi keberadaan ikan ke pusat dengan lebih eksplisit (diketahui bahwa memang ada ikan dengan dibantu oleh FishFinder). Sistem yang akan dibuat tidak menentukan keberadaan ikan, namun hanya lokasinya saja. Sistem ini juga akan menuntun nelayan sampai pada sebuah lokasi fishing ground yang sudah diketahui tersebut dengan memberikan informasi arah kepada
55 nelayan pada saat mereka sedang melaut. Sistem yang akan dibuat ini ditujukan sebagai pelengkap sistem satelit yang sudah ada sekarang.