Post on 24-Nov-2020
MODUL MATA PRAKTIKUM
PEMROGRAMAN JARINGAN
Tim Penyusun :
Riza Maryuni, ST., MMSI.
Muhammad Zakir
LABORATORIUM TEKNIK INFORMATIKA
UNIVERSITAS GUNADARMA
2017
KATA PENGANTAR
Modul ini merupakan modul mata praktikum Pemrograman Jaringan yang disusun
sebagai materi persiapan dan pengajaran bagi Asisten Penanggung Jawab yang akan
menyampaikan materi tersebut kepada mahasiswa (Praktikan). Materi setiap pertemuan selalu
dimulai dengan penjelasan tentang objektif yang akan dicapai dari proses belajar dalam
sertiap pertemuan tersebut.
Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi
dari konfigurasi jaringan dasar hingga ke Socket Programming yang terdiri dari 4 pertemuan
dengan materi sebagai berikut :
1. IP Static, DNS, dan DHCP
2. FTP dan Web Server(HTTP)
3. UDP
4. TCP
Secara umum, materi pengajaran pada setiap pertemuan akan menjelaskan konsep,
teori dan penerapan dari topik yang akan dibahas, dan menerangkan secara garis besar
langkah yang diperlukan dalam memahami berbagai protokol yang mendukung pembahasan
topik yang dibahas dalam materi tersebut.
Setiap Asisten Penanggung Jawab sangat diharapkan untuk mempelajari dengan
seksama modul ini, mengingat pemahaman yang baik atas materi ini akan sangat membantu
pada waktu proses ajar-belajar selama kegiatan praktikum berlangsung, terutama dalam
mengerjakan Laporan Pendahuluan, Tugas Pendahuluan, Activity, dan Laporan Akhir.
Untuk mengikuti perkembangan teknologi di masa mendatang, maka modul mata
praktikum Sistem Basis Data 1 ini disusun oleh Laboratorium Teknik Informatika Universitas
Gunadarma dengan bantuan tim yang bekerja secara penuh, yaitu Riza Maryuni, ST., MMSI.,
dan Muhammad Zakir.
Jakarta, 12 Februari 2017
Tim Penyusun
Laboratorium Teknik Informatika
Universitas Gunadarma
Laboratorium Teknik Informatika | Pemrograman Jaringan 3
DAFTAR ISI
COVER......................................................................................................................................1
KATA PENGANTAR ............................................................................................................... 2
DAFTAR ISI .............................................................................................................................. 3
PERTEMUAN 1 ........................................................................................................................ 4
IP Statis, DNS, dan DHCP ..................................................................................................... 4
PERTEMUAN 2 ...................................................................................................................... 22
FTP dan Web Server ............................................................................................................ 22
PERTEMUAN 3 ...................................................................................................................... 36
UDP ...................................................................................................................................... 36
PERTEMUAN 4 ...................................................................................................................... 40
TCP....................................................................................................................................... 40
DAFTAR PUSTAKA .............................................................................................................. 44
Laboratorium Teknik Informatika | Pemrograman Jaringan 4
PERTEMUAN 1
IP Statis, DNS, dan DHCP
Tujuan:
1. Mahasiswa dapat memahami implementasi dari IP Statis
2. Mahasiswa dapat memahami implementasi dari DNS
3. Mahasiswa dapat memahami implementasi dari DHCP
Laboratorium Teknik Informatika | Pemrograman Jaringan 5
PERTEMUAN 1
Pada Pertemuan 1 Untuk praktikum Pemrograman Jaringan ini, kita akan membahas
kembali beberapa hal yang seharusnya sudah tidak asing lagi ketika kita dengar, mereka
adalah IP Statis, DNS, dan DHCP. Pada mata praktikum Jaringan Komputer kita telah
mengenal dengan baik apa definisi dari masing - masing pembahasan tersebut, namun sejauh
ini kita hanya mempraktikan nya dengan menggunakan simulasi melalui Cisco Packet
Tracer, pada Praktikum kali ini kita akan membahas ketiga hal tersebut dengan
mengimplementasikanya langsung kepada sebuah Sistem Operasi yang akan kita
konfigurasikan ketiga hal tersebut nya.
Pada praktikum ini, kita akan menggunakan Virtualbox sebagai media kita
menjalankan Sistem Operasi yang akan kita gunakan pada praktikum ini. Kita menggunakan
Virtualbox untuk menggunakan fitur virtualisasi nya sehingga kita bisa menjalankan
beberapa instansi Sistem Operasi sekaligus tanpa perlu perangkat lebih dari satu dan tanpa
perlu nya partisi apalagi Hard Disk tambahan, selain itu kita juga dapat menjalankan
beberapa Sistem Operasi sekaligus tanpa memerlukan Reboot yang akan mempermudahkan
pekerjaan kita. Virtualisasi juga berguna untuk mencoba hal - hal yang mungkin akan
memiliki resiko yang cukup tinggi pada Sistem Operasi ataupun keutuhan dari Hard Disk
sehingga kita bisa melakukan berbagai hal dengan lebih nyaman dan aman.
Untuk Sistem Operasi yang akan kita gunakan pada praktikum ini sendiri, kita akan
menggunakan Sistem Operasi Linux dengan distro Ubuntu yang merupakan distro turunan
dari distro Debian. Pada praktikum ini kita akan menggunakan 2 jenis Sisem Operasi yaitu
Sistem Operasi yang diperuntukan untuk menjadi Server dan juga Sistem Operasi yang
diperuntukan untuk menjadi Client, untuk sisi Server sendiri kita akan menggunakan Ubuntu
16.04.1 Server, dan untuk sisi Client kita akan menggunakan Ubuntu 16.04.1 Desktop. Kita
akan banyak melakukan konfigurasi pada sisi Server, sementara pada sisi Client kita hanya
akan melakukan uji coba terhadap konfigurasi pada Server yang telah kita lakukan pada nanti
nya.
Sebelum melanjutkan kebagian praktikum, alangkah baik nya jika kita mengingat
kembali apa sebenarnya ketiga hal tersebut yang akan kita bahas. IP Statis merupakan IP
yang dikonfigurasikan secara manual pada tiap device nya sehingga IP tersebut tidak akan
meminjam IP lain dari DHCP Pool sehingga IP tersebut tidak akan mengalami perubahan
nilai jika tidak ada perubahan konfigurasi pada Device tersebut. DNS adalah sebuah sistem
yang menyimpan informasi tentang nama host maupun nama domain dalam bentuk basis data
tersebar (Distributed Database) di dalam jaringan komputer.
DNS ini merupakan sistem penamaan hirarkis yang nanti nya di distribusikan untuk
suatu komputer, jasa, atau sumber daya yang terhubung ke suatu jaringan, DNS pada
kesempatan kali ini akan kita gunakan sebagai alias dari sebuah IP yang dimana pada
kesempatan kali ini adalah IP dari Server sehingga ketika kita ingin melakukan pemanggilan
IP dari Server kita tidak perlu menggunakan angka dari IP tersebut, melainkan kita bisa
menggunakan alias yang akan kita berikan tersebut.
Laboratorium Teknik Informatika | Pemrograman Jaringan 6
DHCP adalah layanan yang secara otomatis memberikan nomor IP kepada komputer
yang meminta nya. Komputer yang memberikan nomor IP disebut sebagai DHCP Server,
sedangkan komputer yang meminta nomor IP disebut sebagai DHCP Client, dengan begitu
kita tidak perlu lagi melakukan konfigurasi manual pada setiap Device yang ingin digunakan.
Ketika sisi DHCP Server selesai di konfigurasikan, Server akan menerima request dari Client
ketika Client dihidupkan, lalu Server akan memberikan nomor yang tersedia pada Pool,
setelah salah satu nomor IP yang terdapat pada Pool diberikan kepada suatu Client, maka
Server akan menandakan nya pada Pool bahwasanya nomor IP tersebut sudah tidak lagi
tersedia dikarenakan nomor IP tersebut telah diberikan kepada sebuah Client dan sedang
digunakan. Pada umum nya ketika sebuah nomor IP sedang tidka digunakan oleh sebuah
Client, maka ketika ada Client lain nya yang melakukan request kepada Server, Server akan
memberikan nomor IP lain walaupun nomor IP tersebut sedang tidak digunakan selama pada
Pool masih tersedia nomor IP yang lain nya. Sebuah nomor IP yang telah diberikan kepada
suatu Client tidak akan digunakan oleh Client lagi dengan dua pengecualian, tidak ada nomor
IP yang tersedia pada Pool lagi, atau masa berlaku dari nomor IP tersebut untuk digunakan
oleh Client tersebut sudah habis sehingga Client harus memperbarui masa berlaku nya
(Expiry) atau mendapatkan nomor IP yang baru, hal ini tergantung bagaimana ketersediaan
nomor IP pada Pool pada saat itu.
Setelah mengingat kembali apa saja yang akan kita pelajari pada pertemuan kali ini,
mari kita buka Virtualbox untuk memulai praktikum. Pertama kita pastikan bahwa
konfigurasi jaringan pada Virtualbox untuk VM Server nya menggunakan konfigurasi NAT
karena jika kita langsung menggunakan konfigurasi Internal Network, ada kemungkinan jika
Interfaceyang digunakan merupakan Internal Network lalu Interface tersebut masih kosong
karena tidak ada nya konfigurasi maka VM Server akan mengalami gagal booting karena
tidak memiliki koneksi ehternet yang aktif sama sekali. Maka dari itu kita harus memastikan
bahwa jaringan yang kita gunakan pada awal praktikum ini merupakan jaringan NAT
sehingga walaupun tidak terdapat konfigurasi sama sekali, maka VM akan tetap bisa
melakukan Booting karena mendapatkan IP dari DHCP yang terdapat dari NAT tersebut.
Pertama pastikan bahwa anda telah menyeleksi VM dari Server yang akan digunakan
lalu klik pada tombol Settings yang memiliki logo sebagai berikut.
Setelah itu anda bisa memilih bagian Network.
Kemudian pastikan bahwa koneksi nya menggunakan NAT.
Laboratorium Teknik Informatika | Pemrograman Jaringan 7
Setelah anda selesai memeriksa konfigurasi jaringan pada Virtualbox nya, silahkan
Start VM tersebut lalu login menggunakan user yang anda miliki. Setelah selesai login, kita
akan memeriksa apakah IP yang digunakan pada saat itu sudah statis sesuai keinginan kita
atau belum, sekaligus memeriksa Interface apa yang kita gunakan. Untuk melakukan
pemeriksaan tersebut kita bisa menggunakan perintah ifconfig.
Perintah tersebut akan menghasilkan informasi mengenai Interface apa saja yang
sedang digunakan beserta informasi mengenai nomor IP dan lain sebagai nya yang terdapat
pada setiap Interface tersebut.
Setelah mengetahui Interface apa yang akan kita gunakan, maka kita bisa langsung
melakukan konfigurasi untuk memberikan IP Statis terhadap Interface tersebut, dalam hal ini
kita akan memberikan IP Statis tersebut kepada Interface enp0s3, kita bisa melakukan
konfigurasi terhadap semua Interface yang ada pada sebuah Sistem Operasi yang merupakan
atau merupakan turunan dari DistroDebian dengan menggunakan perintah sebagai berikut.
Laboratorium Teknik Informatika | Pemrograman Jaringan 8
Setelah itu akan muncul prompt untuk memassukan password sebagai root atau yang
kita kenal juga sebagai super user, kita mendapatkan prompt tersebut karena kita
menjalankan perintah yang sebelum nya dengan menggunakan parameter sudo yang berarti
kita menjalankan perintah tersebut sebagai root atau super user, kita tinggal memasukkan
password dari root atau super user yang digunakan pada Sistem Operasi tersebut.
Setelah itu akan muncul isi awal dari file konfigurasi tersebut, pada kesempatan ini
kita menggunakan text editor Nano untuk melakukan berbagai konfigurasi.
Karena kita telah mengetahui pada sebelum nya bahwa kita akan menggunakan
Interface enp0s3 pada kesempatan ini maka kita bisa fokus kebagian tersebut dari file
konfigurasi.
Lakukanlah perubahan pada bagian diatas sebagai berikut.
Kita telah mengubah konfigurasi dari Interface enp0s3 untuk menggunakan IP Statis
yang telah di berikan informasi mengenai IP tersebut pada konfigurasi nya. Setelah selesai
melakukan konfigurasi maka kita bisa keluar sekaligus menyimpan perubahan yang telah kita
berikan pada file tersebut dengan menggunakan tombol Control + X. Setelah itu akan muncul
kembali sebuah prompt yang menanyakan bahwa apa kita ingin menyimpan perubahan
Laboratorium Teknik Informatika | Pemrograman Jaringan 9
terhadap file tersebut yang telah kita berikan, jawab nya dengan menekan tombol y, jika kita
tidak ingin menyimpan nya maka kita jawab dengan n, dan jika kita ingin kembali ke file
untuk melakukan perubahan lagi maka kita bisa membatal kan nya dengan menggunakan
tombol Control + C.
Setelah itu akan muncul kembali prompt yang menanyakan tentang kita ingin
menyimpan file ini dengan nama apa, kita cukup menekan enter saja karena kita tidak ingin
melakukan perubahan terhadap nama dari file tersebut. Nama file pada prompt ini akan terisi
secara otomatis mengikuti nama file sebelum nya, atau jika kita membuat file baru dengan
memberikan parameter nama file juga akan terisi otomatis menggunakan nama tersebut,
kecuali jika kita membuat file baru tanpa memberikan parameter nama file maka prompt
tersebut akan kosong secara default nya. Setelah itu semua selesai dilakukan, anda bisa
mematikan VM anda dengan menggunakan perintah poweroff karena pada versi dari ubuntu
ini tidak bisa mendapatkan IP baru hanya dengan merestart service dari networking maka kita
perlu melakukan reboot, sekaligus kita juga ingin mengubah Interface yang kita gunakan
dimana sebelum nya kita menggunakan NAT menjadi Internal Network sehingga dimana
sebelum nya kita menggunakan konfigurasi jaringan bawaan Virtualbox, sekarang kita akan
menggunakan jaringan yang kita konfigurasikan dengan cara manual dan akan bisa
digunakan diantara sesama VM sehingga tidak akan menggangu jaringan pada Host.
Setelah itu kita bisa kembali menuju ke bagian Settings lalu pilih bagian Network
seperti sebelum nya lalu kita ubah konfigurasi nya sehingga jadi menggunakan Internal
Network lalu tekan tombol OK dan tunggu Virtualbox melakukan konfigurasi.
Setelah semua itu selesai kita bisa menyalakan VM dari Server nya kembali lalu
melakukan login seperti biasa, ketika sudah selesai kita bisa langsung memeriksa hasil dari
konfigurasi nya dengan menggunakan command ifconfig yang hasilnya sekarang seharusnya
sebagai berikut.
Laboratorium Teknik Informatika | Pemrograman Jaringan 10
Jika semua nya telah selesai dan dilakukan dengan benar maka kita bisa melanjutkan
ke bagian selanjut nya dimana kita akan melakukan konfigurasi terhadap DNS nya. hal yang
perlu kita lakukan untuk pada pertama kali adalah masuk ke folder bind, bind merupakan
perangkat lunak yang digunakan untuk mengkofigurasikan sebuah DNS. Untuk masuk ke
folder bind kita bisa melakukan nya dengan menggunakan perintah sebagai berikut.
Setelah ini kita bisa langsung membuka file konfigurasi awal yang terdapat pada
folder tersebut dengan menggunakan perintah sebagai berikut.
Sama seperti sebelum nya kita akan diminta kembali untuk memberikan password,
hal ini terjadi karena perintah sudo tidak sama seperti perintah su. Dimana dengan
menggunakan perintah sudo kita hanya melakukan berbagai perintah tertentu sebagai root
atau super user dengan sementara namun jika kita menggunakan perintah su, kita akan login
sebagia root seterus nya namun hal ini tidak dianjurkan karena akan mengurangi keamanan
dan meningkatkan kemungkinan kita melakukan kesalahan terhadap hak akses dari file yang
kita ubah atau buat untuk kedepan nya. Perintah sudo maupun su akan meminta password
kembali setelah masa aktif nya telah habis, dalam hal sudo itu terjadi ketika masa sudo nya
sudah kadaluarsa, sementara dalam hal su itu terjadi ketika kita sudah melakukan logout dari
root. Setelah file terbuka maka kurang lebih hasil nya akan menjadi sebagai berikut.
Laboratorium Teknik Informatika | Pemrograman Jaringan 11
Kita akan menambahkan beberapa baris konfigurasi pada file tersebut, pertama kita
akan mendeklarasikan zona baru dan file forward dari zona tersebut dengan menggunakan
menyisipkan perintah sebagai berikut pada bagian paling bawah dari file konfigurasi tersebut
sehingga tidak mengganggu konfigurasi default nya.
Setelah menambahkan konfigurasi forward kita juga akan menambahkan konfigurasi
Reverse dengan isi sebagai berikut yang akan kita sisipkan dibawah konfigurasi forward.
Setelah selesai menambahkan kedua konfigurasi tersebut, maka hasil akhir dari file
konfigurasi tersebut seharusnya kurang lebih akan menjadi sebagai berikut.
Setelah semua konfigurasi sudah kita periksa kembali maka kita bisa menyimpan
konfigurasi yang telah kita tambahkan pada file tersebut sekaligus keluar dari text editor nano
dengan menggunakan perintah Control + X lalu menjawab y pada prompt pertama dan
pastikan bahwa nama dari file tersebut tidak kita ubah pada prompt kedua. Setelah itu kita
bisa langsung membuat file untuk konfigurasi forward nya dimana pada konfigurasi diatas
kita telah memberikan beberapa keterangan sebagai berikut.
Laboratorium Teknik Informatika | Pemrograman Jaringan 12
Nama dari DNS yang kita akan gunakan terdapat pada zona pertama dimana pada
bagian tersebut kita isikan dengan nama "praktikum.labti.ug" dan di dalam konfigurasi
tersebut kita mendeklarasikan tipe dari file tersebut lalu kita memberitahukan file konfigurasi
nya. Dibawahnya kita memberikan konfigurasi reverse dimana angka 1.168.192 merupakan 3
blok digit nomor IP dari nomor IP Server namun dituliskan secara terbalik, lalu kita kembali
memberi tahukan jenis nya dan lokasi file konfigurasi nya.
Sekarang kita akan membuat file forward pada direktori /etc/bind dimana merupakan
direktori yang sedang kita gunakan sekarang dengan menggunakan perintah sebagai berikut.
Kita isikan file tersebut dengan konfigurasi berikut.
Konfigurasi tersebut memberitahukan bahwa domain yang akan kita gunakan adalah
praktikum.labti.ug dan domain tersebut memiliki ip 192.168.1.10 dimana IP tersebut
merupakan IP dari Server, lalu kita memberitahukan bahwa jika kita juga menerima
parameter www sebagai bagian dari domain kita sehingga secara default domain kita akan
menerima penggilan melalui praktikum.labti.ug ataupun www.praktikum.labti.ug. Kita juga
memberikan konfigurasi terhadap masa berlaku dari cache DNS dimana hal ini tertera pada
bagian Expire dan kita juga memberikan Serial dari file konfigurasi ini, nomor dari Serial ini
bisa kita isi dengan nomor berapa saja selama nomor tersebut belum digunakan oleh file
konfigurasi lain nya. Selain itu juga kita memberikan konfigurasi jangka waktu itu Refresh
dan Retry, sama hal nya dengan konfigurasi Expire, konfigurasi tersebut berbentuk angka
yang bernilai dalam bentuk "detik".
Setelah semua telah kita periksa kembali kita bisa keluar dari nano sekaligus
menyimpan file tersebut dengan menggunakan tombol Control + X dan menjawab y pada
prompt pertama, lalu pada prompt kedua kita periksa apakah nama file nya sesuai yaitu
forward.labti, jika iya kita bisa langsung enter saja namun jika buka maka harus kita benarkan
lalu tekan enter. Setelah kita kembali ke terminal kita bisa melanjutkan pekerjaan kita dengan
membuat file konfigurasi reverse dengan menggunakan perintah sebagai berikut.
Setelah itu kita bisa isi file konfigurasi tersebut sebagai berikut.
Laboratorium Teknik Informatika | Pemrograman Jaringan 13
Isi dari file tersebut hampir sama dengan file konfigurasi forward, namun disini kita
kembali mendeklarasikan DNS dan IP dari Server, namun pada kali ini terdapat sedikit hal
yang berbeda pada bagian akhir dimana biasanya pada bagian bawah kita menggunakan
simbol @ namun kali ini kita menggunakan angka 10, angka ini kita dapatkan dari angka ke 4
yang tidak terdapat pada konfigurasi reverse nya. Karena pada saat konfigurasi reverse kita
telah menyatakan IP yang digunakan merupakan 192.168.1 namun blok ke 4 dari nomor IP
tersebut belum kita deklarasikan pada bagian reverse nya maka kali ini kita langsung
memberikan informasi bahwa blok ke 4 berisi angka 4 sehingga hasil akhir nya adalah
192.168.1.10 dan IP itu yang akan menggunakan domain www.praktikum.labti.ug.
Setelah semua kofigurasi telah kita periksa kembali, lalu kita bisa keluar dari nano
sekaligus menyimpan file tersebut dengan menggunakan perintah yang seperti biasa kita
gunakan. Sekarang kita akan merestart service dari bind itu tersendiri, merestart sebuah
service sama saja seperti kita menutup sebuah aplikasi lalu membuka nya lagi namun beda
nya sebuah service berjalan dibelakang (background) yang secara otomatis akan memulai
proses nya sendiri ketika Sistem Operasi sedang melaksanakan Booting. Kita bisa melakukan
restart tersebut dengan menggunakan perintah sebagai berikut.
Jika setelah melakukan perintah tersebut tidak muncul error sama sekali maka
konfigurasi kita telah berhasil dan kita bisa langsung memeriksa nya dengan menggunakan
salah satu dari dua perintah yang dapat kita gunakan. Perintah tersebut merupakan dig dan
nslookup, perintah tersebut digunakan untuk memeriksa sebuah domain apakah bisa kita
temukan dalam jaringan yang ada pada sebuah Device.
Jika kita menggunakan nslookup kita bisa melakukan nya dengan menggunakan
perintah sebagai berikut.
Perintah tersebut akan menghasilkan hasil yang kurang lebih sebagai berikut.
Laboratorium Teknik Informatika | Pemrograman Jaringan 14
Jika kita ingin menggunakan perintah dig maka kita bisa melakukan nya dengan
menggunakan perintah sebagai berikut.
Perintah dig yang akan memberikan feedback lebih detail mengenai domain yang
dicari maka kita bisa melakukan nya dengan menggunakan perintah sebagai berikut.
Perintah tersebut akan menghasilkan hasil yang lebih detail dibandingkan dengan
perintah nslookup, hasilnya akan kurang lebih menjadi sebagai berikut.
Jika salah satu atau kedua perintah tersebut menunjukan bahwa domain yang telah
kita konfigurasikan telah berhasil ditemukan maka kita bisa langsung mencoba untuk
menghubungi nya dengan menggunakan perintah ping sebagai berikut.
Laboratorium Teknik Informatika | Pemrograman Jaringan 15
Perintah tersebut akan menunjukkan sukses atau tidak nya percobaan koneksi kita ke
target yang dimana target kita merupakan domain kita sendiri, setelah puas mencoba koneksi
kita bisa menghentikan nya dengan menggunakan tombol Control + C (Cancel) ataupun
Control + Z (Stop). Setelah itu kita bisa langsung kembali ke direktori home agar kita bisa
melanjutkan tahap selanjutnya dimana kita akan melakukan konfigurasi untuk DHCP, kita
bisa melakukan nya dengan menggunakan perintah sebagai berikut.
Setelah kembali ke folder home, kita bisa langsung membuke file konfigurasi default
untuk DHCP dengan menggunakan perintah sebagai berikut.
Isi dari file konfigurasi default tersebut kurang lebih sebagai berikut.
Kita ingin melakukan konfigurasi pada bagian sebagai berikut.
Laboratorium Teknik Informatika | Pemrograman Jaringan 16
Ubahlah bagian tersebut menjadi sebagai berikut.
Pada bagian tersebut kita menyatakan bahwa DHCP ini akan kita gunakan pada
Interface enp0s3. Setelah kita periksa kembali konfigurasi yang telah kita lakukan maka kita
bisa langsung keluar dan menyimpan konfugirasi tersebut lalu membuka file konfigurasi
DHCP yang utama dengan menggunakan perintah sebagai berikut.
File konfigurasi tersebut akan memiliki isi yang pada awal nya secara default akan
menjadi kurang lebih sebagai berikut.
Laboratorium Teknik Informatika | Pemrograman Jaringan 17
Pertama kita akan merubah konfigurasi DNS yang akan dibawakan oleh DHCP secara
default kepada Client sehingga kita tidak perlu melakukan konfigurasi manual terhadap
Client untuk menggunakan DNS yang ingin kita gunakan. Konfigurasi yang akan kita ubah
adalah konfigurasi yang sebagai berikut.
Kita akan mengubah konfigurasi tersebut dengan mengisi kan DNS dan IP dari DNS
tersebut, dimana setelah kita ubah maka hasil nya kurang lebih menjadi sebagai berikut.
Setelah itu kita akan mengubah konfigurasi berikut.
Konfigurasi tersebut akan kita hapus tanda komentar nya dimana pada Linux maupun
Unix, tanda komentar pada umum nya berbentuk # atau lebih kita kenal sebagai hashtag
ataupun pagar. Setelah kita hapus komentara pada baris ketiga, kurang lebih hasil akhir nya
akan menjadi sebagai berikut.
Setelah itu kita bisa mencari konfigurasi yang berisikan sebagai berikut.
Konfigurasi tersebut akan kita isikan dengan berbagai konfigurasi sebagai berikut.
Laboratorium Teknik Informatika | Pemrograman Jaringan 18
Konfigurasi tersebut berisikan informasi tentang DHCP yang akan kita gunakan
dimana terdapat informasi mengenai subnet, netmask, range yang merupakan nomor IP yang
akan tersedia pada Pool untuk digunakan oleh Client, DNS, dan lain sebagainya.
Setelah itu kita memeriksa semua konfigurasi yang telah kita lakukan, kita bisa
langsung keluar dari nano sekaligus menyimpan konfigurasi yang telah kita lakukan lalu kita
bisa langsung merestart service dari isc. ISC-DHCP-SERVER merupakan perangkat lunak
yang bersifat open source yang umum digunakan sebagai perangkat lunak yang digunakan
untuk melakukan konfigurasi sebuah sistem DHCP. Kita bisa melakukan restart pada service
tersebut dengan perintah sebagai berikut.
Setelah kita restart dan tidak ada error yang muncul maka konfigurasi kita telah
berhasil namun kita bisa memastikan nya bahwa DHCP telah berhasil dan sedang berjalan
dengan normal dengan menggunakan perintah sebagai berikut.
Perintah tersebut akan menghasilkan status dari service tersebut, dimana hasilnya
kurang lebih sebagai berikut.
Laboratorium Teknik Informatika | Pemrograman Jaringan 19
Setelah kita periksa status dari DHCP yang telah kita konfigurasi, kita bisa langsung
keluar dari tampilan laporan status dengan menggunakan tombol Control + C (Cancel) lalu
kita akan menguji DNS dan DHCP yang teah kita konfigurasikan dengan menggunakan
Client yang ada.
Pada kesempatan ini Client yang akan kita gunakan adalah sebuah Ubuntu 16.04.1
Desktop, dimana Sistem Operasi ini hampir sama dengan Sistem Operasi yang kita gunakan
untuk sisi Server namunm Ubuntu Server lebih di optimalkan untuk berjalan sebagai Server
dan secara default terpasang tanpa DE (Desktop Environment) sehingga tidak ada nya
tampilan GUI (Graphical User Interface). Hal inilah yang menjadi salah satu perbedaan yang
paling menonjol diantara kedua Sistem Operasi tersebut, karena pada Ubuntu Desktop kita
mendapat DE bawaan Ubuntu yang bernama Unity.
Kita bisa langsung mengaktifkan Client tanpa menonaktifkan Server karena kita
menggunakan virtualisasi dan kita akan membutuhkan Server sebagai penyedia DNS dan
DHCP pada kesempatan ini. Sebelum kita nyalakan Client pastikan dulu bahwa Client telah
menggunakan Network Interface yang sama seperti Server yaitu Internal Network sehingga
kedua Sistem Operasi tersebut bisa saling berkomunikasi.
Setelah selesai kita periksa, kita bisa langsung mengaktifkan nya dengan menyeleksi
VM Client lalu klik tombol Start. Setelah itu kita bisa login menggunakan user yang telah
tersedia. Setelah login kita bisa langsung menjalankan terminal dengan meng-klik logo
tersebut yang terdapat pada bar di sebelah kiri desktop.
Pertama kita akan memeriksa nomor IP dari Client sehingga kita bisa memastikan
bahwa Client mendapatkan nomor IP sesuai konfigurasi DHCP dari Server atau tidak dengan
menggunakan perintah sebagai berikut.
Laboratorium Teknik Informatika | Pemrograman Jaringan 20
Perintah tersebut akan menunjukkan Interface yang digunakan oleh Device tersebut
beserta informasi - informasi mengenai tiap - tiap Interface yang digunakan sebagai berikut.
Jika konfigurasi DHCP kita telah berhasil dan Client menggunakan nomor IP dari
DHCP tersebut maka seharusnya Client akan mendapatkan IP yang sesuai dalam range pada
DHCP Server, dimana range tersebut terdapat diantara 192.168.1.20 hingga 192.168.1.30.
Setelah itu kita bisa memeriksa domain yang telah kita konfigurasikan pada Server
dengan menggunakan dua perintah yang tersedia. Perintah tersebut merupakan dig dan
nslookup, perintah tersebut digunakan untuk memeriksa sebuah domain apakah bisa kita
temukan dalam jaringan yang ada pada sebuah Device.
Jika kita menggunakan nslookup kita bisa melakukan nya dengan menggunakan
perintah sebagai berikut.
Perintah tersebut akan menghasilkan hasil yang kurang lebih sebagai beirkut.
Jika kita ingin menggunakan perintah dig maka kita bisa melakukan nya dengan
menggunakan perintah sebagai berikut.
Laboratorium Teknik Informatika | Pemrograman Jaringan 21
Perintah tersebut akan menghasilkan hasil yang kurang lebih sebagai berikut.
Setelah itu kita bisa mencoba untuk melakukan ping terhadap domain yang telah kita
konfigurasikan pada Server dengan menggunakan perintah sebagai berikut.
Perintah tersebut akan menunjukkan sukses atau tidak nya percobaan koneksi kita ke
target yang dimana target kita merupakan domain kita sendiri, hasil nya kurang lebih sebagai
berikut.
Setelah mencoba koneksi kita bisa menghentikan nya dengan menggunakan tombol
Control + C (Cancel) ataupun Control + Z (Stop).
Laboratorium Teknik Informatika | Pemrograman Jaringan 22
PERTEMUAN 2
FTP dan Web Server
Tujuan:
1. Mahasiswa dapat memahami konsep dari FTP
2. Mahasiswa dapat memahami implementasi dari FTP
3. Mahasiswa dapat memahami konsep dari Web Server
4. Mahasiswa dapat memahami implementasi dari Web Server
Laboratorium Teknik Informatika | Pemrograman Jaringan 23
PERTEMUAN 2
FTP (File Transfer Protocol) adalah salah satu protokol yang digunakan sebagai
standar pengiriman berkas (file) komputer antar mesin - mesin dalam sebuah jaringan
internal. FTP merupakan salah satu protokol yang paling awal dikembangkan, dan masih
digunakan hingga saat ini untuk melakukan pengunduhan (download) dan pengunggahan
(upload) berkas - berkas komputer antara FTP Client dengan FTP Server.
Sebuah FTP Client merupakan aplikasi yang dapat mengirimkan perintah - perintah
FTP ke sebuah FTP Server. Sementara FTP Server adalah sebuah service atau daemon yang
berjalan diatas sebuah komputer yang merespons perintah - perintah dari sebuah FTP Client.
Perintah - perintah FTP dapat digunakan untuk mengubah direktori, mengubah modus
pengiriman antara biner dan ASCII, mengunggah berkas komputer ke FTP Server, serta
mengunduh berkas dari FTP Server, dan lain sebagainya.
Contoh perintah - perintah FTP :
FTP (IP Server / Domain Server)
contoh : FTP praktikum.labti.ug
Perintah tersebut digunakan untuk menghubungkan Client dengan
Server dimana perintah seperti ini bisa dijalankan secara langsung melalui
sebuah terminal yang telah memiliki instalasi paket FTP Client. Setelah
melakukan perintah ini walaupun ada kesalahan ketika proses authentikasi
maka pengguna akan langsung masuk ke lingkungan FTP, lingkungan FTP ini
ditandai dengan muncul nya "ftp > " pada terminal, perintah ini juga bisa
dijalankan tanpa memberikan parameter sama sekali sehingga pengguna akan
langsung masuk ke lingkungan FTP tanpa membuka koneksi secara
bersamaan. Perintah - perintah FTP lain nya harus di jalankan pada lingkungan
FTP, jika tidak maka perintah tersebut akan dibaca sebagai perintah terminal
biasa.
help
contoh : ftp > help
Perintah tersebut digunakan untuk menampilkan seluruh daftar
perintah FTP yang tersedia.
? (Nama Perintah)
contoh : ftp > ? ascii
Perintah tersebut digunakan untuk mendapatkan bantuan mengenai
perintah - perintah yang terdapat pada FTP.
ascii
contoh : ftp > ascii
Perintah tersebut digunakan untuk mengubah modus pengiriman
berkas menjadi modus ascii.
binary
contoh : ftp > binary
Laboratorium Teknik Informatika | Pemrograman Jaringan 24
Perintah tersebut digunakan untuk mengubah modus pengiriman
berkas menjadi modus binary.
bye
contoh : ftp > bye
Perintah tersebut digunakan untuk keluar dari lingkungan FTP (sama
hal nya seperti perintah quit ataupun exit).
quit
contoh : ftp > quit
Perintah tersebut digunakan untuk keluar dari lingkungan FTP (sama
hal nya seperti perintah bye ataupun exit).
exit
contoh : ftp > exit
Perintah tersebut digunakan untuk keluar dari lingkungan FTP (sama
hal nya seperti perintah quit ataupun bye). Sebenarnya perintah ini
bukanlah perintah dari FTP melainkan perintah dari Unix / Linux
namun perintah yang satu ini dapat digunakan dilingkungan FTP.
cd (Direktori Tujuan)
contoh : ftp > cd ujian
Perintah tersebut digunakan untuk pindah direktori yang
sedang digunakan pada Server.
cdup
contoh : ftp > cdup
Perintah tersebut digunakan untuk pindah ke parent directory dari
direktori yang sedang aktif pada Server.
close
contoh : ftp > close
Perintah tersebut digunakan untuk menutup koneksi dengan Server
yang sedang terkoneksi namun masih ingin berada di lingkungan FTP
(tidak keluar dari lingkungan FTP) sehingga bisa melakukan koneksi
lagi dengan Server lain.
disconnect
contoh : ftp > disconnect
Perintah tersebut bekerja sama hal nya dengan perintah close.
open (IP / Domain dari Server)
contoh : ftp > open praktikum.labti.ug
Perintah tersebut digunakan untuk membuka koneksi dengan Server,
jika ketika menjalankan perintah tersebut masih terkoneksi dengan
Server lain maka akan muncul pesan bahwa anda tidak bisa membuka
koneksi baru karena anda telah memiliki koneksi yang aktif dan anda
harus menutup koneksi anda yang sedang aktif terlebih dahulu untuk
membuka koneksi yang baru.
delete (Nama File)
contoh : ftp > delete berkas1.txt
Laboratorium Teknik Informatika | Pemrograman Jaringan 25
Perintah tersebut digunakan untuk menghapus sebuah file yang
terdapat pada direktori yang sedang digunakan pada Server (perintah
ini bekerja sama hal nya dengan perintah rm pada Unix / Linux).
get (Nama File)
contoh : ftp > get berkas2.txt
Perintah tersebut digunakan untuk mengunduh sebuah file yang
terdapat pada direktori yang sedang digunakan pada Server dan
meletakanya pada direktori yang sedang aktif pada Client.
mget (Nama File 1, Nama File 2, Nama File 3, Dan Seterusnya) / (*)
contoh : ftp > mget berkas1.txt berkas2.txt
Perintah tersebut digunakan untuk mengunduh satu atau lebih file
yang terdapat pada direktori yang sedang digunakan pada Server dan
meletakanya pada direktori yang sedang aktif pada Client. Selain
dengan cara menuliskan nama berkas nya satu - persatu, bisa juga
digunakan parameter "*" yang berarti semua file yang terdapat pada
direktori tersebut.
put (Nama File)
contoh : ftp > put berkas5.txt
Perintah tersebut digunakan untuk mengunggah sebuah file yang
terdapat pada direktori yang sedang digunakan pada Client dan
meletakanya pada direktori yang sedang aktif pada Server.
mput (Nama File 1, Nama File 2, Nama File 3, Dan Seterusnya) / (*)
contoh : ftp > mput berkas6.txt berkas7.txt
Perintah tersebut digunakan untuk mengunggah sebuah file yang
terdapat pada direktori yang sedang digunakan pada Client dan
meletakanya pada direktori yang sedang aktif pada Server. Selain
dengan cara menuliskan nama berkas nya satu - persatu, bisa juga
digunakan parameter "*" yang berarti semua file yang terdapat pada
direktori tersebut.
lcd (Direktori Tujuan)
contoh : ftp > lcd dokumen
Perintah tersebut digunakan untuk pindah direktori, hampir sama
dengan perintah cd namun pada perintah lcd direktori yang
dipindahkan merupakan direktori yang terpdapat pada Client.
ls
contoh : ftp > ls
Perintah tersebut digunakan untuk melihat isi dari direktori yang
sedang aktif pada Server.
dir
contoh : ftp > dir
Perintah tersebut digunakan untuk melihat isi dari direktori yang
sedang aktif pada Server (sama seperti ls).
Laboratorium Teknik Informatika | Pemrograman Jaringan 26
pwd
contoh : ftp > pwd
Perintah tersebut digunakan untuk menampilan path dari direktori yang
sedang aktif pada Server.
mkdir (Nama Direktori)
contoh : ftp > mkdir dokumen
Perintah tersebut digunakan untuk membuat direktori baru yang akan
diletakkan pada direktori yang sedang aktif pada Server.
rmdir (Nama Direktori)
contoh : ftp > rmdir dokumen
Perintah tersebut digunakan untuk menghapus sebuah direktori yang
terdapat pada direktori yang sedang aktif pada Server.
size (Nama File)
contoh : ftp > size berkas1.txt
Perintah tersebut digunakan untuk melihat ukuran dari sebuah file
yang terdapat pada direktori yang sedang aktif pada Server.
rename (Nama File)
contoh : ftp > rename berkas1.txt berkas2.txt
Perintah tersebut digunakan untuk mengubah nama dari sebuah file
yang terdapat pada direktori yang sedang aktif pada Server.
Web Server adalah sebuah perangkat lunak yang memberikan layanan berbasis data
dan berfungsi menerima permintaan yang melalui protokol HTTP (Hyper Text Transfer
Protocol) atau HTTPS (Hyper Text Transfer Protocol over TLS / SSL) dari Client. Client bisa
mengirimkan permintaan melalui kedua protokol tersebut bisa dengan berbagai cara, namun
cara yang paling umum digunakan adalah dengan menggunakan Web Browser seperti Mozilla
Firefox, Google Chrome, Safari, dan lain sebagainya.
Server akan mengirimkan respond yang dapat berupa halaman web yang pada umum
nya akan berbentuk dokumen HTML ataupun juga bisa dalam API (Application
Programming Interface.). Terdapat beberapa contoh perangkat lunak Web Server yang umum
dipakai seperti Nginx, Apache, Tomcat, Lighttpd, Microsoft Information Internet Service, dan
lain sebagainya.
Fungsi utama sebuah Web Server adalah untuk melakukan atau akan mentransferkan
berkas permintaan pengguna melalui protokol komunikasi yang telah ditentukan sedemikian
rupa (HTTP / HTTPS).
Pada pertemuan kali ini kita akan mencoba untuk melakukan konfigurasi dasar
dengan Web Server dan FTP, pada praktikum ini kita akan menggunakan Nginx sebagai Web
Server dan Vsftpd sebagai FTP. Setelah melakukan konfigurasi dasar kita juga akan menguji
konfigurasi kita dengan menggunakan sebuah VM Client sekaligus mencoba beberapa
perintah - perintah FTP.
Laboratorium Teknik Informatika | Pemrograman Jaringan 27
Pertama tentu saja kita harus membuka Virtualbox lalu menjalankan VM Server dan
login dengan user yang telah tersedia. Setelah hal itu selesai kita bisa langsung memulai
langkah pertama kita dengan membuka file konfigurasi untuk Vsftpd, hal tersebut dapat kita
lakukan dengan perintah sebagai berikut.
Setelah kita membuka file tersebut maka yang pertama kali muncul tentu saja bagian
paling awal dari file konfigurasi tersebut yang kurang lebih akan menampilan sebagai
berikut.
Hal pertama pada konfigurasi FTP yang perlu kita perhatikan adalah memastikan
bahwa tidak diperbolehkanya Anonymous Login dimana hal ini berarti boleh nya seorang
pengguna membuka koneksi FTP dengan Server tanpa autentikasi / login sama sekali terlebih
dahulu.
Laboratorium Teknik Informatika | Pemrograman Jaringan 28
Bagian konfigurasi diatas lah yang mengatur tentang diperbolehkan nya atau tidak
sebuah Anonymous Login. Lalu kita juga perlu memerhatikan konfigurasi bagian write
dimana bagian ini akan mengatur boleh tidak nya pengguna melakukan tindakan yang
berkaitan dengan write seperti membuat file atau membuat direktori baru.
Bagian konfigurasi tersebut bernilai YES namun memiliki tanda komentar (# / pagar)
didepan nya sehingga bagian tersebut tidak dianggap sebagai bagian dari konfigurasi karena
fungsi tanda komentar adalah membuat satu atau lebih baris tidak dibaca oleh komputer
ketika sebuah program di eksekusi, dalam hal ini yang di eksekusi adalah varibel - variabel
konfigurasi Vsftpd, maka dari itu kita perlu menghilangkan tanda komentar tersebut sehingga
hasil akhirnya menjadi kurang lebih sebagai berikut.
Selain itu juga kita perlu memerhatikan bagian konfigurasi yang mengatur tentang
penggunaan waktu lokal, bagian konfigurasi tersebut terdapat pada bagian yang tertulis
sebagai berikut.
Lalu kita juga perlu mengubah konfigurasi yang mengatur tentang boleh atau tidak
nya tindakan yang berkaitan dengan upload atau mengunggah maupun download atau
mengunduh dalam modus pengiriman ascii, bagian konfigurasi tersebut terdapat pada bagian
yang tertulis sebagai berikut.
Laboratorium Teknik Informatika | Pemrograman Jaringan 29
Vsftpd sendiri tidak menganjurkan kita mengubah konfigurasi nya menjadi seperti itu,
karena hal ini dapat digunakan oleh pihak yang tidak bertanggung jawab untuk melakukan
serangan terhadap Server degan menggunakan metode Denial of Service (DoS). Namun kita
akan menghiraukan hal tersebut untuk praktikum kali ini sebagai pembelajaran, namun hal ini
benar - benar tidak dianjurkan pada pemakaian yang sebenarnya.
Terakhir kita akan mengubah pesan pembuka ketika kita telah berhasil membuka
koneksi dengan Server, konfigurasi tersebut terdapat pada bagian yang tertulis sebagai
berikut.
Untuk konfigurasi yang satu ini kita hanya perlu menghapus komentar pada baris
yang diperlukan saja lalu kita ubah pesan pembuka nya menjadi apa yang kita inginkan,
contoh dari hasil akhir nya sebagai berikut.
Setelah semua konfigurasi telah selesai dilakukan dan telah diperiksa kembali, kita
bisa keluar sekaligus menyimpan konfigurasi yang telah kita lakukan pada file konfigurasi
tersebut dengan menekan tombol Control + X lalu menjawab dengan "y" ketika ditanya pada
prompt pertama tentang apakah kita ingin menyimpan perubahan yang telah kita lakukan
pada file tersebut lalu tekan enter pada prompt kedua karena prompt kedua bertanya soal
apakah kita ingin mengubah nama dari file tersebut, karena kita tidak ingin mengubah nama
dari file tersebut maka kita bisa langsung lewatkan saja dengan menekan tombol enter.
Setelah selesai dengan file konfigurasi untuk Vsftpd, kita bisa langsung merestart
service dari Vsftpd tersebut dengan menggunakan perintah sebagai berikut.
Laboratorium Teknik Informatika | Pemrograman Jaringan 30
Setelah selesai melakukan restart, kita bisa langsung memeriksa status dari service
tersebut dengan perintah sebagai berikut.
Setelah selesai memeriksa status dari service tersebut kita bisa keluar dari laporan
status tersebut dengan menekan tombol Control + C (Cancel). Pada saat kita menguji coba
FTP pada Client nanti kita diperlukan untuk melakukan autentikasi atau login menggunakan
user yang terdapat pada Server, karena kita akan melakukan aktifitas pengiriman file sebagai
user tersebut.
Kita bisa saja menggunakan user yang sekarang kita gunakan untuk melakukan
konfigurasi pada Server, namun untuk menambah pengetahuan kita bisa melakukan
pembuatan sebuah user baru pada Server sehingga ketika kita menguji dari Client kita bisa
menggunakan user yang kita telah buat tersebut. Untuk melakukan hal tersebut kita bisa
melakukanya dengan menggunakan perintah sebagai berikut.
Setelah itu kita bisa langsung mengisi informasi lengkap mengenai user tersebut
dengan menggunakan perintah sebagai berikut.
Laboratorium Teknik Informatika | Pemrograman Jaringan 31
Sekarang kita bisa melanjutkan konfigurasi kita dengan berkenalan sedikit dengan
salah satu Web Server yang umum digunakan yaitu Nginx. Untuk Web Server sendiri kita
hanya akan mengenal dimana Nginx secara default menyimpan halaman yang akan
ditampilkan nya ketika menerima sebuah request lalu mengubahnya sesuai keinginan kita.
Sebelum nya karena kita tidak perlu melakukan instalasi maka kita hanya perlu memeriksa
apakah Nginx telah berjalan pada Server dengan menggunakan perintah sebagai berikut.
Hasil dari pemeriksaan status tersebut kurang lebih akan menghasilkan hasil yang
kurang lebih sebagai berikut.
Setelah kita selesai memeriksa status tersebut, kita harus masuk ke folder dimana
merupakan tempat penyimpanan halaman web yang digunakan oleh Nginx secara default, hal
tersebut dapat kita lakukan dengan menggunakan perintah sebagai berikut.
Setelah sampai ke direktori yang kita tuju, kita bisa langsung memeriksa apa saja isi
dari direktori tersebut dengan menggunakan perintah sebagai berikut.
Perintah tersebut akan menampilkan seluruh file maupun direktori yang terdapat pada
direktori tersebut, kurang lebih hasilnya akan menjadi sebagai berikut.
Isi dari direktori tersebut hanyalah satu buah dokumen HTML secara default, halaman
tersebutlah yang akan tampil ketika kita mengakses IP ataupun Domain dari Server melalui
Web Browser ataupun Curl dan lain sebagainya.
Sekarang kita telah mengetahui file apa yang ingin kita ubah sehingga kita bisa
langsung membuka file tersebut menggunakan Nano Text Editor dengan menggunakan
perintah sebagai berikut.
Laboratorium Teknik Informatika | Pemrograman Jaringan 32
Secara default, isi dari file tersebut akan berisi sebagai berikut.
Kita akan melakukan sedikit perubahan dengan tampilan dari halaman tersebut
menggunakan sintaks HTML, kalian bisa melakukan perubahan yang kalian ingikan. Setelah
kita lakukan perubahan hasilnya kurang lebih akan seperti berikut.
Setelah selesai melakukan perubahan, kita bisa keluar sekaligus menyimpan
konfigurasi yang telah kita lakukan pada file konfigurasi tersebut dengan menekan tombol
Control + X lalu menjawab dengan "y" ketika ditanya pada prompt pertama tentang apakah
kita ingin menyimpan perubahan yang telah kita lakukan pada file tersebut lalu tekan enter
Laboratorium Teknik Informatika | Pemrograman Jaringan 33
pada prompt kedua karena prompt kedua bertanya soal apakah kita ingin mengubah nama
dari file tersebut, karena kita tidak ingin mengubah nama dari file tersebut maka kita bisa
langsung lewatkan saja dengan menekan tombol enter.
Setelah semua konfigurasi yang telah kita lakukan benar - benar selesai dan tidak ada
yang ingin kita ubah lagi, kita bisa langsung menjalankan VM Client tanpa mematka VM
Server, pastikan semua konfigurasi pada Virtualbox sesuai dengan bagaimana praktikum
sebelum nya berakhir karena kita akan menggunakan konfigurasi tersebut untuk
berkomunikasi antar VM dan menggunakan DNS yang kemarin telah kita buat.
Setelah VM Client menyala kita bisa langsung login dan membuka terminal untuk
melakukan sedikit pengujian terhadap Web Server lalu FTP. Pertama kita akan melakukan
Curl terhadap Server sehingga isi dari halaman web yang terdapat pada Server akan tampil
secara mentah, biasanya metode ini digunakan untuk parsing data dan lain sebagainya. Kita
dapat melakukan hal tersebut dengan menggunakan perintah sebagai berikut.
Perintah tersebut akan menampilkan respond dari Server secara mentah - mentah,
maka dari itu sebelumnya sering disinggung bahwa metode ini lebih sering dilakukan untuk
melakukan parsing data dan lain sebagainya, kurang lebih hasilnya akan menjadi sebagai
berikut.
Setelah itu kita bisa membuka Web Browser lalu mengetikkan domain yang pada
pertemuan sebelum nya telah kita buat pada bagian url. Browser akan menampilkan respond
dari Server dalam bentuk halaman web, inilah cara umum yang biasa kita gunakan sehari -
hari untuk melakukan Surfing di internet dan lain sebagainya. Kurang lebih hasilnya akan
menjadi sebagai berikut.
Laboratorium Teknik Informatika | Pemrograman Jaringan 34
Setelah menguji komunikasi melalui protokol HTTP, kita akan menguji komunikasi
menguji protokol FTP dengan menggunakan perintah sebagai berikut.
Setelah itu kita akan di minta untuk melakukan autentikasi atau login menggunakan
user yang telah kita buat sebelum nya, lalu pesan pembuka yang telah kita buat sebelum nya
juga akan muncul dan terminal akan sedikit berubah dengan tanda "ftp > " yang menandakan
kita sudah masuk kedalam lingkungan FTP. Kurang lebih tampilanya akan menjadi sebagai
berikut.
Disinilah kita mulai bisa menjelajahi berbagai perintah - perintah yang terdapat pada
FTP, selain melalui terminal, kita juga bisa menjelajahi isi dari Server melalui protokol FTP
menggunakan Web Browser dengan cara mengetikkan url sebagai berikut.
Laboratorium Teknik Informatika | Pemrograman Jaringan 35
Setelah kita masukkan url tersebut kita akan diminta untuk login kembali dengan
tampilan kurang lebih sebagai berikut.
Setelah kita melakukan login, kita akan secara otomatis masuk ke halaman yang
menunjukkan direktori home dari user yang kita gunakan untuk login pada FTP. Kurang lebih
tampilan nya menjadi sebagai berikut.
Setelah ini kita bisa langsung mempraktikan berbagai perintah - perintah yang
terdapat pada FTP yang tertera pada bagian awal dari modul pertemuan ini, kalian bisa
menggunakan terminal untuk melakukan berbagai perintah tersebut dan menggunakan Web
Browser untuk melihat hasil dari berbagai perintah tersebut.
Laboratorium Teknik Informatika | Pemrograman Jaringan 36
PERTEMUAN 3
UDP
Tujuan:
1. Mahasiswa dapat memahami konsep dari komunikasi menggunakan protokol
2. Mahasiswa dapat memahami konsep dari protokol UDP
3. Mahasiswa dapat memahami implementasi dari protokol UDP
Laboratorium Teknik Informatika | Pemrograman Jaringan 37
PERTEMUAN 3
UDP (User Datagram Protocol) merupakan salah satu protokol yang mendukung
komunikasi yang tidak dapat diandalkan (unreliable), hal ini dikarena UDP bersifat
Connectionless karena pesan - pesan UDP akan dikirimkan tanpa harus dilakukan proses
negosiasi koneksi antara dua host yang hendak bertukar informasi. UDP juga mengirimkan
pesan - pesan nya tanpa adanya nomor urut atau pesan ackknowledment. Protokol lapisan
aplikasi yang berjalan diatas UDP harus melakukan pemulihan terhadap pesan - pesan yang
hilang selama transmisi. Umumnya, protokol lapisan aplikasi yang berjalan diatas UDP
mengimplementasikan layanan keandalan mereka masing - masing, atau mengirim pesan
secara periodik atau dengan menggunakan waktu yang telah didefinisikan.
UDP menyediakan mekanisme untuk mengirim pesan - pesan ke sebuah protokol
lapisan aplikasi atau proses tertentu di dalam sebuah host dalam jaringan yang menggunakan
TCP/IP. Header UDP berisi field Source Process Identification dan Destination Process
Identification.
UDP menyediakan penghitungan checksum berukuran 16-bit terhadap keselurahan
pesan UDP. Pesaing UDP yang cukup terkenal adalah TCP atau dikenal juga sebagai TCP/IP,
perbedaan UDP dengan TCP/IP yang cukup diketahui banyak kalangan adalah UDP tidak
memastikan pesan yang di kirimkan oleh nya sampai ke tujuan nya dengan utuh, berbeda
dengan TCP yang akan memeriksanya terlebih dahulu sebelum menyelesaikan transaksi, jika
ada kekurangan data maka TCP akan mengirimkan ulang data tersebut, sementara UDP harus
memeriksa nya secara manual dan jika ada kekurangan harus mengirim semua pesan dari
awal kembali.
Pada praktikum kali ini kita akan mencoba untuk membuat script untuk
berkomunikasi melalui protokol UDP dengan menggunakan bahasa pemrogramanPython.
Pertama kita harus jalankan kedua VM yaitu VM Server dan VM Client. Setelah itu kita buat
script untuk sisi Server dengan menggunakan perintah sebagai berikut.
Script tersebut akan kita isi dengan kodingan sebagai berikut.
Laboratorium Teknik Informatika | Pemrograman Jaringan 38
Setelah selesai memasukkan script tersebut kita bisa langsung keluar sekaligus
menyimpan nya, lalu membuat script untuk sisi Client dengan perintah sebagai berikut.
Script tersebut akan kita isi dengan kodingan sebagai berikut.
Laboratorium Teknik Informatika | Pemrograman Jaringan 39
Setelah selesai memasukkan script tersebut kita bisa langsung keluar sekaligus
menyimpan nya, lalu kita bisa mulai menjalankan script yang terdapat pada sisi Server
dengan perintah sebagai berikut.
Setelah itu kita bisa menjalankan script pada sisi Client dengan menggunakan
perintah sebagai berikut.
Setelah itu kita akan diminta untuk memasukkan pesan yang kita inginkan, kita bisa
langsung mengisikanya dengan pesan yang kita inginkan dengan salah satu contoh sebagai
berikut.
Setelah itu kita bisa melihat output dari program sebagai berikut.
Lalu kita bisa melihat hasilnya pada sisi Server yang kurang lebih akan menghasilkan
output sebagai berikut.
Kita bisa terus mencoba berkomunikasi dengan script tersebut atau juga bisa kita
kembangkan agar bisa kita implementasikan lebih baik.
Laboratorium Teknik Informatika | Pemrograman Jaringan 40
PERTEMUAN 4
TCP
Tujuan:
1. Mahasiswa dapat memahami konsep dari protokol TCP
2. Mahasiswa dapat memahami implementasi dari protokol TCP
Laboratorium Teknik Informatika | Pemrograman Jaringan 41
PERTEMUAN 4
TCP (Transmission Control Protocol) adalah suatu protokol yang berada dalam
lapisan transport (model OSI maupun DARPA) yang berorientasi dengan sambungan
(Connection-Oriented) dan dapat diandalkan (Reliable). Karakteristik dari TCP dikenal juga
sebagai oposisi dari karakter protokol UDP, karena TCP bersifat Connection Oriented
dimana sebelum data dapat di transmisikan antara dua host, dua proses yang berjalan pada
lapisan aplikasi harus melakukan negosiasi untuk membuat sesi koneksi terlebih dahulu.
Koneksi TCP ditutup dengan menggunakan proses terminasi koneksi TCP (TCP Connection
Termination).
Untuk setiap host TCP, koneksi yang terjadi antara dua host terdiri atas dua buah
jalur, yakni jalur keluar dan jalur masuk atau yang dikenal juga sebagai Full Duplex. Dengan
menggunakan teknologi lapisan yang lebih rendah yang mendukung Full Duplex, maka data
pun dapat secara simultan diterima dan dikirim. Header TCP berisi nomor urut (TCP
Sequence Number) dari data yang ditransmisikan dan sebuah Acknowledgment dari data yang
masuk.
Data yang dikirimkan ke sebuah koneksi TCP akan diurutkan dengan sebuah nomor
urut paket dan akan mengharapkan paket Positive Acknowledgment dari penerima. Jika tidak
ada paket Acknowledgment dari penerima, maka segmen TCP akan ditransmisikan ulang.
Pada pihak penerima, segmen - segmen yang datang tidak sesuai dengan urutanya akan
diletakkan dibelakang untuk mengurutkan segmen - segmen TCP. Untuk menjamin integritas
setiap segmen TCP, TCP mengimplementasikan penghitungan TCP Checksum.
Pada praktikum kali ini kita akan mencoba untuk membuat script untuk
berkomunikasi melalui protokol TCP dengan menggunakan bahasa pemrogramanPython.
Pertama kita harus jalankan kedua VM yaitu VM Server dan VM Client. Setelah itu kita buat
script untuk sisi Server dengan menggunakan perintah sebagai berikut.
Lalu kita isi script tersebut dengan kodingan berikut.
Laboratorium Teknik Informatika | Pemrograman Jaringan 42
Setelah itu kita simpan file tersebut dan kita lanjutkan dengan membuat script pada
sisi Client dengan menggunakan perintah sebagai berikut.
Lalu kita isi script tersebut dengan kodingan berikut.
Setelah itu kita simpan file tersebut dan kita lanjutkan dengan menjalankan script
yang telah kita buat pada sisi Server dengan menggunakan perintah sebagai berikut.
Laboratorium Teknik Informatika | Pemrograman Jaringan 43
Setelah itu kita jalankan script yang telah kita buat pada sisi Client dengan
menggunakan perintah sebagai berikut.
Setelah itu kita akan diminta untuk memasukkan pesan yang ingin kita kirimkan yang
kurang lebih tampilanya menjadi sebagai berikut.
Kita bisa mengirimkan pesan apa saja lalu kita tekan enter sehingga akan muncul
kembali pesan yang kita kirimkan sebagai berikut.
Setelah itu semua selesai kita bisa melihat hasilnya pada bagian Server yang dimana
hasilnya akan menjadi kurang lebih sebagai berikut.
Kita bisa terus mencoba berkomunikasi dengan script tersebut atau juga bisa kita
kembangkan agar bisa kita implementasikan lebih baik.
Laboratorium Teknik Informatika | Pemrograman Jaringan 44
DAFTAR PUSTAKA
1. [URL] :https://wiki.python.org/moin/UdpCommunication
2. [URL] :https://wiki.python.org/moin/TcpCommunication