modul 4

47
LAPORAN AKHIR PRAKTIKUM JARINGAN KOMPUTER JURUSAN / PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK Nama : Pita Ria NIM : DBC 113 079 Kelas : I Modul : IV (Pemrograman Socket User Datagram Protocol)

Upload: pitaria

Post on 17-Dec-2015

15 views

Category:

Documents


0 download

DESCRIPTION

Laporan Jaringan Komputer

TRANSCRIPT

LAPORAN AKHIR PRAKTIKUMJARINGAN KOMPUTER

Nama: Pita RiaNIM: DBC 113 079Kelas: IModul : IV (Pemrograman Socket User Datagram Protocol)

JURUSAN / PROGRAM STUDI TEKNIK INFORMATIKAFAKULTAS TEKNIKUNIVERSITAS PALANGKA RAYA2015BAB ITUJUAN DAN LANDASAN TEORI

I. Tujuan1. Mahasiswa dapat memahami cara kerja protokol UDP 2. Mahasiswa dapat membuat aplikasi client server

II. Dasar Teori1.1. Pengertian

UDP adalah suatu protokol pengiriman data yang berbasis Internet Protocol (IP) dan bersifat connection less oriented. Hal ini berarti bahwa suatu paket yang dikirim melalui jaringan hingga sampai ke komputer lain tanpa membuat suatu koneksi. UDP tidak pernah digunakan untuk mengirim data penting seperti halaman web, informasi database dan sebagainya. UDP biasanya digunakan untuk streaming audio dan video karena elebihan UDP yaitu menawarkan kecepatan transfer. UDP dapat lebih cepat dari TCP karena pada protokol UDP tidak ada bentuk kontrol aliran dan koreksi kesalahan.

Gambar 4.1 UDP pada OSI LayerModel komunikasi data dengan client server artinya pada saat pengiriman data, salah satu komputer ada yang bersifat client dan yang satu akan bersifat sebagai server.

Gambar 4.2 Client Server

Untuk pengirimn datanya, pada masing-masing komputer (client server) akan menggunakan port dengan pendefinisian terlebih dahulu. Kemudian dari client akan mengirimkan data dari port pada Pcnya ke arah port pada PC servernya. Apabila port tersebut sudah digunakan oleh aplikasi lainnya maka akan terjadi error apabila aplikasi yang kita jalankan menggunakan port yang sama. Jumlah port yang ada 65535 digunakan sesuai dengan aplikasi yang sudah distandarkan.

Gambar 4.3 Pengiriman data melalui port

Alur penggunaan socket programming untuk UDP seperti pada gambar 5.4

Gambar 4.4 Alur pemrograman socket pada UDP

Pemrograman Socket Jaringan

PESERTA pertama adalah seorang ibu peserta arisan yang memiliki keistimewaan mampu menceritakan sebuah kejadian yang berlangsung 5 menit menjadi berdurasi beberapa jam, di mana sang lawan bicara sebaiknya memiliki prinsip: kuping boleh panas, tetapi hati tetap dingin. Peserta kedua adalah sepasang muda-mudi yang sedang jatuh cinta dan mampu berkomunikasi dalam waktu yang sangat lama, hingga tercipta istilah sepiring berdua dan dunia hanya milik berdua.Rekor ini bertahan selama berhari-hari, setelah pasangan tersebut akhirnya memilih diam (dan menciptakan istilah piring terbelah dua dan perang dunia kedua).Saat mahkota pemenang sudah akan diserahkan pada peserta kedua, muncul peserta ketiga yang mengklaim mampu berkomunikasi 24 jam tanpa henti setiap harinya dalam batas waktu yang tidak dapat ditentukan, mengagumkan! Sang jawara itu bernamasocket jaringan!

