33
PENGEMBANGAN SISTEM IOSS (IPB OPEN SCREEN SHARING) MENGGUNAKAN BAHASA PEMROGRAMAN JAVA MOCHAMMAD ISA DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2011

Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

Embed Size (px)

Citation preview

Page 1: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

PENGEMBANGAN SISTEM IOSS (IPB OPEN SCREEN

SHARING) MENGGUNAKAN BAHASA PEMROGRAMAN JAVA

MOCHAMMAD ISA

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

BOGOR

2011

Page 2: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

ABSTRACT

MOCHAMMAD ISA, IOSS (IPB Open Screen Sharing) System Development using Java

Programming Language. Supervised by Hendra Rahmawan, S.Kom, M.T.

Screen sharing application on LAN equipped room has a potential to replace projector duty. NetOp

School is one of many softwares which has screen sharing feature. However, NetOp School is a

shareware software and not open source. IOSS (IPB Open Screen Sharing) is an open source screen

sharing software built from Java object oriented programming language. This screen sharing software

implemens multithreading in which one thread used to serve one client connection and one thread

implemens one class which is needed to run real time and independently from another classes activity.

The socket programming implementation in IOSS is using TCP protocol and client-server

architecture. IOSS uses JPEG as standard image format used for screen sharing.

IOSS test result showed that size of connected client does not always gain slow response time. It

was shown from the fastest and slowest response time, respectively, 36 ms and 3625 ms which is

occurred in client size of 10 and system frame rate setting used was 30 fps. The performance shown

by IOSS is still far from what is expected. This can be shown by highest and lowest frame rate

received by one client, respectively, is 29 fps and zero fps. Bandwidth used by IOSS reachs peak on

100.2 Mbps, occurred on client size of 10 and system setting used was 70 fps. Response time, frame

rate received by client and bandwidth used is not correlated to system frame settings yet size of

connected client.

Keywords : screen sharing, NetOp school, open source, LAN (local area network), projector.

Page 3: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

PENGEMBANGAN SISTEM IOSS (IPB OPEN SCREEN

SHARING) MENGGUNAKAN BAHASA PEMROGRAMAN JAVA

MOCHAMMAD ISA

Skripsi

Sebagai salah satu syarat untuk memperoleh gelar

Sarjana Komputer pada

Departemen Ilmu Komputer

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN

ALAM INSTITUT PERTANIAN BOGOR

BOGOR

2011

Page 4: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

Judul : Pengembangan Sistem IOSS (IPB Open Screen Sharing) Menggunakan

Bahasa Pemrograman Java

Nama : Mochammad Isa

NIM : G64051593

Menyetujui :

Pembimbing

Hendra Rahmawan, S.Kom, M.T.

NIP 19820501 200912 1 004

Mengetahui :

Ketua Departemen Ilmu Komputer

Institut Pertanian Bogor

Dr. Ir. Sri Nurdiati, M.Sc.

NIP 19601126 198601 2 001

Tanggal Lulus :

Page 5: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

RIWAYAT HIDUP

Penulis dilahirkan di Jakarta pada tanggal 9 Maret 1988. Penulis merupakan anak pertama dari dua

bersaudara dari pasangan Ayah Usman Bc.an dan Ibu Siti Nurhasanah.

Penulis menyelesaikan pendidikan dasar pada SDN 04 Pagi Jakarta Timur pada tahun 1999 dan

pendidikan menengah pertama di SMPN 92 Jakarta Timur pada 2005. Pada tahun 2005 penulis

menyelesaikan pendidikan tingkat atas di SMAN 36 Jakarta Timur. Di tahun yang sama penulis

diterima di Institut Pertanian Bogor melalui jalur seleksi Penerimaan Mahasiswa Baru (SPMB).

Setelah melalui seleksi Mayor-Minor pada tahun 2006, penulis diterima pada Departemen Ilmu

Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam.

Pada tahun 2008 penulis melaksanakan kegiatan praktik kerja lapang selama satu bulan di P.T.

Telekomunikasi Indonesia Tbk. Divisi Fixed Wireless Network. Selama mengikuti pendidikan di

Perguruan Tinggi penulis aktif dalam UKM Merpati Putih dan mewakili IPB dalam beberapa

kejuaraan silat antar mahasiswa tingkat nasional. Pada tahun 2009 hingga 2011 penulis menjadi

asisten pelatih UKM Merpati Putih.

Page 6: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

PRAKATA

Alhamdulillahi Rabbil ‘alamin, segala puji lagi Maha Suci Allah Tuhan Semesta Alam penulis

panjatkan atas segala curahan cinta-Nya sehingga tugas akhir ini dapat diselesaikan. Tema penelitian

yang dipilih adalah pemgembangan sistem open source, dengan judul yang berjudul Pengembangan

sistem IOSS (IPB Open Screen Sharing) Menggunakan Bahasa Pemrograman Java.

Dalam penyelesaian tugas akhir ini penulis tidak lepas dari dukungan dari berbagai pihak. Oleh

karena itu segenap terima kasih penulis ucapkan kepada pihak-pihak yang telah memberikan bantuan

baik moril maupun materil, antara lain :

1. Keluarga tercinta, Ayahanda Usman Bc.an, Ibunda Siti Nurhasanah dan adik kecilku Nurvita

Aisah atas segala doa, cinta, kasih sayang dan kesabarannya.

2. Bapak Hendra Rahmawan, S.Kom.,M.T. selaku pembimbing atas arahan dan bimbingannya

selama pengerjaan tugas akhir,

3. Bapak Heru Sukoco, S.Si., M.T. atas bimbingan dan arahannya.

4. Ibu Ir. Sri Wahjuni, M.T. dan Bapak Endang Purnama Giri, S.Kom., M.Kom. selaku penguji

sidang.

5. Fifi Gusdwiyanti yang selalu menjadi semangat dan sahabat terbaik dalam senang dan susah,

6. Teman-teman seperjuangan ilkom 42 yang tak henti-henti menyemangati, Windy, Fuad Jabar,

Wawan, Priyo, Fahri, Dika, dan lainya yang tidak dapat disebutkan satu persatu,

7. Teman-teman Merpati Putih yang selalu menyemangati tanpa kenal lelah, Bena, Genny, Dewi,

Mas Sandi, Mas Teta, dan lainya yang tidak dapat disebutkan satu persatu,

8. Teman-teman ilkom 44, Rochyat dan Gamma atas kesediaannya sebagai pembahas, Woro atas

jarkomnya,

9. Teman-teman Cyber Merpati, mas Agus dan Bang Tahir, atas kesediannya meminjamkan

Cyber Merpati dan bertukar pikiran.

Penulis juga mengucapkan terima kasih kepada semua pihak yang telah membantu selama

pengerjaan tugas akhir ini yang tidak dapat disebutkan satu-persatu. Semoga penelitian ini dapat

memberikan manfaat.

Bogor, Agustus 2011

Mochammad Isa

Page 7: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

vii

DAFTAR ISI

Halaman

DAFTAR TABEL ......................................................................................................................... viii

DAFTAR GAMBAR ..................................................................................................................... viii

