Kategori
Kuliah Layanan Jaringan

Latihan 1 – Lanjar

Selamat, Anda baru saja mendirikan perusahaan startup teknologi Anda sendiri! Namun, perusahaan Anda belum memiliki infrastruktur digital. Misi Anda hari ini adalah membangun server utama dari nol. Server ini nantinya akan menampung seluruh aplikasi web, database, dan sistem komunikasi perusahaan Anda.

1. Instruksi Awal

  • Pastikan anda sudah menginstal VirtualBox (atau VMware) . Kalau belum silahkan unduh dan instal dari : https://www.virtualbox.org/wiki/Downloads
  • Unduh file ISO Ubuntu Server LTS 24.04.4 di laptop masing-masing. https://ubuntu.com/download/server
  • Skenario Startup: Tentukan nama startup (contoh: SaskiaNet, RakaTech). Nama ini wajib digunakan sebagai identitas server (hostname) hari ini.

2. Misi 1: Virtual Machine

Buat “mesin fisik” virtual anda di VirtualBox.

  • Langkah Eksekusi:
    • Membuat VM baru dengan tipe Linux (Ubuntu 64-bit).
    • Alokasi Resource: Mengatur RAM (minimal 2GB) dan CPU (minimal 2 Core, jika memungkinkan).
    • Penyimpanan: Membuat Virtual Hard Disk berkapasitas minimal 20GB.
    • Konfigurasi Jaringan (Krusial): mengatur Network Adapter ke mode NAT (agar VM bisa mengunduh pembaruan/paket dari internet) atau menyiapkan dua adapter (Adapter 1: NAT, Adapter 2: Host-Only).
    • Memasukkan ISO Ubuntu Server ke Optical Drive virtual.

3. Misi 2: Instalasi Sistem Operasi

Nyalakan VM dan masuk ke antarmuka instalasi Ubuntu Server.

  • Langkah Eksekusi:
    • Pemilihan bahasa dan tata letak keyboard (biarkan default).
    • Konfigurasi Jaringan: Biarkan sementara menggunakan DHCP agar mendapat akses internet saat instalasi.
    • Partisi Disk: Gunakan opsi Use an entire disk (hindari LVM kustom di sesi awal agar tidak memakan waktu).
    • Pembuatan Identitas (Profile Setup):
      • Your name: Nama mahasiswa (contoh:Asep).
      • Your server’s name: [namastartup]-server (contoh: AsepNet-server).
      • Username & Password: Buat password administrator.
    • OpenSSH Server: Wajib dicentang agar server nantinya bisa di-remote dari laptop fisik (Host).

4. Misi 3: First Boot & Validasi

Setelah instalasi selesai dan VM melakukan reboot, akan layar hitam Terminal (CLI).

  • Langkah Eksekusi:
    • Login menggunakan username dan password yang tadi dibuat.
    • Uji Koneksi Internet: Ketikkan ping google.com untuk memastikan server sudah terhubung ke dunia luar.
    • Cek Identitas: Ketikkan perintah hostname untuk memvalidasi bahwa nama server sudah sesuai dengan nama startup.
    • Cek IP Address: Ketikkan perintah ip a atau ifconfig untuk melihat IP dinamis yang didapat dari VirtualBox.

5. Misi 4: Checkpoint Snapshot

Ini adalah penerapan SOP untuk mencegah kerusakan fatal di minggu-minggu berikutnya.

  • Langkah Eksekusi:
    • Matikan server menggunakan perintah: sudo poweroff.
    • Kembali ke jendela utama VirtualBox.
    • Klik menu Snapshots > Take.
    • Beri nama: Fresh Install - Minggu 1.
    • “Jika minggu depan server kalian error parah, kalian cukup melakukan ‘Restore’ ke titik ini, tidak perlu instal ulang dari nol.”

6. Pengumpulan Laporan

  • Screenshot yang menunjukkan CLI Ubuntu dengan kondisi anda sudah login (menampilkan username@namastartup-server:~$) beserta hasil ping.
  • Upload ke LMS

Have Fun!

Kategori
Siskom

Latihan 17 – Manajemen Storage

A. Menambah Disk Virtual

  1. Matikan VM Linux Mint Anda terlebih dahulu.
  2. Buka Settings VM -> Storage.
  3. Pada Controller: SATA, klik ikon Add Hard Disk (gambar disk dengan tanda plus).
  4. Pilih Create -> VDI -> Fixed Size -> Beri ukuran 1 GB saja.
  5. Nyalakan kembali VM Linux Mint Anda.

