MODUL MATA PRAKTIKUM PEMROGRAMAN...

44
MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGAN Tim Penyusun : Riza Maryuni, ST., MMSI. Muhammad Zakir LABORATORIUM TEKNIK INFORMATIKA UNIVERSITAS GUNADARMA 2017

Transcript of MODUL MATA PRAKTIKUM PEMROGRAMAN...

Page 1: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

MODUL MATA PRAKTIKUM

PEMROGRAMAN JARINGAN

Tim Penyusun :

Riza Maryuni, ST., MMSI.

Muhammad Zakir

LABORATORIUM TEKNIK INFORMATIKA

UNIVERSITAS GUNADARMA

2017

Page 2: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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

Page 3: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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

Page 4: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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

Page 5: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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.

Page 6: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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.

Page 7: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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.

Page 8: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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

Page 9: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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.

Page 10: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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.

Page 11: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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.

Page 12: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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.

Page 13: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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.

Page 14: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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.

Page 15: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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.

Page 16: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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.

Page 17: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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.

Page 18: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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.

Page 19: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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.

Page 20: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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.

Page 21: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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).

Page 22: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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

Page 23: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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

Page 24: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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

Page 25: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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).

Page 26: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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.

Page 27: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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.

Page 28: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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.

Page 29: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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.

Page 30: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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.

Page 31: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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.

Page 32: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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

Page 33: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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.

Page 34: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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.

Page 35: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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.

Page 36: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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

Page 37: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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.

Page 38: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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.

Page 39: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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.

Page 40: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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

Page 41: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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.

Page 42: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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.

Page 43: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

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.

Page 44: MODUL MATA PRAKTIKUM PEMROGRAMAN JARINGANrizamaryuni.staff.gunadarma.ac.id/.../72665/Modul-Pemrograman+Ja… · Modul mata praktikum Pemrograman Jaringan membahas pengenalan implementasi

Laboratorium Teknik Informatika | Pemrograman Jaringan 44

DAFTAR PUSTAKA

1. [URL] :https://wiki.python.org/moin/UdpCommunication

2. [URL] :https://wiki.python.org/moin/TcpCommunication