Professional Documents
Culture Documents
i
Dilakukan perbaikan oleh Koordinator Laboratorium dan Tim Asisten
Laboratorium Dasar Komputer tahun ajaran 2016/2017.
ii
DAFTAR ISI
PENGANTAR ........................................................................................................................... 1
DAFTAR ISI............................................................................................................................iiii
MATERI -1 PYTHON ............................................................................................................... 1
1.1. Pengertian ....................................................................................................................... 1
1.2. Menulis Kode Python ..................................................................................................... 2
1.3. Operator Aritmatika di python ........................................................................................ 4
1.4. Tipe Data Python ............................................................................................................ 5
1.5. Penggunaan Variabel di python .................................................................................... 10
1.6. Penggunaan IF, Else, Elif , dan IF bersarang pada python ........................................... 11
1.7. Penggunaan For pada python ........................................................................................ 14
1.8. Penggunaan while pada python ..................................................................................... 15
1.9. Penggunaan Break dan Continue pada python .............................................................. 17
MATERI – 2 RASPBERRY PI ............................................................................................... 20
MATERI – 3 GPIO (General-purpose input/output) ............................................................... 22
MATERI – 4 LED ................................................................................................................... 24
4.1 Percobaan 1 LED On...................................................................................................... 24
4.2 Percobaan 2 LED Off ..................................................................................................... 28
4.3 Percobaan 3 LED Blinking 3 times ................................................................................ 31
4.4 Percobaan 4 LED Blinking ............................................................................................ 34
4.5 Percobaan 5 LED Turn on With Input From Terminal .................................................. 36
4.6 Percobaan 6 LED with For ............................................................................................. 39
MATERI – 5 SWITCH ............................................................................................................ 41
5.1 Percobaan 1 Switch Push Button ................................................................................... 41
5.2 Percobaan 2 Switch + LED ............................................................................................ 43
5.3 Percobaan 3 Switch + Buzzer ........................................................................................ 45
5.4 Percobaan 4 Switch + LED + Buzzer ............................................................................ 47
MATERI – 6 LDR ................................................................................................................... 49
6.1 Menampilkan Nilai Resistansi cahaya pada terminal python ........................................ 49
6.2 Menyalakan lampu LED dengan LDR sebagai Switch .................................................. 51
6.3 Menyalakan lampu LED dan Buzzer dengan LDR sebagai Switch............................... 53
MATERI – 7 MP3 ................................................................................................................... 56
iii
MATERI – 1 PYTHON
Dalam bagian ini, akan dijelaskan sekilas tentang python dan bagaimana cara
penggunaannya yang terdiri dari pengertian, cara penulisan kode python, operator aritmatika
yang digunakan, tipe data, penggunaan variabel, penggunaan if, penggunaan else, penggunaan
elif, penggunaan IF bersarang, penggunaan for, penggunaan while dan penggunaan break dan
continue pada python.
1.1.Pengertian
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 mendukung multi paradigma pemrograman, utamanya; namun tidak dibatasi;
pada pemrograman berorientasi objek, pemrograman imperatif, dan pemrograman fungsional.
Salah satu fitur yang tersedia pada python adalah sebagai bahasa pemrograman dinamis yang
dilengkapi dengan manajemen memori otomatis. Seperti halnya pada bahasa pemrograman
dinamis lainnya, python umumnya digunakan sebagai bahasa skrip meski pada praktiknya
penggunaan bahasa ini lebih luas mencakup konteks pemanfaatan yang umumnya tidak
dilakukan dengan menggunakan bahasa skrip. Python dapat digunakan untuk berbagai
keperluan pengembangan perangkat lunak dan dapat berjalan di berbagai platform sistem
operasi.
Saat ini kode python dapat dijalankan di berbagai platform sistem operasi, beberapa
diantaranya adalah:
Linux/Unix
Windows
Mac OS X
Java Virtual Machine
OS/2
Amiga
Palm
Symbian (untuk produk-produk Nokia)
1
Python didistribusikan dengan beberapa lisensi yang berbeda dari beberapa versi. Lihat
sejarahnya di Python Copyright. Namun pada prinsipnya Python dapat diperoleh dan
dipergunakan secara bebas, bahkan untuk kepentingan komersial. Lisensi Python tidak
bertentangan baik menurut definisi Open Source maupun General Public License (GPL).
Pada sistem operasi Linux, mode ini bisa dijalankan menggunakan Terminal. Karena Python
merupakan bahasa pemrograman yang sudah terintegrasi dengan Linux, maka cukup
menuliskan python pada shell prompt.
$ python
Dengan mengetikkan python pada shell prompt, maka akan masuk ke mode interaktif Python
yang akan ditandai dengan “>>>“.
2
(2) Mode Skrip
Python juga dapat di jalankan dengan mengeksekusi langsung sebuah skrip program pada shell
prompt. Cukup dengan menuliskan sebuah perintah:
$ python programKu.py
Perintah ini akan mengeksekusi skrip programKu.py secara langsung dari direktori yang aktif
sekarang.
Langkah pertama buat terlebihdahulu file programKu.py, kemudian simpan di folder kerja. Dalam
menuliskan kode programKu.py, bisa dilakukan dengan menggunakan Text Editor yang telah disediakan
oleh Linux, diantaranya gEdit atau Geany.
Berikut listing kode programKu.py:
3
1.3. Operator Aritmatika di Python
Peran operator dalam proses perhitungan matematika sangatlah penting. Selain operator
Aritmatika, Python juga mendukung operator berkondisi yang berfungsi untuk membandingkan suatu
nilai dengan nilai yang lain. Operator-operator yang didukung oleh Python yaitu operator Unari ( + dan
– ) dan operator Binari ( +, -, *, /, %, dan **). Pada ekspresi Aritmatika berikut:
x=y+z
Operator Aritmatika
OPERATOR DESKRIPSI CONTOH KETERANGAN
Menjumlahkan dua Menjumlahkan nilai y dan z, kemudian hasilnya
+ x=y+z
operan disimpan ke x
Mengurangi operan
Mengurangi y dengan z, kemudian hasilnya disimpan
– kiri dengan operan x=y–z
ke x
kanan
Memangkatkan
y dipangkatkan sebesar z, kemudian hasilnya disimpan
** operan kiri sebesar x = y ** z
ke x
operan kanan
Mengalikan dua Mengalikan y dengan z, kemudian hasilnya disimpan
* x=y*z
operan ke x
Membagi nilai y dengan z, kemudian hasilnya
disimpan ke x. Jika kedua operan bertipe integer, maka
Membagi operan
hasilnya akan berupa integer dengan pembulatan ke
/ kiri dengan operan x=y/z
bawah. Tetapi jika salah satu atau kedua operan bertipe
kanan
float, maka hasilnya akan berupa float (disertai tanda
desimal).
Menghitung sisa
Membagi nilai y dengan z, dan sisanya kemudian
% dari pembagian x=y%z
disimpan ke x
integer
4
Jika sebuah ekspresi melibatkan lebih dari satu operator, Python secara otomatis akan memilih
operator mana yang akan diutamakan dahulu. Sebagai contoh:
>>> x=7+3*6
>>> x
25
>>> y=100/4*5
>>> y
125
Untuk memahami contoh di atas, dapat dilihat table.2 pengurutan operator Aritmatika versi Python di
bawah ini.
Eksponensial ** Tertinggi
Operator ** memiliki urutan tertinggi diantara operator lainnya. Operator * mempunyai urutan lebih
tinggi daripada operator +, dan operator / mempunyai urutan yang sama dengan operator*. Pada
ekspresi x = 7 + 3 * 6, bagian 3 * 6 akan dieksekusi pertama kali menghasilkan 18, yang kemudian
ditambahkan dengan 7. Sedangkan ekspresi y = 100/4*5, bagian 100/4dieksekusi terlebih dahulu
karena operator / berada disebelah kiri dari operator *.
5
>>>data = floatdat
Sebuah obyek ataupun banyak obyek dapan dihapus dengan menggunakan pernyataaan del.
Misalnya:
>>>del data
>>>del data, floatdat
Plain Integer
Plain integer atau bilangan bulat merupakan tipe data yang sering ditemukan pada semua bahasa
pemrograman. Integer ini mempunyai range nilai antara -2^32 sampai 2^31 – 1. Tipe ini juga dapat
ditulis dalam bentuk octal (di tanda awalan “0”) maupun hexadesimal (ditandai awalan “0x” atau “0X”).
Contoh:
10 100 6542 -784
083 -042 -0x43 0X61
Long Integer
Long integer sangat membantu untuk perhitungan di luar range nilai integer. Secara virtual, tidak
ada batasan nilai tergantung besar virtual memory yang digunakan. Akhiran ‘l‘ atau ‘L‘ disetiap nilai
bilangan bulat menandakan bahwa data tersebut bertipe long integer.
562718819L -0x526718L 012L -567299101L
Complex Number
Sebuah bilangan kompleks biasanya ditunjukkan oleh bentuk a + bj, dimana a adalah bagian real dan b
adalah bagian imajiner. Bagian imajiner merupakan bilangan di awal tanda “j” atau “J“. Berikut ini
contoh bilangan kompleks:
3.14j 45j 54.56+12.1J 3e+36J
6
Bagian real dan imajiner dari bilangan kompleks dapat dipisahkan menggunakan data atribut, yaitu
menggunakan real dan imag. Sedangkan untuk mendapatkan konjugasi dari bilangan kompleks
tersebut, dapat menggunakan metode conjugate().
Dari contoh di atas, ketika akan memanggil variabel secara langsung maka akan ditampil
Di dalam sebuah string tidak dapat berisi tanda petik yang sama dengan tanda petik yang digunakan
oleh string tersebut. Misalkan, ketika ingin menuliskan 'Python' maka akan muncul pesan kesalahan
(syntax error). Agar tidak muncul pesan kesalahan,bisa dilakukan dengan cara mengganti tanda petik
luarnya dengan tanda petik ganda, misalnya "Py'thon". Tanda petik juga dapat ditulis setelah tanda
backslash (\) agar dapat ditampilkan sebagai string.
7
>>> str2
'Py"thon'
>>> "\"OK, \" sampai ketemu lagi."
'"OK, " sampai ketemu lagi.'
Menggabungkan String
Untuk menggabungkan dua buah string atau lebih, dapat menggunakan operator +.Sedangkan
untuk menggandakan string, dapat menggunakan operator *.
Jika dua string ditulis secara berurutan, maka secara langsung kedua string tersebut akan
digabungkan.
Panjang dari sebuah string dapat dtemukan dengan menggunakan fungsi len().
>>> len(blog)
12
Memecah String
Tidak seperti bahasa lainnya, Python tidak mendukung tipe Karakter. Untuk mengambil satu
karakter atau lebih dari sebuah string, dapat dilakukan dengan cara memecah string tersebut
menggunakan indeks (disebut Metode Irisan). Irisan terdiri dari dua indeks yang dipisahkan tanda
koma.
8
>>> buah = 'Nanas'
>>> buah[0]
'N'
>>> buah[0:2]
'Na'
>>> buah[0:4]
'Nana'
>>> buah[0:5]
'Nanas'
Dari contoh di atas, panjang string buah adalah 5. Ketika menghitung maju, indeks bernilai 0 sampai
(panjang-string – 1) dimulai dari kiri ke kanan. Maka dari itu, dapat mengakses setiap karakter dalam
range 0 sampai 4.
Sebuah string juga dapat dihitung mundur, dengan indeks -1 sampai (negatif panjang-string) dimulai
dari kanan ke kiri. Berikut gambaran lengkapnya, baik itu penghitungan maju atau mundur.
0 1 2 3 4
N a n a s
-5 -4 -3 -2 -1
>>> buah[-1]
‘s’
>>> buah[-5]
‘N’
>>> buah[-5:-1]
‘Nana’
>>> buah[1:-1]
‘ana’
Jika lupa berapa nilai indeks awala atau indeks akhir, dapat dilakukan dengan mengkosongkan indeks
tersebut.
>>> buah[:3]
‘Nan’
>>> buah[2:]
‘nas’
9
Pengosongan indeks akan menyebabkan semua string ditampilkan.
>>> buah[:]
‘Nanas’
Tidak seperti pemrograman lainnya, variabel pada Python tidak harus dideklarasikan secara
eksplisit. Pendeklarasian variabel terjadi secara otomatis ketika memberikan sebuah nilai pada suatu
variabel. Seperti bahasa pemrograman pada umumnya, tanda sama-dengan (=) digunakan untuk
memberikan nilai pada suatu variabel. Operan di sebelah kiri dari tanda (=) adalah nama variabel,
sedangkan operan yang sebelah kanan dari tanda (=) adalah nilai yang diberikan pada variabel.
>>>harga = 100
>>>diskon = 25
>>>harga - diskon
75
Pada contoh di atas, 100 dan 25 merupakan nilai yang diberikan pada variabel harga dan diskon.
Sedangkan pernyataan harga-diskon akan menghitung selisih antara harga dengan diskon. Variabel juga
dapat menyimpan suatu nilai berupa teks (dibaca string).
>>>a = 'sekolah'
>>>b = 'dasar'
>>>a + b
'sekolahdasar'
Variabel juga dapat menyimpan dua nilai string atau lebih dengan menggunakan operator (+).
Jika telah memberikan nilai pada suatu variabel, variabel tersebut dapat digunakan dalam ekspresi
yang lain.
>>>a = 2
>>>a = a + 3
10
>>>a
5
>>>p=q=r=1
>>>p
1
>>>q
1
>>>r
1
Selain itu, dapat memberikan beberapa nilai untuk beberapa variabel (disebut multiple assignment).
Bentuk lain dari contoh di atas, bisa menggunakan tanda kurung-buka kurung-tutup.
(1) IF
Sama dengan bahasa pemrograman lainnya, Python juga menggunakan pernyataan if. Pernyatan
if ini berisi sebuah ekspresi logika menggunakan data yang telah dibandingkan, dan menghasilkan
sebuah keputusan yang dibuat berdasarkan perbandingan tersebut. Aturan penulisan untuk
pernyataan if sebagai berikut:
Semua pernyataan dituliskan dengan indentasi (alinea) setelah bagian kondisi bersyarat.
Python menggunakan indentasi untuk mengelompokkan satu atau beberapa pernyataan.
11
Pada pernyataan if, syarat kondisi akan dijalankan pertama kali. Jika kondisi tersebut
benar, maka pernyataan pada blok pernyataan_benar akan dijalankan. Berikut contohnya,
Pada contoh di atas, pernyataan if akan menampilkan teks ‘Hello’ jika nilai variabel x lebih besar dari 0.
(2) Else
Pernyataan else ini biasanya digabungkan dengan pernyataan if di atas. Pernyataan else dapat
berisi satu atau beberapa blok pernyataan (kode) yang mana akan dijalankan jika kondisi tersebut salah
(atau tidak sesuai dengan syarat yang berlaku). Berikut syntax untuk if ... else,
Sebagai contoh, untuk mengetahui apakah suatu bilangan merupakan genap atau ganjil, bisa dilakukan
dengan menggunakan kode seperti berikut ini,
Pada contoh di atas, ‘genap‘ akan ditampilkan jika sisa dari pembagian bilangan dengan 2 sama dengan
0. Dan sebaliknya jika tidak sama dengan 0, maka akan ditampilkan ‘ganjil‘.
(3) Elif
Pernyataan elif memperbolehkan untuk menguji beberapa kondisi bersyarat untuk tiap-tiap nilai
dan menjalankan kode pernyataan yang sesuai dengan syarat yang diberlakukan. Berikut syntax dari
pernyataan elif,
12
Contoh berikut ini menggunakan pernyataan elif untuk menampilkan apakah huruf yang diinput
merupakan huruf vokal. Jika tidak, maka sebuah pesan lain akan ditampilkan.
Pada contoh kode di atas, ketika seorang user mengetikkan sebuah huruf maka huruf tersebut
akan diproses apakah huruf vokal atau bukan. Jika user mengetikkan huruf ‘a‘, maka sesuai syarat yang
berlaku maka akan ditampilkan ‘Ini adalah huruf vokal – a –‘. Jika kondisinya tidak sesuai, misalkan
user mengetikkan huruf ‘u‘, maka akan dilanjutkan kondisi bersyarat elif yang berikutnya sampai
ditemukan kondisi yang sesuai dan akan ditampilkan hasilnya ‘Ini adalah huruf vokal – u –‘. Jika user
mengetikkan huruf ‘x‘, maka tidak ada syarat yang sesuai dengan kondisi bersyarat if dan elif. Dan
pernyataan else yang dijalankan yaitu ‘Ini bukan huruf vokal‘.
13
(4) IF bersarang
Pada kondisi tertentu,dapat menggunakan pernyataan if bersarang. Maksudnya adalah dapat
menuliskan pernyataan if..else di dalam pernyataan if..else. Berikut contoh penggunaan if bersarang pada
program untuk menentukan apakah huruf yang dimasukkan user adalah huruf besar atau huruf kecil,
Pengulangan for pada pemrograman Python mempunyai kemampuan untuk melakukan iterasi
data-data yang berurutan, seperti list atau string. Syntax umumnya adalah,
Jika urutan berupa sebuah list, maka urutan tersebut akan diuji dahulu. Kemudian data-data
dariurutan tersebut akan dijadikan sebagai variabel. Selanjutnya, blok pernyataan_yang_diulangakan
dieksekusi. Berikut akan diperlihatkan bagaimana pengulangan for bekerja dalam tipe urutan yang
berbeda,
Huruf: I
Huruf: n
Huruf: d
Huruf: o
Huruf: n
Huruf: e
Huruf: s
14
Huruf: i
Huruf: a
Ketika pengulangan for untuk iterasi string, variabel iterasi diasumsikan sebagai nilai dari setiap
karakter pada string. Keluaran dari pengulangan for dalam bentuk satu karakter mengindikasikan
bahwa urutan iterasi yang digunakan berupa string, bukan berupa obyek seperti list.
Jika ingin menampilkan sebuah daftar nama orang diikuti dengan panjangnya nama tersebut, maka
lebih cocok menggunakan pengulangan for menggunakan urutan bertipe list. Berikut contohnya,
Pada kode di atas, bentuk % digunakan untuk memformat keluaran dan fungsi len() digunakan
untuk menghitung panjang dari tiap-tiap item dalam daftar nama. Keluarannya seperti berikut,
Pengulangan while akan berhenti jika pengujian suatu kondisi sudah tidak sesuai alias False. Yang
mana, pengujian kondisi ini menggunakan pengujian logika dan akan memberikan nilai benar atau
salah. Syntax umum dari pengulangan while adalah sebagai berikut,
15
Berikut contoh penggunaan while,
Pada contoh di atas, bagian pengulangan_kode pada pengulangan while akan diulang beberapa
kali sampai nilai bilangan_2 lebih besar daripada nilai angka. Pada setiap iterasi (pengulangan),
nilai bilangan_2 akan bertambah sebesar bilangan_1, dan nilai bilangan_1 akan diubah
menjadi selisih antara bilangan_2 dengan bilangan_1 itu sendiri.
16
1.9. Penggunaan Break dan Continue pada Python
(1) Break
BREAK adalah sebuah pernyataan yang akan membuat sebuah program berhenti atau keluar dari
suatu blok pengulangan. Dan semua kode setelah pernyataan break akan diabaikan. Pernyataan break ini
dapat digunakan pada pengulangan while dan for. Berikut contoh sederhananya,
Pada kode di atas, ketika bil_2 sudah bernilai 89, maka program langsung keluar. Hal ini disebabkan
oleh pernyataan break yang kita letakkan pada blok if. Berikut hasil keluaran dari program ini,
17
Pada kode di atas, program akan berhenti ketika panjang sebuah nama melebihi 6 karakter. Jadi
ketika i menunjuk pada nama “Ardhana“, yang panjangnya 7 karakter, program secara otomatis
terhenti karena ada break. Berikut hasil dari program ini,
0 Ahmad
1 Azzam
2 Avika
3 Ari
(2) Continue
Berbeda dengan pernyataan break, pernyataan continue akan melakukan pengulangan mulai dari
awal lagi. Dan akan mengabaikan semua kode yang tersisa pada loop untuk menuju awal loop lagi.
Berikut contohnya,
Pada kode di atas, ketika memasukkan nilai di atas 100 maka program akan mengulang lagi dari awal
untuk meminta masukan. Berikut hasil keluaran dari listing di atas,
18
Bilangan melebihi angka 100. Coba lagi.
Masukkan bilangan di bawah 100: 25
Pangkat dua dari bilangan ini adalah 625
Apakah Anda ingin mengulangi lagi (y/n)?n
Pada kode di atas, jika salah memasukkan password sebanyak 3 kali, maka program akan keluar. Jika
memasukkan pasword yang salah untuk yang pertama dan kedua, maka program akan mengulang lagi
dari awal yaitu meminta masukan password . Berikut keluaran dari listing di atas,
19
MATERI – 2 RASPBERRY PI
Raspberry Pi, sering juga disingkat dengan nama Raspi, adalah komputer papan
tunggal (Single Board Circuit /SBC)yang memiliki ukuran sebesar kartu kredit. Raspberry Pi
bisa digunakan untuk berbagai keperluan, seperti spreadsheet, game, bahkan bisa digunakan
sebagai media player karena kemampuannya dalam memutar video high definition. Raspberry
Pi dikembangkan oleh yayasan nirlaba, Rasberry Pi Foundation yang digawangi sejumlah
developer dan ahli komputer dari Universitas Cambridge, Inggris.
Ide dibalik komputer mungil ini diawali dari keinginan untuk mencetak generasi baru
programer, pada 2006 lalu. Seperti disebutkan dalam situs resmi Raspberry Pi Foundation,
waktu itu Eben Upton, Rob Mullins, Jack Lang, dan Alan Mycroft, dari Laboratorium
Komputer Universitas Cambridge memiliki kekhawatiran melihat kian turunnya keahlian dan
jumlah siswa yang hendak belajar ilmu komputer. Mereka lantas mendirikan yayasan
Raspberry Pi bersama dengan Pete Lomas dan David Braben pada 2009. Tiga tahun kemudian,
Raspberry Pi Model B memasuki produksi masal. Dalam peluncuran pertamanya pada akhir
Febuari 2012 dalam beberapa jam saja sudah terjual 100.000 unit. Kini, sekitar dua tahun
kemudian, Rasberry Pi telah terjual lebih dari 2,5 juta unit ke seluruh dunia.
Raspberry Pi memiliki dua model yaitu model A dan model B. Secara umum Raspberry
Pi Model B, 512MB RAM. Perbedaan model A dan B terletak pada memory yang digunakan,
Model A menggunakan memory 256 MB dan model B 512 MB. Selain itu model B juga sudah
dilengkapai dengan ethernet port (kartu jaringan) yang tidak terdapat di model A. Desain
Raspberry Pi didasarkan seputar SoC (System-on-a-chip) Broadcom BCM2835, yang telah
menanamkan prosesor ARM1176JZF-S dengan 700 MHz, VideoCore IV GPU, dan 256
Megabyte RAM (model B). Penyimpanan data didisain tidak untuk menggunakan hard disk
atau solid-state drive, melainkan mengandalkan kartu SD (SD memory card) untuk booting dan
penyimpanan jangka panjang. Raspberry Pi merupakan komputer mini yang sangat murah,
harganya hanya 25 dollar AS untuk Model A adapun 35 dollar AS utuk Model B per unit
20
Hardware Raspberry Pi tidak memiliki real-time clock, sehingga OS harus
memanfaatkan timer jaringan server sebagai pengganti. Namun komputer yang mudah
dikembangkan ini dapat ditambahkan dengan fungsi real-time (seperti DS1307) dan banyak
lainnya, melalui saluran GPIO (General-purpose input/output) via antarmuka I²C (Inter-
Integrated Circuit).
Raspberry Pi bersifat open source (berbasis Linux), Raspberry Pi bisa dimodifikasi
sesuai kebutuhan penggunanya. Sistem operasi utama Raspberry Pi menggunakan Debian
GNU/Linux dan bahasa pemrograman Python. Salah satu pengembang OS untuk Raspberry Pi
telah meluncurkan sistem operasi yang dinamai Raspbian, Raspbian diklaim mampu
memaksimalkan perangkat Raspberry Pi. Sistem operasi tersebut dibuat berbasis Debian yang
merupakan salah satu distribusi Linux OS.
Specification
Chip : Broadcom BCM2835 (CPU, GPU, DSP, and SDRAM)
CPU : 700 MHz ARM1176JZF-S core (ARM6 family)
GPU : Broadcom VideoCore IV, OpenGL ES 2.0, 1080p30 h.264/MPEG-4 AVC high-
profile decoder
Memory (SDRAM) : 512 MB (shared with GPU)
USB 2.0 ports : 2 (via integrated USB hub)
Video outputs : Composite RCA (PAL & NTSC), HDMI (rev 1.3 & 1.4), raw LCD
Panels via DSI 14 HDMI resolutions from * 640×350 to 1920×1200 plus various PAL
and NTSC standards.
Audio outputs : 3.5 mm jack, HDMI
Onboard storage : SD / MMC / SDIO card slot
Onboard network : 10/100 Ethernet (RJ45)
Low-level peripherals: 8 × GPIO, UART, I²C bus, SPI bus with two chip selects, +3.3
V, +5 V, ground[58][63]
Power ratings : 700 mA (3.5 W)
Power source : 5 volt via MicroUSB or GPIO header
Size : 85.60 × 53.98 mm (3.370 × 2.125 in)
Weight : 45 g (1.6 oz)
Operating systems : Debian GNU/Linux, Fedora, Arch Linux ARM, RISC OS
Sumber : https://id.wikipedia.org/wiki/Raspberry_Pi
21
MATERI – 3 GPIO (General-purpose input/output)
General-purpose input/output (GPIO) adalah pin generik pada sirkuit terpadu (chip)
yang perilakunya (termasuk apakah pin itu input atau output) dapat dikontrol (diprogram) oleh
pengguna saat berjalan.
Pin GPIO tidak 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 dari chip berupa sinyal kontrol ataupun data.
Adanya konektor (pin) yang tersedia dari chip dapat menghemat kerumitan saat mengatur
sirkuit tambahan.
Pada hakekatnya hampir semua SBC (single-board computer) menyediakan GPIO
untuk ekspansi disambungkan ke modul atau komponen lainnya. Papan sirkuit embedded
seperti Arduino, BeagleBone, Raspberry Pi dan lainnya, acapkali memanfaatkan GPIO untuk
membaca data atau sinyal dari berbagai sensor lingkungan seperti IR , video, suhu, orientasi 3
dimensi, percepatan dan sebagainya, disamping untuk menulis atau mengirim data melalui
output ke motor DC (melalui modul PWM), audio, display LCD, atau lampu LED.
22
Spesifikasi GPIO :
23
MATERI – 4 LED
Dalam bagian ini, akan dijelaskan penggunaan raspberry pi untuk menyalakan LED
pada kit display. Materi yang dibahas terdiri dari percobaan LED On, percobaan LED Off,
percobaan LED Blinking 3 Times, Percobaan Blinking LED, Percobaan Turn On With Input
From Terminal dan Percobaan LED With For.
Pada sub-bab ini adalah percobaan LED On, akan dibahas highlight percobaan yang akan
dilakukan, tujuan dari percobaan, dasar teori, alat dan bahan dan langkah kerja.
24
4.1.2. Tujuan
Tujuan dalam modul ini yaitu agar praktikan dapat lebih memahami dalam penggunaan
pin GPIO Boardcom dan GPIO Board, sehingga di modul selanjutnya sudah mulai terbiasa
dengan penggunaan pin GPIO Boardcom atau GPIO Board.
Light Emitting Diode atau biasa disebut LED sering kita jumpai dalam
kehidupan sehari-sehari, seperti lampu indikator standby di monitor, lampu
indikator di charger, lampu indikator di dispenser, dan lain-lain.
Perbedaan pembacaan pin GPIO Bordcom dan GPIO Board,pin GIPO Bordcom
bisa dilihat angka yang berada di luar dan GPIO board angka berada di dalam
lingkaran bisa dilihat di Gambar. 7 pin board Raspberry Pi
Pada bagian ini, akan dicoba bagaimana caranya agar LED dapat menyala
melaui pin GPIO yang anda gunakan
Raspberry Pi
Display Kit
Kabel LAN
Adaptor
MicroSD
25
4.1.5. Langkah Kerja
a. On lampu led dengan setmode broadcom
Sambungkan kabel jumper dari port GPIO Broadcom 17 atau GPIO Board 11
ke pin led 1
Sambungkan kabel jumper dari port GPIO Broadcom 27 atau GPIO Board 13
ke pin led 3
26
b. On lampu led dengan setmode broad
Sambungkan kabel jumper dari port GPIO Broadcom 17 atau GPIO Board 11
ke pin led 1
Sambungkan kabel jumper dari port GPIO Broadcom 27 atau GPIO Board 13
ke pin led 3
27
4.2. Percobaan 2 LED OFF
Pada sub-bab ini adalah percobaan LED Off, akan dibahas highlight percobaan yang akan
dilakukan, tujuan dari percobaan, dasar teori, alat dan bahan dan langkah kerja.
Mematikan 2 lampu Led pada display kit dengan menggunakan python 2 menggunakan
port GPIO Broadcom 17 dan 27 atau GPIO Board 11 dan 13, dan 1 buah port GPIO 9 sebagai
ground.
4.2.2. Tujuan
Tujuan dalam modul ini yaitu agar praktikan dapat lebih memahami dalam penggunaan
pin GPIO Boardcom dan GPIO Board, sehingga di modul selanjutnya sudah mulai terbiasa
dengan penggunaan pin GPIO Boardcom atau GPIO Board.
Light Emitting Diode atau biasa disebut LED sering kita jumpai dalam
kehidupan sehari-sehari, seperti lampu indikator standby di monitor, lampu
indikator di charger, lampu indikator di dispenser, dan lain-lain.
Perbedaan pembacaan pin GPIO Bordcom dan GPIO Board,pin GIPO Bordcom
bisa dilihat angka yang berada di luar dan GPIO board angka berada di dalam
lingkaran bisa dilihat di Gambar. 8 pin board Raspberry Pi
Pada bagian ini, akan dicoba bagaimana caranya agar LED dapat mati melaui
pin GPIO yang anda gunakan
Raspberry Pi
Display Kit
28
Kabel LAN
Adaptor
MicroSD
Sambungkan kabel jumper dari port GPIO Broadcom 17 atau GPIO Board 11
ke pin led 1
Sambungkan kabel jumper dari port GPIO Broadcom 27 atau GPIO Board 13
ke pin led 3
Sambungkan kabel jumper dari port GPIO Broadcom 17 atau GPIO Board 11
ke pin led 1
Sambungkan kabel jumper dari port GPIO Broadcom 27 atau GPIO Board 13
ke pin led 3
30
4.3.Percobaan 3 LED Blinking 3 Times
Pada sub-bab ini adalah percobaan LED Blinking 3 Times, akan dibahas highlight
percobaan yang akan dilakukan, tujuan dari percobaan, dasar teori, alat dan bahan dan langkah
kerja.
Menyalakan 2 lampu Led secara blinking sebanyak 3 kali pada display kit dengan
menggunakan python 2 menggunakan port GPIO Broadcom 17 dan 27 atau GPIO Board 11
dan 13, dan 1 buah port GPIO 9 sebagai ground.
4.3.2. Tujuan
Tujuan dalam modul ini yaitu agar praktikan di harapakan untuk bisa memahami
bagaimana cara menyalakan dan mematikan lampu LED sebanyak 3 kali dengan
memprogram Port Input Output (GPIO) yang sudah ada pada python 2.
Light Emitting Diode atau biasa disebut LED sering kita jumpai dalam
kehidupan sehari-sehari, seperti lampu indikator standby di monitor, lampu
indikator di charger, lampu indikator di dispenser, dan lain-lain.
Perbedaan pembacaan pin GPIO Bordcom dan GPIO Board,pin GIPO Bordcom
bisa dilihat angka yang berada di luar dan GPIO board angka berada di dalam
lingkaran bisa dilihat di Gambar. 9 pin board Raspberry Pi
Pada bagian ini, akan dicoba bagaimana caranya agar LED dapat mati melaui
pin GPIO yang anda gunakan
Raspberry Pi
Display Kit
31
3 buah kabel jumper
Kabel LAN
Adaptor
MicroSD
Sambungkan kabel jumper dari port GPIO Broadcom 17 atau GPIO Board 11
ke pin led 1
Sambungkan kabel jumper dari port GPIO Broadcom 27 atau GPIO Board 13
ke pin led 3
32
Buat sebuah file dengan nama LED_blink atau terserah asal tidak hilang dan
mudah di ingat tambahkan ekstensi *.py, maka hasilnya akan seperti ini
“LED_blink.py” lalu save.
Eksekusi file tersebut di IDE atau Termninal python 2 dengan perintah python
di ikuti dengan nama file.
Contoh: python LED_blink.py
33
4.4.Percobaan 4 LED Blinking
Pada sub-bab ini adalah percobaan LED Blinking 3 Times, akan dibahas highlight
percobaan yang akan dilakukan, tujuan dari percobaan, dasar teori, alat dan bahan dan langkah
kerja.
Menyalakan 2 lampu Led secara blinking terus menerus pada display kit dengan
menggunakan python 2 menggunakan port GPIO Broadcom 17 dan 27 atau GPIO Board 11
dan 13, dan 1 buah port GPIO 9 sebagai ground.
4.4.2. Tujuan
Tujuan dalam modul ini yaitu agar praktikan di harapkan bisa menyalakan dan
mematikan LED dengan nilai batas yang tidak di tentukan dengan menggunakan metode
looping while.
Light Emitting Diode atau biasa disebut LED sering kita jumpai dalam
kehidupan sehari-sehari, seperti lampu indikator standby di monitor, lampu
indikator di charger, lampu indikator di dispenser, dan lain-lain.
Perbedaan pembacaan pin GPIO Bordcom dan GPIO Board,pin GIPO Bordcom
bisa dilihat angka yang berada di luar dan GPIO board angka berada di dalam
lingkaran bisa dilihat di Gambar. 10 pin board Raspberry Pi
Pada bagian ini, akan dicoba bagaimana caranya agar LED dapat mati melaui
pin GPIO yang anda gunakan
Raspberry Pi
34
Display Kit
Kabel LAN
Adaptor
MicroSD
Sambungkan kabel jumper dari port GPIO Broadcom 17 atau GPIO Board 11
ke pin led 1
Sambungkan kabel jumper dari port GPIO Broadcom 27 atau GPIO Board 13
ke pin led 3
35
Buat sebuah file dengan nama LED_blink_loop atau terserah asal tidak hilang
dan mudah di ingat tambahkan ekstensi *.py, maka hasilnya akan seperti ini
“LED_blink_loop.py” lalu save.
Eksekusi file tersebut di IDE atau Termninal python 2 dengan perintah python
di ikuti dengan nama file.
Contoh: python LED_blink_loop.py
Jelaskan perbedaan hasil output dari poin 1.3 dan 1.4 di atas!.
Mengapa ada jeda saat lampu LED menyala dan mati?.
Apa fungi perintah GPIO.cleanup?.
Pada sub-bab ini adalah Percobaan LED Turn on With Input From Terminal, akan dibahas
highlight percobaan yang akan dilakukan, tujuan dari percobaan, dasar teori, alat dan bahan
dan langkah kerja.
4.5.2. Tujuan
Tujuan dalam modul ini yaitu agar praktikan diharapkan para praktikan dapat
membuat program Menyalakan 2 lampu led dengan memasukkan banyak blinking dan
waktu blinking.
Light Emitting Diode atau biasa disebut LED sering kita jumpai dalam
kehidupan sehari-sehari, seperti lampu indikator standby di monitor, lampu
indikator di charger, lampu indikator di dispenser, dan lain-lain.
36
Perbedaan pembacaan pin GPIO Bordcom dan GPIO Board,pin GIPO Bordcom
bisa dilihat angka yang berada di luar dan GPIO board angka berada di dalam
lingkaran bisa dilihat di Gambar. 11 pin board Raspberry Pi
Pada bagian ini, akan dicoba bagaimana caranya agar LED dapat mati melaui
pin GPIO yang anda gunakan
Raspberry Pi
Display Kit
Kabel LAN
Adaptor
MicroSD
37
Salin source code di bawah pada program Python lalu simpan Buat sebuah file
dengan nama LED_blink_input tambahkan ekstensi *.py, maka hasilnya akan seperti
ini “LED_blink_input.py”.
Run program yang telah dibuat lalu lihat hasil yang muncul di aplikasi Python
Shell, Eksekusi file tersebut di IDE atau Termninal python 2 dengan perintah
python di ikuti dengan nama file.
Contoh: python LED_blink_input.py
Pada saat di run maka kita memasukkan banyak nya dan waktu blinking,
setelah kita memasukkan banyaknya dan waktu blinking maka led akan menyala
sesuai dengan nilai yang kita input.
38
4.6.Percobaan 6 LED Turn on With For
Pada sub-bab ini adalah Percobaan LED Turn on With For akan dibahas highlight
percobaan yang akan dilakukan, tujuan dari percobaan, dasar teori, alat dan bahan dan langkah
kerja.
Menyalakan 3 lampu Led dengan menggunakan logika for sederhana pada display
kit dengan menggunakan python 2 menggunakan port GPIO BOARD 11, 13 dan 15 dan 1
buah port GPIO 9 sebagai ground.
4.6.2. Tujuan
Tujuan dalam modul ini yaitu agar praktikan diharapkan para praktikan dapat membuat
program menyalakan 3 lampu led menggunakan logika for sederhana.
Light Emitting Diode atau biasa disebut LED sering kita jumpai dalam
kehidupan sehari-sehari, seperti lampu indikator standby di monitor, lampu
indikator di charger, lampu indikator di dispenser, dan lain-lain.
Perbedaan pembacaan pin GPIO Bordcom dan GPIO Board,pin GIPO Bordcom
bisa dilihat angka yang berada di luar dan GPIO board angka berada di dalam
lingkaran bisa dilihat di Gambar. 12 pin board Raspberry Pi
Pada bagian ini, akan dicoba bagaimana caranya agar LED dapat mati melaui
pin GPIO yang anda gunakan
39
4.6.5. Langkah Kerja
Run program yang telah dibuat lalu lihat hasil yang muncul di aplikasi Python
Shell, Eksekusi file tersebut di IDE atau Termninal python 2 dengan perintah
python di ikuti dengan nama file.
Contoh: python LED_blink_input.py
Pada saat di run maka kita memasukkan banyak nya dan waktu blinking,
setelah kita memasukkan banyaknya dan waktu blinking maka led akan menyala
sesuai dengan nilai yang kita input.
40
MATERI – 5 SWITCH
Dalam bagian ini, akan dijelaskan penggunaan raspberry pi untuk melakukan sesuatu
dengan SWITCH pada kit display. Materi yang dibahas terdiri dari percobaan Switch push
button, percobaan Switch dan LED, percobaan Switch dan Buzzer dan percobaan Switch, LED
serta Buzzer.
Pada sub-bab ini adalah Percobaan Switch Push Button, akan dibahas highlight percobaan
yang akan dilakukan, tujuan dari percobaan, dasar teori, alat dan bahan dan langkah kerja.
5.1.2. Tujuan
Tujuan dalam modul ini yaitu agar praktikan diharapkan para praktikan dapat
membuat program dengan menggunakan Switch Push Button sebagai input.
Switch Push Button (saklar tombol tekan) adalah perangkat / saklar sederhana
yang berfungsi untuk menghubungkan atau memutuskan aliran arus listrik
dengan sistem kerja tekan unlock (tidak mengunci).
41
5.1.5. Langkah Kerja
Run program yang telah dibuat lalu lihat hasil yang muncul di aplikasi Python
Shell, Eksekusi file tersebut di IDE atau Termninal python 2 dengan perintah
python di ikuti dengan nama file.
Contoh: python switch_push_button.py
lalu lihat hasil yang muncul di aplikasi Python Shell / Terminal apabila Switch
Push Button ke 0 ditekan
5.1.6. Uji Pemahaman
Buatlah program dengan 2 button sebagai input dan tampilkan hasil outputnya.
42
5.2.Percobaan 2 Switch + LED
Pada sub-bab ini adalah Percobaan Switch + Led, akan dibahas highlight percobaan yang
akan dilakukan, tujuan dari percobaan, dasar teori, alat dan bahan dan langkah kerja.
5.2.2. Tujuan
Pada percobaan ini diharapkan para praktikan dapat membuat program dengan
menggunakan Switch Push Button sebagai input dan LED sebagai output.
5.2.3. Dasar Teori
Switch Push Button (saklar tombol tekan) adalah perangkat / saklar sederhana
yang berfungsi untuk menghubungkan atau memutuskan aliran arus listrik
dengan sistem kerja tekan unlock (tidak mengunci).
43
Lalu Rangkai alat seperti di bawah :
Sambungkan 1 buah kabel jumper dari GPIO 1 ke Pwr + sebagai power 3,3v.
Sambungkan 1 buah kabel jumper dari GPIO 11 ke pin P02.4 sebagai output.
Sambungkan 1 buah kabel jumper dari GPIO 18 (pin12) ke pin P02.0 sebagai input.
Salin source code di bawah pada program Python lalu simpan Buat sebuah file
dengan nama switch_led tambahkan ekstensi *.py, maka hasilnya akan seperti ini
“switch_led.py”.
Run program yang telah dibuat lalu lihat hasil yang muncul di aplikasi Python
Shell, Eksekusi file tersebut di IDE atau Termninal python 2 dengan perintah
python di ikuti dengan nama file.
Contoh: python switch_led.py
lalu lihat hasil yang muncul di aplikasi Python Shell / Terminal apabila Switch
Push Button ke 0 ditekan
Buatlah program dengan 1 button sebagai input ketika ditekan menghasilkan output
2 buah LED dengan blink sebanyak 3 kali dan tampilkan hasil outputnya.
44
5.3.Percobaan 3 Switch + Buzzer
Pada sub-bab ini adalah Percobaan Switch + Buzzer, akan dibahas highlight percobaan
yang akan dilakukan, tujuan dari percobaan, dasar teori, alat dan bahan dan langkah kerja.
5.3.2. Tujuan
Pada percobaan ini diharapkan para praktikan dapat membuat program Menyalakan
Buzzer dengan menggunakan Switch.
5.3.3. Dasar Teori
Switch Push Button (saklar tombol tekan) adalah perangkat / saklar sederhana
yang berfungsi untuk menghubungkan atau memutuskan aliran arus listrik
dengan sistem kerja tekan unlock (tidak mengunci).
Buzzer adalah alat yang dapat mengeluarkan suara beep
5.3.4. Alat dan Bahan
45
Lalu Rangkai alat seperti di bawah :
Sambungkan satu buah jumper dari GPIO 9(pin 9) ke pwr + sebagai ground,
Sambungkan satu buah jumper dari GPIO board 11(pin 11) ke Buzzer. Sambungkan
satu buah jumper dari GPIO board 13(pin 13) ke Switch Port.0, Sambungkan GPIO
1 ke Power sebagai tambahan tegangan 3.3v daya.
Salin source code di bawah pada program Python lalu simpan Buat sebuah file
dengan nama switch_buzzer tambahkan ekstensi *.py, maka hasilnya akan seperti
ini “switch_buzzer.py”.
Run program yang telah dibuat lalu lihat hasil yang muncul di aplikasi Python
Shell, Eksekusi file tersebut di IDE atau Termninal python 2 dengan perintah
python di ikuti dengan nama file.
Contoh: python switch_buzzer.py
Pada saat di run maka kita memasukkan banyak nya dan waktu blingking, setelah
kita memasukkan banyaknya dan waktu blinking maka led akan menyala sesuai
dengan nilai yang kita input.
Membuat Bunyi 4 kali pada buzzer dengan selang waktu 1 detik setelah menekan
button pada switch 1 kali
46
5.4.Percobaan 4 Switch + LED + Buzzer
Pada sub-bab ini adalah Percobaan Switch + LED + Buzzer, akan dibahas highlight
percobaan yang akan dilakukan, tujuan dari percobaan, dasar teori, alat dan bahan dan langkah
kerja.
Menyalakan 1 buah Buzzer dan LED dengan menekan tombol switch yang
menghasilakn output “button pressed and Buzzer ON and LED On” pada terminal python
dengan menggunakan port GPIO BOARD 13 sebagai input, GPIO BOARD 11 dan 15
sebagai ouput dan GPIO 9 sebagai Ground dan GPIO port 1 sebagai tambahan tegangan
sebesar 3.3 v untuk menyalakan switch.
5.4.2. Tujuan
Pada percobaan ini diharapkan para praktikan dapat membuat program menyalakan
lampu led dan buzzer dengan menekan switch menggunakan raspberry.
5.4.3. Dasar Teori
Light Emitting Diode (LED) adalah komponen elektronika yang bisa
memancarkan cahaya monokromatik ketika diberikan suatu tegangan
maju.LED masih termasuk dalam keluarga Dioda.LED terdiri dari sebuah chip
dari bahan semikonduktor yang diisi penuh, atau di-dop, dengan
ketidakmurnian untuk menciptakan sebuah struktur
Switch button adalah perangkat / saklar sederhana yang berfungsi untuk
menghubungkan atau memutuskan aliran arus listrik dengan sistem kerja tekan
unlock (tidak mengunci)
Buzzer adalah alat yang dapat mengeluarkan suara beep
47
5.4.5. Langkah Kerja
Run program yang telah dibuat lalu lihat hasil yang muncul di aplikasi Python
Shell, Eksekusi file tersebut di IDE atau Termninal python 2 dengan perintah
python di ikuti dengan nama file.
Contoh: python switch_led_buzzer.py
5.4.6. Uji Pemahaman
Menyalakan 2 lampu Led + buzzer + switch, dengan kondisi ketika switch ditekan,
akan berbunyi bunyi beep dan led berwarna merah sebanyak 3 kali selama 0,5 detik,
lalu disusul bunyi beep dan led berwarna merah selama 3 detik.
48
MATERI – 6 LDR
Dalam bagian ini, akan dijelaskan penggunaan raspberry pi untuk melakukan sesuatu
dengan LDR pada kit display. Materi yang dibahas terdiri dari Menampilkan Nilai Resistansi
cahaya pada terminal python, Menyalakan lampu LED dengan LDR sebagai Switch dan
Menyalakan lampu LED dan Buzzer dengan LDR sebagai Switch.
Pada sub-bab ini adalah Menampilkan Nilai Resistansi cahaya pada terminal python, akan
dibahas highlight percobaan yang akan dilakukan, tujuan dari percobaan, dasar teori, alat dan
bahan dan langkah kerja.
6.1.2. Tujuan
Tujuan dalam modul ini yaitu agar praktikan diharapkan dapat menampilkan nilai
LDR output “resistensi cahaya” pada terminal python dengan menggunakan port-
port pada RPi.
6.1.3. Dasar Teori
Dengan menggunakan pin-pin GPIO yang ada di RPi maka akan mudah untuk
menampilkan resistansi cahaya pada terminal Python. Penggunaan setiap pin-
nya juga sudah dijelaskan di bab sebelumnya.
Untuk menampilkan nilai resistansi cahaya digunakan syntax
GPIO.HIGH/GPIO.LOW, fungsinya sama dengan penggunaan True/False.
49
6.1.5. Langkah Kerja
Siapkan alat – alat dan bahan diatas
Lalu sambungkan Raspberry yang telah di isi Micro SD pada Adapter dan kabel
LAN.
Lalu Rangkai alat seperti di bawah :
Gunakan GPIO BOARD 4 sebagai input, GPIO BOARD 15 sebagai output, GPIO
BOARD 6 sebagai Ground dan GPIO Board 1 sebagai tambahan tegangan sebesar
3.3 V
Pasangkan pin yang sudah ditentukan dengan sensor yang dipakai menggunakan
kabel jumper
Salin source code di bawah pada program Python lalu simpan Buat sebuah file
dengan nama ldr_nilai_rc tambahkan ekstensi *.py, maka hasilnya akan seperti ini
“ldr_nilai_rc.py”.
Run program yang telah dibuat lalu lihat hasil yang muncul di aplikasi Python Shell,
Eksekusi file tersebut di IDE atau Termninal python 2 dengan perintah python di
ikuti dengan nama file.
Contoh: python ldr_nilai_rc.py
Amati apa yang terjadi !
50
6.2. Menyalakan lampu LED dengan LDR sebagai Switch
Pada sub-bab ini adalah Menyalakan lampu LED dengan LDR sebagai Switch, akan
dibahas highlight percobaan yang akan dilakukan, tujuan dari percobaan, dasar teori, alat dan
bahan dan langkah kerja.
Menyalakan lampu LED dengan LDR sebagai Switch dengan menggunakan port
GPIO BOARD 5 sebagai input Cahaya dan port GPIO BOARD 11 sebagai output lampu
LED 1 buah, untuk GPIO 7 sebagai Ground dan GPIO port 1 sebagai tambahan tegangan
sebesar 3.3 v untuk menyalakan switch.
6.2.2. Tujuan
Pada percobaan ini diharapkan para praktikan dapat lebih memahami dalam
penggunaan LDR maupun LED, sehingga bisa membuktikan apakah LDR bisa digunakan
sebagai switch untuk menyalakan lampu LED atau tidak.
Light Emitting Diode atau biasa disebut LED sering kita jumpai dalam
kehidupan sehari-sehari, seperti lampu indikator standby di monitor, lampu
indikator di charger, lampu indikator di dispenser, dan lain-lain.
Light Dependent Resistor atau biasa disebut LDR merupakan salah satu jenis
komponen resistor yang nilai resistansinya dapat berubah-ubah sesuai dengan
intensitas cahaya. Semakin banyak cahaya yang mengenainya, maka semakin
menurun nilai resistansinya.
Pada bagian ini, akan dicoba bagaimana caranya agar LED dapat menyala
melalui nilai resistansi dari sebuah LDR berdasarkan cahaya yang diperoleh.
51
6.2.5. Langkah Kerja
Run program yang telah dibuat lalu lihat hasil yang muncul di aplikasi Python
Shell, Eksekusi file tersebut di IDE atau Termninal python 2 dengan perintah
python di ikuti dengan nama file.
Contoh: python led_ldr_switch.py
Arahkan LDR ketempat yang memiliki cahaya, atau bisa juga dekatkan senter ke
arah LDR, lalu periksalah apakah LED menyala atau tidak setelah mendapatkan
cahaya. Apabila LED menyala setelah mendapatkan cahaya, maka program berhasil.
52
Namun, jika belum berhasil, silahkan di periksa pada bagian rangkaian maupun
programnya.
Silahkan rangkailah setiap komponen dan buat program untuk menyalakan LED
apabila intensitas cahaya yang diperoleh LDR sedikit (gelap), dan LED akan mati
bila LDR mendapatkan intensitas besar dari cahaya (terang)
6.3. Menyalakan lampu LED dan Buzzer dengan LDR sebagai Switch
Pada sub-bab ini adalah Menyalakan lampu LED dan Buzzer dengan LDR sebagai Switch,
akan dibahas highlight percobaan yang akan dilakukan, tujuan dari percobaan, dasar teori, alat
dan bahan dan langkah kerja.
Menyalakan lampu LED dan Buzzer dengan LDR sebagai Switch dengan
menggunakan port GPIO BOARD 5 sebagai input Cahaya , port GPIO BOARD 11 sebagai
output lampu LED 1 buah dan port GPIO BOARD 3 sebagai output buzzer, untuk GPIO
7 sebagai Ground dan GPIO port 1 sebagai tambahan tegangan sebesar 3.3 v untuk
menyalakan switch.
6.3.2. Tujuan
Pada percobaan ini diharapkan para praktikan dapat melakukan montir pada raspberry
pi untuk menyalakan LED dan buzzer sebagai output oleh input dari intensitas cahaya LDR
dengan mengetik code yang sudah disediakan.
Switch Push Button (saklar tombol tekan) adalah perangkat / saklar sederhana
yang berfungsi untuk menghubungkan atau memutuskan aliran arus listrik
dengan sistem kerja tekan unlock (tidak mengunci).
LDR (Light Dependent Resistor), ialah jenis resistor yang berubah hambatannya
karena pengaruh cahaya. Bila cahaya gelap nilai tahanannya semakin besar,
sedangkan cahayanya terang nilainya menjadi semakin kecil. LDR adalah jenis
resistor yang biasa digunakan sebagai detector cahaya atau pengukur besaran
53
konversi cahaya. Light Dependent Resistor, terdiri dari sebuah cakram
semikonduktor yang mempunyai dua buah elekrtroda pada permukaannya.
Light Emitting Diode (LED) adalah komponen elektronika yang bisa
memancarkan cahaya monokromatik ketika diberikan suatu tegangan
maju.LED masih termasuk dalam keluarga Dioda.LED terdiri dari sebuah chip
dari bahan semikonduktor yang diisi penuh, atau di-dop, dengan
ketidakmurnian untuk menciptakan sebuah struktur
Buzzer adalah alat yang dapat mengeluarkan suara beep
54
Salin source code di bawah pada program Python lalu simpan Buat sebuah file
dengan nama led_buzzer_ldr_switch tambahkan ekstensi *.py, maka hasilnya akan
seperti ini “led_buzzer_ldr_switch.py”.
Run program yang telah dibuat lalu lihat hasil yang muncul di aplikasi Python Shell,
Eksekusi file tersebut di IDE atau Termninal python 2 dengan perintah python di
ikuti dengan nama file.
Contoh: python led_buzzer_ldr_switch.py
Diharapkan hasil praktikan mendapatkan input dari LDR yang membuat LED serta
Buzzer menjadi output.
Menyalakan buzzer dan led saat LDR diberi sinar cahaya dengan menggunakan
python 2. Port GPIO 9 sebagai ground.
55
MATERI – 7 MP3
Dalam bagian ini, akan dijelaskan pembuatan program python dengan inputan angka
dan sound sebagai outputan dari program tersebut. Untuk suaranya disimpan di dalam satu
folder sebagai database(bank suara) agar dapat mengeluarkan outputnya hanya menggunakan
.mp3. Didalam Raspberry dapat digunakan untuk memutar musik atau sound dengan program
“MPG321” untuk memutar mp3. Sebagai tambahan kita gunakan Headset (Headphone) atau
Speaker.
Pada sub-bab ini adalah membahas tentang pemutaran musik atau sound dengan program
MPG321 pada Raspberry Pi.
Menjalankan file yang memiliki ekstensi kategori audio seperti mp3 merupakan
hal yang umum dapat dilakukan pada setiap system operasi. Begitupun pada Raspberry Pi
juga memiliki fitur menjalankan file audio khusunya berformat mp3.
7.1.2. Tujuan
Adapun tujuan dari pebelajaran materi ini yaitu diantaranya :
Membuat program python dengan inputan angka dan sound sebagai outputan dari
program tersebut.
56
7.1.4. Alat dan Bahan
Berikut alat dan bahan yang diperlukan yaitu (Jika menggunakan Remote Desktop):
- Raspberry Pi
- Adaptor (5volt)
- MicroSD dengan OS Raspberry
- Earphone/Headset
- Kabel LAN (Stright)
Berikut alat dan bahan yang diperlukan yaitu (Jika menggunakan monitor) :
- Raspberry Pi
- Adaptor (5volt)
- MicroSD dengan OS Raspberry
- Earphone/Headset
- Monitor
- Kabel Power Monitor
- Kabel VGA
- Kabel HDMI
- Mouse
- Keyboard
57
Sudo apt-get –y install MPG321
- Tunggu hingga proses selesai.
- Download file mp3 yang akan digunakan pada alamat “belum ditentukan”
- Simpan file yang telah di download pada /home/pi
- Setelah selesai, buka program Python 2 (IDLE) pada menu Programming.
- Klik File New File
- Lalu salin source code yang telah disediakan.
- Simpan source code tersebut dengan nama “mp3.py” pada direktori /home/pi
- Setelah tersimpan, buka kembali terminal
- Cek terlebih dahulu apakah file yang telah disimpan sebelumnya ada atau tidak
dengan mengetikan perintah dibawah lalu tekan enter
ls
- Jika ada ketik perintah selanjutnya seperti dibawah ini lalu tekan enter
Sudo python nama_file.py
- Masukkan angka lalu tekan enter
- Dengarkan suara yang keluar melalui earphone/headset
(Jika menggunakan Remote Desktop)
Adapun langkah kerja pada praktikum ini adalah sebagai berikut :
- Memasukkan MicroSD yang telah terpasang system operasi sebelumnya.
- Menghubungkan Raspberry Pi ke jaringan menggunakan kabel LAN yang telah
disiapkan sebelumnya.
- Hubungkan Raspberry Pi dengan sumber listrik melalui adapter yang telah
disiapkan sebelumnya.
- Hubungkan earphone/headset pada Raspberry Pi
- Minta IP address raspberry yang telah terkoneksi pada asisten
- Hubungkan laptop ke jaringan yang telah disediakan melalui Wi-Fi
- Buka program Remote Desktop pada laptop
- Masukan IP address yang sebelumnya didapatkan dari asisten
- Login menggunakan user dibawah ini
Username : pi
Password : raspberry
- Tunggu hingga proses booting selesai dan menampilkan desktop
- Setelah selesai, buka Terminal dengan mengklik icon monitor pada taskbar
58
- Install MPG321 dengan cara mengetikan perintah dibawah ini lalu tekan enter
Sudo apt-get –y install MPG321
- Tunggu hingga proses selesai.
- Download file mp3 yang akan digunakan pada alamat “belum ditentukan”
- Simpan file yang telah di download pada /home/pi
- Setelah selesai, buka program Python 2 (IDLE) pada menu Programming.
- Klik File New File
- Lalu salin source code yang telah disediakan.
- Simpan source code tersebut dengan nama “mp3.py” pada direktori /home/pi
- Setelah tersimpan, buka kembali terminal
- Cek terlebih dahulu apakah file yang telah disimpan sebelumnya ada atau tidak
dengan mengetikan perintah dibawah lalu tekan enter
ls
- Jika ada ketik perintah selanjutnya seperti dibawah ini lalu tekan enter
Sudo python nama_file.py
- Masukkan angka lalu tekan enter
- Dengarkan suara yang keluar melalui earphone/headset
Source Code :
#!/usr/bin/python
# coding:utf-8
import sys, getopt, os
# audio filename and indentifier
Code = {'1': 'satu.mp3',
'2': 'dua.mp3',
'3': 'tiga.mp3',
'4': 'empat.mp3',
'5': 'lima.mp3',
'6': 'enam.mp3',
'7': 'tujuh.mp3',
'8': 'delapan.mp3',
'9': 'sembilan.mp3',
'10': 'sepuluh.mp3',
'11': 'sebelas.mp3',
'100': 'seratus.mp3',
'belas': 'belas.mp3',
'puluh': 'puluh.mp3',
'ratus': 'ratus.mp3',}
x=raw_input("masukan bilangan")
59
print x
dir =''
bilangan=int(x)
if(bilangan<12):
file=dir+Code[str(bilangan)]
os.system('mpg321 "' +file+ '"')
if((bilangan>11) & (bilangan<20)):
file=dir+Code[str(bilangan%10)]
os.system('mpg321 "' +file+ '"')
file=dir+Code['belas']
os.system('mpg321 "' +file+ '"')
if((bilangan>19) & (bilangan<100)):
file=dir+Code[str(bilangan/10)]
os.system('mpg321 "' +file+ '"')
file=dir+Code['puluh']
os.system('mpg321 "' +file+ '"')
if(bilangan%10!=0):
file=dir+Code[str(bilangan%10)]
os.system('mpg321 "' +file+ '"')
60
7.1.6. Uji Pemahaman
1. Apa yang terjadi jika memasukkan angka lebih dari 999 ? Jelaskan !
2. Apa yang terjadi jika file audio dan file python (.py) disimpan pada direktori yang
berbeda ? Jelaskan !
3. Bisakah file python (.py) dan file audio disimpan pada direktori yang berbeda ?
Jelaskan !
61