B. Identifikasi Perangkat

  1. Cek Daftar Disk:
    • Perintah: lsblk
    • Tugas: Identifikasi mana disk sistem (biasanya sda, ~20GB) dan mana disk baru yang tadi dibuat (biasanya sdb, 1GB).
  2. Informasi Partisi Detail:
    • Perintah: sudo fdisk -l
    • Analisa: Perhatikan bahwa disk sdb tertulis “Disk /dev/sdb doesn’t contain a valid partition table”. Mengapa demikian?
  3. Cek UUID & Filesystem:
    • Perintah: sudo blkid
    • Analisa: Mengapa /dev/sdb belum muncul di daftar ini?

C. Partisi & Formatting

1. Membuat Tabel Partisi:

  • Perintah: sudo fdisk /dev/sdb
  • Ketik n (new partition) -> Tekan Enter terus untuk nilai default (Primary, 1 partition, full size).
  • Ketik w (write/save).

2. Format ke File System Linux (EXT4):

  • Perintah: sudo mkfs.ext4 /dev/sdb1

3. Verifikasi Akhir:

Jalankan kembali lsblk. Pastikan sekarang ada anak partisi bernama sdb1

D. Mounting  

Di Linux, hardware harus “ditempelkan” ke sebuah folder.

  1. Membuat Mount Point:
    • Perintah: sudo mkdir /mnt/data_baru
  2. Proses Mounting:
    • Perintah: sudo mount /dev/sdb1 /mnt/data_baru
  3. Uji Coba Tulis Data:
    • Perintah: cd /mnt/data_baru
    • Perintah: sudo touch file_test_mahasiswa.txt
  4. Analisis Penggunaan Disk (du):
    • Perintah: sudo du -sh /var (Mengecek total ukuran folder sistem /var).
    • Perintah: sudo du -ah /etc | sort -rh | head -n 5 (Mencari 5 file terbesar di folder konfigurasi).

E. Troubleshooting

  1. Analisis Waktu Booting:
    • Perintah: systemd-analyze (Melihat total waktu startup).
    • Perintah: systemd-analyze blame (Melihat layanan/service apa yang paling lama durasi loading-nya).
  2. Pembersihan Sampah (Maintenance):
    • Perintah: sudo apt autoremove (Hapus paket tidak terpakai).
  • Perintah: sudo apt clean (Hapus cache installer).
Kategori
Siskom

Latihan 16 – Linux

Jelaskan apa yang dimaksud dengan Distro Linux!

Beri contoh 5 distro Linux!

Sebutkan 3 macam Linux Desktop Environment!

Jelaskan apa yang dimaksud dengan Linux Live Version!

Sebutkan 5 aplikasi standar yang ada di semua versi Linux!

Jelaskan apa fungsi aplikasi tersebut!

Buka Terminal dan jalankan perintah-perintah berikut ini: id, hostname, uname, w, who, whoami !

Jelaskan kegunaan dari perintah tersebut!

Jalankan perintah berikut ini dan jelaskan kegunaannya: date, cal, clear, whatis!

Buat sebuah file catatan.txt dan Jalankan perintah-perintah berikut pada file catatan.txt tersebut! jelaskan kegunaannya: file (contoh file catatan.txt), more, less, cp, mv, rm, grep!

Jalankan perintah berikut pada terminal dan jelaskan apa fungsi perintah-perintah berikut: a. pwd b. type (+nama sebuah perintah) c. apropos (+nama sebuah perintah; klo gak bisa coba jalankan perintah sudo mandb terlebih dahulu) d. which (+nama sebuah perintah) e. find (+nama sebuah file)

Jalankan perintah berikut pada terminal dan jelaskan apa fungsi perintah-perintah berikut: a. cat (+nama sebuah file) b. ls c. ls -l

Jelaskan apa yang dimaksud dengan pipeline pada shell linux!

Beri contoh 4 perintah pada terminal yang menggunakan pipeline!

Apa yang dimaksud dengan redirection pada shell linux!

Beri contoh perintah pada terminal yang menggunakan karakter > dan >>

Jelaskan apa fungsi perintah-perintah berikut: a. history b. man (+nama sebuah perintah) c. info (+nama sebuah perintah)

Kategori
Siskom

Latihan 15 Administrasi Linux

1. Lakukan Update sistem operasi linux anda!

2. Install aplikasi neofetch! Jalankan!

3. Install aplikasi htop! Jalankan htop!

4. Hapus aplikasi neofetch!

5. Cek alamat IP kalian!

6. Cek alamat Gateway kalian!