DAFTAR LAMPIRAN .................................................................................................................. viii

PENDAHULUAN ............................................................................................................................ 1

Latar Belakang ......................................................................................................................... 1

Tujuan ...................................................................................................................................... 1

Manfaat Penelitian ................................................................................................................... 1

Ruang Lingkup ......................................................................................................................... 1

TINJAUAN PUSTAKA ................................................................................................................... 1

Jaringan Komputer ................................................................................................................... 1

Model Referensi OSI ............................................................................................................... 2

Model Referensi TCP/IP .......................................................................................................... 3

Protokol Jaringan ..................................................................................................................... 4

UDP ......................................................................................................................................... 4

TCP .......................................................................................................................................... 4

Java .......................................................................................................................................... 5

JPEG ........................................................................................................................................ 5

Response Time.......................................................................................................................... 5

Bandwidth ................................................................................................................................ 6

Frame Rate ............................................................................................................................... 6

Open Source ............................................................................................................................. 6

Strategi Layanan pada Arsitektur Client-Server....................................................................... 6

METODOLOGI PENELITIAN ........................................................................................................ 8

Definisi Kebutuhan .................................................................................................................. 8

Desain Sistem dan Perangkat Lunak ........................................................................................ 8

Implementasi dan Pengujian Unit ............................................................................................ 9

Integrasi dan Pengujian Sistem ................................................................................................ 9

Pemakaian dan Perawatan ........................................................................................................ 9

HASIL DAN PEMBAHASAN....................................................................................................... 10

1 Analisis Kebutuhan ............................................................................................................ 10

2 Rancangan ......................................................................................................................... 11

3 Implementasi dalam Bahasa Pemrograman ....................................................................... 14

4 Pengujian ........................................................................................................................... 16

KESIMPULAN DAN SARAN....................................................................................................... 19

Kesimpulan ............................................................................................................................ 19

Saran ...................................................................................................................................... 20

DAFTAR PUSTAKA ..................................................................................................................... 20

Page 8: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

viii

DAFTAR TABEL

Halaman

1. Skenario pengambilan data. .......................................................................................................... 9

2. Kebutuhan non-fungsional .......................................................................................................... 11

DAFTAR GAMBAR

Halaman

1. Osi Layer (Garcia dan Widjaja 2001). ........................................................................................ 3

2. Model referensi TCP/IP. .............................................................................................................. 4

3. Format datagram UDP (Cisco Network Academy 2003). ........................................................... 4

4. Format segmen TCP (Cisco Network Academy 2003). ............................................................... 5

5. Three way handshake (Garcia dan Widjaja 2003). ...................................................................... 5

6. Aplikasi server dengan Multiplexing. .......................................................................................... 6

7. Aplikasi server dengan forking. .................................................................................................. 7

8. Aplikasi server dengan preforking. .............................................................................................. 7

9. Aplikasi server dengan preforking. .............................................................................................. 7

10. Aplikasi server dengan preforking. ........................................................................................... 7

11. Aplikasi server dengan kombinasi reforking dan prethreading. ................................................ 8

12. Tahapan-tahapan pada model proses waterfall (Somerville 2006). ........................................... 8

13. Response time. ........................................................................................................................... 9

14. Use-case yang dimiliki perangkat lunak IOSS. ...................................................................... 11

15. Antarmuka server tab. ............................................................................................................. 12

16. Antarmuka client tab. .............................................................................................................. 12

17. Struktur package. ..................................................................................................................... 13

18. Diagram kelas pada sisi server. ............................................................................................... 13

19. Diagram kelas pada sisi client. ................................................................................................. 13

20. Baris kode pembangunan sambungan pada sisi server. ........................................................... 14

21. Baris kode pembangunan sambungan pada sisi client. ........................................................... 15

22. Multithreading pada IOSS. ..................................................................................................... 15

23. Kelas-kelas yang berjalan secara konkuren. ............................................................................ 16

24. Topologi jaringan pada pengujian............................................................................................ 16

25. Rata-rata response time satu client........................................................................................... 16

26. Rata-rata response time lima client. ......................................................................................... 17

27. Rata-rata response time 10 client. ............................................................................................ 17

28. Rata-rata frame rate pada satu client. ...................................................................................... 17

29. Rata-rata frame rate pada lima client. ..................................................................................... 18

30. Rata-rata frame rate pada10 client. .......................................................................................... 18

31. Rata-rata bandwidth terpakai pada satu client. ....................................................................... 18

32. Rata-rata bandwidth terpakai pada lima client. ....................................................................... 19

33. Rata-rata bandwidth terpakai pada 10 client. ......................................................................... 19

DAFTAR LAMPIRAN

Halaman

1. Tabel harga Netop School Juni 2011. ....................................................................................... 22

2. Sequence diagram server 01 ...................................................................................................... 23

3. Sequence diagram server 02 ...................................................................................................... 24

4. Sequence diagram client 01 ....................................................................................................... 25

Page 9: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

1

PENDAHULUAN

Latar Belakang

Dalam bukunya, the encyclopedia of

komputer network, Feibel (1996) menyatakan

bahwa sebuah jaringan komputer terdiri atas

node atau station. Komputer-komputer

tersebut dihubungkan melalui sebuah medium

komunikasi fisik dengan tujuan agar dapat

berbagi sumberdaya, berkomunikasi atau

bertukar informasi. Jaringan komunikasi yang

terbentuk, selanjutnya disebut sebagai jaringan

komputer, memungkinkan pengguna untuk

dapat saling berinteraksi secara efektif dan

efisien dari segi sumber daya untuk

mempertukarkan informasi serta layanan

tambahan (Sukoco 2008).

Sejak awal ditemukan hingga saat ini,

jaringan komputer memainkan peranan yang

penting, terutama dalam bidang komunikasi.

Namun demikian penggunaannya dalam

bidang pendidikan memainkan peranan yang

penting, yaitu penerapannya ke dalam

laboratorium komputer untuk meningkatkan

efektifitas kegiatan belajar-mengajar. Belajar-

mengajar dapat ditingkatkan melalui

kentungan yang diberikan penggunaan

jaringan komputer, yaitu kemudahan

penyampaian informasi dan kecepatan dalam

berbagi sumber daya yang mengatasi

rintangan jarak dan tempat.

NetOP School merupakan salah satu

perangkat lunak edukasi yang memanfaatkan

pemakaian jaringan komputer. Perangkat

lunak ini dikembangkan untuk kegiatan

belajar-mengajar dalam lingkungan

laboratorium komputer. Perangkat lunak

NetOP School memiliki sifat berbayar dan

tidak dapat didistribusikan secara bebas. Oleh

sebab itu, hanya lembaga pendidikan yang

memiliki keuangan yang mencukupi yang

dapat membelinya. Daftar harga NetOP

School yang diambil beberapa situs web pada

bulan Juni 2011 dapat dilihat pada Lampiran

1.

Salah satu fitur yang dimiliki NetOP

School adalah screen sharing. Fitur ini

mencakup fungsi-fungsi yang meliputi

pengambilan gambar, kompresi gambar,

pengiriman gambar melalui jaringan

