tugas akhir penentuan metode replacement cache …
TRANSCRIPT
TUGAS AKHIR
PENENTUAN METODE REPLACEMENT CACHE PADA
CLIENT DENGAN LINUX UBUNTU MENGGUNAKAN
MACHINE LEARNING
Oleh :
Tyas Dratistiana
1461600148
PROGRAM STUDI INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS 17 AGUSTUS 1945 SURABAYA
2020
TUGAS AKHIR
PENENTUAN METODE REPLACEMENT CACHE PADA
CLIENT DENGAN LINUX UBUNTU MENGGUNAKAN
MACHINE LEARNING
Diajukan sebagai salah satu syarat untuk memperoleh gelar
Sarjana Komputer di Program Studi Informatika
Oleh :
Tyas Dratistiana
1461600148
PROGRAM STUDI INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS 17 AGUSTUS 1945 SURABAYA
2020
FINAL PROJECT
DETERMINATION OF REPLACEMENT CACHE METHOD
IN CLIENT WITH LINUX UBUNTU USING MACHINE
LEARNING
Prepared as partial fulfilment of the requirement of the degree of Sarjana
Komputer at Informatics Department
By :
Tyas Dratistiana
1461600148
INFORMATICS DEPARTMENT
FACULTY OF ENGINEERING
UNIVERSITAS 17 AGUSTUS 1945 SURABAYA
2020
v
KATA PENGANTAR
Puji syukur kepada Allah Yang Maha Esa dan Yang Maha Kuasa yang
senantiasa melimpahkan Rahmat dan Hidayah-Nya sehingga penulis dapat
menyelesaikan Tugas Akhir yang berjudul “ Penentuan Metode Replacement Cache
Pada Client Dengan Linux Ubuntu Menggunakan Machine Learning “ sebagai salah
satu persyaratan untuk menyelesaikan studi di Universitas 17 Agustus 1945 Surabaya
dan mendapat gelar sarjana penulis menyadari bahwa tanpa bantuan Allah SWT dan
kedua orang tua serta do’a dari semua yang mendukung dari masa perkuliahan sampai
pada penyusunan tugas akhir ini.
Selain itu penulis ingin menyampaikan terima kasih yang mendalam kepada
pihak - pihak berikut :
1. Bapak Dosen Pembimbing 1., selaku dosen pembimbing pertama, yang selalu
memberikan petunjuk, pengarahan, serta bimbingan dari awal pembuatan
penentuan judul sampai akhir pengerjaan Tugas Akhir.
2. Ibu Dosen Pembimbing 2., selaku dosen Co-Pembimbing yang telah banyak
memberikan petunjuk, pengarahan, waktu sharing atas berbagai hal sehingga
dapat menyelesaikan pengerjaan Tugas Akhir.
3. Bapak Dosen wali yang telah mendampingi dan mengarahkan saya selama studi
di Universitas 17 Agustus 1945 Surabaya.
4. Kepada Pihak Sekolah SMP Nurul Huda Menganti yang bersedia
mengizinkan dalam implementasi penelitian tugas akhir di laboratorium
komputer
5. Kedua Orang Tua yang selalu mendukung, memotivasi, mendoakan, dan
mensupport dari awal sampai akhir
6. Kepada Semua Kepala Laboratorium di Fakultas Teknik Informatika dan
Rekan – Rekan Asisten Laboratorium yang selalu mendukung dan
mensuport dalam hal alat untuk pengerjaan penelitian tugas akhir.
7. Dan kepada teman –teman yang selalu membantu dan mengingatkan
dalam berbagai hal sehingga tugas akhir ini dapat terselesaikan.
vi
Halaman ini sengaja dikosongkan
vii
ABSTRAK
Nama : Tyas Dratistiana
NBI : 1461600148
Judul Tugas Akhir : Penentuan Metode Replacement Cache Pada Client
Dengan Linux Ubuntu Menggunakan Machine Learning
Perkembangan teknologi yang sangat pesat mengakibatkan permintaan untuk meningkatkan akses layanan internet. Karena Internet telah menjadi aspek yang sangat penting, maka diperlukan menyediakan bandwidth yang cukup dalam melayani permintaan pengguna saat menggunakan layanan internet. Salah satu cara untuk mengatasi masalah tersebut dapat diatasi dengan menggunakan cache pada squid proxy untuk membantu mengurangi beban lalu lintas jaringan, mengurangi keterlambatan yang dirasakan pengguna saat mengakses layanan internet, dan mengurangi beban pada server asal dengan menyimpan salinan objek pada server. dalam implementasi penggunaan cache pada squid proxy sendiri ternyata terdapat keterbatasan ruangan yang menumpuk pada kapasitas penyimpanan object cache, Karena cache memiliki ruang terbatas, cache harus secara efektif memutuskan objek mana yang layak di cache atau diganti untuk objek lain. Berdasarkan permasalahan yang ada maka dibutuhkan sebuah sistem yang dapat membantu untuk mengoptimalkan kinerja jaringan dan menghemat penggunaan dari bandwidth serta dapat mengelola ruang penyimpanan pada cache dengan mengimplementasikan proxy server cache dan menggunakan algoritma replacement cache. Dalam algoritma replacement cache itu sendiri memiliki beberapa metode penghapusan cache pada proxy server. Metode tersebut digunakan dalam squid untuk membantu penghapusan cache ketika kapasitas ruangan cache di proxy server penuh. Metode replacement cache yang diimplementasikan pada penelitian ini menggunakan Least recently Used (LRU) dan Least Frequently Used Dynamic Anging (LFUDA). Untuk menentukan metode replacement cache mana yang merupakan metode yang tepat dalam penghapusan data cache diperlukan machine learning dengan metode KNN (K-Nearest Neighbor) dalam membuat keputusan hal tersebut untuk menghitung analisa hasil pengujian dan menentukan metode yang efisien dalam penerapan penghapusan data cache pada server proxy Squid menggunakan linux ubuntu. Kata Kunci : Cache Proxy, Squid, LRU, LFU, Machine Learning
viii
Halaman ini sengaja dikosongkan
ix
ABSTRACT
Nama : Tyas Dratistiana
NBI : 1461600148
Judul Tugas Akhir : Determination of Replacement Cache Method on Clients
With Linux Ubuntu Using Machine Learning
Rapid technological developments increase the demand to increase access to internet services. Because the Internet must be a very important aspect, it is necessary to provide sufficient bandwidth to meet user demand when using internet services. One way to overcome this problem can be overcome by using a cache on Squid proxy to help reduce the burden of network traffic, reduce the delay received by users when accessing internet services, and reduce the burden on the origin server by storing destinations on the server. in the implementation of using cache in Squid proxy itself is activated in the space that accumulates in the cache storage capacity of the object, because the cache has limited space, the cache must be more effective in determining which objects are eligible to be cached or replaced for other objects. Based on these considerations, a system that can help to increase the availability and use of bandwidth and provide storage in the cache is needed by implementing a proxy server cache and using a cache replacement algorithm. In the replacement cache algorithm itself has several methods of solving the cache on the proxy server. This method is used in Squid to help clear the compiled cache in the full proxy server cache. The cache replacement method implemented in this study uses the recently used Least (LRU) and the least used dynamic anging (LFUDA). To determine which replacement cache method is the right method for deleting cache data, machine learning requires KNN (K-Nearest Neighbor) method in making the decision to calculate the analysis of test results and determine an efficient method for applying cache data deletion on the proxy server. Squid uses ubuntu linux. Kata Kunci : Cache Proxy, Squid, LRU, LFU, Machine Learning
x
Halaman ini sengaja dikosongkan
xi
DAFTAR ISI
LEMBAR PENGESAHAN TUGAS AKHIR ............................................................ i
PERNYATAAN KEASLIAN DAN PERSETUJUAN PUBLIKASI TA ................. iii
KATA PENGANTAR .............................................................................................. v
ABSTRAK .............................................................................................................. vii
DAFTAR ISI ............................................................................................................ xi
DAFTAR GAMBAR .............................................................................................. xv
DAFTAR TABEL ................................................................................................. xvii
DAFTAR PERSAMAAN ...................................................................................... xix
DAFTAR LAMPIRAN .......................................................................................... xxi
.............................................................................................................................. xxii
BAB 1 PENDAHULUAN ........................................................................................ 1
1.1 Latar Belakang .......................................................................................... 1
1.2 Rumusan Masalah ..................................................................................... 2
1.3 Batasan Masalah ........................................................................................ 3
1.4 Tujuan Penelitian ....................................................................................... 3
1.5 Manfaat Penelitian ..................................................................................... 3
1.6 Sistematika Penulisan ................................................................................ 4
BAB 2 TINJAUAN PUSTAKA DAN DASAR TEORI ........................................... 5
2.1 Studi Pustaka ............................................................................................. 5
2.1.1 Kajian Penelitian Membangun Cache Web Proxy ............................. 5
2.1.2 Kajian Penelitian Squid Server Pada Proxy Cache Video .................. 5
2.1.3 Kajian Penelitian Squid Proxy Server Pada Ubuntu Server ............... 6
2.1.4 Kajian Penelitian Algoritma Penggantian Cache .............................. 6
2.1.5 Kajian Penelitian Penerapan Penggantian Cache ............................... 6
2.1.6 Kajian Perbandingan Hit Ratio dengan Byte Hit Ratio ...................... 7
2.2 Landasan Teori .......................................................................................... 8
2.2.1 Pengertian Server ............................................................................... 8
2.2.2 Linux Ubuntu .................................................................................. 12
xii
2.2.3 Topologi Jaringan ............................................................................ 15
2.2.4 Proxy Server .................................................................................... 20
2.2.5 Squid ............................................................................................... 22
2.2.6 Caching............................................................................................ 23
2.2.7 Machine Learning ............................................................................ 25
2.2.8 K-NN (K-Nearest Neighbor) ........................................................... 27
2.2.9 Python ............................................................................................. 28
2.2.10 Metode Penggantian Cache ............................................................. 29
2.2.11 Hit Ratio .......................................................................................... 32
2.2.12 Byte Hit Ratio .................................................................................. 32
2.2.13 Access.log ....................................................................................... 33
BAB 3 METODOLOGI PENELITIAN ................................................................. 35
3.1 Metode Penelitian .................................................................................... 35
3.1.1 Studi Literatur .................................................................................. 36
3.1.2 Observasi Lapangan ........................................................................ 37
3.1.3 Analisis Kebutuhan.......................................................................... 37
3.1.4 Perancangan Jaringan ...................................................................... 37
3.1.5 Pengambilan Data ............................................................................ 38
3.1.6 Penerapan Metode ........................................................................... 39
3.2 Bahan dan Perangkat Penelitian .............................................................. 40
3.2.1 Perangkat Keras ............................................................................... 40
3.2.2 Perangkat Lunak .............................................................................. 42
BAB 4 HASIL DAN PEMBAHASAN ................................................................... 43
4.1 Instalasi Ubuntu ....................................................................................... 43
4.2 Proses Konfigurasi jaringan ..................................................................... 47
4.3 Proses Instalasi Jaringan .......................................................................... 49
4.4 Hasil Pengambilan Data Cache ............................................................... 51
4.5 Hasil Pengumpulan Data ......................................................................... 53
4.6 Implementasi Algoritma Pada Python ..................................................... 55
4.7 Analisa Pengujian Dengan Machine Learning ......................................... 57
xiii
BAB 5 PENUTUP.................................................................................................. 61
5.1 Kesimpulan ............................................................................................. 61
5.2 Saran........................................................................................................ 61
Daftar Pustaka ......................................................................................................... 63
DAFTAR LAMPIRAN ........................................................................................... 67
xiv
Halaman ini sengaja dikosongkan
xv
DAFTAR GAMBAR
Gambar 2.1 DHCP Server (Purba, 2013) .................................................................. 9
Gambar 2.2 Mail Server (Purba, 2013) ................................................................... 10
Gambar 2.3 DNS Server (Purba, 2013) ................................................................... 10
Gambar 2.4 FTP Server (Purba, 2013) .................................................................... 11
Gambar 2.5 Database Server (Purba, 2013) ............................................................ 12
Gambar 2.6 Proxy Server (Purba, 2013) ................................................................. 12
Gambar 2.7 Linux Edubuntu ................................................................................... 14
Gambar 2.8 Linux Xubuntu..................................................................................... 14
Gambar 2.9 Linux Xubuntu..................................................................................... 15
Gambar 2.10 Topologi Ring (maxmanroe, t.thn.) ................................................... 18
Gambar 2.11 Topologi Bus (maxmanroe, t.thn.) ..................................................... 18
Gambar 2.12 Topologi Star (maxmanroe, t.thn.) ..................................................... 19
Gambar 2.13 Cara Kerja Proxy (maxmanroe, t.thn.) ............................................... 21
Gambar 2.14 Cara Kerja Machine Learning (advenesia, 2019) ............................... 26
Gambar 2.15 Ilustrasi cara kerja algoritma LRU ..................................................... 30
Gambar 2.16 Ilustrasi request data baru pada LRU ................................................. 31
Gambar 2.17 Ilustrasi Penghapusan data lama pada LRU ....................................... 31
Gambar 3.1 Flowchart Penelitian ............................................................................ 35
Gambar 3.2 Flowchart Studi Literatur ..................................................................... 36
Gambar 3.3 Topologi Jaringan ................................................................................ 38
Gambar 3.4 Flowchat metode machine learning ..................................................... 39
Gambar 4.1 Halaman awal instalasi ubuntu ............................................................ 43
Gambar 4.2 Halaman opsi update software ............................................................. 44
Gambar 4.3 Halaman jenis instalasi ........................................................................ 44
Gambar 4.4 Halaman partisi hardisk ....................................................................... 45
Gambar 4.5 Halaman menu wilayah ....................................................................... 45
Gambar 4.6 Layout keyboard .................................................................................. 46
Gambar 4.7 Kredensial pengguna ........................................................................... 46
xvi
Gambar 4.8 Proses instalasi..................................................................................... 46
Gambar 4.9 Topologi Jaringan ................................................................................ 47
Gambar 4.10 konfigurasi Ip Address Client ............................................................ 48
Gambar 4.11 hasil dari cache .................................................................................. 49
Gambar 4.12 Setting alikasi Chrome pada client..................................................... 51
Gambar 4.13 Aktifitas traffic data client ................................................................. 52
Gambar 4.14 monitoring Requset data Dari Client.................................................. 53
Gambar 4.15 monitoring Storage yang telah diguanakan ........................................ 53
Gambar 4.16 Penghapusan data cache..................................................................... 53
Gambar 4.17 Hasil program app.py......................................................................... 55
Gambar 4.18 Hasil Hit Ratio Metode LRU ............................................................. 56
Gambar 4.19 Hasil Byte Hit Ratio Metode LRU ..................................................... 56
Gambar 4.20 Hasil Hit Ratio Metode LFU.............................................................. 57
Gambar 4.21 Hasil Byte Hit Ratio Metode LFU ..................................................... 57
Gambar 4.16 Hasil Metode KNN pada Machine Learning ...................................... 59
Gambar 4.17 Prediksi data baru .............................................................................. 60
Gambar 4.18 Hasil Prediksi data ............................................................................. 60
xvii
DAFTAR TABEL
Tabel 2.1 Ringkasan Tinjauan Pustaka ...................................................................... 7
Tabel 3.1 Spesifikasi Perangkat Keras Server ......................................................... 41
Tabel 3.2 Spesifikasi Perangkat Keras Client .......................................................... 41
Tabel 3.3 Spesifikasi Perangkat Lunak Server ........................................................ 42
Tabel 3.4 Spesifikasi Perangkat Lunak ................................................................... 42
Tabel 4.1 Keterangan perubahan parameter pada file squid.conf ............................ 50
Tabel 4.2 Daftar Ip Address Client .......................................................................... 54
Tabel 4.3 Rincian Waktu Pengumpulan Data .......................................................... 54
Tabel 4.4 List Dataset yang digunakan pada machine learning ............................... 58
xviii
Halaman ini sengaja dikosongkan
xix
DAFTAR PERSAMAAN
Persamaan (2. 1) : Rumus Menghitung Hit Ratio ...................................... 32
Persamaan (2. 2) : Rumus Menghitung Byte Hit Ratio ................................ 32
xx
Halaman ini sengaja dikosongkan
xxi
DAFTAR LAMPIRAN
Script Squid.conf ..................................................................................................... 67
Skript machine learning K-NN ................................................................................ 70
Skrip app.py ............................................................................................................ 71
Script predict.py ...................................................................................................... 72
Gambar Monitoring Proxy Server ........................................................................... 74
Gambar Uji Coba Komputer Client ......................................................................... 74
Implementasi Jaringan di Laboratorium Komputer ................................................. 75
Gambar Swicth Sebagai Penghubung Server dengan Client ................................... 75
xxii
Halaman ini sengaja dikosongkan