1 of 24

JARINGAN KOMPUTER

Oleh :�Condro Wibawa

Universitas Gunadarma

2 of 24

M7

SOCKET PROGRAMMING

3 of 24

SOCKET PROGRAMMING

4 of 24

Socket adalah mekanisme komunikasi untuk pertukaran data antar aplikasi yang terdapat di dalam sebuah mesin maupun beda mesin. Pertukaran ini terjadi pada sebuah jaringan komputer

Socket ini semacam terowongan/tunnel yang bisa dipakai untuk komunikasi/pertukaran arah secara bolak-balik

Transport Layer dalam OSI Layer maupun TCP/IP Layer berperan penting dalam pertukaran informasi dalam jaringan, karena di layer inilah “pintu gerbang” data keluar dan masuk komputer.

Socket bekerja pada Transport Layer ini.

5 of 24

Untuk bertukar informasi diperlukan alamat socket, baik dari sisi pengirim (source) maupun penerima (destination).

Sebuah alamat socket terdiri atas kombinasi  alamat ip dan  nomor port, mirip seperti sebuah koneksi telpon yang memiliki nomor telpon dan nomor ekstensinya.

Berdasarkan alamat ini, socket internet mengirim paket data yang masuk ke sebuah proses atau thread aplikasi tujuan.

6 of 24

Untuk melakukan tukar menukar informasi, diperlukan sebuah media/aplikasi. Aplikasi ini dibuat dengan menggunakan bahasa pemrograman tertentu yang disebut Socket Programming.

Socket programming adalah pemrograman yang menggunakan socket. Dengan socket programming, komunikasi dapat terjalin antara bahasa pemrograman yang berbeda, antara tingkatan user yang berbeda, bahkan antar komputer yang berbeda atau gabungan ketiganya.

7 of 24

Dalam socket programming, selalu ada dua aplikasi yaitu :

Aplikasi client, yang berguna untuk melakukan request

Aplikasi server, yang berguna melayani request

Aplikasi-aplikasi ini bisa dibuat dengan beberapa jenis bahasa pemrograman seperti :

Python, Java, C, C++, dll

8 of 24

CARA KERJA

9 of 24

Cara Kerja Socket Programming

Sisi Server :

  1. Socket

Perintah untuk membuka socket baru. Pada perintah baru ditentukan IP Address yang digunakan (Network Layer) dan Tipe Komunikasi yang digunakan (TCP/UDP ~ Transport Layer)

  • Bind

Perintah ini digunakan untuk meng-assign port yang akan digunakan. Port adalah semacam jalur virtual yang dapat digunakan sebagai pintu keluar masuk data ke dalam komputer.

  • Listen
  • Accept
  • Read
  • Write
  • Close

10 of 24

Cara Kerja Socket Programming

Sisi Server :

  1. Socket
  2. Bind
  3. Listen

Perintah ini akan membuat program berada pada mode passive, dimana perintah akan berjalan hanya jika ada request masuk dari aplikasi client. Pada perintah ini, bisa dilakukan penolakan request apabila ada hal-hal yang tidak diinginkan.

  • Accept

Perintah ini digunakan jika koneksi dirasa aman untuk bertukar informasi.

  • Read
  • Write
  • Close

11 of 24

Cara Kerja Socket Programming

Sisi Server :

  1. Socket
  2. Bind
  3. Listen
  4. Accept
  5. Read

Perintah untuk membaca data yang dikirim dari aplikasi client.

  • Write

Perintah untuk mengirimkan data kepada aplikasi client.

  • Close

Perintah untuk mengakhiri koneksi socket.

12 of 24

Cara Kerja Socket Programming

Sisi Client :

  1. Socket

Perintah untuk membuka socket baru. Pada perintah baru ditentukan IP Address yang digunakan (Network Layer) dan Tipe Komunikasi yang digunakan (TCP/UDP ~ Transport Layer)

  • Connect