komputer, dan menampilkan gambar pada

komputer klien. Fungsi screen sharing

diharapkan dapat digunakan sebagai pengganti

proyektor pada laboratorium komputer,

sehingga dapat memberikan efek

penghematan dari sisi keuangan karena tidak

perlu membeli proyektor.

Tujuan

Tujuan penelitian ini adalah membuat

perangkat lunak screen sharing yang memiliki

sifat yang open source serta multiplatform.

Diharapkan perangkat lunak ini dapat

dikembangkan lebih lanjut oleh berbagai

kalangan di masyarakat luas pada umumnya

dan dalam lingkup IPB khususnya.

Manfaat Penelitian

Pada penelitian ini akan dibuat sebuah

perangkat lunak yang mendukung fungsi

screen sharing, sehingga diharapkan dapat

menjadi alternatif yang ekonomis yang dapat

menggantikan penggunaan proyektor dalam

sebuah ruangan yang dilengkapi LAN (Local

Area Network).

Ruang Lingkup

Berikut adalah beberapa batasan yang

menjadi ruang lingkup penelitian ini, yaitu :

- Digunakan bahasa pemrograman yang

open-source yaitu Java.

- Cakupan jaringan komputer yang

dipergunakan adalah LAN pada

laboratorium komputer.

- Fungsi yang dikembangkan adalah screen

sharing yang diacu pada kebutuhan

pengguna yang ada pada perangkat lunak

NetOp School.

TINJAUAN PUSTAKA

Jaringan Komputer

Jaringan komputer terdiri atas node atau

station. Node dalam jaringan komputer

merupakan komputer namun dapat juga

berupa perangkat komunikasi lainnya yang

secara langsung bertatap muka dengan

pengguna. Node yang terhubung dengan

jaringan dapat berkomunikasi dengan cara

tertentu. Dengan menjalankan perangkat lunak

tertentu, sebuah komputer dapat menginisiasi

dan mengelola interaksi pada jaringan (Feibel

1996).

Berdasarkan cakupannya, Tanenbaum

(2003) mengelompokkan jaringan komputer

menjadi beberapa kategori :

Page 10: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

2

1. LAN (Local Area Network)

Merupakan sebuah jaringan komputer

yang biasanya memiliki cakupan wilayah

meliputi sebuah gedung, kampus atau

laboratorium. Biasanya LAN memiliki

ukuran satu kilometer.

2. MAN (Metropolitan Area Network)

Pada umumnya jaringan ini mencakup

wilayah sebuah kota atau berukuran sekitar

10 km.

3. WAN (Wide Area Network)

Jaringan ini mencakup wilayah

geografi yang luas. WAN mencakup

wilayah sebuah negara hingga sebuah

benua atau berukuran 100 hingga 1000

km.

Dalam hubungan interaksinya pada

jaringan, sebuah komputer dapat bertindak

sebagai sebuah server atau workstation/client.

Sebuah client membuat permintaan sedangkan

server memenuhi permintaan tersebut. Server

mengatur jaringan dengan memberikan

sumber daya yang sesuai kepada client

(Tanenbaum 2003).

Berikut adalah beberapa istilah yang

dijelaskan Feibel (1996) untuk

menggambarkan hubungan antar node dalam

sebuah jaringan :

1. Peer to peer

Setiap node dapat menjadi client atau

server.

2. Distributed

Sebuah jaringan yang tidak memiliki

pengatur, dimana setiap node dapat

berinteraksi dengan node lainnya. Dalam

jaringan ini, server hanyalah sebuah node

yang menyediakan layanan namun tidak

mengatur aktivitas jaringan.

3. Server based

Merupakan model jaringan dengan

sebuah komputer yang didedikasikan

sebagai file server, mengelola jaringan,

memberikan izin akses terhadap suatu

sumber daya kepada client.

4. Client/server

Merupakan versi canggih dari jaringan

server based. Client bisa mendapatkan

akses ke seluruh jenis sumber daya, namun

hampir keseluruhan pekerjaan dilakukan

oleh client. Server menyediakan sumber

daya (misal berupa download file atau

aplikasi) dan kemudian client

menjalankannya.

Model Referensi OSI

ISO (International Standard

Oraganization) mengembangkan sebuah

model referensi tujuh lapis yang disebut OSI

(Open Layer Sistem), ditunjukkan oleh

Gambar 1, untuk menggambarkan bagaimana

menyambungkan setiap kombinasi alat untuk

tujuan komunikasi. Model ini mendefinisikan

tugas dalam istilah tujuh lapisan fungsional

dan menentukan fungsi yang harus disediakan

di setiap lapisannya (Feibel 1996). Garcia dan

Widjaja (2001) memberikan penjelasan lebih

rinci mengenai fungsi-fungsi yang disediakan

oleh ke tujuh lapisan model referensi OSI

sebagai berikut :

1. Aplikasi

Merupakan lapisan yang bertanggung

jawab untuk menyediakan layanan

komunikasi terhadap aplikasi. Permisalan

layanan pada lapisan aplikasi adalah

penggunaan protokol HTTP untuk

mengakses dokumen www.

Beberapa protokol yang disediakan

oleh lapisan ini adalah FTP untuk

pengiriman file, SMTP untuk surat

elektronik, DNS untuk layanan nama,

TELNET untuk akses jarak jauh, SNMP

untuk pengelolaan jaringan.

2. Presentasi

Layanan yang disediakan oleh lapisan

ini adalah menjadikan data yang

direpresentasi berbeda oleh mesin yang

berbeda dapat dimengerti satu sama lain.

Lapisan persentasi akan mengubah

informasi yang machine-dependent pada

mesin A menjadi informasi yang machine-

independent kemudian mengubah

informasi yang machine-independent

menjadi machine-dependent pada mesin B.

3. Session

Meningkatkan kehandalan pengiriman

data merupakan layanan yang disediakan

oleh lapisan ini. Lapisan ini memberikan

layanan flow control pada pengiriman data,

session control, sychronisation point untuk

pengendalian kerusakan/error.

4. Transport

Bertanggung jawab terhadap

pengiriman data end-to-end dari sebuah

Page 11: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

3

entitas session pada mesin sumber

terhadap sebuah entitas session pada mesin

tujuan. Protokol pada lapisan transport

mencakup pengiriman PDU lapisan

transport yang disebut dengan segment.

Lapisan ini bertanggung jawab terhadap

proses segmentasi dan reassembly atau

blocking dan unblocking untuk

mencocokkan ukuran pesan yang

dihasilkan lapisan session terhadap ukuran

paket yang dapat ditangani oleh lapisan

network.

Layanan berorientasi sambungan yang

diberikan oleh lapisan ini adalah

menyediakan sebuah pengiriman

serangkaian byte atau pesan yang bebas

kesalahan. Protokol berorientasi

sambungan tersebut adalah TCP. TCP

memberikan layanan perbaikan dan

pendeteksi kesalahan, pengendalian aliran

dan rangkaian.

Pada layanan yang tidak berorientasi

sambungan, lapisan ini menyediakan

pengiriman pesan tunggal. Dalam hal ini

