Anda di halaman 1dari 37

LAPORAN PRAKTIKUM

PEMROGRAMAN ELEKTROMEKANIK

DISUSUN OLEH :

NAMA : DESTA ZUL FAUZI

NIM : 031600466

PRODI : ELEKTROMEKANIKA

JURUSAN : TEKNO FISIKA NUKLIR

SEKOLAH TINGGI TEKNOLOGI NUKLIR


BADAN TENAGA NUKLIR NASIONAL
YOGYAKARTA
2018
BAB I

PENDAHULUAN

I. Judul Percobaan
1. Percobaan 1 - Pengiriman data dengan tampilan LED.
2. Percobaan 2 - Menggunakan FOOR LOOP.
3. Percobaan 3 - Menggunakan ARRAY.

II. Tujuan
1. Percobaan 1
- Mahasiswa memahami rangkaian mikrokontroller untuk
mengendalikan LED.
- Mahasiswa dapat memahami pemrograman mikrokontroller
untuk menghidupkan dan mematikan LED serta
menghidupkan LED dari kiri ke kanan dan dari kanan kekiri
(LED Berjalan)
- Mahasiswa dapat memahami penggunaan delay waktu
untuk mengatur waktu penyalaan LED
2. Percobaan 2
- Mahasiswa memahami rangkaian mikrokontroller untuk
mengendalikan LED.
- Mahasiswa dapat memahami penggunaan FOR LOOP di
pemrograman Arduino
3. Percobaan 3
- Mahasiswa memahami rangkaian mikrokontroller untuk
mengendalikan LED.
- Mahasiswa dapat memahami penggunaan array di
pemrograman Arduino

III. Latar Belakang


Pada jaman yang semakin maju dan modern ini, teknologi juga
berkembang begitu pesat guna memenuhi kebutuhan hidup
manusia. Dengan adanya perkembangan teknologi tentu saja ilmu
Komputer juga berkembang. Dalam hal ini ilmu computer sangat
berpengaruh terhadap kehidupan manusia. Hal ini mendorong
manusia untuk membuat hardware dan software yang mendukung
perkembangan teknologi dan ilmu computer dunia untuk
memudahkan user dalam berkomunikasi dengan komputer.
Arduino merupakan pengendali mikro single-board yang bersifat
open-source, diturunkan dari Wiring platform, dirancang untuk
memudahkan penggunaan elektronik dalam berbagai bidang.
Hardwarenya memiliki prosesor Atmel AVR dan softwarenya
memiliki bahasa pemrograman sendiri.

Arduino sendiri merupakan pengendali mikro single-board yang


bersifat open-source, diturunkan dari Wiring platform, dirancang
untuk memudahkan penggunaan elektronik dalam berbagai
bidang. Hardwarenya memiliki prosesor Atmel AVR dan
softwarenya memiliki bahasa pemrograman sendiri. Arduino
dikatakan sebagai sebuah platform dari physical computing yang
bersifat open source. Pertama-tama perlu dipahami bahwa kata
“platform” di sini adalah sebuah pilihan kata yang tepat. Arduino
tidak hanya sekedar sebuah alat pengembangan, tetapi ia adalah
kombinasi dari hardware, bahasa pemrograman dan Integrated
Development Environment (IDE) yang canggih. IDE adalah sebuah
software yang sangat berperan untuk menulis program, meng-
compile menjadi kode biner dan meng-upload ke dalam memory
microcontroller. Ada banyak projek dan alat-alat dikembangkan
oleh akademisi dan profesional dengan menggunakan Arduino,
selain itu juga ada banyak modul-modul pendukung (sensor,
tampilan, penggerak dan sebagainya) yang dibuat oleh pihak lain
untuk bisa disambungkan dengan Arduino. Arduino berevolusi
menjadi sebuah platform karena ia menjadi pilihan dan acuan bagi
banyak praktisi.
BAB II

METODE PRAKTIKUM

I. Alat dan Bahan


1. Modul arduino
2. PC atau laptop yang telah dilengkapi program arduino
3. Kabel Konektor
4. LED + Resistor 100ohm

II. Dasar Teori