Mengenal SocketBayangkan sebuah server game online yang berkomunikasi tanpa henti, dimainkan oleh entah berapa banyak client yang tersebar. Ini merupakan salah satu contoh aplikasi dari sekian banyak aplikasi yang menggunakan socket jaringan untuk saling berkomunikasi dan bertukar data. Komunikasi socket jaringan memang tidak mengenal lelah, pertukaran data terjadi terus-menerus dan memegang peranan vital. Jika oleh karena suatu hal komunikasi berhenti karena maintenance, kerusakan, ataupun sebab lainnya, maka dapat dipastikan para penggunanya akan kecewa.Maka dari itu, komunikasi jaringan selalu diusahakan tidak terhenti. Demikianlah tugas berat yang harus dilakukan socket jaringan. Sebelum membahas lebih jauh, apakah sebenarnya pengertian socket itu?Pengertian socket adalah interface pada jaringan yang menjadi titik komunikasi antarmesin pada Internet Protocol, dan tentunya tanpa komunikasi ini, tidak akan ada pertukaran data dan informasi jaringan.Socket terdiri dari elemen-elemen utama sebagai berikut:1. Protokol.2. Local IP.3. Local Port.4. Remote IP.5. Remote Port.Dalam komunikasi antara dua pihak, tentunya harus digunakan kesepakatan aturan dan format yang sama agar komunikasi dapat dimengerti. Seperti halnya dua orang yang menggunakan bahasa yang sama, maka bahasa di sini berfungsi sebagai protokol. Protokol yang digunakan dalam socket dapat menggunakan TCP ataupun UDP.Contoh komunikasi sederhana adalah komunikasi antara komputer A dan komputer B. Baik komputer A maupun komputer B harus memiliki identitas unik, yang direpresentasikan oleh IP masing-masing. Komunikasi yang terjadi melalui port, sehingga baik komputer A maupun komputer B harus memiliki port yang dapat diakses satu sama lain.

TCP dan UDPPemrograman socket adalah cara untuk menggunakan komponen/API (Application Programming Interface) socket untuk membuat sebuah aplikasi. Aplikasi socket umumnya terdiri dari dua kategori berdasarkan pengiriman datanya, yaitu:1. Datagram socket (menggunakan UDP).2. Stream socket (menggunakan TCP).Terdapat perlakuan yang berbeda antara UDP dan TCP, walaupun sama-sama berfungsi sebagai protokol pertukaran data. UDP tidak memerlukan proses koneksi terlebih dahulu untuk dapat mengirimkan data, paket-paket data yang dikirimkan UDP bisa jadi melalui rute yang berbeda-beda, sehingga hasil yang diterima bisa jadi tidak berurutan.Contohnya jika aplikasi socket pengirim mengirimkan berturut-turut pesan 1, pesan 2, dan pesan 3, maka aplikasi socket penerima belum tentu mendapatkan pesan yang berurutan dimulai dari pesan 1, pesan 2, dan terakhir pesan 3. Bisa saja pesan 2 terlebih dulu diterima, menyusul pesan-pesan yang lain, atau berbagai kemungkinan lainnya. Bahkan, dapat terjadi pesan yang dikirimkan tidak sampai ke penerima karena kegagalan pengiriman paket data.Tidak demikian halnya dengan stream socket yang menggunakan TCP. Jenis ini mengharuskan terjadinya koneksi terlebih dahulu, kemudian mengirimkan paket-paket data secara berurutan, penerima juga dijamin akan menerima data dengan urutan yang benar, dimulai dari data pertama yang dikirimkan hingga data terakhir. TCP dapat menangani data yang hilang, rusak, terpecah, ataupun terduplikasi.Dari sekilas perbedaan ini, kita dapat menarik kesimpulan bahwa aplikasi socket yang menggunakan TCP memerlukan pertukaran data dua arah yang valid. Sedangkan, aplikasi socket yang menggunakan UDP lebih memprioritaskan pada pengumpulan data.Karena itu aplikasi socket dengan TCP sering diterapkan untuk aplikasi chat, transfer le, ataupun transaksi-transaksi penting. Sedangkan aplikasi socket dengan UDP cocok diterapkan untuk aplikasi monitoring jaringan, game online, dan aplikasi-aplikasi broadcast.

PortSalah satu elemen penting yang digunakan dalam aplikasi socket adalah port. Port merupakan sebuah koneksi data virtual yang digunakan aplikasi untuk bertukar data secara langsung. Terdapat banyak port di dalam sebuah sistem komputer dengan fungsinya masing-masing. Sebagai contoh, dalam mengirim e-mail digunakan service SMTP yang umumnya menggunakan port 25. Sementara service POP3 untuk menerima e-mail menggunakan port 110, port 80 digunakan untuk HTTP, port 443 digunakan untuk HTTPS, dan seterusnya.Nomor-nomor port dikategorikan dalam tiga jenis sebagai berikut:1. Well-known ports.Merupakan port yang telah digunakan secara internal oleh sistem Windows, misalnya port untuk koneksi Internet, service FTP, dan seterusnya. Port yang telah digunakan ini adalah port 0 sampai dengan port 1023.2. Registered ports.Port ini dapat digunakan dalam aplikasi Anda, range-nya adalah port 1024 hingga port 49151, cukup banyak port yang tersedia yang bebas Anda pilih sehingga Anda tidak perlu kuatir kekurangan port untuk aplikasi Anda.3. Dynamic/Private ports.Dari port 49152 sampai dengan port 65535.

WinsockUntuk pemrograman aplikasi socket berbasis Windows, maka komponen API yang sering digunakan adalah Winsock (Win-dows Socket API) yang mendukung interface standar TCP/IP, yang merupakan protokol jaringan paling popular saat ini (contoh protokol jaringan yang lain adalah NetBIOS, IPX dari Novell, AppleTalk dari Apple, dan seterusnya). Pengertian TCP/IP (TCP over IP) mungkin dapat menjadi sedikit rancu jika diartikan TCP/IP hanya mengizinkan pengiriman TCP (dan tidak UDP), padahal seperti yang telah kita bahas, pengiriman socket dapat melalui TCP maupun UDP.Pengertian TCP/IP di sini sebenarnya digunakan untuk menunjukkan teknologi jaringan/Internet, termasuk di dalamnya adalah UDP. Jika Anda menggunakan UDP, dapat juga disebut sebagai UDP/IP (UDP over IP), tetapi umumnya istilah ini jarang digunakan dan istilah TCP/IP telah mencakup, baik TCP maupun UDP.Pada bahasa pemrograman visual seperti Visual Basic/Delphi, Anda dapat menggunakan control Winsock yang telah disediakan untuk mengembangkan aplikasi socket. Walaupun kita akan mencontohkan aplikasi socket dalam environment Windows, Anda tidak perlu khawatir jika aplikasi socket yang menggunakan Winsock tidak dapat berkomunikasi dengan aplikasi socket berbasis Unix/Linux, karena komunikasi tetap dapat terjadi selama aplikasi tersebut menggunakan protokol jaringan yang sama.Kalau demikian, untuk mencoba aplikasi socket, apakah mutlak diperlukan setidaknya jaringan dengan minimal dua komputer yang saling terkoneksi? Bagi Anda yang terpaksa hanya menggunakan satu komputer, dapat memanfaatkan alamat localhost atau 127.0.0.1 yang mengizinkan dua aplikasi berjalan pada satu mesin komputer dan berkomunikasi satu sama lain.

Aplikasi ServerUntuk membuat aplikasi socket yang sederhana, tidak diperlukan langkah-langkah yang rumit. Kita akan mencoba membuat dua buah aplikasi, yang pertama adalah aplikasi server yang akan menerima data, sedangkan aplikasi kedua adalah aplikasi client yang mengirimkan data pada server. Baik aplikasi server dan aplikasi client mende nisikan port yang sama sebagai jalur komunikasi.Contoh program dibuat dengan menggunakan Visual Basic 6. Konsep pemrograman yang serupa juga dapat Anda implementasikan pada bahasa pemrograman lain seperti Visual Basic.NET, Delphi, dan lain sebagainya. Kita akan memulainya dengan aplikasi server, tugas aplikasi server cukup sederhana, yaitu hanya siap sedia menerima data yang masuk pada sebuah port. Control yang Anda perlukan adalah control winsock bernama Winsock1 dan sebuah textbox bernama Text1. Pada event Form_Load, tuliskan kode program di bawah ini:Private Sub Form_Load()With Winsock1.LocalPort = 1025ListenEnd WithEnd SubKode program tersebut melakukan inisialisasi socket, socket memilih port 1025 pada komputer server dan menunggu data yang masuk melalui port tersebut dengan perintah Listen. Selanjutnya pada event Winsock1_ConnectionRequest, ketikkan kode program berikut:Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)If Winsock1.State sckClosed Then Winsock1.CloseWinsock1.Accept requestedEnd SubKode program di atas berfungsi untuk menerima request koneksi. Selanjutnya pada event Winsock1_DataArrival, ketikkan kode program berikut:Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)Dim strData As StringWinsock1.GetData strDataText1.Text = Text1.Text & strDataEnd SubKode program di atas berfungsi untuk mengambil data yang diterima oleh socket dan menampilkannya pada Text1. Aplikasi server telah selesai!

Aplikasi ClientSeperti aplikasi server, Anda perlu menyiapkan control Winsock dan Text, ditambah sebuah control Command Button yang dapat Anda namakan cmdKirim yang berfungsi untuk mengirimkan data yang diketik pada Text1 ke aplikasi server.Pada event Form_Load, ketikkan kode program di bawah:Private Sub Form_Load()With Winsock1.RemoteHost = 127.0.0.1.RemotePort = 1025.ConnectEnd WithEnd SubKode program di atas berfungsi untuk melakukan inisialisasi, tentukan IP tujuan/server/remote dengan 127.0.0.1 seperti pada contoh jika Anda mencoba aplikasi ini dengan menggunakan satu mesin komputer. Jika Anda mencobanya dengan menggunakan dua komputer dalam sebuah jaringan, isikan dengan IP komputer yang berfungsi sebagai server.Selanjutnya pada cmdKirim, ketikkan kode program sebagai berikut:Private Sub cmdKirim_Click()If Winsock1.State = sckConnected ThenWinsock1.SendData Text1.TextEnd IfEnd SubKode program di atas akan mengirimkan pesan yang Anda ketik pada textbox Text1 pada aplikasi server. Selesailah sudah aplikasi server dan client. Cukup mudah, bukan? Anda dapat melakukan uji coba dengan menjalankan aplikasi server pada komputer yang berfungsi sebagai server (ataupun komputer yang sama dengan aplikasi client jika Anda menggunakan 127.0.0.1 sebagai remote IP).Jalankan aplikasi client, dan ketik kata-kata yang Anda inginkan, lalu tekan Command Button cmdKirim, maka aplikasi server akan menampilkan pesan yang Anda ketikkan tersebut.Dari program sederhana ini, Anda dapat mengembangkannya menjadi aplikasi socket yang sesuai dengan keperluan Anda, penggunaannya sangat luas dan bisa jadi sangat bermanfaat, misalnya aplikasi instant messenger seperti Yahoo! Messenger ataupun MSN Messenger yang merupakan aplikasi socket yang banyak digunakan.Pengolahan DataKomunikasi data antara server dan client di atas merupakan bentuk komunikasi satu arah sederhana. Data yang dikirimkan dari client pun merupakan data mentah yang tidak memerlukan pengolahan data lebih lanjut. Anda dapat membuat sendiri function dan rutin untuk mengolah data yang dikirim dan diterima sesuai dengan kebutuhan aplikasi, karena data yang dikirimkan antarmesin bisa jadi sangat bervariasi. Misalnya saja aplikasi server/client Anda memerlukan pertukaran data identitas mesin, tanggal, jam, header pesan, isi pesan, dan lain sebagainya. Anda dapat mengirimkannya dalam format tertentu, misalnya bentuk string dengan karakter pemisah untuk membedakan masing-masing eld.Dalam komunikasi data di dalam jaringan, Anda perlu mempertimbangkan besarnya data yang lalu-lalang pada jaringan, baik dengan menggunakan TCP maupun UDP. Keduanya harusdipersiapkan untuk mampu menangani data yang besar jika memang pengguna aplikasi socket Anda sangat luas.Pastinya tidak terdapat masalah yang berarti jika Anda mencobanya dengan dua atau beberapa komputer dalam sebuah jaringan lokal, tetapi coba bayangkan seberapa besar total data yang harus dikirim dan diterima pada sebuah aplikasi game online, misalnya.Pada contoh game online, sebuah server harus dipersiapkan untuk mampu melayani sedemikian banyak client, dan jaringan yang digunakan bukan lagi jaringan lokal, tetapi sudah merupakan jaringan Internet, di mana siapapun dapat menggunakan aplikasi Anda selama ia memiliki koneksi Internet. Mungkin Anda bertanya, jika data yang keluar-masuk memerlukan pengolahan lebih lanjut, mengapa tidak digunakan database, sehingga Anda tidak perlu pusing membuat rutin atau modul untuk mengolah data yang dikirim/diterima melalui komunikasi socket?Pada umumnya, aplikasi socket client/server memang menggunakan database pada sisi server, tetapi jika aplikasi socket mengharuskan sisi client menggunakan database tertentu, maka akan membatasi penggunaan aplikasi itu sendiri.Selain itu, kegunaan komunikasi socket adalah agar dapat berjalan lintas platform. Tidak peduli operating system apa yang digunakan pengguna aplikasi, komunikasi socket tetap berjalan selama digunakan protokol yang sama. Sebenarnya jika Anda melihat software database seperti SQL Server, intinya juga merupakan aplikasi socket, di mana menggunakan port tertentu sebagai jalur komunikasi, tetapi software tersebut telah dikemas menjadi produk database yang spesik.