7. Tes koneksi anda dengan ping!

8. Tes DNS anda! (nslookup atau dig)!

9. Lakukan traceroute (pelacakan jalur) ke google.com!

10. Install ssh server (openssh-server)!

11. Aktifkan ssh server!

12. Login ke server ssh! (ssh [nama_user]@[ip_address])

13. Setelah terhubung ke server SSH, buat folder baru diserver!

14. Buat file script nano cek_kesehatan.sh! isi script: 

#!/bin/bash
echo "=== MEMULAI PENGECEKAN SISTEM ==="
echo "Halo, $USER. Tanggal saat ini:"
date
echo "---------------------------------"
echo "Cek Koneksi Internet..."
ping -c 2 8.8.8.8
echo "---------------------------------"
echo "Cek Sisa RAM:"
free -h
echo "=== SELESAI ==="!

simpan Ctrl+O -> Enter -> Ctrl+X.

15. Coba jalankan: ./cek_kesehatan.sh ! (kalau tidak bisa dijalankan, ubah permission)

Kategori
Siskom

Latihan 14 – Pengenalan linux

1. Jalankan perintah untuk menampilkan semua proses yang berjalan di sistem Anda !

2. Tampilkan proses yang paling banyak menggunakan CPU dan Memory (RAM) secara real-time dan interaktif.

3. Gunakan pipeline dan perintah grep untuk memfilter hanya proses yang berhubungan dengan Shell Anda saat ini (misalnya bash atau zsh).

4. Identifikasi PID (Process ID) dari proses Shell Anda.

5. Buka terminal baru (Terminal 2).Di Terminal 2, jalankan proses yang tidak berhenti (simulasi proses macet), contoh: sleep 6000 &

6. Kembali ke Terminal 1. Cari PID dari proses sleep tersebut (gunakan ps dan grep).

7.Kirim sinyal pemberhentian (Termination Signal) ke proses sleep tersebut (menggunakan PID)

8. Verifikasi bahwa proses tersebut sudah tidak ada lagi di daftar proses (ps).

9. Tampilkan status penggunaan Memory (RAM) saat ini dan swap di sistem, dalam format yang mudah dibaca (Human Readable).

10.Tampilkan status penggunaan Disk Space (penyimpanan) dari semua disk yang terpasang di sistem, juga dalam format yang mudah dibaca.

11. Periksa koneksi jaringan yang sedang aktif dan port apa saja yang terbuka/didengarkan oleh sistem.

12. Buat file baru bernama dokumen_rahasia.txt.

13. Jalankan perintah ls -l pada file tersebut dan catat hak akses (permission) awalnya (contoh: -rw-r--r--).

14. Ubah hak akses file tersebut sehingga hanya pemilik (Anda) yang dapat membaca dan menulis, dan tidak ada orang lain (grup atau publik) yang dapat mengaksesnya.

15. Tampilkan kembali ls -l dan verifikasi bahwa hak aksesnya sudah berubah.

16. Jalankan perintah nice untuk memulai proses baru (sleep 5000) dengan prioritas yang sangat rendah (angka Nice tertinggi, contoh: 19).

17. Jalankan perintah ps aux dan grep untuk mencari proses tersebut dan cek kolom NI (Nice) untuk memverifikasi prioritasnya.

18. Setelah proses berjalan, gunakan perintah renice untuk meningkatkan prioritas proses tersebut ke angka Nice yang lebih tinggi (contoh: -5).

19. Jelaskan, kapan (dalam skenario kerja nyata) Anda perlu memberikan prioritas tinggi atau rendah kepada sebuah proses?

Kategori
Siskom

Latihan 13 Mnemonic

Perhatikan instruksi Assembly sederhana berikut:

MOV R5, R1
  1. Apa Mnemonic yang digunakan dalam instruksi di atas?
  2. Berdasarkan namanya, apa fungsi utama dari Mnemonic tersebut? (Apa yang coba dilakukan instruksi ini?).
  3. Sebutkan dua operan (data/tujuan) yang terlibat dalam instruksi ini.

Identifikasi cara CPU mengambil data dari instruksi di bawah ini, lalu pasangkan dengan Mode Pengalamatannya.

Instruksi AssemblyDeskripsi Pengambilan Data
A. ADD R2, #50Data (nilai 50) sudah ada di dalam instruksi itu sendiri.
B. SUB R3, R4Data diambil dari Register R4.
C. LOAD R1, [0x1000]Data diambil dari alamat memori spesifik (0x1000).