Proyek arduino berawal dilvre, italia pada tahun 2005.
Sekarang telah lebih dari 120.000 unit terjual sampai dengan
2010. Pendirinya adalah Massimo Banzidan David Cuartiellez.
Arduino merupakan pengendali mikro single-board yang
bersifat open-source, yang di turunkan dari wiring platform,
yang di rancang untuk memudahkan penggunaan elektronik
dalam berbagai bidang. Hardwernya memiliki prosesor atmel
AVR dan softwarenya memiliki bahasa pemrograman
sendiri.Secara software arduino adalah Open source IDE yang
digunakan untuk mendevelop aplikasi mikrokontroller yang
berbasis arduino platform.Sedangkan secara hardware arduino
adalah ingle board mikrokontroller yang bersifat open source
hardware yang dikembangkan untuk arsitektur mikrokontroller
AVR 8 bit dan ARM 32 bit.Maka dapat disimpulkan arduino
adalah kit elektronik atau papan rangkaian elektronik open
source yang didalamnya terdapat komponen utamaya itu
sebuah chip mikrokontroller dengan jenis AVR. Mikrokontroller
itu sendiri adalah chip atau IC (integrated Circuit) yang bisa
diprogram menggunakan komputer. Tujuan menanamkan
program pada mikrokontroller adalah agar rangkaian elektronik
dapat membaca input, memproses input tersebut dan
kemudian menghasilkan output seperti yang diinginkan. Jadi,
mikrokontroller bertugas sebagai otak yang mengendalikan
input, proses ,dan output sebuah rangkaian elektonik.
Hardware Arduino sendiri diprogram menggunakan
bahasa pemrograman C/C++, yang sudah disederhanakan dan
dimodifikasi Arduino mengikuti pola pemrogramsn Wiring
(syntax dan library). Sementara untuk editor pemrograman nya
(IDE – Intergrated Development Enviroment) dikembangkan
dari Processing.Software Arduino dapat dijalankan pada sistem
operasi Windows, Macintosh OSX, dan Linux. Banyak sistem
mikrokontroler lain hanya bisa dijalankan di Windows.
Light Emitting Diode atau sering disingkat dengan LED
adalah komponen elektronika yang dapat
memancarkan cahaya monokromatik ketika diberikan
tegangan maju. LED merupakan keluarga Dioda yang terbuat
dari bahan semikonduktor. Warna-warna Cahaya yang
dipancarkan oleh LED tergantung pada jenis bahan
semikonduktor yang dipergunakannya. LED juga dapat
memancarkan sinar inframerah yang tidak tampak oleh mata
seperti yang sering kita jumpai pada Remote Control TV
ataupun Remote Control perangkat elektronik lainnya. LED
terdiri dari sebuah chip semikonduktor yang di doping sehingga
menciptakan junction P dan N. Yang dimaksud dengan proses
doping dalam semikonduktor adalah proses untuk
menambahkan ketidakmurnian (impurity) pada semikonduktor
yang murni sehingga menghasilkan karakteristik kelistrikan
yang diinginkan. Ketika LED dialiri tegangan maju atau bias
forward yaitu dari Anoda (P) menuju ke Katoda (K), Kelebihan
Elektron pada N-Type material akan berpindah ke wilayah yang
kelebihan Hole (lubang) yaitu wilayah yang bermuatan positif
(P-Type material). Saat Elektron berjumpa dengan Hole akan
melepaskan photon dan memancarkan cahaya monokromatik
(satu warna).
Resistor merupakan komponen elektronik dua kutub
yang didesain untuk menahan arus listrik dengan memproduksi
tegangan listrik di antara kedua kutubnya, nilai tegangan
terhadap resistansi berbanding dengan arus yang mengalir.
Resistor digunakan sebagai bagian dari jejaring elektronik dan
sirkuit elektronik, dan merupakan salah satu komponen yang
paling sering digunakan. Resistor dapat dibuat dari bermacam-
macam kompon dan film, bahkan kawat resistansi (kawat yang
dibuat dari paduan resistivitas tinggi sepertinikel-
kromium).Karakteristik utama dari resistor adalah resistansinya
dan daya listrik yang dapat dihantarkan. Karakteristik lain
termasuk koefisien suhu, desahlistrik, dan induktansi.Resistor
dapat diintegrasikan kedalam sirkuit hibrida dan papan sirkuit
cetak,bahkan sirkuit terpadu. Ukuran dan letak kaki bergantung
pada desain sirkuit, kebutuhan daya resistor harus cukup dan
disesuaikan dengan kebutuhan arus rangkaian agar tidak
terbakar.
III. Langkah Percobaan
1. Percobaan 1
- Pada modul arduino Uno, hubungkan pin 13, pin 12, pin 11,
pin 10 ke LED seperti gambar percobaan 1
- Hubungkan modul arduino uno ke CPU / laptop dengan
kabel USB
- Buka Program Arduino 1.8.5
- Ketik atau masukkan listing program percobaan 1 : A dan B
- Kemudian pilh tanda untuk mengkompilasi program tersebut, jika
hasil kompilasi terjadi error maka periksa letak kesalahan pada
listing arduino.
- Lakukan pengamatan pada LED

2. Percobaan 2
- Hubungkan kaki-kaki + LED ke pin digital 2,3,4,5,6,dan 7
Arduino.
- Hubungkan kaki-kaki - LED ke tiap resistor 220 Ohm.
- Hubungkan tiap Resistor ke pin Gnd Arduino menggunakan
kabel jumper (warna hitam).
- Pasangkan board Arduino dengan port USB komputer
menggunakan kabel USB.
- Bukalah IDE Arduino kemudian ketikkan sketch berikut.
- compile menggunakan tombol "verify" .
- Upload ke Board Arduino menggunakan tombol "Upload"
atau melalui File > Upload
3. Percobaan 3
- Hubungkan kaki-kaki + LED ke pin digital 2,3,4,5,6,dan 7
Arduino.
- Hubungkan kaki-kaki - LED ke tiap resistor 220 Ohm.
- Hubungkan tiap Resistor ke pin Gnd Arduino menggunakan
kabel jumper.
- Pasangkan board Arduino dengan port USB komputer
menggunakan kabel USB.
- Bukalah IDE Arduino kemudian ketikkan sketch berikut.
- compile menggunakan tombol "verify" .
- Upload ke Board Arduino menggunakan tombol "Upload"
atau melalui
File > Upload
IV. Diagram Alir
V. Listing Program
1. Percobaan 1
a. Menyalakan LED
int LED1=2; //LED1 menggunakan pin 2
int LED2=4; //LED2 menggunakan pin 4
int LED3=6; //LED2 menggunakan pin 6
int LED4=8; //LED2 menggunakan pin 8

