Apa itu Client-Server Architecture? Inilah Pengertian dan Fungsinya

Assalamu‘alaikum wr. wb.

Halo gais! Dalam Jaringan Komputer, telah familiar yang bernama Client dan Server. Bedanya kalau Client itu sebagai Pengguna (User), dan Server sebagai Penyedia (Provider). Lalu, apa hubungannya dengan Arsitektur Perangkat Lunak yang disebut sebagai Client-Server Architecture? Mari kita bahas pada Postingan ini.

Ilustrasi Client-Server Architecture


Sumber Artikel Materi : Serverwatch.comSimplilearn.com, dan Dicoding.com

A. Pengertian Client-Server


Client-Server adalah sebuah konsep arsitektur perangkat lunak yang menghubungkan dua objek berupa sistem client dan sistem server yang saling berkomunikasi melalui jaringan komputer atau komputer yang sama. Server menyediakan manajemen aplikasi, data, dan keamanan data client.


Dalam fungsi pertukaran akses web, client server bertindak sebagai program web browser yang memberikan informasi kepada pengguna atau pengguna di seluruh dunia. Ini mirip dengan mengakses email, database, dll. ketika datang ke penjelajahan web. Aplikasi client-server meminta halaman web dan Alamat IP dari server tertentu. Client dapat meminta informasi dari server kapanpun diinginkan, karena client adalah pengguna informasi yang ada di server. Proses komunikasi selalu bergerak dua arah, jika klien ingin menggunakan informasi, rute yang dituju selalu ada di server. Klien tidak dapat berkomunikasi dengan klien lain.

B. Fungsi dan Tujuan Client-Server


Instrumen pada client server pada dasarnya menghemat bandwidth dan kinerja dengan menggunakan peran server sebagai tempat menyimpan semua data yang digunakan oleh client. Software client hanya akan menerima informasi yang diinginkan ketika segera diakses oleh klien. Saat ini, perlindungan informasi melalui server dapat dienkripsi untuk memungkinkan pelanggan/klien memperoleh data yang aman.

Fungsi sebenarnya dari server klien adalah seseorang dapat membangun bisnisnya sendiri melalui situs web yang dibuat sebelumnya. Sehingga client dapat dengan cepat berbagi produk atau layanan mereka dengan pengguna di seluruh dunia. User/Pengguna akan dengan cepat mendapatkan informasi dari browser yang digunakan melalui halaman web yang dibuat oleh Klien.

Oleh karena itu, organisasi saat ini membutuhkan sistem yang memudahkan pengumpulan, pemrosesan, dan tindakan atas data perusahaan, sehingga meningkatkan efisiensi prosedur bisnis dan memastikan kelangsungan hidup di pasar dunia modern.

Model jaringan klien-server menghadirkan tingkat pemrosesan yang lebih tinggi yang meningkatkan efektivitas daya stasiun kerja, pemberdayaan kelompok kerja, manajemen jaringan jarak jauh, bisnis berbasis pasar, dan pelestarian investasi yang ada.

Singkatnya, arsitektur client-server menyediakan kerangka kerja yang tepat yang dibutuhkan organisasi saat ini untuk menghadapi tantangan dunia TI yang berkembang pesat.

C. Cara Kerja Client-Server


Dalam konteks database, client membuat sebuah halaman website menggunakan berbagai program atau perangkat keras yang menyediakan halaman visual yang menarik atau disebut juga user interface. User interface yang jelas dan menarik akan mempengaruhi jumlah kunjungan para user sehingga menjadi elemen penting bagi client untuk membuatnya.

Proses pengaturan user interface tidak terlepas dari peran server khusus yaitu web server. Web server akan menerima permintaan dan menyimpannya dalam bentuk kode html dengan penyimpanan melalui workstation. Server tersebut yang nantinya ketika menyampaikan informasi yang diminta ke client. Ketika Klien menerima permintaan pengguna, Klien memeriksa sintaks (bahasa komputer melalui pemrograman) dan membuat database yang diperlukan menggunakan SQL (Structured Query Language) atau bahasa lainnya.

