Rabu, 27 Mei 2020

Cara Menambah Source Code Di Postingan Blog



Pastebin adalah salah satu situs yang menyediakan jasa paste-paste atau dalam bahasa indonesia artinya tempel, tetapi yang ditempel disini hanya dikhususkan untuk teks saja, tujuan dibuatnya pastebin ini saya rasa untuk membantu programmer membagikan source codenya sekaligus memudahkan programmer lain yang membacanya. 

Berikut contoh kode program yang di tempel di pastebin



Terdapat berbagai warna yang berbeda untuk membedakan jenis syntax, dan terdapat baris kodenya juga, inilah hal-hal yang memudahkan programmer lain untuk membacanya. 

Langkah-langkah untuk menaruh Sorce code sbb:


1. buka situsnya terlebih dahulu di pastebin.com.
   maka kita dapat menaruh sourcecode kita ke pastebin tanpa mendaftar terlebih dahulu

Penjelasan :

- Syntax Highlighting : Untuk Memilih Jenis Bahasa pemrograman yang di Inginkan
- Paste Expiration        : Batas Waktu penyimpanan file source code
- Paste Exposure          : Pengaturan untuk bisa dilihat orang banyak atau tidak
- Folder                        : Folder
- Paste name / Title      : Judul Source Code

jika semua data telah terisi  maka selanjutnya klik Create New Paste.


Jika berhasil maka sobat akan diahlikan ke halaman yang memuat seperti gambar diatas, sekarang kita akan membahas bagaimana cara menaruh source code pada blog khususnnya pada blogger(platform blog lain coba sendiri).
Pertama cari dan klik embed di pojok kanan atas(lihat gambar), jika sudah di klik maka sobata akan diarahkan ke halaman dibawah ini.



Ada 2 metode yang digunakan menggunakan iframe atau javascript, perbedaannya jika menggunakan javascript maka source code yang di simpan akan ditampilkan keseluruhan tanpa adanya scroll mouse, sedangkan inframe jika  source code yang disimpan cukup panjang maka akan ada scroll mouse untuk melihat keseluruhan kodenya, tetapi jika ingin ditampilkan keseluruhan atau membuat inframe lebih tinggi juga bisa dengan mengatur tinggi pada style CSS. 

dan untuk source code program yang lebih pendek bisa menggunakan javascript karena lebih praktis.




Untuk meletakkan pada blog caranya cukup mudah yaitu
1. membuka entri atau laman yang ingin ditambahkan source code, 
2. pilih mode HTML
3. tempelkan script iframe atau javascript yang didapatkan di situs pastebin tadi, 
maka hasilnya seperti dibawah ini :



semoga bermanfaat

Selasa, 26 Mei 2020

Cara Menghitung Nilai Resistor Pada LED


Cara Menghitung Nilai Resistor Pada LED
LED atau Light Emitting Diode, adalah salah satu jenis dioda maka LED memiliki dua kutub yaitu anoda dan katoda. Dalam hal ini LED akan menyala bila ada arus listrik mengalir dari anoda menuju katoda.
Pemasangan kutub LED tidak boleh terbalik karena apabila terbalik kutubnya maka LED tersebut tidak akan menyala. LED memiliki karakteristik berbeda-beda menurut warna yang dihasilkan.
Semakin tinggi arus yang mengalir pada LED maka semakin terang pula cahaya yang dihasilkan, namun perlu diperhatikan bahwa besarnya arus yang diperbolehkan adalah 10mA-20mA dan pada tegangan 1,6V – 3,5 V dan tergantung karakter warna yang dihasilkan.
Apabila arus yang mengalir lebih dari 20mA maka LED akan terbakar. Untuk menjaga agar LED tidak terbakar, maka perlu kita gunakan resistor yang berguna sebagai penghambat arus.
Tegangan kerja atau volt atau voltage yang jatuh  pada sebuah LED berbeda-beda, menurut warna yang dihasilkan adalah sebagai berikut:
§  Infra merah : 1,6 V
§  Merah : 1,8 V – 2,1 V
§  Oranye : 2,2 V
§  Kuning : 2,4 V
§  Hijau : 2,6 V
§  Biru : 3,0 V – 3,5 V
§  Putih : 3,0 – 3,6 V
§  Ultraviolet : 3,5 V
Mengacu data di atas, maka Apabila kita ingin mencari nilai resistor pada LED dapat anda gunakan rumus berikut:
R =(Vs-Vd) / I
Keterangan rumus:
R = Resistor
I  = Arus LED
Vs = Tegangan sumber( bisa battery 12V, atau sumber tegangan lainnya).
Vd = Tegangan kerja LED

