Dibuat oleh:
1. Qaris Firasya Al Hannan 25051204079
2. Ibrahim Soffa 25051204085
3. Bayu Fitrah Sulaiman 25051204214
4. Muhammad Athala Asshiddiq 25051204227
PENDAHULUAN
1.1. Latar Belakang
Dalam studi Sistem Operasi, pemahaman mengenai bagaimana sistem operasi mengelola sumber daya jaringan dan mengeksekusi layanan (services) merupakan kompetensi yang sangat penting. Salah satu penerapan nyatanya adalah pembangunan arsitektur client-server, di mana sebuah sistem bertindak sebagai penyedia layanan (server) dan sistem lain bertindak sebagai peminta layanan (client).
Praktikum ini menggunakan lingkungan
virtualisasi (Virtual Machine) dengan sistem operasi Kali Linux untuk
menyimulasikan server fisik. Penggunaan virtualisasi memungkinkan isolasi lingkungan
jaringan yang aman untuk melakukan pengujian tanpa mengganggu konfigurasi sistem
operasi utama (Host OS). Melalui Command Line Interface (CLI), konfigurasi
jaringan dapat diidentifikasi dan dikelola secara langsung, yang kemudian
dilanjutkan dengan penyebaran (deployment) layanan web server sederhana
menggunakan modul bawaan Python. Eksperimen ini menjembatani teori jaringan
lokal dan fungsi dasar sistem operasi dalam menangani lalu lintas data antar
platform yang berbeda.
1.2. Tujuan
1. Memahami instruksi CLI dasar pada Linux, khususnya untuk navigasi direktori dan manajemen sistem.
2. Mengidentifikasi dan menganalisis konfigurasi antarmuka jaringan (Network Interface) beserta penugasan alamat IP (IP Address) pada mesin virtual.
3. Mampu mengimplementasikan dan menjalankan layanan web server lokal secara mandiri menggunakan modul HTTP Server dari Python.
4. Melakukan pengujian konektivitas cross-platform antara Guest OS (Kali Linux) dan Host OS (Windows) untuk memvalidasi arsitektur jaringan client-server.
BAB II
TEORI DASAR
2.1 Virtualisasi dan Sistem Operasi Guest
Virtualisasi adalah teknologi yang
memungkinkan pembuatan versi virtual dari sesuatu yang bersifat fisik, seperti
sistem operasi, server, perangkat penyimpanan, atau sumber daya jaringan. Dalam
konteks praktikum ini, Hypervisor (seperti VirtualBox) digunakan untuk
menjalankan Kali Linux sebagai Guest OS di atas Windows 11 sebagai Host OS.
Lingkungan virtual ini memiliki kartu jaringan virtualnya sendiri yang
memungkinkannya berkomunikasi dengan mesin fisik melalui konfigurasi jaringan
tertentu (misalnya NAT, Bridged, atau Host-Only).
2.2 Antarmuka Jaringan dan Alamat IP
Setiap perangkat yang terhubung ke dalam
jaringan komputer membutuhkan identitas unik yang disebut Internet Protocol
(IP) Address. Pada sistem operasi berbasis Linux, identifikasi antarmuka
jaringan dapat dilakukan melalui utilitas baris perintah seperti ip a.
Antarmuka standar seperti eth0 (Ethernet) digunakan untuk koneksi jaringan
lokal, sedangkan lo (Loopback) digunakan untuk diagnosa internal komputer itu
sendiri.
2.3 Protokol HTTP dan Modul Python HTTP Server
Hypertext Transfer Protocol (HTTP) adalah
protokol tingkat aplikasi yang digunakan untuk distribusi sistem informasi
kolaboratif. Server web adalah perangkat lunak yang merespons permintaan HTTP
dari klien (biasanya web browser). Bahasa pemrograman Python menyediakan modul
bawaan http.server yang memungkinkan pengguna dengan cepat mengubah direktori
yang sedang aktif di terminal menjadi layanan web lokal tanpa perlu melakukan
instalasi perangkat lunak server web kompleks seperti Apache atau Nginx. Modul
ini secara default merespons permintaan dengan menampilkan file index.html jika
tersedia, atau menampilkan daftar direktori (directory listing).
BAB III
PROSEDUR PRAKTIKUM
3.1. Perangkat Keras dan Perangkat Lunak
● Perangkat Keras: PC/Laptop
Host yang terhubung ke jaringan lokal.
● Sistem Operasi Utama (Host OS): Windows 11 (sebagai Web Client).
● Perangkat Lunak Virtualisasi: Oracle VM VirtualBox.
● Sistem Operasi Virtual (Guest OS): Kali Linux 2026.1 (sebagai Web Server).
● Dependencies: Python 3 dan Web Browser (Google
Chrome/Firefox).
3.2. Langkah-Langkah
1. Buka aplikasi terminal pada Kali Linux.
2. Ketikkan perintah ip a untuk mengecek antarmuka jaringan. Catat antarmuka eth0 dan IP Address yang tertera (dalam hal ini 192.168.0.108). IP ini akan digunakan sebagai alamat tujuan server.
3. Buat direktori baru khusus untuk praktikum dengan perintah mkdir (misalkan, dalam hal ini perintahnya: mkdir Test).
4. Gunakan perintah ls untuk memverifikasi bahwa direktori telah berhasil dibuat.
5. Masuk ke dalam direktori tersebut menggunakan perintah: cd Test
6. Buat halaman web statis sederhana dengan memasukkan string HTML ke dalam sebuah file teks. Gunakan perintah echo (misalkan, dalam hal ini:
echo ”<h1>Seting jaringan, koneksi, dan web server berhasil :Dk</h1>" > index.html)
7. Jalankan server HTTP lokal di dalam direktori tersebut menggunakan perintah: python3 -m http.server 8080
8. Terminal akan memblokir input baru dan menampilkan pesan bahwa server sedang melayani (Serving HTTP) pada port 8080.
9. Beralih ke Host OS (Windows 11), buka aplikasi Web Browser.
10. Pada bilah alamat (address bar), ketikkan...
”http://” + ’IP address mesin virtual’ + ”:” + ”nomor port” + ”/”
(dalam hal ini http://192.168.0.108:8080/) lalu tekan Enter untuk mengakses server)
11. Praktikum berhasil jika tampil ketikan dari perintah echo
(dalam hal ini: Seting jaringan, koneksi, dan web server berhasil!)
3.3 Hasil Pengujian Konektivitas
· Sisi Client (Windows Host): Web browser berhasil render elemen HTML (Header 1) dan menampilkan teks " Seting jaringan, koneksi, dan web server berhasil!". Tidak ada pesan error/Time Out atau Connection Refused, membuktikan bahwa jalur jaringan (routing) dari Host OS ke Guest OS berjalan dengan lancar.
· Sisi Server (Kali Linux Terminal): Terminal mencatat log permintaan akses masuk (request ;og) dari client. Tercatat log: 192.168.0.101 - - [...] "GET / HTTP/1.1" 200 -.
o 192.168.0.101 adalah alamat IP dari Host OS yang
bertindak sebagai klien.
o GET / HTTP/1.1 menunjukkan metode permintaan protokol
HTTP untuk mengambil data di root directory (/).
o Kode 200 adalah HTTP Status Code yang berarti
"OK" atau permintaan telah berhasil diproses oleh server tanpa
kesalahan.input:
3.5. Dokumentasi Hasil
Figur 3-1. Praktikum
menggunakan guest OS Kali Linux
|
┌──(kali㉿kali)-[~] └─$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu
65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever 2: eth0:
<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP
group default qlen 1000
link/ether 08:00:27:d3:31:f0 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.108/24 brd 192.168.0.255 scope global dynamic
noprefixroute eth0
valid_lft 7131sec preferred_lft 7131sec
inet6 fe80::3297:87da:b3b3:45b1/64 scope link noprefixroute
valid_lft forever preferred_lft forever
┌──(kali㉿kali)-[~] └─$ mkdir Test
┌──(kali㉿kali)-[~] └─$ ls Desktop
Documents Downloads Music
Pictures Public Templates
Test Videos
┌──(kali㉿kali)-[~] └─$ cd Test
┌──(kali㉿kali)-[~/Test] └─$ echo "<h1>Seting jaringan, koneksi, dan
web server berhasil :D</h1>" > index.html
┌──(kali㉿kali)-[~/Test] └─$ python3 -m http.server 8080 Serving HTTP on 0.0.0.0 port 8080
(http://0.0.0.0:8080/) ... 192.168.0.101 - - [23/May/2026 00:14:40]
"GET / HTTP/1.1" 200 - |
Figur 3-2. Salinan dari
seluruh teks pada layar terminal
BAB IV
PENUTUP
4.1 Kesimpulan
1. Mesin virtual dapat beroperasi secara penuh sebagai entitas node independen di dalam jaringan lokal dengan alamat IP dinamis/statis (192.168.0.108) yang dapat dijangkau oleh sistem fisik.
2. Lingkungan Command Line Interface (CLI) Linux sangat efisien dalam mengeksekusi instruksi manajemen sistem, terbukti dari pembuatan direktori dan manipulasi file teks yang dapat dilakukan hanya dengan hitungan baris perintah dasar (mkdir, echo).
3. Modul http.server pada Python merupakan solusi instan yang sangat andal untuk melakukan deployment server web sementara (ad-hoc) guna memverifikasi transmisi data protokol HTTP, dibuktikan dengan tercetaknya kode status 200 saat Host OS berhasil mengambil halaman HTML yang telah dikonfigurasi.
DAFTAR PUSTAKA
Silberschatz, A., Galvin, P. B., & Gagne, G. (2018). Operating
System Concepts (10th ed.). Wiley.
Kurose, J. F., & Ross, K. W. (2017). Computer Networking: A Top-Down
Approach (7th ed.). Pearson.
Python Software Foundation. (2026). http.server — HTTP servers.
Python 3 Documentation.
Tidak ada komentar:
Posting Komentar