lapisan ini menyediakan informasi alamat

sehingga pesan dapat disampaikan pada

entitas lapisan session tujuan yang tepat.

Protokol yang menyediakan layanan tidak

berorientasi sambungan adalah UDP.

Lapisan ini juga bertanggung jawab

terhadap pemutusan dan pembangunan

sambungan serta mengoptimalkan

penggunaan layanan dengan me-multiplex

sejumlah sambungan lapisan transport ke

dalam sebuah sambungan lapisan network

dan men-demultiplex sebuah sambungan

lapisan tranport ke sejumlah sambungan

lapisan network.

5. Network

Pengiriman data dilakukan lapisan ini

dalam bentuk paket. Lapisam ini

bertanggung jawab terhadap routing paket

dari mesin sumber ke tujuan. Dalam hal ini

routing berarti mencakup prosedur

pemilihan jalur pengiriman paket melintasi

jaringan. Layanan lain yang disediakan

untuk mendukung layanan pengiriman

adalah pendefinisian alamat yang dapat

digunakan saat data melintasi jaringan

yang berbeda.

6. Data Link

Lapisan ini menyediakan pengiriman

frame melintasi sambungan pengiriman

(transmission link) yang menghubungkan

dua node. Penyisipan informasi framing

untuk mengindikasikan batasan frame,

informasi pengendalian (control),

informasi alamat pada header dan check

bit, untuk pengendalian kesalahan dan flow

control.

7. Fisik

Layanan yang disediakan oleh lapisan fisik

adalah pengiriman bit melalui sambungan

komunikasi medium fisik, yaitu melalui

sepasang kawat tembaga, kabel coaxial,

sinyal radio, atau fiber optik. Lapisan ini

bertitik berat pada pemilihan dari

parameter sistem seperti level tegangan,

durasi sinyal, membangun dan melepaskan

sambungan fisik serta aspek mekanik

seperti jumlah pin dan tipe soket.

Gambar 1 Osi Layer (Garcia dan Widjaja

2001).

Model Referensi TCP/IP

Model referensi TCP/IP merupakan model

referensi pendahulu yang digunakan oleh

jaringan komputer yang pertama ada yaitu

ARPANET dan penerusnya saat ini, internet

di seluruh dunia.

Berawal dari kekhawatiran departemen

pertahanan Amerika terhadap hancurnya host,

router dan internetwork gateway yang

penting, model ini dirancang agar dapat

bertahan jika perangkat keras subnet rusak.

Dengan kata lain model ini diingikan agar

sambungan tetap berjalan selama mesin

sumber dan mesin tujuan dapat berjalan

bahkan jika sambungan transmisi yang

menghubungkan rusak.

Model referensi TCP/IP ditunjukkan oleh

Gambar 2. Tanenbaum menjelaskan rincian

setiap lapisan model referensi TCP/IP sebagai

berikut :

1. Aplikasi

Page 12: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

4

Lapisan ini mencakup protokol tingkat

yang lebih tinggi yang mencakup virtual

terminal (TELNET), pengiriman file

dengan FTP, surat elektronik/e-mail

dengna SMTP, layanan nama (DNS) dan

lainnya.

2. Transport

Seperti halnya pada model referensi OSI,

model ini juga dirancang agar entitas peer

sumber dengan tujuan yang dapat saling

berkomunikasi. Dua protokol yang

didefinisikan pada lapisan ini adalah UDP

dan TCP.

3. Internet

Lapisan ini mendefinisikan sebuah

protokol dan format yang disebut dengan

IP (internet protocol). Tugas dari lapisan

ini adalah melakukan routing paket,

menghindari congestion paket,

mengirimkan paket ke dalam jaringan

manapun dan berjalan secara bebas ke

tujuan.

4. Host-to-network

Lapisan ini menjelaskan bahwa

sekumpulan protokol harus digunakan agar

host dapat terhubung ke jaringan sehingga

dapat mengirim paket IP. Protokol host-to-

host dan host-to-network tidak

didefinisikan dan tidak bervariasi.

Gambar 2 Model referensi TCP/IP.

Protokol Jaringan

Protokol jaringan merupakan sebuah

gambaran formal dari sekumpulan aturan dan

konvensi yang mengatur sebuah aspek tertentu

tentang bagaimana alat-alat dalam sebuah

jaringan berkomunikasi. Menggunakan suatu

protokol berarti memilih dan mengatur format,

timing, sequencing dan pengendalian error

sesuai dengan suatu aturan yang telah

ditetapkan. Selain itu protokol juga

menentukan bagaimana jaringan fisik dibuat,

cara komputer terhubung ke jaringan, cara

memformat data untuk pengiriman, dan

bagaimana cara pengiriman datanya (Cisco

Network Academy 2003).

UDP

UDP merupakan protokol lapisan

transport yang tidak handal dan

connectionless. Merupakan protokol

sederhana yang menyediakan pengecekan

kesalahan dan demultiplexing. UDP

menambahkan mekanisme sehingga data

dapat diberikan kepada aplikasi yang tepat

pada sebuah host. Protokol ini menyediakan

pengecekan keseluruhan integritas datagram

UDP secara opsional. UDP menyediakan cara

untuk mengirim datagram IP tanpa terlebih

dahulu membuat sambungan. Seandainya

datagram UDP mengalami kerusakan atau

tidak terkirim maka datagram tersebut

diabaikan tanpa memberikan peringatan

terhadap entitas UDP pada mesin sumber

(Garcia dan Widjaja 2003).

Garcia dan Widjaja (2003) menyatakan

bahwa aplikasi yang menggunakan protokol

UDP mencakup protokol pengiriman file

trivial, layanan nama (DNS), protokol

pengelolaan jaringan (SNMP) dan protokol

real-time (RTP). Format datagram UDP

ditunjukkan oleh Gambar 3.

Gambar 3 Format datagram UDP (Cisco

Network Academy 2003).

TCP

Menurut Garcia dan Widjaja (2003) TCP

merupakan protokol yang sering digunakan

oleh sebagian besar aplikasi internet saat ini.

TCP menyediakan sambungan logis full-

duplex antara dua proses lapisan aplikasi

melalui sebuah jaringan datagram. Tidak

seperti protokol UDP, TCP menyediakan

layanan yang handal melalui perulangan

protokol ARQ (automatic repeat request)

secara selektif, penyusunan paket dalam

urutan yang benar, dan layanan byte-stream.

Selain itu protokol ini juga dilengkapi dengan

layanan flow control sehingga pihak pengirim

tidak mengirimkan informasi lebih dari jumlah

yang dapat ditangani oleh pihak penerima.

Seperti halnya UDP, TCP juga mendukung

terhadap pemakaian multipel aplikasi dalam

sebuah host. Format segmen TCP

diilustrasikan oleh Gambar 4.

Aplikasi

Host-to-network

Transport

Internet

Page 13: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

5

Gambar 4 Format segmen TCP (Cisco

Network Academy 2003).

Pada protokol ini, sebuah pembangunan

sambungan dibutuhkan sebuah kedua pihak

yang berkomunikasi sebelum dapat bertukar

informasi. Proses pembangunan sambungan

