Anda di halaman 1dari 11

Sinkronisasi Proses/Thread

Minggu/Sesi : VI/2
Kode Mata Kuliah : 1031202
Nama Mata Kuliah : Sistem Operasi
Setoran : Laporan praktikum dalam bentuk softcopy yang berisikan hasil observasi
program dan jawaban pada nomor yang memberikan pertanyaan
Batas Waktu : H+3 pukul 17.00 WIB.
Setoran
Tujuan : Mahasiswa mampu menulis program untuk penerapan komunikasi antar proses
melalui jaringan komputer menggunakan konsep Socket dengan menggunakan
Bahasa pemrograman Java.

Petunjuk
1. Sebelum memberikan pertanyaan silahkan baca buku yang ada pada referensi.
2. Mencontoh pekerjaan dari orang lain akan dianggap plagiarisme dan anda akan ditindak
sesuai dengan sanksi akademik yang berlaku di IT Del atau sesuai dengan kebijakan saya
dengan memberikan nilai 0.
3. Jawaban diketik menggunakan word processor kemudian dikonversi ke file
berekstensi .pdf
4. Penamaan file HARUS sesuai dengan format NIM_Tugas-X_NamaTugas.pdf (contoh:
13319013_Tugas-2_Struktur_Sistem_Operasi.pdf).
5. Keterlambatan menyerahkan laporan tidak ditolerir dengan alasan apapun. Oleh karena
itu, laporan harus dikumpul tepat waktu.
6. Gunakan Sistem Operasi Linux boleh menggunakan Distro apapun namun disarankan untuk
mempermudah praktikum gunakan Ubuntu.

Laporan Praktikum Sistem Operasi 1


Sistem Operasi

A. Pemograman
1. Langkah :
Tulislah dan eksekusi program berikut..
Jawab:

OUTPUT:

2. Pertanyaan:
Dari kode program di atas jelaskan apa yang dimaksud dengan:

Laporan Praktikum Sistem Operasi 2


a. Import java.net.*;
b. Import java.io.*;
c. Socket socket = new Socket (host, i);
d. UnknownHostexception
e. IOException
Jawab:

a. Import java.net.*; adalah perintah untuk mengimpor semua kelas dan fungsi yang ada
di paket java.net. Paket java.net berisi kelas-kelas yang dibutuhkan untuk berkomunikasi
dengan jaringan, seperti mengirim dan menerima data melalui protokol TCP/IP.

b. Import java.io.*; adalah perintah untuk mengimpor semua kelas dan fungsi yang ada
di paket java.io. Paket java.io berisi kelas-kelas yang digunakan untuk melakukan
input/output pada aplikasi Java, seperti membaca dan menulis file atau membaca input
dari pengguna.

c. Socket socket = new Socket (host, i); adalah perintah untuk membuat objek koneksi
jaringan menggunakan protokol TCP/IP. Objek koneksi ini dibuat dengan menentukan
host (alamat jaringan tujuan) dan nomor port (nomor yang digunakan untuk
mengarahkan data ke aplikasi yang tepat pada host tersebut).

d. UnknownHostException adalah sebuah exception (kesalahan) yang terjadi ketika


nama host yang dimasukkan pada perintah Socket tidak dapat ditemukan di jaringan. Hal
ini dapat terjadi karena kesalahan penulisan nama host atau karena host yang dimaksud
tidak aktif atau tidak terhubung dengan jaringan.

e. IOException adalah sebuah exception yang terjadi ketika terdapat masalah saat
melakukan input/output pada aplikasi Java. Hal ini dapat terjadi karena adanya kesalahan
pada file yang dibuka atau koneksi jaringan yang terputus. Exception ini seringkali
digunakan untuk menangani masalah yang berkaitan dengan input/output pada program
Java.

3. Langkah:
Tulislah dan eksekusi program berikut.
Jawab:

Laporan Praktikum Sistem Operasi 3


OUTPUT

4. Pertanyaan:
Dari kode program di atas jelaskan apa yang dimaksud dengan:
a. InetAddress
b. Method getByName()
Jawab:

a. InetAddress adalah sebuah kelas dalam paket java.net yang digunakan untuk
merepresentasikan alamat IP dan nama host dalam jaringan. Dengan menggunakan kelas
ini, kita dapat mengakses informasi tentang alamat IP dan nama host yang terkait dengan
sebuah komputer di jaringan.

b. Method getByName() adalah sebuah method dari kelas InetAddress yang digunakan
untuk mendapatkan informasi tentang sebuah host berdasarkan nama hostnya. Method
ini akan mengembalikan objek InetAddress yang merepresentasikan alamat IP dari host
tersebut. Dengan menggunakan method ini, kita dapat mengakses informasi tentang host
yang akan kita gunakan dalam aplikasi yang menggunakan jaringan, seperti melakukan
koneksi jaringan atau mengirim data melalui protokol jaringan tertentu.

5. Pertanyaan:
Modifikasilah program pada no.1 untuk menampilkan IP Address lokal komputer anda.
Contoh keluaran yang diharapkan seperti gambar di bawah.:

Laporan Praktikum Sistem Operasi 4


Berikutnya obervasilah mengenai penerapan konsep client-server dengan menggunakan
TCP Socket.
Jawab:

1. Pertanyaan:
Untuk mengimplentasikan server, tuliskanlah kode program berikut dengan nama
TCPEchoServer.java.
Jawab:

Laporan Praktikum Sistem Operasi 5


