1 2 ii PERNYATAAN MENGENAI TESIS DAN SUMBER INFORMASI Dengan ini saya menyatakan bahwa tesis Rancang Bangun Sistem Akuisisi Data Berbasis Wireless Sen...
RANCANG BANGUN SISTEM AKUISISI DATA BERBASIS WIRELESS SENSOR NETWORK (WSN) DAN INTERNET ACCESS UNTUK PENGUKURAN INDEKS STANDAR PENCEMAR UDARA (ISPU)
MUHAMAD AZIS
SEKOLAH PASCA SARJANA INSTITUT PERTANIAN BOGOR BOGOR 2012
ii
PERNYATAAN MENGENAI TESIS DAN SUMBER INFORMASI Dengan ini saya menyatakan bahwa tesis Rancang Bangun Sistem Akuisisi Data Berbasis Wireless Sensor Network (WSN) dan Internet Access untuk Pengukuran Indeks Standar Pencemar Udara (ISPU) adalah karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir tesis ini. Bogor, Juni 2012
Muhamad Azis NRP G751100041
iii
ABSTRACT MUHAMAD AZIS. Design of Data Acquisition System Based Wireless Sensor Network (WSN) and Internet Access to Measure Air Pollutant Standard Index (ISPU). Under direction of HUSIN ALATAS and KUDANG BORO SEMINAR. Design of data acquisition system based Wireless Sensor Network (WSN) with Zigbee/IEEE 802.15.4 protocol and internet access to measure Air Pollutant Standard Index (ISPU) has been built. Systems consist of four primary section viz. prototype of ISPU station, wireless data acquisitions systems (WDAS), graphical user interface (GUI) based desktop application, and graphical user interface (GUI) based web application. Each station consist of five sensor to read the CO gas, SO2 gas, NO2 gas, surface ozone (O3), and dust particles (PM-10). This systems can give information about ISPU value in real time and non real time. User can access this system using internet in anywhere and anytime to get information about ISPU value. Keywords : Data acquisition, Zigbee protocol, photonics crystals sensor, wireless sensor network (WSN), ISPU
iv
ABSTRAK MUHAMAD AZIS. Rancang Bangun Sistem Akuisisi Data Berbasis Wireless Sensor Network (WSN) dan Internet Access untuk Pengukuran Indeks Standar Pencemar Udara (ISPU). Dibimbing oleh HUSIN ALATAS dan KUDANG BORO SEMINAR. Telah berhasil dirancang bangun sistem akuisisi data berbasis Wireless Sensor Network (WSN) dengan protokol Zigbee/IEEE 802.15.4 dan Internet Access untuk Mengukur Indeks Standar Pencemar Udara (ISPU). Sistem tersebut terdiri dari empat bagian utama antara lain prototype stasiun Indeks Standar Pencemar Udara (ISPU), sistem akuisisi data secara nirkabel (wireless), software antarmuka berbasis aplikasi desktop, dan software antarmuka berbasis aplikasi web. Sistem tersebut dapat memberikan informasi nilai ISPU secara waktu nyata (real time) dan secara tidak waktu nyata (non real time). Pengguna dapat mengakses sistem tersebut dengan internet kapan dan dimana berada untuk mengetahui nilai ISPU. Kata Kunci : Akuisisi data, protokol Zigbee, sensor Kristal Fotonik, wireless sensor network (WSN), ISPU
v
RINGKASAN MUHAMAD AZIS. Rancang Bangun Sistem Akuisisi Data Berbasis Wireless Sensor Network (WSN) dan Internet Access untuk Pengukuran Indeks Standar Pencemar Udara (ISPU). Dibimbing oleh HUSIN ALATAS dan KUDANG BORO SEMINAR. Kualitas udara disampaikan ke masyarakat dalam bentuk Indeks Standar Pencemar Udara (ISPU). Berdasarkan Keputusan Menteri Negara Lingkungan Hidup Nomor : KEP-45/MENLH/10/1997 tentang Indeks Standar Pencemar Udara (ISPU), didefinisikan sebagai angka yang tidak mempunyai satuan yang menggambarkan kondisi kualitas udara ambien di lokasi dan waktu tertentu yang didasarkan kepada dampak terhadap kesehatan manusia, nilai estetika dan makhluk hidup lainnya. Berdasarkan Keputusan Badan Pengendalian Dampak Lingkungan (Bapedal) Nomor KEP-107/Kabapedal/11/1997, penyampaian ISPU kepada masyarakat dapat dilakukan melalui media massa dan elektronika serta papan peraga di tempat-tempat umum. ISPU ditetapkan berdasarkan lima pencemar utama, yaitu: CO, SO2, NO2, Ozon permukaan (O3), dan partikel debu (PM-10) (Bapedal, 1998). Berbagai teknologi pengukuran untuk mendeteksi kualitas udara ambien telah banyak dikembangkan, antara lain pengukuran berbasis gas chromatoghraphy, analisis kimiawi, atomic absorption spectrometry (AAS), mass spectrometry dan lain-lain (Rahmat et al. 2009). Keberadaan stasiun ISPU sangat membantu, karena dapat digunakan sebagai bahan informasi kepada masyarakat tentang kualitas udara ambien di lokasi dan waktu tertentu serta sebagai bahan pertimbangan pemerintah pusat dan pemerintah daerah dalam melaksanakan pengelolaan dan pengendalian pencemaran udara. Di Indonesia hampir setiap propinsi memiliki stasiun ISPU. Namun sayangnya perangkat instrumentasi yang dimiliki masih didatangkan dari negara lain (import). Sehingga dibutuhkan biaya yang relatif mahal untuk pengadaannya. Selain itu juga faktor pemeliharaan (maintenance) ketika terjadi kerusakan menjadi salah satu penyebab banyak stasiun ISPU sudah tidak lagi beroperasi. Padahal keberadaan stasiun ISPU tersebut haruslah beroperasi secara terus menerus dan datanya dapat dipantau secara langsung oleh siapa saja (Yuwono et al. 2007). Sebagai bangsa yang mandiri maka sudah seharusnya memiliki sumber daya manusia yang mampu mengembangkan suatu instrumentasi yang tepat guna dengan mengadopsi teknologi terkini, salahsatunya adalah instrumentasi ISPU. Sebagai salah satu langkah nyata dalam menjawab permasalahan tersebut maka diperlukan suatu sistem instumentasi yang terintegrasi yang mampu memberikan informasi mengenai nilai ISPU secara waktu nyata (real time) dan secara tidak waktu nyata (non real time) yang dikembangkan oleh anak bangsa. Sehingga nantinya dapat menjadi produk dalam negeri yang dapat diproduksi masal dan digunakan oleh lembaga atau instansi dalam negeri yang membutuhkan nilai ISPU. Faktor pemeliharaan (maintenance) tidak lagi menjadi masalah karena instrumentasi yang digunakan dikembangkan oleh anak bangsa.
vi
Saat ini sudah dibangun sebuah sistem informasi pengukuran nilai ISPU yang terdiri tiga bagian utama yaitu stasiun yang mempunyai fungsi sebagai akuisisi sensor gas pencemar udara, server yang berfungsi sebagai pengumpul dan penyimpan data, serta tampilan antar muka yang memudahkan pengguna dalam mengakses data. Setiap stasiun dilengkapi dengan lima buah sensor yang masingmasing berfungsi untuk membaca gas CO, SO2, NO2, Ozon permukaan (O3), dan partikel debu (PM-10). Data nilai ISPU yang diperoleh dari setiap stasiun kemudian dikirimkan secara wireless ke komputer server untuk selanjutnya ditampilkan secara waktu nyata (real time) dan secara tidak waktu nyata (non real time) oleh aplikasi desktop. Data yang diperoleh dari setiap stasiun juga dapat ditampilkan di website monitoring. Sehingga memudahkan pengguna dalam memperoleh informasi mengenai nilai ISPU setiap saat (Azis et al. 2011).
RANCANG BANGUN SISTEM AKUISISI DATA BERBASIS WIRELESS SENSOR NETWORK (WSN) DAN INTERNET ACCESS UNTUK PENGUKURAN INDEKS STANDAR PENCEMAR UDARA (ISPU)
MUHAMAD AZIS
Tesis sebagai salah satu syarat untuk memeperoleh gelar Magister Sains pada Program Studi Biofisika
SEKOLAH PASCA SARJANA INSTITUT PERTANIAN BOGOR BOGOR 2012
ix
Penguji Luar Komisi pada Ujian Tesis : Dr. Ir. Irmansyah, M.Si
x
Judul tesis : Rancang Bangun Sistem Akuisisi Data Berbasis Wireless Sensor Network (WSN) dan Internet Access untuk Pengukuran Indeks Standar Pencemar Udara (ISPU) Nama : Muhamad Azis NIM : G751100041
Disetujui, Komisi Pembimbing
Dr. Husin Alatas, S.Si, M.Si Ketua
Prof. Ir. Kudang Boro Seminar, M.Sc, PhD Anggota
Diketahui,
Ketua Program Studi Biofisika
Dekan Sekolah Pascasarjana
Dr. Akhirudin Maddu, S.Si, M.Si.
Dr. Ir. Dahrul Syah, M.Sc.Agr
Tanggal Ujian: 3 Agustus 2012
Tanggal Lulus:
xi
PRAKATA Puji dan syukur penulis panjatkan ke hadirat Alloh SWT, atas segala limpahan karunia-Nya. Sholawat beserta salam semoga senantiasa tercurah kepada qudwah hasanah Rosululloh SAW yang telah menyampaikan risalah-Nya. Alhamdulillah akhirnya penulis dapat menyelesaikan tesis dengan judul ”Rancang Bangun Sistem Akuisisi Data Berbasis Wireless Sensor Network (WSN) dan Internet Access untuk Pengukuran Indeks Standar Pencemar Udara (ISPU)” sebagai salah satu syarat untuk memperoleh gelar Magister Sains (M.Si). Pada kesempatan ini penulis ingin menghaturkan terimakasih kepada bapak Dr. Husin Alatas, S.Si, M.Si, Prof. Ir. Kudang Boro Seminar, M.Sc, PhD, dan Mamat Rahmat, S.Si, M.Si atas waktu yang telah diberikan dalam membimbing dan memberikan masukan yang sangat berharga. Teman-teman photonics crystal team dan biofisika angkatan 2010 yang senantiasa mendukung dan membantu penulis dalam menyelesaikan penelitian. Terimakasih juga penulis haturkan untuk istri tercinta Neng Isti Pertiwi, S.KM atas pengertian, kesabaran dan
pengorbanan
yang
telah
diberikan,
serta
kepada
putri
tercinta
Salsabila Nadhifah Qurrota A’yun, yang telah memberikan semangat dan inspirasi baru kepada penulis. Penulis menyadari bahwa tulisan ini sangat jauh dari sempurna. Untuk itu penulis menerima segala kritik dan saran yang membangun. Semoga tulisan ini dapat memberikan manfaat bagi Anda yang membaca dan dapat memberikan suatu sumbangan bagi hasanah ilmu pengetahuan Indonesia.
Bogor, Juni 2012
Muhamad Azis
xii
RIWAYAT HIDUP Penulis dilahirkan di Jakarta pada tanggal 6 Agustus 1984 sebagai anak ketiga dari pasangan Aat Sukatma dan Rosmawati (almh.). Penulis menyelesaikan pendidikan menengah tingkat atas di SMAN 1 Leuwiliang Bogor pada tahun 2003, pendidikan strata satu (S1) pada Program Studi Fisika, Departemen Fisika, Institut Pertanian Bogor pada tahun 2009 dengan penelitian di bidang Embedded System yang disponsori oleh program Beasiswa Student Equity DIKTI, dan pendidikan strata dua (S2) pada Program Studi Biofisika, Sekolah Pasca Sarjana, Institut Pertanian Bogor pada tahun 2012 dengan penelitian di bidang Wireless Sensor Network (WSN) yang disponsori oleh program Beasiswa Unggulan Terpadu KEMDIKNAS. Sehari-hari penulis aktif dalam kegiatan mengajar Fisika di bimbingan belajar dan mengelola usaha. Diluar aktivitas sehari-hari penulis gemar menyempatkan diri mempelajari bahasa pemrograman seperti C/C++/Wiring, BASIC, VB, PHP, JavaScript (inc. AJAX, jQuery), Shell script, dan Java secara otodidak. Penulis memiliki ketertarikan di bidang embedded system, software development dan remastering LinuxTM operating systems. Tahun 2012 penulis memperoleh kesempatan mengikuti internship program di Korea Advanced Institut of Science and Technology (KAIST) untuk bidang Wireless Data Acquisition System (WDAS). Penelitian yang telah dilakukan menghasilkan prosiding nasional maupun internasional serta jurnal internasional, diantaranya International Conference on Instrumentation Communication and Information Technology and Bio Medical Engineering (ICICI-BME) dan International Journals of Engineering and Sciences (IJENS)/ International Journal of Engineering and Technology (IJET). Menjelang kelulusan di program magister, penulis diterima menjadi pegawai di SAMSUNG C&T Corporation untuk divisi Project. Penulis dapat dihubungi melalui e-mail: [email protected]
xiii
DAFTAR ISI Halaman DAFTAR TABEL...................................................................................................... xvi DAFTAR GAMBAR ................................................................................................. xvii DAFTAR LAMPIRAN.............................................................................................. xxi BAB 1 PENDAHULUAN ......................................................................................... 1 1.1 Latar Belakang ............................................................................................... 1 1.2 Perumusan Masalah........................................................................................ 3 1.3 Tujuan Penelitian............................................................................................ 3 1.4 Manfaat Penelitian.......................................................................................... 3 1.5 Ruang Lingkup Penelitian .............................................................................. 4 BAB 2 TINJAUAN PUSTAKA ................................................................................ 5 2.1 Indeks Standar Pencemar Udara (ISPU) ........................................................ 5 2.1.1 Pengertian ISPU.................................................................................... 5 2.1.2 Pengaruh ISPU Untuk Setiap Parameter Pencemar.............................. 7 2.1.3 Perhitungan Nilai ISPU ........................................................................ 8 2.1.4 Parameter-parameter Dasar Untuk ISPU dan Periode Waktu Pengukuran ........................................................................................... 8 2.2 Sensor ............................................................................................................. 10 2.2.1 Dummy Sensor ...................................................................................... 10 2.2.2 Sensor Kristal Fotonik .......................................................................... 11 2.3 Arduino........................................................................................................... 14 2.3.1 DFRduino.............................................................................................. 16 2.3.2 DFRduino Mega 1280 .......................................................................... 17 2.3.3 Mega I/O Expansion Shield.................................................................. 17 2.4 Protokol ZigBee ............................................................................................. 18 2.4.1 Topologi Jaringan ZigBee .................................................................... 18 2.4.1.1 Topologi Star ............................................................................ 18 2.4.1.2 Topologi Mesh (Peer to Peer) .................................................. 19 2.4.1.3 Topologi Cluster Tree............................................................... 19 2.4.2 Keuntungan Menggunakan ZigBee ...................................................... 19 2.4.3 XBee Transceiver ................................................................................. 20 2.4.3.1 Susunan Pin pada XBee Pro...................................................... 20 2.4.3.2 Spesifikasi XBee Pro ................................................................ 21 2.4.3.3 Cara Kerja XBee Transceiver ................................................... 21 2.4.3.4 Konfigurasi XBee Transceiver ................................................. 23 2.4.4 XBee Adapter ....................................................................................... 24 2.5 Visual Basic.................................................................................................... 26 2.6 PHP................................................................................................................. 27 2.7 Database......................................................................................................... 28 2.8 ODBC............................................................................................................. 29 2.9 Apache Web Server ........................................................................................ 29 2.10FusionCharts................................................................................................... 30 2.11AJAX (Asynchronous Javascript And XML) ................................................. 30 2.12JQuery ............................................................................................................ 31
xiv
BAB 3 METODOLOGI PENELITIAN..................................................................... 3.1 Tempat dan Waktu Penelitian ........................................................................ 3.2 Komponen Instrumentasi Penelitian .............................................................. 3.2.1 Komponen Perangkat Keras (Hardware) ............................................. 3.2.2 Komponen Perangkat Lunak (Software) dan Bahasa Pemrograman.... 3.3 Tahap Pelaksanaan Penelitian ........................................................................ 3.4 Perancangan Prototype Stasiun ISPU ............................................................ 3.4.1 Perancangan Hardware......................................................................... 3.4.1.1 Sensor........................................................................................ 3.4.1.2 Modul DFRduino Mega 1280 ................................................... 3.4.1.3 Mega I/O Expansion Shield ...................................................... 3.4.1.4 XBee Transceiver ..................................................................... 3.4.2 Perancangan Software........................................................................... 3.4.2.1 Perancangan Software program DFRduino Mega 1280 ........... 3.4.2.2 Perancangan Software XBee Transceiver................................. 3.5 Perancangan Akuisisi Data Secara Nirkabel (Wireless) ................................ 3.5.1 Perancangan Hardware......................................................................... 3.5.1.1 XBee Transceiver ..................................................................... 3.5.1.2 Modul XBee Adapter ................................................................ 3.5.2 Perancangan Software........................................................................... 3.5.2.1 Perancangan Software XBee Transceiver pada Bagian Receiver..................................................................................... 3.6 Perancangan Software Antarmuka Berbasis Aplikasi Desktop...................... 3.6.1 Perancangan Database Aplikasi Desktop ............................................. 3.6.2 Pembuatan Form Splash ....................................................................... 3.6.3 Pembuatan Form Monitoring ISPU ...................................................... 3.7 Perancangan Software Antarmuka Berbasis Aplikasi Web............................ 3.7.1 Perancangan Database Aplikasi Web ................................................... 3.7.2 Perancangan Website Client.................................................................. 3.7.3 Perancangan Website Admin................................................................. BAB 4 HASIL DAN PEMBAHASAN...................................................................... 4.1 Implementasi Tahap Pelaksanaan Penelitian ................................................. 4.2 Implementasi Perancangan Prototype Stasiun ISPU ..................................... 4.2.1 Implementasi Perancangan Hardware.................................................. 4.2.2 Implementasi Perancangan Software .................................................... 4.2.2.1 Implementasi Perancangan Software Program DFRduino Mega 1280 ................................................................................ 4.2.2.2 Implementasi Perancangan Software XBee Transceiver.......... 4.2.3 Pengujian Hasil Perancangan Prototype Stasiun ISPU ........................ 4.3 Implementasi Perancangan Akuisisi Data Secara Nirkabel (Wireless).......... 4.3.1 Implementasi Perancangan Hardware.................................................. 4.3.2 Implementasi Perancangan Software .................................................... 4.3.3 Pengujian Hasil Perancangan Akuisisi Data Secara Nirkabel (Wireless) .............................................................................................. 4.4 Implementasi Perancangan Software Antarmuka Berbasis Aplikasi Desktop........................................................................................................... 4.4.1 Implementasi Perancangan Database Aplikasi Desktop ...................... 4.4.2 Implementasi Perancangan Form Splash..............................................
Kategori, rentang, dan indikator warna ISPU............................................ Pengaruh ISPU untuk setiap parameter pencemar .................................... Parameter-parameter dasar untuk ISPU dan periode waktu pengukuran .. Perbedaan beberapa model produk Arduino ............................................. Susunan pin pada Xbee Pro beserta penjelasannya ................................... Perbandingan spesifikasi XBee dengan XBee Pro .................................... Spesifikasi dari UartSbee v4.0................................................................... Susunan pin yang digunakan pada rangkaian dengan dummy sensor ....... Struktur tabel dbstasiun1 ........................................................................... Struktur tabel dbstasiun2 ........................................................................... Struktur tabel dbstasiun3 ........................................................................... Struktur tabel banner ................................................................................. Struktur tabel download ............................................................................ Struktur tabel halamanstatis...................................................................... Struktur tabel hubungi ............................................................................... Struktur tabel mainmenu............................................................................ Struktur tabel modul .................................................................................. Struktur tabel sekilasinfo ........................................................................... Struktur tabel stasiun ................................................................................. Struktur tabel statistik................................................................................ Struktur tabel submenu .............................................................................. Struktur tabel templates ............................................................................. Struktur tabel users....................................................................................
DAFTAR GAMBAR Halaman Gambar 1 Gambar 2 Gambar 3 Gambar 4 Gambar 5 Gambar 6 Gambar 7 Gambar 8 Gambar 9 Gambar 10 Gambar 11 Gambar 12 Gambar 13 Gambar 14 Gambar 15 Gambar 16 Gambar 17 Gambar 18 Gambar 19 Gambar 20 Gambar 21 Gambar 22 Gambar 23 Gambar 24 Gambar 25 Gambar 26 Gambar 27 Gambar 28 Gambar 29 Gambar 30 Gambar 31 Gambar 32 Gambar 33 Gambar 34 Gambar 35 Gambar 36 Gambar 37 Gambar 38 Gambar 39 Gambar 40 Gambar 41
Contoh papan peraga ISPU .................................................................. Contoh format laporan harian ISPU ke masyarakat............................. Potensiometer ....................................................................................... Kristal fotonik (a) satu dimensi, (b) dua dimensi, (c) tiga dimensi...... Distribusi medan dalam defek.............................................................. Model kristal fotonik satu dimensi dengan M = 4, N = 6 dan L = 2.... Cara kerja sensor kristal fotonik........................................................... Contoh letak pemasangan sensor kristal fotonik pada proses pengukuran gas pencemar.................................................................... Arduino Duemilanove dengan chip AVR 328 ..................................... Arsitektur DFRduino Mega 1280......................................................... Mega I/O Expansion Shield ................................................................. Model topologi jaringan Zigbee........................................................... (a) XBee Pro dan (b) susunan pin pada XBee Pro ............................... Diagram sistem aliran data pada XBee ................................................ Contoh format pengiriman data............................................................ Diagram data flow internal................................................................... Software X-CTU .................................................................................. UartSbee v4.0 ....................................................................................... Diagram blok UartSbee v4.0................................................................ Logo Visual Basic 6.0 .......................................................................... Logo PHP ............................................................................................. Logo MySQL ....................................................................................... Logo Apache web server...................................................................... Konsep dasar browser dan web server................................................. Logo FusionCharts ............................................................................... Logo jQuery ......................................................................................... Tahap pelaksanaan penelitian............................................................... Diagram blok sistem pengukuran ISPU yang telah dibuat .................. Diagram blok prototipe Wireless Sensor Network (WSN) ................... Diagram blok yang membedakan letak penggunaan sensor dengan dummy sensor dan sensor kristal fotonik .............................................. Skema rangkaian dengan dummy sensor............................................. Skema rangkaian dengan dummy sensor dalam tiga dimensi .............. XBee receiver yang sudah terhubung ke Mega I/O Expansion Shield Prototype Stasiun ISPU yang sudah di-packaging .............................. Contoh letak pemasangan sensor kristal fotonik pada proses pengukuran gas pencemar.................................................................... Tampilan dari software X-CTU .......................................................... Hasil pengujian komunikasi serial dengan kabel USB........................ XBee receiver yang sudah terhubung ke UartSbee v4.0 ...................... Hasil pengujian komunikasi serial secara nirkabel (wireless) ............. Tampilan proses loading aplikasi desktop ........................................... Tampilan utama aplikasi desktop .........................................................
Gambar 42 Gambar 43 Gambar 44 Gambar 45 Gambar 46 Gambar 47 Gambar 48 Gambar 49 Gambar 50 Gambar 51 Gambar 52 Gambar 53 Gambar 54 Gambar 55 Gambar 56 Gambar 57 Gambar 58 Gambar 59 Gambar 60 Gambar 61 Gambar 62 Gambar 63 Gambar 64 Gambar 65 Gambar 66 Gambar 67 Gambar 68 Gambar 69 Gambar 70 Gambar 71 Gambar 72 Gambar 73 Gambar 74 Gambar 75 Gambar 76 Gambar 77 Gambar 78 Gambar 79
Header aplikasi desktop ....................................................................... Proses pemilihan stasiun pada aplikasi desktop ................................... Default stasiun pada aplikasi desktop................................................... Frame data parameter ISPU................................................................. Frame datalog ISPU ............................................................................. Frame grafik real time ISPU ................................................................ Frame konfigurasi aplikasi desktop ...................................................... Status aplikasi desktop sudah terhubung dengan prototype stasiun ISPU...................................................................................................... Kotak dialog yang menunjukkan bahwa port sudah digunakan ........... Frame Informasi mengenai aplikasi desktop ........................................ Tombol untuk menyimpan datalog ISPU dalam file Excel .................. Kotak dialog konfirmasi untuk menyimpan file datalog ISPU............. Tombol untuk menghapus seluruh datalog ISPU ................................. Kotak dialog konfirmasi untuk menghapus seluruh datalog ISPU....... Tombol untuk mencetak grafik real time ISPU dalam file gambar (.bmp).................................................................................................... Kotak dialog konfirmasi untuk mencetak grafik real time ISPU dalam file gambar (.bmp)...................................................................... Tombol untuk keluar dari aplikasi desktop........................................... Simulasi pengukuran ISPU dengan dummy sensor dan aplikasi desktop .................................................................................................. Contoh simulasi pengukuran ISPU dengan aplikasi desktop................ Contoh menampilkan data salah satu nilai dari parameter ISPU pada grafik real time dengan aplikasi desktop .............................................. Menu konteks (context menu) pada grafik dengan plugin FusionCharts ......................................................................................... Contoh menampilkan data hasil pengukuran ISPU secara real time.... Contoh menampilkan datalog hasil pengukuran ISPU......................... Halaman utama aplikasi web untuk website client ............................... Tampilan halaman Aims........................................................................ Tampilan halaman Developer Team ..................................................... Pemilihan stasiun pada menu ISPU real time....................................... Hasil eksekusi dari tombol Preview setelah pemilihan stasiun pada menu ISPU real time............................................................................. Contoh menampilkan data salah satu nilai dari parameter ISPU pada grafik real time dengan aplikasi web .................................................... Contoh menampilkan datalog ISPU setelah pemilihan periode waktu pencariandengan aplikasi web .............................................................. Tampilan halaman Download............................................................... Tampilan halaman Contact Us ............................................................. Widget ISPU Hari Ini pada website client ............................................ Widget Sekilas Info pada website client ............................................... Widget Statistik User pada website client ............................................. Widget Banner pada website client ....................................................... Halaman utama aplikasi web pada website admin setelah login berhasil.................................................................................................. Halaman modul User pada website admin ...........................................
Gambar 80 Gambar 81 Gambar 82 Gambar 83 Gambar 84 Gambar 85 Gambar 86 Gambar 87 Gambar 88 Gambar 89 Gambar 90 Gambar 91 Gambar 92 Gambar 93 Gambar 94 Gambar 95 Gambar 96 Gambar 97 Gambar 98 Gambar 99 Gambar 100 Gambar 101 Gambar 102 Gambar 103 Gambar 104 Gambar 105 Gambar 106 Gambar 107 Gambar 108 Gambar 109 Gambar 110 Gambar 111 Gambar 112 Gambar 113 Gambar 114 Gambar 115 Gambar 116
Halaman modul Banner pada website admin ....................................... Halaman modul Manajemen Modul pada website admin ..................... Halaman modul Download pada website admin................................... Halaman modul Hubungi Kami pada website admin............................ Halaman modul Sekilas Info pada website admin ................................ Halaman modul Templates pada website admin................................... Halaman modul Menu Utama pada website admin ............................. Halaman modul Sub Menu pada website admin ................................... Halaman modul Halaman Statis pada website admin .......................... Halaman modul Manajemen Stasiun pada website admin.................... Halaman modul Datalog ISPU pada website admin ........................... Contoh grafik real time hasil pengukuran ISPU untuk parameter PM10 dengan aplikasi web..................................................................... Contoh grafik real time hasil pengukuran ISPU untuk parameter SO2 dengan aplikasi web .............................................................................. Contoh grafik real time hasil pengukuran ISPU untuk parameter CO dengan aplikasi web .............................................................................. Contoh grafik real time hasil pengukuran ISPU untuk parameter O3 dengan aplikasi web .............................................................................. Contoh grafik real time hasil pengukuran ISPU untuk parameter NO2 dengan aplikasi web .............................................................................. Pemilihan stasiun pada menu ISPU Non Real Time ............................. Hasil eksekusi dari tombol Preview setelah pemilihan stasiun pada menu ISPU Non Real Time ................................................................... Contoh pemilihan periode waktu pencarian ......................................... Hasil eksekusi dari tombol Process setelah pemilihan periode waktu pencarian ............................................................................................... Form login pada website admin............................................................ Halaman utama aplikasi web pada website admin setelah login berhasil.................................................................................................. Tampilan peringatan gagal login .......................................................... Halaman modul Datalog ISPU pada website admin............................ Kotak dialog konfirmasi download file datalog ISPU dalam file Excel pada website admin..................................................................... Isi file datalog ISPU hasil download..................................................... Langkah menjalankan aplikasi desktop ................................................ Tampilan proses loading aplikasi desktop ............................................ Tampilan utama aplikasi desktop.......................................................... Konfigurasi pada tampilan utama aplikasi desktop .............................. Status koneksi aplikasi desktop dengan prototype stasiun ISPU.......... TabStrip untuk memilih stasiun ISPU pada aplikasi desktop ............... Contoh pengukuran ISPU dengan aplikasi desktop.............................. Langkah menjalankan aplikasi web dengan local domain.................... Langkah menjalankan aplikasi web dengan public domain.................. Halaman utama aplikasi web untuk website client ............................... Contoh pengukuran salah satu parameter ISPU secara real time dengan aplikasi web ..............................................................................
Gambar 117 Contoh hasil pencarian datalog ISPU secara non real time dengan aplikasi web........................................................................................... 96 Gambar 118 Diagram alir penelitian ......................................................................... 103 Gambar 119 Diagram alir program rangkaian akuisisi data dan rangkaian transmitter............................................................................................. 104 Gambar 120 Diagram alir program rangkaian receiver dan penyajian data.............. 105
Diagram Alir Penelitian........................................................................ 103 Diagram Alir Program .......................................................................... 105 Source Code Program DFRMega 1280 ................................................ 107 Source Code XBee Transceiver ........................................................... 111 Source Code Program untuk Aplikasi Desktop .................................... 115 Source Code Program untuk Aplikasi Web .......................................... 127
BAB 1 PENDAHULUAN 1.1 Latar Belakang Kualitas udara disampaikan ke masyarakat dalam bentuk Indeks Standar Pencemar Udara (ISPU). ISPU adalah laporan kualitas udara kepada masyarakat untuk menerangkan seberapa bersih atau tercemarnya kualitas udara dan bagaimana dampaknya terhadap kesehatan setelah menghirup udara tersebut selama beberapa jam atau beberapa hari. Berdasarkan Keputusan Menteri Negara Lingkungan Hidup Nomor : KEP-45/MENLH/10/1997 tentang Indeks Standar Pencemar Udara (ISPU),ISPU didefinisikan sebagai angka yang tidak memiliki satuan yang menggambarkan kondisi kualitas udara ambien di lokasi dan waktu tertentu yang didasarkan kepada dampak terhadap kesehatan manusia, nilai estetika dan makhluk hidup lainnya. Berdasarkan Keputusan Badan Pengendalian Dampak
Lingkungan
(Bapedal)
Nomor
KEP-107/Kabapedal/11/1997,
penyampaian ISPU kepada masyarakat dapat dilakukan melalui media massa dan elektronika serta papan peraga di tempat-tempat umum. ISPU ditetapkan berdasarkan lima pencemar utama, yaitu: CO, SO2, NO2, Ozon permukaan (O3), dan partikel debu (PM-10) (Bapedal 1998). Berbagai teknologi pengukuran untuk mendeteksi kualitas udara ambien telah
banyak
dikembangkan,
antara
lain
pengukuran
berbasis
gas
chromatoghraphy, analisis kimiawi, atomic absorption spectrometry (AAS), mass spectrometry dan lain-lain (Rahmat et al. 2009). Keberadaan stasiun ISPU sangat membantu, karena dapat digunakan sebagai bahan informasi kepada masyarakat tentang kualitas udara ambien di lokasi dan waktu tertentu serta sebagai bahan pertimbangan pemerintah pusat dan pemerintah daerah dalam melaksanakan pengelolaan dan pengendalian pencemaran udara.
2
Di Indonesia hampir setiap propinsi memiliki stasiun ISPU. Namun sayangnya perangkat instrumentasi yang dimiliki masih didatangkan dari negara lain (import) (Yuwono et al. 2007). Sehingga dibutuhkan biaya yang relatif mahal untuk pengadaannya. Selain itu juga faktor pemeliharaan (maintenance) ketika terjadi kerusakan menjadi salah satu penyebab banyak stasiun ISPU sudah tidak lagi beroperasi. Padahal keberadaan stasiun ISPU tersebut haruslah beroperasi secara terus menerus dan datanya dapat dipantau secara langsung oleh siapa saja. Sebagai bangsa yang mandiri maka sudah seharusnya memiliki sumber daya manusia yang mampu mengembangkan suatu instrumentasi yang tepat guna dengan mengadopsi teknologi terkini, salah satunya adalah instrumentasi ISPU. Sebagai salah satu langkah nyata dalam menjawab permasalahan tersebut maka diperlukan suatu sistem instumentasi yang terintegrasi yang mampu memberikan informasi mengenai nilai ISPU secara waktu nyata (real time) dan secara tidak waktu nyata (non real time) yang dikembangkan oleh anak bangsa. Sehingga nantinya dapat menjadi produk dalam negeri yang dapat diproduksi masal dan digunakan oleh lembaga atau instansi dalam negeri yang membutuhkan nilai ISPU. Faktor pemeliharaan (maintenance) tidak lagi menjadi masalah karena instrumentasi yang digunakan dikembangkan oleh anak bangsa. Saat ini sudah dibangun sebuah sistem informasi pengukuran nilai ISPU yang terdiri tiga bagian utama yaitu stasiun yang mempunyai fungsi sebagai akuisisi sensor gas pencemar udara, server yang berfungsi sebagai pengumpul dan penyimpan data, serta tampilan antar muka yang memudahkan pengguna dalam mengakses data. Setiap stasiun dilengkapi dengan lima buah sensor yang masingmasing berfungsi untuk membaca gas CO, SO2, NO2, Ozon permukaan (O3), dan partikel debu (PM-10). Data nilai ISPU yang diperoleh dari setiap stasiun kemudian dikirimkan secara nirkabel (wireless) ke komputer server untuk selanjutnya ditampilkan secara waktu nyata (real time) dan secara tidak waktu nyata (non real time) oleh aplikasi desktop dan aplikasi web. Sehingga memudahkan pengguna dalam memperoleh informasi mengenai nilai ISPU setiap saat (Azis et al. 2011).
3
1.2 Perumusan Masalah Perumusan masalah dalam penelitian ini antara lain, a) Bagaimana melakukan akuisisi data dari beberapa sensor yaitu berupa data analog untuk kemudian diolah menjadi data digital? b) Bagaimana mengirimkan data digital secara nirkabel (wireless) untuk kemudian diterima oleh komputer server? c) Bagaimana membuat program tampilan antarmuka untuk menampilkan data yang diterima oleh komputer server? d) Bagaimana menampilkan informasi data hasil pengukuran dari beberapa sensor agar dapat diakses menggunakan internet? 1.3 Tujuan Penelitian Tujuan penelitian ini antaralain, a) Membuat sistem pengiriman data secara nirkabel (wireless) dari beberapa sensor untuk memberikan informasi nilai Indeks Standar Pencemar Udara (ISPU) secara waktu nyata (real time) dan secara tidak waktu nyata (non real time). b) Membuat tampilan antarmuka berbasis aplikasi desktop dan aplikasi web untuk mengamati nilai ISPU secara waktu nyata (real time) dan secara tidak waktu nyata (non real time). 1.4 Manfaat Penelitian Memberikan informasi mengenai nilai Indeks Standar Pencemar Udara (ISPU) secara waktu nyata (real time) dan secara tidak waktu nyata (non real time) yang dapat diakses dengan tampilan antarmuka berbasis aplikasi desktop dan aplikasi web.
4
1.5 Ruang Lingkup Penelitian Ruang lingkup penelitian dibatasi pada perancangan prototype stasiun Indeks Standar Pencemar Udara (ISPU) dengan dummy sensor berupa potensiometer dan sensor kristal fotonik, perancangan akuisisi data secara nirkabel (wireless) dengan protokol Zigbee/IEEE 802.15.4, perancangan software antarmuka berbasis aplikasi desktop dengan IDE Visual Basic 6.0, dan perancangan software antarmuka berbasis aplikasi web dengan bahasa pemrograman PHP, MySQL, Javascript (inc. AJAX, jQuery), dan FusionCharts. Sistem yang dirancang dapat memberikan informasi nilai ISPU secara waktu nyata (real time) dan secara tidak waktu nyata (non real time).
5
BAB 2 TINJAUAN PUSTAKA 2.1 Indeks Standar Pencemar Udara (ISPU) 2.1.1 Pengertian ISPU Berdasarkan Keputusan Menteri Negara Lingkungan Hidup tentang Indeks Standar Pencemar Udara (ISPU) nomor KEP-45/MENLH/10/1997, ISPU didefinisikan sebagai angka yang tidak mempunyai satuan yang menggambarkan kondisi kualitas udara ambien di lokasi dan waktu tertentu yang didasarkan kepada dampak terhadap kesehatan manusia, nilai estetika dan makhluk hidup lainnya (Bapedal 1998). Pemerintah Republik Indonesia telah mengeluarkan baku mutu udara ambien (BMUA) di dalam Peraturan Pemerintah tentang pengendalian pencemaran udara (PP Nomor 41 tahun 1999). Baku mutu udara ambien adalah ukuran batas atau kadar zat, energi, dan/atau komponen yang ada atau yang seharusnya ada dan/atau unsur pencemar yang ditenggangkan keberadaannya dalam udara ambien. Perlindungan mutu udara ambien merupakan upaya yang dilakukan agar udara ambien dapat memenuhi fungsi sebagaimana mestinya. Baku mutu ini memiliki parameter yang berlaku untuk menilai kondisi udara ambien secara umum. Tiap parameter disertai nilai maksimalnya. Nilai-nilai tersebut umumnya dinyatakan dalam satuan konsentrasi, yaitu berat senyawa polutan dalam mikrogram (μg) per meter kubik udara dalam kondisi normal (umumnya pada suhu 250C dan tekanan 1 atmosfer). Kualitas udara ambien dikatakan baik jika konsentrasi polutan-polutannya masih di bawah nilai baku mutunya (Yuwono et al. 2007). Nilai BMUA dapat dijadikan acuan untuk menentukan indeks standar pencemar udara (ISPU). Rentang nilai ISPU ditentukan berdasarkan efek kesehatan potensial yang bisa timbul. Indeks standar pencemar udara ini merupakan bahan informasi bagi masyarakat tentang kualitas udara ambien di lokasi dan waktu tertentu (Yuwono et al. 2007). Tabel 1 memperlihatkan kategori, rentang, dan indikator warna ISPU.
6
Tabel 1 Kategori, rentang, dan indikator warna ISPU Kategori
Rentang
Indikator Warna
Penjelasan Tingkat kualitas udara yang tidak memberikan
Baik
0-50
Hijau
manusia
efek
atau
bagi
hewan
kesehatan dan
tidak
berpengaruh pada tumbuhan, bangunan ataupun nilai estetika Tingkat kualitas udara yang tidak memberikan Sedang
51-100
Biru
manusia
efek atau
berpengaruh
pada
bagi
kesehatan
hewan
tetapi
tumbuhan
yang
sensitif, dan nilai estetika tumbuhan, bangunan ataupun nilai estetika Tingkat kualitas udara yang bersifat merugikan Tidak Sehat
101-199
Kuning
pada
manusia
ataupun
kelompok hewan yang sensitif atau bisa menimbulkan kerusakan pada tumbuhan ataupun nilai estetika
Sangat Tidak Sehat
Tingkat kualitas udara yang dapat 200-299
Merah
merugikan kesehatan pada sejumlah segmen populasi yang terpapar Tingkat kualitas udara berbahaya yang
Berbahaya
>299
Hitam
secara
umum
dapat
merugikan
kesehatan yang serius pada populasi Sumber : Keputusan Kepala Badan Pengendalian Dampak Lingkungan Tentang Pedoman Teknis Perhitungan dan Pelaporan Serta Informasi Indeks Standar Pencemar Udara (ISPU) nomor: KEP-107/KABAPEDAL/11/1997 pasal 8
7
2.1.2 Pengaruh ISPU untuk Setiap Parameter Pencemar Dampak yang ditimbulkan akibat kandungan parameter pencemar ke lingkungan dalam jumlah yang melebihi ambang batas yang telah ditentukan akan berdampak langsung ke lingkungan dan masyarakat (Bapedal 1998). Tabel 2 memperlihatkan pengaruh ISPU untuk setiap parameter pencemar. Tabel 2 Pengaruh ISPU untuk setiap parameter pencemar Kategori
Karbon Monoksida (CO)
Nitrogen (NO2)
Ozon (O3)
Sulfur Dioksida (SO2)
Partikel Debu (PM-10)
Sedikit berbau
Luka pada Beberapa spesies tumbuhan akibat Kombinasi dengan SO2 (Selama 4 Jam)
Luka pada Beberapa spesies tumbuhan akibat kombinasi dengan O3 (Selama 4 Jam)
Tidak ada efek
Luka pada Beberapa spesies lumbuhan
Terjadi penurunan pada jarak pandang
Baik
Tidak ada efek
Sedang
Perubahan kimia darah tapi tidak terdeteksi
Berbau
Luka pada Babarapa spesies tumbuhan
Tidak Sehat
Peningkatan kardiovaskular pada perokok yang sakit jantung
Bau dan kehilangan warna, peningkatan reaktivitas pembuluh tenggorokan pada penderita asma
Penurunan kemampuan pada atlet yang berlatih keras
Bau, Meningkatnya kerusakan tanaman
Jarak pandang turun dan terjadi pengotoran debu di manamana
Sangat Tidak Sehat
Meningkatnya kardiovaskular pada orang bukan perokok yang berpanyakit Jantung, dan akan tampak beberapa kalemahan yang terlihat secara nyata
Meningkatnya sensitivitas pasien yang berpenyaklt asma dan bronhitis
Olahraga ringan mangakibatkan pengaruh parnafasan pada pasien yang berpenyakit paru-paru kronis
Meningkatnya sensitivitas pada pasien berpenyakit asthma dan bronhitis
MePningkatny a sensitivitas pada pasien berpenyakit asthma dan bronhitis
Berbahaya
Tingkat yang berbahaya bagi semua populasi yang terpapar
Sumber : Keputusan Kepala Badan Pengendalian Dampak Lingkungan Tentang Pedoman Teknis Perhitungan dan Pelaporan Serta Informasi Indeks Standar Pencemar Udara (ISPU) nomor: KEP-107/KABAPEDAL/11/1997 pasal 4
8
2.1.3 Perhitungan Nilai ISPU Perhitungan nilai ISPU dihitung dengan menggunakan persamaan berikut (Bapedal 1998),
dimana, I
= nilai ISPU yang terhitung
Ia = nilai ISPU batas atas Ib = nilai ISPU batas bawah Xa = nilai batas atas konsentrasi ambien Xb = nilai batas bawah konsentrasi ambien Xx = konsentrasi kadar ambien nyata hasil pengukuran 2.1.4 Parameter-Parameter Dasar Untuk ISPU dan Periode Waktu Pengukuran Tabel 3 memperlihatkan parameter-parameter dasar untuk ISPU dan periode waktu pengukuran. Tabel 3 parameter-parameter dasar untuk ISPU dan periode waktu pengukuran No
Parameter
Waktu Pengukuran
1
Pertikel Debu (PM-10)
24 jam (Periode pengukuran rata-rata)
2
Sulfur Dioksida (SO2)
24 jam (Periode pengukuran rata-rata)
3
Carbon Monoksida (CO)
8 jam (Periode pengukuran rata-rata)
4
Ozon (O3)
1 jam (Periode pengukuran rata-rata)
5
Nitrogen Dioksida (NO2)
1 jam (Periode pengukuran rata-rata)
Sumber : Keputusan Kepala Badan Pengendalian Dampak Lingkungan Tentang Pedoman Teknis Perhitungan dan Pelaporan Serta Informasi Indeks Standar Pencemar Udara (ISPU) nomor: KEP-107/KABAPEDAL/11/1997 pasal 2
9
Informasi mengenai ISPU di daerah tertentu sangat bermanfaat antaralain, a) sebagai bahan informasi kepada masyarakat tentang kualitas udara ambien di lokasi dan waktu tertentu b) sebagai bahan pertimbangan pemerintah pusat dan pemerintah daerah dalam melaksanakan pengelolaan dan pengendalian pencemaran udara Berdasarkan
Keputusan
Badan
Pengendalian
Dampak
Lingkungan
(Bapedal) Nomor KEP-107/Kabapedal/11/1997, penyampaian ISPU kepada masyarakat dapat dilakukan melalui media massa dan elektronika serta papan peraga di tempat-tempat umum. Gambar 1 memperlihatkan contoh papan peraga ISPU.
Gambar 1 Contoh papan peraga ISPU
Gambar 2 memperlihatkan contoh format laporan harian ISPU ke masyarakat,
Gambar 2 Contoh format laporan harian ISPU ke masyarakat
10
Keterangan : a) Hasil pengukuran untuk pengukuran kontinyu diambil harga rata-rata tertinggi waktu pengukuran. b) ISPU disampaikan kepada masyarakat setiap 24 jam dari data rata-rata sebelumnya (24 jam sebelumnya). c) Waktu terakhir pengambilan data dilakukan pada pukul 15.00 Waktu Indonesia Barat (WIB). d) ISPU yang dilaporkan kepada masyarakat berlaku 24 jam ke depan (pukul 15.00 tanggal n sampai pukul 15.00 tanggal n+1) 2.2 Sensor Sensor adalah kompoen yang berfungsi untuk mengubah besaran fisik yang diukur menjadi sinyal elektrik. Sinyal elektrik tersebut disesuaikan level dan bentuknya oleh rangkaian pengkondisi sinyal. Sinyal elektrik yang telah dikondisikan ini masih berupa sinyal analog yang selanjutnya memasuki rangkaian ADC (Analog to Digital Converter) untuk diubah menjadi sinyal digital yang akan diterima oleh komputer (Nugroho 2010). Dalam lingkungan sistem pengendali dan robotika, sensor memberikan kesamaan yang menyerupai mata, pendengaran, hidung, lidah yang kemudian akan diolah oleh microcontroller atau processor lain sebagai otaknya. Pada penelitian ini digunakan dua buah sensor, yaitu dummy sensor berupa potensiometer 10 kΩ dan sensor kristal fotonik satu dimensi. 2.2.1 Dummy Sensor Dummy sensor pada penelitian ini didefinisikan sebagai sensor yang dijadikan sebagai simulasi sebelum menggunakan sensor yang sebenarnya. Output dari dummy sensor berupa data analog yang mempresentasikan nilai arus atau tegangan. Data analog yang dihasilkan ini kemudian diolah oleh microcontroller menjadi data digital. Dummy sensor yang digunakan pada penelitian ini adalah potensiometer.
11
Potensiometer (variable resistor) adalah resistor yang dapat diatur nilai resistansinya menggunakan sekrup, knob atau slider. Bagian dari potensiometer adalah track resistansi dan wiper yang bergerak sepanjang track saat spindle diputar. Spesifikasi dari sebuah potensiometer antaralain batas nilai resistansi maksimum (misalnya 10kΩ, 50kΩ, 100kΩ, 1MΩ), track yang digunakan (linear atau logaritmik), dan ukuran fisik (Nugroho 2010). Gambar 3 memperlihatkan sebuah potensiometer. spindle
wiper track
GND GND
input
+5V
(a)
input /
+5V
(b) Gambar 3 Potensiometer
2.2.2 Sensor Kristal Fotonik Sensor kristal fotonik adalah sensor yang prinsip kerjanya menggunakan kristal fotonik. Kristal fotonik merupakan susunan periodik dari bahan dielektrik atau susunan periodik dari indeks bias bahan optik. Pada kristal fotonik terdapat photonic band gap (PBG) yang memungkinkan cahaya tidak diteruskan (ditransmisikan) melainkan dikumpulkan pada suatu daerah tertentu (dilokalisasi). Lokalisasi cahaya tersebut merupakan sifat yang sangat penting dalam membuat peralatan optik yang terintegrasi (Rostami 2006). Terdapat tiga macam susunan periodik pada kristal fotonik (Gambar 4) antara lain, satu dimensi, dua dimensi dan tiga dimensi diperlihatkan pada Gambar (Johnson et al. 2003).
(a)
(b)
(c)
Gambar 4 Kristal fotonik (a) satu dimensi, (b) dua dimensi, (c) tiga dimensi
12
Ketika cahaya mengenai lapisan kristal fotonik, maka masing-masing lapisan akan memantulkan (merefleksikan) sebagian dari cahaya. Jika ketebalan lapisan dipilih untuk nilai yang sesuai maka cahaya yang dipantulkan akan mengalami perpaduan (interferensi), menghasilkan interferensi yang saling menguatkan (interferensi konstruktif). Peristiwa ini memenuhi hukum hamburan Bragg (Schmidt et al. 2007). Kristal fotonik yang disisipkan satu defek akan menghasilkan resonansi dalam selang PBG, dimana frekuensi gelombang cahaya yang datang sama dengan frekuensi defek yang diberikan. Gelombang dengan frekuensi defek tersebut akan dipantulkan terus-menerus secara harmonik di sekitar defek oleh DBR (distributed Bragg reflector) sebelah kiri dan kanan lapisan defek, dimana DBR berfungsi sebagai cermin PBG. Akibatnya, fotonfoton akan terlokalisir di sekitar defek dan menimbulkan peningkatan medan yang besar. Peningkatan medan yang besar pada daerah defek mengakibatkan transmitansi yang kuat dalam PBG (Negara 2009). Gambar 5 menunjukkan distribusi medan dalam defek (Sopaheluwakan 2003).
Gambar 5 Distribusi medan dalam defek
Kristal fotonik yang disisipkan dua defek akan menghasilkan PPB (photonic pass band) yang memiliki karakteristik unik sebagai respon atas perubahan material pada lapisan defek tersebut. Untuk lapisan defek pertama, perubahan material memberikan efek pergeseran posisi PPB (pergeseran frekuensi) yang dapat dimanfaatkan sebagai filter optik, sedangkan untuk lapisan defek kedua, perubahan material memberikan efek perubahan transmitansi PPB yang dapat dimanfaatkan sebagai sensor optik, dimana material sampel yang akan dideteksi diperlakukan sebagai lapisan defek (Alatas et al. 2006).
13
Model kristal fotonik satu dimensi yang dijadikan sensor terdiri atas lapisan tetap dielektrik yang berselang-seling dan dua lapisan defek (Gambar 6), yang dapat dinyatakan sebagai: n0ns(n1/ n2 )MD1 (n1/ n2 )ND2 (n1/ n2 )Lnsn0 Dimana n0 dan ns adalah indeks bias medium background dan substrat, n1 dan n2 adalah indeks bias dari lapisan tetap, D1 dan D2 adalah lapisan defek, dimana D1 ≡ nd1/ n2 dan D2≡ nd2/ n2, sementara M, L, dan N adalah jumlah lapisan tetap (Alatas et al. 2006).
Gambar 6 Model kristal fotonik satu dimensi dengan M = 4, N = 6 dan L = 2
Sensor kristal fotonik yang digunakan pada penelitian ini adalah sensor kristal fotonik yang dikembangkan oleh peneliti dari Institut Pertanian Bogor (IPB). Pengembangan sensor optik ini dimulai dari kajian fisika teoritik mengenai fenomena interaksi gelombang elektromagnetik (GEM) dengan kristal fotonik, kemudian proses fabrikasi dengan electron beam evaporation dan pembuatannya menjadi sebuah sensor optik yang sangat sensitif (Alatas et al. 2006). Prinsip kerja sensor kristal fotonik ini dengan merambatkan gelombang elektromagnetik (GEM), berupa sumber cahaya (light source), kedalam kristal fotonik yang disisipi material sampel (Alatas et al. 2006). Perubahan besar kecilnya intensitas cahaya yang melewati sensor kristal fotonik akan ditangkap oleh photo detector. Sinyal elektrik yang dihasilkan oleh photo detector ini diubah menjadi besaran listrik berupa arus atau tegangan. Arus atau tegangan yang dihasilkan tersebut harus disesuaikan level dan bentuknya oleh rangkaian pengkondisi
sinyal
sebelum
diolah
oleh
microcontroller.
memperlihatkan cara kerja sensor kristal fotonik sebagai sensor optik.
Gambar
7
14
Gambar 7 Cara kerja sensor kristal fotonik
Sensor kristal fotonik dapat dimanfaatkan untuk pengukuran pada berbagai keperluan seperti pengukuran kadar gula darah, deteksi salinitas air laut, pencemaran sungai dan polusi udara. Gambar 8 memperlihatkan Contoh letak pemasangan sensor kristal fotonik pada proses pengukuran gas pencemar (Alatas et al. 2006).
Gambar 8 Contoh letak pemasangan sensor kristal fotonik pada proses pengukuran gas pencemar
2.3 Arduino Arduino merupakan board microcontroller yang bersifat open source. Diturunkan dari flatform Wiring (http://www.wiring.org.co) dan dirancang untuk memudahkan dalam membangun berbagai aplikasi elektronik. Proyek yang bersifat open hardware ini mulai dikembangkan pada tahun 2005 di daerah Ivrea, sebuah kota di Italia. Pendirinya adalah Massimo Banzi dan David Cuartielles. Awalnya diberi nama Arduin of Ivrea. Dari asal katanya, Arduino berarti “teman yang kuat” dalam bahasa inggris biasa disebut hardwin, dalam kehidupan seharihari Arduino itu sendiri biasa digunakan oleh orang Italia sebagai nama depan pria. Arduno selanjutnya dikembangkan oleh Tom Igoe, Gianluca Martino, dan David Mellis (Margolis 2011).
15
Lebih lanjut dikembangkan juga software khusus untuk memprogram hardware Arduino yang diturunkan dari Processing yang dikembangkan oleh tim dari Massachusetts Institute of Technology. IDE (Integrated Development Environment) Arduino dibangun dengan Java. Setiap board Arduino terdiri dari chip microcontroller keluarga Atmel AVR. Hardware Arduino diprogram menggunakan bahasa Wiring, mirip dengan bahasa C++ yang sudah disederhanakan dan dimodifikasi (Margolis 2011). Untuk dokumentasi lebih lanjut dapat dilihat di website resmi Arduino yaitu http://www.arduino.cc. Arduino hadir dengan beberapa model, antara lain Diecimila, Due, Duemilanove, Fio, Leonardo, Lily Pad, Mega 1280, Mega 2560, Nano dan Uno. Dimana yang membedakan masing-masing model adalah chip yang tertanam didalamnya (Margolis 2011). Tabel 4 Perbedaan beberapa model produk Arduino Flash Model
Processor
Memory (kb)
EEPROM
SRAM
(kb)
(kb)
Digital I/O
Analog PWM
pin
Input pin
Diecimila
ATmega168
16
0.5
1
14
6
6
Due
ATMEL SAM3U
256
0
50
54
16
16
Duemilanove
ATmega 168/328P
16/32
0.5/1
1/2
14
6
6
Fio
ATmega 328P
32
1
2
14
6
8
Leonardo
ATmega 32u4
32
1
2
14
6
12
16
0.5
1
14
6
6
LilyPad
ATmega 168V atau ATmega 328V
Mega1280
ATmega 1280
128
4
8
54
14
16
Mega2560
ATmega 2560
256
4
8
54
14
16
16/32
0.5/1
1/2
14
6
8
32
1
2
14
6
6
Nano Uno
ATmega 168 atau ATmega 328 ATmega 328P
16
Tabel 4 memperlihatkan perbedaan beberapa model produk Arduino. Gambar 9 memperlihatkan salah satu model produk Arduino. Karena rancangan hardware dan software Arduino bersifat open-source, maka produsen lain bebas untuk menirunya. Beberapa produsen yang memproduksi hardware dengan flatform Arduino antara lain, Freeduino, Zigduino, Seeduino, dan DFRobot. Pada penelitian ini dipilih produsen DFRobot dengan alasan kemudahan untuk memperolehnya.
Gambar 9 Arduino Duemilanove dengan chip AVR 328 (Sumber : http://www.arduino.co.cc)
Berikut beberapa kelebihan dari board yang dibangun dengan flatform Arduino (Margolis 2011), a) Tidak membutuhkan perangkat chip
programmer karena di dalamnya
sudah ada bootloader yang akan menangani upload program dari komputer. b) Memiliki sarana komunikasi USB, sehingga memudahkan pengguna laptop yang tidak memiliki port serial/RS232. c) Bahasa pemrograman relatif lebih udah karena software Arduino sudah dilengkapi dengan kumpulan library siap pakai dan cukup lengkap. d) Memiliki modul (shield) siap pakai yang bisa ditancapkan pada board Arduino. Misalnya I/O Expansion Shield, Ethernet Shield, Relay Shield, GPS Shield, SD Sard Shield, dan sebagainya. 2.3.1
DFRduino DFRduino merupakan board microcontroller yang dirancang dengan
flatform Arduino yang diproduksi oleh DFRobot yang memiliki fitur hampir 100% sama dengan Arduino buatan Italia. Selain memproduksi board Arduino turunannya, DFRobot juga memproduksi shield siap pakai yang bisa ditancapkan pada board DFRduino (DFR 2010). Untuk dokumentasi lebih lanjut dapat dilihat di website resmi DFRobot yaitu http://www.dfrobot.com.
17
2.3.2
DFRduino Mega 1280 Sesuai dengan namanya chip microcontroller yang digunakan pada board
DFRduino Mega 1280 yaitu Atmega 1280. Terdiri dari 54 pin digital input/output (yang 14 diantaranya dapat digunakan sebagai output PWM), 16 input analog, 4 UARTs (hardware serial ports), 16 MHz oscillator, USB port, konektor power, header ICSP, dan sebuah tombol reset. DFRduino Mega 1280 sudah terdiri dari komponen-komponen yang dibutuhkan dalam mengoperasikan microcontroller. Gambar 10 memperlihatkan arsitektur dari DFRduino Mega 1280 (DFR 2010).
Gambar 10 Arsitektur DFRduino Mega 1280 (Sumber : http://www.dfrobot.com )
2.3.3
Mega I/O Expansion Shield Selain
memproduksi
board
Arduino
turunannya,
DFRobot
juga
memproduksi shield siap pakai yang bisa ditancapkan pada board DFRduino. Salah satunya adalah Mega I/O Expansion Shield. Shield ini memiliki beberapa slot yang memungkinkan board DFRduino berkomunikasi dengan beberapa input analog (sensor) dan modul lainnya seperti XBee wireless, Ethernet Shield, SD Card Shield, dan sebagainya. Gambar 11 memperlihatkan arsitektur dari Mega I/O Expansion Shield (DFR 2010).
Gambar 11 Mega I/O Expansion Shield (http://www.dfrobot.com)
18
2.4 Protokol ZigBee Protokol ZigBee merupakan protokol jaringan yang ditujukan untuk otomatisasi dan aplikasi tanpa kabel (wireless). Protokol ZigBee diharapkan mampu memberikan biaya yang murah (low cost) serta daya yang rendah (low data rate), sehingga dapat dijadikan pilihan yang tepat untuk peralatan dengan konsumsi daya rendah seperti baterai sehingga mampu bertahan beberapa bulan atau bahkan beberapa tahun tetapi tidak memerlukan transfer data tinggi (Ergen 2004). 2.4.1
Topologi Jaringan ZigBee ZigBee memiliki tiga topologi model jaringan yaitu topologi star, mesh
(peer to peer) dan cluster tree. Gambar 12 memperlihatkan Model topologi jaringan Zigbee (Ergen 2004).
Gambar 12 Model topologi jaringan Zigbee (Sumber : http://www.zigbee.org)
2.4.1.1 Topologi Star Pada topologi star komunikasi dilakukan antara perangkat dengan sebuah pusat pengontrol tunggal, disebut sebagai koordinator PAN (Personal Area Network). Aplikasi dari topologi ini bisa untuk otomasi rumah, perangkat (personal computer), serta mainan anak-anak. Setelah sebuah FFD (Full-Function Device) diaktifkan untuk pertamakali maka akan membuat jaringannya sendiri dan menjadi koordinator PAN. Setiap jaringan star akan memilih sebuah pengenal PAN yang tidak sedang digunakan oleh jaringan lain didalam jangkauan radionya. Ini akan mengijinkan setiap jaringan star untuk bekerja secara tersendiri (Ergen 2004).
19
2.4.1.2 Topologi Mesh (Peer to Peer) Pada topologi peer to peer juga hanya ada satu koordinator PAN (Personal Area Network). Berbeda dengan topologi star, setiap perangkat dapat berkomunikasi satu sama lain sepanjang ada dalam jarak jangkauannya. Peer to peer dapat berupa adhoc, self-organizing dan self healing. Penerapannya seperti pengaturan jaringan sensor tanpa kabel (Ergen 2004). 2.4.1.3 Topologi Cluster Tree Cluster tree merupakan sebuah model khusus dari jaringan peer to peer dimana sebagian besar perangkatnya adalah FFD (Full-Function Device) dan sebuah RFD (Reduced-Function Device) mungkin terhubung ke jaringan cluster tree sebagai node tersendiri di akhir dari percabangan. Salah satu dari FFD dapat berlaku sebagai koordinator dan memberikan layanan sinkronisasi ke perangkat lain dan koordinator lain. Hanya satu dari koordinator ini adalah koordinator PAN (Personal Area Network). Koordinator PAN membentuk cluster pertama dengan membentuk CLH (Cluster Head) dengan sebuah CLI (Cluster Identifier) nol, memilih sebuah pengenal PAN yang tidak terpakai dan memancarkan frameframe beacon ke perangkat sekitarnya. Sebuah perangkat menerima frame beacon mungkin meminta untuk bergabung ke network CLH. Jika koordinator PAN mengijinkan untuk bergabung, maka akan menambahkan perangkat baru ini sebagai perangkat turunannya dalam daftar perangkat disekitarnya (Ergen 2004). 2.4.2
Keuntungan Menggunakan ZigBee Keunggulan utama dari ZigBee adalah berdaya rendah (low power)
sehingga meskipun hanya di-supply dengan baterai biasa pun mampu untuk dihidupkan, melakukan pengecekan, mengirim data dan mematikan hanya dalam waktu kurang dari 30 ms. Ini akan membuat baterai menjadi tahan lama. Hal ini bisa dicapai dengan hanya sebuah IC transceiver dengan serta pekerjaan ringan yang cukup dijalankan dengan microcontroller 8 bit. Keperluan memori flash ZigBee berkisar antara 16 hingga 60 KB bergantung dari kerumitan peralatan, fitur dari stack serta apakah sebuah perangkat RFD atau FFD (Ergen 2004). Untuk dokumentasi lebih lanjut mengenai ZigBee dapat merujuk pada website resminya yaitu http://www.zigbee.org.
20
2.4.3
XBee Transceiver XBee transceiver merupakan suatu modul yang dirancang untuk memenuhi
standar Zigbee dan telah memenuhi standar IEEE 802.15.4 yang biasa digunakan untuk aplikasi jaringan sensor berbiaya dan berdaya rendah. Modul ini membutuhkan daya minimal dan menyediakan transfer data yang handal antara dua device (DI 2009). Modul XBee transceiver yang digunakan dalam sistem ini adalah XBee Pro series 1. Gambar 13 memperlihatkan sebuah modul XBee Pro dan susunan pin yang dimilikinya (DI 2009).
(a)
(b)
Gambar 13 (a) XBee Pro dan (b) susunan pin pada XBee Pro (Sumber : http://www.dfrobot.com)
2.4.3.1 Susunan Pin pada XBee Pro Tabel 5 memperlihatkan susunan pin pada XBee Pro beserta penjelasannya (DI 2009), Tabel 5 Susunan pin pada Xbee Pro beserta penjelasannya
21
2.4.3.2 Spesifikasi XBee Pro Tabel 6 menunjukkan spesifikasi XBee Pro yang digunakan pada penelitian ini beserta perbandingannya dengan produk XBee lain (DI 2009), Tabel 6 Perbandingan spesifikasi XBee dengan XBee Pro
2.4.3.3 Cara Kerja XBee Transceiver Modul XBee transceiver dihubungkan ke host melalui level logika port serial asinkron. Melalui port serial ini, modul XBee dapat berkomunikasi dengan logika dan tegangan yang compatible dengan UART (universal asynchronous receiver/transmitter) ke sembarang device serial seperti microcontroller, RS232/485/422 atau USB. Device yang mempunyai UART interface dapat langsung dihubungkan secara langsung dengan pin-pin modul XBee seperti ditunjukkan pada Gambar 14.
22
Gambar 14 Diagram sistem aliran data pada XBee (Sumber : http://www.digi.com)
Data diterima oleh modul XBee melalui pin DI (pin 3) sebagai sinyal serial asinkron. Sinyal harus berada pada kondisi idle high ketika tidak ada data yang ditransmisikan. Setiap byte data terdiri dari satu bit start (low), 8 bit data (dengan LSB terlebih dahulu), dan satu bit stop (high). Gambar 15 mengilustrasikan pola bit data serial dari XBee. Misalnya kita akan mengirimkan paket data 0x1F (bilangan desimal “31”) melalui XBee Pro. Maka format pengiriman datanya adalah 8-N-1 (bits – parity – jumlah bit stop) (DI 2009).
Gambar 15 Contoh format pengiriman data (Sumber : http://www.digi.com)
Ketika data serial masuk melalui pin DI, maka data tersebut akan disimpan di dalam DI buffer sampai data tersebut bisa dikirimkan. Jika XBee tidak segera mengirimkan data (contohnya ketika telah menerima data RF), data serial akan terus disimpan di DI buffer. Ketika DI buffer telah penuh, flow control hardware dan software harus diimplementasikan untuk mencegah over flow (hilangnya data antara host dan modul XBee). Kasus dimana DI buffer menjadi penuh dan kemungkinan over flow terjadi jika penerimaan data melalui pin DI buffer berlangsung secara terus menerus. Data yang berada di dalam DI buffer akan ditransmisikan melalui udara ketika XBee tidak lagi menerima data. Ketika data RF diterima, data selanjutnya diterima oleh DO buffer dan kemudian mengirim data tersebut ke host melalui port serial. Ketika DO buffer mencapai kapasitas maksimalnya, data selanjutnya yang datang ke DO buffer akan hilang (DI 2009).
23
Gambar 16 menunjukkan diagram data flow internal dengan lima buah pin yang paling sering digunakan (DI 2009).
Gambar 16 Diagram data flow internal (Sumber : http://www.digi.com)
2.4.3.4 Konfigurasi XBee Transceiver XBee transceiver memiliki dua mode operasi sebagai konfigurasi, yaitu mode Transparent (AT) dan mode Packet (API). Mode AT digunakan jika diinginkan konfigurasi point-to-point yang sederhana antara dua buah XBee transceiver. Beberapa kelebihan dari mode AT antaralain (DI 2009), a) Sederhana b) Compatible dengan semua peralatan yang menggunakan komunikasi serial c) Terbatas hanya untuk komunikasi point-to-point antara dua XBee transceiver Sementara mode API mempunyai kemampuan yang lebih baik namun lebih komplek dalam hal konfigurasi. Dengan mode API, memungkinkan untuk membuat jaringan yang terdiri dari beberapa XBee transceiver dan antar XBee transceiver yang satu dengan yang lainnya dapat saling berkomunikasi secara individual. Beberapa kelebihan dari mode API antaralain (DI 2009), a) I/O line passing, yaitu menerima data dari remote XBee transceiver yang berdiri sendiri (stand-alone remote Xbee) b) Memungkinkan untuk komunikasi broadcast dan komunikasi dengan lebih dari satu XBee transceiver c) Menerima acknowledgement bahwa paket telah dikirim dengan baik Untuk mengkonfigurasi jaringan XBee transceiver, digunakan software khusus yang disediakan oleh produsen XBee transceiver (Maxstream/Digi) yaitu X-CTU (DI 2009). Gambar 17 memperlihatkan tampilan software X-CTU.
24
Gambar 17 Software X-CTU
Agar dua buah XBee transceiver atau lebih dapat saling berkomunikasi, maka XBee transceiver tersebut harus (DI 2009), a) Mempunyai Channel (CH) yang sama b) Mempunyai ID (PAN ID) yang sama c) Source ID XBee penerima harus sesuai dengan destination ID dari XBee transceiver pengirim 2.4.4
XBee Adapter Fungsi utama dari modul XBee adapter adalah sebagai jembatan yang
menghubungkan antara XBee transceiver dengan port serial komputer. Modul XBee adapter akan membuat COM virtual pada komputer, sehingga tidak perlu menggunakan port serial yang sesungguhnya (SS 2010). Data serial yang diterima oleh komputer server dapat diakses dengan melakukan koneksi terlebih dahulu ke COM virtual yang terbaca pada Device Manager (di Windows) dan Control Panel (di Ubuntu/Linux). Untuk melakukan pengujian bahwa data sedang diterima oleh komputer server maka dapat menggunakan aplikasi TeraTerm (Faludi 2011).
25
Modul XBee adapter yang digunakan pada penelitian adalah UartSbee v4.0 yang
dikembangkan
oleh
Albert
Miao
(http://www.seeedstudio.com).
UartSbee v4.0 sudah memenuhi standar Future Technology Devices International (FTDI) (http://www.ftdichip.com). UartSbee v4.0 mempunyai UART (universal asynchronous receiver/transmitter) interface yang dapat langsung dihubungkan dengan pin-pin XBee transceiver, sehingga memungkinkan XBee transceiver dapat langsung dipasangkan. Ketika UartSbee v4.0 dihubungkan ke komputer dengan Mini-B USB, maka komputer biasanya akan meminta driver. Untuk itu maka download dan install virtual COM port (VCP) driver dari website FTDI. VCP driver memungkinkan setiap hardware yang dihubungkan dengan kabel USB ke komputer akan dikenali VCP yang digunakannya (SS 2010). Sehingga software aplikasi lain, dalam hal ini aplikasi desktop yang telah dibuat, dapat mengakses perangkat USB, dalam hal ini adalah prototype stasiun ISPU. Gambar 18 dan 19 masing-masing memperlihatkan UartSbee v4.0 dan diagram blok UartSbee v4.0 (SS 2010).
Gambar 18 UartSbee v4.0 (Sumber : http://www.seeedstudio.com)
Gambar 19 Diagram blok UartSbee v4.0 (Sumber : http://www.dfrobot.com)
26
Tabel 7 memperlihatkan spesifikasi dari UartSbee v4.0 (SS 2010), Tabel 7 Spesifikasi dari UartSbee v4.0
No
Spesifikasi
Keterangan
1
Microprocessor
FT232RL
2
Ukuran PCB
3.1 cm x 4.1 cm
3
Indikator
4
Power Supply
3.3V dan 5V DC
5
Antar muka
Mini-B USB dan pin header pitch 2.54 mm
6
Socket adaptor
Memiliki 20 buah socket Bee female
7
Protokol komunikasi
UART
Dilengkapi dengan LED indikator untuk power, transmitter (TxD), dan receiver (RxD)
2.5 Visual Basic Visual Basic adalah salah satu development tools untuk membangun aplikasi dalam lingkungan Windows. Dalam pengembangan aplikasi, Visual Basic menggunakan pendekatan visual untuk merancang user interface dalam bentuk form, sedangkan untuk pemrogramannya menggunakan bahasa BASIC yang relatif mudah untuk dipelajari (Halim 2010). Pada penelitian ini dipilih Visual Basic 6.0. Meskipun sekarang Microsoft telah mengeluarkan Visual Basic.NET 2010, namun Visual Basic 6.0 masih menjadi pilihan favorit bagi beberapa developer, termasuk penulis. Berikut beberapa kemampuan Visual Basic 6.0 antaralain (Halim 2010), a) untuk membuat program aplikasi berbasis Windows b) untuk membuat objek-objek pembantu program seperti misalnya control ActiveX, file Help, aplikasi internet, dan sebagainya c) menguji dan menghasilkan program akhir berekstensi EXE yang bersifat executable, atau langsung dapat dijalankan
27
Gambar 20 Logo Visual Basic 6.0 (Sumber : http://www.microsoft.com/visualstudio)
Dalam lingkungan Windows, user interface memegang peranan yang sangat penting karena dalam pemakaian aplikasi yang kita buat, pemakai senantiasa berinteraksi dengan user interface tanpa menyadari bahwa dibelakangnya berjalan instruksi-instruksi program yang mendukung tampilan dan proses yang dilakukan. Pada pemrograman visual, pengembangan aplikasi dimulai dengan pembentukan user interface, kemudian mengatur property dari objek-objek yang digunakan dalam user interface dan baru dilakukan penulisan kode program untuk menangani kejadian-kejadian (event). Tahap pengembangan aplikasi demikian dikenal
dengan
istilah
pengembangan
aplikasi
dengan
pendekatan
bottom up (Halim 2010). Untuk dokumentasi lebih lanjut mengenai Visual Basic 6.0 dapat merujuk pada website resminya yaitu http://www.microsoft.com/visualstudio. 2.6 PHP PHP (Hypertext Pre Processor) pertama kali di buat pada musim gugur pada tahun 1994 oleh Rasmus Lerdoff. Awalnya PHP digunakan untuk mencatat siapa saja yang berkunjung dan melihat biodata website pribadinya. Versi pertama yang di-release tersedia pada awal tahun 1995, dikenal sebagai tool Personal Home Page, yang terdiri atas engine parser yang sangat sederhana yang hanya mengerti beberapa makro khusus dan sejumlah utilitas yang sering digunakan pada halaman web, seperti buku tamu, counter pengunjung dan sebagainya. Kemudian parser diprogram ulang pada pertengahan tahun 1995 dan diberi nama PHP/FI (Personal Home Page/Form Interface) versi 2.0. FI berasal dari paket Rasmus lainnya yang ditulis untuk menginterpretasi data dari form, yang kemudian dikombinasikan dengan tool PHP dan ditambahkan dukungan untuk database mini SQL (Sidik 2006).
28
Gambar 21 Logo PHP (Sumber : http://www.php.net)
PHP merupakan bahasa pemrograman berbasis server-side, artinya ketika user mengirimkan request ke server, maka server akan mengolahnya dan mengirimkan hasilnya ke user, dimana hanya tag HTML yang dapat dilihat oleh user. Ini menjadi keunggulan tersendiri, karena dapat meningkatkan security dari web yang dibangun. Saat ini PHP sudah memasuki versi 5, telah banyak dilakukan perbaikan pada bug dan penambahan fungsi yang lebih memudahkan pengembang aplikasi berbasis web menjadi lebih baik lagi (Sidik 2006). Pada penelitian ini penulis menggunakan PHP untuk membangun web monitoring dengan memadukannya bersama script lain seperti jQuery, AJAX, dan FusionCharts (Hakim 2010). Untuk dokumentasi lebih lanjut mengenai PHP dapat merujuk pada website resminya yaitu http://www.php.net. 2.7 Database Database merupakan sekumpulan data yang berisi informasi yang dibutuhkan oleh pengguna. Ada beberapa software aplikasi database yang biasa digunakan baik yang gratis maupun berbayar, diantaranya MySQL, miniSQL, Oracle, MS Access, dan PostgreeSQL (Sidik 2006). Pada penelitian ini dipilih MySQL sebagai database. Kehandalan dan kestabilan MySQL sudah tidak perlu diragukan lagi karena bersifat open source. Untuk dokumentasi lebih lanjut mengenai MySQL dapat merujuk pada website resminya yaitu http://www.mysql.com.
Gambar 22 Logo MySQL (Sumber : http://www.mysql.com)
29
2.8 ODBC ODBC (Open Data Base Connectivity) merupakan suatu standar untuk melakukan koneksi kepada suatu database. DSN (Data Source Name) merupakan nama alias suatu database yang diakses melalui ODBC. Setup ODBC berarti membuat suatu nama alias untuk suatu database. Database yang dapat diakses dengan ODBC harus sudah dipasang ODBC driver pada komputer yang akan melakukan setup ODBC. Driver database disediakan oleh masing-masing pembuat aplikasi database. Pada penelitian ini, ODBC digunakan untuk mengakses database MySQL oleh aplikasi desktop yang dibuat. Untuk informasi lebih lanjut mengenai cara setup ODBC pada suatu database dapat merujuk pada website masing-masing pembuat aplikasi database (Sidik 2006). 2.9 Apache Web Server Web server merupakan program yang berfungsi sebagai pemberi layanan terhadap setiap client yang ingin mengakses data suatu website. Diantaranya yang cukup terkenal dan biasa digunakan antara lain Apache (Gambar 26) dan Internet Information Services (IIS) (Sidik 2006).
Gambar 23 Logo Apache web server (Sumber : http://www.apache.org)
Gambar 15 memperlihatkan cara kerja dari sebuah web server.
Gambar 24 Konsep dasar browser dan web server
30
Pada penelitian ini dipilih Apache web server. Hal ini karena Apache memiliki beberapa keunggulan dibandingkan dengan web server lainnya antaralain, Apache cepat dan efisien, portable, memiliki banyak dukungan, stabil, extensible, pengaturannya relatif mudah dan bersifat open source (Sidik 2006). Untuk dokumentasi lebih lanjut mengenai Apache dapat merujuk pada website resminya yaitu http://www.apache.org. 2.10FusionCharts FusionCharts (Gambar 25) adalah plug-in grafik flash yang digunakan untuk menghasilkan grafik yang dinamis dan interaktif . Plug-in yang dibuat dengan Adobe Flash 8 ini dapat dikombinasikan dengan tag dan beberapa bahasa pemrograman seperti HTML, .NET, ASP, JSP, PHP, ColdFusion, Ruby dan sebagainya. Mendukung berbagai jenis database seperti MySQL, MS Access, PostgreeSQL, dan sebagainya, dengan terlebih dahulu mengubahnya dalam dalam tag XML. Untuk dokumentasi lebih lanjut mengenai FusionCharts dapat merujuk pada website resminya yaitu http://www.fusioncharts.com.
Gambar 25 Logo FusionCharts (Sumber : http://www.fusioncharts.com)
2.11AJAX (Asynchronous Javascript And XML) AJAX diperkenalkan oleh Jesse James Garret pada tahun 2005. Ia mendeskripsikan bagaimana mengembangkan web yang berbeda dengan metode pengembangan web secara tradisional. Ia mempublikasikan sebuah artikel berjudul “AJAX : A New Approach to Web Applications” (Holdener 2008). AJAX bukanlah bahasa pemrograman baru, tetapi merupakan gabungan teknologi pemrograman web yang sudah ada sebelumnya, yaitu Javascript, HTML (Hyper Text Markup Language), XHTML (eXtensible Hyper Text Markup Language), CSS (Cascading Style Sheets), DOM (Document Object Model), XML (eXtensible Markup Language), XSLT (eXtensible Stylesheet Language Transformations), JSON (Java Script Object Notation), dan XMLHttpRequest.
31
AJAX diciptakan untuk menjadikan aplikasi berbasis web yang lebih interaktif, cepat dan mudah digunakan. Pengembangan web secara tradisional bekerja secara synchronously (langsung) antara aplikasi web dan komputer server. Ketika browser mengirim data ke server maka server akan merespon dan seluruh halaman akan di-refresh. Sementara pengembangan web dengan AJAX bekerja secara asynchronously (tidak langsung), yang berarti mengirim dan menerima data dari pengguna ke server tanpa perlu memanggil kembali seluruh halaman, melainkan hanya melakukan pergantian pada bagian web yang hendak diubah. Hal ini merupakan perbedaan mendasar model AJAX dengan model tradisional (Holdener 2008). Melalui AJAX, Javascript dapat dikomunikasikan secara langsung dengan server menggunakan objek Javasript XMLHttpRequest. Objek Javascript ini dapat men-trade data sebuah web server tanpa harus me-reload halaman web. Teknik inilah yang kemudian akan digunakan oleh penulis untuk menampilkan grafik ISPU (Indeks Standar Pencemar Udara) secara waktu nyata (real time). 2.12jQuery jQuery (Gambar 26) adalah Javascript library (kumpulan fungsi JavaScript siap pakai) yang memudahkan dan mempercepat dalam membuat script dengan Javascript. Sesuai dengan slogannya ”Write less, do more”, jQuery berfungsi menyederhanakan script Javascript. jQuery dirilis pertama kali tahun 2006 oleh John Resig. Dari awal kehadirannya jQuery telah banyak mencuri perhatian para developer web. Beberapa website terkemuka di dunia seperti Google, Microsoft, Intel, Facebook, Twitter, Youtube, Apple, Nokia, Oracle, IBM, DELL, BBC, ESPN, dan Mozilla menggunakan jQuery (Hakim 2010). Pada penelitian ini penulis menggunakan jQuery untuk membangun web monitoring dengan memadukannya bersama script PHP. Untuk dokumentasi lebih lanjut
mengenai
jQuery dapat
merujuk
pada
http://www.jquery.com.
Gambar 26 Logo jQuery (Sumber : http://www.jquery.com)
website
resminya
yaitu
32
33
BAB 3 METODOLOGI PENELITIAN 3.1 Tempat dan Waktu Penelitian Penelitian
dilakukan
di
laboratorium
Material
dan
laboratorium
Spektroskopi Departemen Fisika Institut Pertanian Bogor (IPB), laboratorium Pusat Penelitian Lingkungan Hidup (PPLH) Institut Pertanian Bogor (IPB), serta laboratorium Nano Bio Photonics (NBP) Korean Advanced Institute of Science and Technology (KAIST) Korea Selatan dari bulan Mei 2011 hingga bulan Mei 2012. 3.2 Komponen Instrumentasi Penelitian 3.2.1 Komponen Perangkat Keras (Hardware) Dummy sensor berupa potensiometer 10 kΩ, sensor kristal fotonik satu dimensi, modul DFRduino Mega 1280,
Mega I/O Expansion Shield, XBee
transceiver, XBee adapter, kabel USB dan seperangkat komputer sebagai server. 3.2.2 Komponen Perangkat Lunak (Software) dan Bahasa Pemrograman
Software yang digunakan pada penelitian ini antaralain : Windows 7 operating systems, Visual Basics 6.0, Arduino, X-CTU/Putty, TeraTerm, Dreamweaver 8.0, PHP, MySQL, Apache, dan FusionCharts. Sementara bahasa pemrograman yang digunakan pada penelitian ini antaralain : BASIC, C++/Wiring, PHP, HTML, XML,
Javascript (inc. AJAX, jQuery) dan
FusionCharts. 3.3 Tahap Pelaksanaan Penelitian Tahap pelaksanaan penelitian terdiri dari empat bagian utama antaralain perancangan prototype stasiun Indeks Standar Pencemar Udara (ISPU), perancangan akuisisi data secara nirkabel (wireless), perancangan software antarmuka berbasis aplikasi desktop, dan perancangan software antarmuka berbasis aplikasi web. Gambar 27 memperlihatkan tahap pelaksanaan penelitian.
34
Gambar 27 Tahap pelaksanaan penelitian
Prototype stasiun ISPU dalam penelitian ini didefinisikan sebagai seperangkat hardware terintegrasi yang dapat melakukan akuisisi data yaitu mengambil data fisis berupa nilai ISPU yang ditransmisikan secara nirkabel (wireless) ke komputer server. Gambar 28 memperlihatkan diagram blok sistem pengukuran ISPU untuk setiap stasiun yang telah dibuat,
Gambar 28 Diagram blok sistem pengukuran ISPU untuk setiap stasiun
Agar masuk dalam kategori sensor network (Faludi 2011) maka pada penelitian ini dibuat sebanyak tiga buah prototype stasiun ISPU, yang masingmasing terdiri dari lima buah sensor. Gambar 29 memperlihatkan Diagram blok prototipe Wireless Sensor Network (WSN),
35
Gambar 29 Diagram blok prototipe Wireless Sensor Network (WSN)
Seperti telah disebutkan sebelumnya, pada penelitian ini digunakan dua buah sensor, yaitu dummy sensor berupa potensiometer 10 kΩ dan sensor kristal fotonik satu dimensi. Dummy sensor berupa potensiometer 10 kΩ digunakan sebagai simulasi rangkaian sebelum menggunakan sensor yang sebenarnya yaitu sensor kristal fotonik satu dimensi (Rahmat et al. 2009). Output dari dummy sensor berupa data analog yang mempresentasikan nilai tegangan. Modul DFRduino Mega 1280 yang digunakan sudah dilengkapi dengan rangkaian analog to digital converter (ADC) 10 bit. Sehingga tidak perlu lagi menggunakan rangkaian ADC eksternal. Output dari dummy sensor dapat langsung dihubungkan dengan pin analog pada board modul DFRduino Mega 1280 karena tegangan output ini level tegangannya sudah sesuai dengan tegangan input yang diperbolehkan oleh modul DFR Mega 1280 yaitu antara 0-5 volt (DFR 2010). Data analog yang dihasilkan ini kemudian diolah oleh DFRduino Mega 1280 menjadi data digital. Sementara jika menggunakan sensor kristal fotonik maka perlu ditambahkan rangkaian pengkondisi sinyal yang terdiri dari rangkaian penguat (amplifier) dan rangkaian tapis (filter) serta rangkaian ADC eksternal agar level tegangan yang masuk ke board DFRduino Mega 1280 sesuai dengan yang diperbolehkan.
36
Gambar 30 memperlihatkan diagram blok yang membedakan letak penggunaan sensor dengan dummy sensor dan sensor kristal fotonik.
Sensor : Dummy sensor Potensiometer
Mikrokontroler : DFRduino Mega 1280 dengan ADC internal
Sensor : Sensor Kristal Fotonik
Pengkondisi Sinyal : Amplifier, Filter
Pemancar (Transmitter) : XBee Transceiver dan Mega I/O expansion shield
Konverter/ Analog to Digital Converter (ADC)
Penerima (Receiver) : XBee Adapter dan Transceiver
Komputer : Windows Server 2008
Graphical User Interface (GUI) : Aplikasi Desktop dan Aplikasi Web
Gambar 30 Diagram blok yang membedakan letak penggunaan sensor dengan dummy sensor dan sensor kristal fotonik
3.4 Perancangan Prototype Stasiun ISPU Prototype stasiun ISPU dalam penelitian ini didefinisikan sebagai seperangkat hardware terintegrasi yang dapat melakukan akuisisi data yaitu mengambil data fisis berupa nilai ISPU yang ditransmisikan secara nirkabel (wireless) ke komputer server. Pada penelitian ini dibuat sebanyak tiga buah prototype stasiun ISPU, yang masing-masing terdiri dari lima buah sensor. Berikut adalah tahapan dalam membuat rancangan prototype stasiun ISPU antara lain, 3.4.1 Perancangan Hardware Bagian ini terdiri dari sensor, modul DFRduino Mega 1280, modul I/O Expansion Shield dan XBee transceiver.
37
3.4.1.1 Sensor Sensor yang digunakan pada penelitian ini adalah dummy sensor berupa potensiometer 10 kΩ dan sensor kristal fotonik satu dimensi yang berhasil dikembangkan oleh peneliti dari Institut Pertanian Bogor (Rahmat et al. 2009). 3.4.1.2 Modul DFRduino Mega 1280 Modul DFRduino Mega 1280 berfungsi sebagai pengolah data yang dibaca oleh sensor berupa data analog untuk kemudian diubah menjadi data digital. Modul DFRduino Mega 1280 ini sudah dilengkapi dengan rangkaian analog to digital converter (ADC) 10 bit. Sehingga tidak perlu lagi menggunakan rangkaian ADC eksternal. Output dari sensor dapat langsung dihubungkan dengan pin analog pada board modul DFRduino Mega 1280 (DFR 2010). 3.4.1.3 Mega I/O Expansion Shield Mega I/O Expansion Shield berfungsi untuk menghubungkan antara board modul DFRduino Mega 1280 dengan modul (shield) yang compatible dengan modul DFRduino Mega 1280, seperti XBee Shield, Ethernet Shield, Relay Shield, GPS Shield, SD Card Shield, dan sebagainya. Mega I/O Expansion Shield mempunyai UART (universal asynchronous receiver/transmitter) interface yang dapat langsung dihubungkan dengan pin-pin XBee transceiver, sehingga memungkinkan XBee transceiver dapat langsung dipasangkan (DFR 2010). 3.4.1.4 XBee Transceiver XBee transceiver pada bagian ini berfungsi sebagai pemancar (transmitter) (DFR 2010). XBee transceiver digunakan untuk mengirimkan data secara wireless dari lokasi prototype stasiun ISPU berada ke komputer server. XBee transceiver telah memenuhi standar IEEE 802.15.4 dan bekerja berdasarkan protokol ZigBee. Secara umum XBee transceiver dihubungkan ke host (dalam hal ini modul DFRduino Mega 1280) melalui level logika serial asinkron. Melalui level logika serial asinkron ini, XBee transceiver dapat berkomunikasi dengan logika dan tegangan yang compatible dengan UART atau melalui level translator ke sembarang device serial (DFR 2010).
38
3.4.2 Perancangan Software 3.4.2.1 Perancangan Software Program DFRduino Mega 1280 Agar modul DFRduino Mega 1280 dapat memproses data yang dibaca oleh sensor, maka harus dilakukan pemrograman terlebih dahulu. Karena modul DFRduino Mega 1280 memiliki fitur hampir 100% sama dengan Arduino buatan Italia maka software IDE (Integrated Development Environment) Arduino dapat digunakan untuk memprogram. Software IDE Arduino memudahkan programmer untuk memprogram karena sudah dilengkapi dengan library yang siap pakai (Margolis 2011). 3.4.2.2 Perancangan Software XBee Transceiver Agar
XBee
transceiver
dapat
digunakan,
maka
harus
dilakukan
pemrograman terlebih dahulu. Pemrograman dapat dilakukan melalui software hyperterminal seperti Putty (Faludi 2011) atau dengan software khusus yang disediakan oleh produsen XBee transceiver (Maxstream/Digi) yaitu X-CTU (DI 2009). XBee transceiver memiliki dua mode operasi sebagai konfigurasi, yaitu mode Transparent (AT) dan mode Packet (API). Karena rancang bangun pada penelitian ini ini hanya point-to-point yang sederhana, maka mode yang digunakan adalah mode AT dengan sistem pengalamatan 16 bit (DI 2009). Pada penelitian ini ada tiga buah prototype stasiun ISPU yang masingmasing mengirimkan lima buah data sensor, untuk itu XBee transceiver pada bagian transmitter dari masing-masing stasiun harus diprogram dengan memberi alamat unik agar dapat dikenali oleh XBee transceiver pada bagian receiver. 3.5 Perancangan Akuisisi Data Secara Nirkabel (Wireless) Setelah memastikan data lima buah sensor dari masing-masing prototype stasiun ISPU dapat diakuisisi dengan komunikasi serial menggunakan kabel USB dan ditampilkan dengan aplikasi TeraTerm, maka langkah selanjutnya adalah membuat rancangan akuisisi data secara nirkabel (wireless). Berikut adalah tahapan dalam membuat rancangan akuisisi data secara wireless antara lain,
39
3.5.1 Perancangan Hardware Bagian ini terdiri dari modul XBee transceiver dan XBee adapter. 3.5.1.1 XBee Transceiver XBee transceiver pada bagian ini berfungsi sebagai penerima (receiver) dan memiliki spesifikasi yang sama dengan XBee transceiver pada bagian pemancar (transmitter). XBee transceiver ini digunakan untuk menerima data secara wireless dari lokasi prototype stasiun ISPU berada. Pada bagian ini XBee transceiver dihubungkan ke host (dalam hal ini modul XBee adapter) melalui level logika serial asinkron. Melalui level logika serial asinkron ini XBee transceiver dapat berkomunikasi dengan logika dan tegangan yang compatible dengan UART (universal asynchronous receiver/transmitter) atau melalui level translator ke sembarang device serial (DI 2009). 3.5.1.2 Modul XBee Adapter Fungsi utama dari modul XBee adapter adalah sebagai jembatan yang menghubungkan antara XBee transceiver dengan port serial komputer. Modul XBee adapter akan membuat COM virtual pada komputer, sehingga tidak perlu menggunakan port serial yang sesungguhnya (SS 2010). Data serial yang diterima oleh komputer server dapat diakses dengan melakukan koneksi terlebih dahulu ke COM virtual yang terbaca pada Device Manager (di Windows) dan Control Panel (di Ubuntu). Modul XBee adapter yang digunakan adalah UartSbee v4.0 yang dikembangkan oleh Albert Miao (http://www.seeedstudio.com). UartSbee v4.0 sudah memenuhi standar Future Technology Devices International (FTDI) (http://www.ftdichip.com). UartSbee v4.0
mempunyai UART interface yang
dapat langsung dihubungkan dengan pin-pin XBee transceiver, sehingga memungkinkan
XBee
transceiver
dapat
langsung
dipasangkan.
Ketika
UartSbee v4.0 dihubungkan ke komputer dengan Mini-B USB, maka komputer biasanya akan meminta driver. Untuk itu maka download dan install virtual COM port (VCP) driver dari website FTDI. VCP driver memungkinkan setiap hardware yang dihubungkan dengan kabel USB ke komputer akan dikenali VCP yang digunakannya (SS 2010).
40
Sehingga software aplikasi lain, dalam hal ini aplikasi desktop yang telah dibuat, dapat mengakses perangkat USB, dalam hal ini adalah prototype stasiun ISPU. Untuk melakukan pengujian bahwa data sedang diterima oleh komputer server maka dapat menggunakan aplikasi TeraTerm (Faludi 2011). 3.5.2 Perancangan Software 3.5.2.1 Perancangan Software XBee Transceiver pada Bagian Receiver Agar XBee transceiver pada bagian receiver dapat berkomunikasi dengan XBee transceiver dari masing-masing prototype stasiun ISPU, maka XBee transceiver pada bagian receiver harus diprogram dengan memberi alamat unik sedemikian sehingga dapat berkomunikasi dengan XBee transceiver pada bagian transmitter dari masing-masing prototype stasiun. Pada penelitian ini ada tiga buah prototype stasiun ISPU yang masingmasing mengirimkan lima buah data sensor, untuk itu XBee transceiver pada bagian receiver harus diprogram dengan memberi alamat unik agar dapat mengenali XBee transceiver pada bagian transmitter. 3.6 Perancangan Software Antarmuka Berbasis Aplikasi Desktop Software antarmuka berbasis aplikasi desktop memiliki fungsi utama untuk menyimpan data secara tidak waktu nyata (non real time) dan menampilkan data secara waktu nyata (real time). Dibuat dengan menggunakan bahasa pemrograman dan IDE (Integrated Development Environment) Visual Basic 6.0. Berikut ini adalah beberapa tahapan utama yang dilakukan untuk membuat software antarmuka berbasis aplikasi desktop, 3.6.1 Perancangan Database Aplikasi Desktop Database pada penelitian ini menggunakan MySQL. Data yang dikirim oleh setiap prototype stasiun ISPU disimpan dalam database dengan nama dbsispu, awalnya hanya terdiri dari tiga buah tabel yaitu dbstasiun1, dbstasiun2, dan dbstasiun3. Namun karena database ini nantinya juga akan digunakan oleh aplikasi web, maka akan ada penambahan beberapa tabel yang dibutuhkan oleh aplikasi web.
41
3.6.2 Pembuatan Form Splash Form Splash (frmSplash.frm) berfungsi sebagai tampilan proses loading aplikasi desktop yang dibuat. Form ini berisi informasi mengenai nama, versi, dan pembuat aplikasi. 3.6.3 Pembuatan Form Monitoring ISPU Form ini berfungsi sebagai tampilan utama dari aplikasi desktop yang dibuat. Form ini berisi informasi mengenai konfigurasi aplikasi (seperti pemilihan port, baudrate, dan interval pengambilan data), data dan grafik ISPU secara waktu nyata (real time), dan data ISPU secara tidak waktu nyata (non real time) atau lebih dikenal dengan istilah datalog ISPU. 3.7 Perancangan Software Antarmuka Berbasis Aplikasi Web Software antarmuka berbasis aplikasi web memiliki fungsi utama untuk menampilkan data secara waktu nyata (real time) dan tidak waktu nyata (non real time) melalui browser. Dibuat dengan menggunakan bahasa pemrograman PHP. Sementara untuk database dan web server menggunakan MySQL dan Apache. Berikut ini adalah beberapa tahapan utama yang dilakukan untuk membuat software antarmuka berbasis aplikasi web, 3.7.1 Perancangan Database Aplikasi Web Sebelum membuat aplikasi web dinamis maka langkah yang harus dilakukan adalah membuat database dari aplikasi web tersebut. Pada bagian sebelumnya sudah dijelaskan bahwa, database dengan nama dbsispu yang berisi tabel dengan nama dbstasiun1, dbstasiun2 dan dbstasiun3 akan digunakan juga oleh aplikasi web yaitu untuk menampilkan data ISPU secara tidak waktu nyata (non real time). Aplikasi web yang dibangun membutuhkan beberapa tabel tambahan lainnya antaralain, banner, download, halamanstastis, hubungi, mainmenu, modul, sekilasinfo, stasiun, statistik, submenu, templates, dan users.
42
3.7.2 Perancangan Website Client Halaman website client adalah halaman website yang biasa diakses oleh user pada umumnya. Secara umum website ini dibuat sebagai aplikasi front-end berupa object oriented programming (OOP). 3.7.3 Perancangan Website Admin Halaman website admin adalah halaman website yang hanya bisa diakses oleh admin. Secara umum website ini dibuat sebagai aplikasi back-end berupa content management systems (CMS), yang berfungsi untuk manajemen pada website client. Untuk bisa mengakses website ini harus memiliki username dan password.
43
BAB 4 HASIL DAN PEMBAHASAN 4.1 Implementasi Tahap Pelaksanaan Penelitian Pada bagian ini akan dijelaskan mengenai implementasi tahap pelaksanaan penelitian. Seperti sudah disebutkan sebelumnya tahap pelaksanaan penelitian terdiri dari empat bagian utama antaralain perancangan prototype stasiun Indeks Standar Pencemar Udara (ISPU), perancangan akuisisi data secara nirkabel (wireless), perancangan software antarmuka berbasis aplikasi desktop, dan perancangan software antarmuka berbasis aplikasi web. 4.2 Implementasi Perancangan Prototype Stasiun ISPU 4.2.1 Implementasi Perancangan Hardware Prototype stasiun ISPU dalam penelitian ini didefinisikan sebagai seperangkat hardware terintegrasi yang dapat melakukan akuisisi data yaitu mengambil data fisis berupa nilai ISPU yang ditransmisikan secara nirkabel (wireless) ke komputer server. Agar masuk dalam kategori sensor network (Faludi 2011) maka pada penelitian ini dibuat sebanyak tiga buah prototype stasiun ISPU, yang masing-masing terdiri dari lima buah sensor. Seperti telah disebutkan sebelumnya, pada penelitian ini digunakan dua buah sensor, yaitu dummy sensor berupa potensiometer 10 kΩ dan sensor kristal fotonik satu dimensi. Dummy sensor berupa potensiometer 10 kΩ digunakan sebagai simulasi rangkaian sebelum menggunakan sensor yang sebenarnya yaitu sensor kristal fotonik satu dimensi (Rahmat et al. 2009). Output dari dummy sensor berupa data analog yang mempresentasikan nilai tegangan. Data analog yang dihasilkan ini kemudian diolah oleh DFRduino Mega 1280 menjadi data digital. Modul DFRduino Mega 1280 ini sudah dilengkapi dengan rangkaian analog to digital converter (ADC) 10 bit. Sehingga tidak perlu lagi menggunakan rangkaian ADC eksternal. Output dari sensor dapat langsung dihubungkan dengan pin analog pada board modul DFRduino Mega 1280 (DFR 2010).
44
Gambar 31 memperlihatkan skema rangkaian dari dummy sensor yang terhubung dengan board modul DFRduino Mega 1280.
Gambar 31 Skema rangkaian dengan dummy sensor
Tabel 8 menunjukkan susunan pin yang digunakan pada rangkaian dengan dummy sensor, Tabel 8 Susunan pin yang digunakan pada rangkaian dengan dummy sensor Nama Pin 5V GND
Keterangan Sebagai pin VCC Sebagai pin Ground
A0
Sebagai pin data Sensor 1
A1
Sebagai pin data Sensor 2
A2
Sebagai pin data Sensor 3
A3
Sebagai pin data Sensor 4
A4
Sebagai pin data Sensor 5
Tegangan Vcc pada potensiometer diperoleh dengan cara menghubungkan kaki 3 dengan pin 5V, kaki 1 dengan pin GND, dan kaki 2 dengan pin analog (misalnya A0) pada board DFRduino Mega 1280. Karena setiap prototype stasiun ISPU terdiri dari lima buah dummy sensor maka dibutuhkan lima buah potensiometer untuk setiap prototype stasiun ISPU. Gambar 32 memperlihatkan skema tiga dimensi rangkaian dari lima buah dummy sensor yang dihubungkan dengan Vcc, GND dan pin analog A0, A1, A2, A3, dan A4.
45
Gambar 32 Skema rangkaian dengan dummy sensor dalam tiga dimensi
XBee transceiver pada bagian ini berfungsi sebagai pemancar (transmitter). XBee transceiver digunakan untuk mengirimkan data secara wireless dari lokasi prototype stasiun ISPU berada ke komputer server. XBee transceiver telah memenuhi standar IEEE 802.15.4 dan bekerja berdasarkan protokol ZigBee. Secara umum XBee transceiver dihubungkan ke host (dalam hal ini microcontroller) melalui level logika serial asinkron. Melalui level logika serial asinkron ini, XBee transceiver dapat berkomunikasi dengan logika dan tegangan yang compatible dengan UART (universal asynchronous receiver/transmitter) atau melalui level translator ke sembarang device serial. Karena XBee transceiver bekerja pada level tegangan 3,3 volt, sementara itu microcontroller bekerja pada level tegangan 5 volt maka jalur data pengiriman data dari microcontroller (TxD) harus disesuaikan level tegangan XBee transceiver. Untuk mengantisipasi hal ini maka digunakan modul tambahan yaitu Mega I/O Expansion Shield yang sudah dilengkapi dengan rangkaian pembagi tegangan (voltage devider). Fungsi utama dari Mega I/O Expansion Shield adalah sebagai jembatan yang menghubungkan antara XBee transceiver dengan DFRduino Mega 1280. Mega I/O Expansion Shield sudah compatible dengan modul DFRduino Mega 1280. Mega I/O Expansion Shield mempunyai UART interface yang dapat langsung dihubungkan dengan pin-pin XBee transceiver (Gambar 33), sehingga memungkinkan XBee transceiver dapat langsung dipasangkan. LED pada pin 13 berfungsi menunjukkan status dari XBee transceiver. LED ini akan menyala ketika status XBee transceiver aktif. LED pada pin 15 akan berkedip ketika proses pengiriman data berlangsung.
46
Gambar 33 XBee receiver yang sudah terhubung ke Mega I/O Expansion Shield
Setelah memastikan komponen prototype stasiun ISPU terhubung dengan baik,
langkah
selanjutnya
adalah
melakukan
packaging.
Gambar
34
memperlihatkan Prototype Stasiun ISPU yang sudah di-packaging.
Gambar 34 Prototype Stasiun ISPU yang sudah di-packaging
Sementara penggunaan sensor yang sebenarnya yaitu sensor kristal fotonik tidak begitu berbeda dengan dummy sensor potensiometer. Prinsip kerja sensor kristal fotonik ini dengan merambatkan gelombang elektromagnetik (GEM), berupa sumber cahaya (light source), kedalam kristal fotonik yang disisipi material sampel. Material sampel ini berupa parameter gas pencemar antaralain CO, SO2, NO2, Ozon permukaan (O3), dan partikel debu (PM-10). Perubahan besar kecilnya intensitas cahaya yang melewati sensor kristal fotonik akan ditangkap oleh photo detector. Sinyal elektrik yang dihasilkan oleh photo detector ini diubah menjadi besaran listrik berupa arus atau tegangan. Arus atau tegangan yang dihasilkan tersebut harus disesuaikan level dan bentuknya oleh rangkaian pengkondisi sinyal agar sesuai dengan tegangan input pada board DFRduino Mega 1280 yaitu sebesar 5 volt. Gambar 35 memperlihatkan Contoh letak pemasangan sensor kristal fotonik pada proses pengukuran gas pencemar.
47
Gambar 35 Contoh letak pemasangan sensor kristal fotonik pada proses pengukuran gas pencemar
4.2.2 Implementasi Perancangan Software 4.2.2.1 Implementasi Perancangan Software Program DFRduino Mega 1280 Agar modul DFRduino Mega 1280 dapat memproses data yang dibaca oleh sensor, maka harus dilakukan pemrograman terlebih dahulu. Karena modul DFRduino Mega 1280 memiliki fitur hampir 100% sama dengan Arduino buatan Italia maka software IDE (Integrated Development Environment) Arduino dapat digunakan untuk memprogram. Software IDE Arduino memudahkan programmer untuk memprogram karena sudah dilengkapi dengan library yang siap pakai. (Margolis 2011). Secara garis besar untuk memprogram modul dengan flatform Arduino terdiri dari dua fungsi utama yaitu void setup() dan void loop(). Fungsi void setup() biasanya digunakan untuk melakukan inisialisasi seperti mode
komunikasi serial, pengaturan baudrate, pinMode dari modul DFRduino Mega 1280, dan sebagainya. Sementara fungsi void loop() biasanya berisi perintah yang digunakan oleh program seperti pembacaan analogRead, memasukan fungsi atau rumus, memberi waktu tunda (delay) program, mencetak ke serial, dan sebagainya (Brian 2007).
48
//bagian deklarasi variabel void setup() {
//bagian ini digunakan untuk melakukan inisialisasi seperti
mode komunikasi serial, pengaturan baudrate, pinMode dari }
modul DFRduino Mega 1280, dan sebagainya
void loop() { //bagian ini berisi perintah yang digunakan oleh program
seperti pembacaan analogRead, memasukan fungsi atau rumus, memberi waktu tunda (delay) }
dan sebagainya
program, mencetak ke serial,
Modul DFRduino Mega 1280 menggunakan analog to digital converter (ADC) dengan resolusi 10 bit. Sehingga ada 210 = 1024 nilai digital yang mempresentasikan tegangan yang dicatu oleh sensor. Artinya nilai tegangan antara 0-5 volt yang dicatu oleh sensor setara dengan 0-1024 nilai digital. Bila tegangan yang digunakan sebagai Vcc adalah 5 volt, maka resolusi yang dihasilkan adalah 5 volt/1024 = 0.0048 volt = 4.8 milivolt. Artinya setiap kenaikan tegangan sebesar 4.8 milivolt maka nilai digital akan naik sebesar 1. Sintak analogRead() berfungsi untuk membaca tegangan pin analog. Seperti telah disebutkan sebelumnya bahwa nilai ISPU memiliki beberapa range kategori, antaralain BAIK (0-50), SEDANG (51-100), TIDAK SEHAT (101-200), SANGAT TIDAK SEHAT (201-300), dan BERBAHAYA (301-500), maka untuk memudahkan penafsiran data yang terbaca, penulis melakukan pembatasan nilai digital dengan nilai maksimum 1000. Nilai ISPU maksimum 1000 adalah asumsi yang digunakan penulis ketika kadar gas pencemarnya sudah jenuh. Untuk memisahkan data digital dari masing-masing parameter dan prototype stasiun ISPU maka digunakan karakter # (untuk stasiun 1), $ (untuk stasiun 2), dan @ (untuk stasiun 3). Sehingga walaupun lima buah data masing-masing dikirim dari tiga prototype stasiun ISPU berbeda tidak akan tertukar, dan akan dikenali dengan baik oleh aplikasi desktop.
49
Source code program untuk pemrograman chip DFRduino Mega 1280 dapat dilihat pada Lampiran 3. Berikut adalah penjelasan dari source code program pada lampiran tersebut. Mula-mula kita perlu mendekarasikan variabel beserta tipe data yang akan digunakan oleh program. Setelah mendeklarasikan variabel maka langkah selanjutnya adalah melakukan inisialisasi seperti, mode komunikasi serial, pengaturan baudrate, dan pinMode dari modul DFRduino Mega 1280. Langkah selanjutnya adalah melakukan pembacaan data pin analog, melakukan konversi, memberi waktu tunda (delay) setiap pengambilan data, dan mencetak ke serial. 4.2.2.2 Implementasi Perancangan Software XBee Transceiver Agar XBee dapat digunakan, maka harus dilakukan pemrograman terlebih dahulu. Pemrograman dapat dilakukan melalui software hyperterminal seperti Putty (Faludi 2011) atau dengan software khusus yang disediakan oleh produsen XBee (Maxstream/Digi) yaitu X-CTU (DI 2009). Pada penelitian ini ada tiga buah prototype stasiun ISPU yang masing-masing mengirimkan lima buah data sensor, untuk itu XBee transceiver pada bagian transmitter dari masing-masing stasiun harus diprogram dengan memberi alamat unik agar dapat dikenali oleh XBee transceiver pada bagian receiver. Seperti yang telah disebutkan sebelumnya XBee transceiver memiliki dua mode operasi sebagai konfigurasi, yaitu mode Transparent (AT) dan mode Packet (API) (DI 2009). Karena rancang bangun pada penelitian ini ini hanya point-topoint yang sederhana, maka mode yang digunakan adalah mode AT dengan sistem pengalamatan 16 bit. Sementara untuk mengkonfigurasikan XBee transceiver digunakan software X-CTU. Gambar 36 memperlihatkan tampilan dari software X-CTU.
50
Gambar 36 Tampilan dari software X-CTU
XBee transceiver untuk bagian transmitter memiliki konfigurasi sebagai berikut, a) Channel ID diset C b) PAN ID (Personal Area Network Identifier) adalah 3128 Source code program untuk pemrograman XBee transceiver pada bagian transmitter dapat dilihat pada Lampiran 4. 4.2.3 Pengujian Hasil Perancangan Prototype Stasiun ISPU Setelah modul DFRduino Mega 1280 diprogram dan dummy sensor telah terhubung dengan baik pada pin analog, langkah selanjutnya adalah melakukan pengujian komunikasi serial dengan menggunakan kabel USB. Jika data yang dikirim oleh dummy sensor sudah sesuai dengan range yang diharapkan yaitu dari 0 sampai 1000, berarti rangkaian sudah berjalan dengan baik. Gambar 37 memperlihatkan hasil pengujian komunikasi serial dengan kabel USB menggunakan aplikasi TeraTerm,
51
Gambar 37 Hasil pengujian komunikasi serial dengan kabel USB
Hasil pengujian menunjukkan bahwa data minimum yang dikirim adalah 0 dan data maksimum yang dikirim adalah 1000. Data dari masing-masing parameter dipisahkan oleh karakter # (untuk stasiun 1), $ (untuk stasiun 2), dan @ (untuk stasiun 3). 4.3 Implementasi Perancangan Akuisisi Data Secara Nirkabel (Wireless) Setelah memastikan data lima buah sensor dari masing-masing prototype stasiun ISPU dapat diakuisisi dengan komunikasi serial menggunakan kabel USB dan ditampilkan dengan aplikasi TeraTerm, maka langkah selanjutnya adalah membuat rancangan akuisisi data secara nirkabel (wireless). Berikut adalah tahapan dalam membuat rancangan akuisisi data secara wireless antara lain, 4.3.1 Implementasi Perancangan Hardware Bagian ini terdiri dari modul XBee transceiver dan XBee adapter. XBee transceiver pada bagian ini berfungsi sebagai penerima (receiver). Sama halnya dengan XBee transceiver pada bagian transmitter , XBee transceiver pada bagian receiver juga dihubungkan ke host (dalam hal ini komputer server). Agar data pada XBee transceiver dapat terima dan diterima oleh komputer server maka dibutuhkan suatu perantara komunikasi data, dalam hal ini adalah XBee adapter.
52
Modul XBee dihubungkan ke komputer server melalui level logika port serial asinkron. Melalui port serial ini, modul XBee dapat berkomunikasi dengan logika dan tegangan yang compatible dengan UART (universal asynchronous receiver/transmitter) ke sembarang device serial. Jadi fungsi utama dari modul XBee adapter adalah sebagai jembatan yang menghubungkan antara XBee transceiver dengan port serial komputer. Modul XBee adapter akan membuat COM virtual pada komputer, sehingga tidak perlu menggunakan port serial yang sesungguhnya (SS 2010). Data serial yang diterima oleh komputer server dapat diakses dengan melakukan koneksi terlebih dahulu ke COM virtual yang terbaca pada Device Manager (di Windows) dan Control Panel (di Ubuntu). Untuk melakukan pengujian bahwa data sedang diterima oleh komputer server maka dapat menggunakan aplikasi TeraTerm (Faludi 2011). Modul XBee adapter yang digunakan adalah UartSbee v4.0 yang dikembangkan oleh Albert Miao (http://www.seeedstudio.com). UartSbee v4.0 sudah memenuhi standar Future Technology Devices International (FTDI) (http://www.ftdichip.com). UartSbee v4.0
mempunyai UART interface yang
dapat langsung dihubungkan dengan pin-pin XBee transceiver, sehingga memungkinkan
XBee
transceiver
dapat
langsung
dipasangkan.
Ketika
UartSbee v4.0 dihubungkan ke komputer dengan Mini-B USB, maka komputer biasanya akan meminta driver. Untuk itu maka download dan install virtual COM port (VCP) driver dari website FTDI. VCP driver memungkinkan setiap hardware yang dihubungkan dengan kabel USB ke komputer akan dikenali VCP yang digunakannya. Sehingga software aplikasi lain, dalam hal ini aplikasi desktop yang telah dibuat, dapat mengakses perangkat USB, dalam hal ini adalah prototype stasiun ISPU. Gambar 38 memperlihatkan rangkaian bagian receiver secara keseluruhan,
(a) (b) Gambar 38 XBee receiver yang sudah terhubung ke UartSbee v4.0 (a) sebelum di-packaging (b) setelah di-packaging
53
4.3.2 Implementasi Perancangan Software Agar XBee transceiver pada bagian receiver dapat berkomunikasi dengan XBee transceiver dari masing-masing prototype stasiun ISPU, maka XBee transceiver pada bagian receiver harus diprogram dengan memberi alamat unik sedemikian sehingga dapat berkomunikasi dengan XBee transceiver pada bagian transmitter dari masing-masing prototype stasiun. XBee transceiver untuk bagian receiver memiliki konfigurasi sebagai berikut, a) Channel ID diset C b) PAN ID (Personal Area Network Identifier) adalah 3128 c) Source Address (MY) diset 26 artinya menggunakan sistem pengalamatan 16-bit dengan alamat 26 d) DH (Destination Address High) = 0 e) DL (Destination Address Low) = 0 f) CE=1 (Coordinator), artinya XBee transceiver diset sebagai receiver g) Interface Data Rate diset 9600 h) MM
diset
2,
artinya
sistem
bekerja
dengan
menggunakan
acknowledgement pada saat pengiriman data Source code program untuk pemrograman XBee transceiver pada bagian receiver dapat dilihat pada Lampiran 4. 4.3.3 Pengujian Hasil Perancangan Akuisisi Data Secara Nirkabel (Wireless) Setelah XBee transceiver pada bagian receiver diprogam dan dihubungkan pinnya pada UartSbee v4.0, langkah selanjutnya adalah melakukan pengujian komunikasi serial secara nirkabel (wireless). Jika data yang dikirim oleh dummy sensor sudah sesuai dengan range yang diharapkan yaitu dari 0 sampai 1000, berarti rangkaian sudah berjalan dengan baik. Gambar 39 memperlihatkan hasil pengujian komunikasi serial secara nirkabel (wireless) menggunakan aplikasi TeraTerm,
54
Gambar 39 Hasil pengujian komunikasi serial secara nirkabel (wireless)
Hasil pengujian menunjukkan bahwa data minimum yang dikirim adalah 0 dan data maksimum yang dikirim adalah 1000. Data dari masing-masing parameter dipisahkan oleh karakter # (untuk stasiun 1), $ (untuk stasiun 2), dan @ (untuk stasiun 3). Hasil pengujian komunikasi serial secara nirkabel (wireless) ini sesuai dengan hasil pengujian komunikasi serial dengan kabel USB. 4.4 Implementasi Perancangan Software Antarmuka Berbasis Aplikasi Desktop Software antarmuka berbasis aplikasi desktop memiliki fungsi utama untuk menyimpan data secara tidak waktu nyata (non real time) dan menampilkan data secara waktu nyata (real time). Dibuat dengan menggunakan bahasa pemrograman dan IDE (Integrated Development Environment) Visual Basic 6.0. Berikut ini adalah beberapa tahapan utama yang dilakukan untuk membuat software antarmuka berbasis aplikasi desktop, 4.4.1 Implementasi Perancangan Database Aplikasi Desktop Database pada penelitian ini menggunakan MySQL. Data yang dikirim oleh setiap prototype stasiun ISPU disimpan dalam database dengan nama dbsispu, awalnya hanya terdiri dari tiga buah tabel yaitu dbstasiun1, dbstasiun2, dan dbstasiun3. Namun karena database ini nantinya juga akan digunakan oleh aplikasi web, maka akan ada penambahan beberapa tabel yang dibutuhkan oleh aplikasi web. Berikut ini adalah struktur dari masing-masing tabel,
55
Tabel 9 Struktur tabel dbstasiun1
Nama Tabel
dbstasiun1
Nama Field
Tipe Data
No
int(10)
Tanggal
varchar(20)
Waktu
varchar(20)
Sensor1
int(5)
Sensor2
int(5)
Sensor3
int(5)
Sensor4
int(5)
Sensor5
int(5)
Tabel 10 Struktur tabel dbstasiun2
Nama Tabel
dbstasiun2
Nama Field
Tipe Data
No
int(10)
Tanggal
varchar(20)
Waktu
varchar(20)
Sensor1
int(5)
Sensor2
int(5)
Sensor3
int(5)
Sensor4
int(5)
Sensor5
int(5)
Tabel 11 Struktur tabel dbstasiun3
Nama Tabel
dbstasiun3
Nama Field
Tipe Data
No
int(10)
Tanggal
varchar(20)
Waktu
varchar(20)
Sensor1
int(5)
Sensor2
int(5)
Sensor3
int(5)
Sensor4
int(5)
Sensor5
int(5)
56
4.4.2 Implementasi Perancangan Form Splash Form Splash (frmSplash.frm) berfungsi sebagai tampilan proses loading aplikasi desktop yang dibuat. Form ini berisi informasi mengenai nama, versi, dan pembuat aplikasi. Gambar 40 menunjukkan tampilan proses loading aplikasi desktop.
Gambar 40 Tampilan proses loading aplikasi desktop
Source code program untuk Form Splash (frmSplash.frm) dapat dilihat pada Lampiran 5. Berikut adalah penjelasan dari source code program pada lampiran tersebut. Ketika Form1 pertamakali di panggil maka width pada Shape1 akan bertambah lebar seiring dengan bertambahnya waktu pada timer sehingga akan terlihat berjalan. Sementara itu caption pada label4 akan menampilkan tulisan mengenai proses yang sedang berjalan pada aplikasi. Setelah timer selesai, maka Form1 akan tertutup dan membuka Form2 yang merupakan form utama dari
aplikasi desktop yang dibuat. 4.4.3 Implementasi Perancangan Form Monitoring ISPU Form Monitoring ISPU (frmMonitoringISPU.frm) berfungsi sebagai tampilan utama dari aplikasi desktop yang dibuat. Form ini berisi informasi mengenai konfigurasi aplikasi (seperti pemilihan port, baudrate, dan interval pengambilan data), data dan grafik ISPU real time, dan datalog ISPU.
57
Gambar 41 menunjukkan tampilan utama dari aplikasi desktop.
Gambar 41 Tampilan utama aplikasi desktop
Berikut adalah beberapa bagian komponen yang terdapat pada aplikasi desktop. a)
Header aplikasi desktop Bagian ini berfungsi untuk memberikan informasi mengenai nama aplikasi,
nama pengembang, dan copy right dan logo instansi dari aplikasi desktop yang telah dikembangkan (Gambar 42).
Gambar 42 Header aplikasi desktop
b) Pemilihan stasiun ISPU Bagian ini berfungsi untuk memudahkan user dalam memilih stasiun, maka digunakan TabStrip. Ketika TabStrip salah satu stasiun dipilih, maka akan menampilkan Frame yang sesuai dengan nama TabStrip (Gambar 43). Secara default ketika aplikasi desktop terhubung dengan hardware stasiun ISPU maka tampilan utama aplikasi desktop akan memberikan informasi pengukuran ISPU untuk stasiun 1 (Gambar 44).
58
Gambar 43 Proses pemilihan stasiun pada aplikasi desktop
Gambar 44 Default stasiun pada aplikasi desktop
c)
Data ISPU real time Bagian ini berfungsi untuk memberikan informasi mengenai data hasil
pengukuran ISPU secara real time (Gambar 45).
Gambar 45 Frame data parameter ISPU
d) Data ISPU non real time (Datalog ISPU) Bagian ini berfungsi untuk memberikan informasi mengenai data hasil pengukuran ISPU secara non real time, lebih tepatnya disebut sebagai datalog ISPU (Gambar 46).
Gambar 46 Frame datalog ISPU
e)
Grafik ISPU real time Bagian ini berfungsi untuk memberikan informasi mengenai grafik hasil
pengukuran ISPU secara real time (Gambar 47).
59
f)
Konfigurasi
Gambar 47 Frame grafik real time ISPU
Bagian ini berfungsi untuk melakukan konfigurasi sebelum aplikasi desktop dapat terhubung dengan hardware stasiun ISPU. Bagian ini terdiri dari pemilihan port, baudrate, interval pengambilan data, mengubungkan/memutuskan aplikasi desktop dengan hardware dan status koneksi (Gambar 48).
Gambar 48 Frame konfigurasi aplikasi desktop
Setelah melakukan konfigurasi maka untuk terhubung dengan hardware stasiun ISPU cukup menekan tombol Connect. Ketika aplikasi desktop terhubung dengan hardware stasiun ISPU maka secara otomatis status koneksi berubah menjadi connected (Gambar 49).
Gambar 49 Status aplikasi desktop sudah terhubung dengan prototype stasiun ISPU
60
Terdapat kasus dimana port yang akan digunakan sudah digunakan oleh hardware lain, maka secara otomatis aplikasi desktop akan memberikan pesan yang menunjukkan bahwa port sudah ada yang menggunakan (Gambar 50). Maka pastikan terlebih dahulu bahwa hardware receiver stasiun ISPU sudah terhubung dengan komputer server dan dikenali atau disesuaikan portnya dengan port yang tersedia pada aplikasi desktop, yaitu dengan melakukan konfigurasi pada Device Manager (di Windows) atau Control Panel (di Ubuntu).
Gambar 50 Kotak dialog yang menunjukkan bahwa port sudah digunakan
g) Informasi Aplikasi Desktop Bagian ini berfungsi untuk memberikan informasi mengenai nama aplikasi, nama pengembang, dan copy right dan logo instansi, versi release dari aplikasi desktop yang telah dikembangkan (Gambar 51).
Gambar 51 Frame Informasi mengenai aplikasi desktop
h) Beberapa tombol Beberapa tombol tambahan yang terdapat pada aplikasi antaralain tombol Save, Delete, Print dan Exit. Tombol Save (Gambar 52) berfungsi untuk menyimpan datalog ISPU ke dalam file Excel. Sebelum proses penyimpanan dilakukan maka akan muncul kotak dialog konfirmasi (Gambar 53).
Gambar 52 Tombol untuk menyimpan datalog ISPU dalam file Excel
61
Gambar 53 Kotak dialog konfirmasi untuk menyimpan file datalog ISPU
Tombol Delete (Gambar 54) berfungsi untuk menghapus seluruh datalog ISPU. Sebelum proses penghapusan dilakukan maka akan muncul kotak dialog konfirmasi (Gambar 55).
Gambar 54 Tombol untuk menghapus seluruh datalog ISPU
Gambar 55 Kotak dialog konfirmasi untuk menghapus seluruh datalog ISPU
Tombol Print (Gambar 56) berfungsi untuk mencetak grafik real time ISPU dalam file gambar dalam format Bitmap (.bmp). Pemilihan format Bitmap dilakukan karena memiliki ukuran yang kecil dan bersifat free license. Sebelum proses pembuatan file gambar dilakukan maka akan muncul kotak dialog konfirmasi (Gambar 57).
62
Gambar 56 Tombol untuk mencetak grafik real time ISPU dalam file gambar (.bmp)
Gambar 57 Kotak dialog konfirmasi untuk mencetak grafik real time ISPU dalam file gambar (.bmp)
Tombol Exit (Gambar 58) berfungsi untuk keluar dari aplikasi desktop.
Gambar 58 Tombol untuk keluar dari aplikasi desktop
Source code program untuk tampilan utama Form Monitoring ISPU (frmMonitoringISPU.frm) dari aplikasi desktop dapat dilihat pada Lampiran 5.
63
4.4.4 Pengujian Hasil Perancangan Software Antarmuka Berbasis Aplikasi Desktop Gambar 59 memperlihatkan simulasi pengukuran ISPU dengan dummy sensor dan aplikasi desktop.
Gambar 59 Simulasi pengukuran ISPU dengan dummy sensor dan aplikasi desktop
Gambar 60 memperlihatkan contoh simulasi pengukuran ISPU dengan aplikasi desktop.
Gambar 60 Contoh simulasi pengukuran ISPU dengan aplikasi desktop
64
Gambar 61 memperlihatkan contoh menampilkan data salah satu nilai dari parameter ISPU pada grafik real time dengan aplikasi desktop.
Gambar 61 Contoh menampilkan data salah satu nilai dari parameter ISPU pada grafik real time dengan aplikasi desktop
Gambar 62 memperlihatkan Menu konteks (context menu) pada grafik dengan plugin FusionCharts. Menu konteks ini dapat diakses dengan cara melakukan klik kanan mouse pada grafik.
Gambar 62 Menu konteks (context menu) pada grafik dengan plugin FusionCharts
Gambar 63 memperlihatkan contoh menampilkan data hasil pengukuran ISPU secara real time.
Gambar 63 Contoh menampilkan data hasil pengukuran ISPU secara real time
65
Gambar 64 memperlihatkan contoh menampilkan datalog hasil pengukuran ISPU.
Gambar 64 Contoh menampilkan datalog hasil pengukuran ISPU
4.5 Implementasi Perancangan Software Antarmuka Berbasis Aplikasi Web Software antarmuka berbasis aplikasi web memiliki fungsi utama untuk menampilkan data secara waktu nyata (real time) dan tidak waktu nyata (non real time) melalui browser. Dibuat dengan menggunakan bahasa pemrograman PHP. Sementara untuk database dan web server menggunakan MySQL dan Apache. Berikut ini adalah beberapa tahapan utama yang dilakukan untuk membuat software antarmuka berbasis aplikasi web, 4.5.1 Implementasi Perancangan Database Aplikasi Web Sebelum membuat aplikasi web dinamis maka langkah yang harus dilakukan adalah membuat database dari aplikasi web tersebut. Pada bagian sebelumnya sudah dijelaskan bahwa, database dengan nama dbsispu yang berisi tabel dengan nama dbstasiun1, dbstasiun2 dan dbstasiun3 akan digunakan juga oleh aplikasi web yaitu untuk menampilkan data ISPU secara tidak waktu nyata (non real time). Aplikasi web yang dibangun membutuhkan beberapa tabel tambahan lainnya antaralain, banner, download, halamanstastis, hubungi, mainmenu, modul, sekilasinfo, stasiun, statistik, submenu, templates, dan users. Tabel 12-23 memperlihatkan struktur dari masing-masing tabel, Tabel 12 Struktur tabel banner
Nama Tabel
banner
Nama Field
Tipe Data
id_banner
int(5)
judul
varchar(100)
url
varchar(100)
gambar
varchar(100)
tgl_posting
date
66
Tabel 13 Struktur tabel download
Nama Tabel
download
Nama Field
Tipe Data
id_download
int(5)
judul
varchar(100)
nama_file
varchar(100)
tgl_posting
date
hits
int(3)
Tabel 14 Struktur tabel halamanstatis
Nama Tabel
halamanstatis
Nama Field
Tipe Data
id_halaman
int(5)
judul
varchar(100)
isi_halaman
text
tgl_posting
date
gambar
varchar(100)
Tabel 15 Struktur tabel hubungi
Nama Tabel
hubungi
Nama Field
Tipe Data
id_hubungi
int(5)
nama
varchar(50)
email
varchar(100)
subjek
varchar(100)
pesan
text
tanggal
date
Tabel 16 Struktur tabel mainmenu
Nama Tabel
mainmenu
Nama Field
Tipe Data
id_main
int(5)
nama_menu
varchar(50)
link
varchar(100)
aktif
enum('Y', 'N')
67
Tabel 17 Struktur tabel modul
Nama Tabel
Nama Field
Tipe Data
id_modul
int(5)
nama_modul
varchar(50)
link
varchar(100)
static_content
text
gambar
varchar(100)
publish
enum('Y', 'N')
status
enum('user', 'admin')
aktif
enum('Y', 'N')
urutan
int(5)
link_seo
varchar(50)
modul
Tabel 18 Struktur tabel sekilasinfo
Nama Tabel
sekilasinfo
Nama Field
Tipe Data
id_sekilas
int(5)
info
varchar(100)
tgl_posting
date
gambar
varchar(100)
Tabel 19 Struktur tabel stasiun
Nama Tabel
stasiun
Nama Field
Tipe Data
id_stasiun
int(5)
nama_stasiun
varchar(100)
lokasi
varchar(50)
folder
varchar(50)
aktif
enum('Y', 'N')
Tabel 20 Struktur tabel statistic
Nama Tabel
statistik
Nama Field
Tipe Data
ip
varchar(20)
tanggal
date
hits
int(10)
online
varchar(255)
68
Tabel 21 Struktur tabel submenu
Nama Tabel
submenu
Nama Field
Tipe Data
id_sub
int(5)
nama_sub
varchar(50)
link_sub
varchar(100)
id_main
int(5)
Tabel 22 Struktur tabel templates
Nama Tabel
templates
Nama Field
Tipe Data
id_templates
int(5)
judul
varchar(100)
pembuat
varchar(50)
folder
varchar(50)
aktif
enum('Y', 'N')
Tabel 23 Struktur tabel users
Nama Tabel
Nama Field
Tipe Data
id_banner
int(5)
judul
varchar(100)
url
varchar(100)
gambar
varchar(100)
tgl_posting
date
users
4.5.2 Implementasi Perancangan Website Client Halaman website client adalah halaman website yang biasa diakses oleh user pada umumnya. Secara umum website ini dibuat sebagai aplikasi front-end berupa object oriented programming (OOP).
69
Website client yang dibuat memiliki menu sebagai berikut, a) Home, menu ini berisi informasi mengenai website client (Gambar 65).
Gambar 65 Halaman utama aplikasi web untuk website client
b) About Us, menu ini terdiri dari sub menu sebagai berikut, a. Aims, sub menu ini berisi tujuan dari penelitian (Gambar 66).
Gambar 66 Tampilan halaman Aims
b. Developer Team, sub menu ini berisi informasi singkat mengenai pengembang sistem (Gambar 67).
Gambar 67 Tampilan halaman Developer Team
70
c) ISPU Real Time, menu ini berisi informasi mengenai grafik ISPU secara real time dengan teknik Asynchronous JavaScript and XML (AJAX) dari masing-masing stasiun. Mula-mula user melakukan pemilihan stasiun (Gambar 68) melalui combo box. Setelah menekan tombol Preview maka akan ditampilkan grafik ISPU secara real time (Gambar 69).
Gambar 68 Pemilihan stasiun pada menu ISPU real time
Gambar 69 Hasil eksekusi dari tombol Preview setelah pemilihan stasiun pada menu ISPU real time
Ketika kursor mouse didekatkan pada salah satu titik pada grafik, maka akan ditampilkan informasi mengenai waktu dan nilai ISPU saat itu (Gambar 70).
71
Gambar 70 Contoh menampilkan data salah satu nilai dari parameter ISPU pada grafik real time dengan aplikasi web
d) ISPU Non Real Time, menu ini berisi informasi mengenai data ISPU secara non real time (lebih tepatnya disebut datalog ISPU) dengan teknik paging dari masing-masing stasiun (Gambar 71).
Gambar 71 Contoh menampilkan datalog ISPU setelah pemilihan periode waktu pencarian dengan aplikasi web
72
e) Download, menu ini berisi informasi mengenai file yang dapat didownload oleh user (Gambar 72).
Gambar 72 Tampilan halaman Download
f) Contact Us, menu ini berisi form isian yang berfungsi sebagai media untuk menyampaikan saran dan kritik yang membangun terhadap sistem terintegrasi yang telah dibuat (Gambar 73).
Gambar 73 Tampilan halaman Contact Us
73
Serta beberapa widget tambahan lainnya antaralain, a) ISPU Hari Ini, widget ini berisi informasi mengenai nilai minimum, maksimum, dan rata-rata ISPU hari ini. Nilai yang tercantum berupa data bergerak (moving data). Artinya nilai tersebut berubah seiring dengan bertambahnya waktu, dihitung mulai dari pukul 00.00 WIB setiap hari (Gambar 74).
Gambar 74 Widget ISPU Hari Ini pada website client
b) Sekilas Info, widget ini berisi informasi newsticker. Newsticker adalah berita berjalan yang terdapat pada website client (Gambar 75).
74
Gambar 75 Widget Sekilas Info pada website client
c) Statistik User, widget ini berisi informasi mengenai statistik user yang mengakses website (Gambar 76) terdiri dari, a. Pengunjung Hari Ini, perhitungan jumlah pengunjung hari ini didasarkan pada IP address komputer pengunjung, artinya counter otomatis berjalan hanya jika IP address komputer pengunjung berbeda. b. Total Pengunjung, cara kerjanya hampir mirip dengan perhitungan jumlah pengunjung hari ini hanya saja ditambahkan baris program untuk menghitung total jumlah pengunjung dari sejak website pertamakali di-hosting sampai dengan pengunjung terakhir yang mengakses website. c. Hits Hari Ini, perhitungan jumlah hits hari ini didasarkan pada jumlah klik yang di lakukan oleh pengunjung. d. Total Hits, cara kerjanya hampir mirip dengan perhitungan jumlah hits hari ini hanya saja ditambahkan baris program untuk menghitung total jumlah hits dari sejak website pertamakali di-hosting sampai dengan hits terakhir yang mengakses website. e. Pengunjung Online, menampilkan informasi pengunjung yang sedang mengakses website.
75
Gambar 76 Widget Statistik User pada website client
d) Banner, widget ini berisi informasi untuk menampilkan iklan (banner) berupa logo dan tautan (link) instansi seperti KEMDIKBUD, IPB, dan MENLH (Gambar 77).
Gambar 77 Widget Banner pada website client
76
4.5.3 Implementasi Perancangan Website Admin Halaman website admin adalah halaman website yang hanya bisa diakses oleh admin. Secara umum website ini dibuat sebagai aplikasi back-end berupa content management systems (CMS), yang berfungsi untuk manajemen pada website client. Untuk bisa mengakses website ini harus memiliki username dan password. Website admin yang dibuat memiliki menu (lebih tepatnya disebut modul) sebagai berikut, a) Home, modul ini berisi tampilan selamat datang dan ikon-ikon Control Panel (Gambar 78).
Gambar 78 Halaman utama aplikasi web pada website admin setelah login berhasil
77
b) Manajemen User, modul ini berfungsi untuk manajemen user yang bisa mengakses halaman admin (Gambar 79).
Gambar 79 Halaman modul User pada website admin
c) Banner, modul ini berfungsi untuk manajemen iklan (banner), lebih tepatnya menambahkan link terkait disertai dengan logo, seperti KEMDIKBUD, IPB, dan MENLH (Gambar 80).
Gambar 80 Halaman modul Banner pada website admin
78
d) Manajemen Modul, modul ini berfungsi untuk manajemen modul itu sendiri (Gambar 81).
Gambar 81 Halaman modul Manajemen Modul pada website admin
e) Download, modul ini berfungsi untuk manajemen file yang boleh didownload oleh client (Gambar 82).
Gambar 82 Halaman modul Download pada website admin
79
f) Hubungi Kami, modul ini berfungsi untuk melihat komentar yang sudah dikirimkan oleh client (Gambar 83).
Gambar 83 Halaman modul Hubungi Kami pada website admin
g) Sekilas Info, modul ini berfungsi untuk manajemen newsticker. Newsticker adalah berita berjalan yang terdapat pada website client (Gambar 84).
Gambar 84 Halaman modul Sekilas Info pada website admin
80
h) Templates, modul ini berfungsi untuk manajemen template pada website client, sehingga admin dapat dengan mudah mengubah tampilan website client (Gambar 85).
Gambar 85 Halaman modul Templates pada website admin
i) Menu Utama, modul ini berfungsi untuk manajemen menu utama (Gambar 86).
Gambar 86 Halaman modul Menu Utama pada website admin
81
j) Sub Menu, berfungsi untuk manajemen sub menu (Gambar 87).
Gambar 87 Halaman modul Sub Menu pada website admin
k) Halaman Statis, modul ini berfungsi untuk manajemen halaman statis (Gambar 88).
Gambar 88 Halaman modul Halaman Statis pada website admin
82
l) Manajemen Stasiun, modul ini berfungsi untuk manajemen stasiun (Gambar 89).
Gambar 89 Halaman modul Manajemen Stasiun pada website admin
m) Datalog ISPU, modul ini berfungsi untuk melihat datalog ISPU dan melakukan export dan download datalog ISPU dalam bentuk format .xls. File yang di-download ke komputer yang mengakses otomatis akan memiliki format datalog_ispu_sta(nomorstasiun).xls dan sudah memiliki judul header ketika dibuka oleh aplikasi Excel di windows atau Calc di linux (Gambar 90).
Gambar 90 Halaman modul Datalog ISPU pada website admin
n) Logout, modul ini berfungsi untuk menutup aplikasi (lebih tepatnya disebut session).
83
4.5.4 Pengujian Hasil Perancangan Software Antarmuka Berbasis Aplikasi Web 4.5.4.1 Pengujian Website Client Pengujian disini lebih difokuskan pada menu ISPU Real Time dan menu ISPU Non Real Time. a) Pengujian menu ISPU Real Time Gambar 91 memperlihatkan contoh grafik real time hasil pengukuran ISPU untuk parameter PM10 dengan aplikasi web.
Gambar 91 Contoh grafik real time hasil pengukuran ISPU untuk parameter PM10 dengan aplikasi web
Gambar 92 memperlihatkan contoh grafik real time hasil pengukuran ISPU untuk parameter SO2 dengan aplikasi web.
Gambar 92 Contoh grafik real time hasil pengukuran ISPU untuk parameter SO2 dengan aplikasi web
84
Gambar 93 memperlihatkan contoh grafik real time hasil pengukuran ISPU untuk parameter CO dengan aplikasi web.
Gambar 93 Contoh grafik real time hasil pengukuran ISPU untuk parameter CO dengan aplikasi web
Gambar 94 memperlihatkan contoh grafik real time hasil pengukuran ISPU untuk parameter O3 dengan aplikasi web.
Gambar 94 Contoh grafik real time hasil pengukuran ISPU untuk parameter O3 dengan aplikasi web
85
Gambar 95 memperlihatkan contoh grafik real time hasil pengukuran ISPU untuk parameter NO2 dengan aplikasi web.
Gambar 95 Contoh grafik real time hasil pengukuran ISPU untuk parameter NO2 dengan aplikasi web
b) Pengujian menu ISPU Non Real Time Mula-mula user melakukan pemilihan stasiun (Gambar 96) melalui combo box. Setelah menekan tombol Preview maka akan ditampilkan form input pemilihan periode pencarian datalog ISPU (Gambar 97).
Gambar 96 Pemilihan stasiun pada menu ISPU Non Real Time
86
Gambar 97 Hasil eksekusi dari tombol Preview setelah pemilihan stasiun pada menu ISPU Non Real Time
Gambar 98 memperlihatkan contoh pemilihan periode waktu pencarian datalog ISPU dari tanggal 1 Januari 2012 sampai tanggal 31 Desember 2012.
Gambar 98 Contoh pemilihan periode waktu pencarian
87
Gambar 99 memperlihatkan hasil eksekusi dari tombol Process setelah pemilihan periode waktu pencarian datalog ISPU dari tanggal 1 Januari 2012 sampai tanggal 31 Desember 2012.
Gambar 99 Hasil eksekusi dari tombol Process setelah pemilihan periode waktu pencarian
88
4.5.4.2 Pengujian Website Admin Pengujian disini lebih difokuskan pada akses login dan modul Datalog ISPU. a) Pengujian akses login pada website admin Gambar 100 memperlihatkan Form login pada website admin. Agar bisa masuk ke halaman utama website admin maka user harus memiliki username dan password. Username dan password default sebagai simulasi pada penelitian ini adalah admin. Sementara pada penerapannya username dan password ini bersifat rahasia.
Gambar 100 Form login pada website admin
Gambar 101 memperlihatkan halaman utama aplikasi web pada website admin setelah login berhasil.
Gambar 101 Halaman utama aplikasi web pada website admin setelah login berhasil
89
Sementara jika user salah memasukkan username atau password maka akan muncul peringatan seperti ditunjukkan oleh Gambar 102.
Gambar 102 Tampilan peringatan gagal login
b) Pengujian modul Datalog ISPU pada website admin Modul datalog ISPU memberikan kemudahan bagi admin untuk melakukan penyimpanan datalog ISPU dalam file Excel yang memudahkan data dapat didistribusikan atau diolah lebih lanjut dengan berbagai software aplikasi pengolah data. Gambar 103 memperlihatkan halaman modul Datalog ISPU pada website admin.
Gambar 103 Halaman modul Datalog ISPU pada website admin
Untuk melakukan penyimpanan datalog ISPU user cukup menekan tombol Excel to Excel file. Sebelum proses download dilakukan maka akan muncul kotak dialog konfirmasi seperti yang ditunjukkan oleh Gambar 104.
90
Gambar 104 Kotak dialog konfirmasi download file datalog ISPU dalam file Excel pada website admin
Setelah proses download selesai user dapat membuka file hasil download tersebut dengan aplikasi pengolah data seperti Excel di Windows atau Calc di Linux. Gambar 105 memperlihatkan isi file datalog ISPU hasil download yang dibuka dengan menggunakan Excel.
Gambar 105 Isi file datalog ISPU hasil download
91
4.6 Pengujian Sistem Secara Keseluruhan Setelah memastikan empat bagian utama sistem antara lain
prototype
stasiun Indeks Standar Pencemar Udara (ISPU), sistem akuisisi data secara nirkabel (wireless), software antarmuka berbasis aplikasi desktop, dan software antarmuka berbasis aplikasi web selesai dirancang bangun, maka langkah selanjutnya adalah melakukan pengujian sistem secara keseluruhan. Berikut adalah tahapan pengujian sistem secara keseluruhan, A. Menjalankan Aplikasi Desktop a) Jalankan aplikasi desktop yang telah di-install dikomputer server dengan cara melakukan double click icon aplikasi desktop pada desktop komputer server atau pilih All Program => ISPU Monitoring System => IMS.exe (Gambar 106).
Gambar 106 Langkah menjalankan aplikasi desktop
b) Sebelum muncul tampilan utama aplikasi desktop maka akan ditampilkan proses loading file yang menunjukkan bahwa aplikasi sedang melakukan inisialisasi hardware (Gambar 107).
92
Gambar 107 Tampilan proses loading aplikasi desktop
c) Setelah tampilan loading file selesai dijalankan maka akan muncul tampilan utama aplikasi desktop (Gambar 108).
Gambar 108 Tampilan utama aplikasi desktop
d) Langkah selanjutnya adalah melakukan konfigurasi pada tampilan utama aplikasi desktop, seperti pemilihan port, baudrate, dan interval waktu penyimpanan (Gambar 109).
Gambar 109 Konfigurasi pada tampilan utama aplikasi desktop
93
Catatan : Pastikan port virtual dari prototype stasiun ISPU sudah terhubung dengan baik ke komputer server. e) Lakukan koneksi dengan cara menekan tombol connect, sampai status koneksi berubah menjadi connected (Gambar 110).
Gambar 110 Status koneksi aplikasi desktop dengan prototype stasiun ISPU
f) Secara default aplikasi desktop akan menampilkan frame stasiun 1, untuk memilih stasiun yang lainnya cukup dengan menekan TabStrip yang sesuai dengan nama stasiun (Gambar 111).
Gambar 111 TabStrip untuk memilih stasiun ISPU pada aplikasi desktop
g) Data yang ditampilkan aplikasi desktop antara lain berupa data dan grafik real time ISPU dan data non real time ISPU (datalog ISPU). Untuk menyimpan datalog ISPU ke dalam file Excel maka cukup dengan menekan tombol Save (Gambar 112).
Gambar 112 Contoh pengukuran ISPU dengan aplikasi desktop
94
B. Menjalankan Aplikasi Web a) Buka browser favorit Anda, lalu ketikan URL (Universal Resource Locator) berikut : i) http://127.0.0.1 atau http://localhost (untuk user yang mengakses dikomputer server secara langsung) (Gambar 113).
Gambar 113 Langkah menjalankan aplikasi web dengan local domain
ii) http://172.18.87.7
atau
http://ispu.ipb.ac.id
(untuk
user
yang
mengakses dikomputer lain) (Gambar 114).
Gambar 114 Langkah menjalankan aplikasi web dengan public domain
b) Secara default, halaman awal dari website client akan menampilkan menu Home (Gambar 115)
Gambar 115 Halaman utama aplikasi web untuk website client
95
c) Untuk melakukan monitoring maka pilih menu Real Time ISPU kemudian pilih stasiun yang diinginkan. Menu Real Time ISPU berisi informasi mengenai grafik ISPU secara real time dari lima parameter gas pencemar.
Grafik
ditampilkan
secara
real
time
dengan
teknik
Asynchronous JavaScript and XML (AJAX) dari masing-masing stasiun, sehingga user tidak perlu melakukan refresh/reload pada browser. Untuk lebih jelasnya lihat kembali sub bab pembahasan mengenai pengujian pada website client. Gambar 116 memperlihatkan contoh pengukuran salah satu parameter ISPU secara real time dengan aplikasi web.
Gambar 116 Contoh pengukuran salah satu parameter ISPU secara real time dengan aplikasi web
d) Untuk melihat datalog ISPU pada periode waktu tertentu maka pilih menu Non Real Time ISPU kemudian pilih stasiun yang diinginkan. Setelah itu akan muncul periode waktu pencarian, lalu isi periode waktu yang diinginkan. Jika ada data yang tersimpan pada periode waktu pencarian, maka sistem akan menampilkan data pada periode waktu pencarian tersebut yaitu berupa datalog lima parameter gas pencemar. Untuk lebih jelasnya lihat kembali sub bab pembahasan mengenai pengujian pada website client. Gambar 117 memperlihatkan contoh hasil pencarian datalog ISPU secara non real time dengan aplikasi web.
96
Gambar 117 Contoh hasil pencarian datalog ISPU secara non real time dengan aplikasi web
97
BAB 5 SIMPULAN DAN SARAN 5.1 Simpulan Telah berhasil dirancang bangun sistem akuisisi data berbasis Wireless Sensor Network (WSN) dengan protokol Zigbee/IEEE 802.15.4 dan internet access (studi kasus pada sensor kristal fotonik). Sistem tersebut terdiri dari empat bagian utama antara lain
prototype stasiun Indeks Standar Pencemar Udara
(ISPU), sistem akuisisi data secara nirkabel (wireless), software antarmuka berbasis aplikasi desktop, dan software antarmuka berbasis aplikasi web. Sistem tersebut dapat memberikan informasi nilai ISPU secara waktu nyata (real time) dan secara tidak waktu nyata (non real time). 5.2 Saran Agar sistem yang dirancang bangun bersifat open source seluruhnya baik dari sisi hardware maupun software maka sebagai saran dari penulis adalah aplikasi desktop dibuat dengan software IDE (Integrated Development Environment) yang open source seperti Netbeans dan Eclipse (untuk yang terbiasa menggunakan bahasa pemrograman Java) atau Gambas untuk yang terbiasa menggunakan bahasa pemrograman Basic. Sementara untuk tampilan grafik pada aplikasi web dapat menggunakan plugin yang gratis seperti openFlashCharts, jCharts, anyCharts, HighCharts dan sebagainya. Sehingga memungkinkan aplikasi dapat dijalankan di operating systems (OS) Linux. Sementara itu seiring dengan perkembangan mobile device, maka sangat memungkinkan untuk dapat dibuat aplikasi mobile yang dapat di install di smart phone yang berbasis open source seperti Android. Aplikasi mobile dapat dibangun dengan IDE J2ME (Java 2 Mobile Edition), Processing IDE, dan IDE mobile lainnya.
98
99
DAFTAR PUSTAKA [Bapedal] Badan Pengendalian Dampak Lingkungan. 1998. Pedoman Teknis Perhitungan dan Pelaporan Serta Informasi Indeks Standar Pencemar Udara (ISPU). [DFR] DFRobot. 2010. Manual book of DFRduino Mega 1280 Product. DFRobot, Inc. [DI] Digi International. 2009. Product Manual v1.xEx - 802.15.4 Protocol. Digi International, Inc. [SS] Seed Studio. 2010. Manual book of UartSbee UartSbee v4.0 Product. Seed Studio, Inc. Alatas H et al. 2006. Single Frequency Refractive Index Sensing Based on Finite One-Dimensional Photonic Crystal with Two Defect. Japanese Journal of Applied Physics 45 (8B):6754-6758. Azis M et al. 2011.
Measuring Air Pollutant Standard Index (ISPU) with
Photonics Crystal Sensor based on Wireless Sensor Network (WSN). Proceedings of The International Conference on Instrumentation, Communications, Information Technology and Biomedical Engineering (ICICI-BME). Bandung, Indonesia. Brian
WE.
2007.
Arduino
Programming
Notebook.
San
Francisco
:
Creative Commons Attribution Non Commercial- Share Alike 3.0, California, USA. Ergen SC. 2004. ZigBee/IEEE 802.15.4 Summary. Berkeley : Department of Electrical Engineering and Computer Science, University of Berkeley. Faludi R. 2011. Building Wireless Sensor Network (WSN). Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. Hakim L. 2010. Bikin Website Super Keren dengan PHP dan jQuery.Yogyakarta : Penerbit Lokomedia. Halim. 2010. Aplikasi Sensor Akselerometer Untuk Rancang Bangun Sistem Peringatan Dini Tanah Longsor [Skripsi]. Yogyakarta : Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Gajah Mada.
100
Holdener AT. 2008. AJAX: The Definitive Guide. O’Reilly. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. Johnson SG, Joannopoulos JD. 2003. Introduction to Photonic Crystals: Bloch’s Theorem, Band Diagrams, and Gaps (But No Defects). MIT: 1-16. Margolis M. 2011. Arduino Cookbook. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. Negara TP. 2009. Study of Electromagnetic Wave Propagation in 1D Photonic Crystal with Three Defect and Its Application for Optical Biosensor [Thesis]. Bogor: Program studi Biofisika, Sekolah Pasca Sarjana Institut Pertanian Bogor. Rahmat M et al. 2009. Real Time Optical Sensor Based on One Dimensional Photonic Crystals with Defects. Proceedings of The International Conference on Instrumentation, Communications, Information Technology and Biomedical Engineering (ICICI-BME). Bandung, Indonesia. Rostami A, Hamed A. 2006. All Optical Switch and Hard Limited Device Using a Twin Defect in Two-Dimensional Nonlinear Photonic Crystal. IJCSNS 6 (7B). Schmidt OP, Kiesel S, Mohta N, Johnson M. 2007. Resolving pm Wavelength Shifts in Optical sensing. J. Appl. Phys. B 86, 593-600. Sidik B. 2006. Pemrograman Web dengan PHP. Bandung : Penerbit Informatika. Sopaheluwakan A. 2003. Defect States and Defect Modes in 1D Photonic Crystal [Thesis]. Twente : University of Twente, Netherland. Yuwono R et al. 2007. Memprakirakan dampak lingkungan: kualitas udara. Jakarta, Deputi bidang tata lingkungan – Kementerian Negara Lingkungan Hidup, Environmental support programme Danida.
Rancang Bangun Sistem Akuisisi Data Berbasis Wireless Sensor Network (WSN) dan Internet Access untuk Pengukuran Indeks Standar Pencemar Udara (ISPU) tidak
Berhasil ? ya
Pengambilan data analisis data
Penyusunan laporan
Gambar 118 Diagram alir penelitian
104
105
Lampiran 2 Diagram Alir Program
Mulai
Rangkaian Akuisisi Data
Inisialisasi hardware
Membaca data analog sensor
Konversi data analog ke digital
Mengirimkan data serial
tidak
Pengujian dengan hyperterminal pada komputer server
Rangkaian Transmitter
berhasil ? ya Konfigurasi modul wireless
Mengirimkan data wireless
Data siap dikirimkan ke rangkaian receiver
Gambar 119 Diagram alir program rangkaian akuisisi data dan rangkaian transmitter
106
Rangkaian Receiver
Data diterima dari rangkaian transmitter
Konfigurasi modul wireless
Menerima data wireless
Pengujian dengan hyperterminal pada komputer server
tidak
Berhasil? ya Menjalankan software aplikasi desktop
Aplikasi Desktop
Melakukan konfigurasi : port, baudrate, interval Melakukan koneksi
tidak
Berhasil?
Aplikasi Web
ya Menyimpan data
Menampilkan data
Menampilkan grafik
Menampilkan data
Gambar 120 Diagram alir program rangkaian receiver dan penyajian data
107
Lampiran 3 Source Code Program DFRMega 1280 3.1 Source Code Program DFRMega 1280 untuk Prototype Stasiun ISPU 1 /** Nama Program : Program DFRMega 1280 untuk Prototype Stasiun ISPU 1 Dibuat oleh : Muhamad Azis Copyleft : Muhamad Azis, Biofisika IPB, 2011 Sponsor : Beasiswa Unggulan Terpadu Kemendiknas 2010-2012 **/ float
3.2 Source Code Program DFRMega 1280 untuk Prototype Stasiun ISPU 2 /** Nama Program : Program DFRMega 1280 untuk Prototype Stasiun ISPU 2 Dibuat oleh : Muhamad Azis Copyleft : Muhamad Azis, Biofisika IPB, 2011 Sponsor : Beasiswa Unggulan Terpadu Kemendiknas 2010-2012 **/ float
3.3 Source Code Program DFRMega 1280 untuk Prototype Stasiun ISPU 3 /** Nama Program : Program DFRMega 1280 untuk Prototype Stasiun ISPU 3 Dibuat oleh : Muhamad Azis Copyleft : Muhamad Azis, Biofisika IPB, 2011 Sponsor : Beasiswa Unggulan Terpadu Kemendiknas 2010-2012 **/ float
Lampiran 5 Source Code Program Aplikasi Desktop 5.1 Source Code Form1 (frmSplash.frm) Dim w As Double Private Sub Form_Load() Shape1.Width = 0 Timer1.Enabled = True w = 0 End Sub Private Sub Timer1_Timer() w = w + 40 Shape1.Width = Val(w) If Shape1.Width > 250 Then Label4.Caption = "" End If If Shape1.Width > 300 Then Label4.Caption = "CommPort Setting ..." End If If Shape1.Width > 950 Then Label4.Caption = "Connecting Device ..." End If If Shape1.Width > 1400 Then Label4.Caption = "" End If If Shape1.Width > 1450 Then Label4.Caption = "Preparing Programs ..." End If If Shape1.Width > 2000 Then Label4.Caption = "" End If If Shape1.Width > 2050 Then Label4.Caption = "Ready ..." End If If Shape1.Width > 2175 Then Unload Me Form2.Show End If End Sub
116
5.2 Source Code Form2 (frmMonitoringISPU.frm) Dim Dim Dim Dim Dim Dim Dim Dim
conn As connection conn2 As connection conn3 As connection rs As Recordset rs2 As Recordset rs3 As Recordset jumlah As Integer tanda As String
Private Sub koneksi() Set conn = New connection conn.Open "Provider=MSDASQL.1;Persist Security Info=False;Data Source=stasiun_ispu" Set rs = New Recordset rs.CursorLocation = adUseClient rs.Open "select * from dbstasiun1", conn, adOpenStatic, adLockOptimistic Set DataGrid1.DataSource = rs.DataSource DataGrid1.Enabled = True DataGrid1.Columns(0).Width = "400" DataGrid1.Columns(1).Width = "1000" DataGrid1.Columns(2).Width = "1000" DataGrid1.Columns(3).Width = "770" DataGrid1.Columns(4).Width = "770" DataGrid1.Columns(5).Width = "770" DataGrid1.Columns(6).Width = "770" DataGrid1.Columns(7).Width = "770" Set conn2 = New connection conn2.Open "Provider=MSDASQL.1;Persist Security Info=False;Data Source=stasiun_ispu" Set rs2 = New Recordset rs2.CursorLocation = adUseClient rs2.Open "select * from dbstasiun2", conn2, adOpenStatic, adLockOptimistic Set DataGrid2.DataSource = rs2.DataSource DataGrid2.Enabled = True DataGrid2.Columns(0).Width = "400" DataGrid2.Columns(1).Width = "1000" DataGrid2.Columns(2).Width = "1000" DataGrid2.Columns(3).Width = "770" DataGrid2.Columns(4).Width = "770" DataGrid2.Columns(5).Width = "770" DataGrid2.Columns(6).Width = "770" DataGrid2.Columns(7).Width = "770" Set conn3 = New connection conn3.Open "Provider=MSDASQL.1;Persist Security Info=False;Data Source=stasiun_ispu" Set rs3 = New Recordset rs3.CursorLocation = adUseClient rs3.Open "select * from dbstasiun3", conn3, adOpenStatic, adLockOptimistic Set DataGrid3.DataSource = rs3.DataSource DataGrid3.Enabled = True
117
DataGrid3.Columns(0).Width DataGrid3.Columns(1).Width DataGrid3.Columns(2).Width DataGrid3.Columns(3).Width DataGrid3.Columns(4).Width DataGrid3.Columns(5).Width DataGrid3.Columns(6).Width DataGrid3.Columns(7).Width End Sub
= = = = = = = =
"400" "1000" "1000" "770" "770" "770" "770" "770"
Private Sub DataGrid1_Click() cmdSimpan.Visible = True cmdHapus.Visible = True cmdSimpan.Enabled = True cmdHapus.Enabled = True End Sub Private Sub DataGrid2_Click() cmdSimpan2.Visible = True cmdHapus2.Visible = True cmdSimpan2.Enabled = True cmdHapus2.Enabled = True End Sub Private Sub DataGrid3_Click() cmdSimpan3.Visible = True cmdHapus3.Visible = True cmdSimpan3.Enabled = True cmdHapus3.Enabled = True End Sub Private Sub Form_Load() TabStrip1_Click cmdSimpan.Enabled = False cmdHapus.Enabled = False cmdCetakgrafik.Enabled = False cmdSimpan2.Enabled = False cmdHapus2.Enabled = False cmdCetakgrafik2.Enabled = False cmdSimpan3.Enabled = False cmdHapus3.Enabled = False cmdCetakgrafik3.Enabled = False cmdConnect.Enabled = True cmdDisconnect.Enabled = False cmdKeluar.Enabled = True jumlah = 0 MMControl1.Visible = False koneksi Timer1.Enabled = False With Form2.Combo1 .AddItem "COM1" .AddItem "COM2" .AddItem "COM3" .AddItem "COM4" .AddItem "COM5" End With
118
With Form2.Combo2 .AddItem "2400" .AddItem "4800" .AddItem "9600" .AddItem "19200" .AddItem "38400" .AddItem "56600" End With End Sub Private Sub TabStrip1_Click() Dim index As Long index = TabStrip1.SelectedItem.index Frame1(0).Visible = (index = 1) Frame1(1).Visible = (index = 2) Frame1(2).Visible = (index = 3) End Sub Private Sub cmdConnect_Click() tanda = "B" cmdSimpan.Visible = True cmdHapus.Visible = True cmdSimpan.Enabled = True cmdHapus.Enabled = True cmdCetakgrafik.Enabled = True cmdSimpan2.Visible = True cmdHapus2.Visible = True cmdSimpan2.Enabled = True cmdHapus2.Enabled = True cmdCetakgrafik2.Enabled = True cmdSimpan3.Visible = True cmdHapus3.Visible = True cmdSimpan3.Enabled = True cmdHapus3.Enabled = True cmdCetakgrafik3.Enabled = True Dim port As Integer On Error GoTo errcode Select Case Combo1.ListIndex Case -1 port = 1 Case 0 port = 1 Case 1 port = 2 Case 2 port = 3 Case 3 port = 4 Case 4 port = 5 End Select If MSComm1.PortOpen = False Then MSComm1.CommPort = port MSComm1.RThreshold = 12 MSComm1.Settings = Combo2.List(Combo2.ListIndex) & ",N,8,1" MSComm1.PortOpen = True cmdConnect.Enabled = False cmdDisconnect.Enabled = True cmdKeluar.Enabled = False
119
Timer1.Enabled = True lblPenanda_koneksi.Caption = "Connected" lblPenanda_koneksi.ForeColor = vbBlue End If Exit Sub errcode: MsgBox "This COM port is being used by another device, please select another port!", vbOKOnly, "Warning!!!" Combo1.SetFocus End Sub Private Sub cmdDisconnect_Click() If MSComm1.PortOpen = True Then MSComm1.PortOpen = False End If lblPenanda_koneksi.Caption = "Disconnected" lblPenanda_koneksi.ForeColor = vbRed Timer1.Enabled = False cmdConnect.Enabled = True cmdDisconnect.Enabled = False cmdKeluar.Enabled = True cmdSimpan.Enabled = True cmdHapus.Enabled = True cmdCetakgrafik.Enabled = True cmdSimpan2.Enabled = True cmdHapus2.Enabled = True cmdCetakgrafik2.Enabled = True cmdSimpan3.Enabled = True cmdHapus3.Enabled = True cmdCetakgrafik3.Enabled = True End Sub Private Sub masuk() Dim buffer As String Dim Data1() As String Dim Data4() As String Dim Data3() As String Dim i As Integer If MSComm1.CommEvent = comEvReceive Then buffer = MSComm1.Input Data1 = Split(buffer, "#") Data4 = Split(buffer, "$") Data3 = Split(buffer, "@") On Error Resume Next If buffer <> "" Then For i = 0 To 4 If i < 5 Then Text1(i).Text = CDbl(Data1(i)) Text2(i).Text = CDbl(Data4(i)) Text3(i).Text = CDbl(Data3(i)) End If Next i Else buffer = "" End If End If End Sub
120
Private Sub cmdSimpan_Click() Dim excel_app As Object Dim excel_sheet As Object Dim excel_book As Object Dim row As Long Dim conn As ADODB.connection Dim rs As ADODB.Recordset Dim statement As String Dim col As Integer msg = MsgBox("Do you want to export this data to excel?", vbYesNo, "Confirmation Dialog") If msg = vbNo Then Exit Sub Screen.MousePointer = vbHourglass DoEvents Set excel_app = CreateObject("Excel.Application") excel_app.Workbooks.Add Set excel_sheet = excel_app.Worksheets(1) Set conn = New ADODB.connection conn.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=stasiun_ispu" conn.Open Set rs = conn.Execute("SELECT * FROM dbstasiun1", , adCmdText) For col = 0 To 7 excel_sheet.Cells(1, col + 1) = rs.Fields(col).Name Next col row = 2 Do While Not rs.EOF For col = 0 To rs.Fields.Count - 1 excel_sheet.Cells(row, col + 1) = rs.Fields(col).Value Next col row = row + 1 rs.MoveNext Loop excel_sheet.Range(excel_sheet.Cells(1, 1), excel_sheet.Cells(2, rs.Fields.Count)).Columns.AutoFit rs.Close Set rs = Nothing conn.Close Set conn = Nothing excel_sheet.Rows(1).Font.Bold = True excel_sheet.Rows(2).Select excel_app.ActiveWindow.FreezePanes = True excel_sheet.Cells(1, 1).Select excel_app.Workbooks(1).Close True excel_app.Quit Set excel_sheet = Nothing Set excel_app = Nothing Screen.MousePointer = vbDefault End Sub
121
Private Sub cmdHapus_Click() msg = MsgBox("Are you sure to delete all this data?", vbYesNo, "Confirmation Dialog") If msg = vbNo Then Exit Sub If rs.RecordCount <> 0 Then rs.MoveFirst While rs.EOF = False rs.Delete rs.MoveNext Wend End Sub Private Sub cmdHapus2_Click() msg = MsgBox("Are you sure to delete all this data?", vbYesNo, "Confirmation Dialog") If msg = vbNo Then Exit Sub If rs2.RecordCount <> 0 Then rs2.MoveFirst While rs2.EOF = False rs2.Delete rs2.MoveNext Wend End Sub Private Sub cmdHapus3_Click() msg = MsgBox("Are you sure to delete all this data?", vbYesNo, "Confirmation Dialog") If msg = vbNo Then Exit Sub If rs3.RecordCount <> 0 Then rs3.MoveFirst While rs3.EOF = False rs3.Delete rs3.MoveNext Wend End Sub Private Sub cmdKeluar_Click() Unload Me End Sub Private Sub cmdCetakgrafik_Click() msg = MsgBox("Do you want to save this graph as an image?", vbYesNo, "Confirmation Dialog") If msg = vbNo Then Exit Sub FusionCharts1.SaveAsImage End Sub Private Sub cmdCetakgrafik2_Click() msg = MsgBox("Do you want to save this graph as an image?", vbYesNo, "Confirmation Dialog") If msg = vbNo Then Exit Sub FusionCharts2.SaveAsImage End Sub Private Sub cmdCetakgrafik3_Click() msg = MsgBox("Do you want to save this graph as an image?", vbYesNo, "Confirmation Dialog") If msg = vbNo Then Exit Sub FusionCharts3.SaveAsImage End Sub
122
Private Sub time_interval1_Click() Timer1.Interval = 5000 End Sub Private Sub time_interval2_Click() Timer1.Interval = 10000 End Sub Private Sub time_interval3_Click() Timer1.Interval = 30000 End Sub Private Sub time_interval4_Click() Timer1.Interval = 60000 End Sub Private Sub Timer1_Timer() Timer1 = CDbl(Timer + Timer1.Interval) Timer1 = Left(Timer, 8) tanda = "B" masuk Data2 Data5 Data6 grafik grafik2 grafik3 End Sub Private Sub Data2() nomor rs.AddNew rs!No = jumlah + 1 rs!Tanggal = Format(Date, "dd/mm/yyyy") rs!waktu = Format(Time, "hh:mm:ss") rs!Sensor1 = Val(Text1(0).Text) rs!Sensor2 = Val(Text1(1).Text) rs!Sensor3 = Val(Text1(2).Text) rs!Sensor4 = Val(Text1(3).Text) rs!Sensor5 = Val(Text1(4).Text) rs.Update End Sub Private Sub Data5() Data5() nomor2 rs2.AddNew rs2!No = jumlah + 1 rs2!Tanggal = Format(Date, "dd/mm/yyyy") rs2!waktu = Format(Time, "hh:mm:ss") rs2!Sensor1 = Val(Text2(0).Text) rs2!Sensor2 = Val(Text2(1).Text) rs2!Sensor3 = Val(Text2(2).Text) rs2!Sensor4 = Val(Text2(3).Text) rs2!Sensor5 = Val(Text2(4).Text) rs2.Update End Sub
123
Private Sub Data6() Data6() nomor3 rs3.AddNew rs3!No = jumlah + 1 rs3!Tanggal = Format(Date, "dd/mm/yyyy") rs3!waktu = Format(Time, "hh:mm:ss") rs3!Sensor1 = Val(Text3(0).Text) rs3!Sensor2 = Val(Text3(1).Text) rs3!Sensor3 = Val(Text3(2).Text) rs3!Sensor4 = Val(Text3(3).Text) rs3!Sensor5 = Val(Text3(4).Text) rs3.Update End Sub Private Sub nomor() If rs.RecordCount <> 0 Then rs.MoveLast jumlah = Val(rs!No) Else jumlah = 0 End If End Sub Private Sub nomor2() If rs2.RecordCount <> 0 Then rs2.MoveLast jumlah = Val(rs2!No) Else jumlah = 0 End If End Sub Private Sub nomor3() If rs3.RecordCount <> 0 Then rs3.MoveLast jumlah = Val(rs3!No) Else jumlah = 0 End If End Sub Private Sub grafik() Dim chartParameters As String chartParameters = "showValues=0;caption=ISPU Real Time Graph (1st Station);subCaption=;xAxisName=Time;yAxisName=ISPU Value; animation=0; showLabels=1; showValues=0; showNames=1; formatNumberScale=0; numberSuffix= unit; numberPrefix= ; decimalPrecision=0; labelDisplay=Rotate; slantLabels=0" Dim connection As ADODB.connection Dim dbRecordSet As ADODB.Recordset Dim strSQL As String Dim connString As String connString = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=stasiun_ispu" Set connection = New ADODB.connection Call connection.Open(connString) Set dbRecordSet = New ADODB.Recordset
124
With dbRecordSet .ActiveConnection = connection .CursorLocation = adUseClient .CursorType = adOpenDynamic End With strSQL = "SELECT * FROM dbstasiun1 ORDER BY No DESC LIMIT 30" Call dbRecordSet.Open(strSQL) Call FusionCharts1.Data.setChartParams(chartParameters) FusionCharts1.chartType = msline2d Call FusionCharts1.Data.addCategoryFromDatabase(dbRecordSet, "Waktu") Call FusionCharts1.Data.addDataset("PM-10") Call FusionCharts1.Data.addDataFromDatabase(dbRecordSet,"Sensor1") Call FusionCharts1.Data.addDataset("SO2") Call FusionCharts1.Data.addDataFromDatabase(dbRecordSet,"Sensor2") Call FusionCharts1.Data.addDataset("CO") Call FusionCharts1.Data.addDataFromDatabase(dbRecordSet,"Sensor3") Call FusionCharts1.Data.addDataset("O3") Call FusionCharts1.Data.addDataFromDatabase(dbRecordSet,"Sensor4") Call FusionCharts1.Data.addDataset("NO2") Call FusionCharts1.Data.addDataFromDatabase(dbRecordSet,"Sensor5") FusionCharts1.RenderChart End Sub Private Sub grafik2() Dim chartParameters As String chartParameters = "showValues=0;caption=ISPU Real Time Graph (2nd Station);subCaption=;xAxisName=Time;yAxisName=ISPU Value; animation=0; showLabels=1; showValues=0; showNames=1; formatNumberScale=0; numberSuffix= unit; numberPrefix= ; decimalPrecision=0; labelDisplay=Rotate; slantLabels=0" Dim connection As ADODB.connection Dim dbRecordSet As ADODB.Recordset Dim strSQL As String Dim connString As String connString = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=stasiun_ispu" Set connection = New ADODB.connection Call connection.Open(connString) Set dbRecordSet = New ADODB.Recordset With dbRecordSet .ActiveConnection = connection .CursorLocation = adUseClient .CursorType = adOpenDynamic End With strSQL = "SELECT * FROM dbstasiun2 ORDER BY No DESC LIMIT 30" Call dbRecordSet.Open(strSQL) Call FusionCharts2.Data.setChartParams(chartParameters) FusionCharts2.chartType = msline2d Call FusionCharts2.Data.addCategoryFromDatabase(dbRecordSet,"Waktu") Call FusionCharts2.Data.addDataset("PM-10") Call FusionCharts2.Data.addDataFromDatabase(dbRecordSet,"Sensor1")
125
Call FusionCharts2.Data.addDataset("SO2") Call FusionCharts2.Data.addDataFromDatabase(dbRecordSet,"Sensor2") Call FusionCharts2.Data.addDataset("CO") Call FusionCharts2.Data.addDataFromDatabase(dbRecordSet,"Sensor3") Call FusionCharts2.Data.addDataset("O3") Call FusionCharts2.Data.addDataFromDatabase(dbRecordSet,"Sensor4") Call FusionCharts2.Data.addDataset("NO2") Call FusionCharts2.Data.addDataFromDatabase(dbRecordSet,"Sensor5") FusionCharts2.RenderChart End Sub Private Sub grafik3() Dim chartParameters As String chartParameters = "showValues=0;caption=ISPU Real Time Graph (3rd Station);subCaption=;xAxisName=Time;yAxisName=ISPU Value; animation=0; showLabels=1; showValues=0; showNames=1; formatNumberScale=0; numberSuffix= unit; numberPrefix= ; decimalPrecision=0; labelDisplay=Rotate; slantLabels=0" Dim connection As ADODB.connection Dim dbRecordSet As ADODB.Recordset Dim strSQL As String Dim connString As String connString = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=stasiun_ispu" Set connection = New ADODB.connection Call connection.Open(connString) Set dbRecordSet = New ADODB.Recordset With dbRecordSet .ActiveConnection = connection .CursorLocation = adUseClient .CursorType = adOpenDynamic End With strSQL = "SELECT * FROM dbstasiun3 ORDER BY No DESC LIMIT 30" Call dbRecordSet.Open(strSQL) Call FusionCharts3.Data.setChartParams(chartParameters) FusionCharts3.chartType = msline2d Call FusionCharts3.Data.addCategoryFromDatabase(dbRecordSet,"Waktu") Call FusionCharts3.Data.addDataset("PM-10") Call FusionCharts3.Data.addDataFromDatabase(dbRecordSet,"Sensor1") Call FusionCharts3.Data.addDataset("SO2") Call FusionCharts3.Data.addDataFromDatabase(dbRecordSet,"Sensor2") Call FusionCharts3.Data.addDataset("CO") Call FusionCharts3.Data.addDataFromDatabase(dbRecordSet,"Sensor3") Call FusionCharts3.Data.addDataset("O3") Call FusionCharts3.Data.addDataFromDatabase(dbRecordSet,"Sensor4") Call FusionCharts3.Data.addDataset("NO2") Call FusionCharts3.Data.addDataFromDatabase(dbRecordSet,"Sensor5") FusionCharts3.RenderChart End Sub
126
127
Lampiran 6 Source Code Program Aplikasi Web File yang dibuat untuk membangun aplikasi web jumlahnya sangat banyak, sehingga hanya beberapa file yang dapat dilampirkan, dimana file tersebut dirasa sangat esensial dan berkaitan dengan pembahasan utama pada penelitian. File tersebut antara lain, 6.1 Melakukan Koneksi ke Database (koneksi.php) File koneksi sengaja dibuat terpisah agar memudahkan dalam pengaturan. Berikut adalah skrip untuk melakukan koneksi ke database.
6.2 Menampilkan Grafik ISPU Secara Real Time 6.2.1 Listing program main_charts.php File main_charts.php berfungsi sebagai form utama untuk menampilkan grafik ISPU secara real time. "; echo "Pilih stasiun :"; $query = "SELECT Nama FROM daftar_stasiun;"; if($result = mysql_query($query)) { if($success = mysql_num_rows($result) > 0) { echo "<select name='Nama'>\n"; echo "\n"; while ($row = mysql_fetch_array($result)) echo "\n"; echo "\n"; } else { echo "No results found."; } } else { echo "Failed to connect to database."; } echo ""; $queryNama = $_POST['Nama']; if ($queryNama=='Stasiun 1') { echo "
Anda telah memilih " ; echo "
128
?>
$queryNama
"; include 'index1.php'; } elseif ($queryNama=='Stasiun 2') { echo "
Anda telah memilih " ; echo " $queryNama
"; include 'index2.php'; } elseif ($queryNama=='Stasiun 3') { echo "
Anda telah memilih " ; echo" $queryNama
"; include 'index3.php'; } elseif ($queryNama=='== Stasiun ==') { echo"
Anda belum memilih stasiun!
"; }
6.2.2 Listing program index1.php File index1.php berfungsi sebagai form utama untuk menampilkan grafik ISPU secara real time dari stasiun 1. File ini akan dieksekusi ketika pilihan stasiun 1 pada combo box dipilih. Sementara source code untuk stasiun 2 dan stasiun 3 tidak dilampirkan pada tesis ini.
<script type="text/javascript"> var myChart = new FusionCharts("FusionCharts/Line.swf", "$strSENSOR5", "700", "270", "0", "1"); myChart.setDataURL('getdata5_sta1.php'); myChart.render("chart5div"); <script type="text/javascript"> new PeriodicalExecuter(function getLatestData() { new Ajax.Request('getdata5_sta1.php', { method: 'get', onSuccess: function(transport) { updateChartXML('$strSENSOR5', transport.responseText); } }); }, 5);
6.2.3 Listing program getdata1_sta1.php File getdata1_sta1.php berfungsi untuk mengambil dan meng-update data grafik ISPU secara real time dari stasiun 1 dengan teknik AJAX. File ini akan dieksekusi ketika pilihan stasiun 1 pada combo box dipilih. Sementara source code untuk stasiun 2 dan stasiun 3 tidak dilampirkan pada tesis ini. ";
6.4 Menampilkan widget ISPU Hari Ini Berikut penggalan skrip untuk menampilkan widget ISPU Hari Ini, skrip ini terdapat dalam file template.php
ISPU Hari Ini
"; echo "
0 -50
BAIK
"; echo "
51-100
SEDANG
"; echo "
101-200
TIDAK SEHAT
"; echo "
201-300
SANGAT TIDAK SEHAT
"; echo "
301-500
BERBAHAYA
"; echo "Sumber : Datalog ISPU Stasiun 1 (Bogor)"; echo " Data rekapitulasi diatas dimulai dari pukul 00.00 WIB sampai dengan waktu Anda mengakses website saat ini"; ?>
135
Berikut skrip yang disertakan untuk menampilkan widget ISPU Hari Ini, skrip ini terdapat dalam file resume_sta1.php.
href="
echo
"style2.css"?>"
Parameter
Min
Max
Avg
"; echo "
PM<sub>10
$row[min_Sensor1]
$row[max_Sensor1]
$row[avg_Sensor1]
"; echo "
SO<sub>2
$row[min_Sensor2]
$row[max_Sensor2]
$row[avg_Sensor2]
"; echo "
CO
$row[min_Sensor3]
$row[max_Sensor3]
$row[avg_Sensor3]
";
or
136
echo "
O<sub>3
$row[min_Sensor4]
$row[max_Sensor4]
$row[avg_Sensor4]
"; echo "
NO<sub>2
$row[min_Sensor5]
$row[max_Sensor5]
$row[avg_Sensor5]
"; echo "";
?>
6.5 Menampilkan widget Sekilas Info Berikut penggalan skrip untuk menampilkan widget Sekilas Info, skrip ini terdapat dalam file template.php
Sekilas Info
<span class='news-text'>$s[info]"; } ?>
6.6 Menampilkan widget Statistik User Berikut penggalan skrip untuk menampilkan widget Statistik User, skrip ini terdapat dalam file template.php
Statistik User
137
$pengunjung = mysql_num_rows(mysql_query("SELECT * FROM statistik WHERE tanggal='$tanggal' GROUP BY ip")); $totalpengunjung = mysql_result(mysql_query("SELECT COUNT(hits) FROM statistik"), 0); $hits = mysql_fetch_assoc(mysql_query("SELECT SUM(hits) as hitstoday FROM statistik WHERE tanggal='$tanggal' GROUP BY tanggal")); $totalhits = mysql_result(mysql_query("SELECT SUM(hits) FROM statistik"), 0); $tothitsgbr = mysql_result(mysql_query("SELECT SUM(hits) FROM statistik"), 0); $bataswaktu = time() - 300; $pengunjungonline = mysql_num_rows(mysql_query("SELECT * FROM statistik WHERE online > '$bataswaktu'")); $path = "counter/"; $ext = ".png"; $tothitsgbr = sprintf("%06d", $tothitsgbr); for ( $i = 0; $i <= 9; $i++ ){ $tothitsgbr = str_replace($i, "", $tothitsgbr); } echo "