pada TCP disebut dengan three way

handshake yang diilustrasikan pada Gambar 5.

Berikut adalah penjelasan rinci mengenai

prosedur three way handshake:

1. Host A mengirim sebuah request

connection terhadap host B dengan

mengatur bit SYN dan mengatur sequence

number awal yang digunakan (Seq_no=x).

2. Host B menerima request connection

dengan mengatur bit ACK dan menandai

bit berikut yang diterima (Ack_no=x+1).

Pada saat yang sama juga melakukan

request dengan mengeatur bit SYN serta

sequence number awal yang digunakan

(Seq_no=y).

3. Host A membalas dengan mengatur bit

ACK dan mengkonfirmasi bit berikutnya

yang akan diterima (Seq_no=y+1).

Gambar 5 Three way handshake (Garcia dan

Widjaja 2003).

Java

Deitel dan Deitel (2001) mengatakan

bahwa Java merupakan sebuah bahasa

pemrograman berorientasi objek penuh (fully

object-oriented) dimana penerapannya tidak

dipungut biaya, legal untuk didistribusikan

ulang, dan open source.

Salah satu keunggulan Java adalah kaya

akan kelas-kelas yang sudah yang ada pada

pustaka kelas Java, sehingga programer dapat

memakai kembali suatu kelas tanpa harus

membuatnya terlebih dahulu. Kelas-kelas

yang ada disediakan terutama oleh vendor

kompilator tetapi pustaka kelas disediakan

oleh vendor perangkat lunak yang

independent, independent software vendor.

Selain pustaka yang disediakan oleh Java,

kelas-kelas pustaka juga dapat diperoleh dari

internet baik sebagai shareware maupun

freeware dan menggunakan kelas tersebut

berdasarkan ketentuan penggunan yang

ditentukan oleh pencipta kode tersebut (Deitel

dan Deitel 2001).

Keunggulan lain Java adalah

memungkinkan para programmer untuk

menulis kode tanpa harus mengetahui

lingkungan perangkat keras dan sistem operasi

berjalannya aplikasi yang akan dibuat (Deitel

dan Deitel 2001).

JPEG

JPEG, Joint Photographic Expert Group,

merupakan sebuah komite yang berada dalam

International Standard Organisation, ISO.

Penyebutan JPEG lazim digunakan untuk

mengacu sebuah nama standard ISO/IEC IS

10918-1 | ITU-T recommendation T.81 (JPEG

Comitee 2011).

Format file JPEG digunakan secara luas

pada kamera digital karena kemampuan

kompresi datanya yang tinggi dalam gambar

grafis berwarna, yang memungkinkan sebuah

gambar beresolusi tinggi disimpan ke dalam

memori kamera. Kompresi pada JPEG bersifat

loosy yang artinya informasi hilang saat

kompresi. Pada kompresi yang relatif rendah

(1:10 atau 10% dari ukuran gambar asli)

perubahan data gambar karena data loss masih

dapat diterima oleh indra penglihatan

manusia, sedangkan pada rasio kompresi yang

lebih tinggi (mendekati 1:100) gambar

terkompresi yang dihasilkan akan benar-benar

tergradasi.

JPEG memiliki kemampuan untuk

menyimpan hingga 256 warna atau delapan bit

membuat format ini secara khusus cocok

untuk seluk-beluk fotografi (Henderson 2009).

Response Time

Response time adalah jumlah waktu yang

dibutuhkan untuk sebuah aplikasi menanggapi

Page 14: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

6

sebuah request dari pengguna. Untuk

pengujian kinerja, salah satu yang dilakukan

adalah mengukur waktu respon sistem yang

merupakan selisih waktu antara pengguna

meminta tanggapan dari aplikasi dan jawaban

lengkap tiba di workstation pengguna

(Molyneaux 2009).

Bandwidth

Bandwidth mengacu pada jumlah data

yang dapat dibawa oleh suatu saluran

komunikasi. Diukur dengan satuan bit per

detik (bit persecond/bps) pada sinyal digital

dan hertz/Hz pada sinyal radio (Feibel 1996).

Frame Rate

Video atau film merupakan sebuah

kumpulan gambar, dimana gambar yang

ditampilkan setiap suatu waktu berbeda

dengan gambar yang ditampilkan pada waktu

sebelumnya. Rangkaian gambar yang

ditampilkan secara cepat kepada pengamat,

akan tampak menjadi gambar yang bergerak

dalam penglihatan pengamat. Satuan frame

dalam setiap detik disebut sebagai fps atau

frame per second (Simpson 2008).

Open Source

Merupakan hal yang umum bagi

programmer untuk berbagi dan

mengembangkan penggunaan program dimana

biasanya kode sumber program didistribusikan

secara bebas. Dengan keuntungan berbagi

tersebut, khalayak umum dapat dengan mudah

menciptakan dan mendistribusikan perangkat

lunak versi terbaru dengan kualitas yang lebih

baik (Henderson 2009).

Henderson (2009) mengacu pada Stallman

dan pendukung pergerakan open source

lainnya bahwa perangkat lunak tidak harus

gratis namun begitu pengguna butuh untuk

menerima kode sumber secara lengkap.

Pengguna juga bebas mengubah atau

meningkatkan untuk menciptakan dan

mendistribusikan versi aplikasi baru program

dengan mengikuti mekanisme legal Stallman

yang disebut copyleft.

Umumnya perangkat lunak yang open

source memiliki lisensi General Public

Liscense atau disingkat dengan GPL. Versi

terbaru dari GPL adalah GPL3.

Strategi Layanan pada Arsitektur Client-

Server

Server merupakan sebuah komputer yang

memberikan layanan sumber daya kepada

workstation/client yang melakukan request.

Pada umumnya, server dibutuhkan untuk

menangani banyak client dalam suatu waktu.

Banyaknya request yang terjadi secara

bersamaan menimbulkan perlunya sebuah

strategi penanganan khusus terhadap client,

sehingga sumber daya pada server tidak

dimonopoli oleh sebuah client dan seluruh

client dapat dilayani tanpa adanya delay yang

berarti ataupun ketidaktersediaan layanan

server. Davis et al. (2007) memberikan

beberapa strategi yang dapat digunakan untuk

menangani banyak client, yaitu :

1. Multiplexing

Merupakan suatu cara menangani

banyak sambungan client pada proses

server. Aplikasi memungkinkan client

terhubung ke server dan

menambahkannya ke dalam sebuah watch

list. Watch list merupakan sebuah array

dari socket descriptor. Selanjutnya sistem

operasi memberitahu aplikasi, client mana,

yang berada dalam watch list, yang akan

mendapat layanan. Pada multiplexing

client akan dilayani menggunakan metode

time slicing, yaitu sebuah sambungan

client akan dilayani hingga waktu

gilirannya berkhir. Jika pada waktu

gilirannya sebuah client tidak memiliki

tugas untuk proses server maka pelayanan

akan dialihkan kepada sambungan client

lainnya atau proses server akan menunggu

hingga waktu giliran client tersebut

berakhir.

Analogi dari multiplexing adalah

seperti restoran dengan seorang pelayan

