TAPPDF.COM PDF DOWNLOAD PERANCANGAN LABORATORIUM KOMPUTER VIRTUAL MANDIRI UNTUK ... JPTIIK 19137 1 10 20180226

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: 1imanaidil5@gmail.com, 2mahendra.data@ub.ac.id, 3reza@ub.ac.id
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


4443

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

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

4446

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer

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.

4447

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer

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