LAMPIRAN 1 Tutorial Implementasi Editor Pengukuran, Pengiriman dan Penerimaan

dokumen-dokumen yang mirip
LAMPIRAN 1 Tutorial Implementasi Editor Pengukuran, Pengiriman dan Penerimaan

LAMPIRAN. Berikut ini adalah kode program transmisi video yang diinstall pada sisi user. public static void main(string args[]) throws Exception

Mobile Computing Tugas Individu 1

Mobile Computing. Ramos Somya

A. TUJUAN : Dapat mengimplementasi-kan kelas-kelas Java yang digunakan dalam pemrogaman jaringan.

Riwayat Pendidikan: SDK Lemuel II, Pos Pengumben, Jakarta Barat SMPK Lemuel, Pos Pengumben, Jakarta Barat SMUN 78, Kemanggisan, Jakarta Barat

MODUL 11 J2ME (Java 2 Micro Edition)

PEMROGRAMAN SOCKET LANJUTAN

Socket pada UDP. Husni Husni.trunojoyo.ac.id Komputasi.wordpress.com

11.1 Tujuan Timers

Pemrograman Socket menggunakan TCP

Pemrograman Berorientasi Obyek Lanjut (IT251) Ramos Somya, S.Kom., M.Cs.

PEMROGRAMAN JAVA. Yoannita, S.Kom. Input Kondisi (IF-ELSE, SWITCH)

Prosedur Percobaan Program Tampilan

Pemrograman Socket menggunakan UDP

Network Programming 2010 Pertemuan-4. Pemrograman Socket. Husni. Husni.trunojoyo.ac.id Komputasi.wordpress.

TPI4202 e-tp.ub.ac.id. Lecture 4 Mas ud Effendi

1.Mengatur jadwal tugas menggunakan Timers 2.Mengetahui bagaimana membaca file dari aplikasi mobile sederhana

10.1 Konsep dasar jaringan

Praktikum Minggu ke-14. Socket Programming

Pertemuan 3 Struktur Perulangan pada Java

Bahasa Pemrograman :: Dasar Pemrograman Java

A. TUJUAN PEMBELAJARAN

APLIKASI CHAT ANTAR PC

Pemrograman Socket TCP dan Socket UDP

Topik. Stream I/O Cara menggunakan Stream Hierarchy Java I/O Membaca File Menulis File Menghapus File Cara membaca isi Direktori dalam file

J2ME GUI dan Interkoneksi Client Server

Modul 9 Protokol Transport (TCP/UDP)

PEMROGRAMAN JARINGAN MODUL 3 STREAM

BONUS. Dasar Java Mobile. Mengenal Java Mobile Mengenal MIDlet Mobile Grafis Mobile Animasi Latihan Soal

Pertemuan 2 Struktur Kontrol Percabangan

Membuat Aplikasi Berbasis Web Di Device Android Mobile

MENGGUNAKAN TCP SOCKET. Oleh: M. Ghazali a.k.a. ghanoz 2480

Robertus Lilik Haryanto

LAMPIRAN A Project SendSMS /////////////////////////////////////////////////////// ParsingKata.java

1. Tujuan. 2. Latar Belakang. 3. Percobaan. Modul Praktikum TiledLayer

M.Octaviano Pratama

BAHASA PEMROGRAMAN JAVA

Membuat Aplikasi Chatting Dengan Java

STREAM DAN FILE. PipedInputStream, SequenceInputStream, dan StringBufferInputStream.

L.1. Lampiran 1 Data Kedatangan Paket Data Real Time (Saluran 64 Kbps)

Network Programming 2010 Jaringan & Aplikasinya. Husni Husni.trunojoyo.ac.id

Nama Lengkap : Muiz Lidinillah NIM :

DateField adalah objek yang dapat digunakan untuk menampilkan atau mengedit objek yang bertipe Date.

1. Tujuan. 2. Latar Belakang. 3. Percobaan. Modul Praktikum Layer Manager

BAB 1 KONSEP DASAR JAVA

Pemrograman Berorientasi Obyek (IT251) Ramos Somya, S.Kom., M.Cs.

Penggunaan Canvas Pada J2ME Untuk Game Programming

BAB 5 Mendapatkan Input dari Keyboard

2. Pilih instruksi yang dapat digunakan dalam method actionperformed untuk membedakan antara tombol buttonone dan buttontwo.

PRAKTIKUM 7 DASAR INPUT OUTPUT

BAB IV ANALISA DAN PENGUJIAN DATA

BAB IV HASIL DAN UJI COBA

Metode Sequential Searching di Java Console

Mengunci sebuah object: Untuk memastikan bahwa hanya satu thread yang mendapatkan hak akses kedalam method tertentu

BAB IV IMPLEMENTASI DAN PENGUJIAN

Tutorial Jasper Report with JDBC Prerequisites: Jasper Report, ireport installed, MySQL installed, and NetBeans IDE

BAB III IMPLEMENTASI. Sistem pada server pengendali lampu dengan Raspberry Pi ini. kemudian server akan menunggu klien melakukan request permintaan

Pertemuan III [STRUKTUR KONTROL] CariGrade.java Program mencari grade nilai menggunakan struktur control if-else

