LAPORAN MODUL PRAKTIK WSL
Dosen Pengampu :
Kholiq Budiman S.Pd.,M.Kom.
Disusun Oleh :
Iswanda Febriantoro
2404130094
MATA KULIAH SISTEM OPERASI
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS NEGERI SEMARANG
TAHUN 2024/2025
DAFTAR ISI
DAFTAR ISI .......................................................................................................................... 2
BAB I ..................................................................................................................................... 3
PENDAHULUAN ................................................................................................................... 3
1.1 Tujuan Modul Praktik ................................................................................................... 3
1.2 Pentingnya WSL .......................................................................................................... 3
1.3 Apache dan Nginx........................................................................................................ 4
BAB II .................................................................................................................................... 5
PEMBAHASAN ..................................................................................................................... 5
2.1 Aktivitas Praktik Minggu demi Minggu .......................................................................... 5
2.1.1 Minggu Pertama : Instalasi Apache melalui WSL .................................................. 5
Tujuan Praktik Minggu Pertama : ................................................................................... 9
2.1.2 Minggu Kedua : Konfigurasi DNS Server (Bind9)................................................... 9
Tujuan Praktik Minggu Kedua :..................................................................................... 14
2.1.3 Minggu Ketiga : Manajemen Proses WSL ........................................................... 14
Tujuan Praktik Minggu Ketiga : ..................................................................................... 18
2.2 Diskusi dan Analisis ................................................................................................... 18
Rangkuman Praktik ...................................................................................................... 19
BAB III ................................................................................................................................. 20
PENUTUP ........................................................................................................................... 20
3.1 Kesimpulan ................................................................................................................ 20
3.2 Referensi ................................................................................................................... 20
BAB I
PENDAHULUAN
1.1 Tujuan Modul Praktik
Tujuan Praktik WSL adalah agar mahasiswa memperoleh pemahaman mendalam
tentang manajemen proses dan kontrol dalam sistem operasi dengan memanfaatkan
pengalaman langsung melalui WSL. Mahasiswa diharapkan untuk menguasai konsep-konsep
penting seperti konkurensi, sinkronisasi, dan mutual exclusion, serta kemampuan untuk
mengidentifikasi dan mengatasi masalah deadlock dan starvation. Modul ini juga bertujuan
untuk mengembangkan keterampilan praktis mahasiswa dalam virtualisasi dan hosting,
termasuk dalam penyiapan server web, server DNS, dan penerapan SSL. Dengan mengikuti
modul ini, diharapkan mahasiswa mampu mengintegrasikan teori dan praktik dalam
manajemen sistem operasi dan pengembangan lingkungan server yang aman dan efisien.
1.2 Pentingnya WSL
Subsistem Windows untuk Linux (WSL) bukan menjadi tools yang tidak asing ditelinga
kita dan merupakan tools yang paling banyak digunakan. WSL ini dikembangkan Microsoft
pada tahun 2016 dan memudahkan bagi para pengguna khususnya para software developer
untuk menggunakan aplikasi pada OS Windows. WSL didesain dan dibangun oleh Windows
Kernel Team yang bekerjasama dengan Canonical untuk perkembangan yang bisa digunakan
di Windows dan juga agar mendapatkan ekosistem Linux dan tools yang lengkap yang bisa
digunakan di Windows tanpa perlu untuk boot ke OS lainnya.
Windows Subsystem for Linux (WSL) adalah fitur yang memungkinkan menjalankan
Linux dalam sistem operasi Windows. WSL adalah alat yang berguna bagi pengembang
perangkat lunak yang membutuhkan sistem operasi Linux tetapi menggunakan Windows untuk
pekerjaan sehari-hari. Meskipun dapat menginstal mesin virtual seperti VirtualBox di
laptop/komputer yang menjalankan Windows, WSL sekarang lebih praktis dan ringan
dibandingkan dengan menggunakan VirtualBox, meskipun ada beberapa keterbatasan. Sejak
awal, WSL terutama dikembangkan untuk pengembang. Microsoft menyatakan bahwa WSL
adalah alat utama bagi pengembang, khususnya pengembang web. Ini dirancang untuk individu
yang banyak menggunakan Bash, alat Linux umum (seperti sed, awk, dan lainnya), serta tugas-
tugas Linux-first seperti Ruby, Python, sementara juga membutuhkan Windows untuk
pekerjaan mereka. Dengan WSL, Anda dapat menjalankan Linux dalam shell Bash,
menggunakan berbagai distribusi Linux seperti Ubuntu, Debian, OpenSUSE, Kali, Alpine, dan
lainnya.
1.3 Apache dan Nginx
Apache adalah server web lintas plaltform dengan sumber terbuka yang sangat populer,
Apache dikelola secara aktif oleh Apache Software Foundation. Selain popularitasnya yang
tinggi dan banyak digunakan apache juga merupakan server web tertua dan dirilis pada tahun
1995. Apache mendukung berbagai fitur, fitur - fitur ini dapa berkisar dari skema autentifikasi
bahkan hingga dukungan bahasa pemrogaman seperti Perl, Tcl, PHP, Python. Contoh fitur
lainnya meliputi dukungan Transport Layer Security dan Secure Sockets Layer.
Nginx adalah server web yang juga dapat digunakan sebagai proxy terbalik,
penyeimbang, proxy email dan cache HTTP. Nginx dapat dikonfigurasi untuk penyajian konten
web atau sebagai server proxy. Dengan Nginx satu proses utama dapat mengendalikan beberapa
proses pekerja, disisi lain pekerja melakukan pemrosesan yang sebenarnya. Nginx dapat
mengeksekusi setiap permintaan secara bersamaan tanpa memblokir permintaan lainnya. Nginx
berada pada posisi kedua sebagai server web sumber terbuka paling populer.
BAB II
PEMBAHASAN
2.1 Aktivitas Praktik Minggu demi Minggu
2.1.1 Minggu Pertama : Instalasi Apache melalui WSL
1. Buka aplikasi Ubuntu, jika belum instal Ubuntu bisa install dulu, setelah masuk ke
aplikasi Ubuntu masukkan perintah : sudo apt update
2. Setelah itu masukkan perintah : sudo apt install apache2
3. Selanjutnya masukkan perintah sudo ufw enable perintah ini berfungsi untuk
mengaktifkan firewall UFW. Setelah menjalankan perintah diatas lalu masukkan
perintah lagi sudo ufw status untuk memeriksa status apache.
4. Selanjutnya yaitu mengecek status apache sudah berjalan apa belum kita bisa
mengeceknya dengan memasukkan perintah sudo systemctl status apache2 apabila
output sudah sepeti pada gambar dibawah berarti apache sudah berjalan.
5. Ada juga cara lain untuk mengeceknya yaitu dengan meminta alamat ip yang kita
gunakan dengan memasukkan perintah hostname -I
6. Setelah mendapatkan alamat ip kita bisa mengeceknya dengan memasukkan alamat ip
tersebut kedalam bilah pencarian di browser jika tidak ada masalah akan muncul seperti
gambar dibawah ini.
7. Sebelum melanjutkan ke proses berikutnya pastikan apache sudah terinstall dengan baik
dan dapat dijalankan tanpa adanya error. Selanjutnya yaitu membuat Host Virtual
diproses ini kita memerlukan domain dan saya menggunakan domain localhost, ikuti
langkah – langkah gambar dibawah ini.
8. Langkah selanjutnya yaitu kita perlu membuat file html dengan memasukkan perintah
sudo nano /var/www/coradine/index.html dan nanti akan muncul bash dan isi dengan
kode seperti pada gambar dibawah ini. Simpan dengan ctrl x lalu y dan enter. Setelah
selesai, mulai ulang Apache untuk menerapkan perubahan masukkan perintah sudo
systemctl restart apache2.
9. Selanjutnya yaitu membuat berkas Host Virtual dengan cara memasukkan perintah
sudo nano /etc/apache2/sites-available/your_domain.conf lalu isi bash seperti pada
gambar berikut.
10. Selanjutnya kita bisa mengetesnya dengan membuka browser dan mengetik
http://your_domain. dan nanti akan muncul seperti pada gambar dibawah ini.
Tujuan Praktik Minggu Pertama :
Tujuan praktik minggu pertama adalah memberikan cara langkah demi langkah dalam
melakukan instalasi Apache Server menggunakan WSL. Dan membuat website localhost
dengan menggunakan Apache menggunakan WSL.
2.1.2 Minggu Kedua : Konfigurasi DNS Server (Bind9)
1. Langkah pertama yaitu dengan mengistal Bind9 terlebih dahulu dengan memasukkan
perintah sudo apt install bind9 bind9utils bind9-doc.
2. Selanjutnya yaitu mengedit file named.conf,local yang digunakan untuk menentukan
zona DNS local untuk domain pribadi langkah ini bisa dilakukan dengan memasukkan
perintah sudo nano /etc/bind/named.conf.local dengan mengganti named menjadi
nama domain kita, jika sudah dienter lalu ubah bash tersebut dengan seperti yang ada
di gambar dibawah ini.
3. Selanjutnya yaitu membuat zona file dengan memasukkan perintah sudo cp
/etc/bind/db.local /etc/bind/db.mydomain dengan mengganti my domain dengan
nama domain kita. Jika sudah masukkan perintah sudo nano /etc/bind/db.mydomain
untuk mengedit domain dan alamat ip.
SEBELUM DI EDIT :
SESUDAH :
4. Setelah mengedit jangan lupa disimpan, Setelah disimpan kita masuk ke langkah
berikutnya yaitu dengan melakukan RESTART Bind9 dengan cara memasukkan
perintah sudo service bind9 restart setelah melakukan restart kita dapat mengecek
konfigurasi DNS yang telah kita buat, kita dapat mengeceknya dengan cara
memasukkan perintah berikut : dig mydomain.local dengan mengganti mydomain
menjadi nama domain kita.
5. Bila status DNS telah memiliki keterangan NOERROR, Maka proses konfigurasi
DNS telah berhasil.
Minggu Kedua : Menginstall SSL
1. Langkah pertama yaitu menginstal cerbot terlebih dahulu yaitu dengan memasukkan
perintah sudo apt install certbot python3-certbot-nginx
2. Langkah selanjutnya yaitu kita harus menginstall ssl terlebih dahulu dengan cara
memasukkan perintah sudo apt install open ssl
3. Setelah selesai menginstalnya kita bisa mengatifkannya dengan memasukkan perintah
sudo a2enmod ssl
4. Langkah selanjutnya yaitu restart apache terlebih dahulu dengan memasukkan perintah
sudo systemctl restart apache2 jika sudah di restart kita bisa melanjutkan ke langkah
berikutnya yaitu membuat sertifikat pribadi, sebelum membuat sertifikat pribadi kita
harus membuat folder etc ssl private dengan memasukkan perintah sudo mkdir -p
/etc/ssl/private dan selanjutnya masukkan perintah sudo chmod 700 /etc/ssl/private
untuk mengatur izin direktori menjadi 700 dan salanjutnya memasukkan perintah sudo
root:root /etc/ssl/private untuk mengubah kepemilikan direktori menjadi user root.
Selanjutnya yaitu dengan memasukkan perintah sudo openssl req -x509 -nodes -days
365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out
/etc/ssl/certs/apache-selfsigned.crt
5. Setelah mengisi bash diatas kita lanjutkan proses, konfigurasi ssl untuk apache dengan
memasukkan perintah sudo nano /etc/apache2/sites-available/default-ssl.conf Ubah
bash seperti pada gambar dibawah ini
6. Selanjutnya yaitu melakukan aktivasi konfig ssl dengan memasukkan perintah sudo
a2ensite default-ssl
7. Setelah melakukan aktivasi selanjutnya restart apache dengan memasukkan perintah
sudo systemctl restart apache2
8. Selanjutnya melakukan verifikasi ssl dengan memasukkan perintah openssl s_client -
connect namaservermu.com:443 dengan mengganti namaservermu menjadi nama
domain kita.
Tujuan Praktik Minggu Kedua :
Untuk menerjemahkan alamat IP menjadi nama domain kita agar mempermudah pengguna
dalam mengakses sebuah situs web hanya dengan menggunakan nama domain saja, tanpa harus
menggunakan alamat IP.
2.1.3 Minggu Ketiga
Manajemen Proses WSL
1. Langkah pertama kita mengecek dulu daftar proses yang sedang berjalan dengan
memasukkan perintah : ps aux
2. Selanjutnya cari proses disini saya mencari proses apache, ini bisa dilakukan dengan
memasukkan perintah : ps aux | grep apache2
3. Selanjutnya kita akan mencoba menghentikan salah satu proses, disini saya
menghentikan proses nomor 685, dengan memasukkan perintah sudo kill 685
4. Selanjutnya kita cek lagi apa sudah berhenti apa belu, dengan memasukkan perintah :
ps aux | grep apache2
Konkurensi, Sinkronisasi, dan Multithreading WSL
1. Langkah perrtama kita harus menginstal libpthread, dengan perintah sudo apt-get
install libpthread-stubs0-dev
2. Selanjutnya kita perlu menginstall g++ supaya program bisa di compile, ini bisa
dilakukan dengan memasukkan perintah sudo apt install g++
3. Selanjutnya buat codingan dengan bahasa c++
4. Pindahkan file tersebut ke Linux > Ubuntu > home > user
5. Selanjutnya kita masukkan perintah g++ testso.cpp -o testso
6. Compile dengan perintah ./test
dan akan keluar hasil dari codenya.
Tujuan Praktik Minggu Ketiga :
Dalam praktik ini, tujuan utamanya adalah agar kita dapat memahami pengelolaan eksekusi
proses di Linux sambil tetap berada di Windows. Kita juga akan mempelajari bagaimana WSL
memungkinkan beberapa thread berjalan secara bersamaan. Selain itu, kita akan mendalami
konsep deadlock dalam WSL, serta cara mencegah dan menanganinya jika deadlock tersebut
terjadi.
2.2 Diskusi dan Analisis
Bagaimana Manajemen Proses, Konkurensi, Sinkronisasi, Kebuntuan, SSL penting dalam
komputasi modern?
Manajemen Proses
Dalam manajemen proses di WSL, algoritma penjadwalan memegang peran penting.
Algoritma-algoritma seperti First-Come, Shortest Job Next (SJN), dan Round-Robin
dimanfaatkan untuk mengatur jalannya eksekusi proses. Hal ini bertujuan untuk memastikan
bahwa berbagai aplikasi dapat berjalan secara adil dan efisien, baik di lingkungan Windows,
Linux, maupun Android. Dengan penerapan algoritma penjadwalan yang tepat, pengguna dapat
menjalankan berbagai aplikasi secara bersamaan tanpa ada proses yang terdominasi atau
terhambat.
Konkurensi
Konkurensi memungkinkan pelaksanaan tugas-tugas secara bersamaan, meningkatkan
performa aplikasi, dan mengoptimalkan penggunaan sumber daya sistem. Sebagai contoh,
konkurensi dalam sistem operasi dapat menangani berbagai proses latar belakang secara
simultan, seperti menjalankan pembaruan perangkat lunak sambil memproses data pengguna,
sehingga meningkatkan efisiensi sistem secara keseluruhan.
Sinkronisasi
Sistem operasi menyediakan mekanisme sinkronisasi seperti mutex, semaphore, dan lock untuk
mengoordinasikan akses ke memori atau file. Mekanisme ini memastikan bahwa data tetap
konsisten, terutama ketika banyak transaksi berusaha mengakses dan memodifikasi data secara
bersamaan, sehingga mencegah ketidaksesuaian data.
Kebuntuan (Deadlock)
Deadlock terjadi ketika sistem komputer mengalami kebuntuan dalam menjalankan proses,
sehingga informasi yang sedang diproses tidak dapat dilanjutkan. Sistem operasi
mengimplementasikan berbagai strategi untuk mencegah dan mengatasi deadlock, memastikan
bahwa situasi ini tidak terjadi. Misalnya, dalam sistem manajemen lalu lintas udara, deadlock
dapat muncul ketika beberapa proses mencoba mengakses dan mengunci data penerbangan
yang sama. Untuk mencegahnya, sistem dapat menolak permintaan penguncian jika terdeteksi
potensi terjadinya deadlock.
SSL
Secure Sockets Layer (SSL) adalah teknologi keamanan yang digunakan untuk menyandikan
data yang dikirim melalui jaringan. SSL berperan dalam melindungi informasi sensitif dan
menjaga kerahasiaan komunikasi antar sistem. Misalnya, ketika Anda melakukan transaksi
perbankan online melalui aplikasi di smartphone, SSL memastikan bahwa data pribadi dan
finansial Anda aman selama proses komunikasi antara perangkat dan server bank.
Rangkuman Praktik
Kita bisa mempelajari cara membuat web server secara lokal di Windows tanpa harus beralih
ke Linux, karena Windows juga mendukung fitur-fitur yang biasanya ditemukan di Linux.
Selain itu, kita juga memahami pentingnya SSL dalam web server untuk melindungi data
sensitif dari kebocoran. Penting juga untuk mengelola proses dengan baik agar eksekusi
berjalan lancar, termasuk menghentikan proses yang tidak diperlukan untuk mencegah
deadlock.
BAB III
PENUTUP
3.1 Kesimpulan
Dalam era digital saat ini, teknologi seperti virtualisasi, DNS, dan SSL memainkan
peran penting dalam meningkatkan efisiensi dan keamanan sistem operasi serta aplikasi.
Virtualisasi memungkinkan pengguna untuk menjalankan berbagai sistem operasi secara
bersamaan tanpa perlu perangkat keras tambahan. DNS memastikan akses cepat dan optimal
ke situs web dengan menerjemahkan nama domain menjadi alamat IP dan mendistribusikan
beban lalu lintas. SSL berfungsi melindungi data sensitif selama komunikasi jaringan,
mencegah ancaman siber seperti serangan man-in-the-middle.
Pengelolaan proses dan konkurensi dalam sistem operasi, terutama melalui WSL di
Windows, memungkinkan eksekusi tugas secara efisien dan adil. Dengan algoritma
penjadwalan yang tepat, pengguna dapat menjalankan berbagai aplikasi tanpa hambatan.
Mekanisme sinkronisasi seperti mutex dan semaphore menjaga konsistensi data saat banyak
proses mengaksesnya.
Pemahaman dan implementasi teknologi ini membantu menciptakan lingkungan
komputasi yang aman, efisien, dan responsif, memastikan bahwa sistem dapat menangani
berbagai tugas dan ancaman dengan baik.
3.2 Referensi
Jagoweb. (t.t.). Mengenal WSL Untuk Menjalankan Linux di Windows. Diakses pada 15
Oktober 2024, dari https://www.jagoweb.com/mengenal-wsl-untuk-menjalankan-linux-di-
windows.
Kinsta. (t.t.). What is Nginx?. Diakses pada 15 Oktober 2024, dari
https://kinsta.com/knowledgebase/what-is-nginx/.
Wikipedia. (t.t.). Apache HTTP Server. Diakses pada 15 Oktober 2024, dari
https://en.wikipedia.org/wiki/Apache_HTTP_Server.