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. Belajarmengajar 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 dipergunakan adalah LAN laboratorium komputer.
yang pada
-
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
1. LAN (Local Area Network) Merupakan sebuah jaringan komputer yang biasanya memiliki cakupan wilayah meliputi sebuah gedung, kampus atau laboratorium. Biasanya LAN memiliki ukuran satu kilometer. 2. MAN (Metropolitan Area Network) Pada umumnya jaringan ini mencakup wilayah sebuah kota atau berukuran sekitar 10 km. 3. WAN (Wide Area Network) Jaringan ini mencakup wilayah geografi yang luas. WAN mencakup wilayah sebuah negara hingga sebuah benua atau berukuran 100 hingga 1000 km. Dalam hubungan interaksinya pada jaringan, sebuah komputer dapat bertindak sebagai sebuah server atau workstation/client. Sebuah client membuat permintaan sedangkan server memenuhi permintaan tersebut. Server mengatur jaringan dengan memberikan sumber daya yang sesuai kepada client (Tanenbaum 2003). Berikut adalah beberapa istilah yang dijelaskan Feibel (1996) untuk menggambarkan hubungan antar node dalam sebuah jaringan : 1. Peer to peer Setiap node dapat menjadi client atau server. 2. Distributed Sebuah jaringan yang tidak memiliki pengatur, dimana setiap node dapat berinteraksi dengan node lainnya. Dalam jaringan ini, server hanyalah sebuah node yang menyediakan layanan namun tidak mengatur aktivitas jaringan. 3. Server based Merupakan model jaringan dengan sebuah komputer yang didedikasikan sebagai file server, mengelola jaringan, memberikan izin akses terhadap suatu sumber daya kepada client. 4. Client/server Merupakan versi canggih dari jaringan server based. Client bisa mendapatkan akses ke seluruh jenis sumber daya, namun hampir keseluruhan pekerjaan dilakukan oleh client. Server menyediakan sumber
daya (misal berupa download file atau aplikasi) dan kemudian client menjalankannya. Model Referensi OSI ISO (International Standard Oraganization) mengembangkan sebuah model referensi tujuh lapis yang disebut OSI (Open Layer Sistem), ditunjukkan oleh Gambar 1, untuk menggambarkan bagaimana menyambungkan setiap kombinasi alat untuk tujuan komunikasi. Model ini mendefinisikan tugas dalam istilah tujuh lapisan fungsional dan menentukan fungsi yang harus disediakan di setiap lapisannya (Feibel 1996). Garcia dan Widjaja (2001) memberikan penjelasan lebih rinci mengenai fungsi-fungsi yang disediakan oleh ke tujuh lapisan model referensi OSI sebagai berikut : 1. Aplikasi Merupakan lapisan yang bertanggung jawab untuk menyediakan layanan komunikasi terhadap aplikasi. Permisalan layanan pada lapisan aplikasi adalah penggunaan protokol HTTP untuk mengakses dokumen www. Beberapa protokol yang disediakan oleh lapisan ini adalah FTP untuk pengiriman file, SMTP untuk surat elektronik, DNS untuk layanan nama, TELNET untuk akses jarak jauh, SNMP untuk pengelolaan jaringan. 2. Presentasi Layanan yang disediakan oleh lapisan ini adalah menjadikan data yang direpresentasi berbeda oleh mesin yang berbeda dapat dimengerti satu sama lain. Lapisan persentasi akan mengubah informasi yang machine-dependent pada mesin A menjadi informasi yang machineindependent kemudian mengubah informasi yang machine-independent menjadi machine-dependent pada mesin B. 3. Session Meningkatkan kehandalan pengiriman data merupakan layanan yang disediakan oleh lapisan ini. Lapisan ini memberikan layanan flow control pada pengiriman data, session control, sychronisation point untuk pengendalian kerusakan/error. 4. Transport Bertanggung jawab terhadap pengiriman data end-to-end dari sebuah
2
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.
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.
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
Gambar 1 Osi Layer (Garcia dan Widjaja 2001). Model Referensi TCP/IP Model referensi TCP/IP merupakan model referensi pendahulu yang digunakan oleh jaringan komputer yang pertama ada yaitu ARPANET dan penerusnya saat ini, internet di seluruh dunia. Berawal dari kekhawatiran departemen pertahanan Amerika terhadap hancurnya host, router dan internetwork gateway yang penting, model ini dirancang agar dapat bertahan jika perangkat keras subnet rusak. Dengan kata lain model ini diingikan agar sambungan tetap berjalan selama mesin sumber dan mesin tujuan dapat berjalan bahkan jika sambungan transmisi yang menghubungkan rusak. Model referensi TCP/IP ditunjukkan oleh Gambar 2. Tanenbaum menjelaskan rincian setiap lapisan model referensi TCP/IP sebagai berikut : 1. Aplikasi
3
Lapisan ini mencakup yang lebih tinggi yang terminal (TELNET), dengan FTP, surat dengna SMTP, layanan lainnya.
protokol tingkat mencakup virtual pengiriman file elektronik/e-mail nama (DNS) dan
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-tohost dan host-to-network tidak didefinisikan dan tidak bervariasi. Aplikasi Transport Internet Host-to-network
Gambar 2 Model referensi TCP/IP. Protokol Jaringan Protokol jaringan merupakan sebuah gambaran formal dari sekumpulan aturan dan konvensi yang mengatur sebuah aspek tertentu tentang bagaimana alat-alat dalam sebuah jaringan berkomunikasi. Menggunakan suatu protokol berarti memilih dan mengatur format, timing, sequencing dan pengendalian error sesuai dengan suatu aturan yang telah ditetapkan. Selain itu protokol juga menentukan bagaimana jaringan fisik dibuat, cara komputer terhubung ke jaringan, cara memformat data untuk pengiriman, dan bagaimana cara pengiriman datanya (Cisco Network Academy 2003).
UDP UDP merupakan protokol lapisan transport yang tidak handal dan connectionless. Merupakan protokol sederhana yang menyediakan pengecekan kesalahan dan demultiplexing. UDP menambahkan mekanisme sehingga data dapat diberikan kepada aplikasi yang tepat pada sebuah host. Protokol ini menyediakan pengecekan keseluruhan integritas datagram UDP secara opsional. UDP menyediakan cara untuk mengirim datagram IP tanpa terlebih dahulu membuat sambungan. Seandainya datagram UDP mengalami kerusakan atau tidak terkirim maka datagram tersebut diabaikan tanpa memberikan peringatan terhadap entitas UDP pada mesin sumber (Garcia dan Widjaja 2003). Garcia dan Widjaja (2003) menyatakan bahwa aplikasi yang menggunakan protokol UDP mencakup protokol pengiriman file trivial, layanan nama (DNS), protokol pengelolaan jaringan (SNMP) dan protokol real-time (RTP). Format datagram UDP ditunjukkan oleh Gambar 3.
Gambar 3 Format datagram UDP (Cisco Network Academy 2003). TCP Menurut Garcia dan Widjaja (2003) TCP merupakan protokol yang sering digunakan oleh sebagian besar aplikasi internet saat ini. TCP menyediakan sambungan logis fullduplex 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.
4
dipungut biaya, legal untuk didistribusikan ulang, dan open source.
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
Salah satu keunggulan Java adalah kaya akan kelas-kelas yang sudah yang ada pada pustaka kelas Java, sehingga programer dapat memakai kembali suatu kelas tanpa harus membuatnya terlebih dahulu. Kelas-kelas yang ada disediakan terutama oleh vendor kompilator tetapi pustaka kelas disediakan oleh vendor perangkat lunak yang independent, independent software vendor. Selain pustaka yang disediakan oleh Java, kelas-kelas pustaka juga dapat diperoleh dari internet baik sebagai shareware maupun freeware dan menggunakan kelas tersebut berdasarkan ketentuan penggunan yang ditentukan oleh pencipta kode tersebut (Deitel dan Deitel 2001). Keunggulan lain Java adalah memungkinkan para programmer untuk menulis kode tanpa harus mengetahui lingkungan perangkat keras dan sistem operasi berjalannya aplikasi yang akan dibuat (Deitel dan Deitel 2001). JPEG JPEG, Joint Photographic Expert Group, merupakan sebuah komite yang berada dalam International Standard Organisation, ISO. Penyebutan JPEG lazim digunakan untuk mengacu sebuah nama standard ISO/IEC IS 10918-1 | ITU-T recommendation T.81 (JPEG Comitee 2011). Format file JPEG digunakan secara luas pada kamera digital karena kemampuan kompresi datanya yang tinggi dalam gambar grafis berwarna, yang memungkinkan sebuah gambar beresolusi tinggi disimpan ke dalam memori kamera. Kompresi pada JPEG bersifat loosy yang artinya informasi hilang saat kompresi. Pada kompresi yang relatif rendah (1:10 atau 10% dari ukuran gambar asli) perubahan data gambar karena data loss masih dapat diterima oleh indra penglihatan manusia, sedangkan pada rasio kompresi yang lebih tinggi (mendekati 1:100) gambar terkompresi yang dihasilkan akan benar-benar tergradasi. JPEG memiliki kemampuan untuk menyimpan hingga 256 warna atau delapan bit membuat format ini secara khusus cocok untuk seluk-beluk fotografi (Henderson 2009). Response Time Response time adalah jumlah waktu yang dibutuhkan untuk sebuah aplikasi menanggapi
5
sebuah request dari pengguna. Untuk pengujian kinerja, salah satu yang dilakukan adalah mengukur waktu respon sistem yang merupakan selisih waktu antara pengguna meminta tanggapan dari aplikasi dan jawaban lengkap tiba di workstation pengguna (Molyneaux 2009). Bandwidth Bandwidth mengacu pada jumlah data yang dapat dibawa oleh suatu saluran komunikasi. Diukur dengan satuan bit per detik (bit persecond/bps) pada sinyal digital dan hertz/Hz pada sinyal radio (Feibel 1996). Frame Rate Video atau film merupakan sebuah kumpulan gambar, dimana gambar yang ditampilkan setiap suatu waktu berbeda dengan gambar yang ditampilkan pada waktu sebelumnya. Rangkaian gambar yang ditampilkan secara cepat kepada pengamat, akan tampak menjadi gambar yang bergerak dalam penglihatan pengamat. Satuan frame dalam setiap detik disebut sebagai fps atau frame per second (Simpson 2008). Open Source Merupakan hal yang umum bagi programmer untuk berbagi dan mengembangkan penggunaan program dimana biasanya kode sumber program didistribusikan secara bebas. Dengan keuntungan berbagi tersebut, khalayak umum dapat dengan mudah menciptakan dan mendistribusikan perangkat lunak versi terbaru dengan kualitas yang lebih baik (Henderson 2009). Henderson (2009) mengacu pada Stallman dan pendukung pergerakan open source lainnya bahwa perangkat lunak tidak harus gratis namun begitu pengguna butuh untuk menerima kode sumber secara lengkap. Pengguna juga bebas mengubah atau meningkatkan untuk menciptakan dan mendistribusikan versi aplikasi baru program dengan mengikuti mekanisme legal Stallman yang disebut copyleft. Umumnya perangkat lunak yang open source memiliki lisensi General Public Liscense atau disingkat dengan GPL. Versi terbaru dari GPL adalah GPL3. Strategi Layanan pada Arsitektur ClientServer Server merupakan sebuah komputer yang memberikan layanan sumber daya kepada workstation/client yang melakukan request.
Pada umumnya, server dibutuhkan untuk menangani banyak client dalam suatu waktu. Banyaknya request yang terjadi secara bersamaan menimbulkan perlunya sebuah strategi penanganan khusus terhadap client, sehingga sumber daya pada server tidak dimonopoli oleh sebuah client dan seluruh client dapat dilayani tanpa adanya delay yang berarti ataupun ketidaktersediaan layanan server. Davis et al. (2007) memberikan beberapa strategi yang dapat digunakan untuk menangani banyak client, yaitu : 1. Multiplexing Merupakan suatu cara menangani banyak sambungan client pada proses server. Aplikasi memungkinkan client terhubung ke server dan menambahkannya ke dalam sebuah watch list. Watch list merupakan sebuah array dari socket descriptor. Selanjutnya sistem operasi memberitahu aplikasi, client mana, yang berada dalam watch list, yang akan mendapat layanan. Pada multiplexing client akan dilayani menggunakan metode time slicing, yaitu sebuah sambungan client akan dilayani hingga waktu gilirannya berkhir. Jika pada waktu gilirannya sebuah client tidak memiliki tugas untuk proses server maka pelayanan akan dialihkan kepada sambungan client lainnya atau proses server akan menunggu hingga waktu giliran client tersebut berakhir. Analogi dari multiplexing adalah seperti restoran dengan seorang pelayan yang bertanggung jawab melayani pelanggan, dimana pelayan tersebut memiliki sebuah daftar pelanggan yang akan dilayani. Layanan hanya dilakukan terhadap seorang pelanggan dalam suatu waktu. Gambar 6 menunjukkan sebuah aplikasi server dengan strategi multiplexing. client Proses server
client client
Gambar 6 Aplikasi server dengan Multiplexing. 2. Forking Dalam lingkungan UNIX, fork merupakan sebuah cara tradisional untuk
6
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.
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. Proses induk
Proses induk
Proses anak
Proses anak
Thread server
Thread server
client
client
Gambar 9 Aplikasi server dengan preforking. client
client
5. Prethreading
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. Proses induk
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. Proses induk
Proses server
client
Proses server
client
Proses server Thread server
Thread server
client
client
Thread server
Pool process
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
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 masingmasing 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
7
proses memiliki kelebihan tidak menyebabkan proses lain crash jika salah satunya megalami crash namun membutuhkan sumberdaya yang besar dan proses switch lambat.
Pedefinisian kebutuhan
Desain sistem dan perangkat lunak
Proses induk
proses anak
proses anak
proses anak
thread server
thread server
thread server
thread server
thread server
thread server
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.
Implementasi dan pengujianunit
Integrasi dan pengujian sistem
Pemakaian dan pemeliharaan
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 multilangkah 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
8