• Tidak ada hasil yang ditemukan

2. Masukkan listing program sesuai dengan pengukuran yang diinginkan. 3. Kemudian lakukan verify load library setelah selesai upload dan serialkan kepada monitor tampilan data. 4. Catat hasil pengukuran. - Studi Konsumsi Energi Perangkat Komunikasi Berger

N/A
N/A
Protected

Academic year: 2019

Membagikan "2. Masukkan listing program sesuai dengan pengukuran yang diinginkan. 3. Kemudian lakukan verify load library setelah selesai upload dan serialkan kepada monitor tampilan data. 4. Catat hasil pengukuran. - Studi Konsumsi Energi Perangkat Komunikasi Berger"

Copied!
21
0
0

Teks penuh

(1)

LAMPIRAN 1

Tutorial Implementasi Editor Pengukuran, Pengiriman dan Penerimaan

a.

Implementasi Editor Pengukuran

Berikut adalah langkah-langkah pengukuran meliputi:

1.

Buka editor

arduino

kemudian

setting sketch

dan

tools

menggunakan

arduino

UNO.

2.

Masukkan listing program sesuai dengan pengukuran yang diinginkan.

3.

Kemudian lakukan

verify load library

setelah selesai

upload

dan

serialkan kepada monitor tampilan data.

4.

Catat hasil pengukuran.

b.

Implementasi Editor Pengiriman Menggunakan Wireless Tool Kit

2.5.2

Berikut adalah langkah-langkah menginstall editor pengiriman meliputi:

1.

Siapkan editor Wireless Tool Kit 2.5.2

2.

Edit listing program sesuai dengan protokol yang digunakan yaitu

UDP dan TCP.

3.

Lakukan perintah

open project

pada WTK kemudian setting sesuai

dengan perangkat yang digunakan yaitu Nokia series E63.

4.

Untuk mendapatkan file yang sudah dieksekusi dalam format .jar pilih

perintah

set package

.

5.

Setelah format

.jar

muncul pada folder WTK lakukan

build project

untuk menjalankan

project

yang sudah dibuat pada

emulator

yang

sudah disediakan.

6.

Ambil file eksekusi yang berformat

.jar

lalu

install

pada perangkat

Nokia series E63.

7.

Aplikasi akan muncul pada layar handphone dan siap untuk dilakukan

proses pengiriman.

c.

Implementasi Editor Penerimaan Menggunakan Netbeans 8.0.1

Berikut adalah langkah-langkah menjalankan editor penerimaan meliputi:

1.

Siapkan editor Netbeans 8.0.1

2.

Edit listing program sesuai dengan protokol yang digunakan yaitu

UDP dan TCP

(2)

4.

Setelah file muncul maka langkah selanjutnya adalah mensetting IP

address

dari perangkat pengirim.

5.

Kemudian pilih perintah

run file

.

(3)

LAMPIRAN 2

Listing Program Monitoring Pengukuran Menggunakan

Arduino

UNO

#include <Time.h>

int voltPin = 0; //voltage divider (middle terminal) connected to analog pin 0

int currentPin = 2; //TMP36 data pin

int val = 0; // variable to store the value read

int volt = 0; //variable to store the voltage calculated int current = 0;

static const int RXPin = 19,TXPin = 18;

void setup() {

Serial.begin(9600); //setup serial

setTime(9,20,0,17,01,15); // set time to noon August 8 2014 harus diset setiap melakukan uji coba

}

void loop() {

int reading = analogRead(voltPin); //read the input pin float voltage = reading*4.2;

voltage /= 1024.0;

int reading2 = analogRead(currentPin); //read the input pin float current = voltage - reading2*4.2;

current /= 1024.0;

float v_negatif = voltage + current;

Serial.print(voltage);

Serial.print(" volts titik + "); Serial.print(v_negatif);

Serial.print(" volts titik - "); float arus = current/0.22;

Serial.print(arus);

Serial.print(" ampere ");

float power = (arus*arus*0.22)*1000; Serial.print(power);

Serial.print(" milliwatt "); float energi = (power*3600)/1000; Serial.print(energi);

Serial.print(" joule "); digitalClockDisplay(); delay(500);

}

