Minggu, 27 November 2016

WORKSHOP APLIKASI INTERNET - Kontrol LED Menggunakan Bluetooth Android Berbasis Arduino

Project ini bertujuan untuk menyalakan LED dengan kontrol ON/OFF-nya ada pada aplikasi android menggunakan koneksi bluetooth. Komponen yang digunakan yaitu:

  • Bluetooth Module HC 05/06
  • Arduino & Battery (with cable)
  • LED
  • 220Ω Resistor
  • Android device
Langkah Percobaan
1. Rangkai komponen sesuai dengan rangkaian di bawah
 

Keterangan :Arduino Pins         Bluetooth PinsRX (Pin 0)     ke      TXTX (Pin 1)     ke      RX5V                ke      VCCGND             ke      GND

2. Masuk ke program Arduino
Salin Sketch di bawah ini :
char data = 0;                //Variable for storing received datavoid setup() {  Serial.begin(9600);         //Sets the data rate in bits per second (baud) for serial data transmission  pinMode(13, OUTPUT);        //Sets digital pin 13 as output pin}void loop(){  if(Serial.available() > 0)  // Send data only when you receive data:  {    data = Serial.read();      //Read the incoming data and store it into variable data    Serial.print(data);        //Print Value inside data in Serial monitor    Serial.print("\n");        //New line     if(data == '1')            //Checks whether value of data is equal to 1       digitalWrite(13, HIGH);  //If value is 1 then LED turns ON    else if(data == '0')       //Checks whether value of data is equal to 0      digitalWrite(13, LOW);   //If value is 0 then LED turns OFF  }                             }

3. Simpan Sketch
Program yang dibuat pada editor dapat disimpan kedalam file yaitu dengan klik pada menu file pilih save atau save as, pilih folder yang akan digunakan menyimpan file, ketik nama file kemudian klik save.




4. Jalankan Sketch (Verify/Compile)

Setelah menyimpan sketch kita bisa langsung menjalankan program yaitu dengan cara mengklik symbol Verify atau dari menu sketch pilih Verify/Compile bisa juga dengan shortcut Ctrl + R. Apabila verify sukses akan terdapat tulisan Done Compilling.




5. Upload File

Setelah selesai diverifikasi sketch bisa langsung diupload ke arduino yaitu dengan mengklik symbol upload atau dari menu file pilih upload.
Hal-hal yang perlu diperhatikan adalah kita harus mengecek dulu port komunikasi mana yang terhubung ke arduino, port USB harus sesuai dengan setingan pada sketch, caranya pilih tools – serial port.







5. Install aplikasi Android
Download aplikasi dari Amazon App Store atau Github. Kemudian pasangkan perangkat Anda dengan HC 05/06 bluetooth modul
1. turn ON HC 05/06 modul bluetooth dengan powering Arduino.
2. scan smartphone untuk perangkat tersedia.
3. pasangan untuk HC 05/06 dengan memasukkan default password 1234 ATAU 0000.
Instal aplikasi LED pada perangkat Android lalu buka aplikasi. Tekan Paired Device kemudian pilih modul Bluetooth dari daftar (HC-05/06).
 

6. Eksekusi 
Setelah berhasil terhubung, tekan tombol ON untuk menyalakan LED dan tekan tombol OFF untuk mematikan LED.






MANAJEMEN JARINGAN - Limitasi Bandwidth

Tujuan :
Dari praktikum ini, diharapkan mahasiswa mampu :
1. Melakukan konfigurasi limitasi bandwidth sederhana pada Mikrotik
2. Mengerti fungsi dari penerapan limitasi bandwidth


Dasar Teori
Mengatur dan membatasi pemakaian Bandwidth internet memang suatu hal yang penting ketika koneksi internet kita terbatas, misalnya kuota bandwidth yang terbatas dari ISP. Kita perlu membatasi kuota bandwidth tiap user yang terkoneksi ke Router Mikrotik. Pada sebuah jaringan yang mempunyai banyak client, diperlukan sebuah mekanisme pengaturan bandwidth dengan tujuan mencegah terjadinya monopoli penggunaan bandwidth sehingga semua client bisa mendapatkan jatah bandwidth masing-masing. QOS(Quality of services) atau lebih dikenal dengan Bandwidth Manajemen, merupakan metode yang digunakan untuk memenuhi kebutuhan tersebut.


Pada RouterOS Mikrotik penerapan QoS bisa dilakukan dengan fungsi Queue. Ada dua macam Queue pada Mikrotik :

  • Queue Simple : merupakan cara termudah untuk melakukan management bandwidth yang diterapkan pada jaringan skala kecil sampai menengah untuk mengatur pemakaian bandwidth upload dan download tiap user.
  • Queue Tree : mirip seperti queue simple tapi lebih rumit, yaitu dapat melakukan pembatasan bandwidth berdasarkan group bahkan secara hierarki. Kita harus mengaktifkan fitur Mangle pada Firewall jika ingin menggunakan Queue Tree.


Perbedaan antara Simple Queue Dan Queue Tree :