4. Pasangkan setiap Instruksi (A, B, C) dengan Addressing Mode yang benar (Immediate, Register, Direct).

  • A. ADD R2, #25 → [Mode Pengalamatan]
  • B. SUB R3, R4 → [Mode Pengalamatan]
  • C. LOAD R1, [0x1000] → [Mode Pengalamatan]

5. Dari ketiga mode di atas, mode manakah yang memungkinkan CPU mengakses data paling cepat?

Dalam program, kita sering menggunakan perintah seperti IF atau WHILE. Dalam Assembly, ini diimplementasikan dengan dua jenis instruksi utama: CMP dan JMP.

6. Apa fungsi Mnemonic CMP? (Berdasarkan namanya, apa yang ia lakukan sebelum membuat keputusan?).7. Apa fungsi Mnemonic JMP? (Apa yang terjadi pada alur program saat CPU bertemu instruksi ini?).

8. Ketika Anda melihat instruksi JMP yang didahului oleh CMP, kira-kira logika bahasa tingkat tinggi (C/Python) apa yang sedang diimplementasikan?

9. Jika Anda ingin membuat sebuah loop (perulangan), kombinasi kedua Mnemonic mana yang harus Anda gunakan?

Anda melihat dua baris kode unik berikut yang sering digunakan pada sistem mikrokontroler:

STORE 0xFE00, R_TEMP
NOP

10. Instruksi STORE 0xFE00, R_TEMP mengakses alamat memori 0xFE00 yang diketahui merupakan register untuk menyalakan LED. Lokasi memori ini disebut Memory-Mapped I/O. Apa arti alamat memori 0xFE00 dalam konteks ini?

11. Instruksi NOP berarti No Operation. Mengapa seorang insinyur embedded (teknik komputer) mungkin sengaja menyisipkan instruksi yang tidak melakukan apa-apa ke dalam kodenya? (Petunjuk: Hubungkan dengan waktu).

Perhatikan ekspresi aritmatika sederhana: Y <– A + B

12. Untuk menyelesaikan operasi A + B menggunakan Assembly, Mnemonic utama apa yang harus digunakan?

13. Jika CPU hanya memiliki satu Register khusus yang disebut Accumulator (ACC), bagaimana langkah Anda untuk menghitung A + B? (Sebutkan 3 langkah Assembly sederhana: LOAD, ADD, STOR).

14. Anda seorang teknisi yang bekerja pada sebuah mikrokontroler (sistem embedded), mengapa kemampuan membaca kode Assembly lebih penting daripada di aplikasi desktop biasa?

15. Buka Compiler Explorer https://godbolt.org/  . 

Tuliskan kode C sederhana di panel kiri: 

void main() {
    int x = 10;
    int y = x;
}

Perhatikan kode Assembly yang dihasilkan di panel kanan.

a. Mnemonic (kata kunci operasi) apa yang paling sering digunakan dalam Assembly untuk memindahkan nilai 10 ke variabel x atau nilai x ke y
b. Ketika nilai 10 dimasukkan ke register, Assembly menggunakan mode pengalamatan apa? (Petunjuk: Data sudah tersedia di dalam instruksi itu sendiri).
c. Ketika nilai x dipindahkan ke y, biasanya data dipindahkan antar Register (misalnya MOV R1, R0). Mengapa akses menggunakan Register ini disebut mode pengalamatan yang paling cepat?

Kategori
Siskom

Latihan 12 – Floating Point

1. 62,5(10)= ……………(2) (Floating Point sederhana)

2. Ubah 62,5 (10) jadi bilangan single precision 32 bit!

3. Ubah 62,5 (10) jadi bilangan double precision 64 bit

4. 15,67510 = ……………(2) (Floating Point sederhana)

5. Ubah 15,67510 (10) jadi bilangan single precision 32 bit!

6. Ubah 15,67510 (10) jadi bilangan double precision 64 bit

7. Jelaskan mengapa Anda TIDAK BOLEH menggunakan tipe data float (32-bit Single Precision) atau double (64-bit Double Precision) untuk menyimpan nilai uang (misalnya, harga produk, saldo rekening bank) dalam sebuah aplikasi akuntansi.

8. Jelaskan dua (2) metode/solusi praktis yang dapat Anda terapkan sebagai programmer untuk mengatasi masalah ini dan memastikan keakuratan moneter.

