IMPLEMENTASI MONGODB DAN REDIS PADA DOCKER CONTAINER
TUGAS AKHIR
Sebagai Persyaratan Guna Meraih Gelar Ahli Madya D3 Teknik Elektronika Universitas Muhammadiyah Malang
Disusun Oleh:
ACHMAD AINUN NAJIB 201610150511014
JURUSAN D3 TEKNIK ELEKTRONIKA FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH MALANG
2020
i
LEMBAR PERSETUJUAN
IMPLEMENTASI MONGODB DAN REDIS PADA DOCKER CONTAINER
Diajukan Untuk Memenuhi Syarat Memperoleh Gelar Ahli Madya (D-3) Program Studi D3 Teknik Elektronika Fakultas Teknik Universitas
Muhammadiyah Malang
Disusun Oleh:
ACHMAD AINUN NAJIB NIM. 201610150511014
Diperiksa dan disetujui oleh,
Pembimbing I Pembimbing II
Amrul Faruq, ST., M.Eng Ir. M. Irfan, MT
NIDN: 0718028601 NIDN: 0705106601
ii
LEMBAR PENGESAHAN
IMPLEMENTASI MONGODB DAN REDIS PADA DOCKER CONTAINER
Diajukan Untuk Memenuhi Syarat Memperoleh Gelar Ahli Madya (D-3) Program Studi D3 Teknik Elektronika Fakultas Teknik Universitas
Muhammadiyah Malang Disusun Oleh:
ACHMAD AINUN NAJIB 201610150511014
Tanggal Ujian: - Periode Wisuda: - Disetujui Oleh:
1. Amrul Faruq, ST., M.Eng (Pembim bing I)
NIDN: 0718028601
2. Ir. M. Irfan, MT (Pembim bing II)
NIDN: 0705106601
3. Machmud Effendy, ST, M (Penguji I)
NIDN: 0715067402
4. Zamah Sari, ST., MT. (Penguji II)
NIDN: 0708087701
Mengetahui Ketua Program Studi,
Dr. Zulfatman, M.Eng., P.hD.
NIDN: 709117804
iii
LEMBAR PERNYATAAN
Yang bertanda tangan dibawah ini :
Nama : Achmad Ainun Najib
Tempat Tanggal Lahir : Tuban, 07 April 1996
NIM : 201610150511014
Fakultas/Jurusan : Teknik/D3 Teknologi Elektronika
Dengan ini saya menyatakan bahwa Tugas Akhir dengan judul “Implementasi MongoDB dan Redis Pada Docker Container” beserta isinya adalah karya peneliti sendiri dan bukan merupakan karya orang lain, baik sebagian maupun seluruhnya, kecuali dalam bentuk kutipan yang telah disebutkan sumbernya.
Demikian surat pernyataan ini dibuat dengan sebenar-benarnya. Apabila kemudian ditemukan adanya pelanggaran terhadap etika keilmuan dalam karya peneliti ini, atau adanya klaim dari pihak lain terhadap karya peneliti ini maka peneliti siap menanggung segala bentuk risiko atau sanksi yang berlaku.
Malang, Yang Menyatakan
Achmad Ainun Najib 201610150511014
Mengetahui
Pembimbing I Pembimbing II
Amrul Faruq, ST., M.Eng Ir. M. Irfan, MT
NIDN: 0718028601 NIDN: 0705106601
iv
ABSTRAK
Perkembangan teknologi informasi dan virtualisasi sangat mempengaruhi akivitas kehidupan sehari-hari dalam memperoleh informasi dunia luar dan integrasi data. Berkembangannya teknologi khususnya aplikasi berbasis web membuat penyimpanan data dalam sistem basis data semakin meningkat, mengakibatkan saat menyimpan data ataupun mengelola data dengan ukuran data yang cukup besar dapat menyebabkan masalah pada skalabilitas, dikarenakan adanya penambahan data yang berlangsung setiap waktu yang membuat struktur hubungan relasi menjadi rumit, sehingga munculnya aplikasi basis data baru yang menyediakan kecepatan basis data agar tetap maksimal dengan penyimpanan data yang tidak rumit yaitu aplikasi MongoDB dan Redis yang digunakan banyak pengguna teknologi sebagai penyimpan data utama di dalam memori yang sangat cepat dengan struktur data yang fleksibel. Berdasarkan dari permasalahan yang ada, penelitian ini dibuat sebuah rancangan MongoDB dan Redis yang akan diimplementasikan pada docker sebagai aplikasi penghubung antara container, sehingga pengujian alat ini menghasilkan data image container yang membuat beberapa paket sistem data diantaranya Mongodb dan Redis dapat dikonfigurasikan menjadi satu paket data image container docker. Maka dengan adanya implementasi MongoDB dan Redis pada docker container ini dapat membantu dan memudahkan pengguna teknologi virtualsasi dalam melakukan proses integrasi data dengan memanfaatkan docker container sehingga proses penyebaran data menjadi lebih cepat dan efesien.
Kata Kunci: MongoDB, Redis, Kontainer Docker
v
ABSTRACT
. The development of information technology and virtualization greatly affects the activities of daily life in obtaining information from the outside world and data integration. The development of technology, especially web-based applications, has made data storage in database systems increasing, resulting in when storing data or managing data with a large enough data size can cause problems with scalability, due to additional data that occurs all the time which makes the structure of the relationship complicated , so that the emergence of a new database application that provides maximum database speed with uncomplicated data storage, namely the MongoDB and Redis applications which are used by many technology users as the main data store in memory which is very fast with a flexible data structure. Based on the existing problems, this research created a MongoDB and Redis design which will be implemented in Docker as a liaison application between the containers, so that the testing of this tool produces an image data container which makes several data system packages including Mongodb and Redis can be configured into one image data package.
container docker. So with the implementation of MongoDB and Redis on this docker container it can help and facilitate virtualization technology users in the data integration process by utilizing the docker container so that the data distribution process becomes faster and more efficient.
Keywords: MongoDB, Redis, Docker Container
vi
LEMBAR PERSEMBAHAN
Syukur Alhamdulillah atas kehadirat Allah SWT dengan limpahan hidayah, rahmat dan karunia-Nya, shalawat serta salam senantiasa tercurahkan kepada junjungan Nabi besar Rasulullah Muhammad SAW. Tiada kata selain puji syukur dan terima kasih karena penulis dapat menyelesaikan Tugas Akhir ini.
Oleh karena itu, dengan penuh kerendahan hati penulis menyampaikan ucapan terima kasih yang sebesar-besarnya kepada:
1. Segala puji dan segala puji-pujian hanya untuk dan milik Allah SWT, yang Maha Pemberi Petunjuk, Maha Pemberi Kemudahan.
2. Untuk Ayah dan Ibu, terima kasih atas kasih sayang yang berlimpah dari mulai saya lahir, hingga saya sudah sebesar ini, terima kasih juga atas limpahan doa yang tiada tara.
3. Untuk kakak dan adik terima kasih doa yang telah diberikan dan selalu menyemangati terus menerus tanpa henti.
4. Dosen pembimbing Ir. Nur Kasan, M.T, dan Bapak Zamah Sari, S.T, M.T yang telah membimbing saya selama pengerjaan Tugas Akhir ini. Semoga Allah membalas semua jasa bapak sekalian, karena penulis tidak dapat membalas semua jasa bapak secara langsung.
5. Seluruh dosen Teknik Elektro Fakultas Teknik Universitas Muhammadiyah Malang yang telah mengajarkan ilmu kepada penulis dan tak akan pernah dapat penulis untuk membalasnya. Semoga Allah SWT membalas semua jasa bapak dan ibu, karena penulis tidak dapat membalas semua jasa bapak/ibu secara langsung.
6. Terima kasih kepada teman teman seperjuangan angkatan 2016 yang selalu menemani dalam proses pengerjaan.
7. Dan terima kasih ke dia yang selalu ada membantuku dan memberiku semangat disetiap aku kesusahan dan senang.
vii
KATA PENGANTAR
Assalamu’alaikum Warahmatullahi Wabarakatuh
Dengan memanjatkan puja dan puji syukur kehadirat Allah SWT atas segala rahmat serta hidayah-Nya kepada penulis dapat menyelesaikan Tugas Akhir ini yang berjudul:
“Implementasi MongoDB dan Redis Pada Docker Container”
Tugas Akhir ini merupakan salah satu syarat studi yang harus ditempuh oleh seluruh mahasiswa Universitas Muhammadiyah Malang, guna menyelesaikan akhir studi pada jenjang program Diploma 3.
Dalam penulisan laporan ini penulis tentu tidak terlepas dari bantuan dan bimbingan dari berbagai pihak yang telah dengan ikhlas memberikan bantuan baik secara moril maupun spiritual sehingga penulis dapat menyelesaikan Tugas Akhir ini.
Penulis sangat menyadari sepenuhnya bahwa dalam penulisan Tugas Akhir ini masih banyak kekurangan dan keterbatasan. Oleh karena itu penulis mengharapkan saran yang membangun agar tulisan ini bermanfaat bagi perkembangan ilmu pengetahuan dan perkembangan teknologi kedepannya.
Malang
Penulis
viii
DAFTAR ISI
Halaman
LEMBAR PERSETUJUAN ... i
LEMBAR PENGESAHAN... ii
LEMBAR PERNYATAAN ... iii
ABSTRAK... iv
ABSTRACT ... v
LEMBAR PERSEMBAHAN ... vi
KATA PENGAN TAR ... vii
DAFTAR ISI ... viii
DAFTAR GAMBAR ... x
DAFTAR TABEL... xii
BAB IPENDAHULUAN ... 1
1.1 Latar Belakang...1
1.2 Rumusan Masalah ...3
1.3 Batasan Masalah ...3
1.4 Tujuan...3
1.5 Manfaat...3
BAB IITINJAUAN PUSTAKA ... 4
2.1 MongoDB ...4
2.2 Redis ...4
2.3 Docker ...4
BAB IIIPERANCANGAN SISTEM ... 7
3.1 Tahapan Penelitian ...7
3.2 Perancangan Diagram Alir Sistem...7
3.3 Metode Rancangan ...9
ix
3.4 Rancangan Arsitektur Sistem...10
3.5 Rancangan Topologi ...10
3.6 Konfigurasi ...11
3.7 Kebutuhan Hardware Dan Software...12
BAB IVHASIL DAN ANALISA PENGUJIAN ... 13
4.1 Implementasi Sistem...13
4.2 Konfigurasi ...14
4.2.1 MongoDB...14
4.2.2 Redis...17
4.2.3 Docker-Java ...18
4.3 Hasil Pengujian ...20
4.2.1 Hasil Tabel Pengujian Setiap Container...20
4.2.2 Hasil Pengujian Tahap Akhir...20
4.2.5 Hasil Pengujian Data Perbandingan ...22
BAB VPENUTUP ... 23
5.1 Kesimpulan...23
5.2 Saran ...23
DAFTAR PUSTAKA ... 24
LAMPIRAN ... 26
x
DAFTAR GAMBAR
Gambar 2.1 MongoDB ...4
Gambar 2.2 Redis ...4
Gambar 2.3 Docker...5
Gambar 3.1 Proses tahapan pengerjaan penelitian ... 7
Gambar 3.2 Model perancangan sistem...8
Gambar 3.3 Arsitektur umum sistem docker ...10
Gambar 3.4 Rancangan Topologi ...10
Gambar 3.5 Instalasi package yang dibutuhkan ...11
Gambar 3.6 Menambahkan GPG key ...11
Gambar 3.7 Menambahkan repository ...11
Gambar 3.8 Instalasi docker ...11
Gambar 3.9 Cek status layanan docker...12
Gambar 3.10 Membuat docker image ...12
Gambar 4.1 Menampilkan data Image Docker... 13
Gambar 4.2 Menampilkan Network Docker ...13
Gambar 4.3 Menampilkan container ...14
Gambar 4.4 Mengambil data image MongoDB ...14
Gambar 4.5 Membuat data container pada MongoDB ...14
Gambar 4.6 Menambahkan volume data pada MongoDB...15
Gambar 4.7 Menjalankan MongoDB ...15
Gambar 4.8 Menampilkan status MongoDB secara detail ...15
Gambar 4.9 Masuk ke dalam sistem MongoDB...15
Gambar 4.10 Menampilkan database...16
Gambar 4.11 Masuk ke dalam database admin...16
Gambar 4.12 Memasukkan data ke database admin ...16
Gambar 4.13 Pengecekan database yang dimasukkan...16
Gambar 4.14 Keluar dari sistem MongoDB ...16
Gambar 4.15 Menjalankan link localhost container Mongodb...17
Gambar 4.16 Tampilan website database mongodb ...17
xi
Gambar 4.17 Tampilan dalam database admin...17
Gambar 4.18 Mengambil data image Redis ...17
Gambar 4.19 Membuat container pada Redis ...18
Gambar 4.20 Menampilkan status Redis secara detail ...18
Gambar 4.21 Pengecekan status redis ...18
Gambar 4.22 Membuat data image Docker-Java ...19
Gambar 4.23 Membuat container pada Docker-Java ...19
Gambar 4.24 Menjalankan semua container yang telah dibuat ...19
Gambar 4.25 Menampilkan status Docker-Java secara detail...19
Gambar 4.26 Login ke sistem Docker ...20
Gambar 4.27 Meng-upload image container...21
Gambar 4.28 Tampilan repository image container yang sudah di-upload ...21
Gambar 4.29 Pengunduhan image container docker...21
xii
DAFTAR TABEL
Tabel 4.1 Hasil pengujian setiap container ...20 Tabel 4.2 Hasil perbandingan penerapan metode docker container ... 22
24
DAFTAR PUSTAKA
[1] S. Wongkar, A. Sinsuw, and X. Najoan, "Analisa Implementasi Jaringan Internet Dengan Menggabungkan Jaringan LAN dan WLAN di Desa Kawangkoan Bawah Wilayah Amurang II," E-Journal Teknik Elektro dan Komputer, vol. 4, no. 6, pp. 62-68, 2015.
[2] J. Hasugian, "Pemanfaatan Internet Studi Kasus Tentang Pola, Manfaat dan Tujuan Penggunaan Internet Oleh Mahasiswa pada Perpustakaan USU,"
Jurnal Studi Perpustakaan dan Informasi, vol. 1, no. 1, pp. 7-18, Juni 2005.
[3] T. Ardiantor, J. Triyono, and E. Fatkhiyah, "Optimasi Rancangan jaringan Komputer Menggunakan Google Sketchup," Jurnal Jarkom, vol. 4, no. 1, pp.
81-88, Desember 2016.
[4] Danny Kriestanto and Arnado Alif, "Implementasi Website Pencarian Kos dengan NoSQL," JIKO (Jurnal Informatika dan Komputer, vol. 2, no. 2, pp.
103-108, September 2017.
[5] Tanjung P Kusuma, Rendy Munadi, and Danu Dwi Sanjoyo, "Implementasi dan Analisis Computer Clustering System dengan Menggunakan Virtualisasi Docker," e-Proceeding of Engineering, vol. 4, no. 3, p. 3548, Desember 2017.
[6] M Dhani Anwari and Maryanto R., Panudan Mudah Membuat dan Mengelola Web Hosting. Jakarta: Dian Rakyat, 2004.
[7] M. F. R Bik, "Implementasi Dokcer Untuk Pengelolaan Banyak Aplikasi Web (Studi Kasus: Jurusan Teknik Informatika Unesa)," Jurnal Manajemen Informatika, vol. 7, no. 2, pp. 46-50, 2017.
[8] Firmansyah Adiputra, "Container dan Docker: Teknik Virtualisasi dalam Pengelolaan Banyak Aplikasi Web," Jurnal Simantec, vol. 4, no. 3, pp. 167- 176, Juni 2015.
[9] Saleh Dwiyatno, Edy Rakhmat, and Oki Gustiawan, "Implementasi Virtualisasi Server Berbasis Docker Container," Jurnal PROSISKO, vol. 7, no. 2, September 2020.
[10] Mohammad Rexa Mei Bella, Mahendra Data, and Widhi Yahya,
25
"Implementasi Load Balancing Server Web Berbasis Docker Swarm Berdasarkan Penggunaan Sumber Daya Memory Host," Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer, vol. 3, no. 4, April 2019.
26