Queue Tree :
-  Lebih Flexsibel dan harus paham tentang mangle dan traffic control
-  Mampu membagi bandwidth secara fixed
-  Mendukung penggunaan PCQ sehingga dapat membagi bandwith secara merata
-  Mengatur aliran paket satu arah
-  Jarang orang yang memakai ini




Simple Queue :
-  Mampu membatasi trafik berdasarkan alaamt IP
-  Memiliki aturan yang sangat ketat
-  Mengatur aliran paket secara dua arah
-  Mendukung penggunaan PCQ sehingga mampu membaci bandwidth secara merata
-  Bisa menerapkan antrian yang ditandai melalui paket mangle
-  Mampu mambagi bandwidth secara fixed
-  Pengaturanya lebih sederhana


Cara paling mudah untuk melakukan queue pada RouterOS adalah dengan menggunakan Simple Queue. Kita bisa melakukan pengaturan bandwidth secara sederhana berdasarkan IP Address client dengan menentukan kecepatan upload dan download maksimum yang bisa dicapai oleh client.


Topologi


Langkah Percobaan

1. Set IP PC1 dan PC2 secara manual
Hubungkan PC1 dengan ETH 3 Mikrotik dan PC2 dengan ETH 4 Mikrotik. Atur IP PC1 dan IP PC2 secara manual.
PC1 : IP = 192.168.2.100; Subnet Mask = 255.255.255.0; IP Default Gateway = 192.168.2.1 
PC2 : IP =10.10.2.100; Subnet Mask =255.255.255.0; IP Default Gateway = 10.10.2.1
  


2. Set DHCP Client

Hubungkan ISP dengan ETH 1 pada Mikrotik. Beri IP ISP menggunakan DHCP client.


3. Set Queue Parent

Router kita tidak tahu berapa total bandwidth real yang kita miliki, maka kita harus lakukan pendefinisian. Pendefinisian ini bisa dilakukan dengan melakukan setting Queue Parent. Besar bandwidth yang kita miliki bisa diisikan pada parameter Target Upload Max-Limit dan Target Download Max-Limit. 
 


4.  Set child-queue untuk menentukan limitasi bandwidth per client

Pada child-queue kita menentukan target-address dengan mengisikan IP address masing-masing client (IP PC1 dan IP PC2). 
Terapkan Limit-at (CIR) : 384kbps dan Max-Limit (MIR) : 128kbps. Arahkan ke Parent Total Bandwidth yang kita buat sebelumnya. Penentuan kecepatan maksimum client dilakukan pada parameter target upload dan target download max-limit. Bisa dipilih dengan drop down menu atau ditulis manual dengan satuan bps (bit per second).

    
  
5. Lakukan konfigurasi NAT
NAT di atur dengan output pada ETH 1 dengan Action : Masquerade. 

6. Lakukan tes kecepatan internet 
Buka testspeed.net pada mesin pencari (search engine) PC1 atau PC2 untuk mengetahui besar kecepatan download pada PC client.



Data Hasil Praktikum






Analisa
Simple queues adalah cara pelimitan bandwidth dengan menggunakan pelimitan sederhana berdasarkan data rate. Simple queues juga merupakan cara termudah untuk melakukan manajement bandwidth yang diterapkan pada jaringan skala kecil sampai menengah untuk mengatur pemakaian bandwidth upload dan download tiap user. Ini berarti bahwa antrian harus selalu dikonfigurasi pada interface keluar mengenai arus lalu lintas. Metode Simple Queues merupakan metode yang cukup sederhana dalam melakukan konfigurasinya. Pada metode Simple Queues kita tidak bisa mengalokasikan bandwith khusus buat ICMP (Internet Control Message Protocol), sehingga apabila pemakaian bandwith pada klien sudah penuh, ping time nya akan naik dan bahkan RTO (request time out),
Kelebihan metode Simple Queues ini yaitu tidak dapat ditembus oleh Download Manager. Kekurangan yang terdapat pada metode Simple Queues adalah, kita tidak bisa mengalokasikan bandwith khusus buat ICMP (Internet Control Message Protocol), sehingga apabila pemakaian bandwith pada klien sudah penuh, ping time nya akan naik dan bahkan RTO (request time out).  


Kesimpulan

Dari praktikum ini, dapat disimpulkan bahwa:
1. Metode Simple Queues merupakan metode yang cukup sederhana karena pada metode ini dapat langsung memasukkan IP Address pada target yang ingin dilimit. 
2. Metode Simple Queues dinilai lebih sederhana dalam proses konfigurasinya karena tidak dapat ditembus oleh Download Manager, namun banyak bandwidth yang terbuang.

Kamis, 24 November 2016

WORKSHOP APLIKASI INTERNET - Menyalakan LED Menggunakan Arduino


Menyalakan LED yang Berkedip

Project ini bertujuan untuk menyalakan LED dan membuat LED berkedip. Komponen yang digunakan sangat sederhana, yaitu:

  • 1 Arduino,
  • 1 Breadboard,
  • 1 LED,
  • 1 Resistor 220 ohm,
  • 2 Kabel Jumper.
Langkah Percobaan :
1. Rangkai komponen dengan rangkaian seperti gambar dibawah ini:


