PERANCANGAN LABORATORIUM KOMPUTER VIRTUAL MANDIRI UNTUK

Download Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer ... praktikum jaringan komputer yang setiap bab akan dijadikan sebuah image mengg...

1 downloads 682 Views 372KB Size
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer Vol. 2, No. 11, November 2018, hlm. 4442-4448

e-ISSN: 2548-964X http://j-ptiik.ub.ac.id

Perancangan Laboratorium Komputer Virtual Mandiri Untuk Praktikum Jaringan Komputer Dasar Menggunakan Docker Iman Aidil Nugraha1, Mahendra Data2, Reza Andria Siregar3 Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email: [email protected], [email protected], [email protected] Abstrak Laboratorium merupakan sarana untuk melakukan proses praktikum di sebuah universitas. Tujuan diadakannya sebuah praktikum tersebut agar mahasiswa dapat mengimplementasikan secara langsung materi yang didapat pada saat perkuliahan berlangsung di kelas. Namun pada saat praktikum terdapat mahasiswa yang kesulitan untuk melakukan instalasi keperluan praktikum, hal tersebut disebabkan karena ketidak seragaman konfigurasi kebutuhan praktikum antara dosen dan mahasiswa. Untuk mengatasi permasalah tersebut maka dibutuhkan laboratorium virtual untuk melakukan sebuah praktikum. Laboratorium virtual ini berfungsi sebagai laboratorium yang dapat di akses secara virtual pada masing-masing perangkat mahasiswa. Dalam penelitian ini digunakan docker engine sebagai perangkat lunak penyedia virtualisasi. Praktikum yang digunakan sebagai virtualisasi merupakan modul praktikum jaringan komputer yang setiap bab akan dijadikan sebuah image menggunakan docker. Selanjutnya untuk menjalankan praktikum tersebut dapat melalui container yang disediakan oleh docker. Docker dipilih karena penggunaan memory, processor dan storage yang lebih hemat. Pengujian yang dilakukan pada penelitian ini merupakan pengujian performa komputer, yang dilihat dari penggunaan memory dan penggunaan CPU. pengujian yang dilakukan menghasilkan penggunaan memory sebesar 1.21MB dan 0.7% penggunaan CPU untuk praktikum packet capturing, 6.77MB dan 0.6% penggunaan CPU untuk praktikum pemrograman socket, 2.30MB dan 2.93% penggunaan CPU pada praktikum protocol layer transport. Kata kunci: virtualisasi, docker, laboratorium virtual

Abstract Laboratory is a means to conduct the process of practicum at a university. The purpose of a practicum is held so that students can directly implement the material obtained at the time the lectures take place in the classroom. However, when practicum there are students who are difficult to perform the installation of practical purposes, it is caused by the uniformity of configuration requirement of practicum between lecturer and student. To overcome these problems it takes a virtual laboratory to do a practicum. This virtual laboratory serves as a lab that can be accessed virtually on each student device. In this study used the docker engine as a virtualization software provider. Practicum used as virtualization is a computer network practice module that each chapter will be used as an image using docker. Furthermore, to run the lab can be through the container provided by the docker. Docker is chosen because the use of memory, processor and storage are more efficient. Tests conducted in this study is a test of computer performance, which is seen from memory usage and CPU usage. the test performed resulted in the use of memory of 1.21MB and 0.7% of CPU usage on packet capturing practice, 6.77MB and 0.6% CPU usage on socket programming practice, 2.30MB and 2.93% CPU usage on protocol layer transport pratice. Keywords: virtualization, docker, virtual laboratory

meningkatkan kualitas sumber daya manusia di Indonesia. Semakin berkembangnya jaman untuk masuk kedalam perguruan tinggi dirasa sangat sulit, antar perguruan tinggi saling

1. PENDAHULUAN Perguruan tinggi merupakan sarana pendidikan yang sangat penting untuk Fakultas Ilmu Komputer Universitas Brawijaya

4442

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer

