Anda di halaman 1dari 21

Modul 3

Application Layer

3.1 Web Server


3.1.1 Tujuan
Praktikan mampu:

a. Menjelaskan definisi dan fungsi web server.


b. Menjalankan atau menghentikan web server Apache pada Linux OS.
c. Mengkonfigurasi port dan home directory web server.
d. Menguji webserver menggunakan web browser

3.1.2 Landasan Teori

Web server adalah software yang memberikan layanan data yang


mempunyai fungsi untuk menerima permintaan HTTP(HyperText Transfer
Protocol) atau HTTPS yang dikirim oleh klien melalui web browser dan
mengirimkan kembali hasilnya dalam bentuk halaman web yang umumnya
berbentuk dokumen HTML(HyperText Markup Language). Web server
berguna sebagai tempat aplikasi web dan sebagai penerima request dari client
(Indra Warman & Zahni, 2013). Pada umumnya web server telah dilengkapi
pula dengan mesin penerjemah bahasa skrip yang memungkinkan web server
menyediakan layanan situs web dinamis dengan memanfaatkan pustaka
tambahan seperti PHP(PHP:Hypertext Preprocessor) dan ASP(Active Server
Pages).
Cara Kerja Web Server

1. Client disini dapat berupa computer desktop dengan minimal memiliki


broser dan terhubung ke wed server melalui jaringan (intranet atau internet).

2. Komputer yang berfungsi sebagai server, dimana didalamnya terdapat


perangkat lunak web server. Agar computer ini dapat diakses oleh client
maka computer harus terhubung ke jaringan (intranet atau internet). Dalam
jaringan internet, computer ini bias saja bernama www.google.com.
www.bl.ac.id atau memiliki kode computer (disebut IP Address) seperti
202.10.20.10 dan 200.100.50.25.

3. Pertama-tama, client (user) akan meminta suatu halaman ke (web) server


untuk ditampilkan di computer client. Misalnya client mengetikan suatu
alamat (biasa disebut URL) di browser http://www.google.com. Client
menekan tombol enter atau klik tombol Go pada browser. Melalui media
jaringan (bisa internet, bisa intranet) dan melalui protocol http,akan
dicarilah computer bernama www.google.com. Jika ditemukan, maka
seolah-olah terjadi permintaan, “hai google, ada client yang minta
halaman utama nih, ada dimana halamanya? ”. Inilah yang disebut
request.

4. Sekarang dari sisi server (web server). Mendapat permintaan halaman


utama google dari client, si server akan mencari-cari di komputernya
halaman sesuai permintaan. Namanya juga mencari, kadang ketemu,
kadang juga tidak ketemu. Jika ditemukan, maka halaman yang diminta
akan dikirimkan ke client (si peminta), namun jika tidak ditemukan, maka
server akan memberi pesan “404. page Not Found”, yang
artinya halaman tidak ditemukan.

3.1.3 Peralatan
1. mini PC
2. Unit server
3.1.4 Percobaan
1. Langkah-langkah Intalasi dan Konfigurasi
Install semua paket yang dibutuhkan untuk web dan database server.

Selama proses intalsi berjalanm maka akan muncul beberapa pertanayaan


seperti berikut :
· Do you want to continue [Y/n]? tekan "y"
· Isikan password unutk database MySQL
Gambar 3.1 Konfigurasi Paket
· Ulangi password yang telah di masukan

Gambar 3.2 Konfigurasi Password Mysql user


Pilih apache2 dengan menekan spasi pada keyboard unutk menjalankan phpmyadmin

Gambar 3.3 Konfigurasi Paket


2. Konfigurasi web server
Secara default unutk mengkonfigurasi web server dapat dilakukan dengan
mengedit file /etc/apache2/sites-available/default. Terlebih dahulu kita backup file
tersebut:
kemudian edit:
nano /etc/apache2/sites-available/default
dan rubah isinya mejadi seperti berikut:

