Pemrograman Jaringan Client Server Beserta Contoh Programnya

Image: canva.com

Pemrograman Jaringan Client Server Beserta Contoh Programnya

Pada kesempatan kali ini, saya akan membahas tentang pemrograman jaringan berbasis client server beserta contoh program sederhananya. Jadi, langsung saja ya kita masuk ke pembahasannya.

Berbagai komputer dari vendor yang berbeda dapat berinteraksi satu sama lain. Istilah interoperabilitas sering digunakan untuk menggambarkan situasi seperti ini. Akhirnya, dengan perkembangan ini, perangkat lunak berinteraksi dengan lebih mudah.

Pada dasarnya, dalam pemrograman jaringan client server, perangkat lunak apa pun dapat mengakses suatu database. Kebebasan ini merupakan karakteristik atau ciri khas dari arsitektur client/server. Dalam arsitektur ini, satu bagian disebut client dan satu lagi disebut server.

Apa itu Client Server?

Client adalah suatu sistem atau proses apa pun itu yang melakukan permintaan data atau layanan ke server. Adapun Server adalah suatu sistem atau proses yang menyediakan data atau layanan yang diminta oleh client.

Secara fisik, server dapat berupa komputer besar, komputer kecil, workstation, PC atau peralatan lain (seperti printer). Server tidak harus berupa sistem fisik, tetapi juga dapat berupa proses.

Client memiliki kemampuan untuk menangani (melakukan pemrosesan) sendiri. Ketika client atau pengguna sedang meminta data dari server, server segera merespons dengan memberikan data yang diminta kepada client. Setelah diterima, client segera menjalankan pemrosesan.

Model komputasi berbasis client server mulai banyak digunakan dalam sistem informasi. Dengan menggunakan arsitektur ini, kita dapat menggunakan sistem informasi dan membangun sistem informasi melalui berbagai perangkat lunak client server.

Komponen Dasar Client Server

Client server terdiri dari tiga komponen, antara lain:

  • Client, terminal yang digunakan oleh pengguna untuk meminta layanan tertentu yang dibutuhkan. Peran client adalah mengirim pesan dalam bentuk permintaan layanan ke server.
  • Middleware, komponen perantara yang memungkinkan client satu dengan client yang lain untuk menggunakan interkoneksi dan komunikasi antar server.
  • Server, pihak yang menyediakan layanan. Server memainkan peran menerima pesan permintaan layanan dari client, memproses permintaan dan mengirim hasil permintaan ke client.

Karakteristik Client Server

1. Karakteristik Client

  • Aktif
  • Mengirim request atau permintaan
  • Menunggu dan menerima balasan dari server

2. Karakteristik Server

  • Pasif
  • Menunggu request atau permintaan
  • Menerima permintaan, memproses mereka dan mengirimkan balasan berupa service

Model Arsitektur Client Server

1. Two Tier

Arsitektur Two Tier adalah arsitektur yang disebut client server, dimana beberapa komputer bertindak sebagai client dan server, dan mereka berinteraksi melalui protokol dan media komunikasi tertentu. Model arsitektur Two Tier tersebut dibagi menjadi dua jenis yaitu:

  • Thin Client – Thick Server
  • Thick Client – Thin Server

2. Three Tier

Arsitektur client server ini memisahkan antara Data Management Tier atau disebut dengan data, Middle Tier atau aplikasi dan Presentation Layer atau penyajian.

  • Data Management Tier (data), merupakan komputer yang didedikasikan untuk server dalam pemrosesan database.
  • Middle Tier (aplikasi), merupakan komputer server khusus untuk memproses penerapan prosedur dan perhitungan dalam menyelesaikan pekerjaan kompleks di komputer.
  • Presentation Layer (penyajian), merupakan komputer client yang menjadi antarmuka bagi pengguna untuk memasukkan data dan mengirimkan permintaan layanan ke server dan melihat hasilnya.

3. n-Tier

Istilah n-Tier mengacu pada lapisan yang ada dalam sebuah aplikasi. Aplikasi terdiri dari beberapa komponen utama, yaitu lapisan presentasi (Presentation Layer), lapisan aplikasi (Application Layer), lapisan logika bisnis (Bussiness Logic Layer), dan lapisan data (Data Layer).

Lapisan presentasi menghubungkan antarmuka ke pengguna aplikasi, dapat berupa model grafis atau teks. Pengguna dapat menggunakan lapisan presentasi ini untuk berinteraksi dengan aplikasi.

Lapisan aplikasi berisi inti aplikasi dan lapisan data yang digunakan oleh aplikasi tersebut. Lapisan data dapat berbentuk satu atau lebih server basis data, dengan lokasi yang tersebar di banyak lokasi.

Fitur – Fitur Client Server

  • Jaringan mesin-mesin yang kecil tetapi berdaya guna.
  • Kumpulan dari berbagai komputer dengan ribuan MIPS (Million Instruction Per Second).
  • Beberapa workstation sangat handal seperti mainframe, tetapi dengan biaya 90% lebih rendah.
  • Sistem terbuka.
  • Sistem tumbuh dan berkembang dengan mudah dan dapat diperluas secara tak terbatas.
  • Lingkungan operasi client yang bersifat individual.

Keuntungan Client Server

  • Jika sebuah mesin macet, bisnis tetap berjalan.
  • Menawarkan keluwesan untuk melakukan pembelian pada hal-hal lain atau untuk meningkatkan keuntungan.
  • Bebas untuk memilih perangkat keras (hardware), perangkat lunak (software), dan layanan dari berbagai vendor.
  • Mudah untuk memperbaharui sistem.