bersaing untuk meningkatkan kualitas mereka masing-masing. Upaya meningkatkan kualitas sebuah perguruan tinggi tidaklah mudah karena diperlukan adanya tenaga pendidik yang berkualitas dan sarana prasarana pendukung yang memadai. Sarana dan prasarana merupakan salah satu faktor yang sangat penting untuk meningkatkan kualitas suatu perguruan tinggi. Salah satu aspek dalam sarana dan prasarana yaitu sebuah laboratorium (Manullang, 2016). Laboratorium merupakan sarana untuk melakukan proses praktikum di sebuah universitas. Tujuan diadakan praktikum tersebut agar mahasiswa dapat mengimplementasikan secara langsung materi yang didapat pada saat perkuliahan berlangsung di kelas. Namun pada saat praktikum masih terdapat beberapa mahasiswa yang kesulitan untuk instalasi aplikasi yang dibutuhkan pada saat praktikum, hal tersebut disebabkan karena ketidak seragaman konfigurasi yang dilakukan antara dosen dan mahasiswa, sehingga mahasiswa kebingungan dan tidak mampu mengikuti materi yang diberikan dosen dengan benar. Hal seperti ini tentu tidak akan efisien untuk melakukan sebuah praktikum (Gunawan, 2016). Solusi dari permasalahan tersebut adalah dibangunnya sebuah laboratorium virtual menggunakan untuk melakukan sebuah praktikum. laboratorium virtual merupakan suatu sistem yang dapat digunakan sebagai pengganti praktikum yang berjalan secara konvensional atau seperti pada umumnya (Puspita, 2008). Laboratorium virtual ini berfungsi sebagai laboratorium yang dapat di akses secara virtual pada masing-masing perangkat mahasiswa. Didalam laboratorium virtual tersebut disediakan sebuah materi praktikum dengan konfigurasi tetap, sehingga diharapkan tidak lagi terjadi perbedaan konfigurasi antara dosen dan mahasiswa. (Gunawan, 2016). Penelitian sebelumnya dilakukan sumarto yang membuat virtual lab berbasis Cloud Computing menggunakan platform Ovirt pada jaringan terpusat. Dalam penelitiannya penulis melakukan pengujian terhadap lab komputer virtual dengan studi kasus matakuliah pemrograman berbasis objek menunjukan bahwa server yang digunakan selama pengujian mampu menjalankan 10 komputer virtual dengan baik, Sementara pada studi kasus terdapat 30 komputer setiap lab. Maka dari itu Fakultas Ilmu Komputer, Universitas Brawijaya

4443

dibutuhkan 2 server sebagai Ovirt Engine dan Ovirt Node dengan Spesifikasi berupa 500 GB Hardisk SSD Raid Capability, Quad Socket Processor 64Bit, 32 GB RAM dan 2 Gigabit NIC (Sumarto, 2014). Peneltian selanjutnya dilakukan oleh Dwiyanto Gunawan yang juga dilakukan dalam lingkungan Fakultas Ilmu Komputer Universitas Brawijaya. Dalam penelitiannya menggunakan rancangan sistem back end yang dibuat menggunakan container dan docker engine sebagai penyedia virtualisasi untuk merancang arsitektur Laboratorium Virtual Jaringan Komputer. Pada penelitian tersebut, laboratorium virtual jaringan komputer memberikan solusi yaitu terbatasnya jumlah perangkat praktikum (Gunawan, 2016). Oleh Karena itu berdasarkan latar belakang yang telah diuraikan diatas, penulis melakukan peneitian Laboratorium Virtual Mandiri Untuk Praktikum Jaringan Komputer Dasar Menggunakan Docker. Peneltian tersebut berfokus pada sistem back end. Laboratorium Virtual Mandiri dibangun sebagai wadah untuk praktikum jaringan komputer dasar yang didalamnya terdapat sebuah praktikum yang telah di konfigurasi. Dengan konfigurasi tersebut mahasiswa hanya menjalankan proses praktikum yang dibutuhkan tanpa melakukan konfigurasi lagi. Dalam perancangan sistem ini akan digunakan docker engine sebagai perangkat lunak penyedia virtualisasi. Docker dipilih karena penggunaan memory, processor dan storage yang lebih hemat. Stratup docker tidak memerlukan waktu yang lama seperti pada server fisik. Ini dikarenakan docker berbagi kernel linux dari server fisik, didalam container juga tidak memerlukan instalasi operating system (Adiputra, 2015). 2. DASAR TEORI 2.1 Docker