Modul Praktikum Pemrograman

Pertemuan 4 Array pada Java

BAB Argument Command-Line dan System Properties

Sistem Terdistribusi

BAB 5 Mendapatkan Input dari Keyboard

Sistem Terdistribusi

EXCEPTION. 2. Pada kondisi bagaimana klausa finally tidak akan dieksekusi? Kode didalam block try memiliki statement return

Pertemuan 7 File pada Java

BAB III PERANCANGAN ALAT

1.Tujuan. 2. Latar Belakang. 3. Percobaan

Modul 3 Komunikasi Nirkabel Menggunakan RFID

MK. Pemrograman Berorientasi Objek. Input dari Keyboard. Karmilasari

Input Nilai tanpa Case String di Java

BAB IV HASIL DAN UJI COBA

Pengenalan Komunikasi Data pada Processing

PENGEMBANGAN APLIKASI MOBILE MODUL PRAKTIKUM. Persistence. Versi 1.0 JAVA EDUCATION NETWORK INDONESIA

Thread. 16 th week Estu Sinduningrum ST,MT

Modul 3 Flow Control dan Input

BAB 2 INPUT DARI KEYBOARD

BAB IV IMPLEMENTASI DAN PENGUJIAN

Chapter 12.1: package chapter.pkg12; /** * Advan */ import java.util.random; import static java.lang.system.out; public class Chapter12 {

1. Tujuan. 2. Latar Belakang. 3. Percobaan. Modul Praktikum MMAPI. Setelah mempelajari bab ini, Pelajar diharapkan mampu untuk :

I/O (Input dan Output)

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

BAB IV HASIL DAN UJI COBA

PEMOGRAMAN JAVA. Yoannita. Tipe Data (ii) : Array Exception Handling

Variabel tersebut seharusnya bisa dideklarasikan didalam try block dan block catch

BAB III PERANCANGAN. Rectifier. Mobile Phone / Remote Computer. Team Viewer. Gambar 3.1 Blok Rangkaian Sistem

Lab Bahasa Pemrograman 2

PANDUAN PRAKTIKUM DASAR ARDUINO

Waktu Sisa : 0:43:4. Sukses. Kesalahan pada URL. File tidak lengkap. Kesalahan umum. Mengerjakan finally. Diluar block

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) PERTEMUAN 12 WIRELESS JAVA PROGRAMMING WITH JAVA 2 MICRO EDITION (J2ME)

1. Latar Belakang Didalam pembuatan game java sering kali kita mendefinisikan banyak object seperti gambar, dan grafik geometri yang begitu banyak,

BAB 4 PROTOKOL TCP UDP - REMOTE

BAB 3 PERANCANGAN ALAT

BAB III METODE PENELITIAN DAN PERANCANGAN SISTEM

LAMPIRAN A. PEDOMAN PENGGUNAAN Alat Peraga Sistem Pemantauan Energi Menggunakan TEG (Thermo Electric Generator) dan TEC (Thermo Electric Cooler)

Penggunaan Netbeans IDE, Hello World, variable dan Operator aritmetika.

2 TIPE DATA DAN VARIABEL

pembuat game seperti yang kita rasakan saat ini dimana banyak game online

Transkripsi:

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 3. Lakukan perintah open package pada editor Netbeans.

4. Setelah file muncul maka langkah selanjutnya adalah mensetting IP address dari perangkat pengirim. 5. Kemudian pilih perintah run file. 6. Setelah kedua perangkat terhubung, catat hasil pengiriman dan penerimaan.

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()); printdigits(minute()); printdigits(second()); Serial.print(" ");

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 Serial.print(":"); if(digits < 10) Serial.print('0'); Serial.print(digits);

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, 12302,11632,12925,13483,14148,13980,13712,13552,13047,12577, 12444,9233,11987,11228,12680,12126,12303,7804,9186,8085,3124 0,11651,12027,10740,10423,11018,11248,11677,11357,11753,9010,9752,10805,10338,11190,10750,10708,12489,12904,12950,11123, 10705,10616,8986,14107,13506,11235,11216,12941,10818,31106,1 2476,11951,12363,11544,11067,11534,11980,11709,10765,11147,1 0873,10970,11726,11119,10775,11780,12343,13098,12615,12790,1

