Beberapa tahun ini jaringan sensor nirkabel (JSN) telah memberikan trobosan dalam bidang monitoring dari monitoring curah hujan di kebun hingga monitoring detak jantung di bidang kesehatan. Teknologi ini dikenal atas konsumsi energi yang sangat rendah dan sederhana, bahkan saat ini sedang dikembangkan agar dapat beroperasi tanpa sumber daya, melainkan menggunakan energi sekitar yang tersedia seperti menggunakan masukkan energi dari gelombang elektromagnetik stasiun TV. JSN awalnya fokus pada data yang dapat dikirim pada kapasitas kanal bit rate rendah. Di penelitian ini lebih kepada JSN dengan kapasitas kanal bit rate yang lebih tinggi agar dapat transmisi data multimedia khusus disini adalah transmisi citra, sehingga istilah JSN dapat diturunkan menjadi jaringan sensor visual nirkabel (JSVN). Platform yang digunakan adalah Imote2 dengan radio berbasis IEEE 802.15.4 ZigBee serta ciri khas utama dari penelitian ini adalah mengimplementasi embedded system Linux, yang belum pernah dilakukan sebelumnya. Selama ini tidak ada publikasi yang mendeskripsikan skema transmisi citra di Imote2 Linux, dengan kata lain belum ada informasi yang berkaitan dengan transmisi citra. Di penelitian ini dibahas secara detil skema transmisi citra antar Imote2 Linux versi penulis serta skema agar dapat difungsikan sebagai testbed, mulai dari aplikasi yang ditulis dalam bahasa C, kompilasi beberapa kebutuhan testbed, hingga implementasi testbed. Selebihnya kinerja dari Imote2 Linux diuji dengan mentransmisikan citra tanpa kompresi dan dengan kompresi standar JPEG2000 dimana kompresi dilakukan di embedded system Imote2 Linux oleh software OpenJPEG. Hasil menunjukkan perbedaan yang signifikan antara transmisi tanpa kompresi dengan transmisi dengan kompresi.
JSN (Jaringan sensor nirkabel) atau lebih dikenal dengan WSN (wireless sensor network) merupakan suatu sistem jaringan nirkabel yang menggunakan perangkat sensor untuk mendapatkan informasi. Sensor-sensor ini didistribusikan di suatu wilayah yang saling terhubung secara nirkabel (membentuk jaringan) untuk mengumpulkan informasi yang ada di sekitarnya seperti pada Gambar 1.1. JSN ini telah diterapkan di bidang sipil, medis, dan lain-lain (Shwe dkk, 2013). Terdapat beberapa jenis sensor antara lain sensor suhu, gerak, kadar keasaman, suara, dan kamera. Pada penelitian ini digunakan WVSN (Wireless Visual Sensor Network) atau JSVN (Jaringan Visual Sensor Nirkabel), yaitu JSN yang berbasis sensor kamera.
Gambar 1.1 Gambaran JSN/WSN
Salah satu contoh penerapan JSN adalah penelitian Garcia-Sanchez (2010) tentang pemantauan hewan liar terhadap infrastruktur transportasi yang berada di alam liar. Hal yang dipantau adalah interaksi hewan seperti frekuensi dan waktu hewan melintasi jalan raya atau underpass, lama hewan berada pada tempat tersebut, dan bagaimana sikap hewan terhadap infrastruktur transportasi tersebut. Dari pemantauan ini dapat dilihat apakah infrastruktur transportasi aman, menarik perhatian hewan, secara keseluruhan bagaimana keadaan infrastruktur transportasi dan keadaan alam disekitarannya. Pemantauan dilakukan dengan memasang sensor kamera dan sensor gerak platform Imote2 di wilayah infrastruktur transportasi seperti gerbang masuk underpass, dalam underpass, tepi jalan raya, diatas pohon, atau jurang seperti Gambar 1.2. Beberapa faktor seperti tidak ada power source (sumber daya), lingkungan yang tidak memungkinkan untuk instalasi perangkat besar seperti jurang, zona berbahaya, dataran yang tidak merata/miring, dan kondisi mahkluk hidup sekitar yang sensitif (cenderung menyerang perangkat atau menghidari perangkat tersebut), ataupun faktor waktu yang membutuhkan pemantauan segera sehingga tidak mungkin untuk menghabiskan waktu untuk instalasi perangkat besar, dan banyak faktor-faktor lainnya, contoh serupa di bidang militer untuk mendeteksi keberadaan musuh harus menggunakan perangkat minimalis dan berukuran kecil agar tidak mudah dideteksi, untuk hal ini JSN merupakan suatu pilihan karena praktis untuk diterapkan.
Gambar 1.2 Contoh penerapan JSN pada jalan di alam bebas (Garcia-Sanches, 2010)
Penelitian JSN saat ini mengarah pada penghematan energi dengan tetap memaksimalkan kinerja dengan kata lain, mendapatkan informasi sebanyak mungkin dengan konsumsi energy seminimal mungkin.Hal ini dikarenakan JSN memiliki sumber daya yang dan kemampuan komputasi yang terbatas. Imote2 sendiri menggunakan 4 batterai AAA sebagai sumber daya, memiliki kemampuan processing 13-416 MHz, program memory 32 MB, RAM (Random Access Memory) 256 kB sebagai tempat penampung sementara pada tahap processing, dan transmission rate maksimum 250 kbps point-to-point. Walaupun spesifikasi Imote2 unggul dibanding dengan platform lainnya seperti terlihat pada Tabel 1.1 tetapi masih jauh dibanding dengan PC (Private Computer) sekarang yang memiliki spesifikasi minimal processor > 1 GHz, RAM > 1 GB, dan kapasitas harddisk > 50 GB.
Tabel 1.1 Mote hardware (Akyildiz, 2010)
Dari keterbatasan tersebut salah satu upaya penghematan adalah penentuan media transmisi yang tepat. Terdapat banyak jenis standar untuk media transmisi nirkabel seperti WLAN (Wireless Local Area Network), Broadband Wireless, dan WPAN (Wireless Personal Area Network). WLAN distandarkan pada IEEE 802.11 memiliki jakauan yang luas > 1 km dengan max data rate 54 Mbps pada IEEE 802.11g, standar ini lebih cocok untuk komunikasi nirkabel pada komputer. Broadband Wireless memiliki jangkauan yang lebih luas dengan max data rate IEEE 802.16m 100 Mbps lebih dikenal dengan WMAN (Wireless Metropolitan Area Network). Namun dari hasil penelitian sebelumnya yaitu penelitian Wiasta (2012), Natha (2012), dan penulis sendiri Purnama (2013) tidak effisien dalam transmisi data biner menggunakan WLAN. Hasilnya jauh bila dibandingkan dengan menggunakan standar WPAN dapat dilihat pada Gambar 1.3. Untuk perangkat portable disediakan standar IEEE 802.15 WPAN. IEEE 802.15.1 Bluetooth menyediakan maxdata rate 723.2 kbps dengan jangkauan 10 meter biasa digunakan untuk transmisi suara dan data, diaplikasikan pada handphone dan gadget. IEEE 802.15.2 mengatur komunikasi antar WPAN dengan jaringan nirkabel lainnya. IEEE 802.15.3 HR-WPAN (High Data Rate Wireless Personal Area Network) dengan data rate 11-55 Mbps dengan jangkauan > 70 meter biasa digunakan untuk multimedia. Yang cocok untuk digunakan pada JSN adalah standar IEEE 802.15.4 LR-WPAN (Low Data Rate Wireless Personal Area Network) karena bersifat konsumsi daya rendah dan data rate 20, 40, 250 kbps point-to-point dengan jangkauan 10 meter (Ahmad, 2005). IEEE 802.15.4 mengembangkan PHY layer, MAC layer, dan NWK layer, sedangkan Zigbee mengembangkan application layer selengkapnya dapat dilihat di BAB II. Keterbatasan transmisi pada IEEE 802.15.4 Zigbee adalah data rate maksimal 250 Kbps point-to-point dengan PHY layer maksimal besar paket adalah 127 byte dikurangi dengan header 89 byte. Fragmentation dan reassembly tidak dilakukan pada NWK layer oleh karena itu harus dikembangkan aplikasi pada application layer untuk fragmentation dan reassembly serta disesuaikan untuk transmisi citra (Pekhteryev, 2005).
Gambar 1.3 Konsumsi daya listrik pada transmisi data biner JSVN Imote2 (a) Imote2 dengan WLAN (b) catu daya WLAN (c) dengan LR-WPAN (Natha, 2012, dan Wiasta, 2012)
Upaya lain adalah menggunakan sistem operasi yang ringan. Sebelumnya Imote2 bekerja pada Intel Platform X. Setelah Imote2 Pindah ke Crossbow, Intel Platform X tidak lagi dikembangkan karena Crossbow mengeluarkan sistem operasinya sendiri. Sistem operasi yang digunakan kebanyakan sistem operasi yang dikembangkan oleh komunitias seperti SOS (Simple Operating System) tetapi SOS berhenti dikembangkan sejak tahun 2008. Sekarang ini yang digunakan adalah TinyOS dan yang terbaru Linux. Kebanyakan publikasi di web menggunakan TinyOS. Sekarang dikembangkan embedded Linux karena ditemukan batasan-batasan pada TinyOS seperti routing yang kompleks. Komunitas embedded Linux memandang sistem operasi Linux pada Imote2 dapat mengatasi keterbatasan tersebut. Namun embedded Linux pada Imote2 masih bersifat baru dan sedang dikembangkan (Kasteleiner, 2010). Alasan utama digunakan Linux karena bersifat opensource yang artinya gratis, terbuka dan boleh dikembangkan oleh siapapun.
Penelitian ini mengarah ke emebedded system Imote2 Linux. Sebelum telah berhasil mengembed Linux ke platform Imote2 dan berhasil mengirim data acak maksimal 28 byte, kali ini agar Imote2 Linux dapat mentransmisikan citra dengan radio berbasis IEEE 802.15.4 ZigBee. Setelah dapat melakukan transmisi akan diamati kinerja transmisi Imote2 Linux.
Pada penelitian sebelumnya adalah implementasi embedded Linux pada JSVN platform Imote2. Pertama Imote2 menggunakan sistem operasi dari Crossbow. Setelah itu diinstalasi TinyOS, sekarang dicoba digunakan embedded Linux. Ada 3 hal yang dibahas yaitu prosedur instalasi embedded Linux, konfigurasi pasca instalasi, dan diamati kinerja JSVN platform Imote2 dengan mengukur memory yang dikonsumsi dan daya listrik yang dikonsumsi saat mentransmisikan data biner. Prosedur instalasi meliputi cross compile Linux kernel dan driver ke arsitekur ARM yaitu yang digunakan oleh Imote2, penyiapan bootloader dan filesystem, dan pengembedan/pemasukan bootloader, kernel, dan filesystem ke Imote2 menggunakan software OpenOCD chip debugger. Untuk melakukan hal ini diperlukan komputer dengan sistem operasi Linux. Pasca pengembedan/pemasukan diaktifkan jaringan IP (Internet Protocol), SSHD (Secure Shell Daemon), dan radio melalui Telnet. Perintah untuk konfigurasi hal tersebut bersifat umum yang digunakan pada Linux berbasis Debian, Ubuntu, dan sejenisnya. Tahap akhir penelitian adalah mengamati kinerja pentransmisian data biner pada jarak 10m, 20m, dan 30m. Transmisi dicoba pada 2 jenis media transmisi nirkabel yaitu IEEE 802.11 WLAN dan IEEE 802.15.4 Zigbee juga disebut LR-WPAN. Perlu ditambahkan catu daya dan perangkat radio WLAN TP-LINK untuk mengimplementasikan WLAN. Dibuatkan daughter board untuk menghubungkan perangkat, dari segi software dibutuhkan driver.Sedangkan pengimplementasian Zigbee telah tersedia di Imote2, tinggal menjalankan driver dan membuat script untuk mentransmisikan data biner. Pada hasil akhir Zigbee lebih hemat dari segi konsumsi tegangan dan arus listrik dapat dilihat pada Gambar 2.1, Gambar 2.2, dan Gambar 2.3. Nilai konsumsi daya listrik adalah hasil perkalian dari tegangan dan arus listrikpada gambar sebelumnya yaitu gambar 1.2 (Natha, 2012, Wiasta, 2012, Purnama, 2013).
Gambar 2.1 Konsumsi pada baterai Imote2 berbasis WLAN (a) tegangan (b) arus
Gambar 2.2 Konsumsi pada baterai Catu Daya USB WLAN (a) tegangan (b) arus
Gambar 2.3 Konsumsi pada baterai Imote2 berbasis Zigbee (a) tegangan (b) arus
Penelitian ini adalah lanjutan dari penelitian sebelumnya yang akan meneliti kinerja JSVN platform Imote dengan sistem operasi embedded Linux dalam mentransmisikan citra melalui media transmisi berbasis IEEE 802.15.4 Zigbee. Jika sebelumnya hanya mentransmisikan data biner, kali ini mentransmisikan citra. Diutamakan mengunakan media transmisi berbasis IEEE 802.15.4 Zigbee karena terbukti sebelumnya lebih effisien.
Gagasan untuk meneliti pentransmisian citra dengan 4 skalabilitas yang berbeda berdasarkan wavelet (tahap penelitian pada BAB III) didapatkan dari penelitian Nasri (2010). Penelitian Nasri (2010) meneliti penerapan JPEG2000 secara distributif transmisi citra pada JSVN. Secara rinci skema JSVN dibagi atas 7 cluster (7 kelompok perangkat JSVN) dimana masing-masing cluster diberi sebagian tahap standar kompresi JPEG2000 (JPEG200 dapat dilihat pada sub-bab 2.6) dapat dilihat pada Gambar 2.4. Dengan skenario ini muncul gagasan untuk mentransmisikan citra dengan skalabilitas yang berbeda berdasarkan standar JPEG2000 dalam penelitian pada penulisan ini.
Gambar 2.4 Skema kompresi JPEG2000 terdistribusi pada JSN (Nasri, 2010)
Secara ringkas hasil konsumsi energi tertinggi ada pada cluster pertama dan kedua, selanjutnya konsumsi energi bersifat menurun dari cluster kedua hingga ketuju. Hasil didapatkan dengan menggunakan rumus konsumsi energi khusus tahap JPEG2000, dengan kata lain Penelitian Nasri (2010) bersifat simulasi, bukan penelitian yang menggunakan perangkat langsung.
Penelitian berkaitan adalah kinerja kompresi dan transmisi menggunakan IJG (Independent JPEG Group) library pada platform Imote2 dengan TinyOS berdasarkan hasil penelitian oleh Mowafi (2010). Skenario berupa koneksi single-hop atau point-point dimana perangkat JSVN melakukan kompresi JPEG terhadap citra terlebih dahulu sebelum melakukan transmisi. Citra dikompresi dengan quality factor lipatan 5 dari 95-5. Diukur waktu dan drop tegangan saat kompresi dan transmisi serta diukur PSNR citra. Hasil pengukuran menunjukan konsumsi waktu dan tegangan terhadap proses kompresi citra relatif sama terhadap nilai quality factor, dengan nilai mendekati 0. Sedangkan hasil pengukuran transmisi menunjukan memerlukan waktu dan tegangan rata-rata 14 detik dan 0.45 mV pada quality factor 95 dan menurun hingga 1 detik dan 0.03 mV pada quality factor 5. Rentang PSNR dari quality factor 95-5 adalah 47-28 dB.Sehingga kompresi citra JPEG membantu untuk menghemat waktu dan energi dalam transmisi citra. Hasil penelitian dapat dilihat dari pada Gambar 2.5.
Gambar 2.5 Quality factor terhadap (a) waktu (b) drop tegangan (c) PSNR (Mowafi, 2010)
Pada makalah lain Mowafi (2012) mengimplementasikan IJG dan JPEG2000. Dilakukan variasi quality factor pada IJG dan Compression Ratio pada JPEG2000 dengan menemukan besar file yang sama pada kedua teknik kompresi tersebut. Setelah itu dilakukan perbanding terhadap kedua teknik kompresi tersebut dengan mengukur waktu untuk kompresi, waktu transmisi setelah kompressi, dan konsumsi energi terhadap bit rate. Pengukuran PSNR dari kedua teknik kompresi tersebut juga dilakukan berdsarkan besar file. Terakhir dilakukan simulasi dengan multi-hop sensor dimana waktu dan komsumsi energi menjadi tolak ukur terhadap kedua teknik kompresi tersebut.Parameter didapatkan dari penelitian single-hop sebelumnya. Hasilnya JPEG2000 unggul di sisi PSNR, konsumsi daya listrik saat transmisi, dan waktu transmsisi tetapi JPEG unggul di sisi konsumsi daya listrik dan waktu saat kompresi. Konsumsi saat kompresi pada JPEG paling sedikit dibanding dengan askpek lain, sedangkan konsumsi saat kompresi pada JPEG2000 sebaliknya yaitu paling besar, dari proses keseluruhan kompresi dan transmisi. Hasil penelitian dapat dilihat pada Gambar 2.6. Sehingga disimpulkan JPEG lebih efisien pada JSVN dengan hop (lompatan) yang pendek karena hemat di sisi kompresi, tidak membutuhkan jalur transmisi yang panjang. Jika dengan hop yang panjang disarankan menggunakan JPEG2000 karena lebih hemat di sisi transmisi. JSVNakan lebih optimal bila diterapkan teknik kompresi yang bervariasi agar bersifat fleksibel terhadap keadaan.
Gambar 2.6 Kompresi Citra terhadap (a) PSNR (b) Energi (c) Waktu (Mowafi, 2012)
Penelitian Pekhteryev (2005) adalah mentransmisikan citra pada jaringan IEEE 802.15.4 dan Zigbee sangat mirip dengan penelitian ini. Disebabkan oleh kapasitas transmisi yang sangat terbatas dan tidak disediakan fitur fragmentation dan reassembly pada NWK layer diharuskan membuat suatu aplikasi dengan fitur tersebut. Penelitiannya adalah mengamati jumlah pengiriman citra yang error dari pengiriman 100 citra JPEG dan 100 citra JPEG2000 pada jaringan 1-hop dan 2-hop seperti Gambar 2.7, hasil dapat dilihat pada Gambar 2.8 dan 2.9.
Gambar 2.7 Skenario penelitian (Pekhteryev, 2005)
Gambar 2.8 Persentase histogram bytes error1 (Pekhteryev, 2005)
Gambar 2.9 Persentase histogram bytes error 2 Pekhteryev (2005)
Penelitian ini mengimplementasikan transmisi citra pada transmisi IEEE 802.15.4 Zigbee seperti penelitian Pekhteryev (2005). Perbedaan dari penelitian ini adalah penelitian Pekhteryev (2005) menggunakan perangkat M16C mikrokontroller dan lebih menganalisis error transmisi sedangkan penelitian ini menggunakna perangkat platform Imote2 dan lebih menganalisis effisiensi energi transmisi. Selanjutnya akan dicoba bila citra dikompresi terlebih dahulu menggunakan standar JPEG2000 sebelum ditransmisikan seperti penelitian Mowafi (2012). Perbedaan dari penelitian ini dengan Mowafi (2010, 2012) adalah sistem operasi yang digunakan, penelitian Mowafi (2010, 2012) menggunakan TinyOS sedangkan penelitian ini menggunakan embedded Linux. Selain itu tidak ada penelitian (dari pengetahuan penulis) yang membahas skema transmisi citra pada JSVN IEEE 802.15.4 Zigbee khususnya di embedded system Imote2 Linux. Inti dan perbedaan mendasar dari penelitian ini terhadap yang lain adalah dibuat program transmisi citra dalam bahasa C dan skema agar dapat berfungsi sebagai testbed di Imote2 Linux.
Daya listrik merupakan tenaga listrik, secara matematis didefinisikan sebagai energi listrik yang dihasilkan per waktu.
P=dw/dt (2.1)
Dimana:
p = daya listrik (watt)
w = energi listrik (joule)
t = waktu (detik)
Daya listrik dapat dibentuk dari perkalian tegangan listrik dan arus listrik. Jika tegangan listrik adalah energi listrik rata-rata per muatan listrik, dan arus listrik merupakan muatan listrik yang mengalir tiap detik maka perkalian kedua variabel tersebut menghasilkan daya listrik (Irwin, 1993).
V=dw/dq, I=dq/dt, VI=(dw/dq)(dq/dt)=(dw/dt)=P (2.2)
Dimana:
V = tegangan listrik (volt)
q = muatan listrik (coloumb)
I = arus listrik (ampere)
Standar ini merupakan kerjasama antar IEEE (Institute of Electronic and Electrical Engineer) dan ZigBee. IEEE fokus mengembangkan standar pada layer dibawahnya yaitu PHY (Physical) layer dan MAC (Media Access Control) atau datalinklayer. Sedangkan ZigBee fokus mengembangkan layer diatasnya, sampai application layer. Standar IEEE 802.15 khusus pada WPAN (Wireless Personal Area Network) dengan tujuan konsumsi daya listrik rendah, jarak pendek, dan ukuran alat kecil. Jika 802.15.1 (bluetooth) merupakan standar menengah, 802.15.3 merupakan HR(high rate)-WPAN dengan data rate tinggi, maka 802.15.4 merupakan LR(low rate)-WPAN dengan data rate rendah namun konsumsi daya listrik rendah. Sedangkan 802.15.2 merupakan standar untuk menghubungkan antar jenis perangkat wireless (Ergen, 2004).
Gambar 2.10 Arsitektur standar IEEE 802.15.4 ZigBee (Daintree Network, 2006)
Merupakan layer paling bawah yang mengatur transmisi. Pembentukan symbol menggunakan modulasi O-QPSK (Offset Quadriture Phase Shift Keying) untuk mengurangi konsumsi pada transmisi. Operating frequency bands dibagi atas 27 channel berdasarkan DSSS (Direct Sequence Spread Spectrum) seperti pada gambar 2.11.
Gambar 2.11 Operating frequency band (Ergen, 2004)
Channel 0 berada pada frekuensi 868.3 MHz dengan data rate 20 Kbps, channel 1-10 berada pada frekuensi 902 Mhz dengan jarak antar channel 2 MHz dengan data rate 40 Kbps, dan channel 11-26 berada pada frekuensi 2.4 GHz dengan jarak antar channel 5 MHz dengan data rate 250 Kbps. Sensitivitas minimum channel 0-10 -92dBm sedangkan channel 11-26 adalah 85 dBm (Ergen, 2004), selengkapnya dapat dilihat pada tabel 2.1.
Tabel 2.1 Frequency bands and data rates (Ergen, 2004)
Fitur dari PHY layer (Ergen, 2004):
Gambar 2.12 Format PPDU (Ergen, 2004)
MAC layer merupaka layer yang mengatur aliran data dari PHY layer menuju network layer dan sebaliknya. Suatu perangkat dapat berupa FFD (Full Function Device) atau RFD (Reduced Function Device). Suatu FFD dapat berfungsi sebagai PAN (Personal Area Network) coordinator, coordinator, atau member. MAC layer mengatur perangkat sebagai berikut (Ergen, 2004):
Gambar 2.13 Beacon frame
Gambar 2.14 Superframe structure
Dari struktur pada gambar 2.14 terlihat ada 3 periode. Pada periode inactive perangkat dalam keadaan tidak aktif. Pada periode CFP (Contention Free Period) terdapat GTS (Guaranteed Time Slot) dari channel 11-15, perangkat lain yang hendak berhubungan dengan perangkat dalam keadaan CFP langsung dapat berhubungan. Sedangkan pada CAP (Contention Access Period) perangkat harus bersaing menggunakan slotted CSMA-CA untuk berhubungan. Algoritma CSMA-CA dapat dilihat pada gambar 2.15.
Gambar 2.15 Algoritma CSMA-CA
Gambar 2.16 Data frame
Gambar 2.17 Acknowledgment frame
Gambar 2.18 General MAC frame format
Gambar 2.19 MAC Command Frame
Network layer mengatur jaringan termasuk mekanisme routing. Pada layer ini secara umum menggunakan dua algoritma yaitu AODV (Ad Hoc On Demand Distance Vector) dan Cluster-Tree algorithm milik Motorola (Ergen, 2004).
Gambar 2.20 Multicluster network
Layer ini terdiri dari application framework dan application support (APS) sublayer. Application framework mengatur komunikasi yang menghubungkan antara end-user dengan layer dibawah application. Sedangkan application support sublayer mengatur hubungan antara application framework dan network layer, secara spesifik mengatur application profile, cluster, dan endpoints. Application profile menggambarkan sekumpulan perangkat yang berkerja pada suatu aplikasi spesifik, contohnya application profile untuk home automation system dan commercial, industry dan institutional. Suatu perangkat pada sebuah application profile berkomunikasi dalam sebuah cluster, contohnya pada home automation profile terdapat cluster yang mengatur subsistem pencahayaan. Sedangkan endpoints merupakan entitas komunikasi, yang telah ditentukan mengenai aplikasi yang dijalankan contohnya tombol pada remote control.
Hal yang penting dari application support sublayer adalah binding, dimana disini diartikan sebagai penghubung antar endpoints contohnya untuk menghidupkan lampu dengan tombol pada remote. Binding dapat bersifat direct maupun indirect. Hubungan langsung antara remote dengan lampu merupakan direct binding. Yang bersifat indirect binding terdapat penerus diantara remote dengan lampu, biasanya terdapat cluster library. Perintah pada cluster library ada yang dapat dipakai bersama, hanya perlu ditambahkan cluster ID pada perintah tersebut, contohnya perintah on/off yang perlu ditambahkan cluster ID terhadap perangkat yang dituju (Daintree Network, 2006).
Fragmentation dan reassembly tidak dilakukan pada NWK layer oleh karena itu harus dikembangkan aplikasi pada application layer untuk fragmentation dan reassembly serta disesuaikan untuk transmisi citra (Pekhteryev, 2005).
Imote2 merupakan platform pada perangkat JSN yang dikembangkan oleh Intel Research pada bagian penelitian Platform X. Perangkat ini dibangun dengan konsumsi daya listrik yang rendah, dengan processor PXA271 XScale CPU, dan terintegrasi pada IEEE 802.15.4 ZigBee (Stanford, 2013). Processor ini (Intel Xscale processor PXA271) dapat beroperasi pada tegangan rendah (0.85V) dan frekuensi 13MHz hingga 104MHz. Frekuensi dapat dinaikkan hingga 416MHz dengan mengatur tegangan. Secara umum Imote2 terdiri dari 4 bagian seperti terlihat pada Gambar 2.21.
Gambar 2.21 Imote2 (a) radio processor board (IPR2400) (b) interface board (IIB400) (c) sensor board (IMB400)(d) power supply board (IBB2400).
Spesifikasi IPR2400 dapat dilihat sebagai berikut (crossbow, 2007):
Spesifikasi IIB400 dapat dilihat sebagai berikut (crossbow, 2007):
Spesifikasi IMB400 dapat dilihat sebagai berikut (crossbow, 2007):
Spesifikasi IBB2400 dapat dilihat sebagai berikut (crossbow, 2007):
JPEG2000 merupakan standar kompresi citra yang dikembangkan oleh JPEG (Joint Photographic Expert Group) sekitar tahun 2000 dengan harapan standar kompresi citra ini yang berdasarkan DWT (Discrete Wavelet Transform) memberikan kualitas yang lebih baik dari pada standar kompresi citra sebelum yang dikembangkan pada tahun 1992 yaitu JPEG yang berdasarkan DCT (Discrete Cosine Transform). Adapun keunggulan JPEG2000 dengan JPEG sebagai berikut:
Secara umum teknis dari kompresi citra JPEG2000 dapat dilihat pada gambar 2.22 dan sebaliknya bersifat terbalik.
Gambar 2.22 Teknik kompresi citra JPEG2000 secara umum
Standar kompresi citra JPEG2000 diatur pada ISO/IEC 15444 yang terdiri dari 14 bagian, karakteristik dasar dari JPEG2000 diatur pada bagian pertama yaitu ISO/IEC 15444-1 core coding system. Pengkodean pada JPEG2000 dapat dilihat pada gambar 2.23.
Gambar 2.23 Pengkodean JPEG2000
Sebelum citra dapat dilakukan DWT, maka citra tersebut harus dikonversi menjadi sinyal. Hal tersebut dilakukan pada bagian codestream syntax. Pada bagian ini terdapat header baik header inti atau header tile. Header terdiri dari beberapa marker segment yang mengandung informasi minimalis mengenai suatu komponen, contohnya besar tile, ROI (Region of Interest), dan kuantisasi, dapat dilihat pada Tabel 2.2 dan Tabel 2.3 (Boliek, 2000).
Tabel 2.2 Daftar marker segment 1
Tabel 2.3 Daftar marker segment 2
Pada bagian ini dilakukan pembagian suatu citra menjadi beberapa komponen. Pada bagian inilah dilakukan tiling seperti gambar 2.24 yaitu pembagian citra menjadi kotak-kotak, sehingga pengkodean tidak harus dilakukan pada seluruh citra, pengkodean dapat dilakukan pada bagian tertentu, contohnya peningkatan resolusi dapat dilakukan pada bagian tertentu tidak harus seluruh citra.
Gambar 2.24 Tiling
Setelah itu tile-tile tersebut dibagi atas beberapa resolusi dan sub-band antara lain terdapat sub-band LL, LH, HL, dan HH seperti pada Gambar 2.25. Resolusi dibagi menjadi precincts, dan sub-band dibagi menjadi code-blocks. Data tersebut didistribusi pada 1 atau lebih layer dimana informasi kandungan masing-masing layer disimpan dalam paket. Terakhir adalah progression order yang memungkinkan multiresolusi, tingkat resolusi akan meningkat seiring dengan pengiriman data, dengan kata lain tidak perlu mengambil semua data untuk menampilkan citra (Boliek, 2000).
Gambar 2.25 Contoh perubahan progression order 2 dimensi
Setelah mendapatkan koefisien tahap selanjutnya adalah arithmetic entropy coding dimana suatu informasi direpresentasikan dalam bentuk digital. JPEG2000 menggunakan Elias entropy coding dimana suatu integer positif x direpresentasikan sebagai 1 + floor(log(2)x). Karena citra telah dibagi atas beberapa tile maka coding dilakukan pada masing-masing tile (Boliek, 2000).
Pada bagian ini informasi yang penting atau langka muncul disaring. Masing-masing koefisien pada sub-band telah dibagi menjadi code blocks seperti gambar 2.26.
Gambar 2.26 Code block
Setelah itu code block siap untuk memasuki coding passes. Coding passes terdiri dari 3 yaitu (Boliek, 2000):
Kuantisasi merupakan proses pembulatan koefisien. Pada JPEG2000 digunakan rumus 2.3 untuk mencari stepsize kemudian menggunakan rumus 2.4 kuantisasi (Boliek, 2000).
∆b=2Rb−εb(1+(μb/2)) (2.3)
∆b : stepsize
Rb : dinamic range sub-band b
εb : eksponen
μb : mantisa
q(u,v)=sign(ab(u,v))(ab(u,v)/∆b) 2.4
Pada standar JPEG2000 FDWT (Foward Discrete Wavelet Transform) dilakukan pada masing-masing tile. FDWT melewati koefisien tile dengan low pass filter dan high pass filter untuk mendapatkan koefisien low pass dan koefisien high pass. Level pertama FDWT menghasilkan sub-band LL (Low-Low) yang terdiri koefisien low pass vertical dan low pass horizontal, LH (Low-High) yang terdiri koefisien low pass vertical dan high pass horizontal, HL (High-Low) yang terdiri koefisien high pass vertical dan low pass horizontal, dan HH (High-High) yang terdiri koefisien high pass vertical dan high pass horizontal. Level seterusnya dilakukan FDWT pada sub-band LL, dan sub-band LL baru yang dihasilkan tergantung level yang ditentukan seperti gambar 2.27. Koefisien low pass vertical didapatkan dengan mengaplikasikan low pass filter terhadap tile secara vertikal sedangkan koefisien low pass horizontal didapatkan dengan mengaplikasikan low pass filter terhadap tile secara horizontal dan seterusnya. Pada sisi decoder dilakukan proses IDWT (Inverse Discrete Wavelet Transform) yaitu proses kebalikan dari FDWT (Boliek, 2000).
Gambar 2.27 Foward Discrete Wavelet Transform
Forward DC level shift dilakukan sebelum melakukan FDWT. Setelah melakukan forward DC level dapat dilakukan forward component transform untuk mengefisienkan kompresi, namun proses ini boleh tidak dilakukan seperti gambar 2.28 (Boliek, 2000).
Gambar 2.28 DC level shift sebelum transformasi
ROI (Region of Interest) merupakan bagian citra yang akan dikodekan pada codestream terlebih dahulu dengan tujuan bagian ini diberikan kualitas yang lebih besar. Metode yang digunakan adalah Maxshift. Secara umum terdiri dari 4 langkah (Boliek, 2000).
PSNR (Peak Signal to Noise Ratio) merupakan suatu ukuran umum digunakan untuk mengukur kualitas citra yang telah diolah terhadap aslinya. Pertama dilakukan perhitungan kesalahan terhadap citra yang telah diolah f(x,y) terhadap citra asli g(x,y). Setelah didapatkan nilai MSE (Mean Square Error) yang akan digunakan untuk mencari nilai PSNR (Shi, 2007).
e(x,y)=f(x,y)− g(x,y) (2.5)
e : error
f : citra terolah
g : citra asli
x : koordinat horisontal
y : koordinat vertikal
MSE=(1/MN)ΣM-1x=0ΣN-1y=0e(x,y)2 (2.6)
MSE : Mean Square Error
M : dimensi horisontal citra
N : dimensi vertikal citra
PSNRdB=10log10(2552/MSE)dB (2.7)
PSNR : Peak Signal to Noise Ratio dalam decibel
Pengamatan dan pengambilan data dilakukan di Laboratorium Sistem Komunikasi, Jurusan Teknik Elektro, Fakultas, Universitas Udayana, Jimbaran dan di ruang konferensi, GDLN, Kampus Sudirman, Universitas Udayana. Rencana jadwal penelitian dimulai dari akhir bulan Mei 2014 dan harus selesai sebelum akhir Nopember 2014 lebih detail terdapat di bagian Lampiran.
Sumber data dapat dikelompokkan 2 jenis:
Jenis data juga dikelompokkan menjadi 2 jenis:
Instrumen penelitian dapat dilihat pada Tabel 3.1 – Tabel 3.5. Perangkat JSVN Imote2 dapat dilihat pada Gambar 2.10.
NO | Instrumen | Spesifikasi | Fungsi |
---|---|---|---|
1 | Laptop | Intel® Pentium® dual – core processor T4200 (2.0 GHz, 800 MHz FSB, 1 MB L2 cache) | Sebagai pemberi perintah dalam transmisi. |
Mobile Intel® Graphics Media Accelerator 4500MHD | |||
1GB DDR2 | |||
128 WXGA Acer CrystalBriteTM LCD | |||
250GB HDD | |||
Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet Controller | |||
Atheros Communications Inc. AR928X Wireless Network Adapter | |||
Operating System Kali Linux 1 32 bit | |||
2 | Perangkat JSVN Imote2 | Radio board (IPR2400/IPR2410). | Tranceiver sebagai pengirim citra, receiver sebagai penerima citra. |
Multimedia Sensor board (IMB400). | |||
Interface board (IIB400). | |||
Power Supply Board (IBB2400). | |||
Sistem operasi Embedded Linux 2.6.29.1 RC 1.1 untuk ARM | |||
Radio board (IPR2400/IPR2410). | PXA271 XScale® processor @ [13–416] Mhz. | Sebagai perangkat yang melakukan komputasi dan penyedia media komunikasi radio untuk transmisi nirkabel. | |
Wireless MMX coprocessor. | |||
256kB SRAM, 32MB FLASH, 32MB SDRAM. | |||
Integrated 802.15.4 radio, support for external radios through SDIO and UART. Max data rate 250 Kbps point-to-point. | |||
Integrated 2.4GHz antenna. | |||
Multicolor status indicator LED. | |||
Basic and advanced expansion connectors supporting : 3xUART, I2C, 2xSPI, SDIO, I2S, AC97, USB host, Camera I/F, GPIO. | |||
Mini-USB port for direct PC connection. | |||
Size: 48 mm x 36 mm. PCB thickness 1.75 mm | |||
Multimedia Sensor board (IMB400). | Camera | ||
Image resolution up to 640x480 pixels, 30 fps max. RGB, YcbCr or YUV formats. | |||
Hardware image scaling and filtering – automatic exposure, gain, white balance, black level. | |||
Image controls include saturation, hue, gamma, sharpness. | |||
Audio Codec | |||
Sampling rates up to 48kHz, mono. | |||
SNR > 94dB, THD < -80dB | |||
Programmable filters for noise suppression. | |||
PIR Sensor | |||
Maximum range ~ 5m. Detection Angles 80-100 degrees | |||
Interface board (IIB400). | Mote connectors 2x Advanced (male/female). | Sebagai penghubung antar radio processor board dengan sensor board atau perangkat lainnya. | |
USB connector mini-B female. | |||
Serial port A virtual UART with RTS/CTS flow control. | |||
Sertial port B virtual UART without hardware flow control. | |||
JTAG port standard 20-pin connector. | |||
Size 48mm x 36mm x 14m. Weight 11g | |||
3 | Kabel USB | Sebagai penghubung PC dengan JSVNplatform Imote2. | |
4 | Multimeter | Sebagai pengukur konsumsi daya listrik. |
Bahan penelitian merupakan citra yang ditangkap dari sensor kamera perangkat JSVN Imote2 pada tanggal 9 Mei 2014 di Laboratorium Sistem Komunikasi, Jurusan Teknik Elektro, Universitas Udayana dengan format Portable Pixelmap Graphic (.ppm), resolusi 480 x 640 pixel pada Gambar 3.1, dengan besar file 921.6 KB, dan media transmisi berbasis IEEE 802.15.4 Zigbee.
Gambar 3.1 Bahan penelitian
Secara keseluruhan tahap penelitian terdiri dari 2 tahap. Tahap pertama adalah tahap prosedur pengimplementasian transmisi citra menggunakan media transmisi IEEE 802.15.4 Zigbee pada JSVN platform Imote2 dengan sistem operasi embedded Linux. Dijelaskan mekanisme agar dapat mentransmisikan citra. Tahap kedua adalah testbed menguji kinerja JSVN dalam transmisi citra. Kinerja ditentukan oleh konsumsi daya listrik, waktu yang dibutuhkan untuk transmisi, dan besar memory yang digunakan. Secara umum gambaran tahapan dapat dilihat pada Gambar 3.2.
Gambar 3.2 Skema dasar penelitian
Radio di Imote2 dengan OS Linux dijalankan menggunakan driver Tosmac. Disediakan script oleh Tosmac untuk transmit dan receive yang akan disesuaikan untuk transmisi citra, dapat dilihat sebagai berikut:
Testbed menggunakan 2 perangkat JSVN Imote2 dimana satu berfungsi sebagai transmitter dan satunya lagi berfungsi sebagai receiver. Pada transmitter dilakukan penangkapan citra dengan sensor kamera. Pada transmitter dilakukan transmisi citra ke receiver melalui media nirkabel berbasis IEEE 802.15.4 Zigbee. Penangkap citra telah dilakukan di penelitian sebelumnya, oleh karena itu hanya diamati pada kompresi dan transmisi. Citra yang ditransmisi terdapat 2 jenis yaitu citra raw dari hasil penangkapan sensor IMB400 dan citra raw yang diolah berdasarkan standar JPEG2000 dengan rasio 1, 5, dan 10 dimana rasio adalah pembatas kapasitas saluran. Rasio 5 berarti jumlah bit dari citra terkompresi dibatasi maksimal 1/5 dari jumlah bit aslinya, dan rasio 10 bearti dibatasi maksimal 1/10 dari jumlah bit aslinya.
Pada saat transmisi dilakukan pengukuran konsumsi daya listrik, memory, dan waktu pada transmitter. Pengukuran konsumsi daya listrik menggunakan multimeter dengan obyek pengukuran adalah baterai pada power supply board (IBB2400). Pengukuran daya listrik dilakukan dengan mengukur drop tegangan dan drop arus, dengan kata lain adalah selisih nilai daya listrik sebelum penelitian dan sesudah penelitian. Secara khusus mengukur konsumsi daya listrik dimulai dari pemberian perintah untuk transmisi oleh komputer hingga citra selesai ditransmisikan, demikian pula konsumsi waktu. Pengukuran konsumsi dimulai dari pemberian perintah oleh komputer bukan dari dimulainya transmisi citra karena juga melibatkan aspek sistem operasi yang digunakan yaitu embedded Linux. Data hasil pengukuran adalah dari satu kali penelitian. Memory berdasarkan tampilan dari Terminal saat akses transmitter. Citra yang telah ditransmisi dilakukan pengukuran PSNR. Secara umum testbed dapat dilihat pada Gambar 3.3, Skenario akan dijelaskan pada bagian berikut:
Gambar 3.3 Skema testbed
Gambar 3.4 Peta lab sistem komunikasi penelitian jarak 5 meter
Gambar 3.5 Lab sistem komunikasi penelitian jarak 5 meter
Gambar 3.6 Peta lab sistem komunikasi penelitian jarak 10 meter
Gambar 3.7 Lab sistem komunikasi penelitian jarak 10 meter
Gambar 3.8 Peta ruang konferensi penelitian jarak 15 meter
Gambar 3.9 Ruang konferensi penelitian jarak 15 meter
Pada bagian ini akan digambarkan tahap penelitian secara diagram alur / flowchart pada Gambar 3.10, Gambar 3.11, dan Gambar 3.12. Penelitian keseluruhan sebagai berikut:
Gambar 3.10 Alur penelitian 1
Gambar 3.11 Alur Penelitian 2
Gambar 3.12 Alur Penelitian 2
Secara keseluruhan pada BAB ini dibahas program transmisi citra, Imote2 Linux sebagai testbed dari kompilasi program transmisi dan software kompresi JPEG2000 hingga pemberian perintah secara nirkabel ke Imote2 yang bertugas sebagai pengirim, dan bagian akhir pada BAB ini ditampilkan dan dianalisa kinerja dari perangkat Imote2. Dari hasil penelitian ternyata melakukan kompresi sebelum transmisi sangat membantu untuk meringankan beban transmisi, dan menariknya proses kompresi itu sendiri tidak terlalu membebankan perangkat, sehingga sangat dianjurkan untuk menggunakan kompresi.
Inti dari penelitian ini adalah agar Imote2 Linux dapat difungsikan sebagai testbed. Jika diringkas kembali, penelitian sebelumnya telah berhasil mengembed Linux ke JSVN platform Imote2 dan mentransmisi data acak, maka di penelitian ini adalah untuk mentransmisikan data citra. Kode program pada subbab 3.4.1 adalah program untuk mengirim data karakter maksimal 28 byte, kemudian ditampilkan di layar. Untuk mengirim citra yang dalam bentuk file, kode tersebut harus dimodifikasi agar di sisi pengirim dapat membaca dan mengirim file, dan di sisi penerima dapat menerima dan menyimpan file tersebut (tidak sebatas ditampilkan di layar), juga harus dapat mentransmisikan file lebih dari 28 byte.
Proses agar Imote2 Linux dapat berfungsi sebagai testbed dapat diringkas pada Gambar 4.1. Pertama membuat kode program, lebih lengkap dibahas di subbab 4.1. Kemudian program dikompilasi di subbab 4.2 dan subbab 4.3, dan diembed ke Imote2, illustrasi dapat dilihat pada Gambar 4.2. Terakhir Imote2 dikonfigurasi agar dapat menerima perintah via radio, dengan kata lain setelah transmitter dihidupkan, siap untuk menerima perintah, dapat diilustrasikan pada Gambar 4.3. Perintah dapat berupa mengkompresi, maupun mentransmisi citra seperti illustrasi pada Gambar 4.4. Hal ini dilakukan karena transmitter ditenagai dengan baterai (tanpa kabel), sehingga komunikasi hanya tersedia lewat radio.
Gambar 4.1 Alur diagram implementasi testbed
Gambar 4.2 Illustrasi kompilasi dan embed program
Gambar 4.3 Illustrasi ketika startup
Gambar 4.4 Illustrasi testbed
Transmisi menggunakan radio pada Imote2. Di penelitian sebelumnya dijelaskan pada subbab 2.1, menggunakan driver dari Tosmac untuk menjalan radio di Imote2 Linux, disini tetap menggunakan driver yang sama. Untuk transmisi diperlukan 2 program yaitu program untuk mengirim dan menerima. Kedua program tersebut ditulis dalam bahasa C. Khusus pada penelitian ini mengikuti ketentuan dari header tosmac yaitu payload data yang dikirim maksimal 28 byte. Secara keseluruhan di sisi pengirim membaca file citra yang akan dikirim, di penerima akan membuat file baru dan menulis data yang diterima ke file tersebut. Pengiriman dilakukan secara bertahap dengan memecah tile masing-masing berukuran 28 byte (tidak sekaligus).
Sintaks berikut ini menunjukkan program pengirim dengan nama file “send_file_advance.c” yang dilakukan pada penelitian ini dan dijelaskan sebagai berikut:
Baris 1 – 8 merupakan komentar berisi informasi pembuat program dan penulis yang memodifikasi. Komentar dapat ditandai dengan “//” atau dimulai ”/” dan diakhiri dengan “/” (yang tidak bold). Baris 5 merupakan penulis pertama dari program, sedangkan baris 8 merupakan nama penulis yang memodifikasi program.
Baris 9 – 13 menunjukkan header yang digunakan pada program ini, header berisi definisi kode yang digunakan. Untuk menggunakan header dapat menggunakan karakter “#”, karakter ini menunjukkan script yang dibutuhkan oleh program. Di baris 9 terdapat “stdio.h” merupakan header dasar untuk semua program bahasa C yang mendefinisikan perintah “printf” untuk menampilkan ke layar, “while” untuk looping, serta operasi arithmetic, dan masih banyak lainnya. Baris 10 “Fcntl.h” mendefinisikan perintah “open” untuk membuka file serta “close” untuk menutup dan “create” untuk membuat, baris 11 “unistd.h” mendefinisikan perintah “read” untuk membaca file dan “write” untuk menulis data ke file, dan baris 13 “tosmac.h” mengatur variable pada driver tosmac (radio).
Baris 14 – 30 ditulis dalam bentuk fungsi “msg_init” merupakan fungsi untuk menginisialisasikan variable pada paket seperti address, group, dan payload yang terdapat pada header “tosmac.h” untuk ditransmisikan.
Inti program “int main” dimulai dari baris 32.
Baris 33 – 37 terdapat pemeriksaan error bila perintah yang dimasukkan tidak sesuai, Baris 39 – 43 adalah bagian deklarasi variable, Baris 44 – 51 membuka radio, baris 52 – 55 membuka file, dan baris 56 – 61 menentukan paket. Pada baris 32 “int main” terdapat “int argc, int argv[]” agar program dapat dieksekusi dengan memilih file yang diinginkan “./send_file_advance argv[1]”, seperti yang didefinisikan pada baris 53 “file = open(argv[1], O_RDWR)”. Jika tidak terdapat input maka akan menampilkan cara penggunaan program di baris 35 yaitu “./send_file_advance file” yang diatur pada pernyataan “if(argv[1]==NULL)” baris 34, dan baris 36 “return 1” untuk memberik kode error pada program jika input sesuai dengan pernyataan baris 34. Baris 45 “tosmac_dev = open(TOSMAC_DEVICE, O_RDWR)” adalah untuk membuka radio dimana “TOSMAC_DEVICE” merupakan “/dev/tosmac” seperti didefinisikan pada “tosmac.h”, “O_RDWR” agar file dibuka read & write, dapat dilihat pada “fcntl.h”. Baris 55 “file_size = lseek(file,0,SEEK_END)” untuk mencari ukuran file dengan menuju ke bit terakhir dari file untuk mengembalikannya ke bit awal dengan kode “lseek(file,0,SEEK_SET)”. Didefinisikan paket yang akan dikirim adalah “TOS_Msg send_pkt” (baris 42) dan yang diterima “TOS_Msg recv_pkt” (baris 43), dimana “TOS_Msg” adalah struktur paket yang didefinisikan di “tosmac.h”. Baris 57 “send_pkt.addr = 99” menentukan agar address pada pengirim adalah 99. Baris 58 “h” merupakan jumlah paket dengan membagi besar file dengan maksimal data payload “TOSH_DATA_LENGTH”, disini adalah 28, sedangkan nilai “i” (baris 59) merupakan sisa pembagian dari “h” yang merupakan byte terakhir yang akan dikirim.
Baris 62 – 85 merupakan proses transmisi dan baris 85 – 96 adalah transmisi yang terakhir. Proses transmisi terdapat dalam baris 62 while loop dimana file dikirim setiap 28 byte. Looping akan berhenti jika “j” mencapai nilai “h” (jumlah paket). Sebelum transmisi ditunggu informasi dari penerima yang berisi jumlah paket yang diterima pada baris 68 “read(tosmac_dev, (TOS_Msg*)&recv_pkt, sizeof(TOS_Msg))” (kode ini akan membaca data yang diterima radio “tosmac_dev” sebesar “sizeof(TOS_Msg)” yang kemudian ditulis ke pointer “&recv_pkt”). Nilai yang terkandung dalam “recv_pkt” akan dimasukkan ke “j” (baris 70). Operasi arithmetic pada “k” (baris 72) mengkonversi jumlah paket ke jumlah byte yang diterima. Setelah itu akan menuju ke byte berikutnya yang akan dikirim pada baris 73 “lseek(file,k,SEEK_SET)”. Kemudian Pada baris 75, sizeof(TOS_Msg))” (kode ini akan menulis “&send_pkt” sebesar “sizeof(TOS_Msg)” ke “tosmac_dev”). Setelah while loop adalah pengiriman byte terakhir “i” yang merupakan sisa pembagian dari “j”, terakhir akan mengirim kode “0S0T1O1P0” ke receiver untuk memberi tahu bawha transmisi telah berakhir.
Baris 97 – 101 penutupan radio dan file serta akhir program, kode “close” untuk menutup file yang didefinisikan pada “fcntl.h”.
Sintaks berikut menunjukkan program penerima dengan nama file “recv_file_advance.c” yang dilakukan pada penelitian dan secara keseluruhan program penerima mirip dengan program pengirim, dengan kata lain hanya sedikit perbedaan dapat dijelaskan sebagai berikut:
Baris 1 – 8 merupakan komentar berisi informasi pembuat program dan penulis yang memodifikasi.
Baris 9 – 13 menunjukkan header yang digunakan pada program ini, header berisi definisi kode yang digunakan.
Baris 14 – 30 merupakan fungsi untuk menginisialisasikan variable pada paket untuk ditransmisikan.
Inti program dimulai dari baris 32.
Baris 33 – 37 terdapat pemeriksaan error bila perintah yang dimasukkan tidak sesuai.
Bari 38 – 41 adalah bagian deklarasi variable.
Baris 42 – 49 membuka radio.
Baris 50 – 56 membuka file di bagian ini bila file tidak ditemukan maka akan membuat file baru dengan fungsi “creat” baris 54.
Baris 60 – 81 merupakan proses transmisi. Di proses transmisi didalam while loop yang tidak terbatas, awalnya dibaca banyaknya byte yang telah diterima oleh file (besar file) di baris 62 “lseek(file,0,SEEK_END)” dan sekaligus menuju ke akhir file. Di baris 63 besar file dimasukkan ke “send_pkt.data[1]” dan di baris 64 dikirim ke transmitter untuk memberi tahu byte yang keberapa yang harus dikirim. Di program ini nilai dimulai dari -3000 agar dapat menentukkan nilai yang lebih besar karena masksimal nilai adalah kurang lebih 3000 sedangkan nilai yang perlu dikirim lebih dari 3000. Untuk melakukan hal ini perlu ada perubahan pada “tosmac.h” pada bagian definisi paket di bagian. Untuk program ini tipe data “data” berubah dari “s8” menjadi “s16”, perubahahan adalah meningkatkan jumlah bit yang digunakan. Jika ditetapkan demikian nilai maksimimal pada “send_pkt.data[1]” hanya dibawah 1000. Semua hal ini dilakukan agar transmisi dapat dilanjutkan kembali bila putus dan menekan error. Di program ini diisi “alarm(2)” pada baris 65 bearti program akan berhenti (time out) bila 1 while loop melebih waktu 2 detik. Jika ini terjadi transmisi dapat dilanjutkan (resume) dengan menjalankan program ini kembali dengan menunjukkan file yang sama. Perbedaan lainnya terdapat di baris 72 “if(send_pkt.group=!7){continue;}” yang artinya jika paket yang diterima bukan group 7 agar diabaikan (ignore) dan lanjut ke loop berikutnya. Di baris 68 “if(strncmp(recv_pkt.data,”0S0T1O1P0”,9)==0){break;}” berarti jika string yang diterima “0S0T1O1P0” dan jumlah karakter adalah “9” maka patahkan while loop, ditentukan bahwa string ini merupakan tanda bahwa transmisi telah berakhir.
Baris 82 – 87 penutupan radio dan file serta akhir program.
Subbab ini berisi cara untuk mengkompilasi software Openjpeg-1.5.1 ke Imote2-Linux, dengan kata agar software untuk kompresi dapat dilakukan di perangkat. Compiler yang digunakan adalah linux-gcc-4.1.2-arm-xscale-linux-gnu-glibc-2.3.3 dengan dependencies lcms2, libpng, dan zlib, untuk disini lcms2-2.6, libpng-1.2.51, dan zlib-1.2.8.
Source yang didapatkan dikompresi dalam format tape archive gunzip. Perintah berikut untuk mengekstrak isi file terkompresi:
Baris 60 – 81 merupakan proses transmisi. Di proses transmisi didalam while loop yang tidak terbatas, awalnya dibaca banyaknya byte yang telah diterima oleh file (besar file) di baris 62 “lseek(file,0,SEEK_END)” dan sekaligus menuju ke akhir file. Di baris 63 besar file dimasukkan ke “send_pkt.data[1]” dan di baris 64 dikirim ke transmitter untuk memberi tahu byte yang keberapa yang harus dikirim. Di program ini nilai dimulai dari -3000 agar dapat menentukkan nilai yang lebih besar karena masksimal nilai adalah kurang lebih 3000 sedangkan nilai yang perlu dikirim lebih dari 3000. Untuk melakukan hal ini perlu ada perubahan pada “tosmac.h” pada bagian definisi paket di bagian. Untuk program ini tipe data “data” berubah dari “s8” menjadi “s16”, perubahahan adalah meningkatkan jumlah bit yang digunakan. Jika ditetapkan demikian nilai maksimimal pada “send_pkt.data[1]” hanya dibawah 1000. Semua hal ini dilakukan agar transmisi dapat dilanjutkan kembali bila putus dan menekan error. Di program ini diisi “alarm(2)” pada baris 65 bearti program akan berhenti (time out) bila 1 while loop melebih waktu 2 detik. Jika ini terjadi transmisi dapat dilanjutkan (resume) dengan menjalankan program ini kembali dengan menunjukkan file yang sama. Perbedaan lainnya terdapat di baris 72 “if(send_pkt.group=!7){continue;}” yang artinya jika paket yang diterima bukan group 7 agar diabaikan (ignore) dan lanjut ke loop berikutnya. Di baris 68 “if(strncmp(recv_pkt.data,”0S0T1O1P0”,9)==0){break;}” berarti jika string yang diterima “0S0T1O1P0” dan jumlah karakter adalah “9” maka patahkan while loop, ditentukan bahwa string ini merupakan tanda bahwa transmisi telah berakhir.
Perintah berikut untuk menambahkan lokasi file executeable compiler:
Dependencies tambahan pertama yang diminta adalah lcms2.
Perintah “cd” untuk masuk ke folder, “export” untuk memberi nilai ke suatu variable, disini “CROSS-PREFIX” didefinisikan di file “configure” pada zlib, jika dikompilasi untuk cross-compiler maka diberi nilai lokasi cross-compiler. Didalam file “configure” terdapat serangkaian configurasi, bila dijalankan akan dibentuk “Makefile” untuk kompilasi sesuai kebutuhan. Perintah “–prefix” untuk menambahkan lokasi instalasi. Perintah “make” untuk mengkompilasi berdasarkan file “Makefile” dan “make install” untuk menaruh hasil kompilasi ke tempat berdasarkan “–prefix”. Selanjutnya mengkompilasi zlib untuk compiler:
Di penelitian diperlukan perintah “–shared” agar dapat dideteksi oleh “libpng” saat konfigurasi. Setelah itu kompilasi libpng:
Perintah “cd” untuk masuk ke folder, “export” untuk memberi nilai ke suatu variable, disini “CROSS-PREFIX” didefinisikan di file “configure” pada zlib, jika dikompilasi untuk cross-compiler maka diberi nilai lokasi cross-compiler. Didalam file “configure” terdapat serangkaian configurasi, bila dijalankan akan dibentuk “Makefile” untuk kompilasi sesuai kebutuhan. Perintah “–prefix” untuk menambahkan lokasi instalasi. Perintah “make” untuk mengkompilasi berdasarkan file “Makefile” dan “make install” untuk menaruh hasil kompilasi ke tempat berdasarkan “–prefix”. Selanjutnya mengkompilasi zlib untuk compiler:
Di penelitian diperlukan perintah “–shared” agar dapat dideteksi oleh “libpng” saat konfigurasi. Setelah itu kompilasi libpng:
Berdasarkan file “configure” “–host” menentukan jenis platform kompilasi, disini adalah “arm-xscale-linux-gnu”, maka diperlukan “export” lokasi executable cross-compiler pada bagian awal subbab ini. Terakhir adalah kompilasi Openjpeg:
Secara keseluruhan subbab ini mengandung proses transmisi untuk penelitian ini. Awalnya memasukkan program transmisi dan Openjpeg hingga pada intinya perangkat dapat melakukan transmisi dengan batterai atau tanpa terkoneksi ke komputer.
Disini terdapat program tambahan, selain menggunakan program “recv” diperlukan 2 program tambahan yaitu program untuk mengirim perintah dan program untuk menerima perintah. Program pengirim perintah “send_command.c” sebagai berikut:
Keseluruhan penjelasan program pengirim perintah sama seperti penjelasan program transmisi. Secara khusus yang berbeda pada program ini terdapat pada baris 49 dimana karakter yang akan ditulis ke “send_pkt.data” yaitu “argv[1]” akan dikirim. Program ini sebatas mengirim karakter maksimal 28 byte. Berikut adalah program penerima perintah “recv_command.c”:
Keseluruhan penjelasan program penerima perintah sama seperti penjelasan program transmisi. Secara khusus yang berbeda pada program ini terdapat pada baris 49 dimana karakter yang diterima, terkandung dalam “recv_pkt.data” akan diperlakukan sebagai perintah. Hal ini dimungkinkan oleh fungsi “system” yang didefinisikan dalam “stdlib.h”.
Setelah kode program jadi, kode tersebut dikompilasi menggunakan “arm-xscale-linux-gnu-gcc”.
Selanjutnya ditempatkan di Imote2 dalam directory “/root/transmit”. Receiver terkoneksi di USB0 dengan alamat IP di komputer 192.168.98.100 dan di Imote2 192.168.98.101. Transmitter terkoneksi di USB1 dengan alamat IP di komputer 192.168.99.100 dan di Imote2 192.168.99.102. Koneksi antar Imote2 menggunakan SSH (secure shell) yang telah disiapkan di penelitian sebelumnya seperti dijelaskan pada BAB II subbab 2.1. Sebelum penempatan dibuat directory terlebih dahulu.
Perintah “mkdir” (make directory) untuk membuat folder baru. Untuk penelitian ini citra raw (Gambar 3.1) telah terkandung dalam directory “/root/image” dengan nama “1.ppm”. Jika directory telah siap maka program dimasukkan, sekaligus Openjpeg yang telah dikompilasi.
SCP merupakan perintah untuk copy data melalui SSH, “*” mengindikasikan semua file yang ada pada folder tersebut, “-r” untuk mengcopy suatu directory. Berikutnya hasil kompilasi Openjpeg ditempatkan pada directory yang sesuai.
Untuk memudahkan transmisi disiapkan beberapa perintah dalam bentuk file sebagai berikut:
File dari tabel diatas akan ditaruh ke directory “/root/command”.
Langkah terakhir untuk implementasi testbed adalah agar kedua Imote2 saat dihidupkan menyiapkan driver Tosmac untuk radio dan transmitter saat dihidupkan selalu siap untuk menerima perintah dari receiver. Penelitian ini menggunakan radio yang telah disiapkan pada penelitian sebelumnya. Untuk melakukan hal ini ditaruh 2 file startup di “/etc/rc2.d/”. File “S12loadtosmac” untuk radio dan file “S14infloop” untuk menerima perintah secara terus-menerus. Gambar 4.1 adalah contoh bila mengirim perintah “poweroff” untuk mematikan perangkat dan Gambar 4.2 merupakan contoh transmisi.
Gambar 4.5 Contoh pemberian perintah poweroff
Gambar 4.6 Contoh transmisi
Untuk melakukan transmisi citra tanpa kompresi dan terkompresi sebagai berikut:
Pengukuran PSNR menggunakan software ImageMagick. Citra yang dikompresi dengan format .j2k dikembalikan ke format .ppm dengan ukuran file menjadi seperti aslinya. Perintahnya adalah sebagai berikut:
Memory dapat dilihat saat aplikasi sedang berjalan dengan perintah:
Di bagian ini akan di analisa hasil data penelitian yang berupa konsumsi dari daya listrik, memory, dan waktu pada setiap proses transmisi, serta ditampilkan juga nilai PSNR dari citra yang telah dikirim. Jika diringkas kembali proses transmisi meliputi transmisi citra tanpa kompresi dan yang telah dikompresi berdasarkan standar JPEG2000 dengan software OpenJPEG 1.5.2 rasio 1, 5, dan 10, dilakukan pada jarak 5m, 10m, dan 15m.
Secara keseluruhan hasil dari data penelitian menunjukkan bahwa kompresi sangat berpengaruh terhadap transmisi. Untuk mendapatkan detil konsumsi daya listrik penelitian ini melakukan proses transmisi masing-masing pada jarak 5 meter, 10 meter, dan 15 meter.
Gambar 4.7 Konsumsi tegangan listrik 5 meter
Gambar 4.7 menunjukkan konsumsi tegangan listrik transmisi pada jarak 5 meter. Konsumsi tegangan menurun secara konstan terhadap rasio kompresi yang diaplikasikan. Selisih konsumsi tegangan listrik hanya ditransmisi citra tanpa kompresi dengan terkompresi lebih hemat 17 mV untuk rasio 1, 37 mV dan 44 mV untuk rasio 5 dan rasio 10. Jika dilibatkan konsumsi saat kompresi tetap lebih hemat. Selisih konsumsi tegangan listrik secara keseluruhan citra tanpa kompresi dengan terkompresi lebih hemat 2 mV untuk rasio 1, 27 mV dan 36 mV untuk rasio 5 dan rasio 10.
Gambar 4.8 Konsumsi tegangan listrik 10 meter
Gambar 4.8 menunjukkan konsumsi tegangan listrik transmisi pada jarak 10 meter. Konsumsi tegangan menurun secara konstan terhadap rasio kompresi yang diaplikasikan. Selisih konsumsi tegangan listrik hanya ditransmisi citra tanpa kompresi dengan terkompresi lebih hemat 18 mV untuk rasio 1, 36 mV dan 45 mV untuk rasio 5 dan rasio 10. Jika dilibatkan konsumsi saat kompresi tetap lebih hemat. Selisih konsumsi tegangan listrik secara keseluruhan citra tanpa kompresi dengan terkompresi lebih hemat 2 mV untuk rasio 1, 24 mV dan 35 mV untuk rasio 5 dan rasio 10.
Gambar 4.9 Konsumsi tegangan listrik 15 meter
Gambar 4.9 menunjukkan konsumsi tegangan listrik transmisi pada jarak 15 meter. Konsumsi tegangan menurun secara konstan terhadap rasio kompresi yang diaplikasikan. Selisih konsumsi tegangan listrik hanya ditransmisi citra tanpa kompresi dengan terkompresi lebih hemat 17 mV untuk rasio 1, 35 mV dan 45 mV untuk rasio 5 dan rasio 10. Jika dilibatkan konsumsi saat kompresi tetap lebih hemat. Selisih konsumsi tegangan listrik secara keseluruhan citra tanpa kompresi dengan terkompresi sama untuk rasio 1, 21 mV dan 34 mV untuk rasio 5 dan rasio 10.
Gambar 4.10 Konsumsi arus listrik 5 meter
Gambar 4.10 menunjukkan konsumsi arus listrik transmisi pada jarak 5 meter. Konsumsi arus listrik menurun terhadap rasio kompresi yang diaplikasikan. Selisih konsumsi arus listrik hanya ditransmisi citra tanpa kompresi dengan terkompresi lebih hemat 4.2 mA untuk rasio 1, 4.6 mA dan 5.4 mA untuk rasio 5 dan rasio 10. Jika dilibatkan konsumsi saat kompresi tetap lebih hemat. Selisih konsumsi arus listrik secara keseluruhan citra tanpa kompresi dengan terkompresi lebih hemat 2.8 mA untuk rasio 1, 3.3 mA dan 4.3 mA untuk rasio 5 dan rasio 10.
Gambar 4.11 Konsumsi arus listrik 10 meter
Gambar 4.11 menunjukkan konsumsi arus listrik transmisi pada jarak 10 meter. Konsumsi arus listrik menurun terhadap rasio kompresi yang diaplikasikan. Selisih konsumsi arus listrik hanya ditransmisi citra tanpa kompresi dengan terkompresi lebih hemat 4.7 mA untuk rasio 1, 4.7 mA dan 5.8 mA untuk rasio 5 dan rasio 10. Jika dilibatkan konsumsi saat kompresi tetap lebih hemat. Selisih konsumsi arus listrik secara keseluruhan citra tanpa kompresi dengan terkompresi lebih hemat 3.2 mA untuk rasio 1, 3.3 mA dan 4.6 mA untuk rasio 5 dan rasio 10.
Gambar 4.12 Konsumsi arus listrik 15 meter
Gambar 4.12 menunjukkan konsumsi arus listrik transmisi pada jarak 15 meter. Konsumsi arus listrik menurun terhadap rasio kompresi yang diaplikasikan. Selisih konsumsi arus listrik hanya ditransmisi citra tanpa kompresi dengan terkompresi lebih hemat 4.4 mA untuk rasio 1, 5.2 mA dan 6 mA untuk rasio 5 dan rasio 10. Jika dilibatkan konsumsi saat kompresi tetap lebih hemat. Selisih konsumsi arus listrik secara keseluruhan citra tanpa kompresi dengan terkompresi lebih hemat 2.7 mA untuk rasio 1, 3.7 mA dan 4.6 mA untuk rasio 5 dan rasio 10.
Gambar 4.13 Konsumsi daya listrik 5 meter
Gambar 4.13 menunjukkan konsumsi daya listrik transmisi pada jarak 5 meter. Konsumsi daya menurun secara drastis terhadap rasio kompresi yang diaplikasikan. Selisih konsumsi daya listrik hanya ditransmisi citra tanpa kompresi dengan terkompresi lebih hemat 268.4 mW untuk rasio 1, 319.6 mW dan 341 mW untuk rasio 5 dan rasio 10. Jika dilibatkan konsumsi saat kompresi tetap lebih hemat. Selisih konsumsi arus listrik secara keseluruhan citra tanpa kompresi dengan terkompresi lebih hemat 161.2 mW untuk rasio 1, 265.2 mW dan 312.1 mW untuk rasio 5 dan rasio 10.
Gambar 4.14 Konsumsi daya listrik 10 meter
Gambar 4.14 menunjukkan konsumsi daya listrik transmisi pada jarak 10 meter. Konsumsi daya menurun secara drastis terhadap rasio kompresi yang diaplikasikan. Selisih konsumsi daya listrik hanya ditransmisi citra tanpa kompresi dengan terkompresi lebih hemat 314 mW untuk rasio 1, 355.4 mW dan 390.4 mW untuk rasio 5 dan rasio 10. Jika dilibatkan konsumsi saat kompresi tetap lebih hemat. Selisih konsumsi arus listrik secara keseluruhan citra tanpa kompresi dengan terkompresi lebih hemat 193.2 mW untuk rasio 1, 280.2 mW dan 350.8 mW untuk rasio 5 dan rasio 10.
Gambar 4.15 Konsumsi daya listrik 15 meter
Gambar 4.15 menunjukkan konsumsi daya listrik transmisi pada jarak 15 meter. Konsumsi daya menurun secara drastis terhadap rasio kompresi yang diaplikasikan. Selisih konsumsi daya listrik hanya ditransmisi citra tanpa kompresi dengan terkompresi lebih hemat 318.4 mW untuk rasio 1, 396 mW dan 432 mW untuk rasio 5 dan rasio 10. Jika dilibatkan konsumsi saat kompresi tetap lebih hemat. Selisih konsumsi arus listrik secara keseluruhan citra tanpa kompresi dengan terkompresi lebih hemat 162 mW untuk rasio 1, 303.9 mW dan 378 mW untuk rasio 5 dan rasio 10.
Dari Gambar 4.7 – Gambar 4.15 dapat disimpulkan segi konsumsi daya listrik dan waktu proses kompresi sangat rendah tetapi dapat dengan signifikan meringankan beban transmisi sehingga sangat dianjurkan untuk digunakan. Dengan mengaplikasikan rasio kompresi yang lebih besar akan menurunkan konsumsi arus dan tegangan listrik saat transmisi otomatis daya listrik yang dikonsumsi lebih rendah. Juga seiring dengan meningkatnya rasio kompresi konsumsi arus dan tegangan listrik mengecil sehingga dipastikan dengan meningkatkan rasio kompresi akan meringankan beban transmisi. Semakin jauh jarak transmisi semakin besar konsumsi daya listrik, tetapi perbedaan antara jarak 5 meter, 10 meter, dan 15 meter tidak signifikan.
Selain dari konsumsi daya listrik, dari segi waktu juga terlihat drastis pengaruh dari kompresi, tetapi hampir tidak terlihat pengaruh dari segi jarak 5 meter, 10 meter, dan 15 meter. Gambar 4.16 menunjukkan waktu yang dibutuhkan untuk kompresi dan transmisi, sedangkan Gambar 4.17 merupakan waktu yang dibutuhkan secara keseluruhan yang merupakan gabungan dari kompresi dan transmisi.
Gambar 4.16 Konsumsi waktu kompresi dan transmisi
Gambar 4.16 menunjukkan kompresi memerlukan waktu yang singkat dan sangat memperndek waktu yang diperlukan untuk transmisi. Semakin besar rasio kompresi yang diaplikasikan semakin kecil waktu transmisi. Waktu kompresi memerlukan 25 – 30 detik. Waktu transmisi semakin kecil dari citra raw hingga citra yang dikompresi rasio 10 dengan nilai sekitar 10 menit 30 detik, 5 menit, 2 menit, dan 1 menit.
Gambar 4.17 Konsumsi waktu keseluruhan
Secara keseluruhan dari segi jarak tidak kelihatan berpengaruh akan tetapi kompresi, yang berperan untuk mempersingkat waktu transmisi. Citra yang terkompresi rasio 10 memerlukan waktu keseluruhan 1 menit 30 detik, rasio 5 2 menit 30 detik, rasio 1 4 menit 30 detik, dan 10 menit untuk citra yang tidak dikompresi.
Setelah dari segi waktu dilihat juga dari segi kualitas citra dengan menggunakan ukuran PSNR.
Gambar 4.18 PSNR citra setelah proses transmisi
Gambar 4.18 menunjukkan PSNR citra tanpa kompresi dan dikompresi setelah transmisi pada jarak 5 meter, 10 meter, 15 meter. Rasio 10 baik dari jarak 5 meter, 10 meter, dan 15 meter memiliki PSNR yang sama dengan nilai 40.6536, mirip pula dengan rasio 5 berkisar sekitar nilai 43.8. Pengaruh jarak terlihat di rasio 1 dan tanpa kompresi, untuk rasio 1 nilai PSNR sekitar 35 untuk jarak 5 meter dan 10 meter, dan turun secara signifikan di jarak 15 meter dengan nilai PSNR 24.7041. Pengaruh jarak dapat dilihat di citra tanpa kompresi, untuk rasio 5 dan 10 tidak terlihat pengaruh dari jarak. Pada citra tanpa kompresi nilai PSNR menurun dengan jarak yang semakin jauh, secara berurutan 5 meter, 10 meter, dan 15 meter, adalah 38.8494, 30.4678, 38.3421.
Maka dapat disimpulkan rasio 1 memiliki kualitas yang paling buruk setelah citra tanpa kompresi, sedangkan rasio 10 memiliki kualitas yang menjanjikan, dan rasio 5 menunjukkan kualitas yang paling baik. Dari segi penglihatan citra dengan PSNR dibawah 40 dB kelihatan jelas tidak seperti aslinya. Penyebabnya adalah error transmisi.
Gambar 4.19 Perbandingan penggunaan maksimal virtual memory
Gambar 4.19 memperlihatkan maksimal virtual memory yang digunakan, dan paling banyak digunakan pada saat kompresi. Untuk kompresi menggunakan maksimal virtual memory 14548 kB dan pengiriman menggunakan 1256 kB di transmitter, di penerima menggunakan maksimal virtual memory 2336 kB untuk penerimaan.
Gambar 4.20 Besar file citra
Gambar 4.20 memperlihatkan besar file citra tanpa kompresi dan terkompresi, besar file mengecil dengan mengaplikasikan rasio yang semakin besar. Besar file untuk citra tanpa kompresi adalah 921.6 kB, rasio 1 429.9 kB, rasio 5 184.2 kB, dan rasio 10 91.7 kB. Dari segi kualitas citra, citra asli dan terkompresi rasio 1 memiliki PSNR yang lebih rendah dari citra lainnya, dan kelihatan dari citra tersebut bahwa terjadi error transmisi. Maka semakin besar ukuran file semakin peka terhadap error.
Dari keseluruhan penelitian ini dapat disimpulkan sebagai berikut:
Dengan berhasilnya mentransmisikan citra pada Imote2 Linux, alat ini dapat digunakan baik untuk keperluan di lapangan maupun penelitian lebih lanjut. Berikut merupakan saran penelitian lanjutan:
Gambar 1. Citra asli
Gambar 2. Citra tanpa kompresi setelah transmisi 5 meter
Gambar 3. Citra tanpa kompresi setelah transmisi 10 meter
Gambar 4. Citra tanpa kompresi setelah transmisi 15 meter
Gambar 5. Citra terkompresi rasio 1 setelah transmisi 5 meter
Gambar 6. Citra terkompresi rasio 1 setelah transmisi 10 meter
Gambar 7. Citra terkompresi rasio 1 setelah transmisi 15 meter
Gambar 8. Citra terkompresi rasio 5 setelah transmisi 5 meter
Gambar 9. Citra terkompresi rasio 5 setelah transmisi 10 meter
Gambar 10. Citra terkompresi rasio 5 setelah transmisi 15 meter
Gambar 11. Citra terkompresi rasio 10 setelah transmisi 5 meter
Gambar 12. Citra terkompresi rasio 10 setelah transmisi 10 meter
Gambar 13. Citra terkompresi rasio 10 setelah transmisi 15 meter