Gambar 1. Arsitektur Docker

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer

Docker merupakan sebuah platform terbuka bagi siapapun yang bertujuan menggunakannya untuk mendistribusikan, membangun dan menjalaknkan aplikasi dimanapun seperti virtual machine, laptop, data center ataupun cloud. Docker termasuk opensource software dibawah lisesi Apache versi 2.0 yang bebas digunakan (Kurniawan, 2016). Pada saat ini docker hanya bisa berjalan di sistem operasi linux, namun jika ingin menggunakannya dalam versi windows dapat menggunak bantuan software virtual machine. Arsitektur docker adalah client-server. docker daemon dihubungi oleh docker client, yang menjalankan, melakukan pekerjaan berat dan mendistribusikan docker container. Docker daemon dan docker client dapat berjalan secara bersamaan pada sistem yang sama. Docker daemon dan client berkomunikasi melalui socket atau API yang telah disediakan docker sendiri (Goasguen, 2015). 2.2 Laboratorium Virtual Pada umumnya, laboratorium virtual merupakan sebuah lingkungan yang terdistribusi dan dapat mengakses berbagai macam perangkat sains dan sumber daya untuk komputasi (Davoli, et al. 2010). Ada beberapa kategori laboratorium virtual yang telah dibangun sebelumnya, sebagai berikut : 1. Virtual Application Laboratories : laboratorium tersebut menggunakan virtualisasi desktop, penyelesaian dan simulasi masih terbatas oleh algoritma yang sudah diterapkan. Pada penggunaan laboratorium tersebut siswa dituntut menyelesaikan tugasnya dalam satu sesi karena model laboratorium ini tidak mengizinkan siswa untuk menyimpan data (Xu, et al. 2014). 2. Shared-Host Laboratories : pada laboratorium tersebut menginzinkan untuk beberapa siswa login secara bersamaan dan akses secara remote desktop (Xu, et al. 2014). 3. Single-VM laboratories : pada laboratorium virtual tersebut VM telah ditentukan (template) bagi siswa. Sebuah Vmdapat diminta ataupun dibuang oleh siswa, atau siswa juga bisa membuat vm mereka sendiri. Single VM tidak mempunyai portal manajemen yang memberikan sumber daya Fakultas Ilmu Komputer, Universitas Brawijaya

4444

yang dapat disesuaikan oleh pengguna (siswa). Selain itu VM biasanya berjalan pada pada komputer desktop dan tidak bisa mendukung untuk lingkungan jaringan multi Vm yang lebih rumit (Xu, et al. 2014). 4. Multi-VM laboratories : pada laboratorium virtual tersebut memungkinkan sistem berjalan pada mode awan (cloud) atau dikomputer siswa dan juga memungkinkan siswa untuk membuat konfigurasi untuk eksperimen yang lebih sulit. Namun laboratorium ini tidak memberikan isolasi yang cukup, konfigurasi jaringan yang fleksibel, atau kemampuan untuk konfigurasi ulang (Xu, et al. 2014). 5. Multi-VM and Multinetwork laboratories : laboratorium virtual tersebut memanfaatkan kapasitas virtualisasi awan (cloud) sepenuhnya untuk dapat menggunakan lebih banyak Vm dan jaringan virtual yang terindikasi. Sistem ini rancang berbasis Web untuk instruktur dan mahasiswa sehingga lebih user friendly (Xu, et al. 2014). 3. METODOLOGI Bagian ini menjelaskan langkah-langkah yang dilakukan dalam pengerjaan penelitian. Tahapan pengerjaan dijabarkan sebagai berikut: 1. Perumusan masalah berisi tentang masalah apa saja yang dihadapi pada penelitian ini. 2. Studi Literatur meliputi penggalian dasar teori terkait Virtualisasi, Docker Container dan Laboratorium Virtual. 3. Analisis Kebutuhan mendefinisikan kebutuhan dari sistem, perangkat keras dan perangkat lunak untuk mengimplementasikan sistem. 4. Perancangan sistem mendefinisikan gambaran umum system secara keseluruhan yang akan diimplementasikan untuk praktimkum jaringan komputer dengan laboratorium virtual berbasis docker. 5. Implementasi mendefinisikan pembangunan sistem yang sesuai dari perancangan system meliputi docker engine, docker registry. 6. Pengujian pada sistem meliputi pengujian penggunaan memory dan penggunaan CPU serta fungsional dan non fungsional. 7. Penarikan kesimpulan berdasarkan implementasi dan analisis pengujian pada sistem.

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer

4445

4.2 Alur Kerja Sistem Pada gambar 4 dapat dilihat bahwa di tahap perancangan ini diawali dengan konfigurasi dockerfile. Untuk penjelasan lebih detail mengenail gambar 4 akan dibahas sebagai berikut: 1. Input perinta dockerfile. Konfigurasi dilakukan dengan menuliskan sekumpulan perintah atau script yang digunakan untuk membuat materi praktikum. Script tersebut dituliskan pada nano yang merupakan editor pada linux, kemudian file disimpan dengan nama Dockerfile Gambar 2. Metodologi Penelitian

4. PERANCANGAN 4.1 Perancangan Sistem Perancangan sistem dilakukan dengan beberapa komponen utama yaitu dosen atau pengajar dan mahasiswa. Sistem ini juga membutuhkan komponen pendukung yaitu tempat penyimpanan secara cloud pada docker registry. Syitem ini membutuhkan koneksi internet agar masing-masing komponen saling terhubung. Proses diawali dengan dosen atau pengajar membuat materi untuk praktikum jaringan komputer. Materi praktikum dibuat dengan melakukan konfigurasi pada dockerfile. Selanjutnya dockerfile di-build hingga menjadi image. Kemudian image di push atau di upload ke repository dockerhub dengan menggunakan internet. Untuk menyimpan image pada dockerhub diperlukan akun agar dapat membuat repository. Setelah image tersimpan, mahasiswa dapat pull atau mengunduh image dari docker registry. Untuk melakukan pengaksesan terhadapat image pada docker registry mahasiswa dapat menggunakan terminal pada linux. Mahasiswa dapat pull atau download image menggunakan perintah command line pada terminal.

Gambar 3. Perancangan Sistem Fakultas Ilmu Komputer, Universitas Brawijaya

2. Melakukan build dockerfile. Pada tahap ini dockerfile telah dikonfigurasi dengan isi script sesuai keperluan praktikum. Build dilakukan untuk membuat dockerfile menjadi image. 3. Proses build dockerfile telah selesai ketika pada terminal tercetak output bahwa proses build yang dilakukan telah berhasil. 4. Menyimpan image pada docker registry. Tahap ini dilakukan saat image sudah dibuat kemudian di push pada docker registry. Image yang telah di pull akan tersimpan secara cloud. Pada penelitian disimpan tiga image sesuai materi praktikum pada modul praktikum jaringan komputer dasar. 5. Mahasiswa melakukan pull image pada masing-masing komputernya untuk melakukan praktikum sesuai bab yang telah di pelajari. Mahasiswa melakukan pull dengan perintah sederhana pada terminal linux.

6. Menjalankan image praktikum. Tahapan ini dipilih salah satu image sesuai praktikum yang sedang dilakukan kemudian di pull pada masing-masing laptop melalui terminal

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer

4446

5.1 Pengujian Fungsional Tabel 1. Pengujian Fungsional NO

Pengujian

Hasil

1.