0794,11144,12698,13855,13137,12396,10971,12085,13142,29278,1 2874,13496,13151,12708,12505,10515,9982,10110,9883,9687,1064 1,10899,10513,9948,9885,10573,7807,10218,11314,10749,11022,1 1133,10697,10294,11288,11115,8114,9364,10308,28494,8786,1124 9,11913,11774,12409,13288,12369,11681,11319,11402,10929,1204 3,12540,13292,13490,13149,13797,13858,14737,14607,14331,1456 4,12183,13580,11448,10271,10285,11285,9210,26459,10331,11038,14130,15156,13330,14587,14574,14217,12256,11247,9761,10684, 10049,11178,10881,10122,10911,11036,11254,12558,13251,13286, 13264,13276,12107,12418,12088,11178,11337,24525,9651,10029,1 0542,10987,10391,10336,9674,8960,10312,10262,10967,10846,107 58,10961,12361,12516,10760,10072,9608,9883,10452,10218,9691, 9403,9326,9421,8636,9578,9950,23711,11427,12099,11643,11177, 11786,12914,15258,16807,18862,19315,18799,19767,15869,15771, 13366,14238,13196,17803,20947,20938,20302,21273,23927,22763, 21242,22183,19795,23711,18951,43787,20868,21750,21976,24037, 24528,24831,24249,21167,20932,20143,24477,16516,20241,22495, 25438,25269,26435,17921,19784,24119,26064,26342,21836,17681, 20602,22030,22848,23277,22502,45781,14661,19359,18430,16623, 18240,14352,17137,18796,18626,16799,15646,21259,22197,18583, 22628,25014,23053,21356,21428,22351,21949,19129,16436,21768, 25520,24413,24244,21886,17520; //Generate byte 010101; String s ="0100000101000001010000010100000101000001010000010100000101 000001010000010100000101000001010000010100000101000001010000 010100000101000001010000010100000101000001010000010100000101 000001010000010100000101000001010000010100000101000001010000 010100000101000001010000010100000101000001010000010100000101 000001010000010100000101000001010000010100000101000001010000 010100000101000001010000010100000101000001010000010100000101 000001"

; int urutan =0; byte[] bytes = null; public UDP(DatagramMIDlet m, int p) { parent = m; port = p; display = Display.getDisplay(parent); f = new Form("UDP 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); 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; 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; bytes=ss.getbytes(); dg = dc.newdatagram(bytes, bytes.length, address); si.settext("mengirim paket "urutan" frame:"i); is one second. dc.send(dg); catch (Exception ioe) { ioe.printstacktrace(); urutan; try { Thread.sleep(30);//1000 milliseconds catch(interruptedexception ex) {

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() {

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; int [] datavideo = {27905,10857,10917,10515,11907,11781,9177,12155,11000,12108,

12302,11632,12925,13483,14148,13980,13712,13552,13047,12577, 12444,9233,11987,11228,12680,12126,12303,7804,9186,8085,3124 0,11651,12027,10740,10423,11018,11248,11677,11357,11753,9010,9752,10805,10338,11190,10750,10708,12489,12904,12950,11123, 10705,10616,8986,14107,13506,11235,11216,12941,10818,31106,1 2476,11951,12363,11544,11067,11534,11980,11709,10765,11147,1 0873,10970,11726,11119,10775,11780,12343,13098,12615,12790,1 0794,11144,12698,13855,13137,12396,10971,12085,13142,29278,1 2874,13496,13151,12708,12505,10515,9982,10110,9883,9687,1064 1,10899,10513,9948,9885,10573,7807,10218,11314,10749,11022,1 1133,10697,10294,11288,11115,8114,9364,10308,28494,8786,1124 9,11913,11774,12409,13288,12369,11681,11319,11402,10929,1204 3,12540,13292,13490,13149,13797,13858,14737,14607,14331,1456 4,12183,13580,11448,10271,10285,11285,9210,26459,10331,11038,14130,15156,13330,14587,14574,14217,12256,11247,9761,10684, 10049,11178,10881,10122,10911,11036,11254,12558,13251,13286, 13264,13276,12107,12418,12088,11178,11337,24525,9651,10029,1 0542,10987,10391,10336,9674,8960,10312,10262,10967,10846,107 58,10961,12361,12516,10760,10072,9608,9883,10452,10218,9691, 9403,9326,9421,8636,9578,9950,23711,11427,12099,11643,11177, 11786,12914,15258,16807,18862,19315,18799,19767,15869,15771, 13366,14238,13196,17803,20947,20938,20302,21273,23927,22763, 21242,22183,19795,23711,18951,43787,20868,21750,21976,24037, 24528,24831,24249,21167,20932,20143,24477,16516,20241,22495, 25438,25269,26435,17921,19784,24119,26064,26342,21836,17681, 20602,22030,22848,23277,22502,45781,14661,19359,18430,16623, 18240,14352,17137,18796,18626,16799,15646,21259,22197,18583, 22628,25014,23053,21356,21428,22351,21949,19129,16436,21768, 25520,24413,24244,21886,17520; //Generate byte 010101; String s ="0100000101000001010000010100000101000001010000010100000101 000001010000010100000101000001010000010100000101000001010000 010100000101000001010000010100000101000001010000010100000101 000001010000010100000101000001010000010100000101000001010000 010100000101000001010000010100000101000001010000010100000101 000001010000010100000101000001010000010100000101000001010000 010100000101000001010000010100000101000001010000010100000101 000001"

; 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 "); is = sc.openinputstream(); os = sc.openoutputstream(); boolean sending =false;

sb.tostring()); 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 - " 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()); "urutan" frame:"i); si.settext("mengirim paket catch (Exception ioe) { ioe.printstacktrace(); urutan; try { Thread.sleep(30);//1000 milliseconds is one second. catch(interruptedexception ex) { Thread.currentThread().interrupt(); urutan;

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() {

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); System.out.println ("Waiting for return packet");

//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);

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();