yang bertanggung jawab melayani

pelanggan, dimana pelayan tersebut

memiliki sebuah daftar pelanggan yang

akan dilayani. Layanan hanya dilakukan

terhadap seorang pelanggan dalam suatu

waktu. Gambar 6 menunjukkan sebuah

aplikasi server dengan strategi

multiplexing.

Gambar 6 Aplikasi server dengan

Multiplexing.

2. Forking

Dalam lingkungan UNIX, fork

merupakan sebuah cara tradisional untuk

Proses

server

client

client

client

Page 15: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

7

menangani banyak client. Kembalian yang

dilakukan sistem call fork() adalah sebuah

ID proses (PID) dari child process yang

dihasilkan oleh pemanggilan fork(). Saat

fork() dipanggil, sebuah duplikat dari

proses pemanggil akan dibuat. Seluruh

properti dari proses induk (parent process)

akan digandakan, yaitu mencakup stack,

ruang data, dan seluruh descriptor yang

terbuka, kecuali PID proses pemanggil.

Sebuah aplikasi server dengan strategi

forking dilustrasikan oleh Gambar 7.

Gambar 7 Aplikasi server dengan forking.

3. Preforking

Menciptakan salinan sebuah proses

membutuhkan biaya kinerja yang cukup

besar, tambah lagi jika dilakukan pada

aplikasi yang besar. Biaya kinerja akan

semakin mahal seiring banyaknya jumlah

client yang terhubung dengan server.

Gambar 8 Aplikasi server dengan preforking.

Untuk mengurangi biaya kinerja yang

dipergunakan untuk menggandakan proses

induk digunakan strategi preforking, yaitu

dengan membuat proses anak dengan

jumlah tertentu pada saat aplikasi dimulai,

kemudian proses anak akan melayani

client yang terhubung. Gambar 8

mengilustrasikan sebuah aplikasi server

dengan preforking.

4. Multithreading

Thread merupakan proses yang ringan

yang berbagi memori dengan parent

process-nya. Dengan demikian, thread

menggunakan sumber daya yang lebih

rendah daripada sebuah aplikasi

multiproses serta memiliki kecepatan

switch yang cepat. Penggunaan thread

telah menjadi metode yang lebih disukai

untuk menangani banyak client. Gambar 9

menunjukkan sebuah aplikasi server yang

menggunakan strategi multithreading.

Gambar 9 Aplikasi server dengan preforking.

5. Prethreading

Prethreading memiliki tujuan yang

sama dengan preforking, yaitu mengurangi

biaya yang diakibatkan oleh penciptaan

thread baru. Strategi yang digunakan sama

seperti preforking yaitu dengan membuat

sejumlah thread anak pada saat aplikasi

dimulai, kemudian thread anak akan

melayani sambungan saat client terhubung

dengan server. Sebuah ilustrasi aplikasi

yang menggunakan preforking

diilustrasikan oleh Gambar 10.

thread proses

Gambar 10 Aplikasi server dengan

preforking.

6. Kombinasi preforking dan prethreading

Strategi ini menggabungkan kelebihan

yang dimiliki oleh multithreading dan

forking sehingga kekurangan masing-

masing metode dapat ditutupi. Thread

memiliki sifat yang hemat sumber daya

dan proses switch yang cepat namun dapat

menyebabkan thread lain crash jika salah

satu thread mengalamai crash, sedangkan

Proses

induk

Proses

anak

Proses

anak

client client

Proses

induk

Thread

server

Thread

server

client client

Proses

induk

Thread

server

Thread

server

Thread

server

client client

Proses

induk

Proses

server

Proses

server

Proses

server

client client Pool process

Page 16: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

8

proses memiliki kelebihan tidak

menyebabkan proses lain crash jika salah

satunya megalami crash namun

membutuhkan sumberdaya yang besar dan

proses switch lambat.

Gambar 11 Aplikasi server dengan

kombinasi reforking dan

prethreading.

Hasil dari penerapan strategi ini adalah

sebuah server yang memiliki switch yang

cepat dan tidak mudah crash. Ilustrasi

sebuah server dengan strategi kombinasi

preforking dan prethreading digambarkan

oleh Gambar 11.

METODOLOGI PENELITIAN

Untuk dapat menyelesaikan

pengembangan yang menghasilkan perangkat

lunak yang handal, sesuai kebutuhan, tepat

waktu, efektif serta efisien dibutuhkan sebuah

model proses pendekatan.

Pemilihan sebuah pendekatan yang

digunakan tentunya dipilih berdasarkan sifat

dari perangkat lunak yang akan

dikembangkan. Dalam pengembangan

perangkat lunak ini, model proses yang

dipergunakan adalah model proses waterfall,

terlihat pada Gambar 12.

Gambar 12 Tahapan-tahapan pada model

proses waterfall (Somerville

2006).

Definisi Kebutuhan

Tujuan dari tahap ini adalah untuk mencari

kebutuhan perangkat lunak yang diperlukan

oleh pengguna. Pada tahap ini, pola perilaku

perangkat lunak diidentifikasi berdasarkan

kebutuhan fungsional yang disediakan oleh

NetOP School.

Alternatif-alternatif solusi yang

dipergunakan dalam pengembangan

dipertimbangkan baik dari sisi kelebihan

maupun kekurangannya yang nantinya akan

berpengaruh pada sistem yang dihasilkan.

Selain itu ruang lingkup sistem yang

dikembangkan ditentukan pada tahap ini,

sehingga perangkat lunak yang dikembangkan

tidak berlebihan dan tidak kekurangan dalam

pemenuhan kebutuhan pengguna.

Desain Sistem dan Perangkat Lunak

Menurut Pressman (2001), proses desain

sebenarnya merupakan sebuah proses multi-

langkah pada empat atribut berbeda dalam

sebuah program : struktur data, arsitektur

perangkat lunak, representasi perangkat lunak

dan rinci prosedural (algoritmik).

Pada tahap ini dilakukan analisis dan

desain kelas-kelas yang dibutuhkan serta pola

interaksinya saat diintegrasikan menjadi

sebuah kesatuan sistem yang utuh. Hal-hal

lainnya yang dilakukan dalam tahapan ini

mencakup penentuan bahasa pemrograman

yang digunakan yang bersifat handal serta

open source. Selain itu pemilihan bahasa

pemrograman yang dibutuhkan adalah bahasa

Pedefinisian

kebutuhan

Desain sistem dan

perangkat lunak

Implementasi dan

pengujianunit

Integrasi dan

pengujian sistem

Pemakaian dan

pemeliharaan

Proses

induk

proses

anak

proses

anak

proses

anak

thread

server

thread

server

thread

server

thread

server

thread

server

thread

server

Page 17: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

9

yang memiliki dukungan multiplatform dan

memiliki jaringan komunitas yang luas. Untuk

alat pengembangan yang dipergunakan, akan

dipilih yang umum dan mendukung banyak

pustaka (library) pemrograman dan juga

mendukung metode pemrograman dan desain

yang akan diterapkan. Pada penentuan

topologi jaringan, yang nantinya akan