Keterangan :
Pin GND Arduino ke Breadboard.
Pin negatif LED ke GND melalui resistor 220 ohm.
pin positif LED ke pin 13 Arduino.

2. Masuk ke Program ARDUINO 
Klik FILE => EXAMPLE => BASIC => BLINK.
Atau salin ulang sketch dibawah ini:

void setup() {
pinMode(13, OUTPUT); // membuat pin 13 menjadi OUTPUT.
}
void loop() {
digitalWrite(13, HIGH); // menyalakan LED yang terhubung pada pin 13
delay(1000); // menunggu waktu selama 1 detik (1000 mili detik)
digitalWrite(13, LOW); // mematikan LED yang terhubung pada pin 13
delay(1000); // menunggu waktu selama 1 detik (1000 mili detik)
}


Keterangan :
Semua perintah yang ada didalam void setup() akan dibaca sekali.
Semua perintah yang ada didalam void loop() akan dibaca berulang kali.
pinMode digunakan mengatur apakah pin 13 akan menjadi INPUTatau OUTPUT.
digitalWrite untuk mengatur apakah pin 13 akan dibuat HIGH (hidup) atau LOW (mati).
delay untuk memberikan jeda (1000 = 1 detik)


3. Simpan Sketch

Program yang dibuat pada editor dapat disimpan kedalam file yaitu dengan klik pada menu file pilih save atau save as, pilih folder yang akan digunakan menyimpan file, ketik nama file kemudian klik save.




4. Jalankan Sketch (Verify/Compile)

Setelah menyimpan sketch kita bisa langsung menjalankan program yaitu dengan cara mengklik symbol Verify atau dari menu sketch pilih Verify/Compile bisa juga dengan shortcut Ctrl + R. Apabila verify sukses akan terdapat tulisan Done Compilling.




5. Upload File

Setelah selesai diverifikasi sketch bisa langsung diupload ke arduino yaitu dengan mengklik symbol upload atau dari menu file pilih upload.
Hal-hal yang perlu diperhatikan adalah kita harus mengecek dulu port komunikasi mana yang terhubung ke arduino, port USB harus sesuai dengan setingan pada sketch, caranya pilih tools – serial port.








Tunggu hingga proses compiling selesai. LED akan menyala dengan berkedip-kedip.


2. Menyalakan LED Menggunakan Push Button
Project ini merupakan project sederhana untuk Push Button dengan menggunakan logika program “Jika button ditekan LED menyala, jika tidak LED akan mati”. Dimana kita mengetahui bahwa Push Button ketika kita tekan akan menghubungkan arus listrik, dan terputus apabila Push Button dilepas (tidak ditekan). 


Peralatan dan komponen yang digunakan adalah:
  • 1x Arduino
  • 1x Breadboard
  • 1x Push button
  • 1x LED
  • 1x Resitor 10k
  • 1x Resistor 220ohm
  • 7x Kabel jumper

Rangkaian percobaan:


Rangkaian Untuk Push Button

Keterangan:
Hubungkan 5V dan GND dari Arduino ke Breadboard.
Hubungkan kaki pertama button ke 5V dan kaki ke-2 ke kaki pertama resitor 10k.
Hubungkan kaki ke-2 resistor 10k ke GND.
Hubungkan pin 2 Arduino ke kaki ke-2 button.
Untuk LED rangkaiannya tidak jauh berbeda dengan pembahasan sebelumnya.
Untuk sketch-nya dapat diperoleh dari sampel pada FILE=>EXAMPLES=>DIGITAL=>BUTTON. Atau salin ulang program dibawah ini;

int buttonPin = 2; // membuat variabel buttonPin untuk pin 2
int ledPin = 13; // membuat variabel ledPin untuk pin 13
int buttonState = 0; // variabel untuk posisi awal button agar dibaca LOW

void setup() {
pinMode(ledPin, OUTPUT); // membuat ledPin menjadi OUTPUT
pinMode(buttonPin, INPUT); // membuat buttonPin menjadi INPUT
}

void loop() {
buttonState = digitalRead(buttonPin); // membuat variabel buttonState untuk mengambil
nilai dari buttonPin
if (buttonState == HIGH) { // Jika nilai buttonPin = HIGH
digitalWrite(ledPin, HIGH); // maka ledPin akan menyala
}
else { // Jika tidak
digitalWrite(ledPin, LOW); // maka ledPin akan mati
}
}


Keterangan:

  • Variabel int buttonState=0; digunakan untuk menentukan nilai awal yang terbaca adalah 0 atau LOW. 
  • Variabel baru buttonState = digitalRead(buttonPin); digunakan untuk menyimpan nilai baca dari buttonPin kedalam variabel buttonState.
  • digitalRead sendiri berfungsi untuk membaca nilai sensor secara digital (LOW=GND, HIGH=5V).
  • if (buttonState == HIGH) digunakan untuk menampilkan jika nilai dari buttonState adalah HIGH, maka lampu LED akan menyala digitalWrite(ledPin, HIGH);
  • else jika tidak maka lampu LED akan mati digitalWrite(ledPin, LOW);
Berikut adalah rangkaian yang telah diujikan: