• Tidak ada hasil yang ditemukan

CLIENT SERVER PROGRAM APPLICATION

N/A
N/A
Protected

Academic year: 2021

Membagikan "CLIENT SERVER PROGRAM APPLICATION"

Copied!
20
0
0

Teks penuh

(1)

CLIENT SERVER PROGRAM APPLICATION

TPT SUBJECT CLASS PROJECT

By:

Ardisa Pramudhita (11110001) Atika Luthfiyyah (11110213) Banu Adi Witono (11110328) Citra Ika Wibawati (11110610) Randy Aprianggi (15110626)

SARMAG SMSI01-4

SISTEM INFORMASI FAKULTAS ILMU KOMPUTER

UNIVERSITAS GUNADARMA

(2)

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.

(3)

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. Menunggu dan menerima balasan dari server

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).

Program Client Server

Project Client Server yang dibuat oleh kelompok kami bernama i-Chat, yang bertema-kan tentang LAN Chat. Menggunakan bahasa pemrograman C++ dan aplikasi Borland C++.

(4)

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:

- User interface yang bervariasi

- Dapat melakukan LAN Chat dengan banyak orang

- Dapat melakukan LAN Chat walaupun dengan akses internet (wifi) yang berbeda

- Tidak dapat mengganti nama user ketika iChat sudah aktif sehingga tidak mudah dimanipulasi - Percakapan dapat dihapus di Client maupun Server Side

- IP dan Port dapat dimasukkan sesuai dengan keinginan Kekurangan 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

(5)

Screen Shoot Program

Server Side

(6)

Client dan Server Side

Listing Program

Server Side server.cpp #include <vcl.h> #pragma hdrstop #include "server.h"

(7)

#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::FormCreate(TObject *Sender) { txtSend->Clear(); Memo1->Clear(); Image3->Visible=False; Button3->Enabled=False; Button2->Enabled=False; txtSend->Enabled=False; Memo1->Enabled=False; }

(8)

//---void __fastcall TForm1::ssClientConnect(TObject *Sender, TCustomWinSocket *Socket) { AnsiString temp; temp=Socket->RemoteAddress; int i; for(i=0;i<ss->Socket->ActiveConnections;i++) {

ss->Socket->Connections[i]->SendText(temp+" telah tersambung"); }

Memo1->Lines->Add(temp+" telah tersambung"); }

//---void __fastcall TForm1::ssClientRead(TObject *Sender,

TCustomWinSocket *Socket) {

int i;

AnsiString temp,temp2; //untuk temporarinya temp=Socket->ReceiveText();

temp2=Socket->RemoteAddress;

for(i=0;i<ss->Socket->ActiveConnections;i++) {

(9)

}

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; }

(10)

void __fastcall TForm1::Button4Click(TObject *Sender) {

Memo1->Clear();

MessageBox(NULL, "Percakapan telah dihapus !", "Bersih !", MB_OK); }

//---void __fastcall TForm1::Button2Click(TObject *Sender) {

TDateTime RightNow = Time();

Edit3->Text = RightNow.FormatString("hh:nn"); for(int i=0;i<ss->Socket->ActiveConnections;i++) { ss->Socket->Connections[i]->SendText("<"+Edit3->Text+">"+Edit2->Text+": "+txtSend->Text); }

Memo1->Lines->Add( "<"+Edit3->Text+">"+Edit2->Text+": "+txtSend->Text); txtSend->Clear();

{

} }

(11)

//---void __fastcall TForm1::Exit1Click(TObject *Sender) { Close(); } //---void __fastcall TForm1::Help1Click(TObject *Sender) {

AboutForm->Show(); }

//---void __fastcall TForm1::Button3Click(TObject *Sender) {

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;

(12)

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();

}

(13)

//---void __fastcall TForm1::Image5Click(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; } //---Client Side client.cpp //---#include <vcl.h> #pragma hdrstop #include "Client.h"

(14)

#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;

(15)

Label1->Caption=("Sedang tersambung di "+ txtip->Text); Label1->Font->Color=clLime;

}

//---void __fastcall TForm1::FormCreate(TObject *Sender) { Memo1->Clear(); txtname->Clear(); txtmsg->Clear(); Button1->Enabled=True; txtport->Enabled=True; txtip->Enabled=True; txtname->Enabled=True; txtmsg->Enabled=False; Button2->Enabled=False; Button3->Enabled=False; Image3->Visible=False; abuabu->Visible=False; merah->Visible=True; kuning->Visible=False; biru->Visible=False; hijau->Visible=False; }

(16)

//---void __fastcall TForm1::csConnect(TObject *Sender, TCustomWinSocket *Socket)

{

MessageBox(NULL, "Koneksi telah tersambung !", "Berhasil !", MB_OK); Image3->Visible=True;

}

//---void __fastcall TForm1::csRead(TObject *Sender, TCustomWinSocket *Socket) {

Memo1->Lines->Add(Socket->ReceiveText());

}

//---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) {

(17)

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(); }

(18)

//---void __fastcall TForm1::Button4Click(TObject *Sender) {

Memo1->Clear(); }

//---void __fastcall TForm1::Tentang1Click(TObject *Sender) {

About->Show(); }

//---void __fastcall TForm1::Return(TObject *Sender, char &Key) {

if (Key==VK_RETURN) Button2->Click(); }

//---void __fastcall TForm1::Image4Click(TObject *Sender) {

Memo1->Clear(); }

//---void __fastcall TForm1::Abuabu1Click(TObject *Sender) {

(19)

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; }

(20)

//---void __fastcall TForm1::Kuning1Click(TObject *Sender) { abuabu->Visible=False; merah->Visible=False; kuning->Visible=True; biru->Visible=False; hijau->Visible=False; } //---void __fastcall TForm1::Ungu1Click(TObject *Sender) { abuabu->Visible=False; merah->Visible=True; kuning->Visible=False; biru->Visible=False; hijau->Visible=False; }

Referensi

Dokumen terkait

Tujuan penelitian ini adalah untuk mengetahui konsentrasi bahan Molase dan Kaolin yang tepat sebagai media kultur terhadap pertumbuhan bakteri probiotik Alkaligenus

Instabilitas panggul yang dapat dipalpasi, panjang tungkai yang tidak sama, dan lipatan kulit paha yang asimetris dapat ditemukan pada bayi baru lahir dengan dislokasi panggul,

Buat top_module yang mengintegrasikan kedua modul tersebut dengan nama kombinasional_top1. Definisi port masukan dan keluaran dari kombinasional_top ini

Turbin angin sederhana terdiri atas sebuah roda atau rotor yang dilengkapi dengan baling-baling (propeller) atau sudu-sudu (blade). Baling-baling atau

Mikrotik adalah sistem operasi dan perangkat lunak yang dapat digunakan untuk menjadikan komputer menjadi router network yang handal, mencakup berbagai fitur

Bahan organik konsentrasi tinggi yang terdapat dalam limbah cair produksi minyak sawit dapat dimanfaatkan dengan teknologi pengolahan anaerobik untuk menghasilkan

Kemudian dengan menggunakan bantuan software smartpicker maka akan memudahkan dalam sistem pengambilan keputusan dimana dengan menggunakan nilai- nilai bobot kriteria

[r]