LAMPIRAN
Lampiran I
Berikut ini adalah kode program transmisi video yang diinstall pada sisi
user.
import java.io.*;
import java.net.*;
class UDPSender {
public static void main(String args[]) throws Exception
{// while(true){
int [] dataVideo = {15876, 1223, 1116, 937, 1163, 1168, 1079, 1234, 1290, 1388, 1230, 1383, 1727, 2016, 2387, 3010, 3526, 3753, 3946, 3897, 3644, 3300, 2789, 2589, 2693, 15972, 2341, 2909, 3210, 3332, 3530, 3382, 2901, 2758, 2863, 3144, 3062, 3210, 3146, 3069, 2991, 2682, 2374, 2166, 2321, 2424, 2615, 2792, 2608, 2232, 15720, 1337, 1737, 1976, 2239, 2319, 2237, 1736, 2459, 2549, 2671, 2726, 2502, 2455, 2356, 2288, 2766, 2765, 2963, 3265, 3501, 3721, 3551, 3340, 2431, 16039, 2528, 3128, 3341, 3389, 3362, 2842, 2484, 2367, 2598, 3100, 3227, 3086, 2946, 2969, 2837, 2889, 2903, 2840, 2906, 3069, 2908, 2585, 1939, 2137, 15854, 2075, 2082, 2266, 3021, 3207, 3105, 2759, 3022, 2975, 2649, 2626, 2694, 2477, 2514, 2386, 2080, 1863, 1510, 1284, 1246, 1547, 1936, 1803, 1782, 15721, 1947, 1818, 1926, 2366, 2263, 2422, 2312, 2140, 2410, 3180, 3467, 3386, 3129, 2779, 2929, 2575, 2293, 2094, 2134, 2182, 2020, 2088, 1895, 2071, 16002, 2279, 2653, 2690, 2772, 2738, 2934, 2950, 2707, 2728, 2422, 2513, 2694, 2659, 2464, 1983, 1758, 1848, 1876, 1699, 1649, 1646, 1513, 1285, 1234, 15859, 1662, 1981, 2216, 2243, 2110, 1898, 1952, 1802, 1636, 1603, 1701, 1992, 1981, 1753, 2121, 1595, 1353, 1258, 1458, 1636, 1528, 1707, 1992, 2030, 15761, 1759, 1961, 1878, 1794, 1827, 1943, 2398, 2685, 2619, 2545, 2667, 2691, 2846, 2889, 3043, 3042, 3033, 3055, 2997, 2961, 2787, 2787, 2705, 2713, 16075, 2249, 2192, 2414, 2170, 1914, 2120, 2178, 2208, 2514, 2795, 2929, 2811, 2866, 2532, 2367, 2776, 2861, 2610, 2559, 2647, 2466, 2514, 2621, 2837, 15921, 2378, 2668, 2728, 2559, 2338, 1816, 1941, 2589, 3033, 2864, 2856, 2754, 2566, 2008, 1560, 1869, 2154, 2165, 2004, 1936, 2010, 2006, 1956, 2133, 15895, 2510, 3269, 3357, 3239, 3101, 2946, 2764, 2743, 2770, 2740, 2717, 2456, 2209, 2399, 2646, 2650, 2347, 2080, 2291, 2569, 2567, 2124, 2127, 1880};
//Generate dummy bytes: 1024 bytes;
String s = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
+"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
+"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
+"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"; int seq=0; try {
String serverHostname = new String ("169.254.145.14");
if (args.length > 0)
serverHostname = args[0];
DatagramSocket clientSocket = new DatagramSocket();
InetAddress IPAddress = InetAddress.getByName(serverHostname);
System.out.println ("Attemping to connect to"+IPAddress+") via UDP port 9999");
byte[] sendData = new byte[1024];
byte[] receiveData = new byte[1024];
int jumlahPerulahan=5;
for(int j=0;j<jumlahPerulahan;j++){
sendData = str.getBytes();
DatagramPacket sendPacket =
new DatagramPacket(sendData, sendData.length, IPAddress, 9999);
clientSocket.send(sendPacket);
seq++;
}
Thread.sleep(40);
}
}
clientSocket.close();
}
catch (UnknownHostException ex) {
System.err.println(ex);
}
catch (IOException ex) {
System.err.println(ex);
}
}
Lampiran II
Berikut ini adalah kode pogram transmisi video yang diinstall pada sisi
server.
import java.io.*;
import java.net.*;
class UDPReceiver {
public static void main(String args[]) throws Exception
{
try
{
DatagramSocket serverSocket = new DatagramSocket(9877);
byte[] receiveData = new byte[1024];
while(true)
{
double time =System.currentTimeMillis();
receiveData = new byte[1024];
DatagramPacket receivePacket =
new DatagramPacket(receiveData, receiveData.length);
serverSocket.receive(receivePacket);
String sentence = new String(receivePacket.getData());
System.out.println("RecTime: "+time+" "+sentence);
InetAddress IPAddress = receivePacket.getAddress();
int port = receivePacket.getPort();
}
}
catch (SocketException ex) {
System.out.println("UDP Port 9877 is occupied.");
System.exit(1);
Lampiran III
Langkah
–
langkah percobaan model transmisi Decodable Frame Rate pada
jaringan 802.11g
1.
Konfigurasi Jarigan 802.11g
Konfigurasi dilakukan untuk membuat salah satu laptop menjadi akses point
atau server, untuk itu kita perlu mengetikan perintah berikut pada
command
prompt
:
netsh wlan set hostednetwork mode=allow ssid=mulia key=qwerty1234
Perintah tersebut berfungsi untuk membuat
access point
dengan nama “mulia”
dan
security key
adalah qwerty1234. Maka
access point
berhasil dibuat,
sehingga muncul tampilan
command prompt
seperti pada Gambar 1.
Gambar 1 Pembuatan
access point
pada laptop
server
Kemudian untuk mengaktifkan
access point
tersebut dapat dilakukan dengan
mengetikan perintah:
netsh wlan start hostednetwork
Gambar 2 Aktifkan
access point
pada
server
Setelah konfigurasi wireless berhasil dilakukan, setiap laptop user dapat
dihubungkan ke server, seperti yang ditunjukan pada gambar 3
Gambar 3 Hubungkan seluruh
user
ke
server
2.
Install UDP Receiver pada sisi Server dan UDP Sender pada sisi User
Setelah semua
user
terhubung ke
server,
kemudian kita memasang program
streamer
video
UDP Receiver
pada sisi
server dan UDP Sender
pada sisi
Gambar 4a UDP
Sender
pada sisi
user
Untuk UDP
Receiver
kita menggunakan program pada Lampiran II dengan
menggunakan NetBeans IDE, seperti pada Gambar 4b.
Gambar 4b UDP
Reciver
pada sisi
server
3.
Masukan Data Video ke Program Pengiriman Video pada sisi User
Data video kita peroleh dari video Akiyo_cif.yuv menggunakan Evalvid pada
Gambar 5 Direktori Evalvid pada
command prompt
Setelah masuk ke dalam direktori Evalvid, ketikan perintah berikut:
xvid_encraw i akiyo_cif.yuv w 352 h 288 framerate 30
-max_key_interval 30 -o a01.m4v
(Untuk membagi video akiyo dengan lebar 32 dan panjang 288 dengan
frame rate 30).
MP4Box -hint -mtu 1024 -fps 30 -add a01.m4v a01.mp4
(Menambahkan 1024 byte dengan 30 frame per sekon).
mp4trace -f -s 192.168.0.2 12346 a01.mp4 > st_a01
(Mengirimkan himted mp4 file udp/tcp ke host tujuan dan menghasilkan
data video dengan nama “st_a01” dalam bentuk .txt seperti yang
Gambar 7 Masukan data video pada UDP sender
4.
Jalankan program
streamer
video pada sisi Server dan pada sisi
User
Untuk dapat menjalankan program
streamer
, terlebih dahulu harus
memasukan alamat IP
server
dan
port
UDP yang digunakan masing
–
masing
pada program UDP sender.
Setelah alamat IP dan
port
UDP ditentukan, maka kita dapat menjalankan
program UDP
receiver
terlebih dahulu untuk membuka
port
UDP, agar
user
dapat mengirimkan data video ke
server
. Hal ini dilakukan secara bertahap
mulai dari skenario I hingga skenario VI.
5.
Catat waktu kirim, waktu terima, urutan paket dan nomor
Frame
Setelah kita menjalankan program
streamer
video tersebut, kita dapat
memperoleh data berupa, waktu terima, waktu kirim, urutan paket dan juga
nomor
frame
seperti pada Gambar 8