Pengenalan Pemrograman Jaringan Materi 1 Pemrograman Jaringan Dosen: Eko Prasetyo Teknik Informatika UMG 2012.

Slides:



Advertisements
Presentasi serupa
JARINGAN CLIENT - SERVER
Advertisements

PENGENALAN INTERNET M. Masrur, SKom.
Pernahkah anda membuka sebuah Website???? What It????
KONSEP DASAR WEB DAN INTERNET
Wahyu Herlambang ( ) Pendidikan Teknik Informatika dan Komputer Universitas Negeri Makassar 2012 Wahyu Herlambang ( ) Pendidikan Teknik.
Kelas A & B Jonh Fredrik Ulysses STMIK PALANGKARAYA - JFU
TCP mengatur aliran data gram dari lapisan di atasnya (lapisan aplikasi) hingga lapisan IP, sebagaimana datagram yang datang dari lapisan IP hingga ke.
JAVA Network Programming. Apa itu JAVA? ● Bahasa pemrograman berorientasi objek yang dikembangkan oleh Sun Microsystems sejak tahun ● Dikembangkan.
Referensi Model TCP/IP
Pemrograman Jaringan Socket Programming Aurelio Rahmadian.
Konsep Dasar Protokol Jaringan
Client-Server Computing
Referensi Model TCP/IP Pertemuan III. TCP/IP dikembangkan sebelum model OSI ada. Namun demikian lapisan-lapisan pada TCP/IP tidaklah cocok seluruhnya.
Komunikasi antar Proses
FIREWALL.
Sistem Komunikasi.
Aplikasi Teknologi Informasi Dalam Pendidikan
Pertemuan Ke-1 (Konsep Dasar Web)
CARA KERJA WEB By: ANDRI MARTIUS ( ).
Transport Layer Computer Networks Eko Prasetyo Teknik Informatika Universitas Muhammadiyah Gresik 2012.
Pemrograman Client Server
Networking, Protokol, dan Interoperabilitas
Mendapatkan Input dari Keyboard
(TRANSMISSION CONTROL PROTOCOL/INTERNET PROTOCOL)
Network Software (Perangkat Lunak Jaringan)
IP Address Dedi Hermanto.
Pengembang aplikasi memiliki kemampuan untuk memperbaiki beberapa parameter TCP, seperti buffer dan maksimum ukuran segmen maksimum Socket Programming.
PEMROGRAMAN WEB DASAR Humisar Hasugian, S.Kom.
TRANSPORT LAYER PROTOCOLS ( TCP DAN UDP )
UDP Socket Programming
1 Pertemuan 1 Pendahuluan Matakuliah: H0483 – Network Programming Tahun: 2005 Versi: 1.0.
UDP.
DASAR SOCKET PROGRAMMING
- PERTEMUAN 8- NETWORK PBO. Pengantar Java mengijinkan anda untuk mempermudah mengembangkan aplikasi yang mengerjakan berbagai pekerjaan melalui jaringan.
TCP Socket Programmning
Overview Teknologi Internet
Pertemuan 1 Pengenalan Dasar Web.
Socket Programming - 1 (TCP)
Jaringan.
Referensi Model TCP/IP
Pembahasan Pendahuluan HTTP FTP SMTP DNS Telnet.
Yuliana Setiowati Politeknik Elektronika Negeri Surabaya
Client-Server Computing
Transport Layer Electronic Engineering Polytechnic Institut of Surabaya – ITS Kampus ITS Sukolilo Surabaya
Application Layer Abdillah, MIT.
Pengaksesan Jaringan (Connection)
Referensi Model TCP/IP
Referensi Model TCP/IP (ransmission Control Protocol/Internet Protocol) Eko Riyanto.
TCP & UDP.
NETWORK LAYER OSI LAYER 3.
Client-Server Computing
Bab 12 Application Layer Abdillah, MIT.
Socket Programming - 1 (TCP)
Socket Programming - 2 (UDP)
BAB I                       Mata Kuliah  Sistem Terdistribusi _______________________ PROSES SISTER Oleh : Laseri, S.Kom.
PEMROGRAMAN WEB 1 PERTEMUAN 1
Reperensi Model TCP/IP
Referensi Model TCP/IP
Oleh : Laseri, S.Kom BAB I                       Mata Kuliah  Sistem Terdistribusi _______________________ PROSES SISTER.
Referensi Model TCP/IP
Komunikasi antar Proses
Client-Server Computing
Mengadministrasi server dalam jaringan adalah suatu bentuk pekerjaan yang dilakukan oleh administrator jaringan. Tugasnya: Membuat server Mengelola jaringan.
TCP Socket Programmning
UDP Socket Programming
Pertemuan 1 Pengenalan Dasar Web.
Referensi Model TCP/IP
Pertemuan 1 Pengenalan Dasar Web.
Referensi Model TCP/IP
TCP Socket Programming
Transcript presentasi:

