Bandwith Pengembangan Sistem IOSS (IPB Open Screen Sharing) Menggunakan Bahasa Pemrograman Java

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 19 19.5 20 20.5 21 21.5 22 22.5 23 23.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 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 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.5 89 89.5 90 90.5 91 91.5 92 92.5 Bandwidth Mbps Pengaturan frame rate sistem 30 fps Pengaturan frame rate sistem 50 fps Pengaturan frame rate sistem 70 fps 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. Java TM 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.orgjpegindex.html[ 10 Juni 2011]. Pressman, R S. 2001. Software engineering: a practitioner’s approach 5 th 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 6 th Edition . Britania Raya : Addison Wesley. Molyneaux, I. 2009. The Art of Application Performance Testing 1 st Edition . Califonia, Amerika Serikat : O’Reilly Media. Nielsen J. 1993. Usability Engineering. San Diego, Amerika Serikat : Morgan Kaufmann. LAMPIRAN 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 € 23 Lampiran 2 Sequence diagram server 01 24 Lampiran 3 Sequence diagram server 02 25 Lampiran 4 Sequence diagram client 01 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. 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 : 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 : 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 workstationclient. 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. Clientserver 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 kerusakanerror. 4. Transport Bertanggung jawab terhadap pengiriman data end-to-end dari sebuah 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 TCPIP Model referensi TCPIP 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 TCPIP ditunjukkan oleh Gambar 2. Tanenbaum menjelaskan rincian setiap lapisan model referensi TCPIP sebagai berikut : 1. Aplikasi 4 Lapisan ini mencakup protokol tingkat yang lebih tinggi yang mencakup virtual terminal TELNET, pengiriman file dengan FTP, surat elektronike-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 TCPIP. 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 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 ISOIEC 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 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 persecondbps pada sinyal digital dan hertzHz 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 workstationclient 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 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 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 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 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. t 1 t 2 client server t 1 = waktu client mengirim request t 2 = waktu client menerima jawabanframe ∆t = t 2 – t 1 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 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. 11 Gambar 14 Use-case yang dimiliki perangkat lunak IOSS.

1.2 Kebutuhan Non-Fungsional