Client Server PDF
Client Server PDF
By:
Ardisa Pramudhita
(11110001)
Atika Luthfiyyah
(11110213)
(11110328)
(11110610)
Randy Aprianggi
(15110626)
SARMAG SMSI01-4
Client Server
Klien-server atau client-server merupakan sebuah paradigma dalam teknologi informasi yang merujuk
kepada cara untuk mendistribusikan aplikasi ke dalam dua pihak: pihak klien dan pihak server.
Dalam model klien/server, sebuah aplikasi dibagi menjadi dua bagian yang terpisah, tapi masih
merupakan sebuah kesatuan yakni komponen klien dan komponen server. Komponen klien juga sering
disebut sebagai front-end, sementara komponen server disebut sebagai back-end. Komponen klien dari
aplikasi tersebut dijalankan dalam sebuah workstation dan menerima masukan data dari pengguna.
Komponen klien tersebut akan menyiapkan data yang dimasukkan oleh pengguna dengan menggunakan
teknologi pemrosesan tertentu dan mengirimkannya kepada komponen server yang dijalankan di atas
mesin server, umumnya dalam bentuk request terhadap beberapa layanan yang dimiliki oleh server.
Komponen server akan menerima request dari klien, dan langsung memprosesnya dan mengembalikan
hasil pemrosesan tersebut kepada klien. Klien pun menerima informasi hasil pemrosesan data yang
dilakukan server dan menampilkannya kepada pengguna, dengan menggunakan aplikasi yang
berinteraksi dengan pengguna.
Sebuah contoh dari aplikasi client/server sederhana adalah aplikasi web yang didesain dengan
menggunakan Active Server Pages (ASP) atau PHP. Skrip PHP atau ASP akan dijalankan di dalam web
server (Apache atau Internet Information Services), sementara skrip yang berjalan di pihak klien akan
dijalankan oleh web browser pada komputer klien. Klien-server merupakan penyelesaian masalah pada
software yang menggunakan database sehingga setiap komputer tidak perlu diinstall database, dengan
metode klien-server database dapat diinstal pada suatu komputer sebagai server dan aplikasinya diinstal
pada client.
Client-server adalah suatu bentuk arsitektur, dimana client adalah perangkat yang menerima yang akan
menampilkan dan menjalankan aplikasi (software komputer) dan server adalah perangkat yang
menyediakan dan bertindak sebagai pengelola aplikasi, data, dan keamanannya. Server biasanya
terhubung dengan client melalui kabel UTP dan sebuah kartu jaringan (network card). Kartu jaringan ini
biasanya berupa kartu PCI atau ISA.
1. Karakteristik Server
a. Pasif
b. Menunggu request
c. Menerima request, memproses mereka dan mengirimkan balasan berupa service
2. Karakteristik Client
d. Aktif
e. Mengirim request
f.
Socket adalah sebuah endpoint untuk komunikasi didalam jaringan. Sepasang proses atau thread
berkomunikasi dengan membangun sepasang socket, yang masing-masing proses memilikinya. Socket
dibuat dengan menyambungkan dua buah alamat IP melalui port tertentu. Secara umum socket
digunakan dalam client/server system, dimana sebuah server akan menunggu client pada port tertentu.
Begitu ada client yang menghubungi server maka server akan menyetujui komunikasi dengan client
melalui socket yang dibangun. Sebagai contoh sebuah program web browser pada host x (IP 146.86.5.4)
ingin berkomunikasi dengan web server (IP 152.118.25.15) yang sedang menunggu pada port 80. Host x
akan menunjuk sebuah port. Dalam hal ini port yang digunakan ialah port 1655. Sehingga terjadi sebuah
hubungan dengan sepasang socket (146.86.5.4:1655) dengan (152.118.25.15:80).
Cara kerja:
1. Bagian Client (Client Side) :
1. Masukkan server ID berupa IP Server dan Port Local, tekan OK
2. Masukkan nama dan teks yang ingin dikirim untuk memulai percakapan
3. Untuk membersihkan percakapan tekan tombol Bersihkan
4. Tekan tombol Putuskan untuk keluar dari server
2. Bagian Server (Server Side):
1. Masukkan server ID berupa IP Server dan Port Local, tekan Mulai
2. Masukkan nama dan teks yang ingin dikirim untuk memulai percakapan
3. Untuk membersihkan percakapan tekan tombol Bersihkan
4. Tekan tombol Putuskan untuk menghentikan server
Kelebihan dari program iChat:
-
Jika Server Side belum aktif, Client Side akan mengalami error jika sudah aktif terlebih dahulu
Jika Server Side sudah dimatikan tetapi Client Side belum dimatikan, maka akan terjadi error
tanpa keluar message box
Client Side
Listing Program
Server Side
server.cpp
#include <vcl.h>
#pragma hdrstop
#include "server.h"
#include "Unit3.h"
#include "Unit2.h"
//--------------------------------------------------------------------------#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//--------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
}
Memo1->Lines->Add(temp);
}
//--------------------------------------------------------------------------void __fastcall TForm1::ssListen(TObject *Sender, TCustomWinSocket *Socket)
{
MessageBox(NULL, "Koneksi telah tersambung !", "Tersambung !", MB_OK);
}
//--------------------------------------------------------------------------void __fastcall TForm1::Button1Click(TObject *Sender)
{
ss->Port=StrToInt(txtPort->Text);
ss->Open();
Image3->Visible=True;
Edit1->Enabled=False;
Edit2->Enabled=False;
txtPort->Enabled=False;
Button1->Enabled=False;
Button2->Enabled=True;
txtSend->Enabled=True;
Button3->Enabled=True;
Label5->Caption=("Tersambung di "+Edit1->Text);
Label5->Font->Color=clLime;
}
ss->Socket->Connections[i]->SendText("<"+Edit3->Text+">"+Edit2->Text+": "+txtSend>Text);
}
}
}
//---------------------------------------------------------------------------
ss->Close();
MessageBox(NULL, "Koneksi telah terputus !", "Terputus !", MB_OK);
Image3->Visible=False;
Memo1->Enabled=False;
Edit1->Enabled=True;
Edit2->Enabled=True;
txtPort->Enabled=True;
Button1->Enabled=True;
Button2->Enabled=False;
txtSend->Enabled=False;
Button3->Enabled=False;
Label5->Caption=("Koneksi terputus");
Label5->Font->Color=clRed;
}
//--------------------------------------------------------------------------void __fastcall TForm1::A1Click(TObject *Sender)
{
Form3->Show();
}
//--------------------------------------------------------------------------//--------------------------------------------------------------------------void __fastcall TForm1::Return(TObject *Sender, char &Key)
{
if (Key==VK_RETURN)
Button2->Click();
}
//--------------------------------------------------------------------------void __fastcall TForm1::Image4Click(TObject *Sender)
{
Memo1->Clear();
}
//---------------------------------------------------------------------------
}
//--------------------------------------------------------------------------Client Side
client.cpp
//--------------------------------------------------------------------------#include <vcl.h>
#pragma hdrstop
#include "Client.h"
#include "Unit3.h"
#include "Unit2.h"
//--------------------------------------------------------------------------#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//--------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//--------------------------------------------------------------------------void __fastcall TForm1::Button1Click(TObject *Sender)
{
cs->Address=txtip->Text;
cs->Port=StrToInt(txtport->Text);
cs->Open(); //mengaktifkan Client Socket
Button1->Enabled=False;
txtport->Enabled=False;
txtip->Enabled=False;
txtname->Enabled=False;
txtmsg->Enabled=True;
Button2->Enabled=True;
Button3->Enabled=True;
}
//--------------------------------------------------------------------------void __fastcall TForm1::Button2Click(TObject *Sender)
{
TDateTime RightNow = Time();
time->Text = RightNow.FormatString("hh:nn");
cs->Socket->SendText("<"+time->Text+">"+txtname->Text+": "+txtmsg->Text);
txtmsg->Clear();
}
//--------------------------------------------------------------------------void __fastcall TForm1::Button3Click(TObject *Sender)
{
cs->Close();
MessageBox(NULL, "Koneksi telah terputus !", "Putus !", MB_OK);
Image3->Visible=False;
Button1->Enabled=True;
txtport->Enabled=True;
txtip->Enabled=True;
txtname->Enabled=True;
txtmsg->Enabled=False;
Button2->Enabled=False;
Button3->Enabled=False;
Label1->Caption="Koneksi terputus ";
Label1->Font->Color=clRed;
}
//--------------------------------------------------------------------------void __fastcall TForm1::Keluar1Click(TObject *Sender)
{
Close();
}
//--------------------------------------------------------------------------void __fastcall TForm1::Bantuan1Click(TObject *Sender)
{
Bantuan->Show();
}
//---------------------------------------------------------------------------
merah->Visible=False;
kuning->Visible=False;
biru->Visible=False;
hijau->Visible=False;
}
//--------------------------------------------------------------------------void __fastcall TForm1::Biru1Click(TObject *Sender)
{
abuabu->Visible=False;
merah->Visible=False;
kuning->Visible=False;
biru->Visible=True;
hijau->Visible=False;
}
//--------------------------------------------------------------------------void __fastcall TForm1::Hijau1Click(TObject *Sender)
{
abuabu->Visible=False;
merah->Visible=False;
kuning->Visible=False;
biru->Visible=False;
hijau->Visible=True;
}
//---------------------------------------------------------------------------