Pengenalan Pemrograman Jaringan Materi 1 Pemrograman Jaringan Dosen: Eko Prasetyo Teknik Informatika UMG 2012

Client-Server 2  Server, menyediakan sejumlah layanan.  Layanan tersebut mempersilahkan klien untuk menghubungkan diri ke host server untuk tujuan mengakses layanan.  Klien, menginisialisasi dialog dengan server  Klien disini berupa program (software) bukan klien orang.  Layanan umum yang disediakan server: web server, FTP server, database server, dsb.  Klien pengguna layanan: web browser, ftp client, dsb.

Client-Server 3  Aplikasi instant messaging, masuk client-server atau peer- to-peer ?  Kebanyakan aplikasi messaging menggunakan model P2P, tapi untuk aplikasi yang lain hal ini tidak mungkin digunakan mengingat banyaknya koneksi simultan  Menggunakan server sebagai perantara antara klien untuk menabstraksi koneksi P2P antar klien.

Port dan Socket 4  Keduanya merupakan jantung komunikasi jaringan.  Keduanya berkolaborasi dengan hardware komunikasi  Tetapi keduanya bukan hardware, melainkan konsep abstrak yang menjembatani programmer menggunakan link komunikasi.  Port adalah koneksi logik pada komputer (disamping ada koneksi fisik) dan diindentifikasi dengan angka dalam range  Port akan diimplementasikan selama semua komputer terhubung ke jaringan  Hanya komputer dengan program server saja yang mengunakan secara eksplisit nomor port.  Port dengan range digunakan untuk layanan standart  80 : HTTP  21: File Transfer Protocol (FTP)  23: Telnet remote login service  53: Domain Name System (DNS) service  Aplikasi umumnya menggunakan nomor port  Kecuali nomor-nomor port tertentu yang sudah diakuisisi program tertentu, seperti: MySQL ( ), MS SQL Server (1433)

Port dan Socket 5  Umumnya, banyak klien secara bersamaan menginginkan layanan yang sama  Misal, banyak browser (ribuan mungkin) menginginkan halaman web dari server yang sama.  Server perlu membedakan diantara klien dan menjaga dialog dengan masing-masing secara terpisah satu sama lain.  Untuk kebutuhan ini, dicapai dengan menggunakan socket.  Socket, merupakan konsep abstrak, bukan elemen hardware komputer.  Socket digunakan untuk menandai satu dari dua end-point link komunikasi antara dua proses.  Ketika ada sebuah klien membuat koneksi ke server, maka klien membuat socket untuk link komunikasi.  Setelah diterimanya inisial request klien (pada nomor port tertentu), server akan membuat socket baru untuk klien tersebut dan khusus digunakan untuk berkomunikasi hanya untuk klien tersebut.  Hanya satu link hardware ke server yang dapat diasosiasikan dengan banyak port, sehingga satu port yang dapat diasosiasikan dengan banyak socket.

Internet dan IP Addresses 6  internet (huruf “i” kecil) adalah kumpulan jaringan komputer yang mempersilahkan semua komputer yang terhubung ke jaringan berkomunikasi dengan komputer lain yang berlokasi dimanapun yang terhubung juga ke jaringan (termasuk jaringan lokal).  Protokol yang digunakan untuk berkomunikasi adalah Internet Protocol.  Internet (huruf “I” besar) adalah jaringan berbasis IP terbesar didunia.  Setiap komputer punya IP unik  Versi yang digunakan saat ini IPv4 (32 bit)  Dalam masa transisi ke IPv6 (128 bit)  Misal: alamat merupakan sebuah alamat IP

Internet Services, URL dan DNS 7  URL (Uniform Resource Locator) adalah identifier unik untuk segala resource yang berada di Internet.  Notasi pemanggilan: :// [: ][/ ][/ [# ]]  Nomor port boleh tidak disertakan jika server menggunakan nomor port standart.  Jika nama file tidak disertakan maka diasumsikan memanggil file index.html atau default.html.  Misal:  DNS (Domain Name System) adalah protokol untuk memetakan antara alamat IP dengan nama domain  Umumnya manusia lebih mudah mengingat nama daripada angka.

TCP 8  Packet-switched, pesan (kiriman data) dipecah menjadi sejumlah blok informasi yang disebut packet  Setiap paket ditangani secara terpisah  Memungkinkan melintasi jalur rute berbeda dari paket yang lain untuk pesan yang sama.  IP bertugas meneruskan paket-paket melewati jaringan  Tidak peduli urutan, karena dia juga bertanggung jawab terhadap trafik disekitarnya.  Akibatnya:  Paket tidak sampai ditujuan (mungkin hilang dijalan), tapi tidak ada informasi dari penerima mengenai ketidaksampaian paket tersebut.  Paket tiba ditujuan dengan benar tidak error), bisa juga error.  Tiba ditujuan dalam kondisi tidak urut seperti semula.