A. Contoh Rangkaian LED dari sumber catu daya 12 Volt
Contoh
1. Misal kita mempunyai sebuah LED berwarna merah (tegangan kerja 1,8 Volt) yang akan dinyalakan menggunakan  sumber tegangan 12 Volt DC, maka kita harus mencari nilai resistor yang akan dihubungkan secara seri dengan LED.
Sebelumnya kita mengetahui bahwa arus maksimal yang diperbolehkan melalui LED adalah 20mA. Jadi dari contoh ini dapat diketahui bahwa:
– Tegangan yang digunakan  (Vs) : 12V
– Tegangan kerja LED  (Vd): 1,8V, dan
– Arus LED (I): 20 mili Ampere = 0,02 Ampere (karena 1000 mili Ampere = 1 Ampere).
Maka hambatan pada resistor atau R warna merah adalah sebesar:
R merah untuk 12 volt:
= (Vs-Vd) / I
= (12 volt – 1,8 volt) / 0,02
= 10,2 / 0.02
= 510 ohm

Contoh
2. Dengan cara yang sama  jika LED yang digunakan berwarna biru dan sumber catu daya 12 Volt, maka:
R biru untuk 12 volt:
= (Vs-Vd) / I
= (12 volt – 3 volt) / 0,02
= 9 / 0.02
= 450 ohm
B. Contoh Rangkaian LED dari sumber catu daya 5 Volt
Misal kita mempunyai sebuah LED berwarna merah (tegangan kerja 1,8 Volt) yang akan dinyalakan menggunakan  sumber tegangan 5 Volt DC, maka kita harus mencari nilai resistor yang akan dihubungkan secara seri dengan LED.
Sebelumnya kita mengetahui bahwa arus maksimal yang diperbolehkan melalui LED adalah 20mA. Jadi dari contoh ini dapat diketahui bahwa:
– Tegangan yang digunakan  (Vs) : 5V
– Tegangan kerja LED  (Vd): 1,8V, dan
– Arus LED (I): 20 mili Ampere = 0,02 Ampere (karena 1000 mili Ampere = 1 Ampere).
Maka hambatan pada resistor atau R adalah sebesar:
R = (Vs-Vd) / I
= (5-1,8) / 0,02
= 160 ohm
R merah untuk 5 volt:
= (Vs-Vd) / I
= (5 volt – 1,8 volt) / 0,02
= 3,2 / 0.02
= 160 ohm

Pemasangan LED paralel pada tegangan 12 Volt
Menghitung resistor secara seri :
Jika LED di pasang secara seri maka tegangan kerja LED adalah penjumlahan dari keseluruhan LED yang dipasang seri  tersebut, dalam contoh berikut diperlihatkan tiga buah LED warna kuning yang di pasang seri, jika tegangan sumber masih sama 12V maka maka:
3 buah R kuning untuk 12 volt:
= (12V – (2,4V+2,4V+2,4V)) / 0.02 A
= (12V – 9.6 V) / 0.02 A
= 120 ohm

Pemasangan LED serie pada tegangan 12 Volt
Demikianlah, semoga info ini dapat berguna bagi anda, salam. (sumber: skemarangkaian@blogspot.com)