Proses berlanjut untuk server hingga menunggu respons, yang disediakan server dalam format yang nyaman bagi pengguna akhir. Setelah pengguna merespons, ia mengirimkan permintaan database ke klien untuk dilihat.

Arsitektur klien-server operasional memfasilitasi proses berikut :
  • Klien mengirimkan permintaan melalui perangkat yang mendukung jaringan.
  • Server jaringan menerima dan memproses permintaan.
  • Server mengirimkan respons ke klien.

Meskipun sederhana, model client-server dapat diterapkan secara luas dan relevan bagi siapa saja yang ingin memahami Content Delivery Networks (CDN) atau mekanisme jaringan edge. Saat kemampuan server bergerak lebih dekat ke tepi jaringan, proses client-server secara fisik lebih dekat ke pengguna akhir.

Sumber : Serverwatch.com

D. Kelebihan dan Kekurangan dari Client-Server


Arsitektur Client-Server membawa bagian positif dan negatifnya ke konsumen digital saat ini. Kami mulai dengan beberapa Keuntungan/Kelebihan :
  • Ini adalah sistem terpusat yang menyimpan semua data dan kontrolnya di satu tempat
  • Ini membawa skalabilitas, organisasi, dan efisiensi tingkat tinggi
  • Ini memungkinkan staf TI untuk mengubah kapasitas Klien dan Server secara terpisah
  • Ini hemat biaya, terutama dalam hal pemeliharaan
  • Ini memungkinkan pemulihan data
  • Ini memungkinkan penyeimbangan beban, yang mengoptimalkan kinerja
  • Ini memungkinkan platform yang berbeda untuk berbagi sumber daya
  • Pengguna tidak perlu masuk ke terminal atau prosesor lain untuk mengakses informasi perusahaan atau alat desktop seperti penyaji PowerPoint atau utilitas spreadsheet
  • Setup mengurangi kejadian replikasi data

Secara alami, Arsitektur Client-Server tidak semuanya berjalan mulus atau dengan baik. Adapun beberapa Kerugiannya, diantaranya :
  • Jika server memiliki worm, virus, atau Trojan, pengguna kemungkinan akan menangkapnya karena jaringan terdiri dari klien dan server yang terhubung
  • Server rentan terhadap serangan Denial of Service (DoS).
  • Paket data dapat dipalsukan atau dimodifikasi selama transmisi
  • Mahal untuk memulai dan awalnya menerapkan
  • Jika server kritis mati, klien mati di air
  • Penyiapannya rentan terhadap serangan phishing dan Man in the Middle (MITM).

E. Macam-macam Arsitektur Client-Server


Perkembangan dunia server semakin meningkat setiap tahunnya. Tujuan dari pengembangan layanan adalah untuk menawarkan kepada pengguna fasilitas akses, manajemen dan keamanan informasi yang lebih baik. Ada beberapa jenis arsitektur client-server berikut ini :

1. One Tier (Standalone)

Sumber : Thecrazyprogrammer.com

Pemrosesan arsitek jenis ini dilakukan oleh mainframe. Semua kode terkait aplikasi ditempatkan dan berjalan pada host. Pada one tier, pemrosesan berlangsung secara terpusat pada sebuah mesin atau disebut juga berbasis host.

2. Two Tier (Client/Server)


Pemrosesan pada arsitek two tier terjadi pada klien dan server. Aplikasi ini menghubungkan server online dengan banyak klien. Aplikasi ini dapat digunakan pada komputer klien jarak jauh dan server jarak jauh. Proses berlangsung sedemikian rupa sehingga klien membuat permintaan, setelah itu server meneruskannya ke klien.

3. Three Tier


Arsitektur ini merupakan evolusi dari arsitektur two-tier pada server aplikasi. Aplikasi berada di antara klien dan server basis data, yang bertindak sebagai lapisan proses bisnis. Arsitektur yang digunakan ini membutuhkan bandwidth yang sangat tinggi agar tersedia untuk banyak klien. Sebagian besar aplikasi ini digunakan dengan server aplikasi yang ditempatkan di sisi klien dan hanya berfungsi mengirim data ke server basis data. Model ini secara kasar membagi fungsi menjadi beberapa lapisan. Sehingga aplikasi mendapatkan pembaruan, skalabilitas dan keamanan data yang baik.