void digitalClockDisplay(){

// digital clock display of the time Serial.print(hour());

(4)

Serial.print(day()); Serial.print(" "); Serial.print(month()); Serial.print(" "); Serial.print(year()); Serial.println(); }

void printDigits(int digits){

// utility function for clock display: prints preceding colon and leading 0

(5)

LAMPIRAN 3

Listing Program Pengirim Data Transmisi UDP dan TCP Menggunakan

Bahasa Java Editor Wireless Tool Kit (WTK) 2.5.2

a. Pengirim Data Transmisi UDP

import java.io.IOException; import java.util.Calendar; import java.util.Date;

import javax.microedition.io.*;

import javax.microedition.io.Datagram;

import javax.microedition.io.DatagramConnection; import javax.microedition.lcdui.Alert;

import javax.microedition.lcdui.AlertType; import javax.microedition.lcdui.Command;

import javax.microedition.lcdui.CommandListener; import javax.microedition.lcdui.Display;

import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Form;

import javax.microedition.lcdui.StringItem; import javax.microedition.lcdui.TextField;

public class UDP implements Runnable, CommandListener { private DatagramMIDlet parent;

private Display display;

private Form f;

private StringItem si;

private TextField tf;

private Command startCommand = new Command("Start", Command.ITEM, 1);

private Command exitCommand = new Command("Exit", Command.EXIT, 1);

private String address; String portString=null; private int port;

Datagram dg=null; DatagramConnection dc=null;

int [] dataVideo = {27905,10857,10917,10515,11907,11781,9177,12155,11000,12108,

(6)

0794,11144,12698,13855,13137,12396,10971,12085,13142,29278,1

//Generate byte 010101;

(7)
(8)
(9)

000010100000101000001010000010100000101000001010000010100000

display = Display.getDisplay(parent); f = new Form("UDP Server");

si = new StringItem("Status:", " "); f.append(si);

(10)

f.addCommand(exitCommand); f.setCommandListener(this); display.setCurrent(f);

portString = String.valueOf(port); }

public void start() {

Thread t = new Thread(this); t.start();

}

public void run() {

try {

si.setText("Menunggu permintaan sambungan "+portString);

dc = (DatagramConnection) Connector

.open("datagram://:" + portString); while (true) {

dg = dc.newDatagram(100); dc.receive(dg);

address = dg.getAddress();

si.setText("Permintaan diterima "

+ new String(dg.getData(), 0, dg.getLength()));

//Program mengirim video //Kirim video 6x10detik

for(int k=0;k<6;k++){

int frame=dataVideo.length; :"+date.getTime()+" urutan: "+urutan+" frame :"+i+" : "+s;

bytes=ss.getBytes();

dg = dc.newDatagram(bytes, bytes.length, address);

si.setText("Mengirim paket "+urutan+" frame:"+i);

(11)

Thread.currentThread().interrupt(); }

urutan++; }

}

}

} catch (IOException ioe) {

Alert a = new Alert("Server", "Port " + portString + " is already taken.", null, AlertType.ERROR);

a.setTimeout(Alert.FOREVER); a.setCommandListener(this); display.setCurrent(a); } catch (Exception e) { e.printStackTrace(); }

}

public void commandAction(Command c, Displayable s) {

if ((c == Alert.DISMISS_COMMAND) || (c == exitCommand)) {

parent.destroyApp(true); parent.notifyDestroyed(); }

}

public void stop() { }

(12)

b. Pengirim Data Transmisi TCP

import java.util.Calendar; import java.util.Date; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import javax.microedition.io.*;

import javax.microedition.io.Connector;

import javax.microedition.io.SocketConnection; import javax.microedition.lcdui.Alert;

import javax.microedition.lcdui.AlertType; import javax.microedition.lcdui.Command;

import javax.microedition.lcdui.CommandListener; import javax.microedition.lcdui.Display;

import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Form;

import javax.microedition.lcdui.StringItem; import javax.microedition.lcdui.TextField;