Senin, 25 Mei 2020

Smart Plant ( Sistem Penyiraman otomatis Pada Tanaman ) Berbasis IOT

Smart Plant ( Sistem Penyiraman otomatis Pada Tanaman ) Berbasis IOT

Pada kesempatan saya akan berbagai pengalaman bagai mana cara membuat Smart Plant ( Sistem Penyiraman otomatis Pada Tanaman ) Berbasis IOT langsung saja bahan yang digunakan adalah :

1. NodeMcu esp 8266
2. Relay 1 Chanel
3. Sensor Kelembapan
4. LCD 16 x2 dengan I2c
5. Pompa Air 12 V

Gambar Rangkaian :

Kode Program
#define BLYNK_PRINT Serial    
#include <SPI.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <SimpleTimer.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C LCD(0x27,16,2);  //lcd board

int led =2;   //pin 2 pada nodemcupin 4
int pump=0;   //pin 0 pada nodemcupin 3

char auth[] = "rt1UaiOiz2cbCA7n7D3oc_BdtvtKHWOj"; //ISI TOKEN PADA APLIKASI BLYNX ANDROID
char ssid[] = "Wifi Zone";                                   //NAMA HOTSPOT 
char pass[] = "bismillah";                            //PASSWORD HOTSPOT

SimpleTimer timer;
WidgetLCD lcd(V1); //lcd android

void sendSensor()
{                         //lcd to android && LCD to board lcd 
  int POT = analogRead(A0); 
  Serial.print(POT);
  lcd.print(0,0,"KEADAAN");   LCD.setCursor(0,0);LCD.print("ADC");LCD.setCursor(4,0);LCD.print(POT);LCD.print(" ");
  lcd.print(0,1,"PUMP");      LCD.setCursor(0,1);LCD.print("PUMP");
  Blynk.virtualWrite(V0, POT);
  
  if (POT>500){
  Serial.println("KERING");//ke serial monitor
  lcd.print(8,0,"KERING");      LCD.setCursor(9,0);LCD.print("KERING");
  lcd.print(5,1,"ON ");         LCD.setCursor(5,1);LCD.print("ON ");
  digitalWrite(pump,LOW);
  for(int x=0; x<=10; x++){     LCD.setCursor(9,1);LCD.print(x);
  lcd.print(9,1,x);delay(500);}
  lcd.clear();                  LCD.clear();
  digitalWrite(pump,HIGH);
  lcd.print(0,0,"AIR MERESAP"); LCD.setCursor(0,0);LCD.print("AIR MERESAP");
  lcd.print(0,1,"    WAIT");    LCD.setCursor(0,1);LCD.print("    WAIT");
  for(int x=9; x>0; x--){       LCD.setCursor(9,1);LCD.print(x);
  lcd.print(9,1,x);delay(500);}
  lcd.clear();                  LCD.clear();
  }
  
  else if (POT>400&&POT<500){
  Serial.println("NORMAL");
  lcd.print(8,0,"NORMAL");      LCD.setCursor(9,0);LCD.print("NORMAL");
  lcd.print(5,1,"OFF");         LCD.setCursor(5,1);LCD.print("OFF");
  digitalWrite(pump,HIGH);
  }
  
  else if (POT<400){
  Serial.println("BASAH");
  lcd.print(8,0,"BASAH ");      LCD.setCursor(9,0);LCD.print("BASAH ");
  lcd.print(5,1,"OFF");         LCD.setCursor(5,1);LCD.print("OFF");
  digitalWrite(pump,HIGH);
  }
}

void setup()
{
  Serial.begin(9600);
  Blynk.begin(auth, ssid, pass);
  timer.setInterval(1000L, sendSensor);
  pinMode(pump,OUTPUT);
  lcd.clear();
  LCD.init();       
  LCD.backlight();
}

void loop()
{
  Blynk.run();
  timer.run();
  delay(100);
}

Untuk Library nya bisa di download Disini
Untuk Seting Esp8266 Bisa lihat Disini

Seting Aplikasi Blink
untuk Widged yang digunakan adalah
a. LCD
b. Gauge
 - Untuk Setting LCD Inputan di V1

- Untuk Setting Gauge Inputan di A0
- Untuk Copy token berada di Project Settings

Sekian Semoga Bermanfaat




Jumat, 15 Mei 2020

Pemograman Arduino

Pemograman Arduino


Pemrogaman arduino menggunakan struktur Bahasa C. Mekanisme pemrogamanya arduino sama dengan mikrokontroler pada umumnya. Mulai dari membuat sket progam, meng-compile, selanjutnya proses upload pada papan arduino. Pengisian progam dengan metode upload ialah mengisi papan arduino dengan progam yang sudah berbentuk Hex atau hasil compile dari bahasa C ke bahasa mesin.
                     
TULIS PROGRAM -> COMPILE PROGRAM -> UPLOAD PROGRAM

Program Arduino dapat dibagi dalam tiga bagian utama: struktur, nilai-nilai (variabel dan konstanta), dan fungsi.

1.2 Struktur utama

          Setup()
Fungsi setup() dipanggil ketika sketsa progam dimulai. Fungsi ini digunakan untuk menginisialisasi variabel, mode pin, penggunaan librari, dll. Fungsi setup() hanya akan berjalan sekali, setelah power arduino dinyalakan atau saat mereset papan Arduino.
Contoh : Progam 1.1
int ledPin = 13;
void setup(){
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, HIGH);
delay(5000);
digitalWrite(ledPin, HIGH);
}
void loop(){
// ...
}
Progam 1.1 akan menyalakan LED pada pin 13 selama 5 detik lalu mati. Eksekusi ini dilakukan hanya sekali.

         Loop()
Setelah membuat fungsi setup(), maka berikutnya adalah fungsi loop(). Fungsi loop() akan melakukan loop berturut-turut dimana program akan dijalankan terus menerus secara berurutan dan loop untuk mengontrol papan Arduino.
Contoh : Progam 1.2
const int buttonPin = 3;
setup ()
{
Serial.begin(9600); pinMode(buttonPin, INPUT);
}
loop()
{
if (digitalRead (buttonPin) == HIGH)
Serial.write ( 'H');
else
Serial.write ( 'L');
delay (1000);
}

Progam 1.2 pada serial monitor akan menampilkan huruf H ketika tombol pada pin 3 ditekan dan bila dilepaskan akan tampil huruf L.

   //Komentar
Komentar digunakan untuk memberikan keterangan pada progam yang dibuat. Komentar tidak dieksekusi maka komentar tidak menambah ukuran file hasil compile. Cara membuat komentar ialah sebagai berikut :
//komentar segaris diawali dengan dua garis miring
/*komentar untuk lebih dari satu baris diawali dengan garis miring lalu tanda bintang serta diakhiri dengan bintang lalu garis miring*/
Adapun sintaks lain yang ada di dalam arduino seperti
          ; (semicolon)
Digunakan untuk mengakhiri sebuah pernyataan.
          {} (curly braces)
Bagian utama dari bahasa pemrograman C yang digunakan dalam beberapa konstruksi yang berbeda dalam beberapa fungsi.
          #define
Komponen C yang berguna yang memungkinkan programmer untuk memberi nama untuk nilai konstan sebelum program dikompilasi.
          #include
Digunakan untuk memasukkan perpustakaan atau library di luar di sketsa progam.
Dalam pemrogaman bahasa C pada arduino, bilangan dapat diekspresikan dalam beberapa format, yaitu :
          Biner
Ditulis dengan awalan huruf ‘0b’. Contoh : b11110010
          Desimal
Ditulis biasa tanpa awalan. Contoh : 435
          Oktal
Ditulis dengan awalan angka ‘0’. Contoh : 0753
          Heksadesimal
Diawali dengan ‘0x’. Contoh : 0x5A

1.3 Tipe Data

Tipe data yang berbeda – beda memiliki kapasitas penyimpanan yang berbeda – beda pula. Berikut tipe data tersebut :
tipe data
Lebar Data
Jangkauan
char
1 byte
-128 s/d 127
unsigned char
1 byte
0 s/d 255
byte
1 byte
0 s/d 255
word
2 byte
0 s/d 65535
int
2 byte
-32768 s/d 32767
unsigned int
2 byte
0 s/d 65535
long
4 byte
-2147438648 s/d 2147438647
unsigned long
4 byte
0 s/d 4294967295
float
4 Byte
-3.4028235E+38 s/d3.4028235E+38

2.1.Variabel
Variabel adalah suatu wadah untuk menyimpan atau menampung data. Nama variable dibebaskan namun ada peraturan tersendiri seperti tidak boleh ada spasi, maksimal 32 karakter dan tidak boleh menggunakan istilah baku dalam bahasa C arduino karena dapat tercaji progam yang error. Cara memndeklarasikan variable sebelum digunakan sebagai berikut :
int nilai_1;
atau bisa diisi dengan nilai :
[tipe data][spasi][nama variable][=][nilai]

Contoh :
int nilai_1=17; //variabel bilangan tipe integer diisi nilai 17


1.4 Operator

operator yang ada di arduino sama saja dengan operator yang ada di pemograman yang lainnya seperti operator aritmatika, operator perbandingan, operator boolean, operator bitwise dan operator penambahan dan pengurangan.

1.5 Operator aritmatika

Operator
Keterangan
=
Pemberian Nilai
+
Penjumlahan
-
Pengurangan
*
Perkalian
/
Pembagian
%
Sisa Bagian

1.6 Operator perbandingan

Operator
Keterangan

==
Persamaan. Jika kedua nilai yang dibandingkan sama maka hasilnya ‘true

!=
Pertidaksamaan. Jika kedua nilai yang dibandingkan tidak sama hasilnya ‘true’

> 
Lebih Besar

< 
Lebih Kecil

>=
Lebih Besar atau Sama Dengan

<=
Lebih Kecil atau Sama Dengan


1.7 Operator Boolean

Operator
Keterangan
&&
and
||
Or
!
Not

2.5.1.                  Operator Bitwise
Bitwise Operator = Digunakan untuk operasi bit per bit pada nilai integer. Terdiri dari operator NOT, AND, OR, XOR, Shl, Shr. Type : int atau char.
Bitwise operator, dari namanya sudah jelas diketahui pasti berhubungan dgn bit. Biasanya digunakan utk memanipulasi data bertipe bit dari tipe data integer atau byte.
Operator
Keterangan
<< 
Geser Kiri
>> 
Geser Kanan
&
AND
|
OR
^
XOR
~
NOT

2.5.2.                  Operator Pertambahan dan Pengurangan
Operator
Keterangan
Contoh
Keterangan
++
Pertambahan 1/increment
a++
A=a+1
--
Pengurangan 1/ decrement
a--
A=a-1

2.2.Struktur Kontrol
Setiap progam yang dibuat membutuhkan suatu kontrol. Tak hanya perulangan namun suatu eksekusi dengan syarat tertentu juga diperlukan.
Pengujian Kondisi :
         if
Digunakan untuk mengecek suatu kondisi. Jika benar maka perintah didalam if akan dikerjakan.
if(kondisi){ Pernyataan / perintah
}
Contoh :
if(x==6) {
a=a+5;}

         if – else
seperti dengan if, hanya saja ada 2 pilihan pernyataan / perintah. Jika kondisi benar maka perintah didalam if akan dikerjakan, jika kondisinya salah maka pernyataan didalam else lah yang akan dikerjakan.
if(kondisi){
Pernyataan / perintah 1
}
else {
Pernyataan / perintah 2
}
Contoh :
if(x==1) {
a=1;
}
else {
a=0;
}

         if – else if
