tidak mencukupi untuk melakukan tahap pemeliharaan ini.
diperlukan oleh sebuah server untuk melakukan sesi presentasi. 5. Mengakhiri sesi prensentasi
HASIL DAN PEMBAHASAN 1
Analisis Kebutuhan
1.1 Kebutuhan Fungsional Fungsi-fungsi yang terdapat pada perangkat lunak IOSS (IPB Open Screen Sharing) dapat dilihat pada Gambar 14. Gambar ini menunjukkan bahwa sistem IOSS berinteraksi dengan dua aktor, yaitu : 1. Penyaji Aktor penyaji merupakan perwujudan dari manusia. Aktor ini memiliki kontak langsung secara fisik dengan sistem. Aktor yang bertidak sebagai penyaji adalah orang yang ingin melakukan presentasi dalam sebuah laboratorium komputer. 2. Pengamat Aktor pengamat merupakan perwujudan dari seorang manusia, peran dari aktor ini adalah mengamati presentasi yang dilakukan oleh penyaji. Aktor pengamat adalah setiap orang yang menjadi peserta presentasi. Seperti yang terlihat pada Gambar 14, diagram use-case ini memiliki sembilan buah use-case. Berikut adalah penjelasan rinci mengenai use-case tersebut : 1. Mengatur listen port Use-case ini memungkinkan aktor penyaji menentukan port mana yang dipergunakan untuk sesi presentasi. 2. Mengatur frame rate
Fungsi yang ditawarkan oleh use-case ini ialah melakukan tindakan-tindakan yang harus dilakukan oleh perangkat lunak sebelum mengakhiri sesi presentasi. 6. Mengatur listen port tujuan Melalui fungsi yang diberikan oleh use-case ini, seorang penyaji menyesuaikan nomor port yang dipergunakan untuk melakukan sesi pengamatan presentasi. 7. Mengatur alamat server Fungsi yang diberikan oleh use-case ini adalah mengatur alamat host yang digunakan oleh penyaji sebagai server video. 8. Memulai pengamatan Aktor pengamat dimungkinkan untuk melakukan pengamatan melalui fungsi yang ditawarkan oleh use-case ini. Usecase ini melakukan inisiasi yang diperlukan bagi sebuah client untuk melakukan sesi pengamatan presentasi. 9. Mengakhiri pengamatan Sebelum mengakhiri sesi pengamatan presentasi, tentunya ada hal-hal yang harus dilakukan oleh perangkat lunak IOSS. Melalui fungsi yang dimiliki oleh use-case ini proses-proses tersebut dilakukan. Sequence diagram untuk use-case pada sisi server ditunjukkan oleh Lampiran 2 dan Lampiran 3 sedangkan untuk use-case pada sisi client ditunjukkan oleh Lampiran 4.
Fungsi yang ditawarkan use-case ini adalah memungkinkan aktor penyaji menentukan frame rate berdasarkan kemampuan komputer yang dipergunakan untuk presentasi. 3. Mengatur kualitas video Melalui fungsi yang dimiliki use-case ini aktor penyaji mempertimbangkan dan menentukan jumlah frame rate video berdasarkan kemampuan server dan jaringan komputer yang digunakan. 4. Memulai sesi presentasi Aktor penyaji memulai sesi presentasi melalui fungsi yang dimiliki oleh use-case ini, use-case ini melakukan inisiasi yang
10
melalui port IO yang diterima melaui jaringan komputer dari host yang terhubungkan. 1.3.2 Antarmuka minimum
perangkat
keras
Kebutuhan antarmuka perangkat keras yang dibutuhkan oleh perangkat lunak ini adalah : -
Pc
-
Keyboard
-
Mouse
-
Monitor
-
Network interface card, dapat berupa Ethernet ataupun wireless LAN.
1.3.3 Antarmuka perangkat lunak Untuk dapat berjalan dengan baik, perangkat lunak ini membutuhkan Java running environment (JRE) v 1.6.0_22-b04. Versi ini merupakan versi perangkat lunak IOSS ini dikembangkan dan dijalankan dengan baik. Gambar 14 Use-case yang dimiliki perangkat lunak IOSS. 1.2 Kebutuhan Non-Fungsional Kebutuhan non-fungsional perangkat lunak IOSS dijelaskan oleh Tabel 2. Tabel 2 Kebutuhan non-fungsional No.
Parameter
Kebutuhan
1
Real-time
Menerima jumlah frame gambar sesuai dengan nilai frame rate telah ditentukan.
2
Reliability
Menampilkan gambar video dengan baik, dengan atau tanpa kompresi, dan dalam urutan yang sesuai.
2
Rancangan
2.1 Rancangan Sistem Rancangan sistem dilakukan dengan mengacu pada kebutuhan fungsional yang ada pada digram use-case. Perangkat lunak IOSS dibagi menjadi dua subsistem, yaitu : 1. Server Subsistem server berfungsi untuk melayani seluruh fungsi yang dibutuhkan untuk melakukan penyediaan layanan screen capture. Fungsi yang disediakan mencakup menginisiasi proses screen capture, mengelola permintaan layanan oleh client, langkah komunikasi yang harus dilakukan hingga bagaimana mengakhiri sesi layanan screen sharing.
1.3 Kebutuhan Antarmuka Eksternal
2. Client Fungsi yang disediakan oleh subsistem client mencakup inisiasi proses sebelum melakukan permintaan layanan pengamatan presentasi ke server, mengolah data gambar hingga bagaimana cara mengakhiri sesi pengamatan presentasi.
1.3.1 Antarmuka Pengguna
2.2 Rancangan Antarmuka Pengguna
Antarmuka pengguna perangkat lunak IOSS ditampilkan pada modus grafik. Dimana masukan diterima melalui masukan mouse dan keyboard. Selain itu masukan juga diterima
Perangkat lunak IOSS dibuat sesederhana dan sesedikit mungkin penggunanya melakukan pengaturan sistem. Salah satunya adalah menggunakan antarmuka pengguna berbasiskan GUI (Graphical User Interface)
3
Bahasa
Menggunakan standar bahasa inggris.
4
Availability
24 jam sehari, 7 hari seminggu.
11
daripada menggunakan berbasiskan CLI (Commad Line Inteface). Tampilan perangkat lunak IOSS terdiri atas sebuah jendela aplikasi utama, yang terdiri atas server tab dan client. Berdasarkan masing-masing penggunanya, server tab digunakan oleh penyaji presentasi sedangkan client tab digunakan oleh pengamat presentasi. Server tab seperti terlihat pada Gambar 15 terdiri beberapa masukan. Masukan yang pertama adalah text field untuk masukan nomor port yang diformat sehingga hanya dapat menerima masukan berupa karakter numerik dan tidak dapat menerima nilai negatif ataupun bilangan desimal/bentuk pecahan. Nilai yang dapat dimasukkan ke dalam field nomor port dibatasi tidak lebih besar dari 65535, yaitu jumlah port yang terdapat pada komputer. Jika pengguna mengisi nilai lebih dari 65535 atau port yang digunakan sedang digunakan oleh aplikasi lain, maka sistem akan mengeluarkan jendela peringatan kesalahan.
diformat agar hanya dapat menerima masukan karakter numerik saja sehingga masukan berupa nilai negatif atau nilai desimal/pecahan tidak dapat diterima oleh masukan ini. Jenis masukan tombol dalam client tab dapat berubah fungsi sesuai dengan state perangkat lunak, yaitu memulai sesi pengamatan presentasi saat perangkat lunak idle dan menghentikan sesi presentasi saat perangkat lunak sedang menjalakan sesi presentasi.
Gambar 16 Antarmuka client tab. 1. Desain kelas
Gambar 15 Antarmuka server tab. Untuk kemudahan dan keabsahan nilai masukan pada frame rate dan video quality digunakan komponen masukan yang sudah ditentukan nilainya, yaitu menggunakan model masukan combo box. Jenis masukan yang terakhir yang hadir dalam perangkat lunak IOSS adalah tombol. Komponen masukan tombol dapat berubah fungsi sesuai dengan state dari perangkat lunak, yaitu memulai sesi presentasi saat perangkat lunak idle dan mengakhiri sesi presentasi saat perangkat lunak berjalan. Berikutnya adalah client tab, ditunjukkan oleh Gambar 16. Tab ini berisikan tiga buah jenis masukan, yaitu text field nomor port tujuan dan alamat tujuan. Masukan pada field nomor port tujuan diatur dengan pengaturan yang sama dengan masukan field nomor port pada server tab. Seperti jenis masukan field sebelumnya, field untuk server address
Menurut Irwanto (2006), mengurai sistem ke dalam subsistem merupakan sebuah strategi yang paling efektif untuk mengatasi kompleksitas dan meningkatkan portabilitas, selain itu hal ini juga berguna untuk menghindari riffle effect dalam proses pengkodean. Penguraian sistem dalam desain diterapkan menggunakan sistem package, yaitu kelas yang memiliki kesamaan fungsi akan ditempatkan ke dalam package yang sama. Seperti yang terlihat pada Gambar 17, package IOSS merupakan package paling atas (root package). Package ini membawahi tiga package yang membagi kelas berdasarkan fungsi control, model dan view. Untuk lebih memudahkan penamaan dan membatasi pengelompokan kelas lebih rinci, masingmasing package tersebut dibagi lagi ke dalam dua sub-pakcage, yaitu client dan server. Package control merupakan kumpulan kelas-kelas yang bertanggung jawab atas pengendalian IO, pengelolaan thread dan proses pengambilan gambar (screen capture). Kelas-kelas yang berkaitan dengan fungsionalitas pengelolaan data dikumpulkan ke dalam package model, sedangkan package yang terakhir, view, bertanggung jawab terhadap proses tampilan GUI dan pengelolaan data gambar ke dalam bentuk yang dapat dikenali oleh mata manusia.
12
Gambar 17 Struktur package.
Gambar 18 Diagram kelas pada sisi server.
Kebutuhan kelas yang dibuat pada perangkat lunak IOSS secara umum dibedakan menjadi dua, yaitu kelas yang menyediakan kebutuhan client dan server.
Sedang pada sisi client, dibutuhkan kelas yang menyediakan fungsi pengelolaan sambungan jaringan dan pengelolaan dan penampilan gambar. Fungsi penampilan gambar dipenuhi oleh kelas ClientMachine dan kebutuhan fungsi mengelola dan menampilkan kelas VideoFrame dan VideoPanel. Diagram kelas pada sisi client ditunjukkan oleh Gambar 19.
Pada sisi server, dibutuhkan kelas yang dapat menyediakan kebutuhan fungsi pengolaan gambar, pengelolaan sambungan pada jaringan dan pengelolaan thread yang melayani client. Pemenuhan ketiga kebutuhan tersebut diatasi oleh kelas ScreenCapture yang menyediakan kebutuhan pengelolaan gambar, kelas ServerMachine yang menyediakan kebutuhan pengelolaan sambungan pada jaringan dan kelas ServerMachineThread yang menyediakan pengelolaan thread yang berfungsi melayani client. Berikut pada Gambar 18 digambarkan diagram kelas pada sisi server.
Gambar 19 Diagram kelas pada sisi client.
13
Kebutuhan akan fungsi pengiriman dan penerimaan data dibutuhkan baik dari sisi client maupun server. Untuk kebutuhan ini, kelas ThreadOutputStream menyediakan fungsi pengiriman sedangkan ThreadInputStream menangani penyediaan kebutuhan penerimaan. Kedua kelas ini mengimplementasikan interface Runnable, yaitu interface yang diimplementasikan agar suatu kelas dapat diperlakukan sebagai sebuah thread.
melayani client. Baris kode pembangunan sambungan pada sisi server dapat dilihat pada Gambar 20.
Selain itu, terdapat beberapa kebutuhan kelas lainnya yang tidak terkait dari segi model client-server, yaitu kebutuhan kelas yang menangani properti dan antarmuka perangkat lunak. Pemenuhan pengelolaan GUI dilakukan oleh kelas MainGUI dan ClientList, sedangkan fungsi yang mengatur properti perangkat lunak dilakukan oleh kelas Settings.
Gambar 20 Baris kode pembangunan sambungan pada sisi server.
3
Paket data gambar yang dikirim, sebelumnya diubah dari tipe data BufferedImage ke dalam tipe data byte array, pengubahan diperlukan karena pengiriman menggunakan kelas ObjectOutputStream hanya dapat dilakukan dalam bentuk tipe data primitif, misalnya integer, float, double, char dan string.
Implementasi dalam bahasa pemrograman
3.1 Pemrograman Soket Mengacu pada desain dan kebutuhan perangkat lunak screen sharing dapat disimpulkan bahwa model layanan yang diterapkan dalam perangkat lunak IOSS adalah client-server, yaitu terdapat sebuah host yang menyediakan layanan penyedia gambar dan kemudian mengirimkan layanan video kepada host yang memintanya. Penerapan fungsi pengiriman dan penerimaan informasi dilakukan melalui implementasi kelas ThreadInputStream dan ThreadOutputStream. Kelas ThreadInputStream merupakan kelas yang menyediakan penerimaan data dari soket, dan sebaliknya kelas ThreadOutputStream merupakan kelas yang menyediakan fungsi yang bertanggung jawab menyediakan penulisan data ke dalam socket. Pada sisi server, yaitu kelas ServerMachine, penerapan kode dilakukan dengan menerapkan objek kelas ServerSocket yang berguna mengikat sebuah port yang digunakan sebagai listening port untuk layanan screen capture, ServerSocket akan menunggu dan mengikat client yang meminta layanan hingga akhirnya perangkat lunak dimatikan. Saat client terhubung, ServerSocket akan mengembalikan objek kelas Socket, objek ini kemudian diberikan kepada kelas ServerMachineThread untuk digunakan
// pada sisi kelas ServerMachine ServerSocket aServerSocket= null; aServerSocket = new ServerSocket( nomor_port); aSocket = aServerSocket.accept(); // pada sisi kelas ServerMachineThread aThreadOutputStream = new ThreadOutputStream (aSocket); aThreadInputStream = new ThreadInputStream (aSocket);
Di dalam kelasServerMachineThread, object kelas Socket kemudian dilewatkan ke dalam parameter kelas ThreadOutputStream dan ThreadInputStream untuk digunakan mendapatkan input dan output stream milik server yang terhubung dengan input dan output stream milik client.
Tipe data byte dipilih karena panjang satu byte cukup dan tidak berlebihan untuk menyimpan sebuah komponen warna dalam ruang warna RGB (Red Green Blue). Dalam ruang warna RGB, sebuah komponen warna memiliki jangkauan nilai sebesar nol hingga 255. Oleh karena itu, untuk memenuhi jangkauan nilai tersebut, pengunaan tipe data byte adalah sesuai. Ukuran data yang dihasilkan dari kelas ScreenCapture untuk monitor dengan resolusi sebesar 800 x 600 pixel berkisar antara 282092 - 356921 byte. Ukuran tersebut didapat tanpa menggunakan fungsi kompresi gambar, gambar berformat JPEG tak terkompresi. Untuk dapat melakukan pengiriman dengan baik, protokol pengiriman yang dibutuhkan tanpa mempertimbangkan kinerja yang dihasilkan adalah TCP. Pemilihan TCP sebagai protokol pengiriman karena kemampuannya yang dapat mengirim data berukuran besar. Mengacu pada UDP header pada Gambar 3, pada bagian UDP length dapat dilihat bahwa ukuran data yang dapat didukung oleh sebuah paket UDP adalah sebesar 16 bit atau sebesar
14
65535 byte. Maka dari itu, penggunaan protokol UDP dapat dikatakan kurang tepat.
Sisi server ServerMachine
Pada TCP, Gambar 4, tidak seperti UDP yang tidak menyediakan segmentasi data, data frame gambar dibagi kedalam ukuran yang lebih kecil dan masing-masing urutan data tersebut ditandai pada sequence number. Dengan demikian data tersebut dapat kembali disusun dalam urutan awal. Dengan alasan kemampuannya untuk mengirim data yang besar TCP dipilih sebagai protokol pengiriman dalam perangkat lunak IOSS. Dari sisi client, perapan kode dilakukan melalui fungsi-fungsi yang ada pada kelas ClientMachine. Objek kelas ClientMachine membangun sambungan ke server melalui objek kelas Socket. Objek kelas Socket yang terbentuk dari proses sambungan kemudian dilewatkan ke dalam parameter kelas ThreadOutputStream dan ThreadInputStream untuk diproses menghasilkan output dan input stream milik client yang terhubung dengan output dan input stream milik server. Kode pembangunan sambungan pada sisi client digambarkan oleh Gambar 21. // pada sisi kelas ClientMachine Socket aSocket = null; aSocket = new Socket(ServerAddress, port); aThreadOutputStream = new ThreadOutputStream (aSocket); aThreadInputStream = new ThreadInputStream (aSocket);
Gambar 21 Baris kode pembangunan sambungan pada sisi client. 3.2 Multithreading Dalam sistem yang besar atau memiliki banyak subsistem, konkurensi memainkan peranan yang penting untuk meningkatkan kinerja. Atas dasar kebutuhan pengguna untuk menyediakan layanan screen sharing yang real-time maka perangkat lunak ini diterapkan dengan prinsip konkurensi. Penggunaan multithreading server sebagai strategi konkurensi dikarenakan sifatnya yang ringan dan proses switch yang cepat. Hal lain yang menjadi kelebihan dibandingkan multiproses adalah thread menggunakan sumber daya yang lebih sedikit (Davis et al 2004). Gambaran multithreading server pada IOSS diilustrasikan oleh Gambar 22.
ServerMachine Thread
ClientMachine ne
ServerMachine Thread
ClientMachine ne
Gambar 22 Multithreading pada IOSS. Pemrograman multithreading dalam bahasa pemrograman Java dilakukan dengan mengimplementasikan interface Runnable atau dapat juga dilakukan dengan membuat kelas yang menjadi turunan dari kelas Thread. Kelas kelas yang diterapkan dengan multithreading adalah kelas yang berada di bawah package control. Konkurensi dalam perangkat lunak ini dibagi menjadi dua, yaitu berkaitan dengan antar subsistem (antar objek kelas) dan yang menangani request client. Pada konkurensi antar subsistem, perangkat lunak yang menyediakan fungsi screen sharing dalam sebuah server akan memiliki tugas mengambil gambar, menunggu request dari client, mengirim gambar kepada client yang terhubung serta meng-update antarmuka perangkat lunak. Tugas-tugas tersebut haruslah dilakukan secara bersamaan, jika tidak kebutuhan sistem yang real-time tidak dapat dipenuhi dengan baik. Konkurensi terjadi pada objek ServerMachine yang membawahi objek-objek kelas ServerMachineThread. Objek ServerMachine bertindak sebagai thread utama yang membuat objek baru ServerMachineThread dan menugaskannya untuk mengirim data frame kepada sebuah client. Saat sambungan terhadap sebuah client terputus atau sesi presentasi selesai, objek ServerMachineThread dihentikan kemudian dimusnahkan oleh parent thread-nya, ServerMachine, sehingga sumber daya yang dipergunakan oleh child thread, ServerMachineThread, dapat dibebaskan dan dipergunakan oleh proses yang lain. Gambar 23 mengilustrasikan proses yang berjalan secara konkuren pada IOSS.
15
pada laboratorium komputer. Topologi LAN pada pengujian diilustrasikan oleh Gambar 24.
Sisi server ServerMachine (menunggu request)
memulai ScreenCapture (mengambil frame)
mengirim request
mengirim frame ServerMachineThread (mengirim data) mengirim frame
ClientMachine (mengirim request)
ClientMachine (mengirim request)
Gambar 23 Kelas-kelas yang berjalan secara konkuren. 4
Pengujian
Pengambilan data pengujian dilakukan dalam tiga kali perulangan untuk melihat konsistensi data yang dihasilkan. Data frame rate dan bandwidth diambil dalam selang waktu 10 detik sedangkan data response time diambil 10 kali percobaan request dalam setiap perulangan. Hal ini dimaksudkan agar data yang dihasilkan tidak terlalu sulit untuk diamati dan terlalu besar sehingga membebani kinerja perangkat pendukung. Pengujian yang dilakukan menggunakan perhitungan waktu dilakukan dengan menggunakan fungsi yang tersedia pada kelas MyTimerClass. Video quality (kompresi gambar) yang dipergunakan dalam pengujian adalah sebesar 50%. Untuk menjaga konsistensi pengujian, spesifikasi perangkat lunak dan perangkat keras yang digunakan disamakan. Spesifikasi perangkat keras komputer yang digunakan adalah sebagai berikut : acer veriton M275 prosesor Intel core 2 duo e7500 @2.93 GHz RAM 2048 MB Ethernet 100 Mbps Sistem operasi pada komputer yang digunakan yaitu Linux Ubuntu 10.10 Maveric Meerkat. Topologi jaringan yang dipergunakan dalam pengujian adalah topologi jaringan yang mewakili sebuah LAN
Gambar 24 Topologi jaringan pada pengujian. 4.1 Response Time Response time terhadap satu client tercepat terjadi pada perulangan pertama pengaturan frame rate sistem sebesar 30 fps dengan waktu 51 ms sedangkan yang tertinggi terjadi pada perulangan ketiga dengan pengaturan frame rate sistem sebesar 70 fps dengan nilai sebesar 185 ms. Rata-rata response time yang terjadi pada satu client dapat dilihat pada Gambar 25. Response time (ms) 84 82 80 78 76 74 72 70 68
82.2
73.3
Pengaturan frame rate sistem 30 fps
Pengaturan frame rate sistem 50 fps
74.5
Pengaturan frame rate sistem 70 fps
Gambar 25 Rata-rata response time satu client. Rata-rata response time dengan lima request client secara bersamaan dapat dilihat pada Gambar 26. Response time tercepat pada lima client adalah sebesar 54 ms, yaitu terjadi pada perulangan ketiga pengaturan frame rate 50 fps, sedangkan response time terbesar
16
terjadi pada perulangan ketiga pengaturan frame rate 50 fps dengan waktu sebesar 1063 ms. Response time (ms) 200 180 160 140 120 100 80 60 40 20 0
173.1
175.3
Pengaturan frame rate sistem 50 fps
Pengaturan frame rate sistem 70 fps
122
Pengaturan frame rate sistem 30 fps
Gambar 26 Rata-rata response time lima client. Gambar 27 menujukkan sebuah rata-rata response time dengan client terhubung sebanyak 10 client. Response time tercepat pada 10 client adalah sebesar 36 ms yang terjadi pada percobaan ketiga pengaturan frame rate sistem sebesar 30 fps sedangkan yang terlama terjadi pada percobaan pertama frame rate sistem sebesar 30 fps dengan waktu respon sebesar 3625 ms. Response time (ms) 400 350 300 250 200 150 100 50 0
350.3 284.7
Pengaturan frame rate sistem 30 fps
Pengaturan frame rate sistem 50 fps
276.6
Pengaturan frame rate sistem 70 fps
Gambar 27 Rata-rata response time 10 client. Mengacu pada tiga gambar sebelumnya, Gambar 25, Gambar 26 dan Gambar 27, terlihat bahwa pola data yang ada adalah tidak berpengaruhnya nilai response time terhadap pengaturan frame rate sistem yang digunakan. Selain itu seiring bertambahnya client yang terhubung dengan server akan memperlambat response time. Namun begitu nilai response time pada jumlah client yang lebih besar tidak selamanya selalu besar dibandingkan dengan nilai response time terhadap jumlah client
yang lebih kecil, yaitu dapat dilihat dari adanya ada nilai response time terkecil yang muncul pada reponse time 10 client. Rata-rata response time yang muncul dari pengujian satu client, lima client dan 10 client masih berada di bawah nilai satu detik. Menurut Nielsen (1993) kisaran response time sistem satu detik berada dalam wilayah dimana pengguna akan merasakan respon sistem yang tidak terputus walaupun pengguna tetap merasakan delay tetapi sistem tidak perlu memberikan umpan balik yang khusus selama delay tersebut. 4.2 Frame rate Rata-rata frame rate yang diterima untuk satu client dalam tiga perulangan dapat dikatakan konsisten, yaitu mendekati nilai sebesar 26 fps. Jumlah frame rate terkecil yang diterima client adalah sebesar 22 fps yang muncul pada pengaturan frame rate sistem sebesar 70 fps dan yang terbesar adalah 28 fps, terjadi di hampir di setiap pengaturan frame rate sistem yang digunakan. Nilai ratarata frame rate untuk satu pengguna dapat dilihat pada Gambar 28. Frame per second (fps) 26.8 26.7 26.6 26.5 26.4 26.3 26.2 26.1 26 25.9 25.8 25.7
26.7
26.2 26
Pengaturan frame rate sistem 30 fps
Pengaturan frame rate sistem 50 fps
Pengaturan frame rate sistem 70 fps
Gambar 28 Rata-rata frame rate pada satu client. Jumlah frame terkecil yang diterima oleh client pada lima client adalah 11 fps, muncul pada pengaturan sistem dengan nilai frame rate 70 fps. Nilai pada lima client terbesar adalah 29 fps, muncul pada pengaturan frame rate sistem sebesar 50 fps. Pengaruh pengaturan frame rate sistem terhadap jumlah frame rate seperti yang terlihat pada Gambar 29 tidaklah memiliki pengaruh dan masih jauh dari harapan, yaitu harapan tercapainya penerimaan masingmasing client sebesar 50 fps.
17
penerimaan frame rate terkecil di setiap jumlah client sedangkan pengaturan frame rate sistem 50 memunculkan nilai penerimaan frame rate terbesar disetiap jumlah client.
Frame per second (fps) 24 23.5 23 22.5 22 21.5 21 20.5 20 19.5 19
23.3 22.1 20.6
Pengaturan frame rate sistem 30 fps
Pengaturan frame rate sistem 50 fps
Pengaturan frame rate sistem 70 fps
Gambar 29 Rata-rata frame rate pada lima client. Dibandingkan dengan jumlah client sebelumnya, 10 client memiliki nilai penerimaan frame rate terkecil yang paling ekstrim, sebesar nol fps yang muncul pada setiap pengaturan frame rate, sedangkan terbesarnya bernilai 22 fps, muncul pada pengaturan frame rate sistem sebesar 50 fps. Pada 10 client, pengaturan nilai frame rate sistem terhadap rata-rata frame yang diterima oleh client tidak memiliki pengaruh dan masih jauh dari harapan penerimaan. Rata-rata frame yang diterima pada 10 client terlihat pada Gambar 30. Pada gambar tersebut terlihat dari tiga pengaturan frame rate yang digunakan, jumlah rata-rata frame yang diterima client adalah konsisten sebesar 10.6 fps. Frame per second (fps) 12
10.6
10.6
10.6
10 8 6 4 2 0 Pengaturan frame rate sistem 30 fps
Pengaturan frame rate sistem 50 fps
Pengaturan frame rate sistem 70 fps
Gambar 30 Rata-rata frame rate pada 10 client. Dengan melihat keseluruhan data frame rate yang ada pada Gambar 28, Gambar 29, dan Gambar 30, terlihat dua buah pola. Pola pertama adalah pengaturan frame rate pada IOSS tidak memberikan peningkatan penerimaan jumlah frame yang berarti tetapi jumlah client yang terhubung memiliki pengaruh besar. Pola kedua adalah pengaturan frame rate sistem 70 fps menyumbang nilai
Terlihat pada paragraf sebelumnya bahwa nilai frame rate yang diterima client masih jauh dari harapan. Jauhnya nilai penerimaan frame rate oleh client ini diduga disebabkan oleh faktor kurang cepatnya kinerja bahasa pemrograman dan kecepatan perangkat keras yang digunakan seperti kecepatan mesin melakukan buffer data yang akan dikirim, konversi dari format data Image ke Byte, bandwidth jaringan yang tersedia atau hal lainnya. Namun begitu tidak menutup kemungkinan disebabkan oleh desain algoritme yang kurang tepat. 4.3 Bandwith Data penggunaan bandwidth diambil melalui penangkapan paket data yang keluar dan masuk pada port yang dipergunakan server untuk menerima dan mengirim data. Untuk menangkap data digunakan fungsi IO graph pada perangkat lunak wireshark. Selanjutnya fungsi IO graph akan menampilkan jumlah data yang keluar dan masuk melalui port yang diatur pada selang waktu dijalankannya perangkat lunak IOSS. Pemakaian bandwidth terkecil pada satu client adalah sebesar 303.3 Kb, muncul pada pengaturan frame rate sistem sebesar 30 fps dan terbesar adalah 37.9 Mb pada pengaturan frame rate sistem sebesar 70 fps. Dengan mengacu pada Gambar 31, terlihat kecenderungan pola yang dihasilkan adalah terdapat perbedaan yang kurang berarti antara pemakaian bandwidth yang dihasilkan pada pengaturan frame rate yang digunakan dan terjadipenurunan bandwidth yang dipakai pada pengaturan frame rate sebesar 70 fps. Bandwidth (Mbps) 29.5
29.3 29
29 28.5 28
27.6
27.5 27 26.5 Pengaturan frame rate sistem 30 fps
Pengaturan frame rate sistem 50 fps
Pengaturan frame rate sistem 70 fps
Gambar 31 Rata-rata bandwidth terpakai pada satu client.
18
Pada pengguna lima client, besar pemakaian bandwidth terkecil adalah sebesar 3.2 Kb, muncul pada pengaturan frame rate sistem sebesar 30 fps, sedangkan pemakaian terbesar adalah sebesar 100.2 Mb, muncul pada pengaturan frame rate sistem sebesar 70 fps. Gambar 32 mengilustrasikan penggunaan bandwidth pada lima client. Berbeda dari satu client, pola penggunaan bandwidth pada lima client tidak memperlihatkan perbedaan penggunaan bandwidth yang besar di antara tiga pengaturan frame rate yang digunakan. Namun begitu, pola penggunaan bandwidth yang ada cenderung semakin naik seiring dengan ditingkatkannya pengaturan frame rate sistem. Bandwidth (Mbps) 94 92 90 88 86 84 82 80
93.2 90.3
85.4
Pengaturan frame rate sistem 30 fps
Pengaturan frame rate sistem 50 fps
Pengaturan frame rate sistem 70 fps
Gambar 32 Rata-rata bandwidth terpakai pada lima client. Pemakaian bandwidth pada 10 client memiliki nilai terkecil adalah sebesar 5.4 Mb sedangkan pemakaian bandwidth terbesar adalah sebesar 100.2 Mb. Pemakaian bandwidth terkecil dan terbesar tersebut terjadi pada pengaturan frame rate sistem sebesar 70 fps dan pada 30 fps. Gambar 33 menunjukkan rata-rata pemakaian bandwidth pada 10 client. Dari Gambar 33 dapat dilihat pola pemakaian bandwidth yang terbentuk pada 10 client, yaitu jumlah bandwidth yang dipakai tidak cenderung memiliki banyak perbedaan dari tiga pengaturan bandwidth yang digunakan.
Bandwidth (Mbps) 92.5 92 91.5 91 90.5 90 89.5 89 88.5
92.3
90.6 90
Pengaturan frame rate sistem 30 fps
Pengaturan frame rate sistem 50 fps
Pengaturan frame rate sistem 70 fps
Gambar 33 Rata-rata bandwidth terpakai pada 10 client. Dari gambar sebelumnya, Gambar 31, Gambar 32 dan Gambar 33, terlihat bahwa pengaturan frame rate sistem tidak banyak memberikan pengaruh besar bagi pemakaian bandwidth melainkan jumlah pengguna. Pada jumlah satu client, bandwidth yang terpakai adalah dalam kisaran 29 Mb dengan nilai tertinggi sebesar 39.7 Mb. Dengan menggunakan nilai pada satu client, nilai bandwidth rata-rata dan tertinggi pada lima client haruslah berkisar 145 Mb dan 198.5 Mb, sedangkan pada 10 client nilai ini akan berkisar sebesar 290 Mb dan 397 Mb. Namun besar bandwidth terpakai yang muncul pada lima dan 10 client adalah berbeda yaitu hannya mencapai kisaran sebsar 90 Mb. Hal ini diduga bahwa pada lima client jumlah badwidth yang digunakan hampir mencapai puncak kinerja yang dapat dilakukan oleh perangkat pendukung, sehingga pada 10 client kinerja bandwidth tidak dapat naik lagi secara signifikan. Jumlah pemakaian bandwidth yang tercatat pada pengujian, seperti yang terlihat juga pada ketiga gambar pengujian bandwidth, adalah tidak berpola. Hal ini diduga juga dipengaruhi oleh lingkungan layar monitor pengujian yang memiliki gambar yang dinamis. Sehingga memunculkan gambar monitor yang tercapture dan kompresi dengan nilai yang dengan ukuran bervariasi setiap waktunya.
KESIMPULAN DAN SARAN Kesimpulan Dari hasil pengujian kinerja yang dilakukan diperoleh kesimpulan sebagai berikut : 1. Jumlah client terhubung yang lebih besar tidak selalu menghasilkan nilai response
19