Gambar 3.4 Konfigurasi pada file default


3. Restart APACHE

Gambar 3.5 Restart Apache2


4. Pengujian Web Server via server
sebelum melakukan pengujian kita edit dulu file tampilan default website yang kita
buat
Gambar 3.6 Pengujian Web Server via Server
lihat hasilnya dengan menuliskan w3m jerbee.net pada sever kita.

Gambar 3.7 Mengisi file index


· Pengujian Web Server via klient
sebelum kita langsung ke Web Browser kita setting terlabih dahulu Ip address
miliknya klinet

Gambar 3.8 Setting IP Address pada PC


Pengujian pada server

Gambar 3.9 Pengujian dengan ping IP Web Server

Gambar 3.10 Pengujian dengan ping alamat web


Gambar 3.11 Pengujian dengan ping google.com

Gambar 3.12 Pengujian pada laman web


Gambar 3.13 Masuk pada phpmyadmin via laman

3.2 DNS Server


3.2.1 Tujuan
Praktikum mampu :
a) Menjelaskan definisi dan fungsi DNS server
b) Menjalankan atau menghentikan DNS server bind
c) Mengkonfigurasi port dan home directory DNS server
d) Menguji DNS server dengan nslookup

3.2.2 Landasan teori


DNS (Domain Name System) adalah sebuah sistem yang menyimpan
informasi tentang nama host maupun nama domain dalam bentuk basis data
tersebar (distributed database) di dalam jaringan komputer, misalkan: Internet.

DNS menyediakan alamat IP untuk setiap nama host dan mendata setiap
server transmisi surat (mail exchange server) yang menerima surat elektronik
(email) untuk setiap domain. DNS adalah (Domain Name System) yang juga
memiliki arti untuk mengidentifikasi setiap komputer sebagai titik dalam suatu
jaringan Internet yang menggunakan bantuan sistem protokol internet adress
untuk menerjemahkan dari suatu nama domain ke IP dan begitu juga
sebaliknya.
Cara Kerja
1. Mencari alamat host pada file HOSTS, bila ada berikan alamatnya dan
proses selesai.
2. Mencari pada data cache yang dibuat oleh resolver untuk menyimpan hasil
permintaan sebelumnya, bila ada simpan dalam data cache, berikan
hasilnya dan selesai.
3. Mencari pada alamat Server DNS pertama yang telah ditentukan oleh
user.
4. Server DNS yang ditunjuk akan mencari nama domain pada cache-nya.
5. Apabila tidak ketemu, pencarian dilakukan dengan melihat file database
domain (zones) yang dimiliki oleh server.
6. Apabila tidak menemukan, server ini akan menghubungi Server DNS lain
yang sudah dikaitkan dengan server ini. Jika ketemu simpan dalam cache
dan berikan hasilnya.
7. Apabila pada Server DNS pertama tidak ditemukan pencarian dilanjutkan
pada Server DNS kedua dan seterusnya dengan proses yang sama seperti
diatas.
3.2.3 Peralatan
a) Mini PC
b) Unit server
3.2.4 Percobaan
Langkah-langkah intalasi dan konfigurasi

1. Menginstal Bind9 dengan perintah :


apt-get install bind9
2. Mengkonfigurasi zone domain dengan mengedit
file named.conf
Konfigurasi di folder named.conf untuk membuka file yaitu
dengan perintah nano /etc/bind/named.conf
3. Kemudian tambahkan skrip berikut ini pada baris paling bawah

Gambar 3.14 Tambahan script pada file named.conf


4. Konfigurasi file forward
Forward berfungsi untuk mengubah nama domain ke alamat IP
Address. Untuk membuat file konfigurasinya, kita dapat menyalin dari
file yang sudah ada dengan perintah cp /etc/bind/db.local
/etc/bind/forward

Kemudian edit hasil salinan tadi dengan masuk ke file forward.