Untuk melakukan pengecekan suatu kondisi lebih dari satu maka bisa menggunakan if  else if.
if(kondisi1){
Pernyataan / perintah 1
}
else if(kondisi2){
Pernyataan / perintah 2
}
else if(kondisi ke-n){
Pernyataan / perintah ke-n
}
Contoh :
if(x==1) {
a=1;
}
else if(x==2){
a=2;
}
else if(x==3){
a=3;
}

         switch case
Pernyataan ini digunakan untuk memilih kondisi yang sesuai untuk kemudian mengerjakan perintahnya. Bedanya adalah kondisi yang diuji berupa sebuah nilai variable.
switch(variabel){ //variable yang diuji case 1 : //pernyataan/perintah 1 break;
case 2 : //pernyataan/perintah 2 break;
case n : //pernyataan/perintah n break;
default : //pernyataan/perintah default
}
Jika variable memenuhi syarat dari salah satu case maka dia akan mengerjakan pernyataan/perintah tersebut. Misal nilai variable = 2 maka dia kan mengerjakan pernyataan/perintah 2. Jika tidak memenuhi maka dia akan mengerjakan default.
Contoh :
switch(a){
case 1        : digitalWrite(pin1,HIGH)
break;
case 2        : digitalWrite(pin2,HIGH)
break;
case 3        : digitalWrite(pin3,HIGH)
break;
default : digitalWrite(pin4,LOW)
}

2.3.Perulangan
          while
Perulangan ini digunakan untuk membuat perulangan yang tidak terbatas selama kondisi dalam while benar.
while(kondisi){
//pernyataan/perintah
}
Contoh :
while(a<200){
a++;
}
Perulangan while akan berhenti atau keluar setelah a mencapai angka 200.
          do … while
Perulangan ini akan melakukan pernyataan /perintah lalu akan melihat kondisi dalam while. Jika benar maka pernyataan / perintah akan dieksekusi kembali.
do{
//pernyataan/perintah
}
while(kondisi);
Contoh :
do{
a++;
}
while(a<200);
Perulangan pertambahan a+1 akan dilakukan sampai nilai a=200.
         for
Digunakan untuk perulangan yang sifatnya terbatas.
for(inisialisasi;kondisi;step){
//pernyataan/perintah
}

Contoh :
for(a=0;a<=10;a++){
Serial.println(a);
}
§  Inisialisasi : nilai awal suatu variable untuk proses perulangan.
§  Kondisi : kondisi yang menentukan proses perulangan, jika benar perulangan dikerjakan.
§  Step : tahap perulangan bisa dalam bentuk perkalian, pertambahan, pengurangan dan pembagian.
§  Progam tersebut akan menampilkan nilai a dari 0 sampai 10.

         goto
Perintah ini digunakan untuk melompat/menuju perintah yang telah diberi label.
goto label;
Contoh :
while(1){
digitalWrite(pin0,HIGH);
delay(1000);
digitalWrite(pin0,LOW);
delay(1000);
if(digitalRead(pin1)==HIGH); {goto keluar;}
}

keluar:
         return
Digunakan untuk memberikan nilai balik dari sebuah fungsi. Contoh :
int data(){ if(analogRead(A0)>100){
return 1; else
return 0;
}
}

         continue
untuk melewati perulangan yang tersisa dari struktur looping (do, for, atau while).
Contoh :
for(a=0;a<=255;a+10){
if(digitalRead(pin0)==HIGH){
continue;
}
digitaWrite(pwm1,a);

delay(100);
}

          break
Perintah ‘keluar’ dari pernyataan perulangan do, for, atau while. Juga digunakan untuk mengakhiri pernyataan dalam switch – case.