Tools TambahanAplikasi socket merupakan aplikasi jaringan dan jika Anda mendalami seluk-beluk jaringan, tentu akan familiar dengan tools tambahan yang umumnya digunakan dalam jaringan. Tools ini kemungkinan dapat berguna untuk diimplementasikan ke dalam aplikasi socket Anda.Tools yang dimaksud, antara lain:a. Ping.Ping digunakan untuk memeriksa keberadaan remote host dengan jalan mengirimkan sinyal kepada remote host. Keberadaan remote host dapat ditentukan dengan melihat response yang diterima. Ping juga dapat digunakan untuk mengukur kecepatan transfer data. Salah satu contoh penggunaan ping dalam aplikasi socket adalah memeriksa server yang tersedia sebelum mengirimkan data (dengan asumsi tersedia lebih dari 1 server).

b. Telnet.Telnet merupakan singkatan dari TELecommunication NET-work. Umumnya istilah telnet saat ini merujuk pada aplikasi telnet client yang tersedia pada kebanyakan operating sys-tem. Telnet mengizinkan Anda mengakses remote host dan menggunakan service-nya. Sebagai contoh, Anda dapat mengirimkan e-mail melalui telnet yang menggunakan port 25 (service SMTP) pada remote host tertentu. Jika Anda telah masuk ke dalam environment telnet, command line yang digunakan adalah command berbasis Unix/Linux. Aplikasi socket dapat dimodi kasi bekerja seperti telnet dengan mengakses remote host dan port tertentu. Di dalam aplikasi socket, Anda dapat mengambil dan mengolah response yang didapat dari remote host.

c. Netstat.Netstat menampilkan status jaringan yang terjadi. Dapat menampilkan port yang sedang terkoneksi, atau dalam kondisi menunggu/listening, juga menampilkan protokol yang digunakan, apakah TCP atau UDP. Dengan netstat, Anda dapat mengetahui koneksi jaringan yang terjadi, hal ini dapat dimanfaatkan di dalam aplikasi socket, misalnya untuk melihat port yang sedang aktif dan digunakan.

Ada kalanya Anda perlu menjalankan tools jaringan yang telah disebutkan di atas melalui aplikasi Anda. Untuk keperluan ini, Anda dapat menggunakan shell command yang disediakan oleh bahasa pemrograman yang Anda gunakan. Misalnya pada Visual Basic, dapat digunakan perintah Shell diikuti parameter yang diperlukan. Jika ingin mengolah response yang dihasilkan oleh tools tertentu, Anda dapat menuliskan hasilnya pada sebuah le teks, contohnya jika Anda menjalankan perintah netstat an > hasil.txt pada Command Prompt Windows, maka informasi mengenai koneksi yang aktif akan tersimpan dalam le hasil. txt, di mana Anda dapat mengolah le hasil.txt tersebut lebih lanjut di dalam aplikasi Anda.

Keamanan JaringanBerbicara mengenai komunikasi jaringan, ternyata erat kaitannya dengan keamanan jaringan. Port yang terbuka dengan keluar masuknya data, sebenarnya juga merupakan celah keamanan yang dapat dimanfaatkan pihak-pihak tertentu yang berniat buruk. Karena itu, saat mengembangkan sebuah aplikasi socket, Anda juga perlu mempertimbangkan issue keamanan jaringan dan sistem komputer Anda. Jika data yang dikirimkan merupakan data yang sensitif dan rahasia, Anda dapat melakukan enkripsi data ataupun tindak pengamanan lainnya.Dari sisi pengguna, saat menggunakan sebuah aplikasi socket, berarti Anda telah mengizinkan aplikasi tersebut untuk melakukan pengiriman dan penerimaan data melalui port tertentu. Karena itu pastikan Anda mengenal dengan baik aplikasi socket yang Anda gunakan, yakinkan bahwa aplikasi tersebut tidak mengandung program jahat yang dapat membahayakan keamanan komputer Anda.Tetapi jika aplikasi instant messenger dan game online tidak diizinkan oleh administrator jaringan di kantor Anda, jangan lantas mengira pimpinan Anda sangat peduli dengan keamanan jaringan. Hal tersebut untuk mencegah kantor Anda menjadi game center dan ruang gossip.

BAB IILANGKAH KERJA

I. Alat dan Bahan1. PC (Linux OS) 2. GCC 3. Cross UTP Cable 4. Hub /Switch (Optional)

