muhamad azis - repository.ipb.ac.id · kepada masyarakat dapat dilakukan melalui media massa dan...
TRANSCRIPT
RANCANG BANGUN SISTEM AKUISISI DATABERBASIS WIRELESS SENSOR NETWORK (WSN)DAN INTERNET ACCESS UNTUK PENGUKURANINDEKS STANDAR PENCEMAR UDARA (ISPU)
MUHAMAD AZIS
SEKOLAH PASCA SARJANAINSTITUT PERTANIAN BOGOR
BOGOR2012
ii
PERNYATAAN MENGENAI TESIS DANSUMBER INFORMASI
Dengan ini saya menyatakan bahwa tesis Rancang Bangun SistemAkuisisi Data Berbasis Wireless Sensor Network (WSN) dan Internet Accessuntuk Pengukuran Indeks Standar Pencemar Udara (ISPU) adalah karya sayadengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa punkepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutipdari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telahdisebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhirtesis ini.
Bogor, Juni 2012
Muhamad AzisNRP G751100041
iii
ABSTRACT
MUHAMAD AZIS. Design of Data Acquisition System Based Wireless SensorNetwork (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 PollutantStandard Index (ISPU) has been built. Systems consist of four primary section viz.prototype of ISPU station, wireless data acquisitions systems (WDAS), graphicaluser interface (GUI) based desktop application, and graphical user interface(GUI) based web application. Each station consist of five sensor to read the COgas, SO2 gas, NO2 gas, surface ozone (O3), and dust particles (PM-10). Thissystems 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 getinformation about ISPU value.
Keywords : Data acquisition, Zigbee protocol, photonics crystals sensor, wirelesssensor network (WSN), ISPU
iv
ABSTRAK
MUHAMAD AZIS. Rancang Bangun Sistem Akuisisi Data Berbasis WirelessSensor Network (WSN) dan Internet Access untuk Pengukuran Indeks StandarPencemar Udara (ISPU). Dibimbing oleh HUSIN ALATAS danKUDANG BORO SEMINAR.
Telah berhasil dirancang bangun sistem akuisisi data berbasis WirelessSensor Network (WSN) dengan protokol Zigbee/IEEE 802.15.4 dan InternetAccess untuk Mengukur Indeks Standar Pencemar Udara (ISPU). Sistem tersebutterdiri dari empat bagian utama antara lain prototype stasiun Indeks StandarPencemar Udara (ISPU), sistem akuisisi data secara nirkabel (wireless), softwareantarmuka berbasis aplikasi desktop, dan software antarmuka berbasis aplikasiweb. Sistem tersebut dapat memberikan informasi nilai ISPU secara waktu nyata(real time) dan secara tidak waktu nyata (non real time). Pengguna dapatmengakses sistem tersebut dengan internet kapan dan dimana berada untukmengetahui nilai ISPU.
Kata Kunci : Akuisisi data, protokol Zigbee, sensor Kristal Fotonik, wirelesssensor network (WSN), ISPU
v
RINGKASAN
MUHAMAD AZIS. Rancang Bangun Sistem Akuisisi Data Berbasis WirelessSensor Network (WSN) dan Internet Access untuk Pengukuran Indeks StandarPencemar Udara (ISPU). Dibimbing oleh HUSIN ALATAS danKUDANG BORO SEMINAR.
Kualitas udara disampaikan ke masyarakat dalam bentuk Indeks StandarPencemar Udara (ISPU). Berdasarkan Keputusan Menteri Negara LingkunganHidup Nomor : KEP-45/MENLH/10/1997 tentang Indeks Standar PencemarUdara (ISPU), didefinisikan sebagai angka yang tidak mempunyai satuan yangmenggambarkan kondisi kualitas udara ambien di lokasi dan waktu tertentu yangdidasarkan kepada dampak terhadap kesehatan manusia, nilai estetika danmakhluk hidup lainnya. Berdasarkan Keputusan Badan Pengendalian DampakLingkungan (Bapedal) Nomor KEP-107/Kabapedal/11/1997, penyampaian ISPUkepada masyarakat dapat dilakukan melalui media massa dan elektronika sertapapan peraga di tempat-tempat umum. ISPU ditetapkan berdasarkan limapencemar utama, yaitu: CO, SO2, NO2, Ozon permukaan (O3), dan partikel debu(PM-10) (Bapedal, 1998). Berbagai teknologi pengukuran untuk mendeteksikualitas udara ambien telah banyak dikembangkan, antara lain pengukuranberbasis gas chromatoghraphy, analisis kimiawi, atomic absorption spectrometry(AAS), mass spectrometry dan lain-lain (Rahmat et al. 2009).
Keberadaan stasiun ISPU sangat membantu, karena dapat digunakansebagai bahan informasi kepada masyarakat tentang kualitas udara ambien dilokasi dan waktu tertentu serta sebagai bahan pertimbangan pemerintah pusat danpemerintah daerah dalam melaksanakan pengelolaan dan pengendalianpencemaran udara. Di Indonesia hampir setiap propinsi memiliki stasiun ISPU.Namun sayangnya perangkat instrumentasi yang dimiliki masih didatangkan darinegara lain (import). Sehingga dibutuhkan biaya yang relatif mahal untukpengadaannya. Selain itu juga faktor pemeliharaan (maintenance) ketika terjadikerusakan menjadi salah satu penyebab banyak stasiun ISPU sudah tidak lagiberoperasi. Padahal keberadaan stasiun ISPU tersebut haruslah beroperasi secaraterus menerus dan datanya dapat dipantau secara langsung oleh siapa saja(Yuwono et al. 2007).
Sebagai bangsa yang mandiri maka sudah seharusnya memiliki sumber dayamanusia yang mampu mengembangkan suatu instrumentasi yang tepat gunadengan mengadopsi teknologi terkini, salahsatunya adalah instrumentasi ISPU.Sebagai salah satu langkah nyata dalam menjawab permasalahan tersebut makadiperlukan suatu sistem instumentasi yang terintegrasi yang mampu memberikaninformasi mengenai nilai ISPU secara waktu nyata (real time) dan secara tidakwaktu nyata (non real time) yang dikembangkan oleh anak bangsa. Sehingganantinya dapat menjadi produk dalam negeri yang dapat diproduksi masal dandigunakan oleh lembaga atau instansi dalam negeri yang membutuhkan nilaiISPU. Faktor pemeliharaan (maintenance) tidak lagi menjadi masalah karenainstrumentasi yang digunakan dikembangkan oleh anak bangsa.
vi
Saat ini sudah dibangun sebuah sistem informasi pengukuran nilai ISPUyang terdiri tiga bagian utama yaitu stasiun yang mempunyai fungsi sebagaiakuisisi sensor gas pencemar udara, server yang berfungsi sebagai pengumpul danpenyimpan data, serta tampilan antar muka yang memudahkan pengguna dalammengakses data. Setiap stasiun dilengkapi dengan lima buah sensor yang masing-masing berfungsi untuk membaca gas CO, SO2, NO2, Ozon permukaan (O3), danpartikel debu (PM-10). Data nilai ISPU yang diperoleh dari setiap stasiunkemudian dikirimkan secara wireless ke komputer server untuk selanjutnyaditampilkan secara waktu nyata (real time) dan secara tidak waktu nyata (non realtime) oleh aplikasi desktop. Data yang diperoleh dari setiap stasiun juga dapatditampilkan di website monitoring. Sehingga memudahkan pengguna dalammemperoleh informasi mengenai nilai ISPU setiap saat (Azis et al. 2011).
vii
© Hak Cipta Milik IPB, tahun 2012Hak Cipta dilindungi Undang-Undang
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkanatau menyebutkan sumbernya. Pengutipan hanya untuk kepentingan pandidikan,penelitian, penulisan karya ilmiah, penyusunan laporan, penulisan kritik, atautinjauan suatu masalah; dan pengutipan tersebut tidak merugikan kepentinganwajar IPBDilarang mengumumkan dan memperbanyak sebagian atau seluruh Karya tulisdalam bentuk apa pun tanpa izin IPB
viii
RANCANG BANGUN SISTEM AKUISISI DATABERBASIS WIRELESS SENSOR NETWORK (WSN)DAN INTERNET ACCESS UNTUK PENGUKURANINDEKS STANDAR PENCEMAR UDARA (ISPU)
MUHAMAD AZIS
Tesissebagai salah satu syarat untuk memeperoleh gelar
Magister Sains padaProgram Studi Biofisika
SEKOLAH PASCA SARJANAINSTITUT PERTANIAN BOGOR
BOGOR2012
ix
Penguji Luar Komisi pada Ujian Tesis : Dr. Ir. Irmansyah, M.Si
x
Judul tesis : Rancang Bangun Sistem Akuisisi Data Berbasis Wireless SensorNetwork (WSN) dan Internet Access untuk Pengukuran IndeksStandar Pencemar Udara (ISPU)
Nama : Muhamad AzisNIM : G751100041
Disetujui,
Komisi Pembimbing
Dr. Husin Alatas, S.Si, M.Si Prof. Ir. Kudang Boro Seminar, M.Sc, PhDKetua 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 sebagaianak ketiga dari pasangan Aat Sukatma dan Rosmawati (almh.).Penulis menyelesaikan pendidikan menengah tingkat atas diSMAN 1 Leuwiliang Bogor pada tahun 2003, pendidikan stratasatu (S1) pada Program Studi Fisika, Departemen Fisika, InstitutPertanian Bogor pada tahun 2009 dengan penelitiandi bidang Embedded System yang disponsori oleh program
Beasiswa Student Equity DIKTI, dan pendidikan strata dua (S2) pada ProgramStudi Biofisika, Sekolah Pasca Sarjana, Institut Pertanian Bogor pada tahun 2012dengan penelitian di bidang Wireless Sensor Network (WSN) yang disponsori olehprogram Beasiswa Unggulan Terpadu KEMDIKNAS. Sehari-hari penulis aktifdalam kegiatan mengajar Fisika di bimbingan belajar dan mengelola usaha. Diluaraktivitas sehari-hari penulis gemar menyempatkan diri mempelajari bahasapemrograman seperti C/C++/Wiring, BASIC, VB, PHP, JavaScript (inc. AJAX,jQuery), Shell script, dan Java secara otodidak. Penulis memiliki ketertarikan dibidang embedded system, software development dan remastering LinuxTM
operating systems. Tahun 2012 penulis memperoleh kesempatan mengikutiinternship program di Korea Advanced Institut of Science and Technology(KAIST) untuk bidang Wireless Data Acquisition System (WDAS). Penelitianyang telah dilakukan menghasilkan prosiding nasional maupun internasional sertajurnal internasional, diantaranya International Conference on InstrumentationCommunication and Information Technology and Bio Medical Engineering(ICICI-BME) dan International Journals of Engineering and Sciences (IJENS)/International Journal of Engineering and Technology (IJET). Menjelangkelulusan di program magister, penulis diterima menjadi pegawai diSAMSUNG C&T Corporation untuk divisi Project. Penulis dapat dihubungimelalui e-mail: [email protected]
xii
RIWAYAT HIDUP
Penulis dilahirkan di Jakarta pada tanggal 6 Agustus 1984 sebagaianak ketiga dari pasangan Aat Sukatma dan Rosmawati (almh.).Penulis menyelesaikan pendidikan menengah tingkat atas diSMAN 1 Leuwiliang Bogor pada tahun 2003, pendidikan stratasatu (S1) pada Program Studi Fisika, Departemen Fisika, InstitutPertanian Bogor pada tahun 2009 dengan penelitiandi bidang Embedded System yang disponsori oleh program
Beasiswa Student Equity DIKTI, dan pendidikan strata dua (S2) pada ProgramStudi Biofisika, Sekolah Pasca Sarjana, Institut Pertanian Bogor pada tahun 2012dengan penelitian di bidang Wireless Sensor Network (WSN) yang disponsori olehprogram Beasiswa Unggulan Terpadu KEMDIKNAS. Sehari-hari penulis aktifdalam kegiatan mengajar Fisika di bimbingan belajar dan mengelola usaha. Diluaraktivitas sehari-hari penulis gemar menyempatkan diri mempelajari bahasapemrograman seperti C/C++/Wiring, BASIC, VB, PHP, JavaScript (inc. AJAX,jQuery), Shell script, dan Java secara otodidak. Penulis memiliki ketertarikan dibidang embedded system, software development dan remastering LinuxTM
operating systems. Tahun 2012 penulis memperoleh kesempatan mengikutiinternship program di Korea Advanced Institut of Science and Technology(KAIST) untuk bidang Wireless Data Acquisition System (WDAS). Penelitianyang telah dilakukan menghasilkan prosiding nasional maupun internasional sertajurnal internasional, diantaranya International Conference on InstrumentationCommunication and Information Technology and Bio Medical Engineering(ICICI-BME) dan International Journals of Engineering and Sciences (IJENS)/International Journal of Engineering and Technology (IJET). Menjelangkelulusan di program magister, penulis diterima menjadi pegawai diSAMSUNG C&T Corporation untuk divisi Project. Penulis dapat dihubungimelalui e-mail: [email protected]
xii
RIWAYAT HIDUP
Penulis dilahirkan di Jakarta pada tanggal 6 Agustus 1984 sebagaianak ketiga dari pasangan Aat Sukatma dan Rosmawati (almh.).Penulis menyelesaikan pendidikan menengah tingkat atas diSMAN 1 Leuwiliang Bogor pada tahun 2003, pendidikan stratasatu (S1) pada Program Studi Fisika, Departemen Fisika, InstitutPertanian Bogor pada tahun 2009 dengan penelitiandi bidang Embedded System yang disponsori oleh program
Beasiswa Student Equity DIKTI, dan pendidikan strata dua (S2) pada ProgramStudi Biofisika, Sekolah Pasca Sarjana, Institut Pertanian Bogor pada tahun 2012dengan penelitian di bidang Wireless Sensor Network (WSN) yang disponsori olehprogram Beasiswa Unggulan Terpadu KEMDIKNAS. Sehari-hari penulis aktifdalam kegiatan mengajar Fisika di bimbingan belajar dan mengelola usaha. Diluaraktivitas sehari-hari penulis gemar menyempatkan diri mempelajari bahasapemrograman seperti C/C++/Wiring, BASIC, VB, PHP, JavaScript (inc. AJAX,jQuery), Shell script, dan Java secara otodidak. Penulis memiliki ketertarikan dibidang embedded system, software development dan remastering LinuxTM
operating systems. Tahun 2012 penulis memperoleh kesempatan mengikutiinternship program di Korea Advanced Institut of Science and Technology(KAIST) untuk bidang Wireless Data Acquisition System (WDAS). Penelitianyang telah dilakukan menghasilkan prosiding nasional maupun internasional sertajurnal internasional, diantaranya International Conference on InstrumentationCommunication and Information Technology and Bio Medical Engineering(ICICI-BME) dan International Journals of Engineering and Sciences (IJENS)/International Journal of Engineering and Technology (IJET). Menjelangkelulusan di program magister, penulis diterima menjadi pegawai diSAMSUNG C&T Corporation untuk divisi Project. Penulis dapat dihubungimelalui e-mail: [email protected]
xiii
DAFTAR ISI
Halaman
DAFTAR TABEL...................................................................................................... xviDAFTAR GAMBAR ................................................................................................. xviiDAFTAR LAMPIRAN.............................................................................................. xxiBAB 1 PENDAHULUAN ......................................................................................... 1
1.1 Latar Belakang ............................................................................................... 11.2 Perumusan Masalah........................................................................................ 31.3 Tujuan Penelitian............................................................................................ 31.4 Manfaat Penelitian.......................................................................................... 31.5 Ruang Lingkup Penelitian .............................................................................. 4
BAB 2 TINJAUAN PUSTAKA ................................................................................ 52.1 Indeks Standar Pencemar Udara (ISPU) ........................................................ 5
2.1.1 Pengertian ISPU.................................................................................... 52.1.2 Pengaruh ISPU Untuk Setiap Parameter Pencemar.............................. 72.1.3 Perhitungan Nilai ISPU ........................................................................ 82.1.4 Parameter-parameter Dasar Untuk ISPU dan Periode Waktu
Pengukuran ........................................................................................... 82.2 Sensor ............................................................................................................. 10
2.2.1 Dummy Sensor ...................................................................................... 102.2.2 Sensor Kristal Fotonik .......................................................................... 11
2.3 Arduino........................................................................................................... 142.3.1 DFRduino.............................................................................................. 162.3.2 DFRduino Mega 1280 .......................................................................... 172.3.3 Mega I/O Expansion Shield.................................................................. 17
2.4 Protokol ZigBee ............................................................................................. 182.4.1 Topologi Jaringan ZigBee .................................................................... 18
2.4.1.1 Topologi Star ............................................................................ 182.4.1.2 Topologi Mesh (Peer to Peer) .................................................. 192.4.1.3 Topologi Cluster Tree ............................................................... 19
2.4.2 Keuntungan Menggunakan ZigBee ...................................................... 192.4.3 XBee Transceiver ................................................................................. 20
2.4.3.1 Susunan Pin pada XBee Pro...................................................... 202.4.3.2 Spesifikasi XBee Pro ................................................................ 212.4.3.3 Cara Kerja XBee Transceiver ................................................... 212.4.3.4 Konfigurasi XBee Transceiver ................................................. 23
2.4.4 XBee Adapter ....................................................................................... 242.5 Visual Basic.................................................................................................... 262.6 PHP................................................................................................................. 272.7 Database......................................................................................................... 282.8 ODBC............................................................................................................. 292.9 Apache Web Server ........................................................................................ 292.10FusionCharts................................................................................................... 302.11AJAX (Asynchronous Javascript And XML) ................................................. 302.12JQuery ............................................................................................................ 31
xiv
BAB 3 METODOLOGI PENELITIAN..................................................................... 333.1 Tempat dan Waktu Penelitian ........................................................................ 333.2 Komponen Instrumentasi Penelitian .............................................................. 33
3.2.1 Komponen Perangkat Keras (Hardware) ............................................. 333.2.2 Komponen Perangkat Lunak (Software) dan Bahasa Pemrograman.... 33
3.3 Tahap Pelaksanaan Penelitian ........................................................................ 333.4 Perancangan Prototype Stasiun ISPU ............................................................ 36
3.4.1 Perancangan Hardware......................................................................... 363.4.1.1 Sensor........................................................................................ 373.4.1.2 Modul DFRduino Mega 1280 ................................................... 373.4.1.3 Mega I/O Expansion Shield ...................................................... 373.4.1.4 XBee Transceiver ..................................................................... 37
3.4.2 Perancangan Software........................................................................... 383.4.2.1 Perancangan Software program DFRduino Mega 1280 ........... 383.4.2.2 Perancangan Software XBee Transceiver................................. 38
3.5 Perancangan Akuisisi Data Secara Nirkabel (Wireless) ................................ 383.5.1 Perancangan Hardware......................................................................... 39
3.5.1.1 XBee Transceiver ..................................................................... 393.5.1.2 Modul XBee Adapter ................................................................ 39
3.5.2 Perancangan Software........................................................................... 403.5.2.1 Perancangan Software XBee Transceiver pada Bagian
Receiver..................................................................................... 403.6 Perancangan Software Antarmuka Berbasis Aplikasi Desktop ...................... 40
3.6.1 Perancangan Database Aplikasi Desktop ............................................. 403.6.2 Pembuatan Form Splash ....................................................................... 413.6.3 Pembuatan Form Monitoring ISPU ...................................................... 41
3.7 Perancangan Software Antarmuka Berbasis Aplikasi Web ............................ 413.7.1 Perancangan Database Aplikasi Web ................................................... 413.7.2 Perancangan Website Client.................................................................. 423.7.3 Perancangan Website Admin ................................................................. 42
BAB 4 HASIL DAN PEMBAHASAN...................................................................... 434.1 Implementasi Tahap Pelaksanaan Penelitian ................................................. 434.2 Implementasi Perancangan Prototype Stasiun ISPU ..................................... 43
4.2.1 Implementasi Perancangan Hardware.................................................. 434.2.2 Implementasi Perancangan Software .................................................... 47
4.2.2.1 Implementasi Perancangan Software Program DFRduinoMega 1280 ................................................................................ 47
4.2.2.2 Implementasi Perancangan Software XBee Transceiver .......... 494.2.3 Pengujian Hasil Perancangan Prototype Stasiun ISPU ........................ 50
4.3 Implementasi Perancangan Akuisisi Data Secara Nirkabel (Wireless).......... 514.3.1 Implementasi Perancangan Hardware.................................................. 514.3.2 Implementasi Perancangan Software .................................................... 534.3.3 Pengujian Hasil Perancangan Akuisisi Data Secara Nirkabel
(Wireless) .............................................................................................. 534.4 Implementasi Perancangan Software Antarmuka Berbasis Aplikasi
Desktop ........................................................................................................... 544.4.1 Implementasi Perancangan Database Aplikasi Desktop ...................... 544.4.2 Implementasi Perancangan Form Splash.............................................. 56
xv
4.4.3 Implementasi Perancangan Form Monitoring ISPU ............................ 564.4.4 Pengujian Hasil Perancangan Software Antarmuka Berbasis Aplikasi
Desktop ................................................................................................. 634.5 Implementasi Perancangan Software Antarmuka Berbasis Aplikasi Web ..... 65
4.5.1 Implementasi Perancangan Database Aplikasi Web ............................. 654.5.2 Implementasi Perancangan Website Client ........................................... 684.5.3 Implementasi Perancangan Website Admin .......................................... 764.5.4 Pengujian Hasil Perancangan Software Antarmuka Berbasis Aplikasi
Web ....................................................................................................... 834.5.4.1 Pengujian Website Client .......................................................... 834.5.4.2 Pengujian Website Admin ......................................................... 88
4.6 Pengujian Sistem Secara Keseluruhan ........................................................... 91BAB 5 SIMPULAN DAN SARAN........................................................................... 97
5.1 Simpulan......................................................................................................... 975.2 Saran............................................................................................................... 97
DAFTAR PUSTAKA ................................................................................................ 99
xvi
DAFTAR TABEL
Halaman
Tabel 1 Kategori, rentang, dan indikator warna ISPU............................................ 6Tabel 2 Pengaruh ISPU untuk setiap parameter pencemar .................................... 7Tabel 3 Parameter-parameter dasar untuk ISPU dan periode waktu pengukuran .. 8Tabel 4 Perbedaan beberapa model produk Arduino ............................................. 15Tabel 5 Susunan pin pada Xbee Pro beserta penjelasannya ................................... 20Tabel 6 Perbandingan spesifikasi XBee dengan XBee Pro .................................... 21Tabel 7 Spesifikasi dari UartSbee v4.0................................................................... 26Tabel 8 Susunan pin yang digunakan pada rangkaian dengan dummy sensor ....... 44Tabel 9 Struktur tabel dbstasiun1 ........................................................................... 55Tabel 10 Struktur tabel dbstasiun2 ........................................................................... 55Tabel 11 Struktur tabel dbstasiun3 ........................................................................... 55Tabel 12 Struktur tabel banner ................................................................................. 65Tabel 13 Struktur tabel download ............................................................................ 66Tabel 14 Struktur tabel halamanstatis ...................................................................... 66Tabel 15 Struktur tabel hubungi ............................................................................... 66Tabel 16 Struktur tabel mainmenu............................................................................ 66Tabel 17 Struktur tabel modul .................................................................................. 67Tabel 18 Struktur tabel sekilasinfo ........................................................................... 67Tabel 19 Struktur tabel stasiun ................................................................................. 67Tabel 20 Struktur tabel statistik................................................................................ 67Tabel 21 Struktur tabel submenu .............................................................................. 68Tabel 22 Struktur tabel templates ............................................................................. 68Tabel 23 Struktur tabel users .................................................................................... 68
xvii
DAFTAR GAMBAR
Halaman
Gambar 1 Contoh papan peraga ISPU .................................................................. 9Gambar 2 Contoh format laporan harian ISPU ke masyarakat............................. 9Gambar 3 Potensiometer ....................................................................................... 11Gambar 4 Kristal fotonik (a) satu dimensi, (b) dua dimensi, (c) tiga dimensi...... 11Gambar 5 Distribusi medan dalam defek.............................................................. 12Gambar 6 Model kristal fotonik satu dimensi dengan M = 4, N = 6 dan L = 2.... 13Gambar 7 Cara kerja sensor kristal fotonik........................................................... 14Gambar 8 Contoh letak pemasangan sensor kristal fotonik pada proses
pengukuran gas pencemar.................................................................... 14Gambar 9 Arduino Duemilanove dengan chip AVR 328 ..................................... 16Gambar 10 Arsitektur DFRduino Mega 1280......................................................... 17Gambar 11 Mega I/O Expansion Shield ................................................................. 17Gambar 12 Model topologi jaringan Zigbee........................................................... 18Gambar 13 (a) XBee Pro dan (b) susunan pin pada XBee Pro ............................... 20Gambar 14 Diagram sistem aliran data pada XBee ................................................ 22Gambar 15 Contoh format pengiriman data............................................................ 22Gambar 16 Diagram data flow internal................................................................... 23Gambar 17 Software X-CTU .................................................................................. 24Gambar 18 UartSbee v4.0 ....................................................................................... 25Gambar 19 Diagram blok UartSbee v4.0................................................................ 25Gambar 20 Logo Visual Basic 6.0 .......................................................................... 27Gambar 21 Logo PHP ............................................................................................. 28Gambar 22 Logo MySQL ....................................................................................... 28Gambar 23 Logo Apache web server...................................................................... 29Gambar 24 Konsep dasar browser dan web server ................................................. 29Gambar 25 Logo FusionCharts ............................................................................... 30Gambar 26 Logo jQuery ......................................................................................... 31Gambar 27 Tahap pelaksanaan penelitian............................................................... 34Gambar 28 Diagram blok sistem pengukuran ISPU yang telah dibuat .................. 34Gambar 29 Diagram blok prototipe Wireless Sensor Network (WSN) ................... 35Gambar 30 Diagram blok yang membedakan letak penggunaan sensor dengan
dummy sensor dan sensor kristal fotonik .............................................. 36Gambar 31 Skema rangkaian dengan dummy sensor............................................. 44Gambar 32 Skema rangkaian dengan dummy sensor dalam tiga dimensi .............. 45Gambar 33 XBee receiver yang sudah terhubung ke Mega I/O Expansion ShieldGambar 34 Prototype Stasiun ISPU yang sudah di-packaging .............................. 46Gambar 35 Contoh letak pemasangan sensor kristal fotonik pada proses
pengukuran gas pencemar.................................................................... 47Gambar 36 Tampilan dari software X-CTU .......................................................... 50Gambar 37 Hasil pengujian komunikasi serial dengan kabel USB........................ 51Gambar 38 XBee receiver yang sudah terhubung ke UartSbee v4.0 ...................... 52Gambar 39 Hasil pengujian komunikasi serial secara nirkabel (wireless) ............. 54Gambar 40 Tampilan proses loading aplikasi desktop ........................................... 56Gambar 41 Tampilan utama aplikasi desktop ......................................................... 57
xviii
Gambar 42 Header aplikasi desktop ....................................................................... 57Gambar 43 Proses pemilihan stasiun pada aplikasi desktop ................................... 58Gambar 44 Default stasiun pada aplikasi desktop................................................... 58Gambar 45 Frame data parameter ISPU................................................................. 58Gambar 46 Frame datalog ISPU ............................................................................. 58Gambar 47 Frame grafik real time ISPU ................................................................ 59Gambar 48 Frame konfigurasi aplikasi desktop ...................................................... 59Gambar 49 Status aplikasi desktop sudah terhubung dengan prototype stasiun
ISPU...................................................................................................... 59Gambar 50 Kotak dialog yang menunjukkan bahwa port sudah digunakan ........... 60Gambar 51 Frame Informasi mengenai aplikasi desktop ........................................ 60Gambar 52 Tombol untuk menyimpan datalog ISPU dalam file Excel .................. 60Gambar 53 Kotak dialog konfirmasi untuk menyimpan file datalog ISPU............. 61Gambar 54 Tombol untuk menghapus seluruh datalog ISPU ................................. 61Gambar 55 Kotak dialog konfirmasi untuk menghapus seluruh datalog ISPU....... 61Gambar 56 Tombol untuk mencetak grafik real time ISPU dalam file gambar
(.bmp).................................................................................................... 62Gambar 57 Kotak dialog konfirmasi untuk mencetak grafik real time ISPU
dalam file gambar (.bmp)...................................................................... 62Gambar 58 Tombol untuk keluar dari aplikasi desktop........................................... 62Gambar 59 Simulasi pengukuran ISPU dengan dummy sensor dan aplikasi
desktop .................................................................................................. 63Gambar 60 Contoh simulasi pengukuran ISPU dengan aplikasi desktop................ 63Gambar 61 Contoh menampilkan data salah satu nilai dari parameter ISPU pada
grafik real time dengan aplikasi desktop .............................................. 64Gambar 62 Menu konteks (context menu) pada grafik dengan plugin
FusionCharts ......................................................................................... 64Gambar 63 Contoh menampilkan data hasil pengukuran ISPU secara real time .... 64Gambar 64 Contoh menampilkan datalog hasil pengukuran ISPU......................... 65Gambar 65 Halaman utama aplikasi web untuk website client ............................... 69Gambar 66 Tampilan halaman Aims........................................................................ 69Gambar 67 Tampilan halaman Developer Team ..................................................... 69Gambar 68 Pemilihan stasiun pada menu ISPU real time....................................... 70Gambar 69 Hasil eksekusi dari tombol Preview setelah pemilihan stasiun pada
menu ISPU real time............................................................................. 70Gambar 70 Contoh menampilkan data salah satu nilai dari parameter ISPU pada
grafik real time dengan aplikasi web .................................................... 71Gambar 71 Contoh menampilkan datalog ISPU setelah pemilihan periode waktu
pencariandengan aplikasi web .............................................................. 71Gambar 72 Tampilan halaman Download ............................................................... 72Gambar 73 Tampilan halaman Contact Us ............................................................. 72Gambar 74 Widget ISPU Hari Ini pada website client ............................................ 73Gambar 75 Widget Sekilas Info pada website client ............................................... 74Gambar 76 Widget Statistik User pada website client ............................................. 75Gambar 77 Widget Banner pada website client ....................................................... 75Gambar 78 Halaman utama aplikasi web pada website admin setelah login
berhasil.................................................................................................. 76Gambar 79 Halaman modul User pada website admin ........................................... 77
xix
Gambar 80 Halaman modul Banner pada website admin ....................................... 77Gambar 81 Halaman modul Manajemen Modul pada website admin ..................... 78Gambar 82 Halaman modul Download pada website admin................................... 78Gambar 83 Halaman modul Hubungi Kami pada website admin............................ 79Gambar 84 Halaman modul Sekilas Info pada website admin ................................ 79Gambar 85 Halaman modul Templates pada website admin ................................... 80Gambar 86 Halaman modul Menu Utama pada website admin ............................. 80Gambar 87 Halaman modul Sub Menu pada website admin ................................... 81Gambar 88 Halaman modul Halaman Statis pada website admin .......................... 81Gambar 89 Halaman modul Manajemen Stasiun pada website admin.................... 82Gambar 90 Halaman modul Datalog ISPU pada website admin ........................... 82Gambar 91 Contoh grafik real time hasil pengukuran ISPU untuk parameter
PM10 dengan aplikasi web..................................................................... 83Gambar 92 Contoh grafik real time hasil pengukuran ISPU untuk parameter SO2
dengan aplikasi web .............................................................................. 83Gambar 93 Contoh grafik real time hasil pengukuran ISPU untuk parameter CO
dengan aplikasi web .............................................................................. 84Gambar 94 Contoh grafik real time hasil pengukuran ISPU untuk parameter O3
dengan aplikasi web .............................................................................. 84Gambar 95 Contoh grafik real time hasil pengukuran ISPU untuk parameter NO2
dengan aplikasi web .............................................................................. 85Gambar 96 Pemilihan stasiun pada menu ISPU Non Real Time ............................. 85Gambar 97 Hasil eksekusi dari tombol Preview setelah pemilihan stasiun pada
menu ISPU Non Real Time ................................................................... 86Gambar 98 Contoh pemilihan periode waktu pencarian ......................................... 86Gambar 99 Hasil eksekusi dari tombol Process setelah pemilihan periode waktu
pencarian............................................................................................... 87Gambar 100 Form login pada website admin............................................................ 88Gambar 101 Halaman utama aplikasi web pada website admin setelah login
berhasil.................................................................................................. 88Gambar 102 Tampilan peringatan gagal login .......................................................... 89Gambar 103 Halaman modul Datalog ISPU pada website admin ............................ 89Gambar 104 Kotak dialog konfirmasi download file datalog ISPU dalam file
Excel pada website admin ..................................................................... 90Gambar 105 Isi file datalog ISPU hasil download..................................................... 90Gambar 106 Langkah menjalankan aplikasi desktop ................................................ 91Gambar 107 Tampilan proses loading aplikasi desktop ............................................ 92Gambar 108 Tampilan utama aplikasi desktop.......................................................... 92Gambar 109 Konfigurasi pada tampilan utama aplikasi desktop .............................. 92Gambar 110 Status koneksi aplikasi desktop dengan prototype stasiun ISPU.......... 93Gambar 111 TabStrip untuk memilih stasiun ISPU pada aplikasi desktop ............... 93Gambar 112 Contoh pengukuran ISPU dengan aplikasi desktop .............................. 93Gambar 113 Langkah menjalankan aplikasi web dengan local domain.................... 94Gambar 114 Langkah menjalankan aplikasi web dengan public domain.................. 94Gambar 115 Halaman utama aplikasi web untuk website client ............................... 94Gambar 116 Contoh pengukuran salah satu parameter ISPU secara real time
dengan aplikasi web .............................................................................. 95
xx
Gambar 117 Contoh hasil pencarian datalog ISPU secara non real time denganaplikasi web........................................................................................... 96
Gambar 118 Diagram alir penelitian ......................................................................... 103Gambar 119 Diagram alir program rangkaian akuisisi data dan rangkaian
transmitter............................................................................................. 104Gambar 120 Diagram alir program rangkaian receiver dan penyajian data.............. 105
xxi
DAFTAR LAMPIRAN
Lampiran 1 Diagram Alir Penelitian........................................................................ 103Lampiran 2 Diagram Alir Program.......................................................................... 105Lampiran 3 Source Code Program DFRMega 1280 ................................................ 107Lampiran 4 Source Code XBee Transceiver ........................................................... 111Lampiran 5 Source Code Program untuk Aplikasi Desktop .................................... 115Lampiran 6 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 masing-
masing 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
Baik 0-50 Hijau
Tingkat kualitas udara yang tidak
memberikan efek bagi kesehatan
manusia atau hewan dan tidak
berpengaruh pada tumbuhan, bangunan
ataupun nilai estetika
Sedang 51-100 Biru
Tingkat kualitas udara yang tidak
memberikan efek bagi kesehatan
manusia atau hewan tetapi
berpengaruh pada tumbuhan yang
sensitif, dan nilai estetika tumbuhan,
bangunan ataupun nilai estetika
Tidak Sehat 101-199 Kuning
Tingkat kualitas udara yang bersifat
merugikan pada manusia ataupun
kelompok hewan yang sensitif atau
bisa menimbulkan kerusakan pada
tumbuhan ataupun nilai estetika
Sangat
Tidak Sehat200-299 Merah
Tingkat kualitas udara yang dapat
merugikan kesehatan pada sejumlah
segmen populasi yang terpapar
Berbahaya >299 Hitam
Tingkat kualitas udara berbahaya yang
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
KategoriKarbon
Monoksida(CO)
Nitrogen(NO2)
Ozon(O3)
SulfurDioksida
(SO2)
PartikelDebu
(PM-10)
Baik Tidak ada efek Sedikit berbau
Luka padaBeberapaspesies
tumbuhanakibat
Kombinasidengan SO2(Selama 4
Jam)
Luka padaBeberapaspesies
tumbuhanakibat
kombinasidengan O3(Selama 4
Jam)
Tidak ada efek
SedangPerubahan kimiadarah tapi tidak
terdeteksiBerbau
Luka padaBabarapaspesies
tumbuhan
Luka padaBeberapaspesies
lumbuhan
Terjadipenurunanpada jarakpandang
Tidak Sehat
Peningkatankardiovaskular
pada perokok yangsakit jantung
Bau dankehilangan
warna,peningkatanreaktivitaspembuluh
tenggorokanpada penderita
asma
Penurunankemampuan
pada atlet yangberlatih keras
Bau,Meningkatnya
kerusakantanaman
Jarak pandangturun dan
terjadipengotoran
debu di mana-mana
SangatTidak Sehat
Meningkatnyakardiovaskular
pada orang bukanperokok yangberpanyakit
Jantung, dan akantampak beberapakalemahan yangterlihat secara
nyata
Meningkatnyasensitivitaspasien yangberpenyakltasma danbronhitis
Olahragaringan
mangakibatkanpengaruh
parnafasanpada pasien
yangberpenyakitparu-paru
kronis
Meningkatnyasensitivitaspada pasienberpenyakitasthma danbronhitis
MePningkatnya sensitivitaspada pasienberpenyakitasthma danbronhitis
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.
(a) (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
spindle
inputGND +5V
wipertrack
input/
GND +5V
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, foton-
foton 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. Gambar 7
memperlihatkan cara kerja sensor kristal fotonik sebagai sensor optik.
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 padaproses 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 sehari-
hari 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
Model Processor
Flash
Memory
(kb)
EEPROM
(kb)
SRAM
(kb)
Digital
I/O
pin
PWM
Analog
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
LilyPadATmega 168V
atau ATmega 328V16 0.5 1 14 6 6
Mega1280 ATmega 1280 128 4 8 54 14 16
Mega2560 ATmega 2560 256 4 8 54 14 16
NanoATmega 168
atau ATmega 32816/32 0.5/1 1/2 14 6 8
Uno ATmega 328P 32 1 2 14 6 6
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 frame-
frame 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, RS-
232/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 IndikatorDilengkapi dengan LED indikator untuk
power, transmitter (TxD), dan receiver (RxD)
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
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.
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.
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 website resminya yaitu
http://www.jquery.com.
Gambar 26 Logo jQuery(Sumber : http://www.jquery.com)
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 website resminya yaitu
http://www.jquery.com.
Gambar 26 Logo jQuery(Sumber : http://www.jquery.com)
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 website resminya yaitu
http://www.jquery.com.
Gambar 26 Logo jQuery(Sumber : http://www.jquery.com)
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 masing-
masing terdiri dari lima buah sensor. Gambar 29 memperlihatkan Diagram blok
prototipe Wireless Sensor Network (WSN),
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 masing-
masing terdiri dari lima buah sensor. Gambar 29 memperlihatkan Diagram blok
prototipe Wireless Sensor Network (WSN),
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 masing-
masing 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.
Gambar 30 Diagram blok yang membedakan letak penggunaansensor 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.
Sensor :Dummy sensorPotensiometer
Pengkondisi Sinyal :Amplifier, Filter
Konverter/Analog to DigitalConverter (ADC)
Mikrokontroler :DFRduino Mega 1280dengan ADC internal
Pemancar (Transmitter) :XBee Transceiver dan
Mega I/O expansion shield
Sensor :Sensor Kristal
Fotonik
Komputer :Windows Server 2008
Graphical UserInterface (GUI) :
Aplikasi Desktop danAplikasi Web
Penerima (Receiver) :XBee Adapter dan
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 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.
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 masing-
masing 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 Keterangan
5V Sebagai pin VCC
GND 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 padaproses 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 variabelvoid setup()
//bagian ini digunakan untuk melakukan inisialisasi sepertimode komunikasi serial, pengaturan baudrate, pinMode darimodul DFRduino Mega 1280, dan sebagainya
void loop()
//bagian ini berisi perintah yang digunakan oleh programseperti pembacaan analogRead, memasukan fungsi atau rumus,memberi waktu tunda (delay) program, mencetak ke serial,dan sebagainya
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-to-
point 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 Nama Field Tipe Data
dbstasiun1
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 Nama Field Tipe Data
dbstasiun2
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 Nama Field Tipe Data
dbstasiun3
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
Gambar 47 Frame grafik real time ISPUf) Konfigurasi
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 ISPUdalam file gambar (.bmp)
Gambar 57 Kotak dialog konfirmasi untuk mencetakgrafik 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 sensordan 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 ISPUpada 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 Nama Field Tipe Data
banner
id_banner int(5)
judul varchar(100)
url varchar(100)
gambar varchar(100)
tgl_posting date
66
Tabel 13 Struktur tabel download
Nama Tabel Nama Field Tipe Data
download
id_download int(5)
judul varchar(100)
nama_file varchar(100)
tgl_posting date
hits int(3)
Tabel 14 Struktur tabel halamanstatis
Nama Tabel Nama Field Tipe Data
halamanstatis
id_halaman int(5)
judul varchar(100)
isi_halaman text
tgl_posting date
gambar varchar(100)
Tabel 15 Struktur tabel hubungi
Nama Tabel Nama Field Tipe Data
hubungi
id_hubungi int(5)
nama varchar(50)
email varchar(100)
subjek varchar(100)
pesan text
tanggal date
Tabel 16 Struktur tabel mainmenu
Nama Tabel Nama Field Tipe Data
mainmenu
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
modul
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)
Tabel 18 Struktur tabel sekilasinfo
Nama Tabel Nama Field Tipe Data
sekilasinfo
id_sekilas int(5)
info varchar(100)
tgl_posting date
gambar varchar(100)
Tabel 19 Struktur tabel stasiun
Nama Tabel Nama Field Tipe Data
stasiun
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 Nama Field Tipe Data
statistik
ip varchar(20)
tanggal date
hits int(10)
online varchar(255)
68
Tabel 21 Struktur tabel submenu
Nama Tabel Nama Field Tipe Data
submenu
id_sub int(5)
nama_sub varchar(50)
link_sub varchar(100)
id_main int(5)
Tabel 22 Struktur tabel templates
Nama Tabel Nama Field Tipe Data
templates
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
users
id_banner int(5)
judul varchar(100)
url varchar(100)
gambar varchar(100)
tgl_posting date
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 Aimsb. 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 Previewsetelah 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 ISPUpada 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 ISPUsetelah pemilihan periode waktu pencarian dengan aplikasi web
72
e) Download, menu ini berisi informasi mengenai file yang dapat di-
download 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 adminsetelah 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 di-
download 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 ISPUuntuk 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 ISPUuntuk 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 ISPUuntuk 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 ISPUuntuk 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 ISPUuntuk 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 Previewsetelah 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 Processsetelah 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 adminsetelah 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 ISPUdalam 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 timedengan 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 timedengan 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.
101
LAMPIRAN
102
103
Lampiran 1 Diagram Alir Penelitian
Gambar 118 Diagram alir penelitian
ya
ya
tidak
tidak
Persiapan(Studi literatur, tinjauan lapangan,
pembuatan proposal)
Siap ?
Pengambilan data analisis data
Rancang Bangun Sistem Akuisisi Data Berbasis WirelessSensor Network (WSN) dan Internet Access untuk
Pengukuran Indeks Standar Pencemar Udara (ISPU)
Berhasil ?
Penyusunan laporan
104
105
Lampiran 2 Diagram Alir Program
Gambar 119 Diagram alir program rangkaian akuisisi data dan rangkaian transmitter
tidak
Mulai
Inisialisasi hardware
Data siap dikirimkan kerangkaian receiver
Membaca data analog sensor
Konversi data analog ke digital
Mengirimkan data serial
Konfigurasi modul wireless
Mengirimkan data wireless
Pengujian dengan hyperterminalpada komputer server
berhasil ?
ya
Ran
gkai
an A
kuis
isi D
ata
Ran
gkai
anTr
ansm
itter
106
Gambar 120 Diagram alir program rangkaian receiver dan penyajian data
Berhasil?
Data diterima darirangkaian transmitter
Konfigurasi modul wireless
Menerima data wireless
Pengujian dengan hyperterminalpada komputer server
Menjalankan softwareaplikasi desktop
Melakukan konfigurasi :port, baudrate, interval
Melakukan koneksi
Menyimpan data Menampilkan data
Berhasil?
Menampilkan grafik Menampilkan data
tidak
ya
tidak
ya
Ran
gkai
anRe
ceiv
er
Apl
ikas
iDes
ktop
Apl
ikas
i Web
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 1Dibuat oleh : Muhamad AzisCopyleft : Muhamad Azis, Biofisika IPB, 2011Sponsor : Beasiswa Unggulan Terpadu Kemendiknas 2010-2012**/
float nilaiSensor1,nilaiSensor2,nilaiSensor3,nilaiSensor4,nilaiSensor5;
float konversiSensor1,konversiSensor2,konversiSensor3,konversiSensor4,konversiSensor5;
int sensor1pin = 0,sensor2pin = 1,sensor3pin = 2,sensor4pin = 3,sensor5pin = 4;
void setup()
Serial.begin(9600);
void loop()
nilaiSensor1 = analogRead(sensor1pin);konversiSensor1 = (nilaiSensor1/1023)*1000;nilaiSensor2 = analogRead(sensor2pin);konversiSensor2 = (nilaiSensor2/1023)*1000;nilaiSensor3 = analogRead(sensor3pin);konversiSensor3 = (nilaiSensor3/1023)*1000;nilaiSensor4 = analogRead(sensor4pin);konversiSensor4 = (nilaiSensor4/1023)*1000;nilaiSensor5 = analogRead(sensor5pin);konversiSensor5 = (nilaiSensor5/1023)*1000;delay(500);
Serial.print((int)konversiSensor1, DEC);Serial.print("#");Serial.print((int)konversiSensor2, DEC);Serial.print("#");Serial.print((int)konversiSensor3, DEC);Serial.print("#");Serial.print((int)konversiSensor4, DEC);Serial.print("#");Serial.print((int)konversiSensor5, DEC);Serial.print("#");
108
3.2 Source Code Program DFRMega 1280 untuk Prototype Stasiun ISPU 2
/**Nama Program : Program DFRMega 1280 untuk Prototype Stasiun
ISPU 2Dibuat oleh : Muhamad AzisCopyleft : Muhamad Azis, Biofisika IPB, 2011Sponsor : Beasiswa Unggulan Terpadu Kemendiknas 2010-2012**/
float nilaiSensor1,nilaiSensor2,nilaiSensor3,nilaiSensor4,nilaiSensor5;
float konversiSensor1,konversiSensor2,konversiSensor3,konversiSensor4,konversiSensor5;
int sensor1pin = 0,sensor2pin = 1,sensor3pin = 2,sensor4pin = 3,sensor5pin = 4;
void setup()
Serial.begin(9600);
void loop()
nilaiSensor1 = analogRead(sensor1pin);konversiSensor1 = (nilaiSensor1/1023)*1000;nilaiSensor2 = analogRead(sensor2pin);konversiSensor2 = (nilaiSensor2/1023)*1000;nilaiSensor3 = analogRead(sensor3pin);konversiSensor3 = (nilaiSensor3/1023)*1000;nilaiSensor4 = analogRead(sensor4pin);konversiSensor4 = (nilaiSensor4/1023)*1000;nilaiSensor5 = analogRead(sensor5pin);konversiSensor5 = (nilaiSensor5/1023)*1000;delay(500);
Serial.print((int)konversiSensor1, DEC);Serial.print("$");Serial.print((int)konversiSensor2, DEC);Serial.print("$");Serial.print((int)konversiSensor3, DEC);Serial.print("$");Serial.print((int)konversiSensor4, DEC);Serial.print("$");Serial.print((int)konversiSensor5, DEC);Serial.print("$");
109
3.3 Source Code Program DFRMega 1280 untuk Prototype Stasiun ISPU 3
/**Nama Program : Program DFRMega 1280 untuk Prototype Stasiun
ISPU 3Dibuat oleh : Muhamad AzisCopyleft : Muhamad Azis, Biofisika IPB, 2011Sponsor : Beasiswa Unggulan Terpadu Kemendiknas 2010-2012**/
float nilaiSensor1,nilaiSensor2,nilaiSensor3,nilaiSensor4,nilaiSensor5;
float konversiSensor1,konversiSensor2,konversiSensor3,konversiSensor4,konversiSensor5;
int sensor1pin = 0,sensor2pin = 1,sensor3pin = 2,sensor4pin = 3,sensor5pin = 4;
void setup()
Serial.begin(9600);
void loop()
nilaiSensor1 = analogRead(sensor1pin);konversiSensor1 = (nilaiSensor1/1023)*1000;nilaiSensor2 = analogRead(sensor2pin);konversiSensor2 = (nilaiSensor2/1023)*1000;nilaiSensor3 = analogRead(sensor3pin);konversiSensor3 = (nilaiSensor3/1023)*1000;nilaiSensor4 = analogRead(sensor4pin);konversiSensor4 = (nilaiSensor4/1023)*1000;nilaiSensor5 = analogRead(sensor5pin);konversiSensor5 = (nilaiSensor5/1023)*1000;delay(500);
Serial.print((int)konversiSensor1, DEC);Serial.print("@");Serial.print((int)konversiSensor2, DEC);Serial.print("@");Serial.print((int)konversiSensor3, DEC);Serial.print("@");Serial.print((int)konversiSensor4, DEC);Serial.print("@");Serial.print((int)konversiSensor5, DEC);Serial.print("@");
110
111
Lampiran 4 Source Code XBee Transceiver
4.1 Source Code Program XBee Transceiver untuk Prototype Stasiun ISPU 1
XBP24_15_4_10CD.mxiFE024110CD0[A]CH=C[A]ID=3128[A]DH=0[A]DL=26[A]MY=27[A]RN=0[A]MM=2[A]NT=19[A]NO=0[A]CE=0[A]SC=1FFE[A]SD=4[A]A1=0[A]A2=0[A]EE=0[A]NI=[A]PL=4[A]CA=2C[A]SM=0[A]ST=1388[A]SP=0[A]DP=3E8[A]SO=0[A]BD=3[A]RO=3[A]AP=0[A]PR=FF[A]D8=0[A]D7=1[A]D6=0[A]D5=1[A]D4=0[A]D3=0[A]D2=0[A]D1=0[A]D0=0[A]IU=1[A]IT=1[A]IC=0[A]IR=0[A]IA=FFFFFFFFFFFFFFFF[A]T0=FF[A]T1=FF[A]T2=FF[A]T3=FF[A]T4=FF[A]T5=FF[A]T6=FF[A]T7=FF[A]P0=1[A]P1=0[A]PT=FF[A]RP=28[A]CT=64
112
4.2 Source Code Program XBee Transceiver untuk Prototype Stasiun ISPU 2
XBP24_15_4_10CD.mxiFE024110CD0[A]CH=C[A]ID=3128[A]DH=0[A]DL=26[A]MY=28[A]RN=0[A]MM=2[A]NT=19[A]NO=0[A]CE=0[A]SC=1FFE[A]SD=4[A]A1=0[A]A2=0[A]EE=0[A]NI=[A]PL=4[A]CA=2C[A]SM=0[A]ST=1388[A]SP=0[A]DP=3E8[A]SO=0[A]BD=3[A]RO=3[A]AP=0[A]PR=FF[A]D8=0[A]D7=1[A]D6=0[A]D5=1[A]D4=0[A]D3=0[A]D2=0[A]D1=0[A]D0=0[A]IU=1[A]IT=1[A]IC=0[A]IR=0[A]IA=FFFFFFFFFFFFFFFF[A]T0=FF[A]T1=FF[A]T2=FF[A]T3=FF[A]T4=FF[A]T5=FF[A]T6=FF[A]T7=FF[A]P0=1[A]P1=0[A]PT=FF[A]RP=28[A]CT=64
113
4.3 Source Code Program XBee Transceiver untuk Prototype Stasiun ISPU 3
XBP24_15_4_10CD.mxiFE024110CD0[A]CH=C[A]ID=3128[A]DH=0[A]DL=26[A]MY=29[A]RN=0[A]MM=2[A]NT=19[A]NO=0[A]CE=0[A]SC=1FFE[A]SD=4[A]A1=0[A]A2=0[A]EE=0[A]NI=[A]PL=4[A]CA=2C[A]SM=0[A]ST=1388[A]SP=0[A]DP=3E8[A]SO=0[A]BD=3[A]RO=3[A]AP=0[A]PR=FF[A]D8=0[A]D7=1[A]D6=0[A]D5=1[A]D4=0[A]D3=0[A]D2=0[A]D1=0[A]D0=0[A]IU=1[A]IT=1[A]IC=0[A]IR=0[A]IA=FFFFFFFFFFFFFFFF[A]T0=FF[A]T1=FF[A]T2=FF[A]T3=FF[A]T4=FF[A]T5=FF[A]T6=FF[A]T7=FF[A]P0=1[A]P1=0[A]PT=FF[A]RP=28[A]CT=64
114
4.4 Source Code Program XBee Transceiver untuk Collector
XBP24_15_4_10CD.mxiFE024110CD0[A]CH=C[A]ID=3128[A]DH=0[A]DL=0[A]MY=26[A]RN=0[A]MM=2[A]NT=19[A]NO=0[A]CE=1[A]SC=1FFE[A]SD=4[A]A1=0[A]A2=0[A]EE=0[A]NI=[A]PL=4[A]CA=2C[A]SM=0[A]ST=1388[A]SP=0[A]DP=3E8[A]SO=0[A]BD=3[A]RO=3[A]AP=0[A]PR=FF[A]D8=0[A]D7=1[A]D6=0[A]D5=1[A]D4=0[A]D3=0[A]D2=0[A]D1=0[A]D0=0[A]IU=1[A]IT=1[A]IC=0[A]IR=0[A]IA=FFFFFFFFFFFFFFFF[A]T0=FF[A]T1=FF[A]T2=FF[A]T3=FF[A]T4=FF[A]T5=FF[A]T6=FF[A]T7=FF[A]P0=1[A]P1=0[A]PT=FF[A]RP=28[A]CT=64[A]GT=3E8[A]CC=2B
115
Lampiran 5 Source Code Program Aplikasi Desktop
5.1 Source Code Form1 (frmSplash.frm)
Dim w As Double
Private Sub Form_Load()Shape1.Width = 0Timer1.Enabled = Truew = 0
End Sub
Private Sub Timer1_Timer()w = w + 40Shape1.Width = Val(w)If Shape1.Width > 250 Then
Label4.Caption = ""End IfIf Shape1.Width > 300 Then
Label4.Caption = "CommPort Setting ..."End IfIf Shape1.Width > 950 Then
Label4.Caption = "Connecting Device ..."End IfIf Shape1.Width > 1400 Then
Label4.Caption = ""End IfIf Shape1.Width > 1450 Then
Label4.Caption = "Preparing Programs ..."End IfIf Shape1.Width > 2000 Then
Label4.Caption = ""End IfIf Shape1.Width > 2050 Then
Label4.Caption = "Ready ..."End IfIf Shape1.Width > 2175 Then
Unload MeForm2.Show
End IfEnd Sub
116
5.2 Source Code Form2 (frmMonitoringISPU.frm)
Dim conn As connectionDim conn2 As connectionDim conn3 As connectionDim rs As RecordsetDim rs2 As RecordsetDim rs3 As RecordsetDim jumlah As IntegerDim tanda As String
Private Sub koneksi()Set conn = New connectionconn.Open "Provider=MSDASQL.1;Persist Security Info=False;DataSource=stasiun_ispu"Set rs = New Recordsetrs.CursorLocation = adUseClientrs.Open "select * from dbstasiun1", conn, adOpenStatic,adLockOptimisticSet DataGrid1.DataSource = rs.DataSourceDataGrid1.Enabled = TrueDataGrid1.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 connectionconn2.Open "Provider=MSDASQL.1;Persist Security Info=False;DataSource=stasiun_ispu"Set rs2 = New Recordsetrs2.CursorLocation = adUseClientrs2.Open "select * from dbstasiun2", conn2, adOpenStatic,adLockOptimisticSet DataGrid2.DataSource = rs2.DataSourceDataGrid2.Enabled = TrueDataGrid2.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 connectionconn3.Open "Provider=MSDASQL.1;Persist Security Info=False;DataSource=stasiun_ispu"Set rs3 = New Recordsetrs3.CursorLocation = adUseClientrs3.Open "select * from dbstasiun3", conn3, adOpenStatic,adLockOptimisticSet DataGrid3.DataSource = rs3.DataSourceDataGrid3.Enabled = True
117
DataGrid3.Columns(0).Width = "400"DataGrid3.Columns(1).Width = "1000"DataGrid3.Columns(2).Width = "1000"DataGrid3.Columns(3).Width = "770"DataGrid3.Columns(4).Width = "770"DataGrid3.Columns(5).Width = "770"DataGrid3.Columns(6).Width = "770"DataGrid3.Columns(7).Width = "770"
End Sub
Private Sub DataGrid1_Click()cmdSimpan.Visible = TruecmdHapus.Visible = TruecmdSimpan.Enabled = TruecmdHapus.Enabled = True
End Sub
Private Sub DataGrid2_Click()cmdSimpan2.Visible = TruecmdHapus2.Visible = TruecmdSimpan2.Enabled = TruecmdHapus2.Enabled = True
End Sub
Private Sub DataGrid3_Click()cmdSimpan3.Visible = TruecmdHapus3.Visible = TruecmdSimpan3.Enabled = TruecmdHapus3.Enabled = True
End Sub
Private Sub Form_Load()TabStrip1_ClickcmdSimpan.Enabled = FalsecmdHapus.Enabled = FalsecmdCetakgrafik.Enabled = FalsecmdSimpan2.Enabled = FalsecmdHapus2.Enabled = FalsecmdCetakgrafik2.Enabled = FalsecmdSimpan3.Enabled = FalsecmdHapus3.Enabled = FalsecmdCetakgrafik3.Enabled = FalsecmdConnect.Enabled = TruecmdDisconnect.Enabled = FalsecmdKeluar.Enabled = Truejumlah = 0MMControl1.Visible = FalsekoneksiTimer1.Enabled = FalseWith 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 WithEnd Sub
Private Sub TabStrip1_Click()Dim index As Longindex = TabStrip1.SelectedItem.indexFrame1(0).Visible = (index = 1)Frame1(1).Visible = (index = 2)Frame1(2).Visible = (index = 3)
End Sub
Private Sub cmdConnect_Click()tanda = "B"cmdSimpan.Visible = TruecmdHapus.Visible = TruecmdSimpan.Enabled = TruecmdHapus.Enabled = TruecmdCetakgrafik.Enabled = TruecmdSimpan2.Visible = TruecmdHapus2.Visible = TruecmdSimpan2.Enabled = TruecmdHapus2.Enabled = TruecmdCetakgrafik2.Enabled = TruecmdSimpan3.Visible = TruecmdHapus3.Visible = TruecmdSimpan3.Enabled = TruecmdHapus3.Enabled = TruecmdCetakgrafik3.Enabled = TrueDim port As IntegerOn Error GoTo errcodeSelect Case Combo1.ListIndex
Case -1port = 1Case 0port = 1Case 1port = 2Case 2port = 3Case 3port = 4Case 4port = 5
End SelectIf MSComm1.PortOpen = False Then
MSComm1.CommPort = portMSComm1.RThreshold = 12MSComm1.Settings = Combo2.List(Combo2.ListIndex) & ",N,8,1"MSComm1.PortOpen = TruecmdConnect.Enabled = FalsecmdDisconnect.Enabled = TruecmdKeluar.Enabled = False
119
Timer1.Enabled = TruelblPenanda_koneksi.Caption = "Connected"lblPenanda_koneksi.ForeColor = vbBlue
End IfExit Suberrcode:MsgBox "This COM port is being used by another device, pleaseselect another port!", vbOKOnly, "Warning!!!"Combo1.SetFocus
End Sub
Private Sub cmdDisconnect_Click()If MSComm1.PortOpen = True Then
MSComm1.PortOpen = FalseEnd IflblPenanda_koneksi.Caption = "Disconnected"lblPenanda_koneksi.ForeColor = vbRedTimer1.Enabled = FalsecmdConnect.Enabled = TruecmdDisconnect.Enabled = FalsecmdKeluar.Enabled = TruecmdSimpan.Enabled = TruecmdHapus.Enabled = TruecmdCetakgrafik.Enabled = TruecmdSimpan2.Enabled = TruecmdHapus2.Enabled = TruecmdCetakgrafik2.Enabled = TruecmdSimpan3.Enabled = TruecmdHapus3.Enabled = TruecmdCetakgrafik3.Enabled = True
End Sub
Private Sub masuk()Dim buffer As StringDim Data1() As StringDim Data4() As StringDim Data3() As StringDim i As IntegerIf MSComm1.CommEvent = comEvReceive Then
buffer = MSComm1.InputData1 = Split(buffer, "#")Data4 = Split(buffer, "$")Data3 = Split(buffer, "@")On Error Resume NextIf buffer <> "" ThenFor i = 0 To 4
If i < 5 ThenText1(i).Text = CDbl(Data1(i))Text2(i).Text = CDbl(Data4(i))Text3(i).Text = CDbl(Data3(i))
End IfNext i
Elsebuffer = ""End If
End IfEnd Sub
120
Private Sub cmdSimpan_Click()Dim excel_app As ObjectDim excel_sheet As ObjectDim excel_book As ObjectDim row As LongDim conn As ADODB.connectionDim rs As ADODB.RecordsetDim statement As StringDim col As Integermsg = MsgBox("Do you want to export this data to excel?",vbYesNo, "Confirmation Dialog")If msg = vbNo Then Exit SubScreen.MousePointer = vbHourglassDoEventsSet excel_app = CreateObject("Excel.Application")excel_app.Workbooks.AddSet excel_sheet = excel_app.Worksheets(1)Set conn = New ADODB.connectionconn.ConnectionString = "Provider=MSDASQL.1;Persist SecurityInfo=False;Data Source=stasiun_ispu"conn.OpenSet rs = conn.Execute("SELECT * FROM dbstasiun1", , adCmdText)For col = 0 To 7excel_sheet.Cells(1, col + 1) = rs.Fields(col).NameNext colrow = 2Do While Not rs.EOFFor col = 0 To rs.Fields.Count - 1excel_sheet.Cells(row, col + 1) = rs.Fields(col).ValueNext colrow = row + 1rs.MoveNextLoopexcel_sheet.Range(excel_sheet.Cells(1, 1), excel_sheet.Cells(2,rs.Fields.Count)).Columns.AutoFitrs.CloseSet rs = Nothingconn.CloseSet conn = Nothingexcel_sheet.Rows(1).Font.Bold = Trueexcel_sheet.Rows(2).Selectexcel_app.ActiveWindow.FreezePanes = Trueexcel_sheet.Cells(1, 1).Selectexcel_app.Workbooks(1).Close Trueexcel_app.QuitSet excel_sheet = NothingSet excel_app = NothingScreen.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 SubIf rs.RecordCount <> 0 Then rs.MoveFirstWhile rs.EOF = Falsers.Deleters.MoveNextWend
End Sub
Private Sub cmdHapus2_Click()msg = MsgBox("Are you sure to delete all this data?", vbYesNo,"Confirmation Dialog")If msg = vbNo Then Exit SubIf rs2.RecordCount <> 0 Then rs2.MoveFirstWhile rs2.EOF = Falsers2.Deleters2.MoveNextWend
End Sub
Private Sub cmdHapus3_Click()msg = MsgBox("Are you sure to delete all this data?", vbYesNo,"Confirmation Dialog")If msg = vbNo Then Exit SubIf rs3.RecordCount <> 0 Then rs3.MoveFirstWhile rs3.EOF = Falsers3.Deleters3.MoveNextWend
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 SubFusionCharts1.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 SubFusionCharts2.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 SubFusionCharts3.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 SubPrivate Sub Timer1_Timer()
Timer1 = CDbl(Timer + Timer1.Interval)Timer1 = Left(Timer, 8)tanda = "B"masukData2Data5Data6grafikgrafik2grafik3
End Sub
Private Sub Data2()nomorrs.AddNewrs!No = jumlah + 1rs!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()nomor2rs2.AddNewrs2!No = jumlah + 1rs2!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()nomor3rs3.AddNewrs3!No = jumlah + 1rs3!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.MoveLastjumlah = Val(rs!No)
Elsejumlah = 0
End IfEnd Sub
Private Sub nomor2()If rs2.RecordCount <> 0 Then
rs2.MoveLastjumlah = Val(rs2!No)
Elsejumlah = 0
End IfEnd Sub
Private Sub nomor3()If rs3.RecordCount <> 0 Then
rs3.MoveLastjumlah = Val(rs3!No)
Elsejumlah = 0
End IfEnd Sub
Private Sub grafik()Dim chartParameters As StringchartParameters = "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.connectionDim dbRecordSet As ADODB.RecordsetDim strSQL As StringDim connString As StringconnString = "Provider=MSDASQL.1;Persist SecurityInfo=False;Data Source=stasiun_ispu"Set connection = New ADODB.connectionCall connection.Open(connString)Set dbRecordSet = New ADODB.Recordset
124
With dbRecordSet.ActiveConnection = connection.CursorLocation = adUseClient.CursorType = adOpenDynamic
End WithstrSQL = "SELECT * FROM dbstasiun1 ORDER BY No DESC LIMIT 30"Call dbRecordSet.Open(strSQL)Call FusionCharts1.Data.setChartParams(chartParameters)FusionCharts1.chartType = msline2dCall FusionCharts1.Data.addCategoryFromDatabase(dbRecordSet,"Waktu")Call FusionCharts1.Data.addDataset("PM-10")CallFusionCharts1.Data.addDataFromDatabase(dbRecordSet,"Sensor1")Call FusionCharts1.Data.addDataset("SO2")CallFusionCharts1.Data.addDataFromDatabase(dbRecordSet,"Sensor2")Call FusionCharts1.Data.addDataset("CO")CallFusionCharts1.Data.addDataFromDatabase(dbRecordSet,"Sensor3")Call FusionCharts1.Data.addDataset("O3")CallFusionCharts1.Data.addDataFromDatabase(dbRecordSet,"Sensor4")Call FusionCharts1.Data.addDataset("NO2")CallFusionCharts1.Data.addDataFromDatabase(dbRecordSet,"Sensor5")FusionCharts1.RenderChart
End Sub
Private Sub grafik2()Dim chartParameters As StringchartParameters = "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.connectionDim dbRecordSet As ADODB.RecordsetDim strSQL As StringDim connString As StringconnString = "Provider=MSDASQL.1;Persist SecurityInfo=False;Data Source=stasiun_ispu"Set connection = New ADODB.connectionCall connection.Open(connString)Set dbRecordSet = New ADODB.RecordsetWith dbRecordSet
.ActiveConnection = connection
.CursorLocation = adUseClient
.CursorType = adOpenDynamicEnd WithstrSQL = "SELECT * FROM dbstasiun2 ORDER BY No DESC LIMIT 30"Call dbRecordSet.Open(strSQL)Call FusionCharts2.Data.setChartParams(chartParameters)FusionCharts2.chartType = msline2dCallFusionCharts2.Data.addCategoryFromDatabase(dbRecordSet,"Waktu")Call FusionCharts2.Data.addDataset("PM-10")CallFusionCharts2.Data.addDataFromDatabase(dbRecordSet,"Sensor1")
125
Call FusionCharts2.Data.addDataset("SO2")CallFusionCharts2.Data.addDataFromDatabase(dbRecordSet,"Sensor2")Call FusionCharts2.Data.addDataset("CO")CallFusionCharts2.Data.addDataFromDatabase(dbRecordSet,"Sensor3")Call FusionCharts2.Data.addDataset("O3")CallFusionCharts2.Data.addDataFromDatabase(dbRecordSet,"Sensor4")Call FusionCharts2.Data.addDataset("NO2")CallFusionCharts2.Data.addDataFromDatabase(dbRecordSet,"Sensor5")FusionCharts2.RenderChart
End Sub
Private Sub grafik3()Dim chartParameters As StringchartParameters = "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.connectionDim dbRecordSet As ADODB.RecordsetDim strSQL As StringDim connString As StringconnString = "Provider=MSDASQL.1;Persist SecurityInfo=False;Data Source=stasiun_ispu"Set connection = New ADODB.connectionCall connection.Open(connString)Set dbRecordSet = New ADODB.RecordsetWith dbRecordSet
.ActiveConnection = connection
.CursorLocation = adUseClient
.CursorType = adOpenDynamicEnd WithstrSQL = "SELECT * FROM dbstasiun3 ORDER BY No DESC LIMIT 30"Call dbRecordSet.Open(strSQL)Call FusionCharts3.Data.setChartParams(chartParameters)FusionCharts3.chartType = msline2dCallFusionCharts3.Data.addCategoryFromDatabase(dbRecordSet,"Waktu")Call FusionCharts3.Data.addDataset("PM-10")CallFusionCharts3.Data.addDataFromDatabase(dbRecordSet,"Sensor1")Call FusionCharts3.Data.addDataset("SO2")CallFusionCharts3.Data.addDataFromDatabase(dbRecordSet,"Sensor2")Call FusionCharts3.Data.addDataset("CO")CallFusionCharts3.Data.addDataFromDatabase(dbRecordSet,"Sensor3")Call FusionCharts3.Data.addDataset("O3")CallFusionCharts3.Data.addDataFromDatabase(dbRecordSet,"Sensor4")Call FusionCharts3.Data.addDataset("NO2")CallFusionCharts3.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.
<?php$server = "localhost";$username = "root";$password = "root";$database = "dbsispu";mysql_connect($server,$username,$password) or die("Koneksi kedatabase gagal");mysql_select_db($database) or die("Database tidak bisadiakses");
?>
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.
<?phpinclude "config/koneksi.php";echo "<form method='post' action='main_charts.php'>";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 "<option>== Stasiun ==</option>\n";while ($row = mysql_fetch_array($result))echo "<option value='$row[Nama]'>$row[Nama]</option>\n";echo "</select>\n";else echo "No results found."; else echo "Failed to connect to database."; echo "<input type='submit' value='Preview' /></form>";$queryNama = $_POST['Nama'];
if ($queryNama=='Stasiun 1')echo "<br><div align='left'> Anda telah memilih " ;echo "<b><font color='#009900' face='Verdana' size='2'>
128
$queryNama</font></b></div><p>";include 'index1.php';elseif ($queryNama=='Stasiun 2')echo "<br><div align='left'> Anda telah memilih " ;echo "<b><font color='#009900' face='Verdana' size='2'>$queryNama</font></b></div><p>";include 'index2.php';elseif ($queryNama=='Stasiun 3')echo "<br><div align='left'> Anda telah memilih " ;echo"<b><font color='#009900' face='Verdana' size='2'>$queryNama</font></b></div><p>";include 'index3.php';elseif ($queryNama=='== Stasiun ==')echo"<br><div align='left'><font color='#FF0000' face='Verdanasize='2'>Anda belum memilih stasiun!</font></div><p>";
?>
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.
<html><head><script type="text/javascript" src="Includes/FusionCharts.js"></script><script type="text/javascript" src="Includes/prototype.js"></script></head><body bgcolor="#ffffff"><center><!-- STASIUN 1--><p><p> <font color="#000000" > <b> PM <sub>10</sub></b></font><div id="chart1div" align="center">
<script type="text/javascript">var myChart = new FusionCharts("FusionCharts/Line.swf","$strSENSOR1", "700", "270", "0", "1");myChart.setDataURL('getdata1_sta1.php');myChart.render("chart1div");
</script><script type="text/javascript">
new PeriodicalExecuter(function getLatestData() new Ajax.Request('getdata1_sta1.php',
129
method: 'get',onSuccess: function(transport) updateChartXML('$strSENSOR1', transport.responseText););, 5);
</script></div><p><p> <font color="#000000" > <b> SO<sub>2</sub> </b></font><div id="chart2div" align="center"><script type="text/javascript">
var myChart = new FusionCharts("FusionCharts/Line.swf","$strSENSOR2", "700", "270", "0", "1");myChart.setDataURL('getdata2_sta1.php');myChart.render("chart2div");
</script><script type="text/javascript">
new PeriodicalExecuter(function getLatestData() new Ajax.Request('getdata2_sta1.php', method: 'get',onSuccess: function(transport) updateChartXML('$strSENSOR2', transport.responseText););,5);
</script></div><p><p> <font color="#000000" > <b> CO </b></font><div id="chart3div" align="center"><script type="text/javascript">
var myChart = new FusionCharts("FusionCharts/Line.swf","$strSENSOR3", "700", "270", "0", "1");myChart.setDataURL('getdata3_sta1.php');myChart.render("chart3div");
</script><script type="text/javascript">
new PeriodicalExecuter(function getLatestData()new Ajax.Request('getdata3_sta1.php',method: 'get',onSuccess: function(transport)updateChartXML('$strSENSOR3', transport.responseText);
);, 5);
</script></div><p><p> <font color="#000000" > <b> O<sub>3</sub> </b></font><div id="chart4div" align="center"><script type="text/javascript">
var myChart = new FusionCharts("FusionCharts/Line.swf","$strSENSOR4", "700", "270", "0", "1");myChart.setDataURL('getdata4_sta1.php');myChart.render("chart4div");
</script><script type="text/javascript">
new PeriodicalExecuter(function getLatestData() new Ajax.Request('getdata4_sta1.php', method: 'get',
130
onSuccess: function(transport) updateChartXML('$strSENSOR4', transport.responseText););, 5);
</script></div><p><p> <font color="#000000" > <b> NO<sub>2</sub> </b></font><div id="chart5div" align="center"><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><script type="text/javascript">
new PeriodicalExecuter(function getLatestData() new Ajax.Request('getdata5_sta1.php', method: 'get',onSuccess: function(transport) updateChartXML('$strSENSOR5', transport.responseText););, 5);
</script></div><p></center></body></html>
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.
<?phpinclude "Includes/FusionCharts.php";include "config/koneksi.php";$QueryString="SELECT * FROM dbstasiun1 ORDER BY No DESC LIMIT30";$result = mysql_query($QueryString) or die(mysql_error());$strSENSOR1 = "<graph caption='' subCaption='' animation='0'canvasBorderColor='FFFFFF' xAxisName='Time' yAxisName='ISPUvalue' showLabels='1' showValues='0' showNames='1'formatNumberScale='0' numberSuffix=' unit' numberPrefix=''decimalPrecision='0' labelDisplay='Rotate' slantLabels='0'>";
131
if ($result)while($data = mysql_fetch_array($result))$strSENSOR1 .= "<set seriesName='Sensor 1' color='FF0000'label='" . $data['Waktu'] . "' value='" . $data['Sensor1'] . "'/>";$strSENSOR1 .= "</graph>";echo $strSENSOR1;
6.3 Menampilkan datalog ISPU
6.3.1 Listing program filtering.php
<?phpinclude "config/koneksi.php";echo "<form method='post' action='filtering.php'>";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 "<option>== Stasiun ==</option>\n";while ($row = mysql_fetch_array($result))echo "<option value='$row[Nama]'>$row[Nama]</option>\n";echo "</select>\n";else echo "No results found."; else echo "Failed to connect to database."; echo "<input type='submit' value='Preview' /></form>";$queryNama = $_POST['Nama'];if ($queryNama=='Stasiun 1')echo "<br><div align='left'> Anda telah memilih " ;echo "<b><font color='#009900' face='Verdana'size='2'>$queryNama</font></b></div><p>";include 'time_period_sta1.php';elseif ($queryNama=='Stasiun 2')echo "<br><div align='left'> Anda telah memilih " ;echo "<b><font color='#009900' face='Verdana'size='2'>$queryNama</font></b></div><p>";include 'time_period_sta2.php';elseif ($queryNama=='Stasiun 3')echo "<br><div align='left'> Anda telah memilih " ;echo "<b><font color='#009900' face='Verdana'size='2'>$queryNama</font></b></div><p>";include 'time_period_sta3.php';
132
elseif ($queryNama=='= Stasiun ==')echo "<br><div align='left'><font color='#FF0000'face='Verdana size='2'>Anda belum memilih stasiun!</font></div><p>";
?>
6.3.2 Listing program time_period_sta1.php<html><head><title> ISPU Realtime Monitoring System </title><link rel="stylesheet" href="themes_datepicker/le-frog/ui.all.css"type="text/css"><script src="js/jquery-1.3.2.js" type="text/javascript"></script><script src="js/ui.core.js" type="text/javascript"></script><script src="js/ui.datepicker.js" type="text/javascript"></script><script src="js/ui.datepicker-id.js"type="text/javascript"></script><script type="text/javascript">
$(document).ready(function()$("#tanggal1").datepicker(
dateFormat : "dd/mm/yy",changeMonth : "true",changeYear : "true"););
$(document).ready(function()$("#tanggal2").datepicker(
dateFormat : "dd/mm/yy",changeMonth : "true",changeYear : "true"););
</script></head>
<body style="font-size:70%";><center>Silahkan masukkan periode! <p><form method=post action=result_sta1.php ><input type=text name=tanggal1 id="tanggal1"><input type=text name=tanggal2 id="tanggal2"><input type=submit value= Process></form></center></body></html>
6.3.3 Listing program result_sta1.php<div><center><?phpinclude "config/koneksi.php";$tanggal1 = $_POST['tanggal1'];$tanggal2 = $_POST['tanggal2'];$periode1 = $tanggal1;$periode2 = $tanggal2;
133
$tampil1 = mysql_query ("select * from dbstasiun1 where TanggalBETWEEN '$tanggal1' and '$tanggal2'");$hitung = mysql_num_rows ($tampil1);
$batas = 20;$halaman = $_GET['halaman'];if(empty($halaman))$posisi = 0;$halaman = 1;else$posisi = ($halaman-1) * $batas;$tampil = "SELECT * FROM dbstasiun1 LIMIT $posisi,$batas";$hasil = mysql_query($tampil);echo "Periode waktu pencarian dari tanggal ";echo "<font color='#009900'><b>$periode1</b></font> sampai <fontcolor='#009900'><b>$periode2</b></font>";echo "<table align=center><tr><th>No</th><th>Tanggal</th><th>Waktu</th><th>PM<sub>10</sub></th><th>SO<sub>2</sub></th><th>CO</th><th>O<sub>3</sub></th><th>NO<sub>2</sub></th></tr>";
$no = $posisi+1;while($data=mysql_fetch_array($hasil))echo "<tr><td><center>$no</center></td><td><center>$data[Tanggal]</center></td><td><center>$data[Waktu]</center></td><td><center>$data[Sensor1]</center></td><td><center>$data[Sensor2]</center></td><td><center>$data[Sensor3]</center></td><td><center>$data[Sensor4]</center></td><td><center>$data[Sensor5]</center></td></tr>";$no++;
echo "</table><br>";$tampil2 = mysql_query("SELECT * FROM dbstasiun1");$jmldata = mysql_num_rows($tampil2);$jmlhal = ceil($jmldata/$batas);echo "<div class=paging>";
if($halaman > 1)$prev=$halaman-1;echo "<span class=prevnext><a href=result_sta1.php?halaman=$prev>«Prev</a></span> ";elseecho "<span class=disabled>« Prev</span> ";
134
for($i=1;$i<=$jmlhal;$i++)if ($i != $halaman)echo " <a href=result_sta1.php?halaman=$i>$i</a> ";elseecho " <span class=current>$i</span> ";
if($halaman < $jmlhal)$next=$halaman+1;echo "<span class=prevnext><a href=result_sta1.php?halaman=$next>Next »</a></span>";elseecho "<span class=disabled>Next »</span>";echo "</div>";echo "<p align=center>Jumlah data : <b>$jmldata</b> unit</p>";?></center></div>
6.4 Menampilkan widget ISPU Hari Ini
Berikut penggalan skrip untuk menampilkan widget ISPU Hari Ini, skrip ini
terdapat dalam file template.php
<h2>ISPU Hari Ini</h2><ul id="listsidebar"><center><?php
include "resume_sta1.php";?></center><?php
echo "Keterangan :<br>";echo "<center><table><tr><td> 0 -50 </td><td><font color='#00CC00'><b>BAIK</b></font></td></tr>";echo "<tr><td> 51-100 </td><td><font color='#0099FF'><b>SEDANG</b></font></td></tr>";echo "<tr><td>101-200 </td><td><font color='#FFFF00'><b>TIDAK SEHAT</b></font></td></tr>";echo "<tr><td>201-300 </td><td><font color='#FF0000'><b>SANGAT TIDAKSEHAT</b></font></td></tr>";echo "<tr><td>301-500 </td><td><font color='#000000'><b>BERBAHAYA</b></font></td></tr></table></center>";echo "<i>Sumber : <br>Datalog ISPU Stasiun 1 (Bogor)";echo "<br>Data rekapitulasi diatas dimulai dari pukul 00.00 WIBsampai dengan waktu Anda mengakses website saat ini</i>";
?></ul>
135
Berikut skrip yang disertakan untuk menampilkan widget ISPU Hari Ini,
skrip ini terdapat dalam file resume_sta1.php.
<html><head><link rel="stylesheet" href="<?php echo "style2.css"?>"type="text/css" /></head><body>
<?phpinclude "config/koneksi.php";$today = date('d/m/Y');$sql = mysql_query("
SELECTMIN(Sensor1) as min_Sensor1,MAX(Sensor1) as max_Sensor1,ROUND(AVG(Sensor1),1) as avg_Sensor1,MIN(Sensor2) as min_Sensor2,MAX(Sensor2) as max_Sensor2,ROUND(AVG(Sensor2),1) as avg_Sensor2,MIN(Sensor3) as min_Sensor3,MAX(Sensor3) as max_Sensor3,ROUND(AVG(Sensor3),1) as avg_Sensor3,MIN(Sensor4) as min_Sensor4,MAX(Sensor4) as max_Sensor4,ROUND(AVG(Sensor4),1) as avg_Sensor4,MIN(Sensor5) as min_Sensor5,MAX(Sensor5) as max_Sensor5,ROUND(AVG(Sensor5),1) as avg_Sensor5
FROM dbstasiun1 WHERE Tanggal = '$today'") ordie(mysql_error());$row = mysql_fetch_array($sql) or die(mysql_error());echo "<table align=center>
<tr><th>Parameter</th><th>Min</th><th>Max</th><th>Avg</th></tr>";
echo "<tr><td><center><b>PM<sub>10</sub></b></center></td><td><center>$row[min_Sensor1]</center></td><td><center>$row[max_Sensor1]</center></td><td><center>$row[avg_Sensor1]</center></td></tr>";
echo "<tr><td><center><b>SO<sub>2</sub></b></center></td><td><center>$row[min_Sensor2]</center></td><td><center>$row[max_Sensor2]</center></td><td><center>$row[avg_Sensor2]</center></td></tr>";
echo "<tr><td><center><b>CO</b></center></td><td><center>$row[min_Sensor3]</center></td><td><center>$row[max_Sensor3]</center></td><td><center>$row[avg_Sensor3]</center></td></tr>";
136
echo "<tr><td><center><b>O<sub>3</sub></b></center></td><td><center>$row[min_Sensor4]</center></td><td><center>$row[max_Sensor4]</center></td><td><center>$row[avg_Sensor4]</center></td></tr>";
echo "<tr><td><center><b>NO<sub>2</sub></b></center></td><td><center>$row[min_Sensor5]</center></td><td><center>$row[max_Sensor5]</center></td><td><center>$row[avg_Sensor5]</center></td></tr>";
echo "</table>";?></body></html>
6.5 Menampilkan widget Sekilas Info
Berikut penggalan skrip untuk menampilkan widget Sekilas Info, skrip ini
terdapat dalam file template.php
<h2>Sekilas Info</h2><ul id="listticker"><?php
$sekilas=mysql_query("SELECT*FROM sekilasinfo ORDER BYid_sekilas DESC LIMIT 5");while($s=mysql_fetch_array($sekilas))echo"<li><span class='news-text'>$s[info]</span></li>";
?></ul>
6.6 Menampilkan widget Statistik User
Berikut penggalan skrip untuk menampilkan widget Statistik User, skrip ini
terdapat dalam file template.php
<h2>Statistik User</h2><ul id="listsidebar"><?php
$ip = $_SERVER['REMOTE_ADDR'];$tanggal = date("Ymd");$waktu = time();$s = mysql_query("SELECT * FROM statistik WHERE ip='$ip' ANDtanggal='$tanggal'");if(mysql_num_rows($s) == 0)mysql_query("INSERT INTO statistik(ip, tanggal, hits, online)VALUES('$ip','$tanggal','1','$waktu')");elsemysql_query("UPDATE statistik SET hits=hits+1, online='$waktu'WHERE ip='$ip' AND tanggal='$tanggal'");
137
$pengunjung = mysql_num_rows(mysql_query("SELECT * FROMstatistik WHERE tanggal='$tanggal' GROUP BY ip"));$totalpengunjung = mysql_result(mysql_query("SELECTCOUNT(hits) FROM statistik"), 0);$hits = mysql_fetch_assoc(mysql_query("SELECT SUM(hits) ashitstoday FROM statistik WHERE tanggal='$tanggal' GROUP BYtanggal"));$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 * FROMstatistik WHERE online > '$bataswaktu'"));$path = "counter/";$ext = ".png";$tothitsgbr = sprintf("%06d", $tothitsgbr);for ( $i = 0; $i <= 9; $i++ )$tothitsgbr = str_replace($i, "<img src='$path$i$ext'alt='$i'>", $tothitsgbr);
echo "<div align='center'><table><tr><td><b>Pengunjung Hari ini<td>:</td></b></td><td><center>$pengunjung</center></td></tr>
<tr><td><b>TotalPengunjung<td>:</td></b></td><td><center>$totalpengunjung</center></td></tr><tr><td><b>Hits hari ini<td>:</td></b></td><td><center>$hits[hitstoday]</center></td></tr><tr><td><b>TotalHits<td>:</td></b></td><td><center>$totalhits</center></td></tr>
<tr><td><b>Pengunjung Online<td>:</td></b></td><td><center>$pengunjungonline</center></td></tr>
</table></div>";?></ul>