Tugas Besar Jaringan Komputer - Kelompok 3
Implementasi web server berbasis TCP dengan socket programming untuk menangani request HTTP
- π Overview
- β¨ Fitur Utama
- π οΈ Teknologi
- π Struktur Proyek
- βοΈ Instalasi & Setup
- π Cara Penggunaan
- π Dokumentasi API
- π Antarmuka Web
- π― Spesifikasi Tugas
- π₯ Tim Pengembang
- π Lisensi
Proyek ini merupakan implementasi web server berbasis TCP menggunakan socket programming dalam Python. Server dapat menangani permintaan HTTP, melayani file statis, dan mengelola beberapa koneksi secara bersamaan menggunakan multithreading. Proyek ini juga menyertakan client HTTP untuk testing dan antarmuka web interaktif dengan tema jaringan komputer.
- π TCP Socket Server: Implementasi server TCP menggunakan socket programming
- π§΅ Multithreading: Menangani beberapa koneksi client secara bersamaan
- π File Serving: Melayani file HTML, CSS, JavaScript, dan gambar
- π« Custom 404 Page: Halaman error 404 kustom yang menarik
- π HTTP Parsing: Parse dan handle HTTP GET requests
- π MIME Type Detection: Deteksi otomatis content type berdasarkan ekstensi file
- π‘ HTTP Client: Client sederhana untuk testing server
- π Response Display: Menampilkan header dan body response
- β±οΈ Timeout Handling: Handling timeout untuk koneksi yang lambat
- π Dark/Light Mode: Toggle tema gelap/terang
- π₯ Team Profiles: Card interaktif untuk profil anggota tim
- β¨ Network Animations: Animasi bertema jaringan komputer
- π± Responsive Design: Desain yang responsif untuk berbagai perangkat
- π Modal Dialogs: Detail profil dengan modal yang elegan
|
|
tugas-besar-jarkom/
βββ server.py # Main web server implementation
βββ client.py # HTTP client untuk testing
βββ klien.py # Versi client dalam bahasa Indonesia
βββ page.html # Homepage dengan profil tim
βββ 404.html # Custom 404 error page
βββ control.js # JavaScript untuk interaksi UI
βββ design.css # Styling untuk website
βββ *.jpg # Foto profil anggota tim
βββ README.md # Dokumentasi proyek
- Python 3.9 atau lebih tinggi
- Web browser modern (Chrome, Firefox, Safari, Edge)
- Clone repository
git clone https://github.com/username/tugas-besar-jarkom.git
cd tugas-besar-jarkom- Tidak ada dependencies tambahan yang diperlukan. Server menggunakan library standard Python.
- Jalankan server pada port default (6789):
python server.py- Atau jalankan pada port custom:
python server.py 8080- Server akan berjalan di
http://localhost:6789(atau port yang Anda pilih)
Untuk testing server menggunakan client:
python client.py localhost 6789 page.htmlFormat command:
python client.py <server_host> <server_port> <filename>- Buka browser
- Akses
http://localhost:6789/page.html - Atau akses
http://localhost:6789/(akan redirect ke page.html)
GET /filename HTTP/1.1
Host: localhost:6789
Connection: closeHTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 1234
Connection: close
[Content Body]200 OK: File berhasil ditemukan dan dikirim404 Not Found: File tidak ditemukan (menampilkan 404.html)501 Not Implemented: Method selain GET tidak didukung
.html: text/html.css: text/css.js: application/javascript.jpg/.jpeg: image/jpeg.png: image/png
- Hero section dengan animasi network
- Profile cards untuk anggota tim
- Dark/Light mode toggle
- Responsive layout
- Custom error page dengan animasi
- Network-themed design
- Link kembali ke homepage
- Profile Cards: Klik untuk melihat detail lengkap
- Theme Toggle: Switch antara dark dan light mode
- Smooth Animations: Transisi dan efek hover yang halus
- Toast Notifications: Notifikasi saat server berhasil diakses
Proyek ini memenuhi semua spesifikasi tugas:
β Server TCP dengan Socket Programming
- Menerima dan parsing HTTP request
- Mengambil file dari sistem file
- Membuat HTTP response dengan header yang sesuai
β Handling File Not Found
- Mengirim HTTP 404 response
- Menampilkan custom 404 page
β Multithreading
- Thread utama listening di port tertentu
- Thread terpisah untuk setiap koneksi client
- Melayani beberapa request secara simultan
β HTTP Client untuk Testing
- Koneksi TCP ke server
- Mengirim HTTP GET request
- Menampilkan response dari server
|
NIM: 103032300013 |
NIM: 103032300xxx |
NIM: 103032300xxx |
Kelas: IT-47-04
Mata Kuliah: Jaringan Komputer
Universitas: Telkom University
Β© 2025 Kelompok 3 - Tugas Besar Jaringan Komputer
Telkom University