II. Langkah Percobaan1. Sebelum PC menyala, Sambungkan PC ke jaringan, apabila dihubungkan dengan switch/hub gunakan kabel UTP straight apabila dengan PC langsung gunakan kabel crossover 2. Nyalakan PC hingga proses booting sempurna. 3. Jalankan perintah ifconfig eth0, kemudian catat IP addressnya. contoh : highway:~# ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:13:D4:CC:4E:2A inet addr:192.168.0.167 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::213:d4ff:fecc:4e2a/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:5630764 errors:0 dropped:0 overruns:0 frame:0 TX packets:2730184 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2746138798 (2.5 GiB) TX bytes:404795862 (386.0 MiB) Base address:0xdc00 Memory:febc0000febe0000Tips untuk asisten : Apabila PC belum memiliki IP, asisten diharapkan memberikan IP dengan perintah: # ifconfig eth0 192.168.0.* Dimana * digantikan dengan angka 1 254, dengan syarat tidak ada IP yang sama antar PC.4. Buat direktori dengan nama kelas group : A1 $ mkdir A1 (tanda $ tidak perlu ikut di ketik) 5. Masuk ke direktori tersebut $ cd A1 6. Untuk memulai UDP Socket Programming di linux, di sini kita menggunakan program VIM. Ketikkan source program listener.c atau talker.c (lihat lampiran) dengan perintah : $ vim listerner.c atau $ vim talker.c *Tips untuk asisten : praktikum dibagi menjadi beberapa kelompok dan ditunjuk supaya ada yang memrogram listener dan ada yang memrogram talker 7. Tekan tombol Ins/Insert pada keyboard untuk memulai pengetikan hingga terlihat indikasi INSERT di bagian layar kiri 8. Setelah semua source di ketik, simpan source tersebut dengan menekan tombol Esc, hingga indikator INSERT hilang, dilanjutkan dengan :wq (tanpa tanda tiket). 9. Lakukan kompilasi program dengan cara : Untuk program listener.c $ sudo gcc o listener listener.c Untuk program talker.c $ sudo gcc o talker talker.c

10. Jalankan UDP Socket Programming dengan perintah, sebagai berikut :

Untuk listener :$./listener Untuk talker : $./talker 192.168.0.2 percobaan pesan Dimana 192.168.0.2 adalah IP dari komputer yang melakukan pemrograman listener. Pesan yang dikirim adalah percobaan pesan. Pada komputer yang menjalankan program listener akan tampil data text tersebut. *Tips : Untuk mematikan program lakukan dengan menekan Ctrl+C. Lakukan pengiriman text tersebut dengan kondisi sebagai berikut, kemudian amati pada komputer tersebut ! Program listener dijalankan di komputer A, pada komputer B kirim pesan dengan program talker ke komputer A Matikan program listener pada komputer A, pada komputer B kirim pesan dengan program talker ke komputer A

LEMBAR ANALISAPraktikum Jaringan Komputer 4

Tanggal praktikum : Nama : NIM : Kelas: IP Listener : IP Talker:

NoListenerTalkerPesan Error

1.DijalankanDijalankan

2.DimatikanDimatikan

Lampiran : /* ** Praktikum Jaringan Komputer ** talker.c a datagram "client" demo */

#include #include #include #include #include #include #include #include #include #include

#define MYPORT 4950 // the port users will be connecting to

int main(int argc, char *argv[]) { int sockfd; struct sockaddr_in their_addr; // connector's address information struct hostent *he; int numbytes;

if (argc != 3) { fprintf(stderr,"usage: talker hostname message\n"); exit(1); }

if ((he=gethostbyname(argv[1])) == NULL) { // get the host info perror("gethostbyname"); exit(1); }

if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) == 1){ perror("socket"); exit(1); }

their_addr.sin_family = AF_INET; // host byte order their_addr.sin_port = htons(MYPORT); // short, network byte order their_addr.sin_addr = *((struct in_addr *)he->h_addr); memset(&(their_addr.sin_zero), '\0', 8); // zero the rest of the struct

if ((numbytes=sendto(sockfd, argv[2],strlen(argv[2]),0,(struct sockaddr *)&their_addr, sizeof(struct sockaddr))) == 1){ perror("sendto"); exit(1); }

printf("sent %d bytes to %s\n", numbytes, inet_ntoa(their_addr.sin_addr)); 32close(sockfd);

return 0; }

/* ** Praktikum Jaringan Komputer ** listener.c a datagram sockets "server" demo */ #include #include #include #include #include #include #include #include #include

#define MYPORT 4950 // the port users will be connecting to #define MAXBUFLEN 100

int main(void) { int sockfd; struct sockaddr_in my_addr; // my address information struct sockaddr_in their_addr; // connector's address information int addr_len, numbytes; char buf[MAXBUFLEN];

if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) == 1) { perror("socket"); exit(1); }