dipergunakan adalah yang optimal dan umum

digunakan.

Implementasi dan Pengujian Unit

Desain yang telah selesai dibuat di tahap

sebelumnya diimplementasikan ke dalam

bahasa pemrograman. Sistem dibuat dengan

menggunakan metode pemrograman

menggunakan bahasa pemrograman yang

sudah ditentukan, metode pemrograman

berorientasi objek menggunakan bahasa

pemrograman berdasarkan desain yang sudah

dibuat.

Kelas-kelas yang dibuat kemudian diuji

output dan logikanya. Apakah sudah

menghasilkan output yang dan apakah objek

dapat mentoleransi atau mengatasi jika nilai

yang masukan tidak seharusnya.

Integrasi dan Pengujian Sistem

Pengujian saat sistem sudah selesai

diintegrasikan merupakan hal yang sangat

penting dilakukan. Pengujian bertujuan untuk

mencari adanya kesalahan logika yang ada

dalam sistem serta pencarian kesalahan lain

yang mungkin mengganggu, dapat berakibat

fatal bagi kelangsungan berjalannya perangkat

lunak atau bahkan dapat merusak data atau

sistem komputer.

Pengujian yang akan dilakukan pada

perangkat lunak ini mencakup pengujian

kinerja sistem, sedangkan pengujian pada

logika algoritme tidak dilakukan. Skenario

pengujian kinerja sistem dapat dilihat pada

Tabel 1. Berikut adalah beberapa

pengujiankinerja perangkat lunak yang akan

dilakukan :

1. Response time

Tujuan dari pengujian ini adalah untuk

mengukur seberapa besar waktu yang

dibutuhkan oleh server untuk menjawab

request yang dilakukan client.

t1

t2

client server

t1 = waktu client mengirim request

t2 = waktu client menerima jawaban/frame

∆t = t2 – t1

Gambar 13 Response time.

Pada Gambar 13 terlihat bahwa untuk

mendapatkan waktu response time (Δt)

dibutuhkan waktu kirim (t1) dan waktu terima

jawaban (t2). Response time merupakan

selisih dari waktu client mengirim request dan

menerima jawaban dari server.

2. Frame rate

Pada hasil pengujian ini akan dilihat

seberapa akurat jumlah frame gambar yang

diterima oleh client dan apakah jumlah frame

rate yang terdapat pada pengaturan server

sama besarnya dengan jumlah frame yang

diterima oleh client.

3. Bandwith

Pengujian ini bertujuan untuk mengamati

penggunaan bandwitdh dan seberapa besar

pengaruh pertukaran data yang dilakukan

antara server dan client terhadap jaringan

yang digunakan.

Tabel 1 Skenario pengambilan data.

No Percobaan Frame rate

(fps)

Jumlah

client

1 Percobaan 1 30 1

2 Percobaan 2 30 5

3 Percobaan 3 30 10

4 Percobaan 4 50 1

5 Percobaan 5 50 5

6 Percobaan 6 50 10

7 Percobaan 7 70 1

8 Percobaan 8 70 5

9 Percobaan 9 70 10

Pemakaian dan Perawatan

Tahap terakhir dalam siklus hidup

perangkat lunak adalah pemakaian dan

pemeliharaan hingga akhirnya perangkat

lunak tersebut tidak lagi digunakan. Tahap

perawatan tidak dilakukan dalam siklus ini

dikarenakan batasan pengembangan serta

ketersediaan waktu yang dimiliki pengembang

Page 18: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

10

tidak mencukupi untuk melakukan tahap

pemeliharaan ini.

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 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

diperlukan oleh sebuah server untuk

melakukan sesi presentasi.

5. Mengakhiri sesi prensentasi

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. Use-

case 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.

Page 19: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

11

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.

3 Bahasa Menggunakan standar

bahasa inggris.

4 Availability 24 jam sehari, 7 hari

seminggu.

1.3 Kebutuhan Antarmuka Eksternal

1.3.1 Antarmuka Pengguna

Antarmuka pengguna perangkat lunak

IOSS ditampilkan pada modus grafik. Dimana

masukan diterima melalui masukan mouse dan

keyboard. Selain itu masukan juga diterima

melalui port IO yang diterima melaui jaringan

komputer dari host yang terhubungkan.

1.3.2 Antarmuka perangkat keras

minimum

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.

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.

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.

2.2 Rancangan Antarmuka Pengguna

Perangkat lunak IOSS dibuat sesederhana

dan sesedikit mungkin penggunanya

melakukan pengaturan sistem. Salah satunya

adalah menggunakan antarmuka pengguna

berbasiskan GUI (Graphical User Interface)

Page 20: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

12

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.

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

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

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, masing-

masing 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.

Page 21: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

13

Gambar 17 Struktur package.

Kebutuhan kelas yang dibuat pada

perangkat lunak IOSS secara umum dibedakan

menjadi dua, yaitu kelas yang menyediakan

kebutuhan client dan server.

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 18 Diagram kelas pada sisi 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.

Gambar 19 Diagram kelas pada sisi client.

Page 22: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

14

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.

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.

3 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

melayani client. Baris kode pembangunan

sambungan pada sisi server dapat dilihat pada

Gambar 20.

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

Gambar 20 Baris kode pembangunan

sambungan pada sisi server.

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.

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.

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

Page 23: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

15

65535 byte. Maka dari itu, penggunaan

protokol UDP dapat dikatakan kurang tepat.

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.

Sisi server

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.

ServerMachine

ClientMachine

ne

ServerMachine

Thread

ServerMachine

Thread

ClientMachine

ne

Page 24: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

16

Sisi server

memulai

mengirim mengirim

request frame

mengirim

frame

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

pada laboratorium komputer. Topologi LAN

pada pengujian diilustrasikan oleh Gambar

24.

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.

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

82.2

73.3 74.5

68

70

72

74

76

78

80

82

84

Response time (ms)

Pengaturan

frame rate

sistem 30 fps

Pengaturan

frame rate

sistem 50 fps

Pengaturan

frame rate

sistem 70 fps

ServerMachine

(menunggu

request)

ScreenCapture

(mengambil frame)

ClientMachine

(mengirim

request)

ClientMachine

(mengirim

request)

ServerMachineThread

(mengirim data)

Page 25: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

17

terjadi pada perulangan ketiga pengaturan

frame rate 50 fps dengan waktu sebesar 1063

ms.

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.

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 rata-

rata frame rate untuk satu pengguna dapat

dilihat pada Gambar 28.

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 masing-

masing client sebesar 50 fps.

122

173.1 175.3

020406080

100120140160180200

Response time (ms)

Pengaturan

frame rate

sistem 30 fps

Pengaturan

frame rate

sistem 50 fps

Pengaturan

frame rate

sistem 70 fps

350.3

284.7 276.6

0

50

100

150

200

250

300

350

400

Response time (ms)

Pengaturan

frame rate

sistem 30 fps

Pengaturan

frame rate

sistem 50 fps

Pengaturan

frame rate

sistem 70 fps

26.7

26.2

26

25.725.825.9

2626.126.226.326.426.526.626.726.8

Frame per second (fps)