public class TCP implements Runnable, CommandListener { private DatagramMIDlet parent;

private Display display;

private Form f;

private StringItem si;

private TextField tf;

private Command startCommand = new Command("Start", Command.ITEM, 1);

private Command exitCommand = new Command("Exit", Command.EXIT, 1);

private String address;

String portString=null;

InputStream is;

private int port;

OutputStream os;

SocketConnection sc;

ServerSocketConnection scn;

(13)

12302,11632,12925,13483,14148,13980,13712,13552,13047,12577,

//Generate byte 010101;

(14)
(15)
(16)

+

"01000001010000010100000101000001010000010100000101000001010 000010100000101000001010000010100000101000001010000010100000 101000001010000010100000101000001010000010100000101000001010 000010100000101000001010000010100000101000001010000010100000 101000001010000010100000101000001010000010100000101000001010 000010100000101000001010000010100000101000001010000010100000 10100000101000001010000010100000101000001"

+

"01000001010000010100000101000001010000010100000101000001010 000010100000101000001010000010100000101000001010000010100000 101000001010000010100000101000001010000010100000101000001010 000010100000101000001010000010100000101000001010000010100000 101000001010000010100000101000001010000010100000101000001010 000010100000101000001010000010100000101000001010000010100000 10100000101000001010000010100000101000001";

int urutan =0;

byte[] bytes = null;

public TCP(DatagramMIDlet m, int p) { parent = m;

port = p;

display = Display.getDisplay(parent); f = new Form("TCP Server");

si = new StringItem("Status:", " "); f.append(si);

//f.addCommand(startCommand); f.addCommand(exitCommand); f.setCommandListener(this); display.setCurrent(f);

portString = String.valueOf(port); }

public void start() {

Thread t = new Thread(this); t.start();

}

public void run() {

try {

si.setText("Menunggu permintaan sambungan "+portString);

scn = (ServerSocketConnection) Connector.open("socket://:"

+ portString);

// Wait for a connection.

sc = (SocketConnection) scn.acceptAndOpen(); si.setText("Permintaan diterima ");

(17)

boolean rec =true;

StringBuffer sb = new StringBuffer(); while (rec) {

int c = 0;

c = is.read();

if(c==10){

sending=true; rec=false;

si.setText("Message received - " +

sb.toString()); } }

while (sending) {

//Program mengirim video

int frame=dataVideo.length; for(int k=0;k<6;k++){

for(int i=0;i<frame;i++){ //Kirim masing2 gambar

int jumlahPaket =(dataVideo[i]/1024)+1; //Kirim setiap paket

for(int j=0;j<jumlahPaket;j++){

Date date = new

Date();

try {

String ss="kirim :"+date.getTime()+"

urutan: "+urutan+" frame :"+i+" : "+s+"\r\n";

bytes=ss.getBytes(); os.flush();

os.write(bytes);

//os.write("\r\n".getBytes());

si.setText("Mengirim paket "+urutan+" frame:"+i);

} catch (Exception ioe) { ioe.printStackTrace(); }

urutan++; }

try {

Thread.sleep(30);//1000 milliseconds is one second.

} catch(InterruptedException ex) {

Thread.currentThread().interrupt(); }

(18)

} } sending=false;

}

} catch (IOException ioe) {

if (ioe.getMessage().equals("ServerSocket Open")) {

Alert a = new Alert("Server", "Port " + portString

+ " is already taken.", null, AlertType.ERROR);

a.setTimeout(Alert.FOREVER); a.setCommandListener(this); display.setCurrent(a); } else {

ioe.printStackTrace(); }

} catch (Exception e) { e.printStackTrace(); }

}

public void commandAction(Command c, Displayable s) {

if ((c == Alert.DISMISS_COMMAND) || (c == exitCommand)) {

parent.destroyApp(true); parent.notifyDestroyed(); }

}

public void stop() { }

(19)

LAMPIRAN 4

Listing Program Penerima Data Transmisi UDP dan TCP Menggunakan

Bahasa

Java

Editor Netbeans 8.0.1

a. Penerima Data Transmisi UDP

import java.io.*; import java.net.*; import java.util.*;

class UDPClient {

private InetAddress IPAddress; boolean done;

//boolean keepGoing;

public UDPClient(String sHostName) {

String s1; int size;

BufferedReader br;

try {

IPAddress = InetAddress.getByName(sHostName);

System.out.println ("Attemping to connect to " + IPAddress +

") via UDP port 5555"); }

catch (UnknownHostException ex) {

System.err.println(ex); System.exit(1);

}

// set up the buffered reader to read from the keyboard try {

DatagramSocket clientSocket = new DatagramSocket(); byte[] sendData = new byte[1024];

s1 = "Request";

sendData = s1.getBytes();

System.out.println ("Sending data to " + sendData.length);

DatagramPacket sendPacket =

new DatagramPacket(sendData, sendData.length, IPAddress, 5555);

clientSocket.send(sendPacket);

byte[] receiveData = new byte[1024]; DatagramPacket receivePacket =

new DatagramPacket(receiveData, receiveData.length);

(20)

//clientSocket.setSoTimeout(100000000);

while (true){

Date date = new Date(); try {

clientSocket.receive(receivePacket); System.out.println("Terima

:"+date.getTime()+" "+receivePacket.getLength()+" "+new String(receivePacket.getData()));

}

catch (SocketTimeoutException ste){

System.out.println ("Timeout Occurred: Packet assumed lost");

// if (done)

// keepGoing = false; }

System.out.println();

}

// clientSocket.close(); }

catch (IOException ex) {

System.err.println(ex); }

}

public static void main(String args[]) throws Exception {

String serverHostname = new String ("192.168.101.11");

if (args.length > 0) serverHostname = args[0];

new UDPClient (serverHostname);

(21)

b. Penerima Data Transmisi TCP

import java.io.*; import java.net.*; import java.util.Date;

class TCPClient {

public static void main(String argv[]) throws Exception {

String sentence;

String modifiedSentence;

BufferedReader inFromUser = new BufferedReader( new InputStreamReader(System.in));

Socket clientSocket = new Socket("192.168.101.11", 5555); DataOutputStream outToServer = new DataOutputStream( clientSocket.getOutputStream());

DataInputStream inServer = new DataInputStream(clientSocket.getInputStream());

BufferedReader inFromServer = new BufferedReader(new InputStreamReader(

clientSocket.getInputStream())); sentence = "1";

outToServer.write(10); byte[] a=null;

while(true){

Date date = new Date();

modifiedSentence = inServer.readUTF();

System.out.println("Terima : "+date.getTime()+" "); System.out.println(modifiedSentence);

//System.out.println('\n'); }

}

//clientSocket.close();

Referensi

Dokumen terkait

Motivasi adalah suatu hal yang penting bagi semua perusahaan dan tanpa motivasi yang baik tujuan karyawan untuk bekerja maupun tujuan perusahaan tidak akan tercapai sesuai

Pertumbuhan dan hasil kacang tanah budidaya sistem tanam alur menghasilkan nilai interaksi dengan perlakuan ketiga jenis pupuk lebih baik dibandingkan sistem tanam

Dari Identifikasi Drug Related Problems (DRPs) pada Pasien Hipertensi dengan atau tanpa penyakit penyerta di Instalasi Rawat Inap RS Multazam Kota Gorontalo Periode

Sehingga Apabila remaja memiliki konsep diri negatif yang ditunjukkan dengan penilaian negatif terhadap diri dengan menganggap dirinya kurang dapat diterima oleh individu lain, maka

Profil Dinas perindustrian, Perdagangan, Pertambangan dan Energi Kabupaten Jeneponto pada prinsipnya merupakan bagian dari proses peningkatan kesejahteraan masyarakat

16 tersebut berhasil diimplementasikan dengan baik maka akan membantu menciptakan ketahanan pangan khususnya dari aspek availability (produksi dan ketersediaan

Independen maka Perseroan harus mengisi posisi yang lowong tersebut paling lambat dalam RUPS berikutnya atau dalam waktu 6 (enam) bulan sejak kekosongan itu terjadi. 8)

Tujuan penelitian adalah mengangkat cerita rakyat, serta budaya Jawa seperti wayang dan batik sebagai elemen desain, dalam pembuatan suatu jenis dek Tarot yang baru..