void setup() {

pinMode(LED1, OUTPUT); //pin LED1 sebagai output


pinMode(LED2, OUTPUT); //pin LED2 sebagai output
pinMode(LED3, OUTPUT); //pin LED3 sebagai output
pinMode(LED4, OUTPUT); //pin LED4 sebagai output
}

void loop() {

digitalWrite(LED1, HIGH); //LED 1 menyala


digitalWrite(LED2, HIGH); //LED 2 menyala
digitalWrite(LED3, HIGH); //LED 3 menyala
digitalWrite(LED4, HIGH); //LED 4 menyala
}
b. Memadamkan LED
int LED1=2; //LED1 menggunakan pin 2
int LED2=4; //LED2 menggunakan pin 4
int LED3=6; //LED2 menggunakan pin 6
int LED4=8; //LED2 menggunakan pin 8

void setup() {

pinMode(LED1, OUTPUT); //pin LED1 sebagai output


pinMode(LED2, OUTPUT); //pin LED2 sebagai output
pinMode(LED3, OUTPUT); //pin LED3 sebagai output
pinMode(LED4, OUTPUT); //pin LED4 sebagai output
}

void loop() {

digitalWrite(LED1, HIGH); //LED 1 menyala


digitalWrite(LED2, LOW); //LED 2 mati
digitalWrite(LED3, HIGH); //LED 3 menyala
digitalWrite(LED4, LOW); //LED 4 mati
}

c. LED berjalan
int LED1 = 4; //LED1 menggunakan pin 4
int LED2 = 5; //LED2 menggunakan pin 5
int LED3 = 9; //LED3 menggunakan pin 9
int LED4 = 10; //LED4 menggunakan pin 10
void setup() {
pinMode(LED1, OUTPUT); //pin LED1 sebagai output
pinMode(LED2, OUTPUT); //pin LED2 sebagai output
pinMode(LED3, OUTPUT); //pin LED3 sebagai output
pinMode(LED4, OUTPUT); //pin LED4 sebagai output
}

void loop() {
digitalWrite(LED1, HIGH); //LED1 menyala
delay(1000); //LED 1 menyala selama 1 detik
digitalWrite(LED1, LOW); //LED1 mati
digitalWrite(LED2, HIGH); //LED2 menyala
delay(2000); //LED 2 menyala selama 2 detik
digitalWrite(LED2, LOW); //LED2 mati
digitalWrite(LED3, HIGH); //LED3 menyala
delay(1000); //LED 3 menyala selama 1 detik
digitalWrite(LED3, LOW); //LED3 mati
digitalWrite(LED4, HIGH); //LED4 menyala
delay(2000); //LED 4 menyala selama 2 detik
digitalWrite(LED4, LOW); //LED4 mati
}

2. Percobaan 2

int timer = 2000; //waktu jeda tiap LED 2 detik


void setup()
{
for (int thisPin = 5; thisPin < 11; thisPin++) //pin yang digunakan
untuk LED mulai dari 5 sampai kurang dari 11
{

pinMode(thisPin, OUTPUT); //pin yang digunakan untuk output

}
}

void loop()
{
for (int thisPin = 5; thisPin < 11; thisPin++) //pin yang digunakan
untuk menyalakan LED dalam keadaan maju mulai dari 5
sampai kurang dari 11 (batas LED yang menyala sampai pin
10)
{
digitalWrite(thisPin,HIGH); delay(timer); //menyalakan LED
dengan waktu jeda yang ditentukan
digitalWrite(thisPin,LOW); //mematikan LED
}
for (int thisPin = 10; thisPin >= 5; thisPin--) //pin yang
digunakan menyalakan LED dalam keadaan mundur mulai dari
pin 10 sampai pin 5 (batas LED yang menyala sampai pin 5)
{
digitalWrite(thisPin,HIGH); delay(timer); //menyalakan LED
dengan waktu jeda yang ditentukan
digitalWrite(thisPin,LOW); //mematikan LED
}
}
3. Percobaan 3

int timer = 500; //waktu jeda antar LED 0,5 detik


int ledPins[ ] = { 7, 8, 6, 5, 3, 4}; int jumlahPin = 6; //urutan pin
yang disambungkan ke LED untuk dinyalakan serta jumlah pin
untuk menyalakan LED

void setup()
{
for (int thisPin = 0; thisPin < jumlahPin; thisPin++) //urutan
jumlah pin yang digunakan
{

pinMode(ledPins[thisPin], OUTPUT); //pin LED yang digunakan


sebagai output

}
}

