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