Perintah yang digunakan untuk membuat koneksi baru dengan aplikasi server. Pada perintah ini ditulis pula port tujuan. Jika koneksi gagal, maka koneksi tidak bisa dilanjutkan. Jika koneksi berhasil, maka pertukaran data siap dilakukan.

  • Read
  • Write
  • Close

13 of 24

Cara Kerja Socket Programming

Sisi Client :

  1. Socket
  2. Connect
  3. Read

Perintah untuk membaca data yang dikirim dari aplikasi client.

  • Write

Perintah untuk mengirimkan data kepada aplikasi client.

  • Close

Perintah untuk mengakhiri koneksi socket.

14 of 24

Cara Kerja Socket Programming

15 of 24

Cara Kerja Socket Programming

16 of 24

Struktur Pengalamatan

17 of 24

Struktur Pengalamatan Socket Programming

Dalam socket programming, alamat source dan destination terdiri dari dua bagian yaitu :

IP Address + Port

�IP Address merujuk pada alamat device pada jaringan. Sedangkan port merujuk pada “pintu spesifik” yang dituju.

Contoh :�Seseorang merequest halaman web dari komputer A (192.168.0.1( menggunakan browser. Maka, content web yang dikirim akan dikirimkan ke komputer A tersebut yang mana di jaringan dikenal dengan 192.168.0.1, dan data tersebut dilewatkan pintu 80 (port 80), karena web menggunakan protocol HTTP yang didesain harus lewat pintu 80.

18 of 24

Struktur Pengalamatan Socket Programming

Port�Adalah pintu keluar masuknya data masuk/keluar komputer.

Secara fisik, data seperti konten web (HTTP), email (SMTP/IMAP), file storage (FTP) akan masuk melalui kabel UTP, kemudian masuk melewati “port fisik” RJ45.

Oleh Sistem Operasi, data yang masuk melalui “port fisik” RJ45 tersebut dipilah-pilah, untuk masuk melalui “port virtual” yang disiapkan oleh Sistem Operasi.

Konten Web (HTTP) akan dilewatkan ke pintu virtual nomor 80,

Data Email (SMTP/IMAP) akan dilewatkan melalui pintu virtual nomor 25 dan 143,�dan seterusnya

19 of 24

Struktur Pengalamatan Socket Programming

Port�Port terdiri dari 3 jenis yaitu :

  1. Well Known Port
  2. Registered Port
  3. Dynamical Assigned Port

20 of 24

Struktur Pengalamatan Socket Programming

Well Known Port�adalah port yang sudah umum digunakan dan secara fungsi sudah disepakati secara internasional. Nomor Port dan fungsinya sudah ditetapkan oleh IANA (International Assignet Number Authorization). Well Known Port terdiri dari nomor 0-1023. Beberapa well known port antara lain adalah sebagai berikut :

21 of 24

Struktur Pengalamatan Socket Programming

Registered Port�adalah port yang digunakan oleh vendor-vendor hardware dan software secara internasional. Sudah didaftarkan ke IANA, sehingga satu sama lain tidak saling bertabrakan dalam penggunaan port. Nomor port adalah 1024-49.151. Port ini sifatnya tidak permanen akan tetapi disarankan.

Dynamical Assigned Port Port�adalah port yang tidak diassign secara khusus. Digunakan secara temporer dan dapat dilepas kapan saja. Nomor port adalah 1024-65.536.

22 of 24

MEMBUAT APLIKASI BERBASIS SOCKET

23 of 24

TUGAS :

Cari referensi dan buat program berbasis Python,�yang menggambarkan komunikasi di dalam Socket Programming !

Screenshoot :�1. Coding�2. Hasil/Output

Masukkan ke dalam file Ms Word disertai penjelasan secukupnya!

Dikumpulkan di VClass ini

Deadline : 16 November 2023

24 of 24

Kunjungi Pula :

  1. Instagram : @pak.condro
  2. Web : http://condro_wibawa.staff.gunadarma.ac.id/
  3. Blog : https://pakcondro.blogspot.com/
  4. Youtube : pojokan