TCP 9  Karena masalah diatas, muncullah protokol TCP (Transmission Control Protocol)  Mebolehkan setiap ujung koneksi untuk mengetahui status penerimaan paket IP dan/atau permintan transmisi ulang paket yang hilang atau rusak disisi penerima.  Kolaborasi IP dan TCP (manjadi TCP/IP) merupakan dua protokol terbanyak yang digunakan dalam aplikasi jaringan.

UDP 10  TCP memberikan mekanisme transmisi yang terjamin, tetapi harus dibayar dengan waktu setup dan penggunaan overhead yang besar sehingga kapasitas transmisi relatif kecil.  Untuk aplikasi transfer file, paket harus diterima utuh dengan urutan yang benar.  Untuk aplikasi streaming, keutuhan dan urutan paket bukan hal penting melainkan kapasitas transmisi data yang lebih diutamakan.  Kebutuhan tersebut dipenuhi oleh User Datagram Protocol (UDP).  UDP merupakan protokol unreliable, karena:  Tidak menjamin bahwa setiap paket akan sampai ditujuan  Tidak menjamin paket tiba dengan urutan yang benar.  UDP tidak melakukan pengiriman ulang paket yang error dan tidak mengurutkan kembali paket-paket yang datang  Bekerja secara siginifikan lebih cepat daripada TCP.

Kelas InetAddress 11  Salah satu kelas dalam paket java.net adalah InetAddress  Menangani alamat Internet baik host name dan alamat IP.  Method statis getByName, menggunakan DNS untuk mendapatkan IP  Harus menambahkan eksepsi UnknownHostException dalam blok try….catch, untuk hostname yang tidak dikenali.