2. Langkah:
Dari kode program di atas, jelaskan langkah-langkah untuk membentuk server:

 Panggill java.net, java.io, java.util. 


 Panggil class TCPEchoServer, dan membangun koneksi. 

Laporan Praktikum Sistem Operasi 6


Buat sebuah statement handleClient dan melakukan query dalam
statement handleClient. 
 Dari melakukan query sebelumnya, dan menghasilkan sebuah proses
hasil nya dan menutup koneksi dalam finally.

3. Untuk mengimplentasikan client, tuliskanlah kode program di halaman selanjutnya


dengan nama TCPEchoClient.java.
Jawab:

Laporan Praktikum Sistem Operasi 7


4. Dari kode program di halaman sebelumnya, jelaskan langkah-langkah untuk membentuk
client.

 Bangun koneksi ke server. Buat obyek Socket. Tentukan IP Address atau


Hostname mesin server dan nomor port dimana aplikasi server berjalan.
Socket link = new Socket(IP_Address,No_Port); Socket link = new
Socket(InetAddress.getLocalHost(),1234);
 Set up stream input dan output. Panggil metode getInputStream() &
getOutputStream() dari obyek Socket. Scanner input = new
Scanner(link.getInputStream()); PrintWriter output =new
PrintWriter(link.getOutputStream(),true);
 Kirim dan terima data. Obyek Scanner menerima data dari server (input),
obyek PrintWriter mengirimkan data ke server (output).
output.println(message); response = input.nextLine();
 Tutup koneksi. Panggil metode close() dari obyek Socket link.close();
 TCPEchoServer
5. Eksekusilah kedua program client dan server kemudian cetaklah hasil yang Anda
dapatkan.
Jawab:

B. Tugas Teori

Jelaskanlah ketiga tipe Socket berikut:


a. Connection Oriented (TCP)
b. Connectionless (UDP)
c. MulticastSocket

Jawab:

a. Connection Oriented (TCP) Socket:

Laporan Praktikum Sistem Operasi 8


Socket jenis ini biasanya digunakan untuk aplikasi yang membutuhkan koneksi yang
stabil dan terjamin, seperti pengiriman email, transfer file, atau browsing web. Socket
TCP bekerja dengan cara melakukan tiga tahapan yaitu, melakukan koneksi antara
pengirim dan penerima, mengirim data, dan mengakhiri koneksi. Proses ini memastikan
bahwa data yang dikirimkan tiba di tujuan dengan benar dan tidak hilang atau salah
urutan.

b. Connectionless (UDP) Socket:

Socket jenis ini digunakan untuk aplikasi yang membutuhkan koneksi yang cepat dan
efisien, seperti video streaming atau game online. Socket UDP bekerja dengan cara
mengirimkan paket data ke tujuan tanpa memastikan bahwa paket tersebut sampai
dengan benar atau tidak. Jika paket tidak sampai ke tujuan, maka tidak akan ada upaya
pengiriman ulang dan pengiriman data berikutnya akan terus dilanjutkan.

c. MulticastSocket:

MulticastSocket adalah socket yang digunakan untuk mengirimkan data ke banyak


penerima secara bersamaan. Socket jenis ini biasanya digunakan dalam aplikasi yang
membutuhkan pengiriman data ke banyak tujuan secara bersamaan, seperti video
konferensi atau aplikasi chat grup. Dalam pengiriman multicast, pengirim mengirimkan
data ke sebuah grup multicast, dan semua penerima yang tergabung dalam grup tersebut
akan menerima data tersebut.

C.Tugas Pemrograman

1. Pertanyaan:
Tuliskan langkah-langkah untuk mengimplementasikan server dan client dengan
menggunakan UDP Socket.
Jawab:
Langkah-langkah untuk mengimplementasikan server: 
 Buatlah class dengan nama JavaSenderUDP. 
 Mengkonversi data yang mau dikirim ke dalam bentuk array byte 
 Memasukkan array byte tadi, panjang data dalam array, dan InetAddress serta
nomor port tujuan ke dalam DatagramPacket lewat konstruktornya 
 Buat DatagramSocket menggunakan konstruktornya (client DatagramSocket) ,
dan memanggil method send() dengan memasukkan DatagramPacket yang
telah dibuat. 
 Jalankan program

Langkah-langkah untuk client dengan menggunakan UDP Socket:


 Buatlah sebuah class dengan nama JavaRecieveUDP. 
 Buatlah sebuah DatagramPacket kosong (DatagramPacket untuk menerima
data) 
 Buatlah objek DatagramSocket melalui konstruktornya (DatagramSocket
untuk server) 

Laporan Praktikum Sistem Operasi 9


 Lalu panggil method receive() dari datagramSocket dengan memasukkan
DatagramPacket kosong yang telah dibuat tadi untuk menampung datagram
yang datang.ESS/SISOP/2 3-3- 9 
 Ambil datanya dalam bentuk array byte pada DatagramPacket yang telah
terisi. Lalu konversikan ke bentuk data yang diinginkan.

2. Buatlah sebuah program client-server yang mengimplementasikan UDP Sockets.


Server diberi nama UDPEchoServer.java, sedangkan client diberinama
UDPEchoClient.java.
 Code UDPEchoServer.java

 Code UDPEchoClient.java

Laporan Praktikum Sistem Operasi 10


3. Tampilkan hasil eksekusi dari program UDPSocket yang telah anda kerjakan.

Laporan Praktikum Sistem Operasi 11

Anda mungkin juga menyukai