3
Raspberry Pi adalah sebuah SBC (Single Board Computer) seukuran kartu kredit yang dikembangkan oleh Yayasan Raspberry Pi di inggris (UK) dengan
maksud untuk memicu pengajaran ilmu komputer dasar di sekolah-sekolah (Putra, 2012).
Raspberry Pi dikenalkan pada tahun 2012 dan memiliki Processor bernama
Broadcom BCM2835 system on chip (SOC) yang telah memiliki ARM1176JZF-S 700 MHz CPU, untuk Graphics telah disertakan VideoCore IV GPU, serta telah memiliki ram sebesar 256MB untuk model A, dan telah ditingkatkan ke 512 MB untuk model B dan B+ pada generasi pertama. Sedangkan untuk generasi kedua Raspberry Pi, dimana diperkenalkan pada Februari 2015 memiliki Processor
Broadcom BCM2836 SoC, dengan Processor quad-core ARM Cortex-A7 CPU dan sebuah VideoCore IV dual-core GPU; serta memiliki ram sebesar 1 GB.
System on Chip yang dipakai oleh Raspberry Pi diciptakan oleh Boradcom, dan menggunakan arsitektur ARM. Arsitektur ARM merupakan arsitektur prosesor 32-bit RISC yang dikembangkan oleh ARM Limited. Dikenal sebagai Advanced RISC Machine dimana sebelumnya dikenal sebagai Acorn RISC Machine. Pada awalnya merupakan prosesor desktop yang sekarang didominasi oleh keluarga x86. Namun desain yang sederhana membuat prosesor ARM cocok untuk aplikasi berdaya rendah. Hal ini membuat prosesor ARM mendominasi pasar mobile electronic dan embedded system dimana membutuhkan daya dan harga yang
rendah.
Gambar 2.1 Logo Raspberry Pi
2.1.1 Sistem Operasi Raspberry Pi
Ini adalah daftar sistem operasi yang berjalan pada Raspberry Pi.
A. Full OS :
AROS
Haiku
Linux :
Android : Android 4.0 (Ice Cream Sandwich)
Arch Linux ARM
R_Pi Bodhi Linux
Debian Squeeze
Firefox OS
Gentoo Linux
Google Chrome OS : Chromium OS
PiBang Linux
Raspberry Pi Fedora Remix
Raspbian (Debian Wheezy port with faster floating point support)
Slackware ARM (formerly ARMslack
QtonPi a cross-platform application framework based Linux
distribution based on the Qt framework
WebOS : Open webOS
Plan 9 from Bell Labs
RISC OS
Unix :
FreeBSD
NETBSD
B. Multi-purpose light distributions:
layanan hanya minimal dan penggunaan memori yang dioptimalkan untuk menjaga footprint kecil.
Squeezed Arm Puppy, versi Puppy Linux (Puppi) untuk ARMv6 (sap6) khusus untuk Raspberry Pi.
C. Single-purpose light distributions: IPfire
OpenELEC Raspbmc XBMaC NXBian D. User Applications
Aplikasi berikut dapat dengan mudah diinstal pada Raspbian melalui apt-get:
Asterisk (PBX), Open source PBX dapat digunakan melalui IP phones atau WI-FI softphones.
BOINC client; Namun sangat sedikit proyek BOINC memberikan ARM compatible client paket software.
Minidlna, DLNA kompatibel home LAN multimedia server. Firefly Media Server (new RPiForked-Daapd), server iTunes
kompatibel Open source audio.
2.1.2 Raspberry Pi 3
Raspberry Pi 3 merupakan generasi ketiga dari keluarga Raspberry Pi. Raspberry Pi 3 memiliki RAM 1GB dan grafis Broadcom VideoCore IV pada frekuensi clock yang lebih tinggi dari sebelumnya yang berjalan pada 250MHz.
Raspberry Pi 3 menggantikan Raspberry Pi 2 model B pada bulan Februari 2016.
(Apri Lianti, 2016).
Adapun spesifikasi dari Raspberry Pi 3, yaitu : Quad Core 1.2GHz Broadcom BCM2837 CPU 64bit RAM 1GB
GPIO 40 pin diperpanjang 4 port USB 2
4 Pole stereo output dan port video komposit HDMI ukuran penuh
Port kamera CSI untuk menghubungkan kamera Raspberry Pi
Port tampilan DSI untuk menghubungkan display layar sentuh Raspberry Pi Micro SD port untuk memuat sistem operasi dan menyimpan data
Upgrade sumber daya USB Micro yang dinaikkan hingga 2.5A . (Tim Raspberry Pi, 2016)
Kelebihannya dibandingkan dengan Raspberry Pi 2 adalah: 1.2GHx 64-bit quad-core ARMv8 CPU
802.11n Wireless LAN
Bluetooth 4.1
Bluetooth Low Energy (BLE)
Sama seperti Pi 2, Raspberry Pi 3 juga memiliki 4 USB port, 40 pin GPIO, Full HDMI port, Port Ethernet, Combined 3.5mm audio jack and composite video, Camera interface (CSI), Display interface (DSI), slot kartu
Micro SD (Sistem tekan-tarik, berbeda dari yang sebelum nya ditekan-tekan), dan VideoCore IV 3D graphics core.
Raspberry Pi 3 memiliki factor bentuk identik dengan Raspberry Pi 2 dan memiliki kompatibilitas lengkap dengan Raspberry Pi 1 dan 2. Raspberry Pi 3 juga direkomendasikan untuk digunakan bagi mereka yang ingin
Gambar 2.2 Raspberry Pi 3
(Sumber: http://www.theguardian.com/technology/2016/feb/29/)
Gambar 2.3 Penjelasan letak komponen pada Raspberry Pi 3 (Sumber: http://www.rs-components.com/raspberrypi)
2.1.3 GPIO Raspberry Pi 3
GPIO merupakan sederet pin yang terdiri dari 40 pin dengan berbagai fungsi. Salah satu fitur yang kuat dari Raspberry Pi adalah deretan GPIO (tujuan umum input / output) pin di sepanjang tepi atas pin board.These adalah antarmuka fisik antara Pi dan dunia luar. Pada tingkat yang paling sederhana, Anda dapat menganggap mereka sebagai switch yang Anda dapat mengaktifkan atau menonaktifkan (input) atau bahwa Pi dapat mengaktifkan atau menonaktifkan (output).
sensor atau sinyal dari komputer lain atau perangkat, misalnya. output juga dapat melakukan apa saja, dari menyalakan LED untuk mengirim sinyal atau data ke
perangkat lain.
Jika Raspberry Pi adalah pada jaringan, Anda dapat mengontrol perangkat
yang terhubung padanya dari mana saja (Tidak secara harfiah di mana saja, tentu saja. Anda perlu hal-hal seperti akses ke jaringan, jaringan yang mampu perangkat komputasi, dan listrik.) dan perangkat-perangkat dapat mengirim data kembali. Konektivitas dan kontrol dari perangkat fisik melalui internet adalah hal yang sangat kuat dan menarik, dan Raspberry Pi ideal untuk ini. GPIO Raspberry Pi 3 dapat dilihat pada gambar 2.4.
Gambar 2.4 Raspberry Pi GPIO pin
(Sumber : https://www.raspberrypi.org/documentation/usage/gpio-plus-and-raspi3/)
Penjelasan lebih lanjut mengenai fungsi masing-masing PIN GPIO pada Raspberry Pi 3 adalah sebagai berikut:
2.2Relay
Relay adalah sebuah saklar yang dikendalikan oleh arus. Relay memiliki
sebuah kumparan tegangan-rendah yang dililitkan pada sebuah inti. Terdapat sebuah armatur besi yang akan tertarik menuju inti apabila arus mengalir
melewati kumparan. Armatur ini terpasang pada sebuah tuas berpegas. Ketika armatur tertarik menuju ini, kontak jalur bersama akan berubah posisinya dari kontak normal-tertutup ke kontak normal-terbuka. (Daniel,2015)
Relay dibutuhkan dalam rangkaian elektronika sebagai eksekutor sekaligus interface antara beban dan sistem kendali elektronik yang berbeda sistem power supplynya. Secara fisik antara saklar atau kontaktor dengan elektromagnet relay terpisah sehingga antara beban dan sistem kontrol terpisah. Bagian utama relay elektro mekanik adalah sebagai berikut. Kumparan elektromagnet Saklar atau kontaktor Swing Armatur Spring (Pegas). (Daniel,2015)
Relay dapat digunakan untuk mengontrol motor AC dengan rangkaian kontrol DC atau beban lain dengan sumber tegangan yang berbeda antara tegangan rangkaian kontrol dan tegangan beban. Rangkaian penggerak relay dapat dilihat pada gambar 2. Diantara aplikasi relay yang dapat ditemui diantaranya adalah : Relay sebagai kontrol ON/OF beban dengan sumber tegang berbeda. Relay sebagai selektor atau pemilih hubungan. Relay sebagai eksekutor rangkaian delay (tunda) Relay sebagai protektor atau pemutus arus pada kondisi tertentu.
2.2.1 Sifat-sifat Relay
Sifat-sifat Relay adalah sebagai berikut :
1. Impedansi kumparan, biasanya impedansi ditentukan oleh tebal kawat yang digunakan serta banyaknya lilitan. Biasanya impedansi berharga 1 – 50 KΩ Guna memperoleh daya hantar yang baik.
2. Daya yang diperlukan untuk mengoperasikan relay besarnya sama dengan nilai tegangan dikalikan arus.
antara kontak-kontak menentukan besarnya tegangan maksimum yang diizinkan antara kontak tersebut.
2.2.2 Module Relay 4 Beban
Modul relay ini merupakan relay yang dapat menggabungkan kekuatan pemrosesan Raspberry Pi ke perangkat yang menggunakan arus dan voltase lebih
tinggi. Ia melakukannya dengan menyediakan empat relay yang diberi nilai 7A di 28VDC atau 10A di 125VAC. (Henry, 2016)
Gambar 2.6. Modul Relay 4 beban
(Sumber : http://www.indo-ware.com/kategori-72-relay--ssr--io-board/)
Setiap relay memiliki kontak Normally Open (NO) dan Biasanya Tertutup
(NC). Adapun Masukan dan keluaran dari modul relay, yaitu sebagai berikut : 1. Masukan Modul Relay
Gambar 2.7. Input Module 4 Relay
(Sumber ://henrysbench.capnfatz.com/henrys-bench/arduino-output-devices/5-volt-4-channel-arduino-relay-module-user-manual/)
2. Keluaran Modul Relay
Ada empat relay yang masing-masing memberikan output kontak kering. Artinya, setiap relay menyediakan terminal umum (COM), biasanya terbuka (NO) dan biasanya tertutup (NC).
Gambar 2.8. Output Module 4 Relay
2.3VNC Viewer
VNC atau Virtual Network Computing adalah serangkaian perangkat lunak
atau sotware yang digunakan untuk menampilkan tampilan X windows session yang sedang berjalan pada remote computer. Proses eksekusi perintah berjalan
pada remote server, kemudian tampilan X Windowsnya ditampilkan pada komputer lokal. (Anonymous, 2016)
VNC adalah sebuah software remote control, dimana dengan melalui software ini suatu komputer dapat melakukan akses untuk bekerja di suatu komputer lain yang terhubung dengan jaringan. Hal ini dapat dilakukan baik dalam lingkungan LAN (Local Area Network) yang relatif berjarak dekat sampai dalam jaringan internet yang dapat berjarak ribuan kilometer.
2.3.1 Penggunaan VNC Viewer
Remote Dekstop VNC adalah aplikasi yang serupa dengan aplikasi Remote Desktop Connection ( RDP ) yang sudah terintegrasi didalam Windows, tetapi dengan fleksibilitas pemakaian yang lebih luas. Misalnya dengan menggunakan aplikasi VNC kita bisa membatasi komputer client untuk read only dalam mengakses komputer server dimana hal ini tidak bisa dilakukan dengan aplikasi RDP.
Penggunaan VNC sangat membantu pekerjaan seseorang administrator jaringan yang membutuhkan suatu tool yang handal untuk dapat menjangkau seluruh komputer yang ada dalam jaringannya atau karena suatu sebab tidak dapat berada di depan komputer yang bersangkutan, sehingga perbedaan lokasi yang
2.3.2 Sistem VNC
Sistem VNC Dalam komputasi, Virtual Network Computing (VNC)
merupakan metode berbagi grafis desktop menggunakan protocol RFB untuk kontrol jarak jauh komputer lain. VNC mentransmisikan event dari keyboard dan
mouse dari satu komputer ke komputer lain, selain itu VNC juga dapat menyampaikan update layar grafis ke komputer lain, melalui jaringan.
Sistem VNC terdiri dari 3, yaitu : client, server, dan komunikasi protokol: 1. VNC Server
Program yang dijalankan dikomputer target. 2. VNC Client Merupakan Viewer
Program ini dijalankan di computer server / admin. 3. VNC Protokol (RFB)
Merupakan protokol yang dipakai oleh VNC, Remote Frame Buffer mengirimkan capture image berdasarkan data pixel posisi X dan Y grafis. Serta mengirimkan evant dan message ke Viewer.
2.3.3 Kelemahan dan Kelebihan VNC
Kelemahan VNC Remote Dekstop adalah jika pada komputer server user yang aktif adalah user root maka client yang melakukan remote login akan masuk juga sebagai root sehingga bisa mengakses file-file sistem yang ada di komputer server seperti mengganti atau mengubah password user lain. Untuk menjaga keamanan komputer server sebaiknya kita tidak login di server sebagai root karena akan membahayakan komputer server. Jika pada server user aktif adalah user root maka client yang melakukan remote login akan masuk juga sebagai root sehingga bisa mangakses file-file system, misalnya mengubah password user.
Kelebihan VNC Remote Dekstop yaitu :
1. Dapat melakukan sebuah pekerjaan dari jarak jauh, tanpa harus berada
2. Remote computer ini dapat memudahkan kita melakukan konfigurasi ataupun menyelesaikan pekerjaan seperti layaknya kita berada langsung di depan
komputer tanpa harus langsung datang ke komputer tersebut. Karena tampilan yang muncul didepan layar mirip dengan aslinya (GUI).
Gambar 2.9. Logo VNC Viewer
(Sumber: https://unlockforus.com/remotely-control-linux-mint-18-x-vnc-server-x11vnc-setup/)
2.4Python
Python adalah bahasa pemrograman interpretatif multiguna dengan filosofi perancangan yang berfokus pada tingkat keterbacaan kode. Python diklaim sebagai bahasa yang menggabungkan kapabilitas, kemampuan, dengan sintaksis kode yang sangat jelas, dan dilengkapi dengan fungsionalitas pustaka standar
yang besar serta komprehensif.
Python pertama kali dikembangkan oleh Guido van Rossum pada tahun 1990 di CWI, Belanda. Bahas ini dikategorikan sebagai bahasa pemrogram-an tingkat tinggi (very-high-level language ) dan juga merupakan bahasa berorientasi objek yang dinamis (Object-oriented dynam-ic language ). Python bukan hanya sekedar bahasa lain untuk membuat aplikasi, tapi merupakan sebuah bahasa jenis baru. (Sugiana, 2002).
2.4.1 Penggunaan Python
Saat ini kode python dapat dijalankan di berbagai platform sistem operasi, beberapa diantaranya adalah:
4. Java Virtual Machine 5. OS/2
6. Amiga 7. Palm
8. Symbian (untuk produk-produk Nokia).
2.4.2 Fitur
Beberapa fitur yang dimiliki Python adalah:
1. Memiliki kepustakaan yang luas; dalam distribusi Python telah disediakan
modul-modul 'siap pakai' untuk berbagai keperluan. 2. Memiliki tata bahasa yang jernih dan mudah dipelajari.
3. Memiliki aturan layout kode sumber yang memudahkan pengecekan, pembacaan kembali dan penulisan ulang kode sumber.
4. Berorientasi objek.
5. Memiliki sistem pengelolaan memori otomatis (garbage collection, seperti java)
6. Modular, mudah dikembangkan dengan menciptakan modul-modul baru; modul-modul tersebut dapat dibangun dengan bahasa Python maupun C/C++.
7. Memiliki fasilitas pengumpulan sampah otomatis, seperti halnya pada bahasa pemrograman Java, python memiliki fasilitas pengaturan penggunaan ingatan komputer sehingga para pemrogram tidak perlu melakukan pengaturan ingatan komputer secara langsung.
8. Memiliki banyak faslitas pendukung sehingga mudah dalam pengoprasiannya.
Gambar 2.10. Logo Python
2.5HTML
Hypertext Markup Language (HTML) adalah sebuah bahasa markah yang
digunakan untuk membuat sebuah halaman web, menampilkan berbagai informasi di dalam sebuah penjelajah web Internet dan pemformatan hiperteks sederhana
yang ditulis dalam berkas format ASCII agar dapat menghasilkan tampilan wujud yang terintegerasi. Dengan kata lain, berkas yang dibuat dalam perangkat lunak pengolah kata dan disimpan dalam format ASCII normal sehingga menjadi halaman web dengan perintah-perintah HTML. Bermula dari sebuah bahasa yang sebelumnya banyak digunakan di dunia penerbitan dan percetakan yang disebut dengan SGML (Standard Generalized Markup Language), HTML adalah sebuah standar yang digunakan secara luas untuk menampilkan halaman web.
HTML saat ini merupakan standar Internet yang didefinisikan dan dikendalikan penggunaannya oleh World Wide Web Consortium (W3C). HTML dibuat oleh kolaborasi Caillau TIM dengan Berners-lee Robert ketika mereka bekerja di CERN pada tahun 1989 (CERN adalah lembaga penelitian fisika energi tinggi di Jenewa.
2.5.1 Kegunaan HTML
HTML lebih menekankan pada penggambaran komponen-komponen struktur dan format di dalam halaman web daripada menentukan penampilannya. Sedangkan penjelajah web digunakan untuk menginterpretasikan susunan halaman ke gaya built-in penjelajah web dengan menggunakan jenis tulisan, tab,
warna, garis, dan perataan text yang dikehendaki ke komputer yang menampilkan halaman web.
Salah satu hal Penting tentang eksistensi HTML adalah tersedianya Lingua
franca (bahasa Komunikasi) antar komputer dengan kemampuan berbeda.
namun demikian pengguna-pengguna tersebut dapat melihat semua halaman web yang telah diformat dan berisi Grafika dan Pranala.
2.5.2 Markah/Tanda
Secara garis besar, terdapat 4 jenis elemen dari HTML:
1. Struktural. Tanda yang menentukan level atau tingkatan dari sebuah tulisan (contoh, <h1>Golf</h1> akan memerintahkan peramban untuk menampilkan "Golf" sebagai tulisan tebal besar yang menunjukkan sebagai Heading 1
2. Presentasional. Tanda yang menentukan tampilan dari sebuah tulisan tidak peduli dengan level dari tulisan tersebut (contoh, <b>boldface</b> akan menampilkan bold. Tanda presentasional saat ini sudah mulai digantikan oleh CSS dan tidak direkomendasikan untuk mengatur tampilan tulisan,
3. Hiperteks. Tanda yang menunjukkan pranala ke bagian dari dokumen tersebut atau pranala ke dokumen lain (contoh, <a href="http://www.wikipedia.org/"> Wikipedia</a> akan menampilkan Wikipedia sebagai sebuah hyperlink ke URL tertentu),
4. Elemen widget yang membuat objek-objek lain seperti tombol (<button>), daftar (<li>), dan garis horizontal (<hr>). Konsep hiperteks pada HTML memungkinkan pembuatan tautan pada suatu kelompok kata atau frasa untuk menuju ke bagian manapun dalam World Wide Web.
2.6PHP (Personal Home Page)
PHP adalah bahasa pemrograman script server-side yang didesain untuk
PHP disebut bahasa pemrograman server side karena PHP diproses pada komputer server. Hal ini berbeda dibandingkan dengan bahasa pemrograman
client-side seperti JavaScript yang diproses pada web browser (client).
Pada awalnya PHP merupakan singkatan dari Personal Home Page. Sesuai
dengan namanya, PHP digunakan untuk membuat website pribadi. Dalam beberapa tahun perkembangannya, PHP menjelma menjadi bahasa pemrograman web yang powerful dan tidak hanya digunakan untuk membuat halaman web sederhana, tetapi juga website populer yang digunakan oleh jutaan orang seperti wikipedia, wordpress, joomla, dll.
2.6.1 Sintaksis Dasar 1. Pembatas
PHP hanya mengeksekusi kode yang ditulis dalam pembatas sebagaimana ditentukan oleh dasar sintaks PHP. Apapun di luar pembatas tidak diproses oleh PHP (meskipun teks PHP ini masih mengendalikan struktur yang dijelaskan dalam kode PHP. Pembatas yang paling umum adalah "<?php" untuk membuka dan "?>" Untuk menutup kode PHP.Tujuan dari pembatas ini adalah untuk memisahkan kode PHP dari kode di luar PHP, seperti HTML,Javascript.
2. Variabel
Variabel diawali dengan simbol dolar $. Pada versi php PHP 5 diperkenalkan jenis isyarat yang memungkinkan fungsi untuk memaksa mereka menjadi parameter objek dari class tertentu, array, atau fungsi.
Namun, jenis petunjuk tidak dapat digunakan dengan jenis skalar seperti angka atau string.
3. Komentar
PHP memiliki 3 jenis sintaks sebagai komentar pada kode yaitu tanda
blok / * * / , komentar 2 baris // Serta tanda pagar # digunakan untuk komentar satu baris. Komentar bertujuan untuk meninggalkan catatan pada
kode PHP dan tidak akan diterjemahkan ke program. 4. Fungsi
Ratusan fungsi yang disediakan oleh PHP serta ribuan lainnya yang tersedia melalui berbagai ekstensi tambahan. fungsi-fungsi ini didokumentasikan dalam dokumentasi PHP.
Gambar 2.11. Logo PHP
(Sumber : https://cdn.worldvectorlogo.com/logos/php-1.svg)
2.7Flowchart
Flowchart merupakan gambar-gambar dan simbol-simbol dalam algoritma. Dengan menggunakan flowchart(diagram alir) maka seorang programmer dapat memberikan idenya secara tertulis sehingga dapat dipahami oleh programmer lain oleh klien atau oleh tim kerjanya.
Secara umum flowchart berguna untuk dua keperluan, yaitu : 1. Sebelum program selesai dibuat
Pada tahap ini flowchart digunakan untuk menuangkan ide atau pemikiran
programmer ke dalam bentuk gambar yang sudah standar secara
internasional. Flowchart dapat digambar secara manual pada tahap desain algoritma terutama untuk algoritma yang sangat kompleks.
2. Setelah program selesai dibuat
Tabel 2.1 Simbol-simbol yang digunakan pada flowchart
No Simbol-Simbol Nama Keterangan
1. Terminator
Simbol untuk permulaan (start) atau akhir (stop) dari suatu kegiatan.
2. Flow
Simbol yang digunakan untuk menghubungkan antara simbol yang satu dengan simbol yang lain.
3. Processing
Simbol yang menunjukkan pengolahan yang dilakukan oleh komputer.
4. Input-Output
Simbol yang menyatakan proses input dan output tanpa tergantung dengan jenis peralatannya .
5. Decision Simbol pemilihan proses
berdasarkan kondisi yang ada.
6. Connector
Symbol
Simbol untuk keluar masuk atau penyambungan proses pada lembar atau halaman yang berbeda.
7. Connector
Symbol