Perintah nano /etc.bind/forward
Perhatikan gambar di bawah ini :

Gambar 3.15 isi pada file forward


editlah file diatas dan editanya nampak seperti berikut:

Gambar 3.16 Hasil edit file forward

5. Konfigurasi file Reserve


Reserver berfungsi untuk mengubah IP Address menjadi nama
Domain. untuk membuat konfigurasinya, kita tinggal mengcopy file
forward yang telah tadi kita buat dengan perintah cp /etc/bind/forward
/etc/bind/reserve
Kemudian edit hasil copyannya dengan masuk pada file reserve
dengan perintah nano /etc/bind/reserve
Dari seperti ini:

Gambar 3.17 Isi file reserve


Sehingga menjadi seperti berikut:

Gambar 3.18 hasil edit file reserve


Lalu simpan hasil konfigurasian di atas.

6. Menambahkan dns-name-server
Tambahkan nameserver pada file /etc/resolv.conf agar dapat di akses
dari localhost
Gambar 3.19 menambahkan nameserver pada resolv.conf
Lalu simpan hasil konfigurasi diatas.
kemudian restart BIND9

Gambar 3.20 restart bind9

7. Pengujian DNS Server


Tes apakah sudah berhasil atau tidak dengan perintah dig atau nslookup

Gambar 3.21 pengujian dengan perintah nslookup

Gambar 3.22 pengujian dengan menggunakan perintah dig


3.3 Network Programming
3.3.1 Tujuan
Praktikum mampu :
a) Menjelaskan definisi dan fungsi socket programming
b) Membuat aplikasi client-server sederhana

3.3.2 Landasan teori


Socket interface pada jaringan yang menjadi titik komunikasi antarmesin pada
Internet Protocol, dan tentunya tanpa komunikasi ini, tidak akan ada pertukaran data
dan informasi jaringan.

Socket terdiri dari elemen-elemen utama sebagai berikut:

1) Local IP
2) Protocol
3) Local Port
4) Remote IP
5) Remote Port

Fungsi Socket
Socket berfungsi sebagai jalan untuk melakukan komunikasi antar mesin seperti
transfer data dan informasi jaringan.

Adapun Pemrograman socket menggunakan TCP dan UDP, sebagai berikut. Cara
kerja aplikasi yang menggunakan TCP dapat dijelaskan dengan gambar.

Gambar 3.23 cara kerja aplikasi pemrograman socket


Detail dari proses tersebut adalah:
1) Untuk bisa melakukan koneksi client server, program server harus berjalan terlebih
dahulu.
2) Di sisi server disediakan sebuah socket, yang disebut welcoming socket yang
fungsinya untuk mendeteksi adanya permintaan koneksi dari sisi client.
3) Di sisi client terdapat client socket. Jika ingin menghubungi server, maka melalui
client socket-nya, client membuat inisialisai koneksi ke welcoming socket milik
server, dengan mode three-way handshake.
4) Setelah welcoming socket menerima inisialisasi koneksi dari client socket, aplikasi
server akan membuat connection socket di sisi server. Dengan connection socket ini,
client socket dan connection socket berinteraksi satu sama lain untuk mengirim dan
menerima data.
5) Client membaca data yang dikirim oleh server dari client socket-nya. Kemudian
menampilkan data tersebut di monitor.
Contoh aplikasi untuk UDP socket berikut ini menggunakan kasus yang sama dengan
kasus yang digunakan oleh TCP socket, yaitu :
1) Client membaca inputan dari keyboard, kemudian mengirimkan hasilnya ke server
melalui socket-nya.
2) Server membaca data yang dikirim oleh client di connection socket
3) Server mengubah data menjadi huruf besar
4) Server mengirimkan data yang telah diubah menuju client melalui socket-nya.
5) Client membaca data yang dikirim oleh server dari client socket-nya. Kemudian
menampilkan data tersebut di monitor.