Dosen dapat membuat tes bed laboratorium virtual jaringan komputer

Valid

2.

Dosen dapat mengupload (push) image

Valid

3.

Dosen dapat menghapus image

Valid

4.

Mahasiswa dapat mendownload (pull) image

Valid

5.

Mahasiswa dapat menghapus laboratorium virtual yang dibuat

Valid

6.

Mahasiswa dapat membuat kembali praktikum berdasarkan image yang sudah ada

Valid

Gambar 4. Diagram Alir Perancangan Sistem

4.3 Docker Network

Pengujian fungsional sitem dilakukan untuk mengetahui apakah fitur dalam sistem yang dibuat dapat berfungsi saat digunakan. Dalam pengujian fungsional ini terdapat parameter yang akan diuji seperti tesbed pada sistem, push image, pull image, delete image. Sementara pengujian non-fungsional terdapat beberapa parameter meliputi generated dockerfile, image perbab dapat dijalankan saat praktikum, waktu yang diperlukan untuk menghapus, generated, mengupload. 5.2 Pengujian CPU Usage

Gambar 5. Docker network Docker network merupakan bagian yang menjelaskan container docker untuk dapat terhubung dengan internet. Untuk memastikan container docker dapat terhubung pada internet, host dari container harus terhubung pada internet. Host terhubung pada internet menggunakan jaringan wireless. Container membutuhkan internet agar dapat melakukan update dan instalasi paket yang dibutuhkan untuk praktikum. Docker container terhubung pada internet menggunakan bridge secara default. Container terhubung pada driver network docker0 yang tersedia dalam paket instalasi docker. Ketika container dijalankan, container secara otomatis akan terhubung pada docker0 yang ada pada host dengan bridge. Oleh karena itu docker dapat mengakses internet karena terhubung dengan host. 5. HASIL DAN PEMBAHASAN

Fakultas Ilmu Komputer, Universitas Brawijaya

Gambar 6. menunjukan nilai penggunaan CPU saat praktikum dijalankan. Pada gambar dapat dilihat penggunaan CPU terbesar adalah saat menjalankan protocol layer transport. Hal ini disebabkan image protocol layer transport membutuhkan browser untuk membuka ftp server dan aplikasi lain untuk upload file ke ftp server. nilai penggunaan CPU pada image protocol layer transport cenderung tidak stabil dikarenakan container memiliki ketidak stabilan resource. Nilai peningkatan penggunaan CPU tergantung pada file yang di upload ke ftp server. semakin besar file yang di upload maka peningkatan penggunaan CPU lebih besar. Sedangkan pada image packet capturing dan pemrograman socket penggunaan CPU cenderung stabil. Pemrograman socket memiliki penggunaan CPU yang lebih rendah dibandingkan image praktikum yang lain dikarenakan pemrograman socket menjalankan proses python yang ringan namun membutuhkan dua container sekaligus dalam satu praktikum sehingaan penggunaan memorynya lebih besar.

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer

4447

6. KESIMPULAN Berdasarkan hasil dari implementasi, pengujian serta analisis laboratorium komputer virtual mandiri untuk mahasiswa ilmu komputer, dapat ditarik kesimpulan:

Gambar 6. Grafik Beban CPU Saat Menjalan Setiap Image

5.3 Pengujian Memory Usage

Gambar 7. Grafik Beban Memory Saat Menjalan Setiap Image

Gambar 7. merupakan grafik penggunaan memory saat menjalan setiap image. Grafik menunjukan tiga buah image ketika dijalankan. Pada grafik tersebut dapat dilihat bahwa image pemrograman socket memiliki nilai penggunaan memory yang lebih tinggi dibandingkan image praktikum yang lain karena pada praktikum tersebut menggunakan dua container yang berjalan secera bersamaan. Sedangkan image packet capturing memiliki nilai penggunaan memory yang lebih rendah dibandingkan image praktikum yang lain. Penggunaan memory yang rendah ini dikarenakan praktikum packet capturing hanya berjalan sebagai monitoring dari packet sebuah jaringan internet dan tidak banyak melakukan aktifitas berat yang lainnya. Penurunan nilai penggunaan memory yang terjadi pada pengujian disebabkan container memiliki ketidak stabilan dalam penggunaan resource. Jumlah container yang dibuat mempengaruhi hasil pengujian memory dan cpu pada masing-masing prkatikum. Jumlah container yang lebih banyak sebanding dengan adanya peningkatan pada hasil. Fakultas Ilmu Komputer, Universitas Brawijaya

