BAB II LANDASAN TEORI
2.1 Konsep Dasar Sistem Secara sederhana suatu sistem dapat diartikan sebagai suatu kumpulan atau himpunan dari unsur, komponen, atau variabel yang terorganisir, saling berinteraksi, saling tergantung satu sama lain, dan terpadu.[10]
Gambar 2.1 Element Sistem[10] Sistem juga merupakan kesatuan dari bagian-bagian yang saling berhubungan dan berada dalam suatu wilayah serta memiliki penggerak. Pada penelitian ini, sistem yang dibangun merupakan kesatuan dari perangkat keras dan perangkat lunak yang saling terhubung dan dapat berkomunikasi untuk menghasilkan output sesuai input yang diterima.
8
9
Suatu sistem mempunyai beberapa karakteristik, yaitu :[10] 1. Komponen Sistem (Component System) Suatu sistem harus terdiri dari sejumlah komponen yang saling berinteraksi, artinya saling bekerja sama membentuk satu kesatuan. Komponen sistem dapat berupa subsistem – subsistem atau bagian – bagian sistem. 2. Batasan Sistem (Boundary System) Batasan sistem merupakan daerah yang membatasi antara suatu sistem dengan sistem yang lainnya atau dengan lingkungan luarnya. Batasan sistem ini memungkinkan suatu sistem dipandang sebagai satu kesatuan, batasan sistem menunjukkan ruang lingkup (scope) sistem itu sendiri. 3. Linkungan Luar Sistem (Enviroment System) Lingkungan luar sistem yaitu apapun di luar batas sistem yang dapat mempengaruhi operasi sistem. Lingkungan luar sistem dapat bersifat menguntungkan dan dapat juga bersifat merugikan. Lingkungan luar sistem yang menguntungkan merupakan energi dari sistem tersebut yang harus tetep dijaga dan dipelihara, dan ingkungan luar sistem yang merugikan harus ditahan dan dikendalikan. 4. Penghubung (Interface) Penghubung merupakan hal yang sangat penting, sebab tanpa adanya penghubung, sistem akan berisi kumpulan subsistem yang berdiri sendiri dan tidak saling berkaitan.
10
5. Masukan (Input) Suatu energi yang dimasukkan kedalam sistem. Masukan dapat berupa masukan perawatan (maintenence input) dan masukkan sinyal (signal input). 6. Keluaran (Output) Keluaran merupakan hasil dari pemrosesan. Keluaran dapat berupa informasi sebagai masukan pada sistem lain atau hanya sebagai sisa pembuangan. 7. Sasaran (Objective) Suatu sistem pasti memiliki sasaran (objective) atau tujuan (goal), apabila sistem tidak mempunyai sasaran, maka operasi sistem tidak ada gunanya.
Suatu sistem dapat diklasifikasikan sebagai berikut :[10] 1. Sistem Abstrak dan Sistem Fisik Sistem abstrak adalah sistem yang berupa pemikiran atau gagasan atau ide – ide yang tidak tampak secara fisik. Misalnya, sistem teologi, yaitu sebuah pemikiran tentang hubungan anatara manusia dengan tuhan. Sedangkan sistem fisik adalah sistem yang ada secara fisik dan dapat dilihat dengan mata. Misalnya sistem komputer, sistem akuntansi, dan lain sebagainya. 2. Sistem Alamiah dan Sistem Buatan Manusia Sistem alamiah adalah sistem yang terjadi karna proses alam, bukan buatan manusia. Misalnya, sistem tata surya, sistem rotasi bumi. Sistem
11
buatan manusia adalah sistem yang terjadi melalui rancangan atau campur tangan manusia. Misalnya, sistem komputer, sistem transportasi. 3. Sistem Tertentu dan Sistem Tak Tentu Sistem tertentu yaitu sistem yang operasinya dapat diprediksi secara cepat dan interaksi diantara bagian – bagiannya dapat diprediksi dengan pasti. Misalnya, sisitem komputer. Sistem tak tentu yaitu sistem yang hasilnya tidak dapat diprediksi karena mengandung unsur probabilitas. Misalnya, sistem persediaan. 4. Sistem tertutup dan Sistem Terbuka Sistem tertutup adalah sistem yang tidak berhubungan dengan lingkungan diluar sistem. Sistem ini tidak berinteraksi dan tidak dipengaruhi oleh lingkungan luar. Sistem terbuka adalah sistem yang berhubungan dengan lingkungan luar dan dapat terpengaruh dengan lingkungan luar. Sistem terbuka menerima input dari subsistem lain dan menghasilkan output untuk subsistem lain.
2.2 Sistem Smart Home (Rumah Cerdas) Sistem smart home (rumah cerdas) merupakan kesatuan sistem yang terdiri dari kontrol, monitoring dan otomatisasi yang terkomputerisasi secara terpusat. Pada penelitian ini, sistem smart home diimplementasikan dalam ruang lingkup yang lebih kecil atau sederhana, yaitu pengontrolan terhadap lampu rumah.
12
Gambar 2.2 Konsep Smart Home[8] Rumah merupakan bangunan yang berfungsi sebagai tempat tinggal dan berlindung manusia. Pada dasarnya sebuah rumah terdiri atas ruang-ruang terpisah dengan fungsi tersendiri dan berisi alat-alat elektronik dan perabot rumah tangga. Sistem smart home (rumah cerdas) adalah sistem aplikasi yang merupakan gabungan antara teknologi dan pelayanan yang dikhususkan pada lingkungan rumah dengan fungsi
tertentu
yang bertujuan meningkatkan efesiensi,
kenyamanan dan keamanan penghuninya. Sistem rumah cerdas biasanya terdiri dari perangkat kontrol, monitoring dan otomatisasi beberapa perangkat atau peralatan rumah yang dapat diakses melalui sebuah komputer[8]. Sistem rumah cerdas merupakan sistem kontrol pencahayaan, HVAC (pemanas, ventilasi dan AC), peralatan, dan sistem lainnya yang terkonfigurasi dan terkomputerisasi satu sama lain secara terpusat. Teknik-teknik yang digunakan dalam sistem rumah pintar diantaranya adalah otomatisasi bangunan
13
dan pengendalian kegiatan domestik seperti sistem hiburan rumah, houseplant dan penyiraman halaman dan lainya. Perangkat-perangkat rumah pintar dihubungkan melalui jaringan komputer untuk memungkinkan kontrol dengan menggunakan komputer, smartphone atau alat yang dibuat khusus sebagai pengontrol. Melalui integrasi teknologi informasi dengan lingkungan rumah, sistem dan peralatan rumah dapat berkomunikasi secara terpadu yang menghasilkan kenyamanan, efisiensi energi dan manfaat keselamatan.
2.2.1 Komponen Smart Home Sistem rumah cerdas adalah sistem yang terdiri dari beberapa komponen pendukung yang saling berinteraksi satu sama lain. Sebuah rumah dapat dikatakan sebagai rumah cerdas apabila memiliki komponen personal internal networking, intellegent control dan home automation.[8]
Gambar 2.3 Komponen Smart Home[8][20]
14
1. Internal Network Internal network atau intranet adalah sebuah jaringan komputer berbasis protokol TCP/IP yang digunakan dalam internal perusahaan, kantor dan rumah. Intranet menggunakan semua protocol (Protokol TCP/IP, alamat IP, dan protokol lainnya), klien dan juga server. Protokol HTTP dan beberapa protokol Internet lainnya (FTP, POP3, atau SMTP) umumnya merupakan komponen protokol yang sering digunakan. sebuah intranet dapat dipahami sebagai sebuah "versi pribadi dari jaringan Internet", atau sebagai sebuah versi dari Internet yang dimiliki oleh sebuah organisasi.
2. Intelligent Control Intelligent control atau kontrol cerdas adalah suatu bidang sains komputer yang ditujukan untuk menyempurnakan kinerja sistem instrumentasi elektronika. Peralatan atau mesin atau sistem yang dibangun dapat melakukan kerja yang memerlukan kecerdasan apabila dilakukan oleh manusia. Sebagai contoh, jika kita menanyakan suatu subjek pada mesin atau peralatan, maka akan memperoleh jawaban darinya. Intelligent control
adalah gerbang untuk mengelola sistem.
Intelligent control pada smart home memiliki dua kegunaan, yaitu menjembatani teknologi yang berbeda di dalam rumah dan menyediakan akses dari rumah ke layanan eksternal maupun sebaliknya[20].
15
3. Home Automation Home automation merupakan suatu cara untuk mempermudah pekerjaan rumah manusia yang menggunakan teknologi, sehingga dapat memberikan rasa nyaman, hidup yang lebih mudah, dan lebih mempunyai waktu lengang. Home Automation juga dapat menyediakan akses remote untuk peralatan rumah atau sistem otomatisasi itu sendiri, melalui jaringan telepon, transmisi nirkabel atau internet, untuk memberikan kontrol dan pemantauan melalui smartphone atau web browser.
2.2.2 Aplikasi Smart Home Berbagai aplikasi sistem rumah cerdas dikembangkan dengan berbagai fitur sebagai konsep rumah masa depan. Aplikasi yang dibuat dibedakan dari segi fungsi dan tujuan masing-masing. Aplikasi tersebut ada yang dibuat khusus menangani satu fungsi seperti untuk sistem keamanan saja, ada pula yang merupakan gabungan dari beberapa fungsi seperti aplikasi sistem kontrol dan monitoring atau lainnya. Beberapa contoh aplikasi sistem rumah cerdas adalah seperti pada Tabel 2.1[8]
16
Tabel 2.1 Aplikasi Smart Home[8] Safety and
Control and
Measure and
Information and
Security
Automatic
Monitoring
Communication
Door access
Lighting
Trouble /
Audio Visual
Control
Maintenance
Switch off / Alarm Air conditional
Environment Data
Network service
Front door /
Temperature
Tele service /
Window
measure
Operation
If danger
control
observation Video observation
2.2.3 Teknologi Smart Home Penggunaan teknologi di lingkungan rumah saat ini sudah menjadi hal yang biasa, saat ini penggunaan jaringan baik yang menggunakan kabel atau nirkabel dan perangkat cerdas lainnya dapat dikategorikan sebagai Smart Home. Penggunaan dari sekedar multimedia, sampai dengan membuka pintu, pengendalian suhu, atau memberikan referensi yang cerdas sesuai dengan keinginan dan kebiasaan penghuni rumah tersebut, membantu tugas-tugas nya, dan sebagainya [19]. Perangkat sistem rumah cerdas memanfaatkan teknologi jaringan kabel dan nirkabel untuk saling berkomunikasi dalam melakukan pemantauan, pengendalian dan pengoperasian peralatan rumah. Teknologi nirkabel yang pada
17
umumnya digunakan pada sistem rumah cerdas antara lain : ZigBee , Wi-Fi , ZWave , dan RFID sedangkan teknologi kabel antara lain : RS485 , PLC , I2C dan SPI[17]. Penjelasan lebih lanjut teknologi tersebut dapat dilihat pada Tabel 2.2
Tabel 2.2 Media Komunikasi Teknologi Smart Home[17] ZigBee/
Bluetooth/
Wi-Fi/
IEEE
IEEE
IEEE
802.15.4
802.15.1
802.11
HomePlug Feature
RFID
I2C
SPI 1.0 (PLC)
Based data rate
Frequency
Range
250 kbps
2.45GHz
10-100 m
1Mbps
2.45GHz
10 m
11,000+k
100kbps-3.4
bps
Mbps
2.45GHz
1-100 m
20Mbps
14Mbps
Free (n MHz to
5000kHz-
100
10n
1MHz
400
where n is an
KHz or 3.4
integer from 1
MHz
to 9
few meters
100 m
1-3 km
depends on the
x
120kHz -
Limited
10
either
GHz
KHz
10cm
-
to
,
MHz)
:
200m Latency
30msec
18-21usec
0.3usec
25-300
Depends
usec
the
on
master
master clock
clock Nodes/Masters
65540
7
32
Battery life
years
days
hours
Complexity
simple
complex
very
1024
128 bit
128 bit
low
less
requirement
requirement
simple
simple
simple
hardware
hardware
x
x
WPA/
AES
WPA2
128-bit
power
low
x
battery-
complex Security
2-3. power
low
simple
x
18
2.3 Jaringan Nirkabel (Wireless Networking) Sub bab ini akan membahas teknologi jaringan nirkabel. Pada penelitian ini, penulis memanfaatkan teknologi jaringan nirkabel sebagai media komunikasi Raspberry Pi dengan perangkat pengontrol lampu. Wireless network adalah jaringan komputer yang menggunakan media penghantar berupa gelombang radio atau cahaya (infrared atau laser). Frekuensi yang digunakan wireless network biasanya 2.4 GHz dan 5.8 Ghz. Sedangkan untuk penggunaan jaringan infrared dan laser umumnya hanya terbatas untuk jenis jaringan yang hanya melibatkan dua buah titik saja (poit to point).[15] Teknologi jaringan nirkabel banyak dimanfaatkan karena dianggap lebih praktis karena tidak membutuhkan instalasi kabel yang rumit dan mahal serta dapat menjangkau area yang sulit di jangkau, terlebih jika area implementasinya yang tidak datar, seperti daerah pegunungan dan perbukitan. Teknologi jaringan nirkabel dalam perkembangannya memiliki kelebihan dan kekurangan. Selain itu jenis jaringan nirkabel juga dapat dibedakan berdasarkan luas area jangkauannya
2.3.1 Jenis-jenis Jaringan Nirkabel Berdasarkan luas area jangkauannya, jaringan nirkabel dibedakan menjadi beberapa jenis, yaitu : WPAN (Wireless Personal Area Network), WLAN, (Wireless Local Area Network), WMAN (Wireless Metropolitan Area Network) dan WWAN (Wireless Wide Area Network).
19
Gambar 2.4 Jenis-jenis Jaringan Nirkabel
1. WPAN (Wireless Personal Area Network)
Gambar 2.5 WPAN (Wireless Personal Area Network) WPAN merupakan jaringan komputer yang dibentuk oleh beberapa buah komputer atau antara komputer dengan peralatan non-komputer seperti printer, telepon selular, PDA, handphone, dan lain-lain. WPAN mengandalkan teknologi Bluetooth, WiFi dan Infrared sebagai media komunikasinya dan jarak jangkauannya kurang dari 10 Meter.
20
2. WLAN (Wireless Local Area Network)
Gambar 2.6 WLAN (Wireless Local Area Network) WLAN merupakan jaringan komputer yang biasa digunakan dalam ruang atau lokasi gedung yang sama. Luas area jangkauan WLAN kurang dari 100 Meter. 3. WMAN (Wireless Metropolitan Area Network)
Gambar 2.7 WMAN (Wireless Metropolitan Area Network) Teknologi WMAN dirip dengan WLAN. Hanya saja area jangkauannya lebih besar dan perangkat yang terhubung jauh lebih banyak dibandingkan dengan WLAN. WMAN merupakan jaringan komputer yang meliputi keseluruhan kota atau gabungan beberapa WLAN yang saling tehubung.
21
4. WWAN (Wireless Wide Area Network)
Gambar 2.8 WWAN (Wireless Wide Area Network) Teknologi WWAN merupakan jaringan komputer yang cakupannya paling luas, seperti koneksi antar negara atau benua. Jarak yang dapat dijangkau WWAN maksimal 30 Km.
2.3.2 Kelebihan Jaringan Nirkabel Kelebihan teknologi jaringan nirkabel (wireless network) : 1. Dikembangkan tanpa kabel dan menggunakan gelombang radio dengan frekuensi 2,4 GHz. Selain itu dapat mengirim dan menerima sampai 54 Mbps. 2. Menggunakan jalur akses jaringan/hotspot yang dapat berkomunikasi ke semua komputer dan laptop. Wireless client : PCMACIA / PC Card. Gateway server, modem, router dan proxy.
22
3. Memungkinkan digunakan tanpa kabel, untuk mengurangi biaya penyebaran jaringan dan ekspansi. Ruang di mana kabel tidak dapat dijalankan, seperti area outdoor. 4. Jaringan mendukung roaming, dimana sebuah stasiun clientmobile seperti laptop dapat berpindah dari satu jalur akses ke jalur akses yang lainnya. 5. Protocol baru untuk kualitas layanan multimedia (WMM) dan mekanisme power saving (WMM Power Save) membuat jaringan nirkabel lebih sesuai untuk aplikasi yang latency-sensitif (seperti suara dan video)
2.3.3 Kekurangan Jaringan Nirkabel Kekurangan teknologi jaringan nirkabel (wireless network) : 1. Adanya kelemahan yang terletak pada konfigurasi dan jenis enkripsi. Kelemahan tersebut diakibatkan karena terlalu mudahnya membangun sebuah jaringan wireless. 2. Wired Equivalent Privacy (WEP) yang menjadi standard keamanan wireless sebelumnya dapat mudah dipecahkan dengan berbagai tools yang tersedia gratis di internet. 3. Penyaluran gelombang dan keterbatasan operasional yang tidak konsisten di seluruh dunia. 4. Konsumsi power yang cukup tinggi jika dibandingkan dengan beberapa standar lainnya, membuat masa pakai baterai berkurang dan panas.
23
5. Jaringan wireless memiliki rentang yang terbatas. 6. Jaringan wireless menggunakan spectrum 2,4GHz tanpa izin, yang menyebabkan tabrakan dengan perangkat lain seperti Bluetooth, oven microwave, telepon tanpa kabel atau perangkat pengirim video dan lain-lain. Hal-hal tersebut dapat menyebabkan penurunan kinerja jaringan wireless. 7. Intervensi pada jalur akses tertutup atau dienkripsi dengan jalur akses
terbuka yang lainnya pada saluran yang sama atau dekat dapat mencegah akses ke jalur akses terbuka oleh orang lain di daerah tersebut.
2.4 Wi-Fi (Wireless Fidelity) Sub bab ini akan mebahas Wi-Fi (Wireless Fidelity). Pada penelitian ini, penulis memanfaatkan jaringan WiFi sebagai media komunikasi Raspberry Pi untuk mengontrol lampu rumah. Wi-Fi merupakan produk jaringan WLAN (Wireless Local Area Network) yang menggunakan gelombang radio sebagai media komunikasinya. Dengan kata lain, Wi-Fi adalah sertifikasi merek dagang yang diberikan pabrikan kepada perangkat telekomunikasi (internet) yang bekerja di jaringan WLAN dan sudah memenuhi kualitas kapasitas interoperasi yang dipersyaratkan. WLAN merupakan salah satu jenis teknologi jaringan wirelees yang luas jangkauannya maksimal 100 Meter.
24
Teknologi Wi-Fi dibuat dan dikembangkan sekelompok insinyur Amerika Serikat yang bekerja pada Institute of Electrical and Electronis Engineers (IEEE). Teknologi Wi-Fi distandarisasi oleh IEEE dengan kode 802.11, tujuannya agar semua produk yang menggunakan standar ini dapat bekerja sama/kompatibel meskipun berasal dari vendor yang berbeda. Ada 2 mode akses jaringan Wi-Fi, yaitu : 1. Jaringan Peer To Peer / Ad Hoc Wi-Fi Jaringan ad hoc wifi adalah mode jaringan wifi yang memungkinkan dua atau lebih device (komputer atau router) untuk saling berkomunikasi satu sama lain secara langsung (dikenal dengan istilah peer to peer) tanpa melalui central wireless router atau access point (AP). Setiap komputer terhubung berdasarkan SSID (service set identifier). SSID adalah nama identitas dari setiap komputer yang memiliki komponen nirkabel.
Gambar 2.9 Ad Hoc Wi-Fi 2. Jaringan Server Base / Wireless Infrastructure Jaringan wifi yang menggunakan sebuah acces point router untuk menghubungkan antara semua client dengan sumberdaya jaringan lainnya.
25
Gambar 2.10 Access Point Teknologi Wi-Fi 802.11 hingga saat ini sudah memiliki beberapa variasi, yang dapat dilihat pada Tabel 2. 3
Tabel 2.3 Spesifikasi Wi-Fi Spesifikasi
Kecepatan
Frekuensi Band
Cocok Dengan
802.11b
11 Mb/s
2,4 GHz
b
802.11a
54 Mb/s
5 GHz
a
802.11g
54 Mb/s
2,4 GHz
b,g
802.11n
100 Mb/s – 500 Mb/s
2,4 GHz
b,g,n
802.11ac
1,3 Gbps
5 GHz
b,g,a,n
Pada implementasinya, sebagian besar produk Wi-Fi bekerja pada frekuensi 2.400 MHz sampai 2.483,50 MHz. Dengan begitu mengijinkan operasiberjalan dalam 11 channel (masing-masing 5 MHz). Ke 11 kanal yang tersedia diatas telah sesuai dengan regulasi yang ditetapkan oleh federation Communication Commission (FCC).
26
Tabel 2.4 Kanal Frekuensi WiFi Channel
Frekuensi
1
2,412 MHz
2
2,417 MHz
3
2,422 MHz
4
2,427 MHz
5
2,432 MHz
6
2,437 MHz
7
2,442 MHz
8
2,447 MHz
9
2,452 MHz
10
2,457 MHz
11
2,462 MHz
27
2.5 Perangkat Keras (Hardware) Perangkat keras adalah semua bagian fisik yang dapat dilihat dari peralatan komputer yang terdiri dari peralatan input, proses dan output. Beberapa perangkat keras yang digunakan pada penelitian ini adalah sebagai berikut.
2.5.1 Raspberry Pi Pada penelitian ini Raspberry Pi digunakan sebagai basis sistem. Raspberry Pi berfungsi sebagai web server dan mengontrol relay untuk menyalakan dan memadamkan lampu.
Gambar 2.11 Raspberri Pi 2 Model B Raspberry Pi adalah sebuah mini computer yang berukuran sebesar kartu kredit yang dibuat di Inggris oleh Raspberry Pi Foundation[1][3][4]. Raspberry Pi mampu menjalankan berbagai aplikasi dan software layaknya sebuah Personal Computer dengan kebutuhan daya listrik yang cukup kecil yaitu 5 Volt.
28
Raspberry Pi dikembangkan oleh Raspberry Pi Foundation oleh Eben Upton, Rob Mullins, Jack Lang, dan Alan Mycroft, dari Laboratorium Komputer Universitas Cambridge. Mini computer ini dibuat dengan tujuan untuk meningkatkan minat anak kecil terhadap programing Raspberry Pi menggunakan sistem operasi berbasis kernel Linux. Raspbian merupakan sistem operasi berbasis debian yang dapat dioptimalkan untuk perangkat keras Raspberry Pi.
Gambar 2.12 Diagram Arsitektur Raspberry Pi
2.6.1.1 Spesifikasi Raspberry Pi Ada beberapa tipe Raspberry Pi dari awal kemunculannya hingga versi terakhir. Setiap versi memiliki bentuk dan spesifikasi tersendiri. Perbandingan spesifikasi beberapa tipe Raspberry Pi dapat dilihat pada Tabel 2.1.
29
Tabel 2.5 Perbandingan Spesifikasi Raspberry Pi 1 dan 2 Feature
Pi 1 Model
Pi 1 Model
Pi 1 Model
Pi 1 Model
A
B
A+
B+
BCM2835
BCM2835
BCM2835
BCM2835
SoC
SoC
SoC
SoC
Standard SoC Speed
700Mhz
700Mhz
700Mhz
700Mhz
900Mhz
RAM
256MB
512MB*
256MB
512MB
1GB
Storage
Full SD
Full SD
Micro SD
Micro SD
Micro SD
Ethernet 10/100
No
Yes
No
Yes
Yes
HDMI output port
Yes
Yes
Yes
Yes
Yes
Composite video output
Yes
Yes
On 3.5mm
On 3.5mm
On 3.5mm
jack
jack
jack
Processor Chipset
Pi 2 Model B
BCM2836
Number of USB2.0 ports
1
2
1
4
4
Expansion header
26
26
40
40
40
Available GPIO
17
17
26
26
26
3.5mm audio jack
Yes
Yes
Audio/Video
Audio/Video
Audio/Video
Camera interface ports (CSI-2)
1
1
1
1
1
Number of LCD display interface
1
1
1
1
1
300mA,
700mA,
650mA, 3W
600mA
1.5W
3.5W
85 x 56 x
85 x 56 x
65 x 56 x
85 x 56 x
85 x 56 x
15mm
17mm
12mm
17mm
17mm
ports (DSI) Power (bare, approx, 5v)
Size
Dari Tabel 2.1, dapat dilihat bahwa setiap Raspberry Pi dibekali processor Broadcom BCM2835 (Single Core ARMv6) dengan kecepatan System on a Chip (SoC) 700 MHz untuk Raspberry Pi 1 dan Broadcom BCM2836 (Quad Core
30
ARMv7) dengan kecepatan System on a Chip (SoC) 900 MHz untuk Raspberry Pi 2 Model B. Raspberry Pi memiliki slot kartu SD yang berfungsi sebagai hardisk. Pin GPIO yang berfungsi untuk interface dengan berbagai perangkat elektronik, port Ethernet, audio output, RCA video dan HDMI Vidio yang dapat difungsikan sesuai kebutuhan. Raspberry Pi hanya mebutuhkan catu tegangan 5V DC melalui micro USB sehingga sangat hemat dalam penggunaan energi listrik jika dibandingkan dengan komputer.
2.6.1.2 Kegunaan Raspberry Pi Beberapa hal yang dapat dilakukan dengan raspberry pi, yaitu :[4] 1. General Purpose Computing Raspberry Pi adalah sebuah komputer dan dapat digunakan sebagai sebuah komputer. Setelah perangkat ini dinyalakan akan ditampilkan GUI (Graphical User Interface). Perangkat ini dapat di install banyak aplikasi seperti LibreOffice yang digunakan untuk pekerjaan-pekerjaan kantor. 2. Learning to Program Raspberry Pi ditujukan sebagai alat edukasi untuk mendorong anak-anak bereksperimen dengan
komputer. Perangkat
ini
sudah terpasang
interpreters dan compilers untuk berbagai bahasa pemrograman. Untuk pemula telah disediakan Scratch, sebuah bahasa pemrograman berasaskan
31
grafik dari MIT. Kita bisa menulis program untuk Raspberry Pi dalam berbagai bahasa seperti C, Ruby, Java, Python, dan Perl. 3. Project platform Raspberry Pi berbeda dari komputer pada umumnya bukan dari segi harga dan ukurannya saja, tapi juga kemampuannya berintegrasi dengan proyekproyek elektronik.
2.6.1.3 General Purpose Input Output (GPIO)
Gambar 2.13 Pin Raspberry Pi[2] GPIO (General Purpose Input Output) adalah pin generic pada chip yang dapat dikontrol (diprogram) melalui perangkat lunak baik di konfigurasi sebagai pin input maupun pin output. Pada umumnya GPIO digunakan untuk menghubungkan Raspberry Pi ke perangkat keras lainnya. Penggunaan yang paling umum untuk port ini untuk menghubungkan add-on board[3]. Pin GPIO tida ditetapkan untuk tujuan khusus dan secara default tidak digunakan. Ide dibalik GPIO adalah untuk memenuhi sistem integrator dalam memperluas dan membangun sistem lengkap yang membutuhkan pin tambahan
32
dari chip berupa sinyal kontrol ataupun data. Adanya konektor (pin) yang tersedia dari chip dapat menghemat kerumitan saat mengatur sirkuit tambahan. Pada raspberry pi 2 model B, terdapat 40 pin dan masing-masing konektor pin mempunyai kegunaan tersendiri . Dari 40 pin tersebut terdapat 26 pin GPIO dan sisanya adalah pin power dan pin ground.
2.5.2 Relay Relay merupakan alat elektronik yang fungsinya sama seperti saklar. Pada penelitian in relay digunakan sebagai saklar untuk menyalakan dan memadamkan lampu yang terhubung melalui Raspberry Pi melalui pin GPIO.
Gambar 2.14 Relay 5 Volt 4 Channel Relay adalah suatu alat elektromagnetik yang dioperasikan oleh perubahan kondisi suatu rangkaian listrik. Berguna untuk mengaktifkan peralatan lainnya dengan cara membuka atau menutup kontak dengan memberikan rangkaian relay tersebut logika 1 atau 0. Salah satu kegunaan utama relay dalam dunia industri ialah untuk implementasi logika kontrol dalam suatu sistem. Sebagai “bahasa
33
pemrograman” digunakan konfigurasi yang disebut ladder diagram atau relay ladder logic. Relay dibutuhkan dalam rangkaian elektronika sebagai eksekutor sekaligus interface antara beban dan sistem kendali elektronik yang berbeda sistem power supply. Secara fisik antara saklar atau kontaktor dengan electromagnet relay terpisah sehingga antara beban dan sister kontrol terpisah. Bagian utama relay elektro mekanik adalah kumparan electromagnet, saklar atau kontaktor, swing armatur dan spring (pegas). Relay dapat digunakan untuk mengontrol motor AC dengan rangkaian kontrol DC atau beban lain dengan sumber tegangan beban. Aplikasi relay yang dapat ditemui diantaranya adalah: 1. Relay sebagai kontrol ON/OFF beban dengan sumber tegang berbeda 2. Relay sebagai selektor atau pemilih hubungan 3. Relay sebagai eksekutor rangkaian delay (tunda) 4. Relay sebagai protector atau pemutus arus pada kondisi tertentu
2.5.3 Wireless Router Pada penelitian ini, jaringan wireles digunakan sebagai media komunikasi antar perangkat pengontrol dengan Raspberry Pi. Setiap perangkat akan terhubung dalam satu jaringan dan router yang sama. Wireless Router adalah sebuah device yang berfungsi untuk meneruskan paket-paket dari sebuah network ke network yang lainnya (baik LAN ke LAN atau
34
LAN ke WAN) sehingga host-host yang ada pada sebuah network
dapat
berkomunikasi dengan host-host yang ada pada network yang lain. Mode wireless router dapat diatur sebagai access point dan juga berfungsi sebagai gateway (gerbang) penghubung dari satu jaringan ke jaringan lainnya. Wireless router yang digunakan pada penelitian ini adalah Option GlobeSurfer X.1.
Gambar 2.15 Wireless Router Option GlobeSurfer X.1 Adapun beberapa fitur yang dimiliki wireless router Option GlobeSurfer X.1 adalah sebagai berikut : 1. Koneksi internet dapat melalui USB Modem dan ADSL 2. Dapat dijadikan NAS server 3. Dapat dijadikan printer server 4. Wireless g dan n speed up to 150Mbps 5. Security : QSS, WPA/WPA2, WPA‐PSK/WPA2‐PSK authentication, TKIP/AES encryption security
35
2.6 Perangkat Lunak (Software) Perangkat lunak (software) adalah istilah khusus untuk data yang diformat, dan disimpan secara digital, termasuk program komputer, dokumentasinya, dan berbagai informasi yang bisa dibaca, dan ditulis oleh komputer. Dengan kata lain, bagian sistem komputer yang tidak berwujud. Beberapa software yang digunakan pada penelitian ini adalah : 2.6.1 Sistem Operasi Raspbian Seperti halnya komputer, Raspberry Pi membutuhkan sistem operasi untuk menjalankan fungsinya. Ada beberapa sistem operasi Raspberry Pi yang dapat digunakan sesuai kebutuhannya dan dapat di download langsung di website official Raspberry Pi. Pada penelitian ini penulis menggunakan sistem operasi raspbian sebagai sistem operasi Raspberry Pi.
Gambar 2.16 Tampilan Desktop Raspbian Raspbian adalah sistem operasi gratis dan terbuka berbasis Debian yang dioptimalkan untuk Raspberry Pi. Sistem operasi ini dilengkapi program dasar yang membuat Raspberry Pi berjalan dengan baik, dan juga terdapat lebih
36
dari 35000 paket software tambahan dengan format yang mudah dalam penginstallannya pada Raspberry Pi[2]. Raspbian tidak berafiliasi dengan Raspberry Pi Foundation. Raspbian diciptakan oleh tim kecil yang berdedikasi yang merupakan penggemar dari perangkat keras Raspberry Pi, tujuan pendidikan dari Raspberry Pi Foundation dan Debian Project. Raspbian merupakan sistem operasi umum yang paling banyak digunakan pada Raspberry Pi.
2.6.2 Web Server Aplikasi web server merupakan suatu perangkat lunak yang berjalan di sisi server
dan
bertugas
untuk
menerima
permintaan
dari
web
browser,
menerjemahkan permintaan tersebut, dan mengembalikan ke web browser hasil dari permintaan itu[12]. Web server mampu mengelola dan memproses permintaan dari web browser dan hasilnya ditampilkan pada halaman website. Sebuah halaman website dapat terdiri atas dokumen, gambar, video, dan suara. Website dibuat dengan menggunakan bahasa pemrograman HTML, PHP, CSS, XML, Javascript dan bahasa pemrograman lainnya. Pada penelitian ini, penulis memilih untuk menggunakan aplikasi web server Nginx. Pemilihan web server Nginx berdasarkan penelitian Rahmad Dawood yang dipublikasikan dengan judul “Kelayakan Raspberry Pi sebagai Web
37
Server: Perbandingan Kinerja Nginx, Apache, dan Lighttpd pada Platform Raspberry Pi’[7]. Pada penelitian tersebut kinerja aplikasi web server Nginx lebih baik untuk dijalankan pada Raspberry Pi dibandingkan dengan aplikasi web server Apache dan Lightttpd, untuk melayani halaman-halaman statis maupun untuk melayani halaman-halaman dinamis. Disamping mampu melayani permintaan simultan terbanyak, 5.300 untuk halaman statis dan 3.000 untuk halaman dinamis, reply time rata-rata Nginx dalam melayani kesemua permintaan tersebut bisa dikatakan layak karena masih medekati 1 detik, yaitu: 1,26 detik untuk halaman-halaman statis dan 1,07 detik untuk halaman-halaman dinamis[7]. Nginx dibangun dengan arsitektur event-based, sehingga mampu memanfaatkan seminimal mungkin thread untuk memproses request dari user, sehingga akhirnya memori yang terpakai oleh Nginx menjadi minimal. Karena memori yang dipakai sangat kecil, maka hasilnya server menjadi ringan dan jauhjauh lebih responsif (memiliki respon super cepat). Nginx dilengkapi dengan fitur yang cukup banyak, beberapa fitur yang tersedia pada web server nginx adalah sebagai berikut : 1. Static file serving. 2. SSL/TLS support. 3. Virtual hosts. 4. Reverse proxying. 5. Load balancing.
38
6. Compression. 7. Access controls. 8. URL rewriting. 9. Custom logging. 10. Server-side includes. 11. Limited WebDAV. 12. FLV streaming. 13. FastCGI.
2.6.3 MySQL MySQL Adalah salah satu software sistem manajemen database (DBMS) Structured Query Language (SQL) yang bersifat open source. SQL adalah bahasa standar untuk mengakses database dan didefinisikan dengan standar ANSI/ISO SQL. [14] MySQL dalam operasionalnya menggunakan arsitektur client-server. Salah satu komputer akan bertindak sebagai Server dabase MySQL (tempat seluruh database disimpan), dan computer lainnya sebagai Client yang akan mengakses database dalam computer server tersebut, namun untuk dapat juga dijalankan kedua proses tersebut dalam satu komputer saja. Beberapa kelebihan database MySQL antara lain :[14] 1. MySQL merupakan database server, jadi dapat diakses dari jauh karena dapat tersambung ke media internet selain itu juga dapat berperan sebagai client.
39
2. MySQL adalah sebuah software data open source artinya software ini bebas digunakan oleh siapa saja tanpa harus membeli lisensinya kepada pembuat. 3. MySQL adalah database menggunakan enkripsi password, jadi cukup aman karena memiliki password untuk mengaksesnya. 4. MySQL merupakan database yang multi user, artinya database ini tidak hanya digunakan oleh sepihak orang akan tetapi dapat digunakan oleh banyak pengguna. 5. MySQL menggunakan suatu bahas permintaan standar yaitu SQL (Structured Query Language) yaitu sebuah perintah yang di standarkan pada database server.
2.6.4 Library WiringPi Pada penelitian ini WiringPi digunakan untuk akses kontrol pin-pin GPIO pada Raspberry Pi. WiringPi adalah library untuk akses GPIO ditulis dalam bahasa C untuk BCM2835 yang digunakan dalam Raspberry Pi. Library ini dirilis di bawah lisensi GNU LGPLv3 dan dapat digunakan untuk bahasa C, C++ dan banyak bahasa lainnya. WiringPi termasuk command-line utility GPIO yang dapat digunakan untuk program dan pengaturan pin GPIO dan bahkan menggunakannya untuk mengontrol GPIO dari skrip shell.[13]
40
WiringPi mendukung pembacaan dan penulisan sinyal analog, karena sementara tidak ada hardware analog bawaan pada Raspberry Pi, modul disediakan untuk mendukung Gertboards analog chip (modul expansion untuk Raspberry Pi) sehingga dapat diimplementasikan dengan relatif mudah. Perangkat yang didukung termasuk LCD (chip Hitachi HD44780U), LCD 128 × 64 pixel untuk menampilkan grafik, DS1302 RTC chip clock, sensor berbasis pada chip Maxdetect (misalnya RHT003) papan antarmuka Gertboard, PiFace dan sebagainya. [13] Pemetaan pin GPIO pada WiringPi dapat dilihat pada Gambar 2.19 dan Gambar 2.18. Pada WiringPi Rev 2 terdapat perubahan pada identitas pin GPIO yang disesuaikan untuk penggunaan pin GPIO lebih banyak.
Gambar 2.17 WiringPi Rev 1[13]
Gambar 2.18 WiringPi Rev 2[13]
41
2.7 Bahasa Pemrograman Pada penelitian ini , terdapat aplikasi berbasis website yang digunakan sebagai pengontrol. Untuk membangun aplikasi tersebut, penulis menggunakan bahasa pemrograman PHP dan HTML.
2.7.1 PHP PHP (Hypertext Preprocessor) adalah bahasa server-side scripting yang menyatu dengan HTML untuk membuat halaman web yang dinamis. Karena merupakan server-side scripting maka sintaks dan perintah-perintah PHP akan dieksekusi di server kemudian hasilnya dikirimkan ke browser dalam format HTML.[14] PHP adalah software open-source yang gratis dan bebas didistribusikan kembali di bawah lisensi GPL (GNU Public License). Source PHP dan file binernya didapatkan secara bebas di internet, dengan mengakses situs resminya http://www.php.net. PHP5 merupakan kelanjutan dari pengembangan PHP. Walaupun pada PHP4 sudah banyak library yang ditambahkan. PHP5 menawarkan fungsionlitas dan penambahan beberapa fitur, antara lain: 1. Peningkatan dari kemampuan pemrograman berorientasi objek 2. Exception handling, yang menstandarisasi logika atas pembertahuan kesalahan pemrograman. 3. Peningkatan terhadap penanganan string
42
4. Peningkatan
dukungan
terhadap
XML
dan
Web
Service,
yang
menggunakan libxml2. 5. Dukungan terhadap SQLite database Server 6. PHP versi 5 daat membuat file swf dan applet java
Salah satu kelebihan PHP5 adalah dapat menangani OOP (Object Oriented Programming) lebih baik dari pendahulunya. Beberapa keunggula PHP lainnya sebagai berikut : 1. Eksekusi scripting dilakukan sangat cepat sehingg meningkatkan throughput dari server. 2. Simplisitasinya menjadikan penulisan program PHP lebih pendek dan sederhana sekaligus mudah dipahami. 3. Dukungan koneksinya hampir ke semua database yang ada saat ini termasuk mySQL, PostgreSQL, mSQL, Sybase, Informix, Interbase, Oracle, SQL Server, Ms Access, Dbase dan lain-lain. 4. Selain menggunakan ODBC, php mempunyai native API untuk koneksi ke database, sehingga akses ke database akan lebih cepat karena mengakses langsung ke database-nya (tidak melalui ODBC terlebih dahulu). 5. Php dapat dipasang di beberapa web server seperti PWS, IIS, Apache, Xitami, Netscap Enterprise, AOL server dan Oreilly wesite Pro. PHP juga dapat dipasangkan dengan mode CGI atau ISAPI.
43
6. PHP dapat berjalan diberbagai platform seperti windows dan unix. Ini memungkinkan programmer misalnya melakukan development di windows untuk kemudian di pasang di Linux.
2.7.2 HTML HTML atau Hyper Text Markup Language merupakan salah satu format yang digunakan dalam pembuatan dokumen dan aplikasi yang berjalan di halaman website. Dokumen ini dikenal sebagai web page. Dokumen HTML merupakan dokumen yang disajikan pada web browser. [14] HTML adalah bahasa yang sangat tepat dipakai untuk menampilkan informasi pada halaman website, karena HTML menampilkan informasi dalam bentuk hypertext dan juga mendukung sekumpulan perintah yang dapatdigunakan untuk mengatur tampilnya informasi tersebut, sesuai dengan namanya, bahasa ini menggunakan tanda (markup) untuk menandai perintah-perintahnya. Dokumen HTML adalah file teks regular (disebut juga ASCII) yang diciptakan dengan menggunakan editor teks (misalnya, Emacs dalam Unix, Gnotepad pada Linux, atau Notepad pada Windows) atau dengan menggunakan word processor, tetapi harus disimpan dengan format “text only with line breaks”. Sesuai dengan namanya, bahasa ini menggunakan tanda (MarkUp) untuk menandai perintah-perintahnya. Saat ini banyak sekali aplikasi-aplikasi yang dapat digunakan untuk membuat web page, seperti Microsof Frontpage, Adobe GoLive, Macromedia Dreamweaver, Ultradev dan lain-lainnya. Namun untuk seorang web develover kemampuan dasar perintah HTML tetap dibutuhkan.
44
Homepage dibangun oleh sebuah file yang didalamnya terdapat kode-kode dan informasi dan dibaca oleh sebuah aplikasi yang bernama browser. Oleh browser, kode dan informasi akan disajikan sebagai sebuah halaman web yang lebih dikenal sebagai homepage. Kode tersebut haruslah ditulis menurut suatu aturan tertentu yang dapat dimengerti browser. Aturan tersebut dikenal dengan “bahasa pengkodean”.