Perbedaan utama antara aplikasi berbasis TCP dengan aplikasi berbasis UDP adalah
di aplikasi UDP tidak ada welcoming socket. Pada UDP tidak ada socket khusus
untuk permintaan inisialisai koneksi. Setiap data yang datang ditangani lansung oleh
server socket.

3.3.3 Peralatan
1. 1 unit Mini PC terinstall netbeans
2. 1 unit server

3.3.4 Langkah Percobaan


1. Sebelum membuat program nya maka kita harus membuat project nya dulu dengan
cara klik File > New Java Project seperti gambar dibawah ini :
Gambar 3.24 new project pada java
setelah itu klik Java dan pilihlah Java Application, maka akan muncul tampilan
seperti dibawah ini :

Gambar 3.25 memilih Java Application untuk memulai


Setelah klik “Next” maka akan muncul tampilan seperti dibawah ini untuk
memberikan nama project yang anda inginkan:

Gambar 3.26 memasukkan nama project

setelah klik “Finish” maka anda selesai dalam membuat project anda seperti gambar
dibawah ini bisa dilihat disebelah kiri :

Gambar 3.27 script untuk LapenSocketServer.jav


setelah membuat Project , maka buatlah sebuah class dengan cara klik kanan di nama
project anda seperti gambar dibawah ini :

Gambar 3.28 membuat kelas java baru


setelah itu maka akan muncul tampilan seperti dibawah ini untuk memberikan nama
Class yang anda inginkan:

Gambar 3.29 Menulis nama kelas baru


setelah itu maka anda tinggal memasukkan kode program yang ingin anda buat :
Contoh Program Client-Server
Code CLIENT:
import java.io.*;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.logging.Level;
import java.util.logging.Logger;
public class LapenSocketClient {
public static void main(String[] args) {
try {
Socket s = new Socket("localhost", 5136);
InputStream is = s.getInputStream();
OutputStream os = s.getOutputStream();
String pesan = "Siapa anda ?? \r\n";
os.write(pesan.getBytes());
int c;
while(true)
{
c=is.read();
System.out.print((char)c);
if((char)c=='\n')
break;
}
is.close();
os.close();
s.close();
} catch (UnknownHostException ex) {
Logger.getLogger(LapenSocketClient.class.getName()).log(Level.SEVERE, null,
ex);
} catch (IOException ex) {
Logger.getLogger(LapenSocketClient.class.getName()).log(Level.SEVERE, null,
ex);
}
}
}
Screenshot Code CLIENT:

Gambar 3.30 script pada kelas baru (client)

Code SERVER
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.logging.Level;
import java.util.logging.Logger;
public class LapenSocketServer {
public static void main(String[] args) {
try {
ServerSocket ss = new ServerSocket(5136);
Socket s = ss.accept();
InputStream is = s.getInputStream();
OutputStream os = s.getOutputStream();
String respon = "Saya Fariz\r\n";
int c;
while(true)
{
c=is.read();
System.out.print((char)c);
if((char)c=='\n')
break;
}
os.write(respon.getBytes());
os.flush();
os.close();
is.close();
s.close();
} catch (IOException ex) {
Logger.getLogger(LapenSocketServer.class.getName()).log(Level.SEVERE, null,
ex);
}

}
}

Screenshot Code Server:

Gambar 3.31 script pada server

pertama harus Run File yang code server dengan cara klik kanan > Run File , setelah
itu baru Run File yg code client , maka akan keluar 2 output seperti gambar dibawah
ini :
Output dari Client :
Gambar 3.32 Hasil output server
Output dari Server :

Gambar 3.33 output client


Sources :
1. http://www.immersa-lab.com/konfigurasi-dns-server-di-ubuntu-16-04.htm
2. http://romiashari.blogspot.com/2015/04/konfigurasi-dns.html
3. http://lupacebokz.blogspot.com/2014/04/contoh-socket-client-server-
programming.html

Anda mungkin juga menyukai