my_addr.sin_family = AF_INET; // host byte order my_addr.sin_port = htons(MYPORT); // short, network byte order my_addr.sin_addr.s_addr = INADDR_ANY; // automatically fill with my IP memset(&(my_addr.sin_zero), '\0', 8); // zero the rest of the struct

if (bind(sockfd, (struct sockaddr *)&my_addr,sizeof(struct sockaddr)) == 1) { perror("bind"); exit(1); }

addr_len = sizeof(struct sockaddr); if ((numbytes=recvfrom(sockfd, buf, MAXBUFLEN1,0,(struct sockaddr *)&their_addr, &addr_len)) == 1) { perror("recvfrom"); exit(1); }printf("got packet from %s\n",inet_ntoa(their_addr.sin_addr)); 33 printf("packet is %d bytes long\n",numbytes); buf[numbytes] = '\0'; printf("packet contains \"%s\"\n",buf);

close(sockfd);

return 0; }

BAB IIIPEMBAHASAN

Pada modul 4 kali ini, kita diharapkan dapat memahamai cara kerja protocol UDP dan dapat membuat aplikasi client server. Dalam praktikum kali ini, OS yang digunakan adalah Linux OS. Langkah untuk membuat aplikasi client server adalah sebagai berikut :

1. Sebelum PC menyala, Sambungkan PC ke jaringan, apabila dihubungkan dengan switch/hub gunakan kabel UTP straight apabila dengan PC langsung gunakan kabel crossover. Disini kita menggunakan kabel cross, karena PC satu langsung kita hubungkan dengan PC dua (tanpa menggunakan switch/hub)

2. Nyalakan PC hingga proses booting sempurna. Hal ini dilakukan agar ketika PC menyala, PC sudah tersinkronisasi dengan PC satunya dan terhubung dalam jaringan. Di sini, sebelum PC menyala, yang dipilih adalah U-buntu karena pada praktikum kali ini kita menggunakan Linux OS.

3. Jalankan perintah ifconfig eth0, kemudian catat IP addressnya. contoh : highway:~# ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:13:D4:CC:4E:2A inet addr:192.168.0.167 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::213:d4ff:fecc:4e2a/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:5630764 errors:0 dropped:0 overruns:0 frame:0 TX packets:2730184 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2746138798 (2.5 GiB) TX bytes:404795862 (386.0 MiB) Base address:0xdc00 Memory:febc0000febe0000Perintah ifconfig eth(0) berfungsi untuk melihat Network Settings pada Ethernet Adapter yang akan menampilkan perincian pada eth0 secara terperinci seperti diatas. Ifconfig digunakan untuk membuat sebuah interface dapat diakses oleh layer networking kernel.Apabila PC belum memiliki IP, kita dapat memberikan IP dengan perintah: # ifconfig eth0 192.168.0.* Dimana * digantikan dengan angka 1 254, dengan syarat tidak ada IP yang sama antar PC.

4. Buat direktori dengan nama kelas group : A1 $ mkdir A1(tanda $ tidak perlu ikut di ketik) Mkdir disini berfungsi untuk membuat direktori baru seperti command md di DOS.

5. Masuk ke direktori tersebut $ cd A1Cd disini berfungsi untuk berpindah direktori seperti fungsi cd dalam windows. Dimana disini kita berpindah/masuk ke direktori yang sudah kita buat di langkah sebelumnya yaitu A1.

6. Untuk memulai UDP Socket Programming di linux, di sini kita menggunakan program VIM. Ketikkan source program listener.c atau talker.c (lihat lampiran) dengan perintah : $ vim listerner.c atau $ vim talker.c Vim merupakan editor teks yang bersifat modus, artinya editor akan memiliki perilaku yang berbeda sesuai dengan mode yang sedang aktif saat itu. Disini kita akan dibagi menjadi beberapa kelompok dan ditunjuk supaya ada yang memrogram listener dan ada yang memrogram talker.

7. Tekan tombol Ins/Insert pada keyboard untuk memulai pengetikan hingga terlihat indikasi INSERT di bagian layar kiri. Karena pada saat praktikum kita mengalami kendala dengan tidak ditemukannya vim (dikatakan vim tidak terinstall) maka kita langsung saja mengetik coding untuk listener (untuk PC1) dan talker(untuk PC2) pada Gedit. Masukkan semua coding berikut :

8. Setelah semua source di ketik, simpan source tersebut dengan menekan tombol Esc, hingga indikator INSERT hilang, dilanjutkan dengan :wq (tanpa tanda tiket). 9. Lakukan kompilasi program dengan cara : Untuk program listener.c $ sudo gcc o listener listener.c Untuk program talker.c $ sudo gcc o talker talker.c