1. Implementasi docker untuk laboratorium virtual dilakukan dengan membuat image pada amasing-masing bab. Image dibangun menggunakan dockerfile yang didalamnya berisi komponen yang dibutuhkan untuk melaksanakan praktikum jaringan komputer. Selanjutnya image di push pada docker repository agar dapat diakses oleh mahasiswa. Pelaksanaan praktikum dilaksanakan dengan melakukan pull image masing-masing bab dari docker repository. Image yang telah di pull akan dijalankan dalam bentuk container. 2. Sistem yang dirancang dapat digunakan untuk mahasiswa ilmu komputer untuk praktikum jaringan komputer. Hal tersebut dapat disimpulkan dari pengujian fungsional dan non fungsional pada sistem dapat memenuhi kebutuhan untuk jaringan komputer seperti membuat docker container, menghapus container yang ditunjukan pada tabel dengan status hasil valid. 3. Berdasarkan hasil pengujian performansi didapatkan hasil penggunaan memori dan CPU sebagai berikut: • Pengujian penggunaan memori didapatkan hasil pada praktikum packet capturing sebesar 1.21MB, praktikum pemrograman socket 6.77MB, protocol layer transport 2.30MB.

• Pengujian penggunaan CPU didapatkan hasil pada praktikum packet capturing hampir menyentuh 0.7%, praktikum pemrograman socket 0.6%, dan praktikum protocol layer transport 2.93%. 7. DAFTAR PUSTAKA Adiputra, Firmansyah. 2015. Teknik Virtualisasi Dalam Mengolah Banyak Aplikasi Web. Universitas Trunojoyo Madura. Volume 4 Nomor 3. Davoli, F., Mayer, N., Pugliese, R. & Zappatore, S. 2010. Remote Instrumen tation and Virtual Laboratories. Poznan, Poland: Springer.

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer

Goasguen, sebastien. 2015. Docker cookbook. United States of America. O’Reilly Media, Inc. Gunawan, Dwiyanto., 2016. Rancang Bangun Arsitektur Laboratorium Virtual Jaringan Komputer Dengan Virtualisasi Berbasis Container. Fakultas Ilmu Komputer Universitas Brawijaya. Kurniawan, Adi. 2016. Eksplorasi Pemanfaatan Docker untuk Mempermudah Pengelolaan Instalasi Komputer di Laboratorium Komputer Teknik Informatika Universitas Kristen Petra.Manullang, Devri. 2016. Aplikasi Antar Muka Praktikum Laboratorium Virtual jaringan Komputer Berbasiskan Openstack, Novnc, dan Docler. Fakultas Ilmu Komputer Universitas Brawijaya. Puspita, Rani & Yamin, Mohamd. 2008. Sistem Informasi Aplikasi Virtual Lab Pada Laboratorium Sistem Informasi Universitas Gunadarma. Sumarto, Ahmad Hamim Thohari, Meyti EkaApriyanti. 2014. Rancang Bangun Lab Komputer Virtual Berbasis Cloud Computing Menggunakan Ovirt Pada Jaringan Terpusat. Jurnal Integrasi | 2014 Vol. 6(1) 72-76 | ISSN: 2085-3858 Xu,L., Huang, D. & Tsai, W.-T. 2014.CloudBased Virtual Laboratory for Network Security Education. IEEE TRANSACTIONS ON EDUCATION, Volume 57, pp.145-150.

Fakultas Ilmu Komputer, Universitas Brawijaya

4448