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" 35
+"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++){ for (int i=0; i<datavideo.length;i++){ int packetnumber= (int)math.ceil((double)datavideo[i]/1024); for(int x=0;x<packetnumber;x++){ System.out.println("Sending packet: "+seq+" Frame: "+i); double time =System.currentTimeMillis(); "+time+""+s; String str= "Seq: "+seq+ "Frame: "+i+ "SendTime: 36
senddata = str.getbytes(); DatagramPacket sendpacket = IPAddress, 9999); new DatagramPacket(sendData, senddata.length, clientsocket.send(sendpacket); seq++; Thread.sleep(40); clientsocket.close(); catch (UnknownHostException ex) { System.err.println(ex); catch (IOException ex) { System.err.println(ex); 37
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); 38
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 Maka access point berhasil diaktifkan, sehingga muncul tampilan command prompt seperti pada Gambar 2. 39
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 user. Untuk UDP Sender kita menggunakan program pada Lampiran I dengan menggunakan NetBeans IDE, seperti pada Gambar 4a. 40
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 command prompt seperti yang ditunjukkan pada Gambar 5. 41
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 ditunjukan pada Gambar 6). Gambar 6 Data video Kemudian masukan data video (yang berada pada kotak merah) ke dalam program UDP sender seperti yang ditunjukkan pada Gambar 7. 42
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 Gambar 8 Hasil data percobaan dari program streamer video 43
Lampiran IV Berikut ini adalah dokumentasi proses percobaan yang dilakukan di Gedung Magister Teknik Elektro,. 44