4. Multi Tier


Metode terakhir yaitu multi tier yang hampir mirip dengan three tier. Metode ini hanya menjelaskan user interface dan data processing. Menambahkan business logic server pada metode ini memungkinkan server aplikasi terhubung ke server aplikasi lain. Fungsi ini digunakan untuk mendapatkan data dari server data untuk memberikan layanan kepada aplikasi klien. Beberapa level digunakan untuk memberikan akses yang lebih cepat daripada arsitektur lainnya. Ini juga memiliki sistem keamanan yang lebih baik, manajemen data dan cadangan. Cara ini hanya sangat mahal karena komputer yang dibutuhkan memerlukan konfigurasi khusus untuk menjadi server.

F. Contoh dari Client-Server Model

1. Memfasilitasi Email

Komunikasi sangat penting untuk organisasi perusahaan, dan surat siput tidak dapat bersaing dengan kecepatan dan keandalan surat elektronik. Hosting komunikasi email untuk organisasi atau jaringan oleh server tertentu telah menjadi pilihan industri lama untuk mengontrol akun dan aktivitas email tertentu.

Melalui protokol seperti IMAP, POP3, dan SMTP, administrator dapat membuat sistem yang memfasilitasi, mengamankan, dan memelihara komunikasi email.

Saat menggunakan akun email mereka, staf adalah klien yang membuat permintaan untuk mengirim email, mengunggah lampiran, dan menyimpan kontak ke server email.

2. Mengakses Konten Web

Saat klien web ingin mengakses situs web tertentu, mereka memasukkan URL, dan browser meminta alamat IP dari Domain Name System (DNS). Server DNS memberikan alamat IP kepada pengguna untuk identifikasi dan pengiriman hasil.

Dengan menavigasi ke situs web, klien memicu konten web tertentu yang hanya dapat diakses pengguna melalui respons HTTP yang disediakan oleh server web.

Dalam hal ini, pengguna akhir adalah klien yang disajikan dengan konten digital. Server DNS dan server web membuat dan memfasilitasi koneksi ke database yang menghosting konten web.

H. Perbandingan antara Client-Server dengan Peer-to-Peer


Jaringan peer-to-peer, juga disebut jaringan P2P, terdiri dari kelompok komputer (juga disebut node atau peer) yang dihubungkan bersama dalam jaringan, di mana peer bertindak sebagai klien dan server. Peer memiliki tanggung jawab dan izin yang sama untuk bekerja dengan data. Pengaturan ini sangat berbeda dari model client-server, yang memiliki kelompok pengguna dan server yang sangat jelas.

Tidak seperti arsitektur client-server, yang menawarkan aliran terpusat dari server organisasi ke staf, pemangku kepentingan, dan klien, jaringan peer-to-peer terdesentralisasi. Perangkat jaringan tidak selaras dengan server khusus khusus. Sebaliknya, jaringan P2P menyertakan perangkat jaringan (klien) yang dikenal sebagai node yang mengirimkan dan melayani permintaan antara satu sama lain.

Karena jaringan P2P seperti blockchain bekerja dengan cara terdistribusi, konektivitas sangat penting untuk pengoperasian. Sehubungan dengan jaringan tradisional, node cenderung lebih heterogen dan berbagi lebih sedikit data di seluruh jaringan.

Model client-server lebih mahal untuk disiapkan dan dipelihara, tetapi keandalan dan skalabilitas kerangka kerja terpusat secara konsisten melebihi penurunan kerangka kerja peer-to-peer.


Demikianlah penjelasan tentang Client-Server Architecture. Semoga bermanfaat bagi Software Developer/Engineer dan juga untuk Mahasiswa IT (Informatika).

Terima Kasih 😄😘👌👍 :)

Wassalamu‘alaikum wr. wb.

Post a Comment

Previous Post Next Post