UNIVERSITAS INDONESIA
PERANCANGAN SISTEM TERDISTRIBUSI UNTUK MONITORING TEMPERATURE MENGGUNAKAN DS1820 BERBASIS MICROPROCESSOR Tiny InterNet Interface (TINI) TBM 390
SKRIPSI
LINDRA SAHARA 0906602105
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM PROGRAM STUDI FISIKA DEPOK DESEMBER 2011
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
UNIVERSITAS INDONESIA
PERANCANGAN SISTEM TERDISTRIBUSI UNTUK MONITORING TEMPERATURE MENGGUNAKAN DS1820 BERBASIS MICROPROCESSOR Tiny InterNet Interface (TINI) TBM 390
SKRIPSI Diajukan sebagai salah satu syarat untuk memperoleh gelar Sarjana Strata Satu Fisika
LINDRA SAHARA 0906602105
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM PROGRAM STUDI FISIKA PEMINATAN FISIKA INTRUMENTASI DAN ELEKTRONIKA DEPOK DESEMBER 2011
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
'/
lr,,,'
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
II0Z Joqrne*a(I gz
rd
1aEEU.eI
UEBUEI
s0t 8099060 \rlilYIIYS VU{INIT
EptrsI WdN ?UI8N
:
'rrueq uulluap E€{G1t,tu
tnfn4prfft&rrlu
6f,Gs
qulel
d,notgp EurI ry*q .toqums Bnuros IrGp
;,
6ffiues u,{m e,f.re4 [Fuq qBIBps IE! Fq.t{S uu.rodrl
"t f '
_.';
I
i' . i:. .fq+
i
'4-
':"t SY.LITY'N.ISNTO
hTvvIYI.NEffd NVT{VTVII
LEMBAR PENGESAIIAN Laporan ini diajukan oleh Nama
LINDRA SAHARA
NPM
0906602105
Program Studi
Ekstensi
Judul
Perancangan Sistem Terdistribusi Untuk Monitoring
S
I
Instrumentasi
Mengunakan DS I 820 Berbasis Microprocessor Tiny
InterNet Interface (TIM) TBM390
Telah berhasil dipertahankan
di
hadapan Dewan Penguji dan diterima
sebagai bagian persyaratan yang diperlukan
untuk memperoleh gelar
Sarjana pada Program Studi Instrumentasi f,'akultas Matematika dan Ilmu Pengetahuan Alam, Universitas Indonesia.
DEWAN PENGUJI
Dr. Sastra Kusuma Wrjaya
Pembimbing t;
Penguji
h
Dr. Santoso Sukirno
1 a
Penguji 2
Dr. Prawito
Ditetapkan di
Depok
Tanggal
23 Desember
, d-dg 20lI
ilt
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
)
HALAMAN PER}I"YATAAN PERSETUJUAN PUBLIKASI SKRIPSI UNTUK KEPENTINGAN AKADEMIS
Sebagai sivitas akademik Universitas Indonesia, saya yang bertanda tangan
dibawah ini
:
Nama
Lindra Sahara
NPM
090660210s
Program Studi Ekstensi Sl Instrumentasi Departemen
Fisika
Fakultas
Matematika dan Ilmu Pengetahuan Alam
Jenis Karya
Laporan Skripsi
demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada
Universitas Indonesia Hak Bebas Royalti Noneksklu sif ( Non-exclusive Royalty-Free Right ) atas karya ilmiah saya yang berjudul
:
Perancangan Sistem Terdistribusi Untuk Monitoring Temperature
Mengunakan DS1820 Berbasis Microprocessor Tiny InterNet Interface
(TrNI) TBM390
: beserta perangkat yang'ada
Noneksklusif
ini
fika
diperlukan). Dengan Hak Bebas Royalti
Universitas Indonesia berhak
menyimpan,
mengalihmiedia/formatkan, mengelola dalam bentuk pangkalan data (database), merawat dan memublikasikan skripsi saya selama tetap mencantumkan nama saya sebagai penulis/pencipta dan sebagai pemilik Hak Cipta.
Demikian pernyataan ini saya buat dengan sebenarnya. Dibuat
.
Pada
di
: Depok
tanggal : 23 Desember 2017
Yang rlrgnyatakan,
q,A\ ( Lindra
tnuru)
IV
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
KATA PENGANTAR
Dilembar yang singkat ini saya ingin mengucapkan “Terima Kasih” yang seluas-luasnya kepada Seluruh pihak yang ikut membantu saya hingga terselesainya penelitian dan laporan ini dengan berbagai cara yang bervariasi sehingga selesailah skripsi ini dengan judul Perancangan Sistem Terdistribusi Temperature Menggunakan DS1820 Berbasis Microcontroller Tiny InterNet Interface (TINI) TBM 390.
Tak lupa Saya ingin mengucapkan terima kasih kepada :
Dr. Santoso Sukirno selaku Ketua Departemen Fisika FMIPA-UI.
Prof. Dr. Terry Mart selaku Pembimbing Akademis..
Dr. Sastra Wijaya Kusuma selaku pembimbing Tugas Akhir Skripsi yang telah berkenan membimbing saya dalam penulisan skripsi selama 2 (dua) semester.
Banyak
arahan/petunjuk/bimbingan
dari
beliau
telah
menyadarkan saya akan pentingnya penguasaan teori serta metode dalam perancangan system terdistribusi.
Surya Dharma, M.Si. yang sangat berjasa memberikan pemikiran dan cara pandang dari berbagai konsep dalam microcontroller TINI berbasis java. Selama dua semester berinteraksi dengan beliau sangat membuka cakrawala saya. Lebih dari itu saran dari beliau sangat mendorong saya untuk belajar lebih giat lagi.
Sukarno, M.Si. yang sangat berjasa memberikan kontribusi untuk mengkoneksikan ke internet program yang saya buat sehingga dapat diakses kapanpun dan dimanapun.
Wildan Maulana yang telah membantu memberi gambaran dan cara mensetting path yang ada didalam computer agar bias mengkonversi format java ke dalam format tini.
Kedua Orang tua yang telah membesarkan dan mendidik saya. Saya mutlak berterima kasih kepada beliau berdua karena hanya dengan dukungan beliau berdualah saya dapat melanjutkan pendidikan saya v
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
hingga perguruan tinggi. Saya menyadari, tanpa beliau berdua, mustahil saya bisa menjadi sekarang. Begitu banyak pengorbanan yang beliau berikan kepada saya, dari kecil hingga dewasa. Pengorbanan serta kasih sayang yang tak terhitung dan tak terhingga banyaknya dan tidak lupa kepada adik saya terima kasih atas dukungannya. Kepada Ibu Asliyah Latif serta segenap keluarga besar – ucapan terima kasih juga wajib saya berikan karena berkat bantuannya saya masih tetap melanjutkan kuliah saya.
La Ode Husein Z.T atas kebersamaan dan hari-hari yang selama ini telah kita jalani untuk saling berdiskusi dan mengisi kekosongan waktu luang.
Rizki Mahmudah yang telah membantu mengkoreksi dan memperbaiki laporan skripsi ini.
Pak Katman berkat jasa beliau yang telah memperkenankan saya untuk melakukan penelitian di Lab Elektronika sehingga penelitian saya terlaksana dengan baik.
Pak Budi (kumis) berkat jasa beliau yang telah memperkenankan saya untuk melakukan penelitian di Lab Instrumentasi dan Kontrol sehingga penelitian saya terlaksana dengan baik.
Gustia Azka terus terang saya berhutang budi karena sumbangan pemikiran dan semangatnya dalam melihat serta memaknai berbagai persoalan dan menemukan solusinya sehingga mempengaruhi jalan pemikiran saya menjadi lebih baik.
Teman–teman ekspedisi Semangka atas kebersamaan dan motivasi dari kalian membuat saya menjadi semangat untuk terus menyelesaikan penelitian skripsi ini hingga akhir dan selesai.
Terakhir kepada karib kerabat dan pihak-pihak lain yang telah memberikan dukungan dan motivasi baik jasmani maupun rohani serta semangat yang luar biasa sehingga proyek ini dapat selesai. Terima Kasih untuk Segalanya.
vi
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
ABSTRAK
Pesatnya perkembangan dunia informasi yang pesat saat ini tidak terlepas dari peranan jaringan komputer. Semakin kompleks jaringan komputer menandai tingginya kebutuhan berkomunikasi sehingga dilakukanlah sistem terdistribusi untuk mengurangi kerumitan masalah tersebut. Sistem instrumentasi terdistribusi terdapat sensor, hardware, TCP/IP protokol konverter, TCP/IP jaringan Ethernet, Database Server, Web/ApplicationServer dan PC Client. Sebagai bagian dari penelitian yang diusulkan, Tiny InterNet Interface (TINI, TBM390:Dallas Semiconductor) telah digunakan sebagai TCP / IP stack, dan java bahasa pemrograman sebagai alat perangkat lunak. Sebuah fitur yang didukung oleh Java, yang terutama relevan dengan sistem terdistribusi adalah applet nya. Applet adalah kelas java yang dapat didownload dari server web dan dapat dijalankan dalam konteks aplikasi seperti web browser atau applet viewer. Untuk melakukan sistem terditribusi monitoring temperatur, TINI diinstal sebagai TCP/IP stack dan dirancang untuk dapat berkomunikasi dengan OneWireDevice (OWD) melalui sebuah jaringan. Di sini kita akan membahas aspek perangkat keras dan perangkat lunak TINI dengan OWD untuk sistem ini.
Kata
kunci
:
TINI,
Sistem
Terdistribusi,
TCP/IP,
Java,
OneWireDevice, DS1820
vii
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
WebServer,
Name
: Lindra Sahara
Program Study : Physic of Intrumentation Title of Essay
: Design of Temperature Distributed System using DS1820 based Tiny Internet Interface (TINI) TBM 390 Microporceesor
ABSTRACT
The rapid development of rapid world of information today is inseparable from the role of computer networks. The more complex marks the high demand for computer networks so that was performed in a distributed system erkomunikasi to reduce the complexity of the problem. Sensors are distributed instrumentation systems, hardware, TCP / IP protocol converters, TCP / IP Ethernet network, Database Server, Web / ApplicationServer and PC Client.
As part of the
proposed research, Tiny Internet Interface (Tini, TBM390: Dallas Semiconductor) has been used as a TCP / IP stack, and the Java programming language as a tool of software. A feature supported by Java, which is particularly relevant to distributed systems is its applets. Applet is a java class that can be downloaded from the web server and can be run in the context of applications such as web browser or applet viewer it.
To perform temperature monitoring system
terditribusi, Tini installed as TCP / IP stack and is designed to be able to communicate with OneWireDevice (OWD) through a network. Here we will discuss aspects of the device and software Eras Tini by OWD for this system.
Key Word : TINI, Distributed System, TCP/IP, Java, WebServer OneWireDevice, DS1820
viii
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
DAFTAR ISI
Halaman HALAMAN JUDUL……………………………………………………………….i HALAMAN PERNYATAAN ORSINALITAS …………………………………..ii HALAMAN PENGESAHAN…………………………………………………….iii KATA PENGANTAR ……………………………………………………………iv HALAMAN PERSETUJUAN PUBLIKASI ILMIAH…………………………...vi ABSTRAK ……………………………………………………………………….vii ABSTRACT…………………………………………………………………......viii DAFTAR ISI ……………………………………………………………………ix DAFTAR TABEL .……………………………………………………………….xi DAFTAR GAMBAR …………………………………………………………….xii BAB 1 PENDAHULUAN ………………………………………………………..1 1.1 Latar Belakang ……………………………………………………………1 1.2 Pembatasan Masalah .……………………………………………………...2 1.3 Tujuan Penelitian ………………………………………………………….2 1.4 Metodologi Pendekatan ..…………………………………………………2 1.5 Sistematika Penulisan ………………………………………………..……4 BAB 2 TINJAUAN PUSTAKA ..………………………………………………..6 2.1 Temperatur ……………………………………………………………..6 2.2 Sistem Terdistribusi ……..………………………………………………7 2.3 Transmission Control Protocol / Internet Protocol..……………………10 2.4 Tiny InterNet Interface Board Module 390 (TBM 390) ……………….12 2.5 JAVA……………………………………………………………………15 BAB 3 PERANCANGAN ALAT ..…………………………………………… 18 3.1 Perangkat Keras………………………………………………………. 19 3.1.1 Koneksi TINI dengan PC …………………………………………..19 3.1.2 Koneksi TINI dengan Sensor ………………………………………20 3.1.3 Koneksi TINI dengan Router ………………………………………22 3.2 Perangkat Lunak ………………………………………………………23
ix
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
3.2.1 Perancangan koneksi Java dengan TINI……………………………24 3.2.2 Perancangan TINI Web Server dengan Java …………………….…25 3.2.3 Perancangan TINI Sebagai Server …………………………………29 3.2.4 Perancangan Proses Penyimpanan Data……………………………31 BAB 4 PENGUJIAN ANALISIS HASIL PENELITIAN ……………………33 4.1 Pengkalibrasian Sensor DS1820 ……………………………………...33 4.2 Penggunaan TINI sebagai Web Server …………………………………36 4.3 Model Perancangan Monitoring Temperatur berbasis Web ……………39 4.4 Analisa Pengembangan dan Kemampuan TINI sebagai Web Server …..40 4.5 Analisa Data Hasil Percobaan …………………………………………..41 4.5.1 Analisa Grafik Hasil Percobaan ………………………………….41 4.5.2 Analisa Grafik Hasil Perhitungan ………………………………...44 4.6. Analisa Sistem Terdistribusi ……………………………………………46 4.6.1 Analisa TINI Web Server sebagai Monitoring Temperatur ……...46 4.6.2 Analisa Tools yang digunakan ……………………………………48 4.6.3 Analisa Identifikasi Manajemen Jaringan ………………………...48 4.6.4 Analisa Tampilan Data Monitoring ke Web Browser…………….50 4.6.5 Analisa Desain Sistem Monitoring TINI Web Server ……………50 BAB 5 PENUTUP …………………………………………………………….. 53 5.1 Kesimpulan ………………………………………………………………53 5.2 Saran ……….……………………………………………………………53 DAFTAR ACUAN ………………………………………………………………54 LAMPIRAN
x
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
DAFTAR TABEL
Halaman Tabel 3.1 Format Penyimpanan Data di MySQL ………………………………..32 Tabel 4.1 Tabel 4.1 Analisa Monitoring Temperatur Berbasis Web ……………39
xi
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
DAFTAR GAMBAR
Halaman Gambar 1.1 Skematik Perancangan Alat ….………………………………………3 Gambar 2.1 Contoh Sistem Terdistribusi ………………………………………….7 Gambar 2.2 Protokol TCP/IP …………………………………………………..13 Gambar 2.3 TINI 390 …………………………………………………………….13 Gambar 2.4 Java Platform ……………………………………………………….16 Gambar 3.1 Diagram Alir Sistem Terdistribusi Monitoring Temperature ……....13 Gambar 3.2 Koneksi TINI dengan PC …………..………………………………15 Gambar 3.3 Koneksi TINI dengan Sensor DS1820 …….………………………16 Gambar 3.4 Desain Rangkaian Koneksi Sensor Dengan TINI …………………17 Gambar 3.5 Koneksi TINI dengan Router …………………………….…………18 Gambar 3.6 JavaKit ………………………………………………………………19 Gambar 3.7 TINI Web Server Cisco Fisika UI …………………………………..20 Gambar 3.8 TINI Web Server di Teras Rumah…………………………………..21 Gambar 3.9 FileZilla ……………………………………………………………..21 Gambar 3.10 Bagian Client ………………………………………………………22 Gambar 3.11 Bagian Protokol ……………………………………………………23 Gambar 3.12 Bagian Server ……………………………………………………..24 Gambar 3.13 Diagram Alir Web Browser ……………………………………….25 Gambar 3.14 Menentukan Jumlah Field yang dibutuhkan ………………………31 Gambar 3.15 Tabel Isian Database MySQL ……………………………………..32 Gambar 4.1 Hasil Kalibrasi sensor DS1820 (1) ………………………………….27 Gambar 4.2 Hasil Kalibrasi sensor DS1820 (2) ………………………………… 27 Gambar 4.3 Pengaman TINI Web Server.………………………………………..29 Gambar 4.4 TINI Web Server Untuk Pemantauan Temperatur ………………….30 Gambar 4.5 Diagram Alir Pengembangan TINI …………………………………33 Gambar 4.6 Hasil plot Temperature Web Server ………………………………...34 Gambar 4.7 Tampilan Database pada Porgram MySQL…………………………35 Gambar 4.8 Tampilan Database Data yang telah disimpan ……………………..36
xii
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
Gambar 4.9 Plot Temperatur di Ruang Server Cisco FMIPA……………………37 Gambar 4.10 Plot Temperatur di Rumah ………………………………………38 Gambar 4.11 Sistem Terdistribusi Untuk Monitoring Temperatur ………………40 Gambar 4.12 Blok Diagram proses Monitoring Temperatur …………………….43 Gambar 4.13 Struktur Sistem Terdistribusi TINI Web Server …………………..44
xiii
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
BAB 1 PENDAHULUAN
1.1
Latar Belakang Pemantauan temperatur dari dua ataupun lebih tempat dirasa menjadi
kendala bagi banyak instansi. Banyak cara yang telah digunakan mulai dari sistem manual dengan pencatatan temperatur dari tempat yang satu dengan yang lain, sampai dengan sistem pencatatan otomatis dengan digunakannya sensor suhu. Setelah didapatkan data suhu tersebut, permasalahan berikutnya yaitu cara mengakses data dari beberapa tempat yang berbeda tersebut dalam satu waktu yang sama dengan lokasi yang jauh dari tempat pengamatan serta berbeda satu dengan yang lain. Karenanya dalam hal ini dibutuhkan aplikasi jaringan internet yang dapat memfasilitasinya. Perkembangan dunia informasi yang sudah sangat pesat seperti sekarang ini memungkinkan dilakukannya sistem pemantauan dari lokasi yang jauh dari tempat pengamatan serta berbeda satu dengan yang lain. Salah satu caranya yaitu dengan aplikasi sistem terdistribusi. Salah satu keuntungan dari sistem ini yaitu dapat dilakukannya sharing data. Beberapa tempat yang berbeda dapat saling terhubung satu dengan yang lainnya melalui sebuah network, sehingga tempat yang satu dapat mengakses sumber daya (resource) yang berupa data temperatur dan menggunakan data tersebut di tempat yang lain. Selain itu dengan digunakannya sistem ini, performa dari proses pengiriman data dapat lebih optimal. Bila tidak ada sistem terdistribusi maka proses pengiriman data antar komputer menjadi lambat karena mengalami antrian dan terjadi collision yang terkadang menyebabkan data tersebut tidak sampai ke tujuannya. Fungsi alat-alat instrumentasi saat ini tidak hanya terbatas pada pengukuran yang dapat dimonitor di tempat itu saja. Pada penelitian dibidang jaringan komputer sangat terbantu dengan perkembangan teknologi internet yang semakin pesat.
1
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
2
Sebagai salah satu aplikasi teknologi penelitian dibidang jaringan komputer, pada skripsi ini dibuat “Perancangan Sistem Terdistribusi Untuk Monitoring Temperatur menggunakan DS1820 berbasis mikrokontroller Tiny InterNet Interface” dengan maksud mempermudah memonitor data temperatur dalam bidang jaringan komputer sehingga dapat diakses dimanapun secara bersamaan.
1.2
Pembatasan Penelitian Dalam
penelitian
ini,
sebagai
pembatasan
masalah
adalah
berfungsinya TINI sebagai WebServer pada perancangan sistem terdistribusi temperatur melalui jaringan internet. Nilai temperatur dihasilkan oleh sensor DS1820. Hasil pembacaan sensor tersebut diimplementasikan untuk memonitor temperatur disebuah lokasi dan hasil pembacaan dapat dlihat pada web browser.
1.3
Tujuan Penelitian Tujuan dari penelitian ini adalah : 1. Memahami, mengetahui, mempelajari cara kerja sistem terdistribusi temperatur dengan menggunakan TINI. 2. Mempelajari sistem terdistribusi temperatur dengan melalui internet. 3. Mengimplementasikan program TINI Web Server sehingga diperoleh data statistik temperatur.
1.4
Metodologi Penelitian Metode penelitian yang dilakukan terdiri atas tiga tahap utama, antara lain : 1. Studi peralatan Studi Peralatan digunakan penulis untuk mempelajari karakteristik dan spesifikasi alat yang akan digunakan dalam pembuatan sistem terdistribusi temperatur sehingga penulis mendapatkan pembelajaran yang tepat tentang alat yang akan dipakai tersebut dan diperoleh teoriteori dasar sebagai sumber penulisan skripsi.
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
3
2. Studi Literatur Studi kepustakaan dilakukan untuk memperoleh informasi dan pustaka yang berkaitan dengan masalah ini diperoleh dari literatur, penjelasan yang diberikan dosen pembimbing, rekan-rekan mahasiswa, internet dan bukubuku yang berkaitan dengan penelitian. 3. Penelitian Laboratorium Penelitian laboratorium dilakukan untuk merakit, membuat alat dan meneliti kerja alat yang telah dirancang dengan aplikasi program yang telah didesain. Penelitian yang dilakukan memiliki tahap-tahap pelaksanaan, pembuatan, dan penganalisaan, antara lain meliputi : 1. Diskusi Diskusi yang dilakukan adalah diskusi dengan seluruh pembimbing penelitian, serta mahasiswa dan alumni yang kompeten dibidang tertentu yang berkaitan dengan penelitian sehingga dapat terpecahkan masalah saat berlangsungnya penelitian dan pembuatan program. 2. Studi Literatur Untuk memperoleh data mengenai cara kerja alat dan spesifikasi alat yang digunakan beserta landasan teori dalam penelitian. Sumber media yang mendukung adalah buku-buku acuan, jurnal-jurnal, artikel-artikel, serta informasi yang diperoleh dari internet 3. Perancangan Alat Perancangan alat pada pada penelitian ini terdiri dari DS1820 sebagai sensor temperatur, TINI TBM390, dan sebuah PC. Adapun software yang digunakan adalah JAVA. Perancangan alat disusun sebagai berikut :
Sensor Temp 1820
TINI TBM 390
JAVA + PC
Gambar 1.1 Skematik Perancangan Alat
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
4
4. Pembuatan ALat Alat yang akan digunakan pada saat penelitian dibuat dan disiapkan berdasarkan perancangan yang telah diperoleh pada tahap sebelumnya. 5. Pembuatan Sistem Pemrograman Sistem pemrograman dibuat untuk memonitor data temperatur dengan menggunakan bahasa pemrograman JAVA. Pembacaan temperatur terdistribusi dilakukan oleh TINI TBM 390. 6. Pengujian Sistem Pengujian sistem dilakukan dengan tujuan untuk memastikan bahwa alat yang dipakai pada saat penelitian dapat berkerja dengan baik sesuai dengan fungsinya sehingga tidak menimbulkan permasalahan pada saat dilakukan pengambilan data. 7. Pengambilan Data Pengujian sistem dilakukan dengan tujuan untuk memastikan bahwa alat yang dipakai pada saat penelitian dapat berkerja dengan baik sesuai dengan fungsinya sehingga tidak menimbulkan permasalahan pada saat dilakukan pengambilan data. 8. Pembuatan Laporan Akhir Laporan akhir yang dibuat berdasarkan pada hasil monitoring temperatur yang dapat ditampilkan oleh TINI Web Server 9. Kesimpulan Kesimpulan secara keseluruhan yang merupakan tahap akhir dari penelitian ini diambil setelah pembuatan laporan akhir selesai beserta hasil analisa
1.5
Sistematika Penulisan Sistematika penulisan skripsi terdiri atas lima bab yang secara garis besar
dapat diuraikan sebagai berikut :
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
5
1. Bab 1 Pendahuluan Pendahuluan berisi latar belakang, tujuan penelitian, deskripsi singkat, pembatasan masalah, metode penulisan dan sistematika penulisan dari tugas akhir ini. 2. Bab 2 Tinjauan Pustaka Teori dasar berisi landasan-landasan teori sebagai hasil dari studi literatur yang berhubungan dalam perancangan dan pembuatan alat. 3. Bab 3 Perancangan Sistem Bab ini membahas penggunaan perangkat lunak dan perangkat keras yang mendukung aplikasi JAVA pada perancangan sistem terdistribusi temperatur berbasis TINI TBM390. 4. Bab 4 Pengujian dan Analisis Hasil Penlitian Sistem yang telah dirancang kemudian diuji dengan parameter-parameter yang terkait. Pengujian ini meliputi pengujian software dan hardware dilakukan secara simultan. Di samping pengujian, proses pengambilan data kerja sistem ini juga dituliskan di bab ini untuk memastikan kemampuan sistem secara keseluruhan. Dari hasil ini dapat dilakukan analisa terhadap kerja sistem, sehingga dapat diketahui apa yang menjadi penyebab dari kendala dari sistem yang dibangun. 5. Bab 5 Pentutup Penutup berisi kesimpulan yang diperoleh dari pengujian sistem dan pengambilan data selama penelitian berlangsung, selain itu juga penutup memuat saran untuk pengembangan lebih lanjut dari penelitian ini.
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
BAB 2 TINJAUAN PUSTAKA
2.1.
Temperatur Temperatur merupakan keadaan panas atau dinginnya suatu sistem pada
suatu kondisi tertentu[1]. Sedangkan sistem sendiri merupakan suatu kondisi terisolasi yang dibuat dengan keadaan tertentu, dan lingkungan merupakan kondisi di luar sistem. Prinsip dasar dari temperatur terdapat pada hukum-hukum termodinamika sebagai berikut[2]. Hukum termodinamika ke 0 menyatakan bahwa dua sistem dalam keadaan setimbang dengan sistem ketiga, maka ketiganya dalam saling setimbang satu dengan lainnya. Hukum termodinamika ke 1 terkait dengan kekekalan energi. Hukum ini menyatakan perubahan energi dalam dari suatu sistem termodinamika tertutup sama dengan total dari jumlah energi kalor yang disuplai ke dalam sistem dan kerja yang dilakukan terhadap sistem. Hukum termodinamika ke 2 terkait dengan entropi. Hukum ini menyatakan bahwa total entropi dari suatu sistem termodinamika terisolasi cenderung untuk meningkat seiring dengan meningkatnya waktu, mendekati nilai maksimumnya. Hukum termodinamika ke 3 terkait dengan temperatur nol absolut. Hukum ini menyatakan bahwa pada saat suatu sistem mencapai temperatur nol absolut, semua proses akan berhenti dan entropi sistem akan mendekati nilai minimum. Hukum ini juga menyatakan bahwa entropi benda berstruktur kristal sempurna pada temperatur nol absolut bernilai nol. Beberapa faktor fisis juga diketahui dapat berpengaruh pada kondisi temperature suatu sistem. Contoh, adanya perubahan tekanan (hydrostatic pressure) dan volume suatu sistem gas ideal. Semakin tinggi volume ataupun tekanan pada suatu sistem akan membuat temperatur semakin meningkat begitu juga sebaliknya, seperti pada Hukum Gas Ideal berikut,
6
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
7
PV = n R T
(1)
dengan : P : Tekanan hidrostatik (Pascal) V : Volume (m3) n : Mol zat atau gas R : Konstanta gas ideal (8,314 x 103 J kmole-1 K-1) T : Temperatur (K) Seiring dengan perkembangan teknologi, alat ukur temperatur pun mulai mengalami perkembangan mulai dari yang konvensional dengan pengukuran manual menggunakna termometer raksa sampai dengan sistem elektronik dengan ditemukannya sensor suhu seperti DS1820.
2.2.
Sistem Terdistribusi Sistem Terdistibusi merupakan sekumpulan otonom yang terhubung ke
jaringan, dimana bagi pengguna sistem terlihat seperti satu komputer. Sedangkan otonomi sendiri memungkinkan komputer dapat berjalan walaupun komputer tidak terhubung ke jaringan[3]. Jaringan pembentuk didalam sistem terdistribusi dibangun dari berbagai macam media transmisi seperti transmisi kabel, transmisi fiber optik, maupun jaringan yang menggunakan sistem wireless termasuk didalamnya bagian hardware seperti router, switch, hub, repeater dan network interface lainnya dan bagian software seperti protokol stack, pengatur komunikasi dan driver [4]. Karakteristik sistem terdistribusi adalah sebagai berikut: 1. Concurrency of components. Pengaksesan suatu komponen/sumber daya (segala hal yang dapat digunakan bersama dalam jaringan komputer, meliputi H/W dan S/W) secara bersamaan. Contoh: Beberapa pemakai browser mengakses halaman web secara bersamaan.
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
8
2. No global clock. Hal ini menyebabkan kesulitan dalam menyelaraskan waktu seluruh
komputer/perangkat
yang
terlibat.
Dapat
berpengaruh
pada
pengiriman pesan/data, seperti saat beberapa proses berebut ingin masuk ke critical session. 3. Independent failures of components. Setiap komponen/perangkat dapat mengalami kegagalan namun komponen/perangkat lain tetap berjalan dengan baik.
Gambar 2.1 Contoh Sistem Terdistribusi
Dalam Sistem terdistribusi diketahui beberapa komputer otonom yang bersifat transparent dan memiliki karakteristik sebagai berikut[5] :
Pengguna dapat mengakses suatu sumber daya dan digunakan secara bersama dalam jaringan komputer
Sistem terdistribusi tidak mampu menyelaraskan waktu seluruh komputer atau perangkat lain yang terlibat sehingga mempengaruhi proses pengiriman data.
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
9
Setiap komponen atau perangkat lain yang mengalami kegagalan dalam sistemnya tidak akan mempengaruhi komponen atau perangkat lain sehingga masih tetap berjalan dengan baik.
Sistem jaringan komputer seperti client/server, host/terminal dan data gathering/data processing memiliki kemampuan fungsi yang berbeda-beda sehingga perlu dibuat sistem terdistribusi dengan alasan sebagai berikut[6] :
Sumber daya pada masing-masing komputer atau perangkat lainnya yang terhubung dalam sebuah network dapat saling mengakses, melakukan sharing data dan menggunakan sumber daya pada komputer yang terhubung dengan network.
Sebuah network sering mengalami keterlambatan dalam melakukan proses pengiriman data karena banyaknya data yang lewat pada jaringan yang sama, dengan memanfaatkan sistem terdistribusi maka network tersebut akan dibagi menjadi sub-network sehingga mampu meningkatkan kecepatan pengiriman data.
Sistem terditribusi biasanya bersifat redundant network sehingga bila sebuah network mengalami kegagalan, network lain akan mengambil alih fungsi data tersebut sehingga data yang ada tetap dapat dikirimkan.
Untuk menghasilkan sistem yang baik, perkembangan sistem terdistribusi menemukan beberapa tantangan yang harus dihadapi dan diselesaikan, diantaranya sebagai berikut[7] :
Sumber daya pada masing-masing komputer berada didalam perangkat yang berbeda (server, client)
Tidak ada dukungan tiap vendor pembuat komputer atau perangkat lainnya karena untuk bisa saling mengakses, perlu integrasi antara hardware dan software saat melakukan interfacing.
Sistem terdistribusi membuat setiap pengguna dapat mengakses secara bebas informasi yang ada didalam sebuah komputer atau perangkat lainnya sehingga harus diperketat keamanannya.
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
10
Sistem terdistribusi harus memiliki sistem pergantian fungsi sistem jika ada sistem yang mengalami kegagalan.
Sistem terdistribusi menjamin tiap pengguna untuk mengakses sumber daya yang sama, hal ini membuat kecepatan pengiriman data menjadi lambat dan sistem menjadi transparan.
Berdasarkan teori di atas, sistem terdistribusi lebih baik dibandingkan sistem jaringan komputer karena mampu menjamin kemudahan bagi pengguna untuk mengakses data. Sistem terdistribusi sangat berkaitan erat jaringan komputer, dua tipe jaringan komputer yang dipakai dalam sistem terdistribusi dijelaskan sebagai berikut [8]: Local Area Network (LAN). LAN didesain untuk area geografis yang kecil
1.
seperti rumah, gedung atau perkantoran karena pada umumnya jarak antar network berdekatan. LAN digunakan karena kecepatan komunikasnyai tinggi dan peluang terjadi kesalahan (error rate) rendah. LAN membutuhkan kabel berkualitas dan berkecepatan tinggi. Jenis kabel yang biasanya dipakai adalah twisted-pair dan fiber-optic. 2.
Wide Area Network (MAN). WAN didesain untuk area geografis yang luas seperti antar pulau, antar negara atau benua yang tersebar pada area geografis yang luas. Oleh karena itu, komunikasi berjalan relatif lambat dan reliabilitas tidak terjamin. Hubungan antara link yang satu dengan yang lain dalam jaringan diatur oleh communication processor.
2.3.
Transmission Control Protocol / Internet Protocol TCP/IP diartikan sebagai apa saja atau segala sesuatu yang berhubungan
dengan protokol khusus dari TCP dan IP. TCP/IP dapat termasuk protokol lain, aplikasi dan medium antara network yang sama. Contoh dari protocol ini adalah UDP, ARP, dan ICMP. Contoh dari beberapa aplikasi adalah TELNET, FTP dan HTTP. Sebuah istilah yang lebih cocok disebut “Internet Technology” yang biasa disebut dengan panggilan “Internet“.
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
11
Jadi kata yang diikuti TCP/IP dinamakan setelah 2 protokol yang digunakan dalam internet protocol telah diset yaitu : TCP
: Transmission Control Protocol
IP
: Internet Protocol TCP/IP adalah dasar bahasa komunikasi dari internet. TCP/IP tidak terikat
oleh layar OSI Reference Model. Dalam OSI session dan presentasi layer diencapsulasi menjadi Aplikasi layer pada model TCP/IP. Tiap layer memberikan informasi kepada layer diatasnya atau dibawahnya tanpa memodifikasi isi dari layer sebelumnya. Protokol internet biasanya disingkat manjadi IP (internet protocol) yang berada pada Network layer. IP dapat menghandle pergerakan paket disekitar network tetapi memberikan istilah unreliable atau tidak ada jaminan paket data akan sampai, connectionless datagram delivery service atau layanan dapat berfungsi tanpa harus dibuat koneksi paket terlebih dahulu. UDP
diketahui
sebagai
layanan
pengiriman
datagram
secara
connectionless. Ini berarti tidak menjamin bahwa paket akan sampai. Selain itu UDP tidak mampu mempertahankan paket hingga tujuan akhir dari koneksi dengan modul pengendali UDP, UDP terus menerus mendorong datagram keluar dari networknya dan menerima masukan datagram ke network lainnya. Hal ini berbeda jauh dengan TCP yang memberikan service lebih reliable dan dinamakan sebagai protokol “connection-oriented”. UDP menawarkan service kepada user aplikasi network. Contoh aplikasi network yang menggunakan UDP adalah Network File System (NFS) dan Simple Management Network Protocol (SNMP). TCP memberikan service lebih reliable daripada UDP. TCP menawarkan connection-oriented byte stream sehingga lebih aman daripada connectionless datagram delivery service seperti yang diberikan UDP. Pada akhir TCP dapat diandalkan dalam menjamin terkirimnya pesan atau benar-benar memberikan jaminan paket akan sampai atau memberi report jika paket tidak sampai. Dengan menggunakan UDP paket datagram yang dikirim keluar network dan makan UDP tidak ada jaminan terhadap paket tersebut untuk sampai tujuan.
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
12
Untuk melakukan komunikasi, berbagai vendor komputer memerlukan sebuah aturan baku yang standar dan disetejui berbagai pihak di seluruh dunia. Dalam dunia jaringan komputer dan telekomunikasi aturan baku yang standar diatur oleh ISO (International Standardization Organization)[9] . ISO kemudian membuat aturan baku yang dikenal dengan nama model referensi OSI (Open System Interconnection). Untuk mengatasi masalah ketidaksesuaian dalam sebuah jaringan, International Organization for Standarization (ISO) melaukan riset dalam beberapa pola jaringan seperti DECNET,SNA,dan TCP/IP untuk membuat sekumpulan peraturan. TCP/IP mengatur komunikasi data komputer di internet. Untuk dapat berkomunikasi dengan internet, komputer-komputer tersebut harus terhubung dengan protokol TCP/IP dan menggunakan bahasa yang sama perbedaan jenis computer dan system operasi tidak menjadi masalah. Jika sebuah komputer menggunakan protocol TCP/IP dan terhubung langsung ke internet maka komputer tersebut dapat berhubungan dengan komputer belahan dunia mana pun yang juga terhubung internet[10]. Protocol TCP berada pada lapisan transport model OSI, sedangkan IP address berada pada lapisan network model OSI. IP address diperlukan apabila ingin mendisain sebuah jaringan komputer yang terhubung ke internet. Penentuan IP address ini termasuk bagian terpenting dalam pengambilan keputusan mendesain netwok. IP address akan di tempatkan dalam header setiap paket data yang dikirim oleh komputer ke komputer lain,serta di gunakan untuk menentukan rute yang harus dilalui paket data. Protokol ini terdiri dari dua bagian besar, yaitu TCP dan IP. Ilustrasi pemrosesan data untuk dikirimkan dengan menggunakan protokol TCP/IP diberikan pada Gambar 2.2 di bawah ini :
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
13
Gambar 2.2 Protokol TCP/IP
2.4.
Tiny InterNet Interface Board Module 390 (TBM 390) TINI 390 merupakan mikrokontroler yang telah terintegrasi dengan
aplikasi internet yang memiliki MAC Ethernet dan mengaplikasikan bahasa pemrograman Java dengan firmware system embedded sehingga memberikan kemudahan penggunaan, berbasis standar Ethernet dan TCP / IP akses untuk system embedded [11].
Gambar 2.3 TINI 390
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
14
TINI memiliki platform mikrokontroller berbasis chipset dan dilengkapi dengan firmware yang keduanya dibuat oleh Dallas Semiconductor. Platform ini meliputi perangkat keras dan perangkat lunak dengan prototype yang canggih dan mampu berkerja dengan integrasi internet, melakukan pengukuran secara realtime dan melakukan sistem kontrol menggunakan bahasa pemrograman Java. TINI 390 merupakan mikrokontroler yang diproduksi oleh Dallas Semiconductor, yang memiliki kemampuan melakukan koneksi ke jaringan internet.
TINI
termasuk
kedalam
aplikasi
system
embedded
yang
perkembangannya sangat pesat. Mikrokontroler TINI digunakan sebagai aplikasi sistem yang berbasis web server. Mikrokontroler TINI TBM 390 digunakan sebagai implementasi sistem monitoring dan pengontrol dari berbagai macam sensor seperti sensor temperatur, kelembaban, pendeteksi bahan kimia. Proses monitor dan pengontrolan dapat dilakukan secara realtime melalui jaringan internet, serta mengaplikasikan sistem monitoring dengan berbasis website. Untuk mendukung aplikasi yang mampu terkoneksi dengan internet, TINI 390 dilengkapai dengan socket board, dimana socket board dilengkapi dengan perangkat yang dibutuhkan untuk melakukan koneksi dengan internet, namun aplikasi tersebut tidak dapat dilakukan tanpa adanya dukungan dari tiga komponen penting seperti : serial, ethernet dan power. Fungsi utama dari socket Board adalah memberikan koneksi fisik TINI untuk melakukan interfacing dengan peralatan lain seperti ethernet network, serial network dan 1-wire network. Socket board ditujukan untuk proses pengembangan dari TINI karena memiliki beberapa konektor fisik yang ada pada TINI diantaranya sebagai berikut :
Konektor 72 pin SODIMM merupakan yang menghubungkan antara TINI dengan socket board.
Konektor 9 pin female DB 9 adalah konektor DCE (Data Communication Equipment) dari port serial yang menerima pasangan standar koneksi dari PC.
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
15
Konektor 9 pin male DB 9 adalah konektor DTE (Data Terminal Equipment) dari port serial yang menerima pasangan standar koneksi dari modem.
RJ-45 adalah konektor yang merupakan standar dari 10Base-T yang digunakan untuk melakukan koneksi ke ethernet network.
RJ-11 adalah konektor yang merupakan standar dari kabel telepon yang digunakan untuk melakukan koneksi ke sensor.
Power Jack merupakan power supplai 5Volt yang dilengkapi dengan regulator untuk menjaga agar tegangan yang masuk ke TINI tidak melebihi 5Volt.
2.5.
JAVA Java ditemukan oleh James Gosling, Patrick Naughton, Chris Warth, Ed
Frank, and Mike Sheridan yang bekerja pada perusahaan Sun Microsystems pada tahun 1991. Mereka membutuhkan waktu 18 bulan untuk mengembangkan Java versi pertama. Awalnya bahasa pemrograman Java pertama kali bernama Oak, kemudian pada tahun 1995 berganti nama menjadi Java. Sebelum mengumumkan Java, antara tahun 1992 hingga tahun 1995 beberapa orang yang ikut melakukan kontribusi diantaranya Bill Joy, Arthur van Hoff, Jonathan Payne, Frank Yellin, and Tim Lindholm yang merupakan kunci utama sehingga terbentuk nama Java [12]. Awalnya
Sun
Microsystems
mengembangkan
sebuah
bahasa
permrograman yang berukuran kecil untuk mengimplementasikan pada alat elektronik rumah tangga seperti switch box TV kabel. Berhubung alat tersebut tidak memiliki banyak memori, maka bahasa yang digunakan harus sangat kecil dan menghasilkan kode yang sangat kecil pula. Permasalahan lainnya adalah alatalat tersebut memiliki CPU yang berbeda-beda karena dibuat oleh manufaktur yang berbeda. Jadi sangat diharuskan bahasa tersebut tidak terikat pada sebuah arsitektur mesin tertentu saja. Oleh karena adanya keharusan sebuah bahasa yang kecil, menghasilkan kode yang kecil pula dan harus platform yang independent (tidak terikat pada
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
16
platform) membuat tim proyek tersebut terinspirasi oleh ide pemrograman yang sama oleh Niklaus Wirth, penemu pascal. Jadi penemu pascal juga memiliki pemikiran yang portabel dan tidak tergantung pada sebuah platform atau mesin. Bahasa pemrogram komersil yang disebut UCSD pascal tersebut menghasilkan kode pemrograman intermediate yang diperuntukan pada sebuah mesin virtual. Jadi kode asli dari pemrograman tersebut tidak tergantung pada mesin atau platform sistem operasi karena UCSD Pascal menghasilkan kode intermediate yang selanjutnya akan dikompilasi atau diterjemahkan oleh mesin ke kode mesin dimana kode tersebut dijalankan. Prinsip yang sama juga diterapkan oleh tim Sun Microsystems, hanya saja pada mesin virtualnya disebut Java Virtual Machine (JVM). Akan tetapi karena kebanyakan berlatar belakang Unix, mereka membuat bahasa pemrograman tersebut menggunakan bahasa C++ bukan pascal. Jadi jika JVM ada, maka kode asli program dapat dijalankan pada mesin yang berbeda-beda dan platform sistem operasi yang berbeda. Pada awalnya pembuatan Java juga telah dirancang untuk memenuhi standar pemrograman yang menggunakan metode pemrograman berorientasi objek [13].
Gambar 2.4 Java Platform
Pada tahun 1990, perkembangan intenet sangat pesat. Namun pada saat itu juga browser juga masih jarang ditemui. Pada tahun 1994 kebanyakan orang menggunakan Mossaic yaitu sebuah browser nonkomersial yang dibuat oleh Marc Andreesssen pada tahun 1993 di supercomputer center universitas illonis. Pada pertengahan tahun 1994 para pengembang java menyadari mereka dapat saja membangun browser yang lebih fleksibel daripada yang lainnnya. Selanjutnya
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
17
dibuatlah HaotJava Browser yang dikerjakan oleh Patrick Naygtion dan Jonathan Payne. Tujuan utama dari pembuatan browers tidak lain adalah untuk mempromosikan bahasa Java dan memamerkan kekuatannya. Java juga memiliki kekuatan aplikasi yang disebut applet yang juga berhubungan dengan browser. Booming bahasa Java dimulai pada tahun 1995 ketika Netscape memutuskan untuk menggunakan Java pada web browsernya yaitu Netscape Navigator pada Januari 1996. Hal ini kemudian diikuti oleh raksasa- raksasa software seperti IBM, Symantec, Inprise, dan masih banyak lainnya termasuk micorsoft dengan internet explorernya. Sun sendiri merintis Java pertama kalinya pada awal tahun 1996, kemudian diikuti dengan versi 1.02 beberapa bulan kemudian para awalnya Java masih belum mampu memenuhi kebutuhan para pengembang untuk membangun sebuah software secara professional. Baru pada bulan Desember tahun 1998 muncul Java versi 1.2 yang dirilis pada bulan Desember dan beberapa hari kemudian namanya diganti dengan Java 2.
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
BAB 3 PERANCANGAN ALAT
Sistem monitoring temperatur berbasis Mikrokontoler TINI ini terdiri atas bagian berupa sistem perangkat keras (hardware) yang terdiri atas sensor temperatur DS1820 serta mikrokontroler TINI (dengan program Java), perangkat lunak (software) – interface berbasis website, serta sistem Akuisisi berbasis database MySQL (dilengkapi interface berbasis website). Dalam perancangan sistem terdistribusi untuk monitoring temperatur menggunakan sensor DS1820 sebagai penghasil temperatur, pengakuisisi data berupa Tini InterNet Interface (TINI), komputer untuk mengolah data dan menyimpan data yang dihasilkan oleh sensor. Berikut ini merupakan blok diagram sistem monitoring temperatur.
Gambar 3.1 Diagram Alir Sistem Terdistribusi Monitoring Temperature
18
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
19
3.1.
Perangkat Keras Perancangan perangkat keras sistem monitoring temperatur ini terdiri atas
TINI 390 (mikrokontroler berbasis internet dengan bahasa pemrograman Java), DS-1820, konektor RJ-11 untuk melakukan koneksi dengan sensor DS1820, dan konektor RJ-45 untuk koneksi dengan router. Berikut ini adalah penjelasan serta uraian mengenai perangkat keras sistem.
3.1.1. Koneksi TINI dengan PC Pada perancangan ini digunakan TINI sebagai webserver dan PC sebagai tempat mengolah data yang dihasilkan oleh sensor dan melakukan penyimpanan setelah didapatkan data dari sensor. Koneksi TINI ke PC ini dimaksudkan agar dapat melakukan interfacing dengan JavaKit sehingga mampu melakukan penyettingan ip address untuk TINI. Untuk melakukan koneksi dengan PC, TINI memerlukan program JavaKit. Oleh karena itu diperlukan kabel serial RS232 untuk menjalankan fungsi kerja tersebut. Dengan komunikasi serial, TINI dan PC dapat saling mengatur toleransi waktu saat menerima data. Fungsi ini diatur oleh UART (Universal Asynchronous Receiver Transmitter). Berdasarkan pembagian fungsinya RS232 memiliki dua konfigurasi. Berikut ini merupakan tipe serial yang ada pada RS232 [14]:
DCE (Data Communication Equipment)
DTE (Data Terminal Equipment)
Standar RS232 yang menjadikan titik akhir dari proses komunikasi disebut dengan Data Terminal Equipment (DTE) sebagai terminal akhir dari proses komunikasi serial, sedangkan yang menjadi titik awal dari proses komunikasi disebut dengan Data Communication Equipment (DCE) sebagai terminal awal. Yang termasuk kedalam perangkat DCE adalah modem sedangkan termasuk kedalam perangkat DTE adalah PC atau workstation.
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
20
Gambar 3.2 Koneksi TINI dengan PC
3.1.2. Koneksi TINI dengan Sensor Pada perancangan ini digunakan TINI sebagai webserver dan sensor DS1820 sebagai penghasil data temperatur dan mengirimkannya ke komputer. Koneksi TINI ke sensor ini dimaksudkan agar dapat melakukan interfacing dengan TINI sehingga mampu mengirimkan data melalui port 1-wire. Penggunaan sensor DS1820 dipilih karena sensor ini telah menghasilkan output sinyal digital sehingga tidak memerlukan tambahan ADC. TINI 390 telah dilengkapi dengan port 1-wire. Untuk melakukan koneksi antara sensor dengan TINI menggunakan metode 1-wire [15]. Dalam penelitian ini, sensor yang digunakan adalah DS1820 dengan spesifikasi :
Bersifat unik karena memiliki id yang tidak sama tiap perangkatnya.
Dapat untuk melakukan komuikasinya secara 1-wire (power, data dan clock) menjadi satu.
Bersifat multidrop sebagai aplikasi distribusi temperatur sederhana.
Tidak memerlukan tambahan komponen luar.
Memilki resolusi 9 bit.
Memiliki ketelitian 0.5ºC atau 1ºF. Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
21
Gambar 3.3 Koneksi TINI dengan Sensor DS1820
Perancangan sistem monitoring temperatur ini terdiri atas TINI 390 (mikrokontroler dengan berbasis bahasa pemrograman Java), 1-Wire, DS-1820 (sensor temperatur tipe digital), konektor RJ-11, dan konektor RJ-45. Berikut ini adalah penjelasan serta uraian mengenai perangkat keras sistem. Sensor temperatur yang digunakan pada penelitian ini berfungsi untuk mendeteksi atau merasakan temperatur lingkungannya. Jenis sensor yang digunakan adalah DS1820 yang mampu menghasilkan output digital dan proses mengirimkan informasi ke komputer yang secara fisik terhubung melalui port 1wire. Ketika melakukan desain perangkat keras suhu untuk koneksi TINI dengan sensor, perlu dilakukan desain tata letak sebelum mengalokasikan komponen agar mendapatkan gambaran dengan benar mengenai perancangan alat yang akan dibuat. Gambar 3.4 dibawah ini menunjukkan diagram rangkaian harus dirujuk untuk merakit temperatur untuk koneksi TINI dengan sensor. Dalam diagram ini, semua komponen memiliki fungsi tersendiri [16].
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
22
Gambar 3.4 Desain Rangkaian Koneksi Sensor Dengan TINI
3.1.3. Koneksi TINI dengan Router Pada perancangan ini digunakan TINI sebagai webserver dan router sebagai media TINI untuk melakukan koneksi dengan internet. Koneksi TINI dengan router ini dimaksudkan agar data yang dihasilkan oleh sensor dapat diakses oleh banyak user lain sesame pengguna jaringan internet dengan cara mengkases alamat yang ada pada TINI Web Server. Router adalah sebuah alat jaringan komputer yang mengirimkan paket data melalui sebuah jaringan atau Internet menuju tujuannya, melalui sebuah proses
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
23
yang dikenal sebagai routing. Proses routing terjadi pada lapisan 3 (Lapisan jaringan seperti Internet Protocol) dari stack protokol tujuh-lapis OSI. Router dapat menghubungkan dua atau lebih jaringan yang memiliki subnet berbeda atau network yang berbeda. Router juga berfungsi sebagai pengatur lalu lintas traffic jaringan memiliki tugas sangat fital dalam menentukan kondisi sebuah network. Router merupakan peningkatan kemampuan dari bridge dan switch. Router mampu menunjukkan rute/jalur (route) dan menyaring informasi pada jaringan yang berbeda. Beberapa router mampu secara otomatis mendeteksi masalah dan mengalihkan jalur informasi dari area yang bermasalah [17].
Gambar 3.5 Koneksi TINI dengan Router
3.2.
Perangkat Lunak Perancangan perangkat lunak sistem terdistribusi untuk monitoring
temperatur ini terdiri atas JavaKit, File Transfer Protokol dan TINI Web Server. Berikut ini adalah penjelasan serta uraian mengenai perangkat lunak sistem.
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
24
3.2.1. Perancangan koneksi Java dengan TINI Pada perancangan ini digunakan TINI sebagai mikrokontroller dan untuk melakukan komunikasi antara TINI dengan Java digunakanlah perangkat lunak yaitu JavaKit. JavaKit harus dijalankan di komputer host yang dapat berkomunikasi dengan TINI dengan menggunakan RS232 pada port serial yang ada pada TINI. Dengan JavaKit kita dapat mengkonfigurasi firware TINI seperti memberi dan mengganti ip address untuk TINI, mendownload dan menghapus program. Ketika JavaKit telah berhasil dibuka, menandakan bahwa Java telah terkoneksi dengan TINI [18]. Untuk memulai dan menjalankan JavaKit dapat dilakukan harus membuka command shell atau DOS prompt yang ada pada PC. JavaKit memerlukan firmware TINI sehingga perlu memindahkan firmware TINI yang telah download kedalam direrktori bin program Java. JavaKit adalah swing berbasis GUI sehingga harus jalankan menggunakan JDK dengan versi tidak boleh dibawah jdk 1.2 karena java dibawah versi tersebut tidak support GUI. Sebelum mulai menggunakan JavaKit yakinkan bahwa TINI telah terkoneksi dengan komputer host menggunakan kabel straight. JavaKit adalah sebuah aplikasi yang menggunakan port serial untuk berkomunikasi antara komputer dengan TINI. Dengan JavaKit kita dapat mengkonfigurasi firware TINI.
Gambar 3.6 JavaKit Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
25
3.2.2. Perancangan TINI Web Server dengan Java Hal penting yang harus dilakukan sebelum membuat program TINI Web Server adalah memastikan bahwa sinyal digital dari sensor DS1820 (data yang diukur) dari kedua lokasi berjalan secara bersamaan sehingga diperlukan mikrokontroller TINI yang memiliki spesifikasi mampu terkoneksi dengan internet. Pada perancangan program terdiri atas beberapa bagian utama yang membentuk satu kesatuan program Web Server berbasis mikrokontroller TINI. Gambar dibawah ini merupakan tampilan dari TINI Web Server yang mengimplementasikan data temperatur yang diamati pada dua tempat yang berbeda.
Gambar 3.7 TINI Web Server Cisco Fisika UI
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
26
Gambar 3.8 TINI Web Server di Teras Rumah
Pada perancangan ini digunakan TINI sebagai webserver dan melakukan komunikasi antara TINI dengan Java digunakanlah perangkat lunak yaitu File.
Gambar 3.9 FileZilla
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
27
Transfer Protocol. Untuk menjalankan program yang telah dibuat, program tersebut dahulu harus didownload ke dalam mikrokontroller, dengan ftp program yang ada pada komputer dapat ditransfer ke mikrokontroller TINI dengan mengisi ip address yang ada pada TINI, mengisi user name dan passswordnya TINI Program TINI Web Server terdiri atas beberapa sequence yang tersusun menjadi suatu kesatuan. Program ini terdiri atas tiga bagian terpenting untuk program TINI Web Servernya yaitu terdapatnya bagian client, bagian server dan protokol. Yang dimaksud dengan client berarti bagian yang meminta data dari server. Bagian client didalam penelitian ini ditujukan kepada laptop karena digunakan sebagai tempat menyimpan hasil data temperatur yang dihasilkan oleh sensor. Karena komputer berfungsi sebagai client maka hanya menunggu data dari server karena client tidak dapat mengirim data [19].
Gambar 3.10 Bagian Client
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
28
Protokol yang digunakan dalam jaringan komputer didefinisikan sebagai sekumpulan peraturan atau perjanjian yang menentukan format dan transimi data. Protokol terdiri dari tujuh layer dimana tiap layer memiliki peranan dan fungsi masing-masing. Dengan menggunakan protokol tiap layer disebuah komputer akan berkomunikasi dengan layer di komputer yang lain. Peraturan dan perjanjian yang di pergunakan dalam komunikasi ini sering di sebut dengan protokol layer.
Gambar 3.11 Bagian Protokol
Yang dimaksud dengan server berarti bagian yang merespon data dari client. Bagian server didalam penelitian ini ditujukan kepada TINI karena digunakan sebagai tempat merespon permintaan dari client. Karena TINI berfungsi sebagai server maka hanya menunggu request data dari client.
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
29
Gambar 3.12 Bagian Server
3.2.3. Perancangan TINI Sebagai Server Berdasarkan percobaan yang telah dilakukan fungsi dari sistem monitoring temperatur ini data harus ditampilkan oleh web browser agar data yang ada dapat dilihat oleh banyak user lain [20]. Selain dapat ditampilkan pada web browser data hasil temperatur tersebut juga harus disimpan agar didalam sebuah komputer yang dinamakan dengan komputer server. Dengan database maka data dari sensor temperatur sebelumnya disimpan dengan pengambilan waktu secara realtime sehingga secara otomatis user akan menyimpan data temperatur tersebut. Database akan mengupdate nilai temperatur setiap 1 menit dan terus melakukan update temperatur hingga komputer dimatikan, mikrokontroller TINI dimatikan atau sambungan internetnya putus. Dari penelitian ini web browser yang digunakan tidak terfokus pada satu saja tetapi dapat menggunakan web brwoser lain. Dengan adanya web browser ini maka sistem yang telah dibuat dapat sharing dengan beberapa user lain yang berada pada tempat yang berbeda dan dalam waktu yang bersamaan.
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
30
Dari penelitan yang telah dikerjakan, untuk mempermudah memahami proses diagram alir ini maka dibuatlah sebuah diagram alir seperti pada Gambar 3.12.
Gambar 3.13 Diagram Alir Web Browser
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
31
3.2.4. Perancangan Proses Penyimpanan Data Berdasarkan percobaan yang telah dilakukan, TINI berfungsi sebagai web server untuk sistem monitoring temperatur, data yang didapat melalui web browser akan disimpan dalam databse sehingga data yang ada tidak hilang. Database yang digunakan dalam penelitian ini menggunakan MySQL, ada beberapa hal yang perlu diperhatikan dalam melakukan proses penyimpanan diantaranya adalah menentukan jumlah kolom dan baris yang akan digunakan ketika ingin menyimpan data temperatur. Berikut ini adalah langkah-langkah yang digunakan ketika menentukan proses penyimpanan data kedalam database. Langkah pertama adalah menentukan nama dan jumlah field yang dibutuhkan.
Gambar 3.14 Menentukan Jumlah Field yang dibutuhkan
Sebelum membuat penyimpanan maka harus dibuat format penyimpanan datanya. Gambar 3.14 diatas terdapat sebuah kolom yang digunakan untuk mengisi nama file database yang akan dibuat dan menentukan parameter yang akanb diisi berupa nomor, perangkat TINI yang melakukan penyimpanan, temperatur, waktu dan tanggal penyimpanannya. Untuk membuka file database
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
32
yang telah dibuat dilakukan melalui web browser pada localhost. Setelah berhasil masuk kedalam localhost maka akan keluar tampilan sebagai berikut :
Gambar 3.15 Tabel Isian Database MySQL
Setelah membuat field penyimpanan data, langkah berikutnya adalah mengisi form yang ada pada MySQL. Untuk melakukan penyimpanan datanya yang ada pada Gambar 3.15 diatas harus mengetahui parameter yang dibutuhkan. Setelah tampil form penyimpanan tersebut pada kolom yang telah disediakan dengan format sebagai berikut:
Tabel 3.1 Format Penyimpanan Data di MySQL Field
Tipe
Panjang Data / Nilai
Nomor
Integer
11
TINI (pilihan)
Value
100
Temperatur
Float
4,2
Tanggal
Datetime
Datetime
Setelah melakukan dan memastikan bahwa data yang diisi telah sesuai dengan yang diharapkan maka tahap berikutnya adalah melakukan sinkronisasi antara database pada MySQL dengan program Java.
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
BAB 4 PENGUJIAN DAN ANALISIS HASIL PENELITIAN
Pada bab ini akan dijelaskan tentang pengukuran dan analisis hasil penelitian yang telah dilakukan. Pembahasan ini meliputi analisa dari sistem terdistribusi untuk memonitor temperatur yang dihasilkan oleh sensor DS1820 secara bersamaan pada lokasi yang berbeda yaitu di teras rumah dan diruang Server Cisco FMIPA UI kemudian data tersebut disimpan dan ditampilkan dalam grafik.
4.1.
Pengkalibrasian Sensor DS1820 Seperti sudah diketahui, sensor DS1820 dapat mendeteksi temperatur
lingkungan dan menghasilkan output sinyal digital sehingga hasil dari sinyal tersebut dikonversi oleh mikrokontroller TINI. Untuk itu, penulis mencoba mengkalibrasi sensor tersebut dengan membandingkan hasil pembacaan sensor dengan termometer. Pengkalibrasian diukur dengan mengukur nilai temperatur yang dihasilkan oleh sensor dengan cara dipanaskan. Untuk proses pengkalibrasian ini menggunakan standar pengukuran dari 0ºC-100ºC sehingga media yang tepat adalah menggunakan air yang dipanaskan hingga mencapai titik didihnya kemudian didinginkan hingga mencapai titik bekunya. Sebagai alat kalibratornya menggunakan termometer dengan skala 0ºC-100ºC, pemilihan skala ini ditujukan dengan alasan karena cocok dengan titik beku dan didih air. Pengkalibrasian ini bertujuan memberi jaminan bahwa data yang didapat layak untuk digunakan dalam proses pengukuran sehingga menjamin bahwa data yang nanti akan digunakan memiliki status valid. Data hasil pengukuran ini dapat dilihat pada lampiran 1. Data yang didapat dapat plot grafik nilai temperatur dari sensor dengan nilai temperatur dari termometer.
33
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
34
Pada grafik Gambar 4.1 terlihat hubungan antara pembacaan suhu dari sensor dengan thermometer. Untuk pengukuran temperatur yang dihasilkan oleh sensor pada sumbu y dan termometer pada sumbu x.
Kalibrasi DS1820 (1) 120 y = 0.990x + 0.404 R² = 0.999
100 80 60
Series1
40
Linear (Series1)
DS1820 (1)
20 0 0
50
100
150
Termometer
Gambar 4.1 Hasil Kalibrasi sensor DS1820 (1)
Kalibrasi DS1820 (2) 120
y = 0.991x + 0.355 R² = 0.999
100 80 60
Series1
40
Linear (Series1)
DS1820 (2)
20 0 0
50
100
150
Termometer
Gambar 4.2 Hasil Kalibrasi sensor DS1820 (2)
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
35
Dari grafik Gambar 4.1 dan Gambar 4.2 terlihat semakin besar panas yang diterima oleh termometer dan sensor maka pertambahan nilai termometer akan sebanding dengan pertambahan nilai sensornya sehingga membentuk hubungan garis linier antara termometer dan sensornya. Dari grafik diatas ketika termometer mampu membaca hingga nilai terkecil dari pengkuran sedangkan sensor memiliki keterbatasan pembacaan hasil pengukuran karena tidak dapat mencapai nol derajat. Setelah melakukan pengukuran dan menampilkan grafik hasil pengukuran, maka perlu diketahui error hasil pengukuran temperatur saat melakukan kalibarsi. Tujuan dari analisa error ini adalah untuk mengetahui tingkat ketelitian dari alat yang akan digunakan berdasarkan pengamatan manusia. Pengukuran ini menggunakan variable sumbu x sebagai hasil pembacaan temperatur dengan mengggunakan termometer sedangkan sumbu y sebagai hasil pembacaan temperatur dengan mengggunakan sensor DS1820. Dalam penelitian ini, untuk menghitung nilai error dari masing-masing hasil kalibrasi menggunakan persamaan sebagai berikut: n n n n xi y1 xi yi i 1 i 1 i 1
n 2 n 2 n x i xi i 1 i 1
(1)
n 2 n 2 n y i yi i 1 i 1
Dengan: e adalah nilai error yang dicari (%). Setelah melakukan perhitungan,didapatkan error untuk tiap hasil pengkalibrasian sensor, yaitu pada sensor pertama sebesar 0.037 % dan pada hasil pengkalibrasian sensor kedua sebesar 0.035%. Berdasarkan pengukuran dan pengambilan data temperatur dari kedua tempat yang berbeda rentan yang digunakan selama pengukuran antara 27ºC dan 32ºC.
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
36
4.2.
Penggunaan TINI sebagai Web Server Penelitian yang dilakukan menggunakan TINI sebagai Web Server untuk
melakukan pemantauan Suhu Berbasis internet yang memungkinkan pengguna dapat mengakses secara terus memantau kondisi temperatur pada ruangan dilokasi yang berbeda. Pada dasarnya istilah pemantauan (monitoring) mengandalkan kemampuan sensor yang dapat mengkonversi besaran fisis tertentu menjadi besaran digital dan digunakan dalam berbagai aplikasi, termasuk untuk pengukuran temperatur, tekanan, laju aliran, kapasitas, percepatan, dan sebagainya. Dalam penelitian yang dilakukan saat ini, sebagai batasan masalah pemantauan hanya dilakukan sebatas pada pengukuran temperatur. TINI digunakan sebagai web server yang berfungsi melakukan pembacaan nilai temperatur pada lokasi tertentu melalui jaringan internet yang mampu diakses oleh beberapa pengguna lainnya sehingga terjadi sistem terdistribusi berdasarkan jumlah sensor yang ada dan banyaknya data yang dapat diterima selama pemantauan. Dalam penelitian sistem terdistribusi yang telah dilakuan, terdapat beberapa permasalahan saat melakukan pemantauan temperatur pada lokasi yang berbeda. Permasalahan ini terdapat pada jaringan internet. Misalnya sensor DS1820 mendeteksi nilai temperatur ruangan sebesar 29ºC, tetapi karena permasahan server tiba-tiba mati atau mengalami gangguan maka akan menggangu pengukuran besarnya temperatur. Untuk mengatasi masalah ini peneliti menggunakan antisipasi dengan menggunakan UPS (uninterruptible power supply). Tujuan digunakan UPS ini agar ketika listrik didalam ruangan putus karena ada gangguan tertentu, maka TINI ssebagai Web Server tidak mengalami gangguan akibat gangguan listrik tersebut.
POWER SUPPLY
UPS
TINI Web Server
Gambar 4.3 Pengaman TINI Web Server
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
37
Pengoperasian TINI sebagai Web Server merupakan terobosan terbaru yang telah mengurangi kesulitan bagi pengguna untuk mengakses data dimanapun dan kapanpun. TINI Web Server merupakan solusi terbaik untuk menciptakan sebuah sistem terdistribusi. Untuk menambah keunggulannya maka TINI Web server dilengkapi dengan fasilitas penyimpanan data yang dihasilkan oleh sensor, data tersebut disimpan dengan mengatur jeda waktu tertentu agar proses penyimpanan menjadi teratur dan lebih tersetruktur. Sistem akan terus menerus melakukan penyimpanan temperatur sehingga sangat tepat bila diaplikasikan untuk pengukuran dan pemantauan dalam dunia indsutri otomotif, pendingin udara, power plant, pergudangan dan industri lainnya.
Gambar 4.4 TINI Web Server Untuk Pemantauan Temperatur
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
38
Berdasarkan Gambar 4.4 menjelaskan bahwa TINI Web Server menggunakan konsep sebagai mikrokontroller berbasis Web. Pada penelitian pemantauan temperatur ini sistem menerapkan prinsip sistem tracking suhu otomatis yang menyebabkan data temperatur dapat dipantau secara bersamaan dan dimanapin serta data temperatur dapat disimpan didalam server. Sistem ini menggunakan sensor temperatur jenis iButton yang dapat memonitor temperatur dalam lingkungan berskala besar, tapi suhu hanya dapat dipantau melalui jaringan LAN, dan dapat diakses melalui Internet dengan sistem pemantauan temperatur berbasis web. Penelitian ini bertujuan untuk mengotomatisasi pemantauan suhu di pada lokasi ruang Server Cisco FMIPA UI dan di rumah. Data temperatur dapat diakses dari tempat sensor berada dengan menggunakan web browser yang terhubung ke router melalui Local Area Network (LAN) dan hasil pembacaan dapat dilihat oleh client dengan menggunakan perangkat wireless. Penelitian ini menyediakan perangkat lunak yang digunakan untuk memonitor temperatur pada lokasi ruang Cisco FMIPA UI dan dirumah sensor temperatur jenis iButton membuat sistem semakin sederhana dan untuk menjalankan fungsi sensor tersebut memerlukan mikrokontroller Tiny InterNet Interface. Sebagai mikrokontroler TINI dan iButton merupakan perangkat keras yang memiliki fungsi utama dalam sistem terdistribusi untuk pemantauan temperatur, namun kemampuan pemrosesan TIN memiliki keterbatasan terutama dalam memori penyimpanan datanya. Untuk mendapatkan kinerja yang lebih baik dan skalabilitas yang baik maka ada hal penting yang harus diperhatikan yaitu memindahkan beban pengolahan dari TINI ke mesin server aplikasi (komputer server) sehingga dengan mudah dapat menangani beban pengolahan data TINI untuk jumlah perangkat yang banyak. Dari Gambar 4.4 diatas mengakibatkan adanya efisiensi perangkat dan menghemat pengeluaran karena sistem penelitian ini menerapkan prisnsip harga biaya (low cost) sebagai aplikasi temperatur web server tanpa mengorbankan fungsionalitas.
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
39
4.3.
Model Perancangan Monitoring Temperatur berbasis Web Model sistem terdistribusi untuk monitoring temperatur berbasis web tidak
terlepas dari proses penyimpanan data temperatur yang telah dimonitor pada lokasi server Cisco FMIPA UI dan dirumah. Proses menyimpan data temperatur dilakukan didalam database menggunakan MySQL. Dalam penelitian ini sistem akan terus memantau kondisi suhu ruangan dan data dapat dipantau kapan saja dan dimana saja dari Internet. Tujuan dari perancangan model sistem seperti ini merupakan proses untuk menghubungkan sensor temperatur ke komputer dengan lokasi yang berbeda. Data yang ada diambil dan disimpan kedalam database MySQL. Dari perancangan data monitoring temperatur berbasis web ini informasi beruapa temperatur saat ini harus dapat memberi kemudahan bagi pengguna untuk mengakses data tersebut. Perancangan sistem terdistribusi untuk monitoring temperatur berbasis web dijelaskan pada Tabel 4.1 dibawah ini :
Tabel 4.1 Analisa Monitoring Temperatur Berbasis Web Deskrispi Pekerjaan
Web berbasis monitoring temperatur
Konsep
Monitoring Temperatur ruangan dan menyimpan data temperatur didalam web server
Perangkat
Tiny InterNet Interface (TINI) 390
Software
Java Development Kit JavaKit NetBeans JqPlot Symfoni MySQL
Tabel diatas merupakan gambaran singkat dari analisa perancangan model monitoring temperatur yang telah dikerjakan. Konsep diatas dikerjakan oleh mikrokontroller TINI karena kemampuannya dalam aplikasi internet dan didukung oleh berbagai macam software sehingga menjadi sistem terdistribusi.
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
40
4.4
Analisa Pengembangan dan Kemampuan TINI sebagai Web Server Analisa ini penting untuk mendapatkan ide-ide tentang bagaimana
mengembangkan proyek di tahap berikutnya. Pengembangan ini ditujukan untuk TINI dan pengembangan perangkat lunaknya karena untuk sensornya merupakan buatan pabrik sehigga tidak terlalu dibahas perkembangannya. Dalam analisa ini memiliki prototipe pengembangan yaitu hardware development dan software development. Kedua perangkat pengembangan ini harus terintegrasi dengan baik karena penggunaan TINI sebagai web server akan berlangsung lama (tanpa off). Untuk lebih jelas mengenai detail dari prototipe pengembangan dari TINI dapat dilihat pada Gambar 4.5 dibawah ini :
Gambar 4.5 Diagram Alir Pengembangan TINI
Dari Gambar 4.5 diatas, teknik pengembangan dibagi menjadi 3 bagian utama yaitu pengembangan perangkat keras, pengembangan perangkat lunak dan integrasi keduanya. Untuk bagian hardware terdikri dari sensor, switch, router dan perkabelan yang mendukung sistem jaringan konmputer, untuk bagian perangkat lunaknya dapat dilihat pada gambar diatas.
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
41
4.5
Analisa Data Hasil Percobaan
4.5.1 Analisa Grafik Hasil Percobaan Analisa ini bertujuan untuk memvisualisasikan atau menggambarkan data yang didapat selama pengukuran dalam bentuk grafik. Grafik yang dibuat menggambarkan hubungan antara waktu (jam) pada sumbu x dan temperatur (celcius) pada sumbu y. Untuk mendapatkan data pengamatan yang banyak, pengukuran dilakukan tidak hanya 1 hari tetapi beberapa hari. Data temperatur dari sensor diambil dan disimpan dalam database pada dua lokasi yang berbeda yaitu di server Cisco FMIPA UI dan di rumah. Untuk lebih jelas mengenai data temperatur yang telah disimpan dapat dilihat pada gambar dibawah ini:
Gambar 4.6 Hasil plot Temperature Web Server
Dari gambar diatas dapat dijelaskan bahwa ada dua buah variable yang menjadi parameter pengukuran temperatur. Garis biru menunjukan data temperatur yang pada ruang Server Cisco FMIPA UI dan garis kuning menunjukan data temperatur yang ada dirumah.
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
42
Untuk menampilkan grafik temperatur menggunakan software jqPlot. jqPlot adalah sebuah jQuery serbaguna dan dapat melakukan upgrade otomatis ketika data yang diambil atau yang diukur berubah. JqPlot merupakan kerangka Query Javascript. Dengan jqPlot data temperatur yang diukur dapat dikonvesi menjadi konversi berbentuk garis bar, garis dan diagram lingkaran dengan banyak fitur: Program ini digunakan karena merupakan bagian dari Java dan cocok untuk melakuakan pengambilan data yang berupa gambar secara realtime untuk aplikasi internet. Dari gambar diatas pengukuran dilakukan pada dua tempat yang berbeda, kedua garis diatas tidak menunjukan adanya korelasi yang kuat karena untuk pengukuran temperatur di ruang server Cisco Fisika FMIPA UI nilainya stabil karena pada ruang ini diberi pendingin yang diberi temperatur konstan sedangkan untuk yang dirumah nilainya selalau berubah tergantung keadaan lingkungannya.
Gambar 4.7 Tampilan Database pada Porgram MySQL
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
43
Dari grafik diatas dapat dilihat bahwa selain temperatur juga ada parameter lain yang disimpan yaitu tanggal dan waktu. Pengukuran temperatur yang telah diukur disimpan dalam database dengan mengggunakan MySQL. MySQL merupakan jenis program open source yang berfungsi untuk melakukan penyimpanan sehingga data yang telah diukur sebelumnya tidak hilang dan dapat dilihat.
Gambar 4.8 Tampilan Database Data yang telah disimpan
Gambar 4.8 merupakan hasil tampilan peyimpanan dengan menggunakan MySQL, Dari gambar diatas dapat dilihat bahwa data yang dihasilkan oleh kedua TINI telah disimpan sesuai dengan nilai temperatur, tanggal dan waktu pengambilan datanya.
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
44
Berdasarkan percobaan yang telah dilakukan, data yang didapat diimplentasikan menggunakan sigma plot untuk mendapatkan kurva temperatur terdistribusi di lokasi Server Cisco Fisika FMIPA UI dan di rumah. Eksperimen yang dilakukan pada hari pertama akan menampilkan data monitoring temperatur terdistribusi pada lokasi Cisco Fisika FMIPA-UI dan di rumah
dengan
TINI
beserta
sensor
temperatur
tipe
DS1820
(Dallas
Semiconductor), yang kemudian akan dituangkan kedalam bentuk grafik. Data tersebut kemudian akan dianalisis berdasarkan pendekatan statistik. Berikut ini merupakan grafik scatter yang dihasilkan pada software Sigma Plot. Pengambilan data temperatur dalam satuan celcius dengan waktu dalam satuan jam. Dari eksperiment yang telah dilkukan, didapatkan kurva yang menyatakan hubungan grafik antara temperatur dengan waktu pengukuran dan pengambilan data pada kedua lokasi yang berbeda dan dilakukan pada waktu yang bersamaan. Dari grafik diatas terdapat dua garis yang berwarna biru dan kuning dimana garis tersebut menyatakan tempat dimana sensor diletakan. Garis berwarna biru menunujukan bahwa sensor DS1820 berada didalam ruang Server Cisco FMIPA UI sedangkan garis berwarna kuning menunujukan bahwa sensor DS1820 berada didalam rumah. Dari hasil grafik yang telah dilakukan didapatkan bahwa tidak ada korelasi yang kuat antara kedua sensor yang ada di ruang Server Cisco FMIPA UI dengan yang ada dirumah. Korelasi menyatakan hubungan antara kedua sensor dengan waktunya. Data temperatur pada hari pertama menunjukan bahwa nilai temperatur yang dihasilkan stabil dengan besarnya temperatur sebesar 29ºC sedangkan pada hari kedua menunjukan bahwa nilai temperatur yang dihasilkan tidak stabil dengan besarnya temperatur yang dihasilka sangat bervariasi dengan nilai temperatur terkecil sebesar 27ºC dan nilai temperatur tertinggi sebesar 32ºC. Pada Grafik data hasil percobaan diatas dapat dilihat bulan, tanggal dan jam pengambilan data temperatur yang diukur selam proses pengambilan data. Fungsi parameter ini bertujuan agar data yang didapat menjadi lebih yakin karena data yang ada telah terekam dan disimpan didalam database.
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
45
Analisa diatas bertujuan untuk melakukan evaluasi dari hasil kerja yang telah dilakukan selama melakukan penelitian. Dari analisa gambar yang telah didapat dinyatakan bahwa sistem terdistribusi untuk memonitor temperatur berbasis internet dengan menggunakan mikrokontroller TINI telah berjalan dengan baik yang untuk implementasi
monitoring temperatur dengan
menggunakan TINI sebagai Web Server. Untuk menjamin bahwa sistem TINI Web Server telah berjalan dengan baik, maka peneliti melakukan berbagai macam testing diantaranya pengetesan komunikasi TINI dengan PC dan pengetesan penyimpanan datanya. Untuk pengetesan komunikasi TINI dengan PC dilakukan dengan tujuan bahwa TINI dapat berkomunisi baik dengan PC. Komunikasi ini penting karena TINI membutuhkan setting ip address dan proses mendownload program yang telah dibuat. Pemberian ip address dilakukan dengan menggunakan kabel serial sedangkan untuk mendownload program java ke TINI menggunakan kabel LAN. Untuk mengetes adanya komunikasi antara komputer dengan TINI membutuhkan software JavaKit. Java merupakan software yang termasuk didalam API Java dan bertujuan untuk mensupport sistem kerja TINI. Sedangakan untuk mendownload menggunakan file transfer protocol (ftp), ftp merupakan software yang dapat mendirect secara langsung dari komputer sehingga dapat masuk kedalam sistem yang ada didalam TINI. Untuk pengetesan penyimpanan datanya dilakukan dengan melihat data yang ada telah tersimpan kedalam database. Pengetesan penyimpanan data yang dilakukan telah berhasil karena data yang ada dapat disimpan dan dapat dilihat dengan menggunakan php atau MySQL. Proses penyimpanannya dilakukan setelah TINI terkoneksi dengan internet dan dengan interval pengambilan datanya selama 2 menit. Dari penelitian yang dilakukan dapat dilihat bahwa setiap dua menit database melakukan penyimpana data temperatur secara terus menerus. Pengambilan dan penyimpanan data ini dilakukan secara langsung dan bersamaan pada dua lokasi tempat yang berbeda dengan parameter data yang diambil yaitu nilai temperatur, bulan dan waktu pengambilan data sensor.
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
46
4.6.
Analisa Sistem Terdistribusi
4.6.1. Analisa TINI Web Server sebagai Monitoring Temperatur Berdasarkan percobaan yang telah dilakukan, data yang didapat ditampilkan pada web browser. Terdapat dua isu utama di dalam pengembangan sistem terdistribusi untuk monitoring temperatur yang sedang dilakukan saat ini, yaitu pengumpulan data monitoring temperatur dari dua node (tempat) yang berbeda dan pengembangan interface berbasis web. Pada sub bab ini hanya akan menjelaskan isu pemerolehan data monitoring dari masing-masing node (tempat). Sistem terditribusi untuk monitoring temperatur merupakann sebuah sistem memiliki perangkat komputer dan mikrokontroller dimana kedua perangkat tersebut bersifat otonom (tidak salaing bergantung) namun tetap terhubung dengan suatu jaringan. Dengan sistem terdistribusi ini maka tiap user dapat saling mengakses dan berbagi sumber daya. Sistem terdistibusi untuk monitoring temperatur dikembangkan dengan tujuan untuk melakukan monitoring sumber daya yang ada pada TINI yaitu berupa data temperatur. Dan juga untuk monitoring keadaan temperatur pada suatu tempat atau lokasi tertentu. Berdasarkan arsitektur dari sistem terdistribusi untuk monitoring temperatur, implementasi kedua TINI Web Server diletakan pada tempat yang terpisah tiap perangkatnya dengan peletakan implementasu TINI Web Server di ruang server cisco FMIPA UI dan di rumah. Hal ini berarti bahwa sistem terdistibusi untuk monitoring temperatur yang dikembangkan harus mampu memperoleh monitoring untuk data temperatur secara remote dari masing-masing kedua lokasi tempat yang berbeda dan telah ditentukan. Pendekatan dilakukan dengan menggunakan internet menggunakan IP publik dan IP addressnya. Untuk lebih jelasnya dapat dilihat gambar sebagau berikut :
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
47
Gambar 4.11 Sistem Terdistribusi Untuk Monitoring Temperatur
Dengan menggunakan TINI Web Server didalam pemerolehan data monitoring temperatur, TINI memberikan informasi yang berupa nilai temperatur dari masing-masing tempat yang berbeda. Informasi mengenai temperatur tidak dapat diperoleh jika TINI belum terkoneksi dengan internet. Dari beberapa percobaan yang telah dilakukan, data temperatur diperoleh dari dua tempat yang berbeda dimana data temperatur tersebut diperoleh dengan cara melakukan instalasi sensor software (menggunakan DS1820) yang dijalankan dengan operating system windows. Selanjutnya untuk menjalankan aplikasi sensor tersebut harus memiliki koneksi terlebih dahulu antara PC dengan TINI kemudian dijalankan program javanya. Data temperatur yang ada di ruang server cisco FMIPA UI dan dirumah yang ingin di akses harus terkoneksi dengan internet terlebih dahulu. Untuk mengakses data temperatur yang ada di rumah dilakukan dengan mengakses IP Address yang ada pada modem tetapi untuk mengakses data temperatur yang ada di ruang server cisco FMIPA UI diakses dengan cara yang berbeda yaitu dengan mengakses link : http://tini.fisika.ui.ac.id/.
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
48
Pemerolehan informasi mengenai suhu temperatur dihasilkan oleh sensor DS1820 dimana sensor tersebut digunakan untuk mengembangkan sistem yang dapat memonitor suhu dari tempat lain dalam waktu yang bersamaan melalui implementasi Ethernet untuk melakukan pembacaan temperatur yang terintegrasi dengan mikrokontroller TINI TBM 390.
4.6.2 Analisa Tools yang digunakan Untuk menjalankan sistem terdistribusi untuk monitoring temperatur memanfaatkan
beberapa
perlengkapan
hardware
yang
sudah
ada
dan
menggabungkan fungsi hardware tersebut sehingga membentuk sistem yang diinginkan. Selain itu sistem monitoring ini juga memanfaatkan beberapa software untuk mendukung jalannya sistem yang berbasis web. Komponen-komponen atau tools lain yang diperlukan di dalam pengembangan sistem monitoring ini adalah : DS1820 : Sebagai sensor yang mendeteksi besaran temperatur di sebuah lokasi. Router
: Menghubungkan dunia internet dengan mikrokontroller.
Java
: Bahas pemrograman berbasis objek yang digunakan untuk membaca sensor.
FileZila : Software File Transfer Protokol untuk mendownload program ke mikrokontroller. Modem
: Menghubungkan dunia internet dengan komputer.
JavaKit
: Aplikasi interfacing untuk memberikan IP pada TINI.
TINI
: Mikrokontroller yang mampu melakukan koneksi dengan internet.
4.6.3 Analisa Identifikasi Manajemen Jaringan Objek monitoring untuk sistem terdistribusi untuk monitoring temperatur yang dikembangkan ini harus memiliki koneksi jaringan yang terhubung dengan lokasi sensor sehingga tiap user dapat mengakses data temperatur dimanapun dan kapanpun. Cukup banyak objek yang digunakan untuk mendukung terkoneksinya TINI Web Server dengan dunia internet. Oleh karena itu perlu dilakukan identifikasi objek-objek manajemen jaringan yang sesuai dengan kebutuhan
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
49
sistem monitoring yang dikembangkan, yaitu objek-objek manajemen jaringan yang menyimpan informasi mengenai sumber daya hardware yang berupa: sensor DS1820, TINI TBM 390, router, switch dan PC. Objek-objek tersebut digunakan untuk mengakses sistem terdistribusinya. Sebelum melakukan koneksi dengan internet maka TINI harus didownload terlebih dahulu, proses download dilakukan dengan beberapa tahap sebagai berikut : java -classpath C:\tini1.16\bin\tini.jar;. BuildDependency -p C:\owapi_1_10\lib\owapi_dependencies_TINI.jar -f D:\tini\AlarmMonitor.class -f D:\tini\AppletComm.class -f D:\tini\ButtonControl.class -f D:\tini\SampleHold.class -f D:\tini\SockListen.class -f D:\tini\TempButtonHost.class -f D:\tini\TempCommand.class -f C:\tini1.16\bin\modules.jar -x C:\owapi_1_10\lib\owapi_dep.txt -o D:\tini\TempApp.tini -add Thermometers -d C:\tini1.16\bin\tini.db Proses diatas harus dikompilasi di dalam DOS, bila hasil kompilasi benar akan menghasilkan file dalam format .tini. Beberapa kode diatas memiliki beberapa fungsi tersendiri yaitu : -
Classpath : directory firmware tini 1.16
-
p : directory API tini
-
f : directory file java yang telah dibuat dalam format.tini
-
o : directory file dalam format .tini
-
x : directory API tini yang lebih spesifik
-
d : directory database TINI
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
50
4.6.4 Analisa Tampilan Data Monitoring ke Web Browser Proses menampilkan hasil monitoring dari TINI ke web bukan merupakan hal yang masalah karena TINI disediakan oleh Dallas fitur yang mampu melakukan komunikasi dengan internet. Sinyal digtal yang dihasil oleh sensor DS1820 dapat di-generate dengan mudah dan hasilnya dapat di monitoring dengan menggunakan software web browser dan untuk men-generate dibutuhkan mikrokontroller TINI. Gambar 4.12 dibawah ini merupakan Blok Diagram proses Monitoring Temperatur yang menggambarkan struktur penelitian yang dibuat. Masing-masing blok memiliki fungsi tersendiri dan bila digabungkan menjadi sebuah sistem monitoring temperatur berbasis web server.
Gambar 4.12 Blok Diagram proses Monitoring Temperatur
4.6.5 Analisa Desain Sistem Monitoring TINI Web Server Analisis ini mendefinisikan dan menjelaskan bagaimana user dapat memperoleh suatu nilai dari sistem. Analisis ini diagram berguna untuk memodelkan semua interaksi yang terjadi antara user dengan sistem ke dalam sebuah diagram tunggal yang mudah untuk dipahami. Hal ini untuk
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
51
mempermudah bagi user dan pengembang sistem untuk dapat menangkap maksud dan ruang lingkup dari sistem yang dikembangkan secara keseluruhan. Pemeran utama dalam sistem terdistribusi untuk monitoring temperatur adalah common user dan admin user. Perbedaan diantara kedua user tersebut adalah terletak pada hak akses terhadap sistem secara keseluruhan. Common user hanya memiliki akses untuk melakukan monitoring, baik itu monitoring sumber daya hardware dan monitoring lingkungan cluster. Sedangkan admin user adalah super user yang memiliki hak akses penuh terhadap sistem terdistribusi untuk monitoring temperatur, yaitu selain dapat melakukan monitoring, juga dapat melakukan manajemen terhadap node (lokasi) yang ada di dalam TINI Web Server, melakukan manajemen terhadap objek-objek monitoring, melakukan manajemen terhadap service monitoring, dapat melakukan kontrol power masingmasing node (tempat) dan dapat melakukan manajemen terhadap user sistem monitoring.
Gambar 4.13 Struktur Sistem Terdistribusi TINI Web Server
Penjelasan dari gambar diatas sebagai berikut : 1. Manage Object Monitoring, menangani bagaimana admin user dapat mengatur objek-objek monitoring yang terdapat di dalam TINI Web Server. Admin user dapat melakukan penambahan objek monitoring baru,
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
52
pengubahan data dari suatu objek monitoring yang telah didefinisikan sebelumnya, dan dapat melakukan penghapusan suatu objek monitoring yang sudah ada. 2. Manage Service Monitoring menangani bagaimana admin user dapat menyalakan atau mematikan suatu service monitoring untuk masing masing node. 3. Monitoring Resource menangani bagaimana menampilkan grafik hasil monitoring sumber daya hardware dari objek-objek monitoring yang telah didefinisikan sebelumnya untuk masing-masing node dalam TINI Web Server. 4. Monitoring Environment menangani bagaimana menampilkan grafik hasil monitoring lingkungan TINI Web Server.
Universitas Indonesia
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
BAB 5 PENUTUP
5.1
Kesimpulan Setelah melakukan penelitian ini, dapat diambil kesimpulan yaitu :
Dari penelitian yang telah dilakukan sistem terdistribusi temperatur telah terkoneksi dan beroperasi secara realtime dengan internet pada dua lokasi yang berbeda yaitu di ruang Server Cisco Fisika FMIPA UI dan di rumah (teras).
Berdasarkan
penelitian
yang
telah
dilakukan
dinyatakan
bahwa
Mikrokontroller TINI 390 dapat digunakan sebagai Web Server untuk mengimplementasikan sistem pemantauan temperatur.
Dari pengambilan data temperatur pada dua lokasi secara bersamaan dinyatakan bahwa data dari temperatur tersebut tidak memiliki korelasi yang kuat.
Berdasarkan penelitian yang telah dilakukan data temperatur dapat simpan didalam datatbase menggunakan program MySQL dan dapat menunjukan hasil rekaman data temperatur pada hari sebelumnya.
Dari penelitian ini menggunakan koneksi internet untuk menditribusikan data temperatur agar bisa di akses oleh berbagai pengguna.
5.2
Saran Penelitian lebih lanjut yang dapat dilakukan untuk penelitian ini adalah:
Menggunakan TINI dan sensor dengan jumlah yang lebih banyak, agar sistem terdistribusi menjadi optimal.
Menggunakan IP public untuk koneksi internet agar tidak perlu mengupdate ip address setiap hari.
Menggunakan jaringan internet yang bagus untuk memudahkan akses sistem terdistribusi
53
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
Universitas Indonesia
DAFTAR ACUAN
[1]
J. Walker, et al., Fundamentals of physics: Wiley, 2008.
[2]
D. C. Giancoli, Physics, 6 ed. vol. 1813. United State of America: Pearson Prentise Hall, 2005.
[3]
I. K. F. Samopa, "PERANCANGAN DAN PEMBUATAN SERVER AUTENTIKASI BERBASIS XML PADA SISTEM TERDISTRIBUSI."
[4]
Ruddy J. Suhatril, Catatan Kuliah Sistem Terdistribusi: UNIKOM, 2004.
[5]
A. S. Tanenbaum and M. van Steen, Distributed Systems: Addison Wesley, 2004.
[6]
W. Stallings, "Komunikasi Data dan Komputer," Salemba Teknika, 2001.
[7]
K. S. Komputer, "Konsep Dasar Sistem Komputer."
[8]
U. Proboyekti, Jaringan Komputer: Teknologi Informasi Informasi Umi Proboyekti, S.Kom, MLIS, 2008.
[9]
W. Stallings, High-speed networks: TCP/IP and ATM design principles vol. 172: Prentice Hall New Jersey, 1998.
[10]
J. F. Kurose and K. W. Ross, Computer Networks and the Internet. Polytechnic University, Brooklyn: Pearson Addison-Wesley., 2004.
[11]
D.
SEMICONDUCTOR,
WEB
SERVER
CONNECTOR
BOARD.
Beltwood Parkway: Dallas Semiconductor Corp, 1995. [12]
H. Schildt, The Complete Reference, 5 ed. vol. 1156. The McGraw-HIll Companies: University of Illinois, 2002.
[13]
C. Kavka, "Introduction to Java," 2003.
[14]
D. SEMICONDUCTOR, Getting Started with the TINIm390 Verification Module. Beltwood Parkway: Dallas Semiconductor Corp, 2000.
[15]
D.
SEMICONDUCTOR,
1–WireDigital
Thermometer.
Beltwood
Parkway: Dallas Semiconductor Corp, 1995. [16]
M. Kassim, et al., A Web Based Temperature Monitoring System: IEEE, 2011.
[17]
S. Hekmat, Communication Networks. Millennium City Academi: PragSoft Corporation, 2005. 54
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
Universitas Indonesia
55
[18]
D. Loomis and T. Cargill, The TINI specification and developer's guide: Addison-Wesley, 2001.
[19]
D. Duego, "A TINI Development Environment for Eclipse," 2006, pp. 609-614.
[20]
D. Eisenreich and B. DeMuth, Designing embedded Internet devices: LLH Technology, 2003.
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
Universitas Indonesia
LAMPIRAN 1
Kode program TINI Web Server 1. WebWorker package k_project; import java.io.*; import com.dalsemi.tininet.http.*; public class WebWorker implements Runnable { Object lock; // lock for file access String threadName; byte[] name; HTTPServer
httpServer;
public int httpPort = HTTPServer.DEFAULT_HTTP_PORT; public String webRoot = "/"; public String webIndex = "index.html"; public String webLog = "/web.log"; boolean debugOn = false; public WebWorker(Object lock) { try { this.lock = lock; httpServer = new HTTPServer(httpPort); httpServer.setIndexPage(webIndex); httpServer.setHTTPRoot(webRoot); httpServer.setLogFilename(webLog); } catch(HTTPServerException h) { if(debugOn) { System.out.println(h.toString()); } } boolean loggingFailed = false; try { httpServer.setLogging(true);
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
} catch(HTTPServerException h) { loggingFailed = true; if(debugOn) { System.out.println(h.toString()); } } try { if(loggingFailed) httpServer.setLogging(false); } catch(HTTPServerException h) { if(debugOn) { System.out.println(h.toString()); } } } String getWebRoot() { return httpServer.getHTTPRoot(); } String getWebPage() { return httpServer.getIndexPage(); } public void run() { threadName = Thread.currentThread().getName(); name = (threadName+"\n").getBytes(); if(debugOn) { System.out.println(threadName); } float result = 0; while(true) { try { result = httpServer.serviceRequests(lock); if(debugOn)
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
{ System.out.println(new String("<"+result+">")); } } catch(HTTPServerException h) { if(debugOn) { System.out.println(h.toString()); } } catch(Throwable t) { if(debugOn) { System.out.println(t.toString()); } } } } } 2. Temperatur Worker package k_project; import java.io.*; import com.dalsemi.onewire.adapter.*; import com.dalsemi.onewire.container.*; public class TemperatureWorker implements Runnable { float currentTemperature; TINIExternalAdapter adapter; OneWireContainer10 tempSensor; public TemperatureWorker() { adapter = new TINIExternalAdapter(); } public float getCurrentTemperature() //public int getCurrentTemperature() { return (currentTemperature-32)*5/9; } public boolean buttonFound() { return (tempSensor != null); } public void run()
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
{ byte[] state; while(true) { try { if (tempSensor == null) { adapter.targetFamily(0x10); tempSensor = (OneWireContainer10)adapter.getFirstDeviceContainer(); } if (tempSensor != null) { if (!tempSensor.isPresent()) tempSensor = null; else { state = tempSensor.readDevice(); tempSensor.doTemperatureConvert(state); state = tempSensor.readDevice(); currentTemperature = (float)tempSensor.convertToFahrenheit(tempSensor.getTemperature(state) ); } } else { currentTemperature = Integer.MIN_VALUE; } } catch(Throwable t) { } } } } 3. TINI Web Server package k_project; import java.net.*; import java.io.*; import java.util.*; import com.dalsemi.system.*; public class TINIWebServer { WebWorker webWorker;
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
TemperatureWorker temperatureWorker; float prevTemp; float prev100s, //float prev100s, prev10s, prev1s; byte[] copyBuffer; String webRoot, webIndex; boolean lastButtonFound = true; boolean localPages = false; static Object lock = new Object();// lock for file access static String indexTop = ""+ ""+ "<TITLE>TINIWebServer"+ ""+ ""+ "<META HTTP-EQUIV=\"Expires\" CONTENT=\"0\">"+ "<META HTTP-EQUIV=\"Last modified\" CONTENT=\"now\">"+ "<META HTTP-EQUIV=\"Pragma\" CONTENT=\"nocache\">"+ "<META HTTP-EQUIV=\"Cache-Control\" CONTENT=\"no-cache, must-validate\">"+ "
"+ "TINIWebServer
"+ "If you can read this, TINIWebServer is running
On TINI
"+ ""+ "Implementasi TINI WebServer Untuk Pembacaan Sensor Temperatur di Teras Rumah.
"+ "
"+ //TempWork2=Teras;TempWork3=Kamar ""+ "Lindra Sahara Ektensi Fisika FMIPA-UI
"+ "
"+ "Current temperature "; static String indexBottom = "
"+ ""+ ""+ ""; public TINIWebServer() throws IOException { copyBuffer = new byte[1024]; }
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
void updateTemperature(float temperature, boolean buttonFound) { lastButtonFound = buttonFound; prevTemp = temperature; if(!localPages) { createPage(temperature, buttonFound); } else { createPageLocal(temperature, buttonFound); } } public void createPageLocal(float temp, boolean buttonFound) { try { synchronized(lock) { FileOutputStream index = new FileOutputStream(new File(webRoot, webIndex)); index.write(indexTop.getBytes(), 0, indexTop.length()); if(buttonFound) { index.write((Float.toString(temp)+" C").getBytes()); } else { index.write("- No DS1920's found".getBytes()); } index.write(indexBottom.getBytes(), 0, indexBottom.length()); index.close(); } } catch(Exception e) { System.out.println("createPageLocal -"+e.toString()); } } public void createPage(float temp, boolean buttonFound) { try { File indexPage = new File(webRoot+"indextop.html");
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
if(!indexPage.exists()) { localPages = true; createPageLocal(temp, buttonFound); return; } synchronized(lock) { FileOutputStream index = new FileOutputStream(new File(webRoot, webIndex)); FileInputStream tempFile = null; int bytesRead = (tempFile = new FileInputStream(new File(webRoot, "indextop.html"))).read(copyBuffer); index.write(copyBuffer, 0, bytesRead); tempFile.close(); if(buttonFound) { index.write((Float.toString(temp)+" C").getBytes()); //index.write((Integer.toString(temp)+" C").getBytes()); } else { index.write("- No DS1920's found".getBytes()); } //index.write(timeString.getBytes()); bytesRead = (tempFile = new FileInputStream(new File(webRoot, "indexbottom.html"))).read(copyBuffer); index.write(copyBuffer, 0, bytesRead); tempFile.close(); index.close(); } } catch(Exception e) { System.out.println("createPage -"+e.toString()); } } public void drive() { try {
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011
Thread webServer = new Thread(webWorker); webServer.setName("Web Server"); Thread temperatureServer = new Thread(temperatureWorker); temperatureServer.setName("Temperature Server"); webRoot = webWorker.getWebRoot(); webIndex = webWorker.getWebPage(); createPage(0, false); webServer.start(); temperatureServer.start(); while(true) { Thread.sleep(5000); updateTemperature(temperatureWorker.getCurrentTemperature(), temperatureWorker.buttonFound()); } } catch(Throwable t) { System.out.println("createPageLocal -"+t.toString()); } } public static void main(String[] args) { System.out.println("Starting TINI WebServer version 2.0 ..."); try { int currentArg = 0; TINIWebServer tiniWebServer = new TINIWebServer(); tiniWebServer.webWorker = new WebWorker(tiniWebServer.lock); tiniWebServer.temperatureWorker = new TemperatureWorker(); tiniWebServer.drive(); } catch(Throwable t) { System.out.println(t); System.out.println(t.getMessage()); } finally { System.out.println("\nTINIWebserver exiting..."); } } }
Perancangan sistem..., Lindra Sahara, FMIPA UI, 2011