9. Di hardware mana (CPU atau GPUfloat 32-bit lebih dominan digunakan, dan mengapa faktor kecepatan lebih penting daripada akurasi tertinggi di lingkungan tersebut?

10. Aplikasi yang menuntut presisi tinggi(simulasi fisika, analisis data besar,perhitungan engineering, database) menggunakan tipe data apa?

Kategori
Siskom

Latihan 10 – Aritmetika Bilangan

Silahkan kerjakan soal dibawah ini :

  1. 1101(2)+1011(2)=……(2)?
  2. 1011(2)+0111(2)=…….(2)?
  3. 1110(2)-0101(2)=….(2)?
  4. 1011(2)-111(2)=….(2)?
  5. 1101(2) X 1011(2)=….. (2)?
  6. 1001 (2): 011(2)=…. (2)?
  7. 36(8)+42(8)=……. (8)?
  8. 12(8)+17(8) =……. (8)?
  9. 6745(8) – 36(8) =…….(8)
  10. 125(8) – 67(8) =…….(8)
  11. 16(8) * 14(8) =…….(8)
  12. 250(8) : 14(8) =…….(8)
  13. 102(10)+101(10)= ………………(10)
  14. 12(10)+79(10)= ………………(10)
  15. 1005(10)-88(10)= ………………(10)
  16. 100(10)-13(10)= ………………(10)
  17. 34(10)*45(10)= ………………(10)
  18. 30(10)*11(10)= ………………(10)
  19. 338(10):13(10)= ………………(10)
  20. 1950(10):30(10)= ………………(10)
  21. 1AF(16)+30(16)=………….. (16)
  22. 2DE(16)+CA(16)=………….. (16)
  23. 12E1(16)-627(16)=………….. (16)
  24. DB7(16)-124(16)=………….. (16)
  25. 12E(16)*12(16)=………….. (16)
  26. DE(16)*15(16)=………….. (16)
  27. EF2(16):2(16)=………….. (16)
  28. A9(16):F(16)=………….. (16)
Kategori
Siskom

Latihan 9 – Representasi Bilangan

1. Jelaskan mengapa komputer hanya menggunakan sistem bilangan biner dan bukan desimal!
2. Jelaskan apa fungsi sistem bilangan oktal dan hexadesimal pada komputer!
3. Sebutkan semua digit valid dalam Sistem Oktal (Basis 8)
4. Sebutkan semua digit valid dalam Sistem Heksadesimal (Basis 16)
5. Apa nilai desimal dari digit C dan F pada sistem bilangan heksadesimal?
6. Konversikan bilangan berikut ke sistem desimal!

No.   Bilangan Sumber    Sistem Sumber     Konversi ke Desimal
a110110Biner
b573Oktal
b2AHeksadesimal

7. Konversikan bilangan desimal berikut ke sistem bilangan yang diminta

No.Bilangan Sumber   Sistem Tujuan    Konversi
a156Biner
b405Oktal
c230Heksadesimal

8. Konversi bilangan berikut dengan menggunakan pengelompokan digit

No.Bilangan Sumber    Sistem Tujuan   Pengelompokan (3 atau 4 bit)   Konversi
a10101101 (biner)Heksadesimal
b1111011 (biner)Oktal
cF7 (heksa)Biner
d631 (oktal)Biner

9.Penggunaan Praktis (Heksadesimal):Dalam sistem komputer, kode warna HTML sering direpresentasikan dalam heksadesimal (misalnya, #A0B2C4). Jika kode warna yang diberikan adalah #FF00A5, konversikan nilai heksadesimal dari komponen Biru (B), yaitu A5, menjadi Sistem Desimal untuk mengetahui intensitas birunya.

Kategori
Siskom

Latihan 12 Floating Point

1. 62,5(10)= ……………(2) (Floating Point sederhana)

2. Ubah 62,5 (10) jadi bilangan single precision 32 bit!

3. Ubah 62,5 (10) jadi bilangan double precision 64 bit

4. 15,67510 = ……………(2) (Floating Point sederhana)

5. Ubah 15,67510 (10) jadi bilangan single precision 32 bit!

6. Ubah 15,67510 (10) jadi bilangan double precision 64 bit

7. Jelaskan mengapa Anda TIDAK BOLEH menggunakan tipe data float (32-bit Single Precision) atau double (64-bit Double Precision) untuk menyimpan nilai uang (misalnya, harga produk, saldo rekening bank) dalam sebuah aplikasi akuntansi.

8. Jelaskan dua (2) metode/solusi praktis yang dapat Anda terapkan sebagai programmer untuk mengatasi masalah ini dan memastikan keakuratan moneter.

9. Di hardware mana (CPU atau GPUfloat 32-bit lebih dominan digunakan, dan mengapa faktor kecepatan lebih penting daripada akurasi tertinggi di lingkungan tersebut?