void loop ()
{

for (int thisPin = 0; thisPin < jumlahPin; thisPin++) //urutan


jumlah pin yang digunakan
{
digitalWrite(ledPins[thisPin], HIGH);delay(timer);
//menghidupkan LED sesuai urutan pin dengan jeda waktu
yang sudah ditentukan
digitalWrite(ledPins[thisPin], LOW); //mematikan LED
}

for (int thisPin = jumlahPin-1; thisPin >= 0; thisPin--) //urutan


berkebalikan jumlah pin yang digunakan namun dikurangi LED
terakhir
{
digitalWrite(ledPins[thisPin], HIGH);delay(timer);
//menghidupkan LED berkebalikan urutan pin dengan jeda
waktu yang sudah ditentukan
digitalWrite(ledPins[thisPin], LOW); //mematikan LED
}
}
VI. Analisis Data
1. Percobaan 1
a. Menyalakan dan memadamkan LED

LED DATA 1 DATA 2 DATA 3 DATA 4 OUTPUT 1 OUTPUT 2 OUTPUT 3 OUTPUT 4

LED
0 1 0 1 OFF ON OFF ON
1

LED
0 0 1 1 OFF OFF ON ON
2

LED
0 0 1 1 OFF OFF ON ON
3

LED
0 1 0 1 OFF ON OFF ON
4

Prinsip kerja menyalakan dan memadamkan LED sendiri


jika masukan bernilai 0 (LOW) maka output LED yang
dihasilkan dalam keadaan mati.Sebaliknya jika masukan
bernilai 1 (HIGH) maka output LED yang dihasilkan dalam
keadaan nyala.

b. LED berjalan
LED OUTPUT1 OUTPUT2 OUTPUT3 OUTPUT4

LED1 ON OFF OFF OFF

LED2 OFF ON OFF OFF

LED3 OFF OFF ON OFF

LED4 OFF OFF OFF ON

Prinsip kerja LED berjalan ini sama dengan menyalakan


dan memadamkan LED.Jika masukan bernilai 0 (LOW)
maka output LED yang dihasilkan dalam keadaan
mati.Sebaliknya jika masukan bernilai 1 (HIGH) maka
output LED yang dihasilkan dalam keadaan nyala.Namun
disini diberikan perintah berupa jeda waktu yang sesuai
yang diinginkan.Saat LED 1 menyala maka LED 2,3 dan 4
mati. Saat LED 2 menyala maka LED 1,3 dan 4 mati. Saat
LED 3 menyala maka LED 1,2 dan 4 mati.Terkahir Saat
LED 4 menyala maka LED 1,2 dan 3 mati.Setelah itu akan
kembali ke saat S LED 1 menyala maka LED 2,3 dan 4 mati
dan seterusnya.

c. Flowcart
o Menghidupkan dan memadamkan LED
o LED Berjalan
d. Analisis : Untuk menyalakan dan memadamkan LED sendiri
jika masukan bernilai 0 (LOW) maka output LED yang
dihasilkan dalam keadaan mati.Sebaliknya jika masukan
bernilai 1 (HIGH) maka output LED yang dihasilkan dalam
keadaan nyala. LED berjalan ini sama dengan menyalakan dan
memadamkan LED.Jika masukan bernilai 0 (LOW) maka output
LED yang dihasilkan dalam keadaan mati.Sebaliknya jika
masukan bernilai 1 (HIGH) maka output LED yang
dihasilkan dalam keadaan nyala.Namun disini diberikan
perintah berupa jeda waktu yang sesuai yang
diinginkan.Saat LED 1 menyala maka LED 2,3 dan 4 mati.
Saat LED 2 menyala maka LED 1,3 dan 4 mati. Saat LED 3
menyala maka LED 1,2 dan 4 mati.Terkahir Saat LED 4
menyala maka LED 1,2 dan 3 mati.Setelah itu akan kembali
ke saat S LED 1 menyala maka LED 2,3 dan 4 mati dan
seterusnya.

2. Percobaan 2
a. Ganti nilai dari int timer. Buatlah agar lama nyala LED
sedikit lebih lama.(3 detik sekali)

int timer = 3000; //waktu jeda tiap LED 3 detik


void setup()
{
for (int thisPin = 5; thisPin < 11; thisPin++) //pin yang
digunakan untuk LED mulai dari 5 sampai kurang dari 11
{

pinMode(thisPin, OUTPUT); //pin yang digunakan untuk


output

}
}

void loop()
{
for (int thisPin = 5; thisPin < 11; thisPin++) //pin yang
digunakan untuk menyalakan LED dalam keadaan maju
mulai dari 5 sampai kurang dari 11 (batas LED yang
menyala sampai pin 10)
{
digitalWrite(thisPin,HIGH); delay(timer); //menyalakan LED
dengan waktu jeda yang ditentukan
digitalWrite(thisPin,LOW); //mematikan LED
}
for (int thisPin = 10; thisPin >= 5; thisPin--) //pin yang
digunakan menyalakan LED dalam keadaan mundur mulai
dari pin 10 sampai pin 5 (batas LED yang menyala sampai
pin 5)
{
digitalWrite(thisPin,HIGH); delay(timer); //menyalakan LED
dengan waktu jeda yang ditentukan
digitalWrite(thisPin,LOW); //mematikan LED
}
}

b. Tambah lagi 4 LED tambahan pada pin 9, 10, 11 dan 12.


