• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Laporan pemrograman visual3
 

Laporan pemrograman visual3

on

  • 996 views

 

Statistics

Views

Total Views
996
Views on SlideShare
996
Embed Views
0

Actions

Likes
0
Downloads
30
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft Word

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Laporan pemrograman visual3 Laporan pemrograman visual3 Document Transcript

    • Laporan pemrograman visual Aplikasi Chatting (server-client)Menggunakan windows socket dengan bahasa c++ Disusun oleh : Fenty tri hidayati 09091003058 (www.blog.unsri.ac.id/fenty)
    • FAKULTAS ILMU KOMPUTER JURUSAN SISTEM INFORMASI UNIVERSITAS SRIWIJAYA TAHUN AJARAN 2010-2011 BAB I PENDAHULUAN1.1 Pendahuluan C++ builder adalah sebuah aplikasi yang digunakan untuk pengembangandengan memanfaatkan keistimewaan konsep-konsep antar muka grafis dalamMicrosoft Windows. Aplikasi yang dihasilkan C++ builder berkait erat denganWindows itu sendiri sehingga dibutuhkan pengetahuan bagaimana cara kerja dariwindows. Seperti layaknya bahasa pemrograman yang berobjek Visual lainnya C++Builder ini mempunyai kelebihan antara lain digolongkan ke dalam kelompokRAD(Rapid Application Development), yang merupakan perangkat pemrogramanyang mampu membuat aplikasi dengan mudah dan cepat. C++ Builder jugatergolong kelompok bahasa pemrograman yang menggunakan prinsip Even Driven.Keunggulan lainnya dari C++ Builder ini adalah dalam pengembangan Databasedalam pemrograman database ini, terutama program yang sangat sederhanasekali, Anda sudah dapat menjalankan program tersebut tanpa harus menuliskansebaris kode. Dalam Pemrograman Visual banyak istilah dan konsep untuk menyebut“sesuatu” yang membentuk sebuah aplikasi. Istilah-istilah tersebut memiliki artiyang sama dalam lingkungan Pemrograman Visual yang lain, misalnya objek,properti, dan event.
    • Untuk itu dengan keistimewaan borland C++ builder ini, dibangun la sebuahaplikasi chatting (server-client) dengan menggunakan komponen windows socket.Windows socket yang berfungsi sebagai jembatan untuk software aplikasi yangberhuubungan dengan network service terutama TCP/IP pada sistem operasiwindows. Socket juga memungkinkan terjadinya pertukaran data antar programatau proses baik dalam satu mesin atau antar mesin.Maksud dan Tujuan  1. Memberikan informasi mengenai coding aplikasi chatting menggunakan komponen windows socket di borland C++ builder.  2. Mengetahui bagaimana menghubungkan server socket dengan client socket dalam aplikasi chatting di borland C++ builder.
    • BAB II PEMBAHASANMembuat Aplikasi Chatting (Server-Client) dengan menggunakan windows socket di Borland C++ Builder
    • Pada pembuatan aplikasi chatting yang menggunakan jaringan internet(TCP/IP atau UDP) , intranet atau LAN ada dua aplikasi di dalamnya, yaitu : 1. Server Application 2. Client Application Aplikasi chatting ini menggunakan komponen windows socket. Socket adalahsalah satu komponen Borland C++ Builder dan merupakan jembatan yang bisamemungkinkan terjadinya komunikasi di dalam jaringan komputer dengan katalain bisa disebut sebagai middleware. Socket biasanya digunakan untukmembangun aplikasi terdistribusi. Winsocks atau windows socket sebenarnya merupakan kepanjangan dariwindows socket API (Application Programming Interface) yang berfungsi sebagaijembatan untuk software aplikasi yang berhuubungan dengan network serviceterutama TCP/IP pada sistem operasi windows. Socket juga memungkinkanterjadinya pertukaran data antar program atau proses baik dalam satu mesinatau antar mesin. Pemrograman Jaringan modern sekarang ini berbasis pada modelclient/server. Pada sebagian besar kasus, server biasanya mengirim data,sedangkan client menerimanya. Pembahasan tentang model Client/Server tidakakan lepas dari konsep sistem terdistribusi. Sebab client/server merupakanmodel dasar dari sistem terdistribusi. Dengan pembagian fungsi untuk tiap komponen dalam suatu sistem,manfaatnya:- Berbagi resource- Berbagi beban kerja- Tidak membedakan platform
    • - Meningkatkan efisiensi Ada dua organisasi yang menstandarisasi pemrograman jaringan danprotocol di internet, yaitu:- Internet Engineering Task Force (IETF) : TCP/IP, MIME, dan SMTP- World Wide Web Consortium (W3C) : HTTP, HTML, XHTML, MathML, danXML Dokumen-dokument IETF dipublikasikan sebagai Internet drafts danrequests for comments (RFCs). RFCs and Internet drafts berasal dariinformational dokumen dari keinginan umum sampai spesifikasi detail dariInternet protokol seperti HTTP. Dokumen RFCs dipublikasikan jika disetujui oleh Internet EngineeringSteering Group (IESG) dari IETF. Semua dokumen standar IETF yang disetujuiadalah RFCs, tetapi tidak semua RFCs adalah standar IETF. RFCs banyakterdapat di Internet, misalnya http://www.faqs.org/rfc/ danhttp://www.ietf.org/rfc.htmlARSITEKTUR CLIENT-SERVERClient/Server dapat diartikan sebagai kemampuan komputer untuk memintalayanan request data kepada komputer lain. Komputer yang meminta layanandisebut sebagai client, sedangkan yang menyediakan layanan disebut sebagaiserver.
    • Pengertian lain, client melakukan permintaan suatu informasi atau mengirimperintah ke server. Server akan menerima permintaan dan perintah client.Kemudian server akan memproses memproses berdasarkan permintaan tersebut,dan mengembalikan kepada client sebagai hasil pemrosesan yang sudah dilakukan. Service Request Services Response Client – Middleware Server – PHP, JSP,ASP Apache, IIS Web Data Request Database: MySQL, Oracle Arsitektur Model Client/ServerService Request adalah permintaan dari client baik berupa permintaan datamaupun perintah ke server.Service Response berupa balasan dari server atas permintaan dari client berupahasil proses.Data yang diminta oleh client dapat diambil dari database pada sisi server yangsering disebut database server, seperi misalnya MySQL, PostgreSQL, Oracle,atau SQL Server.Karakteristik Client-Server:  Client dan Server merupakan item proses (logika) terpisah yang bekerja sama pada suatu jaringan komputer untuk mengerjakan suatu tugas  Service : Menyediakan layanan terpisah yang berbeda
    •  Shared resource : Server dapat melayani beberapa client pada saat yang sama dan mengatur pengaksesan resource  Asymmetrical Protocol : antara client dan server merupakan hubungan one-to-many. Client memulai komunikasi dengan mengirim request ke server. Server menunggu permintaan dari client. Kondisi tersebut juga memungkinkan komunikasi callback.  Transparency Location : proses server dapat ditempatkan pada mesin yang sama atau terpisah dengan proses client. Client/server akan menyembunyikan lokasi server dari client.  Mix-and-match : tidak tergantung pada platform  Message-based-exchange : antara client dan server berkomunikasi dengan mekanisme pertukaran message.  Encapsulation of service : message memberitahu server apa yang akan dikerjakan  Scalability : sistem C/S dapat dimekarkan baik vertikal maupun horisontal  Integrity : kode dan data server diatur secara terpusat, sedangkan pada client tetap pada komputer tersendiriMIDDLEWARESoftware yang berfungsi sebagai lapisan konversi atau penerjemah. Juga sebagaikonsolidator dan integrator. Middleware saat ini dikembangkan untukmemungkinkan satu aplikasi berkomunikasi dengan lainnya walaupun berjalan padaplatform yang berbeda.ARSITEKTUR SOFTWARE
    • - Data, menyediakan struktur dan fungsi untuk manipulasi informasi, yang terdiri dari banyak objek data. Sebagai contoh : relational Database, file grafik, file suara atau multimedia data stream - Processing, terfokus pada pemrosesan objek data, yang biasanya disebut sebagai middleware. - Presentation, terfokus untuk membuat data tersedia untuk user dan menangani interaksi dengan user. Ada dua level :  User interface  Presentation management, menyediakan operasi dasar untuk membangun dan mengontrol user interface di bawah kontrol aplikasi. Meliputi : layanan tampilan, kontrol dialog dan API. Contoh : X-Windows, MS Windows Tahapan dan Screenshot dari aplikasi chatting (server-client) Adapun langkah pertama yang harus Anda siapkan dalam membuat aplikasichatting (server-client) di borland C++ builder adalah buat sebuah form yangtampak di dalam gambar 1.1.
    • Letakkan komponen Server Socket (ServerSoc), dua Button (ada BtnConnectdan BtnSend), textfield (ada dua yaitu untuk txtPort dan txtSend), dan yangterakhir memo(memo1)SERVER Gambar 1.1 tampilan form server Pada komponen Server Socket terdapat dua buah event, yaitu event onconnect dan event onread. Masukkan kode TForm1::ServerSocConnect(TObject *Sender, void __fastcall program berikut pada event onconnect: TCustomWinSocket *Socket) 1. Event OnConnect { AnsiString temp; temp=Socket->RemoteAddress; int i; for(i=0;i<serverSoc->Socket->ActiveConnections;i++) { ServerSoc->Socket->Connections[i]->SendText(temp+"Connected"); } Memo1->Lines->Add(temp+" Connected"); }
    • Pada event OnClientConnect, dideklarasikan sebuah variabel temp dengan tipe AnsiString, variabel ini kemudian diberi nilai Socket- >RemoteAddress; yang merupakan alamat IP (IP Address) dari tiap client yang akan terhubung ke server ini. Saat Server berhasil terhubung ke Client maka pada Memo1 Server Side akan muncul tulisan “Connected”. Selanjutnnya masukkan kode program berikut pada event onread :2. Event OnRead void __fastcall TForm1::ServerSocRead(TObject *Sender, TCustomWinSocket *Socket) { int i; AnsiString temp,temp2; //untuk temporarinya temp=Socket->ReceiveText(); temp2=Socket->RemoteAddress; for(i=0;i<ServerSoc->Socket->ActiveConnections;i++) { ServerSoc->Socket->Connections[i]- >SendText(temp2+":"+temp); } Memo1->Lines->Add(temp2+":"+temp);Pada}event OnClientRead, dideklarasikan dua buah variabel AnsiString (temp,temp2). temp=Socket->ReceiveText(); dimana temp berisi pesan yangditerima Server dari Client.Untuk Button, terdapat dua buah button yaitu Button Connect dan ButtonSend. Masukkan kode program berikut ke dalam tombol Connect:1. Button Connect void __fastcall TForm1::BtnConnectClick(TObject *Sender) { ServerSoc->Port=StrToInt(txtPort->Text); ServerSoc->Open(); }
    • Fungsi Button connect disini yaitu untuk mengkoneksikan server socket dengan client socket. ServerSoc->Port=StrToInt(txtPort->Text); (ServerSoc= nama Server Socket yang kita buat sendiri) txtPort merupakan nama textfield yang berisi port dari server yang aktif. syntax Port=StrToInt(txtPort->Text); (dilakukan karena port berupa angka sedangkan textfield berupa string sehingga nilainya harus di parsing dari string ke integer) syntax ServerSoc->Open();( berfungsi untuk mengaktifkan server socket). Pada tombol Send masukkan kode program berikut :2. Button Send void __fastcall TForm1::BtnSendClick(TObject *Sender) { for(int i=0;i<ServerSoc->Socket->ActiveConnections;i++) { ServerSoc->Socket->Connections[i]->SendText(txtSend- >Text); } Memo1->Lines->Add(txtSend->Text); } Fungsi tombol Button Send yaitu untuk Server Socket mengirim pesan yang diinputkan pada txtSend ke Client. Langkah selanjutnya,buat tampilan form kedua yang digunkan untuk clientseperti gambar 1.2 di bawah. Letakkan komponen Client Socket (ClientSoc),
    • Button (ada dua button yaitu BtnConnect dan BtnSend),Textfield (ada empat buah textfield yaitu txtIp,txtPort,txtName,txtMsg), dan terakhir komponen Memo (Memo1).2. CLIENT Gambar 1.2 form Client Selanjutnya ke bagian pengisian koding. Untuk pembuatan koding hampir sama dengan pembuatan koding pada Server Socket. Pada Server Socket juga terdapat dua buah event, yaitu : 1. Event OnConnect void __fastcall TForm1::ClientSocConnect(TObject *Sender, TCustomWinSocket *Socket) { Memo1->Lines->Add("Connected to Server"); }
    • Saat Client berhasil terhubung ke Server maka pada Memo1 Server Side akan muncul tulisan “Connected”.2. Event OnRead void __fastcall TForm1::ClientSocRead(TObject *Sender, TCustomWinSocket *Socket) { Memo1->Lines->Add(Socket->ReceiveText()); } Fungsi event OnRead yaitu untuk pembacaan pesan yang diterima dari server. Untuk Button, terdapat dua buah button yaitu Button connect dan Button Send. Pada tombol Button Connect masukkan kode program berikut :3. Button Connect void __fastcall TForm1::BtnConnectClick(TObject *Sender) { ClientSoc->Address=txtip->Text; ClientSoc->Port=StrToInt(txtport->Text); ClientSoc->Open(); //mengaktifkan Client Socket } • txtIp berisi ip address server yang dituju, dalam kasus ini digunakan ip address 127.0.0.1 sebagai localhost, karena dalam aplikasi chat ini pada sebuah komputer yang sama (Server dan Client nya berada pada komputer yang sama). Namun jika server nya berada pada komputer yang lain, maka ip address nya disesuaikan dengan ip address komputer dimana server diletakan.
    • • txtport berisi port server (portnya harus sama dengan port server yang Client yang akan dikoneksikan). Ingat Portnya di parsing dulu ke Integer, karena textfield bertipe String.Pada tombol Button Send masukkan kode program berikut :4. Button Send void __fastcall TForm1::BtnSendClick(TObject *Sender) { ClientSoc->Socket->SendText(txtname->Text+”#”+txtmsg->Text); } Client Socket mengirim pesan yang diinputkan pada txtmsg ke server.