Contoh 12 Contoh: import java.net.*; import java.util.*; public class IPFinder { public static void main(String[] args) { String host; Scanner input = new Scanner(System.in); System.out.print("\n\nEnter host name: "); host = input.next(); try { InetAddress address = InetAddress.getByName(host); System.out.println("IP address: " + address.toString()); } catch (UnknownHostException uhEx) { System.out.println("Could not find " + host); }

TCP Socket 13  Link komunikasi yang dibuat vias socket TCP/IP merupakan connection-orientated link.  Artinya, hubungan antara server dan klien akan terbuka sepanjang durasi dialog, dan akan ditutup (dalam situasi normal) ketika salah satu pihak meminta pemberhentian hubungan.  Keduanya mempunyai proses masing-masing.  Ada 5 langkah di server: 1. Membuat objeck dari kelas ServerSocket 2. Memposisikan server dalam status menunggu (waiting) 3. Melakukan input dan output stream 4. Mengirim dan menerima data 5. Menutup koneksi (setelah dialog selesai)

TCP Socket di server Membuat objeck dari kelas ServerSocket Konstruktor meminta nomor port Misal: ServerSocket servSock = new ServerSocket(1234); 2. Memposisikan server dalam status menunggu (waiting) Mengunakan method accept dari kelas ServerSocket, yang akan mengembalikan objek ketika hubungan dibentuk. Misal: Socket link = servSock.accept(); 3. Melakukan input dan output stream Methods getInputStream dan getOutputStream dari kelas Socket digunakan menerima masukan dan menngirimkan keluaran ke link komunikasi yang dibuat. Keluaran method getInputStream ditampung oleh obyek bertipe kelas Scanner Misal: Scanner input = new Scanner(link.getInputStream()); Method getOutputStream dilakukan oleh obyek bertipe kelas PrintWriter Misal: PrintWriter output = new PrintWriter(link.getOutputStream(),tr ue); 4. Mengirim dan menerima data Gunakan method nextLine Misal: output.println("Awaiting data..."); String input = input.nextLine(); 5. Menutup koneksi (setelah dialog selesai) Gunakan methos close dari kelas Socket Misal: link.close();

Contoh 15

TCP Socket di klien Membentuk koneksi dengan server Membuat objek Socket, dengan menyertakan parameter di konstruktor:  Alamat IP server (tipe InetAddress)  Nomor port yang digunakan di server  Misal: Socket link = new Socket(InetAddress.getLocalHost(),1234); 2. Melakukan input dan output stream Sama dengan di server, menggunakan methods getInputStream dan getOutputStream dari objek Socket. 3. Mengirim dan menerima data Sama dengan di server, menggunakan objek dari Scanner dan PrintWriter. 4. Menutup koneksi Sama dengan di server, mengunakan method close dari kelas Socket.

Contoh 17

Contoh 18 Keluaran program di serverKeluaran program di klien

Datagram (UDP) Socket 19  Datagram socket merupakan connectionless, koneksi antara server dan klien tidak dikelola selamat dialog. Setiap paket datagram dikirim secara terpisah kapanpun dibutuhkan.  Karena koneksi tidak dikelola selama transmisi, server tidak membuat objek Socket sendiri- sendiri untuk setiap klien.  Perbedaan dengan socket TCP/IP adalah objek ServerSocket, server membuat obyek DatagramSocket, sama dengan setiap klien yang ingin mengirim datagram ke server.  Objek DatagramPacket dibuat dan dikirim di kedua ujung pihak.  Ada 9 proses di server: 1. Membuat objek DatagramSocket 2. Membuat buffer untuk datagram yang datang 3. Membuat objek DatagramPacket untuk datagram yang datang 4. Menerima datagram yang datang 5. Menerima alamat dan port pengirim dari paket 6. Memindai data dari buffer 7. Membuat datagram jawaban 8. Mengirim datagram jawaban 9. Menutup DatagramSocket

Datagram (UDP) Socket di server Membuat objek DatagramSocket Misal: DatagramSocket datagramSocket = new DatagramSocket(1234); 2. Membuat buffer untuk datagram yang datang Membuat array byte Misal: byte[] buffer = new byte[256]; 3. Membuat objek DatagramPacket untuk datagram yang datang Konstrktur objek membutuhkan 2 argumen: byte array yang sudah dibuat dan ukuran array tersebut. Misal: DatagramPacket inPacket = new DatagramPacket(buffer, buffer.length); 4. Menerima datagram yang datang Menggunakan method receive dari objek DatagramSocket, diterima dengan objek DatagramPacket Misal: datagramSocket.receive(inPacket); 5. Menerima alamat dan port pengirim dari paket Menggunakan method getAddress dan getPort dari objek DatagramPacket Misal: InetAddress clientAddress = inPacket.getAddress(); int clientPort = inPacket.getPort();

Datagram (UDP) Socket di server Memindai data dari buffer Untuk penyederhanaan, disini digunakan string untuk data yang dikirim. Ada 3 argumen yang dibutuhkan: array byte, posisi awal dalam array (=0), dan jumlah byte (=ukuran total buffer) Misal: String message = new String(inPacket.getData(), 0,inPacket.getLength()); 7. Membuat datagram jawaban Membuat objek DatagramPacket menggunakan overloading konstruktor dengan 4 argumen: array byte yang berisi pesan, ukuran jawaban, alamat klien, dan port klien. Misal: DatagramPacket outPacket = new DatagramPacket(response.getBytes(), response.length(),clientAddress, clientPort); 8. Mengirim datagram jawaban Menggunakan method send dari objek DatagramSocket. Misal: datagramSocket.send(outPacket); 9. Menutup DatagramSocket Menggunakan method close dari objek DatagramSocket. Misal: datagramSocket.close();

Contoh 22

Datagram (UDP) Socket di klien Membuat objek DatagramSocket 2. Membuat datagram keluar 3. Mengirim pesan datagram 4. Membuat buffer untuk datagram masuk 5. Membuat objek DatagramPacket untuk datagram masuk. 6. Menerima datagram masuk 7. Membaca data dari buffer 8. Menutup DatagramSocket

Datagram (UDP) Socket di klien Membuat objek DatagramSocket Sama dengan pembuatan objek DatagramSocket di server, tapi tidak memakai argumen. Misal: DatagramSocket datagramSocket = new DatagramSocket(); 2. Membuat datagram keluar Sama dengan langkah 7 di server Misal: DatagramPacket outPacket = new DatagramPacket(message.getBytes(), message.length(), host, PORT); 3. Mengirim pesan datagram Dengan memanggil method send dari objek DatagramSocket dan argumennya objek dari DatagramPacket Misal: datagramSocket.send(outPacket); 4. Membuat buffer untuk datagram masuk Sama dengan langkah 2 di server Misal: byte[] buffer = new byte[256];

Datagram (UDP) Socket di klien Membuat objek DatagramPacket untuk datagram masuk. Sama dengan langkah 3 di server Misal: DatagramPacket inPacket = new DatagramPacket(buffer, buffer.length); 6. Menerima datagram masuk Sama dengan langkah 4 di server Misal: datagramSocket.receive(inPacket); 7. Membaca data dari buffer Sama dengan langkah 6 di server Misal: String response = new String(inPacket.getData(),0, inPacket.getLength()); Langkah 2-7 bisa diulang sebanyak yang diinginkan. 8. Menutup DatagramSocket Sama dengan langkah 9 di server Misal: datagramSocket.close();

Contoh 26

Contoh 27 Keluaran program di serverKeluaran program di klien

Any Question ? 28