Ubah sketch agar LED tersebut ikut dalam barisan LED
sebelumnya. Gunakan metode for loop.

int timer = 3000; //waktu jeda tiap LED 3 detik


void setup()
{
for (int thisPin = 3; thisPin < 13; thisPin++) //pin yang
digunakan untuk LED mulai dari 3 sampai kurang dari 13
{

pinMode(thisPin, OUTPUT); //pin yang digunakan untuk


output

}
}

void loop()
{
for (int thisPin = 3; thisPin < 13; thisPin++) //pin yang
digunakan untuk menyalakan LED dalam keadaan maju
mulai dari 3 sampai kurang dari 13 (batas LED yang
menyala sampai pin 12)
{
digitalWrite(thisPin,HIGH); delay(timer); //menyalakan LED
dengan waktu jeda yang ditentukan
digitalWrite(thisPin,LOW); //mematikan LED
}
for (int thisPin = 12; thisPin >= 3; thisPin--) //pin yang
digunakan menyalakan LED dalam keadaan mundur mulai
dari pin 12 sampai pin 3 (batas LED yang menyala sampai
pin 3)
{
digitalWrite(thisPin,HIGH); delay(timer); //menyalakan LED
dengan waktu jeda yang ditentukan
digitalWrite(thisPin,LOW); //mematikan LED
}
}

c. Analisis : Untuk percobaan 2 ini LED menyala dalam


keadaan maju dan mundur.LED menyala dalam keadaan
maju (kekanan) dengan lama waktu yang sesuai
kebutuhan.Setelah maju (kekanan) sampai penggunaan pin
LED habis,maka LED akan menyala dalam keadaan
mundur/kembali (kekiri).

3. Percobaan 3
a. Ganti nilai data yang ada pada Array ledPins.(Pastikan
nilainya sama hanya ubah posisi urutannya)

int timer = 500; //waktu jeda antar LED 0,5 detik


int ledPins[ ] = { 8, 7, 6, 5, 4, 3}; int jumlahPin = 6; //urutan
pin yang disambungkan ke LED untuk dinyalakan serta
jumlah pin untuk menyalakan LED

void setup()
{
for (int thisPin = 0; thisPin < jumlahPin; thisPin++) //urutan
jumlah pin yang digunakan
{

pinMode(ledPins[thisPin], OUTPUT); //pin LED yang


digunakan sebagai output

}
}

void loop ()
{

for (int thisPin = 0; thisPin < jumlahPin; thisPin++) //urutan


jumlah pin yang digunakan
{
digitalWrite(ledPins[thisPin], HIGH);delay(timer);
//menghidupkan LED sesuai urutan pin dengan jeda waktu
yang sudah ditentukan
digitalWrite(ledPins[thisPin], LOW); //mematikan LED
}

for (int thisPin = jumlahPin-1; thisPin >= 0; thisPin--) //urutan


berkebalikan jumlah pin yang digunakan namun dikurangi
LED terakhir
{
digitalWrite(ledPins[thisPin], HIGH);delay(timer);
//menghidupkan LED berkebalikan urutan pin dengan jeda
waktu yang sudah ditentukan
digitalWrite(ledPins[thisPin], LOW); //mematikan LED
}
}
b. Tambah lagi 2 LED tambahan. Ubah sketch agar LED
tersebut ikut dalam barisan LED sebelumnya

int timer = 1000; //waktu jeda antar LED 1 detik


int ledPins[ ] = { 9, 8, 7, 6, 5, 4, 3, 2}; int jumlahPin = 8;
//urutan pin yang disambungkan ke LED untuk dinyalakan
serta jumlah pin untuk menyalakan LED

void setup()
{
for (int thisPin = 0; thisPin < jumlahPin; thisPin++) //urutan
jumlah pin yang digunakan
{

pinMode(ledPins[thisPin], OUTPUT); //pin LED yang


digunakan sebagai output

}
}

void loop ()
{

for (int thisPin = 0; thisPin < jumlahPin; thisPin++) //urutan


jumlah pin yang digunakan
{
digitalWrite(ledPins[thisPin], HIGH);delay(timer);
//menghidupkan LED sesuai urutan pin dengan jeda waktu
yang sudah ditentukan
digitalWrite(ledPins[thisPin], LOW); //mematikan LED
}

for (int thisPin = jumlahPin-1; thisPin >= 0; thisPin--) //urutan


berkebalikan jumlah pin yang digunakan namun dikurangi
LED terakhir
{
digitalWrite(ledPins[thisPin], HIGH);delay(timer);
//menghidupkan LED berkebalikan urutan pin dengan jeda
waktu yang sudah ditentukan
digitalWrite(ledPins[thisPin], LOW); //mematikan LED
}
}

c. Analisis : Untuk percobaan 3 LED menyala sesuai urutan


pin yang dipakai.LED menyala selama waktu yang telah
ditentukan.Jika pin LED telah menyala semua,maka urutan
menyala LED akan dimulai dari awal.
BAB IV

PEMBAHASAN

