JARINGAN IP
BINA PRATOMO
SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR
dan Akuisisi Jarak Jauh Perangkat Elektronik Berbasis Jaringan IP adalah karya saya dengan arahan dari komisi pembimbing dan belum pernah diajukan dalam bentuk apapun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun yang tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantmkan dalam Daftar Pustaka di bagian akhir tesis ini.
iii BINA PRATOMO, IP Base Electronic Device Remote Control and Acquisition System Development. Under direction of FIRMAN ARDIANSYAH and HENDRA RAHMAWAN.
Research in remote control system has be done by several people to fullfill human needs who has to control many things, some people has develop system using internet access and TCP/IP as protocol but they need IP public for server computer or embedded web server at remote site. This research has develop a remote control system prototype to control electronics device at home by using internet access, implement Power Line Communication (PLC) as home network and non IP public use at remote site. Remote control system developed by implement server at web hosting connected with embedded host via internet network by using port 80.Research result is the system work by embedded host request data to device driver trough power line, and then device driver response by sending data to the embedded host those data package in HTTP format so it can send to server and save extracted data to database, the data in database can be retrieved by user through web application.
Perangkat Elektronik Berbasis Jaringan IP. Dibimbing oleh FIRMAN ARDIANSYAH dan HENDRA RAHMAWAN.
Perkembangan teknologi di bidang informasi membawa perubahan pola hidup manusia untuk memenuhi kebutuhan akan informasi. Sudah menjadi sifat manusia ingin mengendalikan sesuatu terutama asset yang dimilikinya, dengan perkembangan teknologi inilah kebutuhan tersebut dapat diakses dengan mudah kapan saja dan di mana saja contohnya teknologi GPS tracking yang dapat memantau posisi dari aset yang dimilikinya dan teknologi smart home yang dapat memberikan akses seseorang terhadap perangkat-perangkat dalam hal ini perangkat elektrik mau pun elektronik yang berada di rumahnya.
Penelitian bertopik pengaksesan atau biasa disebut remote control terhadap sutau perangkat elektrik mau pun elektronik sudah banyak dilakukan orang, namun setelah ditelusuri oleh penulis penelitian-penelitian yang telah dilakukan ada yang memanfaatkan komputer PC (Personal Computer) sebagai server sekaligus pusat kendali pengumpul data dan pendistribusi perintah terhadap seluruh perangkat yang terpasang baik yang terhubung langsung ke PC maupun melalui media komunikasi data yang diletakkan pada gedung atau rumah yang dikases, selain itu ada yang menggunakan embedded system sebagai web server, di embedded system inilah perangkat dipasang dengan jarak yang tidak jauh dari embedded web servera, embedded web server biasanya terdiri dari satu atau lebih mikroprosesor dan memiliki memori yang terbatas sehingga halaman web yang diberikan ke pengguna tidak terlalu interaktif. PC dan embedded web server yang digunakan dalam penelitian yang sudah dilakukan tersebut menggunakan IP public dan statis serta menggunakan port tertentu sehingga biaya yang dikeluarkan relatif tinggi.
Berdasarkan permasalahan tersebut perlu dilakukan penelitian terhadap pengembangan suatu protitipe yang dapat mengakses semua jenis perangkat elektrik maupun elektronik dari jarak jauh menggunakan media jaringan berbasis IP. Penelitian yang dikembangkan penulis menggunakan suatu embedded system sebagai pengumpul data dan pendistribusi perintah pada suatu gedung atau rumah yang akan diakses, selain itu penulis menyawa server pada suatu penyedia jasa web hosting yang berguna untuk menyimpan data yang dikirim perangkat rumah atau gedung dan penyimpan perintah yang diberikan pengguna melalui software berbasis web untuk didistribusikan ke perangkat yang dimaksud. Penulis memanfaatkan modem PLC (Powerline Communication) sebagai antar muka embedded host dengan device driver melalui jalur listrik PLN.
v
© Hak cipta milik IPB, tahun 2011
Hak Cipta dilindingi Undang-undang
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan atau menyebutkan sumbernya. Pengutipan hanya untuk kepentingan pendidikan, penelitian, penulisan karya ilmian, penyusunan laporan, penulisan kritik atau tinjauan suatu masalah; dan pengutipan tidak merugikan kepentingan yang wajar IPB.
JARINGAN IP
BINA PRATOMO
Tesis
Sebagai salah satu syarat untuk memperoleh gelar Magister Komputer pada
Program Studi Ilmu Komputer
SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR
Nama : Bina Pratomo
NRP : G651080174
Program Studi : Ilmu Komputer
Menyetujui, Komisi Pembimbing
Firman Ardiansyah, S.Kom, M.Si
Ketua Anggota
Hendra Rahmawan, S.Kom, M.T.
Mengetahui
Ketua Program Studi Dekan Sekolah Pascasarjana Ilmu Komputer
Dr. Ir. Agus Buono, M.Si, M.Kom Dr. Ir. Dahrul Syah, M.Sc.Agr
ix yang telah diberikan sehingga karya ilmiah dengan judul Pengembangan Sistem Kendali dan Akuisisi Jarak Jauh Perangkat Elektronik Berbasis Jaringan IP (IP Base Electronic Device Remote Control and Acquisition System Development.) berhasil diselesaikan. Penelitian ini dilkasanakan mulai bulan Maret 2010 sampai dengan Juni 2011 bertempat di Pusat Satelit Lembaga Penerbangan dan Antariksa Nasional Rancabungur Bogor. Penelitian ini sebagian dibiayai oleh program beasiswa LAPAN.
Terima kasih penulis ucapkan kepada Bapak Firman Ardiansyah, S.Kom., M.Si selaku ketua komisi pembimbing dan Bapak Hendara Rahmawan S.Kom MT. atas bimbingan, arahan, masukan dan kesabarannya sejak pengajuan judul tesis, proses penelitian hingga penyusunan karya tulis dan laporan tesis. Ucapan terima kasih disampaikan kepada Ibu Ir. Sri Wahjuni MT. selaku dosen penguji luar komisi yang telah sudi meluangkan waktunya untuk dapat dengan teliti membaca, memberikan koreksi dan masukan pada tugas akhir penulis. Ucapan terimakasih juga penulis ucapkan kepada jajaran pimpinan Pusat Satelit LAPAN atas kesempatan dan kepercayaan untuk mendapatkan beasiswa studi dan menelti di IPB, ucapan terima kasih juga penulis ucapkan kepada Endro staf Kementrian Energi dan Sumber Daya mineral yang telah meminjamkan modem PLC guna kelancaran penelitian, tak juga luput teman-teman ILKOM angkatan 2008 yang memberikan dukungannya kepada penulis.
Demikian semoga karya ilmiah ini bermanfaat bagi para pembaca.
Bogor, September 2011
anak kedua dari empat beraudara, putra dari pasangan Sudjiarso dan Menuk S. Penulis menyelesaikan Sekolah Menengah Kejuruan Jurusan Elektronika Komunikasi di SMKN 5 Jakarta pada tahun 1997, di tahun 1997 pula penulis masuk Universitas Gunadarma menimba ilmu Teknik Komputer di Diploma 3 Fakultas Ilmu Komputer dan selesai pada tahun 2001. Selama tahun 1999 hingga 2001 penulis bekerja sebagai ketua asisten laboratorium sistem informasi di universitas yang sama, akhir kuliah sambil bekerja tersebut penulis mengawali karirnya sebagai software developer pada PT. Showa Indonesia MFG. Hingga tahun 2005, selama bekerja penulis menimba ilmu di Universitas Jayabaya pada tahun 2002 hingga 2004 kelas ekstensi jurusan Teknik Elektro kosentrasi Komputer Fakultas Teknik Industri. Tahun 2005 penulis diterima kerja sebagai pegawai negeri di Bidang Mekatronika Pusat Teknologi Elektronika Dirgantara Lembaga Penerbangan dan Antariksa Nasional (LAPAN) sebagai software dan hardware engineer.
x Halaman
DAFTAR ISI ... x
DAFTAR TABEL ... xi
DAFTAR GAMBAR ... xii
BAB I PENDAHULUAN ……….. 1
LATAR BELAKANG ………. 1
TUJUAN ………...………. 2
MANFAAT PENELITIAN ……… 2
RUANG LINGKUP ……… 2
RUMUSAN PERMASALAHAN ..………..……… 3
BAB II TINJAUAN PUSTAKA ………. 4
TRANSMISION CONTROL PROTOCOL / INTERNET PROTOCOL (TCP/IP)... 4
PRINSIP KERJA INTERNET PROTOCOL (IP) ... 7
PRINSIP KERJA TRANSMISION CONTROL PROTOCOL (TCP)... 9
EMBEDDED SYSTEM ... 12
POWERLINE COMMUNICATION (PLC) ... 15
PERANGKAT PLC ………... 16
BAB III ALUR PENELITAN ... 21
METODE PENELITIAN ……….……… 21
ALAT, BAHAN DAN FASILITAS PENELITIAN ………... 23
1. ALAT ... 23
2. BAHAN ... 23
3 FASILITAS ... 23
INFRASTRUKTUR FISIK ... 24
BAB IV HASIL DAN PEMBAHASAN ... 26
DIAGRAM KONTEKS ... 26
PROTOKOL ... 26
1. WEB APPLICATION... 30
2. SOFTWARE EMBEDDED HOST ... 35
3. SOFTWAREDEVICE DRIVER ... 37
USE CASE ... 39
HARDWARE ...43
1. SERVER ... 44
2. KLIEN... 44
2.1 EMBEDDED HOST ..... 45
2.2 MODEM PLC ... 46
2.3 DEVICE DRIVER.... 47
EVALUASI SISTEM ... 48
BAB V KESIMPULAN DAN SARAN ... 50
KESIMPULAN ... 50
SARAN ... ... 50
1 ”standar” protocol family tree ... 4
2 Lapisan protokol TCP/IP ... 6
3 Format datagram ... 7
4 State diagram kerja TCP ... 11
5 Format header TCP ………... 11
6 Format pseudo header ………. 12
7 Infrastruktur jaringan listrik ke pelanggan ……….. 15
8 Desain koneksi PLC modem ………...…………... 16
9 Pemasangan PLC base station ………..………..… 17
10 Repeater sebagai penguat …………..………...18
11 Interkoneksi PLC tanpa menggunakan gateway ... 18
12 Interkoneksi PLC dengan menggunakan gateway …...…... 19
13 Rencana pengembangan infrastruktur ... 24
14 Diagram konteks sistem SKAPEI... 26
15 Transaksi http antara embedded host dan server... 28
16 a. Protokol dari embedded host ke alat ……... 28
16 b. Protokol dari alat ke embedded host …... 28
17 Software SKAPEI ... 29
18 Interaksi client server ... 31
19 Interaksi web application dengan embedded host ...32
20 Flowchart proses request handler...32
21 Tampilan utama aplikasi web ... 33
22 Relasi tabel-tabel di dalam database web application... 34
23 Struktur embedded host software ... 35
24 Flowchartsoftware embedded host ... 36
25 Struktur software device driver ... 37
26 Flowchart prinsip kerja software device driver ... 38
27 Use case diagram sistem SKAPEI ... 39
28 Blok diagram perangkat sistem di sisi klien ... 44
LATAR BELAKANG
Perkembangan teknologi embedded system telah membuat ukuran dari peralatan digital semakin kecil namun tetap handal, begitu pula dengan kepopuleran protokol TCP/IP yang mampu membuat proses komunikasi dan pertukaran informasi menjadi hal yang sangat mudah untuk dilakukan. Hingga kini teknologi tersebut telah membentuk sebuah jaringan Internet global yang mampu menghubungkan berbagai jenis peralatan dengan berbagai jenis teknologi dalam skala yang sangat luas. Penggabungan antara embedded system dengan jaringan berbasis TCP/IP akan membawa beberapa keuntungan, seperti kepraktisan dan konektivitas yang tinggi. Berbagai pengembangan yang mendukung embedded ethernet telah dilakukan baik dari segi perangkat lunak, seperti pengembangan kode TCP/IP stack, pengembangan perangkat keras yang lebih cocok dan sesuai untuk embedded system.
Komunikasi antar embedded system di waktu lampau masih menggunakan koneksi point-to-point. Seiring dengan semakin meningkatnya kebutuhan akan fitur–fitur yang lebih canggih, fleksibilitas dan cost-effective komunikasi, para
engineer mulai menggunakan jaringan komputer baik local area network (LAN)
maupun wide area network (WAN) dan power line communication (PLC) sebagai jalur komunikasi embedded system. Pada umumnya LAN dan WAN berbasis infrastruktur yang harus disediakan sendiri dan PLC menggunakan jalur jala–jala listrik.
dengan komputer maupun perangkat bergerak sebagai terminal kendali dan monitoring. Sistem akses jarak jauh ini dapat digunakan untuk keperluan pengendalian dan akuisisi data antar embedded system yang memiliki tujuan tertentu dengan menggunakan protokol komunikasi standar TCP/IP. Implementasi ini meliputi perangkat keras maupun perangkat lunak. Penelitian ini beda dengan penelitian yang sudah dilakukan oleh beberapa orang diantaranya menggunakan
PC (Personal Computer) (Alfarabi 2009), (Maestre & Comacho 2009) di setiap
rumah dan menggunakan IP public di servernya ada juga yang menggunakan
embedded sebagai web server (Cai 2009), (Tan & Jeremy 2004) (Sutantyo &
Utomo 2006). Perangkat elektronik yang diakuisisi dan dikendalikan dihubungkan secara langsung ke port I/O PC yang dimiliki. Keunikannya dengan digunakannya jaringan listrik sebagai media komunikasi lokal serta peran pengumpul data di setiap lokasi yang bertindak sebagai klien dengan menggunakan port 80.
TUJUAN
Tujuan dari penelitian ini adalah melakukan analisis, merancang dan membangun serta melakukan tes terhadap prototipe sistem dan penggunaan infrastruktur jaringan yang tersedia agar pengguna dapat mengakses peralatan elektonik yang dimilikinya dari jarak jauh.
MANFAAT PENELITIAN
Keberhasilan penelitian ini akan menghasilkan serangkaian perangkat
software dan hardware yang dapat mempermudah baik perorangan ataupun
organisasi dalam mengendalikan dan mendapatkan data dari objek (perangkat elektronika) yang dimiliki dari jarak jauh.
RUANG LINGKUP
Ruang lingkup penelitian ini mencakup :
a. Analisis protokol HTTP yang telah digunakan pada jaringan komputer. b. Analisis dan implementasi infrastruktur jaringan Internet dan PLC yang
akan digunakan.
d. Merancang dan membangun prototype perangkat lunak beserta protokol dan perangkat keras embedded system untuk embeddedhost.
e. Uji coba sistem untuk komunikasi command dan akuisisi pada lampu f. Pengembangan aplikasi web hanya tidak terlalu mendalam
RUMUSAN MASALAH
Setiap orang ingin mengetahui kondisi rumahnya ketika sedang ditinggal pergi agar tidak terjadi hal-hal yang tidak diinginkan. Melalui penelitian ini penulis ingin berperan serta untuk memudahkan setiap orang agar dapat mengetahui dan mengendalikan kondisi peralatan elektronik yang dimiliki baik di kantor maupun di rumah, dari mana saja orang tersebut berada selama terdapat jaringan Internet. Penelitian yang bertopik pengendalian jarak jauh dengan TCP/IP merupakan topik yang sudah diteliti oleh beberapa orang, yang membedakan dari penelitian yang terkait sebelumnya adalah dengan dimanfaatkannya jaringan listrik rumah sebagai media transmisi, menggunakan
embedded system sebagai pengganti komputer data dan tidak menggunakan IP
(Internet Protocol) public di setiap rumah (klien). Hal ini disebabkan pada
umumnya penelitian yang bertopik sama menggunakan PC (Personal Computer) (Alfarabi 2009), (Maestre & Comacho 2009) di setiap rumah dan menggunakan
IP public di servernya. Terdapat penelitian lain yang menggunakan embedded
BAB II
TINJAUAN PUSTAKA
TRANSMISION CONTROL PROTOCOL / INTERNET PROTOCOL (TCP/IP)
Protokol dikatakan tangguh jika dapat mendeteksi dan memperbaiki kesalahan dengan cepat. Dari hasil survei pada sebuah penelitian didapat ada 60 ”standar” protokol dan beberapa di antaranya yang dinyatakan sesuai standar secara spesifik untuk embedded system (Bhargav & Koopman 1993). Hasil survei tersebut menyatakan beberapa protokol yang terkenal disusun dalam bentuk tree
seperti tampak pada Gambar 1.
Gambar 1 ”standar” protocol family tree (Bhargav & Koopman 1993).
Beberapa keuntungan menggunakan TCP/IP pada embedded system adalah : 1. Memiliki kecepatan yang lebih tinggi dibandingkan dengan RS232, RS485
dan metode komunikasi tradisional
2. Kompabilitas yang luas, embedded system dapat dihubungkan ke LAN / WAN
3. Komunikasi yang sangat reliable berdasarkan standar internasional
4. Terdapat banyak pilihan jenis / merek mikrokontroller yang dapat digunakan
TCP/IP adalah sebuah arsitektur jaringan yang dipakai dalam jaringan Internet. TCP/IP dilahirkan oleh ARPANET, sebuah pusat riset yang disponsori oleh DoD (Departemen Pertahanan AS). Sampai sekarang model ini sudah berkembang sedemikian pesatnya. Semua referensinya di atur di dalam standar RFC (Request For Comment) (Sutantyo & Utomo 2006).
Dalam proses komunikasi data antar komputer melalui Internet dibutuhkan suatu protokol, yaitu kumpulan peraturan yang mengatur proses komunikasi antar piranti elektronik, salah satunya TCP/IP (transmisi yang dikenal dengan protokol internet). TCP/IP merupakan yang digunakan untuk mengirim data antar komputer dalam jaringan tanpa adanya batasan perangkat keras maupun perangkat lunak. Protokol ini dapat dimanfaatkan sebagai sarana pengiriman data informasi atau kendali melalui jaringan komputer. Internet protocol (IP), User datagram Protocol (UDP), dan Transmission Control Protocol (TCP) merupakan dasar komunikasi berbasis jaringan. TCP/IP berasal dari dua protokol, yaitu TCP dan
IP. Komunikasi TCP/IP memberikan interface yang sederhana walaupun sebenarnya sangat kompleks. Penggunaan fungsi TCP/IP terdapat pada palette Function, Communication, TCP. Seperti halnya pada DAQ (data acquisition), instrumentasi dan komunikasi menggunakan port I/O, proses tersebut diawali dengan membuka koneksi, membaca dan menulis informasi dan diakhiri dengan menutup koneksi. Pada kebanyakan komunikasi menggunakan port I/O, prosesor selalu mengawali dengan koneksi ke server disk drive, server instrumen eksternal atau server DAQ. Dengan koneksi TCP/IP, komputer dapat berfungsi sebagai client atau server. Pada awalnya Internet digunakan untuk menunjukan jaringan yang menggunakan Internet protocol (IP) tapi dengan semakin berkembangnya jaringan, istilah ini sekarang sudah berupa istilah generik yang digunakan untuk semua kelas jaringan. Internet digunakan untuk menunjuk pada komunitas jaringan komputer worldwide yang saling dihubungkan dengan protokol TCP/IP. Perkembangan TCP/IP yang diterima luas dan praktis menjadi standar de facto jaringan komputer berkaitan dengan ciri-ciri yang terdapat pada protokol itu sendiri yang merupakan keunggulun dari TCP/IP.
kepada keluarga TCP/IP. Berbeda dengan OSI (Open System Interconection) yang dikeluarkan ISO (International Standart Organization) di mana TCP/IP menggunakan emapt lapisan (layers) sedangkan OSI menggunakan tujuh lapisan dalam melakukan komunikasi, kedua lapisan ini dapat dilihat pada Gambar 2. OSI ISO dari lapisan terbawah hingga tertinggi dikenal physical layer, link layer, network layer, transport layer, session layer, presentation layer dan application layer. Masing-masing lapisan mempunyai fungsi masing-masing dan tidak tergantung antara satu dengan lainnya.
Gambar 2 Lapisan protokol TCP/IP dan OSI ISO (Dostalek & Kabelova 2006).
Dari ketujuh lapisan ini hanya physical layer yang merupakan perangkat keras
keperluan Wide Area Network (WAN) dapat kita dapat menyambungkan berbagai LAN ini menggunakan media radio atau telepon menjadi satu kesatuan.
PRINSIP KERJA INTERNET PROTOCOL (IP)
Fungsi dari Internet Protocol secara sederhana dapat diterangkan seperti cara kerja kantor pos pada proses pengiriman surat. Surat dimasukkan ke kotak pos akan diambil oleh petugas pos dan kemudian akan dikirim melalui rute yang acak, tanpa si pengirim maupun si penerima surat mengetahui jalur perjalanan surat tersebut. Juga ketika mengirimkan dua surat yang ditujukan pada alamat yang sama pada hari yang sama, belum tentu akan sampai bersamaan karena mungkin surat yang satu akan mengambil rute yang berbeda dengan surat yang lain. Di samping itu, tidak ada jaminan bahwa surat akan sampai di tangan tujuan,
kecuali jika kita mengirimkannya menggunakan surat tercatat. Prinsip di atas digunakan oleh Internet Protocol, "surat" di atas dikenal dengan sebutan
datagram. Sebuah datagram terdiri dari bagian header dan data. Header mempunyai bagian tetap sebesar 20 bytes (5x32bit) dan bagian optional yang panjangnya dapat berubahubah. Datagram ditransmisikan dari kiri ke kanan.Format datagram dapat dilihat pada Gambar 3.
Gambar 3 Format datagram (Sutantyo & Utomo 2006)
Internet protocol (IP) berfungsi menyampaikan datagram dari satu komputer ke komputer lain tanpa tergantung pada media kompunikasi yang
mencari sendiri secara otomatis rute yang harus ditempuh ke komputer tujuan. Hal ini dikenal sebagai connectionless transmition. Dengan kata lain, komputer pengirim datagram sama sekali tidak mengetahui apakah datagram akan sampai atau tidak. Untuk membantu mencapai komputer tujuan, setiap komputer dalam jaringan TCP/IP harus diberikan alamat IP. Alamat IP harus unik untuk setiap komputer, tetapi tidak menjadi halangan bila sebuah komputer mempunyai beberapa IP address. IP address terdiri atas 8 byte data yang mempunyai nilai dari 255 yang sering ditulis dalam bentuk [xx.xx.xx.xx] (xx mempunyai nilai dari 0-255).
Pada header Internet Protocol selain alamat IP dari komputer tujuan dan komputer pengirim datagram juga terdapat beberapa informasi lainnya. Informasi ini mencakup jenis dari protokol transport layer yang ditumpangkan di atas IP.
Tampak pada Gambar 2 ada dua jenis protokol pada transport layer yaitu TCP dan UDP. Informasi penting lainnya adalah Time-To-Live (TTL) yang
menentukan berapa lama untaian Internet protocol dapat hidup di dalam jaringan. Nilai TTL akan dikurangi satu jika untaian Internet protocol melalui sebuah komputer, hal ini penting artinya terutama karena untaian Internet protocol dilepas di jaringan komputer. Jika karena satu dan lain hal untaian Internet protocol tidak berhasil menemukan alamat tujuan maka dengan adanya TTL Internet protocol akan mati dengan sendirinya pada saat TTL bernilai nol.
sifatnya geografis. Dari alamat IP tersebut dapat dibaca bahwa mesin pengguna berada di jaringan 44 di Internet yang dikenal sabagai AMPRNet (ampr.org). 135 menandakan bahwa pengguna berada di Canada. 84 memberitahukan bahwa pengguna berada di kota Waterloo di propinsi Ontario, sedang 22 adalah nomor mesin penguna. Dengan konsep alamat IP, rute perjalanan IP dalam jaringan komputer dapat dilakukan secara otomatis. Sebagai contoh, jika sebuah komputer di Internet akan mengirimkan IP ke [44.135.84.22], pertama-tama IP yang dilepas di jaringan akan berusaha mencari jalan ke jaringan 44.135.84, setelah mesin yang mengubungkan jaringan 44.135.84 tercapai IP tersebut akan mencoba menghubungi mesin 22 di jaringan tersebut. Kesemuanya ini dilakukan secara otomatis oleh program. Tentunya sukar bagi manusia untuk mengingat sedemikian banyak alamat IP. Untuk memudahkan, dikembangkan Domain Name
System (DNS).
PRINSIP KERJA TRANSMISION CONTROL PROTOCOL (TCP)
Berbeda dengan Internet Protocol (IP), TCP mempunyai prinsip kerja seperti "virtual circuit" pada jaringan telepon. TCP lebih mementingkan tata-cara dan keandalan dalam pengiriman data antar proses di antara dua komputer dalam jaringan. TCP tidak perduli dengan apa-apa yang dikerjakan oleh IP, yang penting adalah hubungan komunikasi antara dua komputer berjalan dengan baik. Dalam hal ini, TCP mengatur bagaimana cara membuka hubungan komunikasi, jenis aplikasi apa yang akan dilakukan dalam komunikasi tersebut (misalnya mengirim e-mail, transfer file.) Di samping itu, IP juga mendeteksi dan mengoreksi jika ada kesalahan data. TCP mengatur seluruh proses koneksi antara satu komputer dengan komputer yang lain dalam sebuah jaringan komputer.
berhubungan dengan kita mengalami gangguan dan hubungan secara logis dapat diputus.
TCP mengatur multiplexing dari data yang dikirim/diterima oleh sebuah komputer. Adanya identifikasi pada TCP header memungkinkan multiplexing dilakukan. Hal ini memungkinkan sebuah komputer melakukan beberapa hubungan TCP secara logis. Bentuk hubungan adalah full duplex, hal ini memungkinkan dua buah komputer saling berbicara dalam waktu bersamaan tanpa harus bergantian menggunakan kanal komunikasi. Untuk mengatasi saturasi (congestion) pada kanal komunikasi, pada header TCP dilengkapi informasi tentang flow control.
Hal yang cukup penting untuk dipahami pada TCP adalah nomor port. Nomor Port menentukan pelayanan yang dilakukan oleh program aplikasi di atas TCP. Nomor-nomor ini telah tentukan oleh Network Information Center dalam Request For Comment (RFC) 1010. Sebagai contoh untuk aplikasi File Transfer Protocol (FTP) di atas transport layer TCP digunakan port number 20 dan masih banyak lagi.
Gambar 4 State diagram kerja TCP
Satuan paket data dari TCP disebut segment. Sebuah segment terdiri dari header dan data. Header mempunyai bagian tetap 20 bytes dan bagian optional yang panjangnya dapat berubah-ubah. Gambar 5 berikut adalah format header TCP.
Gambar 5 Format header TCP (Sutantyo & Utomo 2006).
Header dikirimkan dari kiri ke kanan. TCP menambahkan pseudo-header untuk keperluan perhitungan checksum pada segment-nya. Sehingga perhitungan checksum pada TCP meliputi header dan data TCP serta pseudo-header TCP. Pseudo header ini hanya berguna untuk perhitungan checksum saja dan tidak ikut dikirimkan bersama dengan header dan data. Maksud penggunaan pseudo-header ini adalah untuk memastikan bahwa segment telah mencapai tujuannya dengan benar. Gambar 6 menampilkan format pseudo header. Guna masing-masing field pada segment dan pseudoheader dapat dilihat di referensi RFC 793, mengingat keterbatasan panjang penulisan.
CLOSED
LISTEN
ESTAB SYNC SENT
CLOSED
FIN WAIT CLOSE WAIT
CLOSED SYN (active open) Passive Open
closse closse
Receive SYN Send SYN
Gambar 6 Format pseudo header (Sutantyo & Utomo 2006).
EMBEDDED SYSTEM
Embedded system adalah komputer system dengan fungsi yang spesial, mempunyai logika komputer dalam circuit board dan chips, terkadang mempunyai UI (User Interface), contohnya adalah hand phone, DVD player, dan lain-lain. Sedangkan General purpose Computer memungkinkan software yang berbeda untuk tujuan yang berbeda (Kharisma 2010).
Embedded system termasuk cabang ilmu komputer karena embedded system
merupakan mengunakan perhitungan komputasi dengan resource terbatas (memory & CPU Cycle). Desain embedded system membentuk sistem elektronika
yang didesain telah terintegrasi perangkat keras dan perangkat lunak. Perangkat
keras terkait dengan komponen elektronika dan interkoneksinya dalam rangkaian. Sedangkan perangkat lunak bekerja untuk mengatur kerja bagian-bagian yang terdapat dalam rangkaian dengan komponen mikroprosesor sebagai otak dari sistem. Suatu target yang ingin dicapai dari pengembangan embedded system adalah kemampuan membangun implementasi sistem yang berbasiskan sistem embedded. Sehingga untuk mencapai hal ini strategi penelitian yang dikembangkan mencakup dua hal, yaitu penelitian untuk memperkuat pemahaman konsep embedded system dan penelitian dalam rangka penerapan embedded system dalam berbagai area aplikasi nyata.
Beberapa embedded system yang banyak ditemui saat ini :
· Sistem Pemrosesan Siynal : Real-time video, DVD players, peralatan kesehatan. · Distributed control :Network routers, switches, firewalls, mass transit systems,
elevators
Adapun Karakteristik dari Embedded System adalah sebagai berikut : - Menjadi bagian dari sistem yang lebih besar
- Application-specific, bahkan sebagian bekerja dengan real-time Baik hardware maupun software dirancang khusus untuk aplikasi yang spesifik. Software yang dipergunakan untuk embedded system biasa disebut dengan firmware, dan disimpan di dalam ROM atau Flash Memory. Firmware tersebut bekerja dengan sumber daya yang sangat terbatas. (Tanpa Monitor, Keyboard dan memory yang besar).
- Interaksi dengan dunia fisik
Aspek-aspek yang membedakan Embedded System dari sistem lain (Saliman,
2006) : a. Biaya (cost)
Hal ini merupakan aspek yang dapat dikatakan paling penting karena sangat
mempengaruhi desain suatu embedded system secara keseluruhan. Dalam membuat suatu embedded system, biasanya dipilih komponen-komponen secara optimal, yaitu yang memungkinkan implementasi sistem tersebut tetapi dengan biaya yang serendah-rendahnya. Hal ini karena perbedaan harga sedikit saja dapat sangat berpengaruh ketika embedded system tersebut harus dipasarkan secara luas dalam jumlah yang besar.
b. Constraint waktu
c. Interaksi langsung dengan dunia nyata
Banyak embedded system, umumnya embedded control application, harus berhubungan langsung dengan dunia nyata. Akibatnya adalah kesalahan suatu gangguan bisa berakibat lebih fatal dibandingkan sistem komputer yang biasa. Jika misalnya suatu komputer server yang menyimpan database mengalami gangguan, paling parah yang terjadi adalah kehilangan data, dan apabila database tersebut di-backup secara berkala maka kerugiannya lebih kecil lagi. Hal ini akan sangat berbeda jika misalnya sistem kontrol dalam suatu pabrik kimia mengalami gangguan dan melakukan kesalahan.
d. Constraint energi
Banyak embedded system yang mengambil daya dari baterai. Hal ini berarti munculnya satu titik serangan baru pada embedded system, yaitu power supply.
e. Elektronika
Masih berhubungan dengan yang terakhir, karena embedded system merupakan
sistem yang sangat erat dengan elektronika, maka serangan-serangan atau gangguan juga mungkin dilakukan secara elektrik, misalnya analisis dengan multimeter, logic analyzer, dan sebagainya. Walaupun sistem komputer lain pada dasarnya juga merupakan alat elektronik, tetapi kemungkinan hal ini dilakukan lebih tinggi untuk embedded system.
Sifat – sifat pada Embedded Software
· Timeliness, Proses fisik memerlukan waktu.
· Concurrency, Di dunia fisik, banyak kejadian berlangsung pada waktu yang sama.
· Liveness
- Program tidak boleh berakhir.
- Harus mempertimbangkan hal-hal seperti timing, konsumsi power, fault recovery, security, dan robustness.
POWERLINE COMMUNIATION (PLC)
Sesuai namanya, Powerline Communication (PLC) adalah komunikasi data yang dilakukan melalui jalur listrik (Carcelle 2006). Jalur listrik merupakan hal yang sangat umum dan sangat mudah ditemukan. Hampir setiap kamar di setiap rumah pasti menyediakan stop kontak, bahkan beberapa di antaranya menyediakan lebih dari satu stop kontak. Berbekal kenyataan ini, secara sederhana dapat disimpulkan bahwa komunikasi via jalur listrik ini sangatlah mudah dilakukan karena infrastrukturnya sudah ada. Proses pemasangan PLC ini sangatlah mudah dan cukup murah (karena infrastruktur jalur listrik dan stop kontak sudah pasti ada di setiap rumah). Hanya perlu membeli PLC adapter yang sudah mulai banyak dijual dengan harga terjangkau. PLC adapter ini bentuknya cukup praktis, kira-kira seperti adaptor pada umumnya. PLC adapter ini harus dipasang pada stop kontak listrik biasa. Adapter yang di pasaran memiliki beberapa jenis dilihat dari fungsinya, adapter ini ada yang berfungsi sebagai antarmuka jala-jala listrik dengan komputer sebagai media jaringan lokal atau biasa disebut LAN (Local Area network) dan ada yang berfungsi sebagai antarmuka untuk mengendalikan peralatan listrik / elektronik melalui jala-jala listrik, perangkat ini biasa disebut modem PLC. Modem PLC sendiri memiliki antarmuka (interface) terhadap perangkat listrik/elektronik tersendiri tergantung perangkat listrik/elektronik tersebut, di penelitian ini modem PLC yang digunakan memakai serial data interface atau yang biasa disebut RS232. Perangkat yang menggunakan RS232 / serial sebagai antarmuka terhadap perangkat lain memiliki metode untuk menselaraskan data agar data yang dikirim dapat diterima dan dimengerti oleh perangkat yang menerimanya. Ada dua metode untuk menyelaraskan data antara pengirim (transmiter) dan penerima (receiver) yaitu dengan syncronous dan asyncronous. Syncronous memerlukan sinyal penentu dalam menentukan satu bit data yang kirim sehingga penerima dapat mengerti bahwa yang dikirim merpakan suatu bit, sinyal penentu ini biasa disebut sinyal
clock, sedangkan asyncronous menggunakan penentuan kecepatan kirim data
ukurannya antara pengirim dan penerima, selain itu juga diperlukan satu bit untuk penanda mulai mengirim dan satu bit untuk akhir.
Tenaga listrik yang dibangkitkan oleh pusat-pusat pembangkit pada proses pendistribusiannya ke pelanggan dialirkan melalui jaringan transmisi tenaga listrik (Gambar 7).
Gambar 7 Infrastruktur jaringan listrik ke pelanggan (Carcelle 2006).
Pada jaringan kabel tenaga listrik masih memungkinkan dilewatkan sinyal frekuensi di atas 60 Hz sampai orde beberapa MHz (Mega Hertz). Fakta tersebut menunjukkan bahwa pada jaringan tenaga listrik masih terdapat kapasitas frekuensi yang tidak gunakan. Teknologi PLC memanfaatkan kanal frekuensi yang tidak digunakan tersebut sebagai frekuensi transmisinya. Umumnya frekuensi yang digunakan berkisar antara 9kHz- 200Mhz.
PERANGKAT PLC
Perangkat-perangkat yang dibutuhkan dalam merealisasikan jaringan PLC yaitu Base Station, Modem, Repeater, dan Gateway. Base Station dan Modem
adalah perangkat dasar dari sistem PLC. Tugas utama dari perangkat dasar adalah persiapan sinyal dan konversinya yang untuk selanjutnya ditransmisikan melalui kabel listrik dan akan ditangkap di penerima. Berikut ini penjelasan fungsi dari masing-masing perangkat PLC.
Sebuah Modem PLC merupakan alat dasar komunikasi data yang digunakan oleh pengguna melalui media transmisi kabel listrik. Pada sisi pengguna ada beberapa standard interface yang dapat digunakan, misalnya Ethernet dan USB dan RJ45. Pada sisi lainnya Modem PLC ini dihubungkan dengan kabel listrik yang menggunakan metode kopling khusus sehingga dapat menginjeksikan sinyal data ke media kabel listrik dan dapat diterima di sisi penerima seperti tampak pada Gambar 8.
Gambar 8 Desain koneksi PLC Modem (Hrasnica et. al 2004).
Kopling tersebut berguna untuk memastikan pemisahan listrik dengan aman dan juga berguna sebagai high pass filter yang memisahkan sinyal komunikasi di atas frekuensi 9 kHz dari frekuensi daya listrik 50 atau 60 Hz. Untuk mengurangi emisi elektromagnetik dari saluran listrik, kopling tersebut bekerja di antara dua fasa pada area akses dan sebuah fasa dan pada konduktor yang netral di area dalam rumah. Modem PLC ini melakukan semua fungsinya pada layer fisik termasuk modulasi dan pengkodean. Data link juga dilakukan pada Modem PLC ini termasuk MAC (Medium Access Control) dan LLC (logical Link Control)
sublayer. Interface yang digunakan di modem PLC ini biasanya berupa serial
interface.
Sebuah
b. Base Station
Base Station PLC menghubungkan sistem akses dari PLC ke
jaringan backbone. Base Station ini merealisasikan hubungan antara jaringan komunikasi backbone dan media transmisi kabel listrik. Namun, Base Station
ini, sebuah Base Station dapat digunakan untuk merealisasikan hubungan dengan jaringan Backbone menggunakan teknologi komunikasi yang bervariasi seperti yang diilustrasikan pada Gambar 9.
Gambar 9 Pemasangan PLC base station (Hrasnica et. al., 2004).
Biasanya Base Station mengontrol jaringan akses PLC. Namun, realisasi dari jaringan kontrol atau fungsi khususnya dapat direalisasikan dalam cara terdistribusi. Pada kasus khusus setiap Modem PLC dapat mengambil alih kontrol sebuah jaringan operasi dan perealisasian hubungan dengan jaringan backbone.
Dalam beberapa kasus, jarak antara pengguna PLC yang ditempatkan di jaringan layanan
c. Repeater
low-voltage dan Base Station terlalu jauh untuk saling
terhubung. Agar dapat terealisasi maka dibutuhkan beberapa Repeater. Repeater
berfungsi membagi jaringan menjadi beberapa segmen, dan dapat mengubah jangkauan yang dapat dicakupi oleh jaringan sistem PLC. Segmen atau tingkatan pada jaringan dipisah dengan menggunakan frekuensi yang berbeda-beda. Cara kerjanya yaitu Repeater menerima sinyal transmisi pada frekuensi f1, dikuatkan dan diinjeksikan ke jaringan namun dalam bentuk frekuensi f2. Namun, Repeater
tidak mengubah isi dari informasi yang ditransmisikan (Gambar 10).
d. Gateway
Ada dua pendekatan untuk koneksi yang dapat dilakukan oleh pengguna PLC melalui soket dinding ke jaringan sistem PLC:
1. Direct connection, yaitu koneksi langsung
2. Indirect connection over a Gateway, yaitu koneksi melalui Gateway
Pada kasus pertama, Modem PLC langsung dihubungkan ke seluruh jaringan Low
voltage dan juga langsung terkoneksi ke Base Station. Tidak ada pembagian
antara area outdoor dan indoor, dan sinyal komunikasi ditransmisikan melalui unit Power meter. Namun, layanan pada jaringan Power Supply indoor dan
outdoor sangatlah berbeda, yang dikarenakan masalah tambahan lain yaitu
karakteristik dari saluran transmisi dan masalah kesesuaian elektromagnet (Gambar 11).
Gambar 11 Interkoneksi PLC tanpa menggunakan gateway (Hrasnica, et al. 2004).
dapat diletakkan di manapun di dalam jaringan akses PLC untuk menyediakan sinyal regenerasi(fungsi sebagai Repeater) dan juga pembagi jaringan pada tingkat logis. Dengan cara ini, sebuah PLC dapat dibagi menjadi beberapa subnetwork
yang menggunakan media transmisi fisik yang sama
Gambar 12 Interkoneksi PLC dengan menggunakan gateway (Hrasnica et al. 2004).
Pada Gambar 12 dapat dilihat, kedua Gateway dioperasikan sebagai Repeater
yang mengkonversikan sinyal transmisi antar frekuensi f1 dan f2(atau f2 dan f3), sama baik dengan f2 dan f3(atau f2 dan f3). Komunikasi antar anggota dari subnetwork dan Base station sangat mungkin jika melalui Gateway yang bertanggung jawab. Jaringan tersebut dapat diatur sehingga Base Station tersebut langsung mengendalikan sejumlah pengguna (subnetwork I). Gateway tersebut dihubungkan ke jaringan dengan cara yang sama seperti Repeater. Kesimpulannya, jumlah yang meningkat dari Gateway dalam sebuah jaringan PLC mengurangi kapasitas dan mengakibatkan biaya yang tinggi. Namun, saat
Repeater hanya menyediakan sinyal sederhana yang diteruskan, Gateway dapat
BAB III
METODE PENELITIAN
ALUR PENELITIAN
Sistem pengendalian dan akuisisi data jarak jauh dibangun guna mempermudah setiap orang untuk mengetahui dan mengendalikan status peralatan elektronik baik di kantor maupun di rumah bahkan peralatan bergerak dengan syarat bisa mengakses jaringan Internet. Untuk mengembangkan sistem ini diperlukan langkah–langkah sebagai berikut.
1. Studi Pustaka
Sebuah bahan pembelajaran baik secara tersirat maupun tersurat yang didapat dari seluruh sumber yang relevan dengan tema penelitian ini merupakan langkah yang dilakukan baik mulai dari awal maupun selama proses iterasi penelitian berjalan, sehingga pengetahuan bidang penelitian ini makin bertambah.
2. Investigasi sistem
Gambaran dan pemahaman akan sistem yang akan dibangun harus makin dimatangkan sehingga dapat menentukan kelayakan sistem apakah layak untuk dikembangkan dan sejauh mana sistem ini akan dibangun. Di tahap ini akan dikaji aspek – aspek yang akan terimbas jika sistem ini dikembangkan. Aspek – aspek tersebut dapat berupa :
- Aspek manfaat, sebesar apakah manfaat sistem ini jika selesai dibangun apakah makin memudahkan atau mengurangi kinerja baik perorangan maupun organisasi dan sejauh mana sistem atau penelitian ini dapat memberi kontribusi terhadap pengetahuan.
- Aspek teknis, aspek ini perlu dipikirkan karna sistem ini akan memanfaatkan jaringan Internet dan jaringan listrik, seberapa besarkah sistem ini akan mempengaruhi sistem lain yang terintegrasi baik secara fisik maupun logical dan fungsional.
implementasi, aspek biaya akan bergantung dari besarnya manfaat yang diperoleh saat sistem ini beroperasi.
3. Analisa sistem
Langkah ini akan menghasilkan gambaran, pengetahuan, batasan sistem, kriteria sistem, serta kemampuan sistem baik secara konseptual maupun detail.
4. Desain sistem
Perencanaan pengembangan sistem dilakukan pada tahap ini. Dengan pengetahuan yang telah dimiliki, kelayakan sistem yang menunjang kinerja, serta pemahaman sistem yang akan dibuat penulis siap untuk mendesain sistem baik secara logis maupun fisik, hasil dari langkah ini dapat berupa spesifikasi sistem sesuai kebutuhan dengan batasan yang didapat saat langkah analisa. Spesifikasi–spesifikasi yang terbentuk akan tertuang dalam dokumen–dokumen teknis yang dapat berupa diagram, rule map, role map, bil of material, cost report, source program maupun dokumen audio visual.
5. Implementasi sistem
Hasil desain sistem akan diimplementasi dalam pembuatan perangkat
software dan hardware dalam bentuk prototype serta penggunaan
infrastruktur jaringan LAN dan WAN dengan hak akses intranet dan Internet.
6. Evaluasi sistem
Dari hasil implementasi akan didapatkan karakteristik sistem yang telah dibangun dan dijalankan sehingga pada tahap ini akan diketahui spesifikasi sistem yang aktual dan akan dilakukan penilaian apakah sudah sesuai dengan apa yang direncanakan dan diharapkan.
7. Penyusunan laporan
Hasil kegiatan mulai dari studi pustaka, investigasi & analisa sistem, desain & implementasi serta evaluasi sistem akan menghasilkan dokumen–dokumen disetiap iterasinya serta prototype baik hardware
sesuai fakta yang didapat untuk dijadikan laporan akhir dari kegiatan penelitian ini.
ALAT, BAHAN DAN FASILITAS PENELITIAN
1. ALAT
Kegiatan penelitian ini akan membutuhkan kelengkapan peralatan sebagai berikut :
1. Perangkat keras - Komputer
- Osciloscope
- Logic probe
- Peralatan Solder - Multitester - Power supply
- Router
- Switch
2. Perangkat Lunak
- Sistem operasi Windows XP
- Software Protel
- Software CodeVision AVR
- Software Apache web server
- My-SQL Server 2. BAHAN
1. Modul AVR stater kit 2. Modul modem PLC 3. Modul Serial to Ethernet 4. Kabel
5. Bahan – bahan solder
6. Perangkat elektronik yang akan diakses dan dikendalikan
3. FASILITAS
3. Web Hosting
4. Powerline interkoneksi
INFRASTRUKTUR FISIK
Penelitian ini akan dilakukan dengan mengintegrasikan fasilitas yang tersedia, bahan dan alat beserta software yang akan dikembangkan. Rencana pengembangan infrastrukturnya dapat direprenstasikan pada Gambar 13.
Gambar 13 Rencana pengembangan infrastruktur
Gambar 13 menjelaskan bahwa pengguna dapat menerima data dan memberikan command (perintah) perangkat elektronik rumah melalui jaringan Internet. Untuk memberikan perintah, dengan mengakses website yang dimuatkan pada server penyedia ruang website (web hosting) pengguna dapat mengirim
command berupa perintah mengaktifkan atau menonaktifkan serta memberikan
suatu nilai pada suatu peralatan rumah. Perintah – perintah ini kemudian diakses oleh embedded host melalui modem Internet yang dipasang di rumah, data yang diterima kemudian diekstrak di application layer embedded host untuk diambil datanya yang berupa protocol command, protocol ini kemudian diterjemahkan
untuk menentukan instruksi apa yang dikirim pengguna terrhadap perangkat elektronik yang telah ditentukan. Intruksi ini diteruskan ke modem PLC untuk diubah menjadi sinyal-sinyal analog yang dapat ditransmisikan melalui jaringan listrik, karena semua modem PLC terhubung secara pararel dengan jaringan listrik rumah maka modem-modem PLC tersebutpun mendapat sinyal data yang sama tinggal setiap modem PLC menentukan apakah data tersebut ditujukan kepadanya, jika data tersebut memang ditujukan ke modem PLC tersebut maka modem PLC akan menerjemahkan intruksi yang diterima apakah mengaktifkan/menonaktifkan atau menset suatu nilai. Sedangkan untuk mendapat (get) data dari status alat–alat rumah yang terpasang, pengguna juga dapat melihatnya di web site. Data dari status alat yang terpasang didapat dari hasil pengumpulan seluruh data status alat pada embedded host, hasil pengumpulan ini dipaketkan dan kemudian dikirimkan
ke server yang berada di web hosting melalui jaringan Internet secara periodik.
BAB IV
HASIL DAN PEMBAHASAN
DIAGRAM KONTEKS SISTEM
Sistem ini dibangun dengan mengembangkan software, hardware dan infrastruktur jaringan yang telah tersedia. Pengembangan disisi software dapat dijelaskan pada diagram konteks sistem kendali & akuisisi jarak jauh peralatan elektronik berbasis IP (SKAPEI) berikut (Gambar 14).
Gambar 14 Diagram konteks sistem SKAPEI
Diagram konteks di atas menjelaskan interaksi pengguna dengan sistem dan interaksi sistem dengan peralatan rumah (home appliance). Pengguna berinteraksi dengan sistem melalui antar muka yang bersifat GUI (graphical user interace), pengguna dapat memberikan masukan berupa parameter–parameter yang diperlukan sistem untuk mengakses peralatan rumah dan penggunapun mendapatkan informasi tentang status dan nilai dari peralatan yang terpasang baik secara realtime maupun historical.
PROTOKOL
diterapkan pada Pada tingkatan yang terendah, protokol mendefinisikan koneksi perangkat keras. Protokol yang digunakan di dalam sistem ini dibagi menjadi dua bagian yaitu protokol untuk hubungan server–embedded host (jaringan Internet) dan embedded
host – device driver (jaringan rumah).
1. PROTOKOL SERVER – EMBEDDED HOST
Media yang digunakan untuk komunikasi hubungan antara server dan
embedded host adalah Internet. Pengguna dapat menggunakan penyedia jaringan
Internet baik jalur kabel maupun jalur udara (wireless). Protokol yang digunakan adalah HTTP (Hype Text Transfer Protocol).
HTTP digunakan untuk meminta/menjawab antar klien HTTP (dalam hal ini embedded host), akan memulai permintaan dengan
membuat hubungan keserveport
yang biasa digunakan untuk browsing Internet. Klien yang mengirimkan permintaan HTTP juga dikenal dengan user agent. Server yang meresponsnya, yang menyimpan sumber daya seperti berkas HTML dan gambar, dikenal juga sebagai origin server. Di antara user agent dan juga origin server, bisa saja ada penghubung, seperti halnya
Embedded host akan membuka koneksi ke server saat diberi catu listrik
(proses inisialisasi), setelah server dan embedded host terkoneksi embedded host
akan meminta (request) ke server dengan menggunakan metode Get, pengiriman
request disertai dengan data status dan nilai hasil pengumpulan seluruh alat yang
terpasang. Data yang diterima server akan disimpan di dalam database, dari
database ini pula data status dan nilai alat rumah terkait beserta status request
Gambar 15 Transaksi http antara embedded host dan server
2. PROTOKOL EMBEDDED HOST – DEVICE DRIVER
Protokol embedded host - device driver ini merupakan protokol pengembang sendiri sesuai kebutuhan dalam hal ini disebut defined protocol, protokol ini digunakan untuk komunikasi yang dapat dimengerti oleh device driver dalam melakukan fungsinya baik untuk mengubah data digital ke bentuk lain (kinetik maupun logika high atau low) dan mengubah nilai suatu bentuk analog (cahaya , tegangan, arus listrik atau kinetik) ke bentuk digital menggunakan sensornya. Data berisi perintah yang didapat dari server dikirim embedded host ke seluruh
device driver yang terhubung jaringan rumah persatuan waktu peralat dan
perstuan waktu pula embedded host menunggu response dari alat yang berisi data status dan nilai Bentuk protokol ini dapat dilihat pada Gambar 16.
Gambar 16. a. Protokol dari embedded host ke alat, b. dari alat ke embedded host
$ Id Alatn Perintah Nilai Check sum !
# Id Alat Perintah Nilai Check sum !
a
Pengiriman data dari embedded host ke alat diawali dengan tanda $ sebagai
header sehingga alat yang menerima mulai menyimpan data yang dikirim setelah
tanda $ hingga tanda ! diterima. Ketika seuntaian data sudah diterima alat dalam hal ini software device driver dengan ditandai tanda ! device driver akan melakukan validasi terhadap nilai check sum, jika data valid maka device driver
akan memeriksa isi dari Id alat untuk menentukan apakah data ini ditujukan kepadanya, ketika Id alat sesuai device driver akan mengekstrak perintah dan nilai yang terkandung dalam untaian data tersebut untuk menentukan apa yang harus dilakukan dan sebesar apa perlakuan tersebut berdasarkan nilai yang diberikan. Setelah mengeksekusi perintah device driver mengirimkan status atau nilai alat ke
embedded host diawali dengan header # dilanjutkan dengan asal Id alat, perintah
(jenis nilai), nilai dari hasil sensor, kemudian nilai check sum dari seluruh byte mulai dari id alat hingga nilai dan diakhiri dengan tanda !.
Data yang dikirimkan device driver diterima embedded host dan disimpan ke dalam memory kemudian embedded host akan mengirimkan data dari alat lainnya kemudian menerima lagi data kiriman dari alat dan seterusnya hingga seluruhnya untuk alat yang terpasang. Data seluruh alat yang tersimpan di memory embedded host akan digabungkan dan dipaketkan untuk dikirimkan ke server di periodik waktu request berikutnya.
SOFTWARE
Software sistem ini berdasarkan letaknya dibagi menjadi tiga bagian yaitu : web application, embedded host, dan device driver (Gambar 17).
Gambar 17 Software SKAPEI.
Software–software tersebut dihubungkan secara fisik dengan jaringan Internet untuk web application dengan embedded host dan PLC antara embedded host dengan device driver. Sedangkan komunikasi antara software web
application dengan embedded host menggunakan protokol HTTP pada tingkat application di OSI layer, defined protocol (protocol yang didefinisikan) merupakan protokol buatan yang digunakan untuk mengkomunikasikan antara embedded host dengan device driver.
Prinsip kerja ketiga software ini adalah sebagai berikut: web application memberikan interaksi terhadap pengguna berupa akses database baik mendapatkan (retrieve) informasi maupun memodifikasi (insert, edit, delete) data, embedded host secara periodik meminta (request) data dari server, data yang diterima berupa untaian instruksi terhadap peralatan rumah yang terpasang. Bersamaan dengan proses request embedded host mengirimkan untaian data status peralatan yang dikumpulkan dari peralatan yang terpasang. Komunikasi antara web application dengan embedded host menggunakan protokol HTTP melalui port 80. Kumpulan data yang diterima embedded host didapat dari pooling (meminta status/nilai masing-masing alat yang terpasang secara bergantian)
embedded host secara periodik melalui jaringan PLC terhadap software device driver yang berada di masing-masing alat, sedangkan intruksi yang diterima embedded host dari web application diekstrak (dipecah berdasarkan intruksi untuk setiap alat) kemudian dipaketkan untuk dikirim ke masing – masing alat secara bergantian melalui satu jalur PLC. Komunikasi yang digunakan antara embedded host dan device driver menggunakan protokol buatan sendiri yang sudah telah didefinisikan (defined protocol). Command yang diterima device driver diinterpretasikan kealat bisa berupa gerakan kinetik (dengan menggunakan motor atau solenoid) maupun mengubah (on/off). Keadaan alat baik nilai maupun state (on/off) diterima sensor dipaketkan oleh device driver untuk siap dikirimkan ke embedded host.
1. WEB APPLICATION
MYSQL, di aplikasi inilah pengguna berintraksi baik mendapat informasi status/history status maupun memberikan command (perintah) ke peralatan rumah, perintah terhadap peralatan disimpan di dalam database untuk siap diminta (request) software embedded host per satuan waktu (periodik), data yang diterima dari embedded host per satuan waktu disimpan ke dalam database untuk siap diakses pengguna.
Gambar 18 Interkasi client server
Interaksi pengguna dengan aplikasi web secara infrastruktur merupakan interaksi antara komputer client dengan komputer server, Gambar 18 menjelaskan interaksi tersebut. Web application merupakan aplikasi berbasis Web yang dapat diakses baik komputer maupun smart phone pengguna dengan menggunakan Web
browser misalnya Internet Explorer, Firefox Mozila, Opera, dan Chrome melalui
jaringan Internet, ketika diakses pengguna aplikasi ini terbagi dua menjadi server side (bagian server) dan client side (bagian klien), aplikasi ini menggunakan Ajax agar tidak semua halaman dimuat hanya untuk memuat satu bagian kecil (element) dalam halaman Web. Ajax pada aplikasi ini digunakan untuk memuat ulang
(refresh) status baik nilai ataupun keadaan on/off seluruh peralatan yang terpasang
.tanpa memuat seluruh halaman secara periodik, agar efek perubahan status terlihat real time.
Interaksi web application dengan embedded host sama halnya klien dan
server hanya saja pada embedded host memiliki resource (sumber daya) yang
terbatas sehingga tidak sekompleks dengan klien yang menggunakan komputer. Interaksi keduanya menggunakan protokol HTTP dengan metoda GET dan POST,
embedded host melakukan koneksi ke server dan meminta data, permintaan
menjawab (response) dengan untaian perintah ke embedded host, lebih jelas ada pada Gambar 19.
Gambar 19 Interaksi web application dengan embedded host
Untuk lebih jelas proses di request handler dapat dilihat pada flowchart Gambar 20.
Start
Ambil isi parameter id_rumah, id_alat, nilai dari data yang
dikirim melalui HTTP
Masukkan paramater id_rumah, id_alat, dan nilai kedalam database tabel status_alat disertai tanggal da jam dari server
Ambil id_alat, komand dan nilai dari database tabel
perintah yang belum dieksekusi dan id_rumahnya
= id_rumah yang dikirim embedded host
Gambar 20 Flowchart proses request handler
Request
Response & Command set
Request & Store status set
Fomat protokol yang diterima di proses handler bebentuk HTTP seperti ”GET update_alat.php?idrumah=2&idalat=1&nilai=1” parameternya berupa idrumah, idalat dan nilai alat sedangkan yang melakukan eksekusi parameter itu (request
hendler) adalah file update_alat.php. parameter yang diterima disimpan ke dalam
database tabel status_alat disertai dengan tanggal dan waktu penerimaan data setelah itu request handler melakukan pencarian data perintah (comand) pada tabel perintah sesuai parameter idalat dan idrumah yang diterima untuk dijadikan
response ke embedded host.
Hasil penelitian dari software ini memiliki tampilan utama seperti pada Gambar 21.
Gambar 21 Tampilan utama aplikasi web.
posisinya. Untuk mengatur atau mengubah suatu kondisi alat pengguna cukup menekan tombol sebelah kiri mouse sehingga muncul pop up menu yang terdiri dari perintah-perintah terhadap alat untuk peralatan yang hanya diatur on/off pop
up menu yang muncul terdiri dari: Aktifkan, Non aktifkan, dan History.
Sisi sebelah kanan menu utama terdapat penjelasan detail dari suatu peralatan, penjelasan ini berisi tanggal terakhir data masuk dari peralatan rumah, nama alat tersebut beserta nilainya, untuk peralatan yang hanya memberikan suatu nilai tidak diletakkan di layout ruangan melainkan di sisi kanan menu utama.
Data yang ditampilkan pada menu utama diambil dari database yang tersimpan di server web hosting, database ini dibangun menggunakan MySQL yang terdiri atas tabel-tabel, relasi dari tabel-tabel tersebut dapat dilihat pada Gambar 22.
Ketentuan yang diterapkan untuk membangun relasi tabel-tabel ini adalah: 1.Setiap pengguna dapat mengakses lebih dari satu rumah.
2. Setiap rumah bisa memiliki lebih dari satu lantai. 3. Satu lantai memiliki lebih dari satu alat (device).
4. Satu alat dalam suatu lantai memiliki lebih dari status / nilai. 5. Setiap alat memiliki satu tipe.
6. Setiap alat bisa diberikan perintah lebih dari satu dengan waktu masing-masing.
2. SOFTWARE EMBEDDED HOST
Embedded host software mengatur pooling data dari peralatan–peralatan
yang terpasang secara bergantian dengan menggunakan protokol yang telah didefinisikan (dibahas pada bagian protokol) agar bisa dimengerti oleh software
device driver, hasil pooling tersebut dipaketkan dengan beberapa byte sebagai
header, embedded host id dan byte CRC (Cyclic Redudancy Check), paket ini siap
dikirimkan ke server persatuan waktu yang telah ditentukan sesuai kebutuhan dengan menggunakan metode POST pada protokol HTTP. Bentuk fisik embedded host ini dibangun dengan komponen utama sebuah mikrokontroller dari keluarga AVR yang memiliki flash memory didalamnya, di flash memory inilah software
ditanamkan (embed). Software embedded host ini dibuat dengan menggunakan bahasa pemrograman C dan dilakukan compile dengan tools codevision AVR, secara struktur dapat dilihat pada Gambar 23.
Gambar 23 Struktur embedded host software.
Blok timer berfungsi untuk memanggil fungsi Get & Post per satuan waktu (periodik) yang dapat ditentukan sesuai keperluan, sedangkan fungsi Get & Post
merupakan fungsi untuk merubah paket yang berisi untaian status alat menjadi format protokol HTTP untuk dikirimkan ke server, fungsi lainnya mengubah data yang diterima dari server berupa response dan command dalam bentuk protokol HTTP menjadi format yang berisi untaian perintah (command) untuk peralatan yang terpasang, untaian ini kemudian dipecah–pecah (intepreted) berdasarkan jumlah alat dari embedded host (satu embedded host memiliki labih dari satu alat), pecahan–pecahan ini berupa alamat (identifikasi) alat–alat yang terpasang beserta nilainya, kemudian ditampung dan diatur di fungsi devices commands untuk siap didistribusikan ke masing–masing alat.
Start
Timer Overflow ?
Paketkan Semua Data hasil akusisi dari variabel perangkat
elektronik yg terpasang
Kirim Request nilai dan byte command yg ada ke perangkat
elektronik yang ke i For i= 1 to jumlah alat
yang terpasang
Ada data jawaban dari perangkat elektronik yg ke I ?
Waktu Req= elektronik yg ke I = null
Set variable nilai
Fungsi pool & distribut bekerja mengatur waktu pengiriman instruksi untuk mengirim command dan menerima data dari dan ke alat secara bergantian, jadi sekali embedded host mengirimkan (distribute) command saat itu pula embedded host meminta status dan nilai alat, status dan nilai alat yang diterima dari hasil
pooling dilanjutkan ke proses pemaketan (package) untuk dipaketkan bersama–
sama dengan id embedded host, beberapa byte header dan hasil perhitungan CRC. Hasil pemaketan ini kemudian siap untuk diubah menjadi format protokol HTTP di fungsi Get & Post. Secara garis besar flowchart nya dapat dilihat pada Gambar 24.
2. SOFTWARE DEVICE DRIVER
Device driver merupakan software yang berinteraksi langsung terhadap
peralatan rumah yang mengubah dari byte–byte perintah menjadi sinyal–sinyal listrik yang dapat mengubah kondisi peralatan listrik baik berupa aktuator ataupun keadaan on/off. Setiap jenis peralatan memiliki device driver yang berbeda dan belum tentu bisa digunakan di jenis peralatan listrik lainnya, misalnya device
driver untuk mengubah keadaan on/off tidak bisa digunakan untuk mengubah
gerakan motor stepper karena keluaran dari device driver berbeda, device driver
juga memiliki tugas untuk membaca status dan nilai peralatan listrik dengan menggunakan sensor yang sesuai dengan kondisi peralatan listrik yang digunakan, hasil pembacaan sensor ini dipaketkan untuk siap dikirim ke embedded host.
Gambar 25 Struktur software device driver.
Gambar 25 menampilkan blok diagram prinsip kerja software device driver,
software ini menunggu request dari embedded host, ketika embedded host
memancarkan (broadcast) data, masing–masing device driver akan melakukan pemeriksaan apakah alamat data yang dituju sesuai dengan alamat device driver
tersebut, ketika sesuai device driver akan menerjemahkan (interpreter) protokol yang diterima menjadi perintah (command) untuk mengaktifkan pulse generator
(untuk alat tipe switch on/off, untuk aktuator dapat berupa pulsa PWM), perubahan status akibat perintah yang telah dilaksanakan dibaca sensor yang kemudian data hasil pembacaannya dipaketkan dengan id alat beserta CRC dalam bentuk protokol yang telah didefenisikan sebelumnya, paket ini diteruskan ke
embedded host melalui fungsi request & response sebagai jawaban atas data yang
dikirimkan embedded host lebih jelas tampak pada flowchart Gambar 26. Start
CRC sesuai? Set receive flag = 0 dan data = null
Hitung CRC Gabungkan hasil gabungan
nilai, alamat, komand dengan Header, tail dan
CRC
USE CASE
Pengembangan software pada sistem ini dibagi tiga bagian melihat dari letak software itu berada yaitu software untuk web site, sofware untuk embedded host dan untuk device driver, komunikasi antara web site application dan embedded host menggunakan protokol HTTP sedangkan antara embedded host dengan device driver menggunakan protokol yang dibangun sendiri. Untuk lebih jelas proses-proses pada ketiga software tersebut dapat dilihat pada diagram use case berikut (Gambar 27).
-User name, Password House selection
-House_id, Address
Use case pada Gambar 27 yang berwarna putih merupakan proses–proses yang berada di Web application sedangkan yang berwarna abu-abu merupakan proses yang ada di embedded host, warna hitam untuk device driver, berikut penjelasan use case SKAPEI:
a. Login
Proses ini diperlukan sebagai aspek keamanan sistem, proses ini menentukan autentikasi dan authorisasi pengguna terhadap sistem baik untuk menentukan akses terhadap rumah, lantai dan peralatan di dalamnya. Di proses ini pengguna diharapkan untuk mengisi user id dan password.
b. House selection
Proses login akan menentukan hak akses pengguna terhadap rumah yang akan dipantau ataupun diatur peralatannya, sistem ini memberikan hak satu pengguna dapat mengakses satu atau lebih rumah, dengan memilih rumah yang akan diakses dari daftar rumah yang telah ditentukan sebelumnya.
c. Listing floor
Pemilihan rumah pada proses house selection akan menghasilkan daftar lantai yang ada di rumah tersebut, dari daftar lantai tersebut satu atau lebih dapat diakses oleh pengguna. Pengguna berinteraksi pada proses ini akan menghasilkan floor_id ketika memilih salahsatu lantai.
d. Listing device
Satu atau lebih alat akan ditampilkan sistem ketika pengguna telah memlih lantai dari daftar lantai yang ada, daftar ini diperoleh melalui proses device
on-board.
e. Active/deactive & Rename Device
terpasang sehingga web application tidak perlu menampilkan alat ini di tampilan monitoring ataupun report.
f. Device report
Device report merupakan proses di web application untuk memberikan laporan
berupa daftar peralatan beserta status dan nilainya sehingga pengguna dapat mengetahui kondisi peralatan yang terpasang di rumahnya. Laporan yang ditampilkan bisa dipilih berdasarkan waktu, alat, maupun secara real time
(langsung). data yang diproses berasal dari proses penyimpanan sebelumnya.
g. Set Device status & value
Di proses inilah pengguna dapat menentukan baik state (keadaan) maupun nilai suatu alat, dengan memilih alat dan mengaturnya proses ini akan meneruskan parameter (data) terkait ke proses storing dan disimpan ke dalam database yang nantinya akan dipaketkan dan dikirim ke alat rumah terkait. Proses ini akan memberikan tampilan ke pengguna tergantung jenis alat yang akan diatur.
h. Storing
Data yang masuk ke web application dari embedded host akan tersimpan ke dalam database server melalui proses storing, tujuannya agar data ini bisa ditampilkan ke pengguna sesuai kebutuhannya, selain data yang berasal dari
embedded host proses storing juga memiliki fungsi untuk menyimpan perintah
(command) untuk peralatan yang diberikan oleh pengguna melalui proses set
device status & value, perintah ini akan diambil di proses command request.
i. Device on Board
Proses ini berada di embedded host yang memiliki fungsi untuk mengumpulkan peralatan aktif apa saja yang terpasang di jaringan PLC, sehingga sistem memiliki daftar peralatan aktif, proses ini berinteraksi dengan device driver
masing–masing alat untuk memberikan statusnya apakah aktif atau tidak begitu
j. Pooling data from device
Seperti diterangkan pada subbab sebelumnya embedded host secara periodik akan meminta (request) command dari server sekaligus mengirim status ke
server, proses pooline inilah yang akan mengumpulkan seluruh status dan nilai
dari peralatan aktif yang terpasang dari daftar peralatan yang didapat saat proses
device on board, proses pooling per alat dilakukan secara bergantian melalui
proses device status & value request.
k. Device status & value request
Proses ini memiliki fungsi membentuk seuntaian format data yang berisi perintah untuk meminta (request) status dan nilai suatu alat berdasarkan id masing–masing alat, jadi proses ini akan dilaksanakan ketika proses pooling
dijalankan.
k. Command request
Pengiriman data antara embedded host dan server secara periodik berisi seuntaian perintah (command) yang diminta (request) untuk seluruh peralatan aktif yang terpasang , untaian ini dipecah–pecah berdasarkan alat sehingga pecahan-pecahan tersebut berisi id alat beserta perintah – perintahnya, perintah– perintah ini kemudian dikirimkan secara bergantian ke device driver alat yang sebelumnya dipaketkan dan diformat dalam bentuk protokol terdefenisi di proses set device status & value.
l. Set device status & value
proses ini memaketkan data berisi perintah mengatur suatu alat apakah on/off atau memberikan suatu nilai kemudian diberikan perintah, proses ini dilakukan peralatan secara bergantian sesuai keinginan pengguna. Pengaturan ini hanya ada di web apllication.