Anda di halaman 1dari 6

LAPORAN PRAKTIKUM RPC

MATA KULIAH : SISTEM TERDISTRIBUSI

NAMA: A.Al-Miqdad
NIM: 42519001
KELAS: D4 TKJ 3A

PROGRAM D4 TEKNIK KOMPUTER DAN JARINGAN


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI UJUNG PANDANG
MAKASSAR
2021
1. RPC (Remote Procedure Call)
RPC atau Remote Procedure Call adalah protokol yang memungkinkan
komputer untuk menggunakan fungsi/prosedur yang berada di komputer lain. Dengan
protokol ini, kita bisa membuat sebuah fungsi ke dalam mesin dan mengeksekusinya
dengan komputer yang lain.
Cara kerja RPC ini mengadopsi sistem Client-Server dimana Client
mengirimkan request untuk menggunakan fungsi yang berada di server dan semua
proses akan dikerjakan pada mesin yang berbeda.

Umumnya, RPC digunakan untuk mengefisiensikan sebuah pekerjaan.


Misalnya ada beberapa proses berat yang harus dikerjakan oleh server, maka proses
itu bisa dibagi ke server lain untuk dikerjakan dan karena beberapa kelebihan RPC
lainnya seperti mudah digunakan, efisien dan lain-lain.

2. Praktikum
Untuk contoh praktikum kali ini, saya akan mendemonstrasikan fungsi untuk
menghitung luas lingkaran. Pada praktikum ini, fungsi yang memproses semua angka
untuk dijumlahkan sesuai rumus akan diletakkan di server dan di client kita akan
memberi fungsi input dan print hasil yang disinkronkan dengan fungsi yang ada pada
server.
Pertama, kita membuat 2 file python dengan nama client dan server.

Berikut adalah sintaks untuk file server dan client.


Server

from xmlrpc.server import SimpleXMLRPCServer

def lingkaran(r):
phi = 3.14
luas = phi*r*r
return luas

server = SimpleXMLRPCServer(("localhost", 8000))


print("Server is Listening on port 8000...")

server.register_function(lingkaran, "lingkaran")
server.serve_forever()

Client

import xmlrpc.client

server = xmlrpc.client.ServerProxy("http://localhost:8000")

r = input("Masukkan besaran jari-jari : ")


hasil = server.lingkaran(int(r))
print("Hasilnya = ", hasil)

Pertama pada server.py kita mengimpor fungsi simpleXMLRPCServer untuk


menjalankan fungsi-fungsi dalam peran sebagai server. Lalu kita mendefinisikan
fungsi untuk menghitung luas lingkaran dan menyertakan parameter r untuk
menangkap nilai r dari input.
Berikutnya kita akan mendeklarasikan dimana server ini akan berjalan. Dalam
kasus ini kita memasukkan alamat localhost dan port 8000 lalu sebagai tanda bahwa
server berjalan, kita membuat perintah print dan menuliskan pesan bahwa server
berjalan pada port 8000. Langkah berikutnya adalah, mendaftarkan fungsi lingkaran
dengan fungsi register_function(nama fungsi, “nama_fungsi”) lalu kita menjalan
fungsi serve_forever untuk membuat server terus berjalan meski satu request sudah
selesai.
Kedua, pada client kita akan mengimpor fungsi xmlrpc.client untuk
mendefinisikan file client.py sebagai client dalam protokol RPC. Kemudian kita
mendefinisikan alamat dari server yaitu localhost pada port 8000. Lalu kita membuat
fungsi input yang menjadi parameter pada fungsi lingkaran yaitu r, lalu membuat
fungsi untuk melakukan request fungsi lingkaran lalu menampilkan hasilnya dengan
memanggil variabel hasil yang berisi perhitungan dan hasilnya.

Kemudian kita akan menjalankan 2 command prompt dimana salah satunya


akan menjalankan server dan yang lainnya akan menjadi client.
Setelah menjalankan client, kita akan disuguhkan permintaan untuk
menginput besaran jari-jari.

Setelah kita memasukkan berapa besar jari-jari kita akan mendapatkan hasil
dari perhitungan luas lingkaran dengan jari-jari yang ditentukan melalui input
manual.

3. Kesimpulan
Dengan menggunakan protokol RPC, kita bisa membuat sebuah proses itu
dikerjakan oleh beberapa mesin/server dimana hal itu akan meningkatkan efisiensi
dimana itu adalah salah satu tujuan sistem terdistribusi, yaitu mengefisiensikan
pengerjaan sebuah fungsi.

Anda mungkin juga menyukai