1. Percobaan 1
Pada percobaan 1 ini kami melakukan 2 percobaan yaitu
menyalakan dan memadamkan LED serta LED berjalan.Pada
percobaan 1 berprinsip kerja HIGH dan LOW.nilai HIGH sendiri
adalah 1 sedangkan LOW adalah 0.Pada percobaan menyalakan dan
memadamkan LED ini menggunakan 4 LED dengan masukan pin
2,4,6, dan 8.Untuk menyalakan LED maka diperlukan masukan pada
program yaitu HIGH.Sedangkan untuk memadamkan LED maka
menggunakan masukan pada program yaitu LOW.Program yang
dipakai sendiri untuk menyalakan LED adalah
int LED1=2; //LED1 menggunakan pin 2
int LED2=4; //LED2 menggunakan pin 4
int LED3=6; //LED2 menggunakan pin 6
int LED4=8; //LED2 menggunakan pin 8

void setup() {

pinMode(LED1, OUTPUT); //pin LED1 sebagai output


pinMode(LED2, OUTPUT); //pin LED2 sebagai output
pinMode(LED3, OUTPUT); //pin LED3 sebagai output
pinMode(LED4, OUTPUT); //pin LED4 sebagai output
}

void loop() {

digitalWrite(LED1, HIGH); //LED 1 menyala


digitalWrite(LED2, HIGH); //LED 2 menyala
digitalWrite(LED3, HIGH); //LED 3 menyala
digitalWrite(LED4, HIGH); //LED 4 menyala

Sedangkan program yang digunakan untuk memadamkan LED adalah


int LED1=2; //LED1 menggunakan pin 2
int LED2=4; //LED2 menggunakan pin 4
int LED3=6; //LED2 menggunakan pin 6
int LED4=8; //LED2 menggunakan pin 8

void setup() {
pinMode(LED1, OUTPUT); //pin LED1 sebagai output
pinMode(LED2, OUTPUT); //pin LED2 sebagai output
pinMode(LED3, OUTPUT); //pin LED3 sebagai output
pinMode(LED4, OUTPUT); //pin LED4 sebagai output
}

void loop() {

digitalWrite(LED1, HIGH); //LED 1 menyala


digitalWrite(LED2, LOW); //LED 2 mati
digitalWrite(LED3, HIGH); //LED 3 menyala
digitalWrite(LED4, LOW); //LED 4 mati
}

Untuk LED berjalan prinsipnya sama seperti menyalakan dan


memadamkan LED namun disini diberi masukan waktu
menyala.Waktu menyala ini diisi bervariasi.Untuk LED 1 dan LED 3
menyala selama 1 detik.Untuk LED 2 dan LED 4 menyala selama 2
detik.Pin yang digunakan untuk Led sendiri adalah pin 4,5,9 dan
10.Untuk prinsip kerjanya sendiri yaitu saat LED 1 menyala maka LED
2,3 dan 4 mati. Saat LED 2 menyala maka LED 1,3 dan 4 mati. Saat
LED 3 menyala maka LED 1,2 dan 4 mati.Terkahir Saat LED 4
menyala maka LED 1,2 dan 3 mati.Setelah itu akan kembali ke saat S
LED 1 menyala maka LED 2,3 dan 4 mati dan seterusnya.Program
yang digunaka untuk LED berjalan ini adalah
int LED1 = 4; //LED1 menggunakan pin 4
int LED2 = 5; //LED2 menggunakan pin 5
int LED3 = 9; //LED3 menggunakan pin 9
int LED4 = 10; //LED4 menggunakan pin 10

void setup() {
pinMode(LED1, OUTPUT); //pin LED1 sebagai output
pinMode(LED2, OUTPUT); //pin LED2 sebagai output
pinMode(LED3, OUTPUT); //pin LED3 sebagai output
pinMode(LED4, OUTPUT); //pin LED4 sebagai output
}

void loop() {
digitalWrite(LED1, HIGH); //LED1 menyala
delay(1000); //LED 1 menyala selama 1 detik
digitalWrite(LED1, LOW); //LED1 mati
digitalWrite(LED2, HIGH); //LED2 menyala
delay(2000); //LED 2 menyala selama 2 detik
digitalWrite(LED2, LOW); //LED2 mati
digitalWrite(LED3, HIGH); //LED3 menyala
delay(1000); //LED 3 menyala selama 1 detik
digitalWrite(LED3, LOW); //LED3 mati
digitalWrite(LED4, HIGH); //LED4 menyala
delay(2000); //LED 4 menyala selama 2 detik
digitalWrite(LED4, LOW); //LED4 mati

2. Percobaan 2
Pada percobaan 2 ini yaitu percobaan menggunakan FOOR
LOOP.Percobaan ini menggunakan 5 buah LED dengan masukan pin
5,6,7,8,9, dan 10.Percobaan ini menyalakan LED sesuai urutan PIN
secara bergantian dengan rentang waktu yang ditentukan.Dalam
percobaan ini ,praktikan menggunakan rentang waktu 2 detik.LED ini
akan maju (ke kanan) sesuai urutan pin.LED menyala dengan waktu 2
detik.Setelah maju kekanan sampai penggunaan pin LED habis,maka
LED akan menyala dalam keadaan mundur/kembali (kekiri).Program
yang digunakan untuk percobaan ini yaitu
int timer = 2000; //waktu jeda tiap LED 2 detik
void setup()
{
for (int thisPin = 5; thisPin < 11; thisPin++) //pin yang
digunakan untuk LED mulai dari 5 sampai kurang dari 11
{

pinMode(thisPin, OUTPUT); //pin yang digunakan untuk


output

}
}

void loop()
{
for (int thisPin = 5; thisPin < 11; thisPin++) //pin yang
digunakan untuk menyalakan LED dalam keadaan maju
mulai dari 5 sampai kurang dari 11 (batas LED yang
menyala sampai pin 10)
{
digitalWrite(thisPin,HIGH); delay(timer); //menyalakan LED
dengan waktu jeda yang ditentukan
digitalWrite(thisPin,LOW); //mematikan LED
}
for (int thisPin = 10; thisPin >= 5; thisPin--) //pin yang
digunakan menyalakan LED dalam keadaan mundur mulai
dari pin 10 sampai pin 5 (batas LED yang menyala sampai
pin 5)
{
digitalWrite(thisPin,HIGH); delay(timer); //menyalakan LED
dengan waktu jeda yang ditentukan
digitalWrite(thisPin,LOW); //mematikan LED
}

Selanjutnya untuk tugas pada percobaan 2.tugas yang pertama


yaitu mengganti nyala LED menjadi 3 detik.untuk mengganti waktu ini
maka int timer pada program diganti menjadi 3000.Program yang
dipakai yaitu
int timer = 3000; //waktu jeda tiap LED 3 detik
void setup()
{
for (int thisPin = 5; thisPin < 11; thisPin++) //pin yang
digunakan untuk LED mulai dari 5 sampai kurang dari 11
{

pinMode(thisPin, OUTPUT); //pin yang digunakan untuk


output

}
}

void loop()
{
for (int thisPin = 5; thisPin < 11; thisPin++) //pin yang
digunakan untuk menyalakan LED dalam keadaan maju
mulai dari 5 sampai kurang dari 11 (batas LED yang
menyala sampai pin 10)
{
digitalWrite(thisPin,HIGH); delay(timer); //menyalakan LED
dengan waktu jeda yang ditentukan
digitalWrite(thisPin,LOW); //mematikan LED
}
for (int thisPin = 10; thisPin >= 5; thisPin--) //pin yang
digunakan menyalakan LED dalam keadaan mundur mulai
dari pin 10 sampai pin 5 (batas LED yang menyala sampai
pin 5)
{
digitalWrite(thisPin,HIGH); delay(timer); //menyalakan LED
dengan waktu jeda yang ditentukan
digitalWrite(thisPin,LOW); //mematikan LED
}
}

Untuk tugas selanjutnya yaitu menambah 4 LED pada pin


9,10,11,12.Sebelumnya kami menggunakan pin 5,6,7,8,9,dan
10.Setelah ditambahkan,pin yang di gunakan yaitu
3,4,5,6,7,8,9,10,11,dan 12.Program yang digunakan yaitu
int timer = 3000; //waktu jeda tiap LED 3 detik
void setup()
{
for (int thisPin = 3; thisPin < 13; thisPin++) //pin yang
digunakan untuk LED mulai dari 3 sampai kurang dari 13
{

pinMode(thisPin, OUTPUT); //pin yang digunakan untuk


output

}
}

void loop()
{
for (int thisPin = 3; thisPin < 13; thisPin++) //pin yang
digunakan untuk menyalakan LED dalam keadaan maju
mulai dari 3 sampai kurang dari 13 (batas LED yang
menyala sampai pin 12)
{
digitalWrite(thisPin,HIGH); delay(timer); //menyalakan LED
dengan waktu jeda yang ditentukan
digitalWrite(thisPin,LOW); //mematikan LED
}
for (int thisPin = 12; thisPin >= 3; thisPin--) //pin yang
digunakan menyalakan LED dalam keadaan mundur mulai
dari pin 12 sampai pin 3 (batas LED yang menyala sampai
pin 3)
{
digitalWrite(thisPin,HIGH); delay(timer); //menyalakan LED
dengan waktu jeda yang ditentukan
digitalWrite(thisPin,LOW); //mematikan LED
}
}

3. Percobaan 3
Pada percobaan 3 ini melakukan percobaan menggunakan
ARRAY.Percobaan ini menyalakan LED sesuai urutan pin dengan
waktu yang ditentukan.Jumlah pin yang digunakan sebanyak 6
pin.Pada percobaan ini kami menggunakan urutan pin 7,8,6,5,3,4
dengan jeda waktu menyala LED 0,5 detik.LED akan menyala sesuai
urutan pin.Jika LED telah menyala semua maka urutan nyala LED
akan dimulai dari awal.Program yang digunakan yaitu
int timer = 500; //waktu jeda antar LED 0,5 detik
int ledPins[ ] = { 7, 8, 6, 5, 3, 4}; int jumlahPin = 6; //urutan pin
yang disambungkan ke LED untuk dinyalakan serta jumlah pin
untuk menyalakan LED

void setup()
{
for (int thisPin = 0; thisPin < jumlahPin; thisPin++) //urutan
jumlah pin yang digunakan
{

pinMode(ledPins[thisPin], OUTPUT); //pin LED yang digunakan


sebagai output

}
}

void loop ()
{

for (int thisPin = 0; thisPin < jumlahPin; thisPin++) //urutan


jumlah pin yang digunakan
{
digitalWrite(ledPins[thisPin], HIGH);delay(timer);
//menghidupkan LED sesuai urutan pin dengan jeda waktu
yang sudah ditentukan
digitalWrite(ledPins[thisPin], LOW); //mematikan LED
}

for (int thisPin = jumlahPin-1; thisPin >= 0; thisPin--) //urutan


berkebalikan jumlah pin yang digunakan namun dikurangi LED
terakhir
{
digitalWrite(ledPins[thisPin], HIGH);delay(timer);
//menghidupkan LED berkebalikan urutan pin dengan jeda
waktu yang sudah ditentukan
digitalWrite(ledPins[thisPin], LOW); //mematikan LED
}

}
Selanjutnya mengerjakan tugas yang diberikan.Tugas yang diberikan
yaitu dengan mengganti array led pins dengan hanya mengubah
posisi urutannya.Urutan yang digunakan yaitu 8,7,6,5,4,3.Program
yang digunakan yaitu
int timer = 500; //waktu jeda antar LED 0,5 detik
int ledPins[ ] = { 8, 7, 6, 5, 4, 3}; int jumlahPin = 6; //urutan pin
yang disambungkan ke LED untuk dinyalakan serta jumlah pin
untuk menyalakan LED

void setup()
{
for (int thisPin = 0; thisPin < jumlahPin; thisPin++) //urutan
jumlah pin yang digunakan
{

pinMode(ledPins[thisPin], OUTPUT); //pin LED yang digunakan


sebagai output

}
}

void loop ()
{

for (int thisPin = 0; thisPin < jumlahPin; thisPin++) //urutan


jumlah pin yang digunakan
{
digitalWrite(ledPins[thisPin], HIGH);delay(timer);
//menghidupkan LED sesuai urutan pin dengan jeda waktu
yang sudah ditentukan
digitalWrite(ledPins[thisPin], LOW); //mematikan LED
}

for (int thisPin = jumlahPin-1; thisPin >= 0; thisPin--) //urutan


berkebalikan jumlah pin yang digunakan namun dikurangi LED
terakhir
{
digitalWrite(ledPins[thisPin], HIGH);delay(timer);
//menghidupkan LED berkebalikan urutan pin dengan jeda
waktu yang sudah ditentukan
digitalWrite(ledPins[thisPin], LOW); //mematikan LED
}
}
Untuk tugas selanjutnya yaitu dengan menambah 2 buah LED.Pin
yang digunakan setelah penambahan 2 LED yaitu
9,8,7,6,5,4,3,2.Disini kami juga mengubah wakry nyala antar LED
menjadi 1 detik.Program yang digunakan yaitu
int timer = 1000; //waktu jeda antar LED 1 detik
int ledPins[ ] = { 9, 8, 7, 6, 5, 4, 3, 2}; int jumlahPin = 8;
//urutan pin yang disambungkan ke LED untuk dinyalakan
serta jumlah pin untuk menyalakan LED
void setup()
{
for (int thisPin = 0; thisPin < jumlahPin; thisPin++) //urutan
jumlah pin yang digunakan
{

pinMode(ledPins[thisPin], OUTPUT); //pin LED yang


digunakan sebagai output

}
}

void loop ()
{

for (int thisPin = 0; thisPin < jumlahPin; thisPin++) //urutan


jumlah pin yang digunakan
{
digitalWrite(ledPins[thisPin], HIGH);delay(timer);
//menghidupkan LED sesuai urutan pin dengan jeda waktu
yang sudah ditentukan
digitalWrite(ledPins[thisPin], LOW); //mematikan LED
}

for (int thisPin = jumlahPin-1; thisPin >= 0; thisPin--) //urutan


berkebalikan jumlah pin yang digunakan namun dikurangi
LED terakhir
{
digitalWrite(ledPins[thisPin], HIGH);delay(timer);
//menghidupkan LED berkebalikan urutan pin dengan jeda
waktu yang sudah ditentukan
digitalWrite(ledPins[thisPin], LOW); //mematikan LED
}
}
BAB V

KESIMPULAN

1. LED dapat dinyalakan jika pada program diberi masukan 1 atau


HIGH.
2. LED dapat dimatikan jika pada program diberi masukan 0 atau
LOW.
3. LED dapat menyala atau mati dengan waktu yang ditentukan
dengan mengatur delay timer pada program.
4. Percobaan FOR LOOP berprinsip kerja yaitu LED menyala sesuai
urutan pin yang digunakan dengan waktu yang ditentukan.
5. Pecobaan ARRAY berprinsip kerja hampir sama dengan FOR
LOOP namun pin yang digunakan dapat diacak.
BAB VI

DAFTAR PUSTAKA

Ahmadi, Haerul. 2018. Modul Praktikum Pemrograman Elektro Meknika.


Yogyakarta : Sekolah Tinggi Teknologi Nuklir.

Smith, Alan G.. 2011. Introduction to Arduino A Piece of Cake. Lisa Smith and
Family

Anda mungkin juga menyukai