Pengaturan

frame rate

sistem 30 fps

Pengaturan

frame rate

sistem 50 fps

Pengaturan

frame rate

sistem 70 fps

Page 26: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

18

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.

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

penerimaan frame rate terkecil di setiap

jumlah client sedangkan pengaturan frame

rate sistem 50 memunculkan nilai penerimaan

frame rate terbesar disetiap jumlah client.

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.

Gambar 31 Rata-rata bandwidth terpakai

pada satu client.

22.1

23.3

20.6

1919.5

2020.5

2121.5

2222.5

2323.5

24

Frame per second (fps)

Pengaturan

frame rate

sistem 30 fps

Pengaturan

frame rate

sistem 50

fps

Pengaturan

frame rate

sistem 70

fps

10.6 10.6 10.6

0

2

4

6

8

10

12

Pengaturan

frame rate

sistem 30 fps

Pengaturan

frame rate

sistem 50 fps

Pengaturan

frame rate

sistem 70 fps

Frame per second (fps)

29 29.3

27.6

26.5

27

27.5

28

28.5

29

29.5

Bandwidth (Mbps)

Pengaturan

frame rate

sistem 30 fps

Pengaturan

frame rate

sistem 50 fps

Pengaturan

frame rate

sistem 70 fps

Page 27: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

19

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.

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.

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 ter-

capture 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

85.4

90.3

93.2

80

82

84

86

88

90

92

94

Bandwidth (Mbps)

Pengaturan

frame rate

sistem 30 fps

Pengaturan

frame rate

sistem 50 fps

Pengaturan

frame rate

sistem 70 fps

90

92.3

90.6

88.589

89.590

90.591

91.592

92.5

Bandwidth (Mbps)

Pengaturan

frame rate

sistem 30 fps

Pengaturan

frame rate

sistem 50 fps

Pengaturan

frame rate

sistem 70 fps

Page 28: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

20

time yang lambat. Hal tersebut terlihat dari

response time tercepat dan terlama terjadi

pada 10 client di 30 fps dengan waktu 36

ms dan 3625 ms.

2. Kinerja frame rate yang dihasilkan masih

jauh dari harapan, terlihat dari frame rate

tertinggi yang diterima client hanya

sebesar 29 fps dan yang terendah adalah

nol fps.

3. Bandwidth yang digunakan mencapai

puncak pada 10 client yaitu sebesar 100.2

Mbps pada pengaturan frame rate 70 fps.

4. Response time sistem, jumlah frame rate

yang diterima client serta bandwidth yang

digunakan tidak bergantung terhadap

pengaturan frame rate sistem yang

digunakan tetapi tergantung pada jumlah

client.

Saran

Rekomendasi pemakaian sistem IOSS

adalah frame rate sebesar 50 fps dan pada

jumlah client terhubung sebanyak lima. Video

quality diatur menurut kebutuhan pengguna

dan ketersediaan bandwidth dan kecepatan

perangkat keras yang digunakan.

Rekomendasi kecepatan medium komunikasi

yang dipergunakan sebesar 100 Mbps,

sehingga memenuhi bandwith maksimum

yang dipergunakan pada satu client sebesar

37.9 Mbps.

Berikut adalah beberapa saran yang dapat

dilakukan untuk pengembangan sistem ini

lebih lanjut :

- Pengembangan sistem menggunakan

bahasa pemrograman yang memiliki

kinerja lebih cepat dari Java.

- Menggunakan kombinasi prethreading dan

preforking untuk menangani sambungan

client.

- Menambahkan fitur pengiriman suara.

DAFTAR PUSTAKA

Cisco Networking Academy Program. 2003.

CCNA 1 and 2 Companion Guide Third

Edition. Indianapolis, Amerika Serikat:

Cisco Press.

Deitel HM, Deitel PJ. 2001. JavaTM

How To

Program. Amerika Serikat : Prentice Hall.

Davis K, Turnet JW, Yocom N. 2004. The

Definitive Guide to Linux Programming.

Amerika Serikat : APRESS.

Feibel, W. 1996. Encyclopedia of Networking.

California, Amerika Serikat : Network

Press.

Garcia AL, Widjaja I. 2001. Communication

Networks Fundamental Concepts and Key

Architectures. Amerika Serikat : McGraw

Hill.

Henderson, H. 2009. Encyclopedia of

Computer Science and Technology Revised

Edition. New York, Amerika Serikat

:Facts On File.

Irwanto, D. 2006. Perancangan Object

Oriented Software dengan UML.

Yogyakarta, Indonesia : Penerbit Andi.

JPEG Comitee, JPEG Home Page.

http://www.jpeg.org/jpeg/index.html[10 Juni 2011].

Pressman, R S. 2001. Software engineering: a

practitioner’s approach 5th

Edition. New

York, USA : McGraw Hill.

Simpson, W. 2008. Video over IP IPTV,

Internet Video, H.264, P2P, Web TV, and

Streaming: A Complete Guide to

Understanding the Technology. Oxford,

Britania Raya : Focal Press.

Sommerville, I. 2006. Software Engineering

6th

Edition. Britania Raya : Addison

Wesley.

Molyneaux, I. 2009. The Art of Application

Performance Testing 1stEdition. Califonia,

Amerika Serikat: O’Reilly Media.

Nielsen J. 1993. Usability Engineering. San

Diego, Amerika Serikat : Morgan

Kaufmann.

Page 29: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

LAMPIRAN

Page 30: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

22

Lampiran 1 Tabel harga Netop School Juni 2011.

No Situs web penyedia Nama produk Harga

1 education.pugh.co.uk NetOp School 6 - Classroom

Pack - 1 Teacher & 10

Students

£ 347.00

2 education.pugh.co.uk NetOp School 6 - Classroom

Pack - 1 Teacher & 15

Students

£459.00

3 education.pugh.co.uk NetOp School 6 - Classroom

Pack - 1 Teacher & 50

Students

£1,095.00

4 touchboard.com NetOp School 6 - Classroom

Pack - 1 Teacher & 10

Students

$ 668.00

5 touchboard.com NetOp School 6 - Classroom

Pack - 1 Teacher & 15

Students

$ 884.00

6 touchboard.com NetOp School 6 - Classroom

Pack - 1 Teacher & 50

Students

$ 2109.00

7 moonsoft.com Netop School 6.2 Win 1-

Teacher + 10-Students with 1-

Year Maintenance (ESD)

627,30 €

8 moonsoft.com Netop School 6.2 Win 1-

Teacher + 15-Students with 1-

Year Maintenance (ESD)

830.25 €

9 moonsoft.com Netop School 6.2 Win 1-

Teacher + 50-Students with 1-

Year Maintenance (ESD)

1752.75 €

Page 31: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

23

Lampiran 2 Sequence diagram server 01

Page 32: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

24

Lampiran 3 Sequence diagram server 02

Page 33: Pengembangan Sistem IOSS (IPB Open Screen Sharing) … · 2015-09-03 · occurred in client size of 10 and system frame rate setting ... laboratorium komputer untuk meningkatkan efektifitas

25

Lampiran 4 Sequence diagram client 01