10. Jalankan UDP Socket Programming dengan perintah, sebagai berikut : Untuk listener :$./listener Untuk talker : $./talker 192.168.0.2 percobaan pesan Dimana 192.168.0.2 adalah IP dari komputer yang melakukan pemrograman listener. Pesan yang dikirim adalah percobaan pesan. Pada komputer yang menjalankan program listener akan tampil data text tersebut. *Tips : Untuk mematikan program lakukan dengan menekan Ctrl+C. Lakukan pengiriman text tersebut dengan kondisi sebagai berikut, kemudian amati pada komputer tersebut ! Program listener dijalankan di komputer A, pada komputer B kirim pesan dengan program talker ke komputer A Matikan program listener pada komputer A, pada komputer B kirim pesan dengan program talker ke komputer A Maka hasilnya sebagai berikut :Pengaturan PC 1 (Talker)

Dapat dilihat di atas, PC 1 dengan IP Address 192.168.1.2 (talker) mengirimkan pesan Percobaan message untuk PC 2 dengan IP Address 192.168.1.4 (listener)Pengaturan pada PC 2 (Listener) :

Di atas terlihat PC 2 dengan IP Address 192.168.1.4 menerima pesan (packet) dari PC 1 dengan IP Address 192.168.1.2 yaitu Percobaan Message.

LEMBAR ANALISAPraktikum Jaringan Komputer 4

Tanggal praktikum : 7 Mei 2015Nama : Pita RiaNIM : DBC 113 079Kelas: IIP Listener : 192.168.1.4IP Talker: 192.168.1.2

NoListenerTalkerPesan Error

1.DijalankanDijalankan-

2.DimatikanDimatikan-

BAB IVKESIMPULAN

UDP adalah suatu protokol pengiriman data yang berbasis Internet Protocol (IP) dan bersifat connection less oriented. Hal ini berarti bahwa suatu paket yang dikirim melalui jaringan hingga sampai ke komputer lain tanpa membuat suatu koneksi. UDP tidak pernah digunakan untuk mengirim data penting seperti halaman web, informasi database dan sebagainya. UDP biasanya digunakan untuk streaming audio dan video karena elebihan UDP yaitu menawarkan kecepatan transfer. UDP dapat lebih cepat dari TCP karena pada protokol UDP tidak ada bentuk kontrol aliran dan koreksi kesalahan. Pada modul 4 ini, diharapkan praktikan dapat membuat sebuah aplikasi client-server dan mengenal pemrograman socket user datagram protocok. Dari modul 4 ini dapat ditarik kesimpulan bahwa listener (client) akan menerima pesan/packet dari talker (server) jika kedua PC tersebut terhubung dalam sebuah jaringan.Karena pada saat melakukan percobaan modul ini, kami mengalami kendala karena vim tidak dapat digunakan serta password dari PC tidak diketahui, maka kami menggunakan gambar program dari pihak lain yang berhasil meskipun tidak semuanya. Sehingga untuk mengetahui error atau tidaknya program tersebut tidak dapat kami lakukan pembuktian.

BAB VDAFTAR PUSTAKA

Dosen Teknik Informatika. 2015. Modul Praktikum Jaringan Komputer. Palangka Raya : Teknik Informatika Universitas Palangka RayaAriyani, Riany. 2012. Perintah Dasar Sistem Operasi Linux.Bandung : PT. Purwaka.Menggunakan Perintah IfConfig pada Linux. Oki Helfiska(04/01/2010). http://www.belajarpc.com/menggunakan-perintah-ifconfig-pada-linux.htm Diakses pada 14 Mei 2015 18:04:32Perintah Dasar pada Linux. Ilham Nurrohmad. 2013. http://ilham-nurrohmad.blogspot.com/2014/05/perintah-dasar-pada-linux.html. Diaskes pada 14 Mei 2015 18:06:12PEMROGRAMAN SOCKET JARINGAN. Jeckey(Juni 2008). https://j3ck3y.wordpress.com/2008/06/05/pemrograman-socket-jaringan/ Diakses pada 14 Mei 2015 18:07:13Pemrograman Socket. Edwin (20 Maret 2012). http://edwincool07.blogspot.com /2012/03/pemrograman-socket.html diakses pada 14 Mei 2015 18:07:45

BAB VILAMPIRAN

Pengaturan PC 1 (Talker) :

Pengaturan PC 2 (Listener)