Kelebihan Client Server

  • Kecepatan akses lebih tinggi, karena penyediaan dan pengelolaan peralatan jaringan secara eksklusif dilakukan oleh komputer (server), dan komputer ini tidak akan menanggung beban tugas lainnya, persis seperti workstation.
  • Sistem keamanan dan manajemen jaringan lebih baik, karena terdapat komputer yang bertindak sebagai administrator jaringan dan dapat mengelola manajemen dan sistem keamanan jaringan.
  • Sistem pencadangan data lebih baik karena jaringan client-server cadangan dilakukan secara terpusat di server, dan akan mencadangkan semua data yang digunakan di jaringan.
  • Jika jaringannya besar, maka lebih mudah untuk mengelola karena pengelolaan terpusat.
  • Semua data dapat dicadangkan di satu lokasi pusat.

Kelemahan Jaringan Client Server

  • Biaya operasional relatif mahal.
  • Komputer khusus dengan lebih banyak fungsi perlu dialokasikan sebagai server.
  • Kontinuitas (kelangsungan) jaringan sangat bergantung pada server. Jika server dimatikan atau mengalami gangguan, maka seluruh jaringan akan terganggu.
  • Perlu software NOS yang mahal, seperti NT atau Windows 2000, XP, Novell, server UNIX.
  • Untuk komputer server, diperlukan perangkat keras yang lebih tinggi dan mahal.
  • Seorang administrator profesional diperlukan.
  • Ada kelemahan saat menggunakan server, jika server dimatikan, data pengguna tidak akan ada.

Implementasi Client Server

  • Aplikasi pesan, seperti e-mail.
  • Menerapkan database di beberapa jaringan komputer.
  • Izinkan berbagi file atau periferal atau akses jarak jauh ke komputer.
  • Pemrosesan aplikasi intensif dari pekerjaan dibagi menjadi beberapa tugas, dan setiap tugas dijalankan pada komputer yang berbeda-beda.

Aplikasi Client Server Sederhana

Aplikasi client-server yang akan dibuat adalah aplikasi client-server sederhana dimana client dapat mengirimkan pesan ke server, dan server dapat menerima pesan dari client tersebut.

Pada aplikasi ini port akan digunakan sebagai media koneksi dan pemrograman socket. Di Java, ini mendukung pemrograman menggunakan TCP atau UDP. Untuk aplikasi ini, akan menggunakan TCP, dan server dapat menerima pesan yang dikirim oleh client.

simpleServer.java


import java.io.*;
import java.net.*;
public class simpleServer {
 public final static int TESTPORT = 5000;
 public static void main(String args[]) {
 ServerSocket checkServer = null;
 String line;
 BufferedReader is = null;
 DataOutputStream os = null;
 Socket clientSocket = null;
 try {
 checkServer = new ServerSocket(TESTPORT);
 System.out.println("Aplikasi Server hidup ...");
 } catch (IOException e) {
 System.out.println(e);
 }
 try {
 clientSocket = checkServer.accept();
 is = new BufferedReader(new
InputStreamReader(clientSocket.getInputStream()));
 os = new DataOutputStream(clientSocket.getOutputStream());
 } catch (Exception ei) {
 ei.printStackTrace();
 }
 try {
 line = is.readLine();
 System.out.println("Terima : " + line);
 if (line.compareTo("salam") == 0) {
 os.writeBytes("salam juga");
 } else {
 os.writeBytes("Maaf, saya tidak mengerti");
 }
 } catch (IOException e) {
 System.out.println(e);
 }
try {
 os.close();
 is.close();
 clientSocket.close();
 } catch (IOException ic) {
 ic.printStackTrace();
 }
 }
}

simpleClient.java


import java.io.*;
import java.net.*;
public class simpleClient {
 public final static int REMOTE_PORT = 5000;
 public static void main(String args[]) throws Exception {
 Socket cl = null;
 BufferedReader is = null;
 DataOutputStream os = null;
 BufferedReader stdin = new BufferedReader(new
InputStreamReader(System.in));
 String userInput = null;
 String output = null;
 // Membuka koneksi ke server pada port REMOTE_PORT
 try {
 cl = new Socket(args[0], REMOTE_PORT);
 is = new BufferedReader(new
InputStreamReader(cl.getInputStream()));
 os = new DataOutputStream(cl.getOutputStream());
 } catch(UnknownHostException e1) {
 System.out.println("Unknown Host: " + e1);
 } catch (IOException e2) {
 System.out.println("Erorr io: " + e2);
 kkk }
 // Menulis ke server
 try {
 System.out.print("Masukkan kata kunci: ");
 userInput = stdin.readLine();
 os.writeBytes(userInput + "\n");
 } catch (IOException ex) {
 System.out.println("Error writing to server..." + ex);
 }
 // Menerima tanggapan dari server
 try {
 output = is.readLine();
 System.out.println("Dari server: " + output);
 } catch (IOException e) {
 e.printStackTrace();
 }
// close input stream, output stream dan koneksi
 try {
 is.close();
 os.close();
 cl.close();
 } catch (IOException x) {
 System.out.println("Error writing...." + x);
 }
 }
}

Hasil Program

Pemrograman Jaringan Client Server Beserta Contoh Programnya

fahrilhadi.com

Penutup

Sekian untuk pembahasan tentang pemrograman jaringan berbasis client server beserta contoh program sederhananya. Terima kasih, semoga bermanfaat dan sampai jumpa di artikel-artikel selanjutnya.

Baca Materi Selanjutnya >

< Baca Materi Sebelumnya



Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *