Media Belajar Bahasa Pemrograman | by APPKEY

JavaTutorial Java 40 : Kenali Java Networking dan Penerapannya!

Tutorial Java 40 : Kenali Java Networking dan Penerapannya!

-

Last Updated on March 16, 2023 by

Java Networking merupakan saat perangkat komputasi seperti laptop, desktop, server, Smartphone, dan tablet serta pengaturan gadget IoT yang terus berkembang berbagi informasi dan data satu sama lain.

Pemrograman jaringan mengacu  pada penulisan program yang dijalankan di beberapa perangkat (komputer), di mana perangkat tersebut terhubung satu sama lain melalui jaringan. Java merangkum class dan antarmuka untuk memungkinkan detail komunikasi tingkat rendah. Pada artikel ini, kita akan sama sama belajar Java Networking.

Pengantar Java Networking

java networking, java networking adalah, belajar java network

Jaringan melengkapi banyak kekuatan untuk program sederhana. Dengan jaringan, satu program dapat memperoleh kembali informasi yang disimpan di jutaan komputer yang ditempatkan di mana saja di dunia. Java adalah bahasa pemrograman terkemuka yang disusun dari awal dengan mempertimbangkan jaringan.

Java Networking merupakan gagasan menghubungkan dua atau lebih perangkat komputasi bersama-sama untuk berbagi sumber daya. Program Java berinteraksi melalui jaringan pada  lapisan aplikasi. paket java.net berguna untuk semua class dan antarmuka jaringan Java.

Java memiliki API jaringan bawaan yang cukup mudah digunakan yang membuatnya mudah untuk berkomunikasi melalui socket TCP/IP atau socket UDP melalui internet. TCP biasanya lebih sering digunakan daripada UDP.

Protokol Jaringan Umum

Seperti yang dinyatakan sebelumnya, paket java.net dari bahasa pemrograman Java mencakup berbagai class dan antarmuka yang menyediakan sarana yang mudah digunakan untuk mengakses sumber daya jaringan. Selain class dan antarmuka, paket java.net juga menyediakan dukungan untuk dua protokol jaringan terkenal. Berikut ini :

Transmission Control Protocol (TCP) – TCP atau Transmission Control Protocol

Memungkinkan komunikasi yang aman antara aplikasi yang berbeda. TCP adalah protokol berorientasi koneksi yang berarti bahwa setelah koneksi dibuat, data dapat ditransmisikan dalam dua arah. Protokol ini biasanya digunakan melalui Protokol Internet. Oleh karena itu, TCP juga disebut sebagai TCP/IP. TCP memiliki metode bawaan untuk memeriksa kesalahan dan memastikan pengiriman data sesuai urutan pengirimannya, menjadikannya protokol lengkap untuk mengangkut informasi seperti gambar diam, file data, dan halaman web.

User Datagram Protocol (UDP) – UDP atau User Datagram Protocol 

Protokol tanpa koneksi yang memungkinkan paket data ditransmisikan antara aplikasi yang berbeda. UDP adalah protokol Internet yang lebih sederhana di mana layanan pemeriksaan kesalahan dan pemulihan tidak diperlukan. Di UDP, tidak ada overhead untuk membuka koneksi, memelihara koneksi, atau mengakhiri koneksi. Di UDP, data terus dikirim ke penerima, apakah mereka menerimanya atau tidak.

Terminologi Java Networking

Pada Java Networking, banyak terminologi yang sering digunakan. Terminologi Jaringan Java yang banyak digunakan ini diberikan sebagai berikut:

Alamat IP

Alamat IP adalah alamat unik yang membedakan perangkat di internet atau jaringan lokal. IP adalah singkatan dari “Internet Protocol.” Ini terdiri dari seperangkat aturan yang mengatur format data yang dikirim melalui internet atau jaringan lokal. Alamat IP disebut sebagai alamat logis yang dapat dimodifikasi. Ini terdiri dari oktet. Kisaran setiap oktet bervariasi dari 0 hingga 255.

Artikel Terkait  Tutorial Java 38 : Belajar Struktur Data Java

Rentang Alamat IP – 0.0.0.0 hingga 255.255.255.255

Nomor Port

Nomor port adalah metode untuk mengenali proses tertentu yang menghubungkan internet atau informasi jaringan lainnya ketika mencapai server. Nomor port digunakan untuk mengidentifikasi berbagai aplikasi secara unik. Nomor port berperilaku sebagai titik akhir komunikasi antar aplikasi. Nomor port berkorelasi dengan alamat IP untuk transmisi dan komunikasi antara dua aplikasi. Ada 65.535 nomor port, tetapi tidak semuanya digunakan setiap hari.

Protokol

Protokol jaringan adalah seperangkat perintah terorganisir yang menentukan bagaimana data ditransmisikan antara perangkat yang berbeda di jaringan yang sama. Protokol jaringan adalah alasan di mana pengguna dapat dengan mudah berkomunikasi dengan orang-orang di seluruh dunia dan dengan demikian memainkan peran penting dalam komunikasi digital modern. Misalnya – TCP, FTP, POP, dll.

Alamat MAC

Alamat MAC merupakan singkatan dari alamat Kontrol Akses Media. Ini adalah pengidentifikasi yang dialokasikan ke NIC (Pengontrol Antarmuka Jaringan/Kartu). Ini berisi alamat 48 bit atau 64 bit, yang digabungkan dengan adaptor jaringan. Alamat MAC didapat dalam komposisi heksadesimal. Dengan kata sederhana, alamat MAC adalah nomor unik yang digunakan untuk melacak perangkat di jaringan.

Socket  

Socket adalah salah satu titik akhir dari koneksi komunikasi dua arah antara dua aplikasi yang berjalan di jaringan. Mekanisme socket menyajikan metode komunikasi antar proses (IPC) dengan mengatur titik kontak bernama dimana komunikasi terjadi. Socket diikat ke nomor port sehingga lapisan TCP dapat mengenali aplikasi tujuan pengiriman data.

Protokol berorientasi koneksi dan tanpa koneksi Java networking

Dalam layanan berorientasi koneksi, pengguna harus membuat koneksi sebelum memulai komunikasi. Saat koneksi dibuat, pengguna dapat mengirim pesan atau informasi, dan setelah ini, mereka dapat melepaskan koneksi. Namun, dalam protokol tanpa koneksi, data diangkut dalam satu rute dari sumber ke tujuan tanpa memverifikasi apakah tujuan masih ada atau tidak atau siap menerima pesan. Otentikasi tidak diperlukan dalam protokol connectionless.

Contoh Protokol Berorientasi Koneksi – Protokol Kontrol Transmisi (TCP)

Contoh Protokol Tanpa Koneksi – Protokol Datagram Pengguna (UDP)

Pemrograman Socket

Pemrograman Java Socket dipraktikkan untuk komunikasi antara aplikasi yang bekerja pada JRE yang berbeda. Socket mengimplementasikan alat komunikasi antara dua komputer menggunakan TCP. Pemrograman Java Socket dapat berupa connection-oriented atau connection-less. Dalam Pemrograman Socket, class Socket dan ServerSocket dikelola untuk pemrograman socket berorientasi koneksi. Namun, class DatagramSocket dan DatagramPacket digunakan untuk pemrograman socket tanpa koneksi.

Class java.net.Socket mendeskripsikan socket, dan class java.net.ServerSocket mengimplementasikan alat untuk program server untuk menghosting klien dan membangun koneksi dengan mereka.

Langkah-langkah untuk membuat koneksi TCP antara dua perangkat komputasi menggunakan Pemrograman Socket

Berikut ini adalah langkah-langkah yang terjadi pada pembuatan koneksi TCP antara dua komputer menggunakan pemrograman socket diberikan sebagai berikut:

Langkah 1 – Server memberi contoh objek ServerSocket, yang menunjukkan di mana komunikasi nomor port akan terjadi.

Langkah 2 – Setelah membuat instance objek ServerSocket, server meminta metode accept() dari class ServerSocket. Program ini berhenti sampai klien terhubung ke server pada port yang diberikan.

Langkah 3 – Setelah server diam, klien memberi contoh objek class Socket, menentukan nama server dan nomor port yang akan dihubungkan.

Langkah 4 – Setelah langkah di atas, konstruktor class Socket berusaha menghubungkan klien ke server yang ditunjuk dan nomor port. Jika komunikasi diautentikasi, klien segera memiliki objek Socket yang mahir dalam berinteraksi dengan server.

Artikel Terkait  Tutorial Java 21 : Belajar Menggunakan Switch Case pada Java

Langkah 5 – Di sisi server, metode accept() mengembalikan referensi ke socket baru di server yang terhubung ke socket klien.

Setelah koneksi stabil, komunikasi dapat terjadi menggunakan aliran I/O. Setiap objek dari class socket memiliki OutputStream dan InputStream. OutputStream klien berkorelasi dengan InputStream server, dan InputStream klien digabungkan dengan OutputStream server. Transmission Control Protocol (TCP) adalah protokol komunikasi dua arah. Karenanya informasi dapat ditransmisikan melalui kedua aliran pada waktu yang sesuai.

Class Socket

Class Socket digunakan untuk membuat objek socket yang membantu pengguna dalam mengimplementasikan semua operasi dasar socket. Pengguna dapat menerapkan berbagai tindakan jaringan seperti mengirim, membaca data, dan menutup koneksi.

Metode Class Socket

Dalam pemrograman Socket, klien dan server memiliki objek Socket, sehingga semua metode di bawah class Socket dapat dipanggil oleh klien dan server.

No.  Method Keterangan
1 public void connect(SocketAddress host, int timeout) Metode ini digunakan untuk menghubungkan socket ke host tertentu. Metode ini diperlukan hanya ketika pengguna membuat instance Socket yang menerapkan konstruktor tanpa argumen.
2 public int getPort() Metode ini digunakan untuk mengembalikan port tempat socket disematkan pada mesin jarak jauh.
3 public InetAddress getInetAddress() Metode ini digunakan untuk mengembalikan lokasi komputer lain yang terhubung dengan socket.
4 public int getLocalPort() Metode ini digunakan untuk mengembalikan port tempat socket digabungkan pada mesin lokal.
5 public SocketAddress getRemoteSocketAddress()   Metode ini mengembalikan lokasi socket jarak jauh.
6 public InputStream getInputStream()   Metode ini digunakan untuk mengembalikan aliran input socket. Aliran input ini digabungkan dengan aliran output dari socket jarak jauh.
7 public OutputStream getOutputStream() Metode ini digunakan untuk mengembalikan aliran keluaran socket. Aliran output digabungkan dengan aliran input dari socket jarak jauh.
8 public void close()  Metode ini digunakan untuk menutup socket, yang menyebabkan objek class Socket tidak lagi dapat terhubung ke server mana pun.

Class ServerSocket

Class ServerSocket digunakan untuk menyediakan implementasi sistem-independen dari sisi server dari Koneksi Socket klien/server. Konstruktor untuk class ServerSocket melontarkan pengecualian jika tidak dapat merespon pada port yang ditentukan.

Metode Class ServerSocket

Ada banyak metode di class ServerSocket yang sangat berguna bagi pengguna. Metode-metode ini adalah:

No. Method Keterangan
1 public int getLocalPort() Metode ini digunakan untuk mengembalikan port yang dipantau oleh socket server. Metode ini bermanfaat jika pengguna memberikan 0 sebagai nomor port di konstruktor dan membiarkan server menemukan port untuknya.
2 public void setSoTimeout(int timeout) Metode ini digunakan untuk menyetel nilai batas waktu untuk waktu di mana socket server dijeda untuk klien selama metode accept().
3 public Socket accept() Metode ini menunggu klien yang masuk. Metode ini diblokir hingga klien menggabungkan ke server pada port yang ditentukan atau socket habis waktu, mengingat nilai batas waktu telah disetel menggunakan metode setSoTimeout() . Jika tidak, metode ini akan diblokir tanpa batas.
4 public void bind(SocketAddress host, int backlog)  Metode ini digunakan untuk mengikat socket ke server dan port tertentu di objek SocketAddress. Pengguna harus menggunakan metode ini jika dia membuat ServerSocket menggunakan konstruktor tanpa argumen.

Contoh Pemrograman Socket Pada Java Networking

Contoh di bawah ini mengilustrasikan pengaturan Klien dan Server satu arah yang cukup mendasar di mana Klien terhubung, mengirim pesan ke server dan server menunjukkannya menggunakan koneksi socket.

Implementasi Socket Java Networking Sisi Klien:

// A Java program for a ClientSide

 

import java.io.*;

import java.net.*;

 

public class clientSide {

 

    private Socket socket = null;

    private DataInputStream input = null;

    private DataOutputStream out = null;

 

    public clientSide(String address, int port)

    {

 

        try {

 

            socket = new Socket(address, port);

 

            System.out.println("Connected");

 

            input = new DataInputStream(System.in);

 

            out = new DataOutputStream(

                socket.getOutputStream());

        }

 

        catch (UnknownHostException u) {

 

            System.out.println(u);

        }

 

        catch (IOException i) {

 

            System.out.println(i);

        }

 

        String line = "";

 

        while (!line.equals("End")) {

 

            try {

 

                line = input.readLine();

 

                out.writeUTF(line);

            }

 

            catch (IOException i) {

 

                System.out.println(i);

            }

        }

 

        try {

 

            input.close();

 

            out.close();

 

            socket.close();

        }

 

        catch (IOException i) {

 

            System.out.println(i);

        }

    }

 

    public static void main(String[] args)

    {

 

        clientSide client

            = new clientSide("127.0.0.1", 5000);

    }

}

Implementasi Socket Jaringan Java Sisi Server

import java.io.*;

import java.net.*;

 

public class serverSide {

 

    private Socket socket = null;

    private ServerSocket server = null;

    private DataInputStream in = null;

 

    public serverSide(int port)

    {

 

        try {

            server = new ServerSocket(port);

 

            System.out.println("Server started");

 

            System.out.println("Waiting for a client ...");

 

            socket = server.accept();

 

            System.out.println("Client accepted");

 

            in = new DataInputStream(

                new BufferedInputStream(

                    socket.getInputStream()));

 

            String line = "";

 

            while (!line.equals("End")) {

 

                try {

 

                    line = in.readUTF();

 

                    System.out.println(line);

                }

 

                catch (IOException i) {

 

                    System.out.println(i);

                }

            }

 

            System.out.println("Closing connection");

 

            socket.close();

 

            in.close();

        }

 

        catch (IOException i) {

 

            System.out.println(i);

        }

    }

 

    public static void main(String[] args)

    {

 

        serverSide server = new serverSide(5000);

    }

}

Alamat Inet

java networking, java networking adalah, belajar java network

Class InetAddress digunakan untuk menyediakan metode untuk mendapatkan alamat IP dari nama host apa pun. Alamat IP dinyatakan dengan nomor unsigned 32-bit atau 128-bit. Objek InetAddress menjelaskan alamat IP dengan nama host analognya. InetAddress dapat mengontrol alamat IPv4 dan IPv6.

Artikel Terkait  Tutorial Java 14 : Ingin Membuat Fungsi Interface pada Java? Berikut Caranya!

Ada dua jenis alamat yang berbeda:

  • Unicast – Ini adalah pengidentifikasi untuk satu antarmuka.
  • Multicast – Ini adalah pengidentifikasi untuk kumpulan antarmuka.

Metode Kelas InetAddress

Class Java InetAddress mewakili alamat IP. Berikut ini adalah metode penting dari class InetAddress

No. Method Keterangan
1 static InetAddress getByAddress(byte[] addr) Metode ini digunakan untuk mengembalikan objek kelas InetAddress asalkan alamat IP mentah.
2 static InetAddress getByAddress(String host, byte[] addr) Metode ini digunakan untuk membuat InetAddress berdasarkan nama host dan alamat IP yang diberikan.
3 static InetAddress getByName(String host) Metode ini digunakan untuk menentukan alamat IP dari sebuah host ketika nama host diberikan.
4 static InetAddress InetAddress getLocalHost() Metode ini digunakan untuk mengembalikan localhost.
5 String getHostName() Metode ini digunakan untuk mendapatkan nama alamat IP.
6 String getHostAddress() Metode ini mengembalikan alamat IP dalam bentuk string dalam tampilan tekstual.
7 String toString() Metode ini digunakan untuk mengubah alamat IP menjadi string.

Contoh 1

import java.net.*;

 

public class InetAddressExample1 {

 

    public static void main(String[] args) throws UnknownHostException{

 

         

        InetAddress address = InetAddress.getLocalHost();

 

        System.out.println("InetAddress of the Local Host : "+address);

 

        String hostName=address.getHostName();

 

        System.out.println("\nHost name of the Local Host : "+hostName);

 

    }

 

}

Contoh 2

import java.net.*;

 

public class InetAddressExample2 {

 

    public static void main(String[] args)

        throws UnknownHostException

    {

 

        InetAddress address1 = InetAddress.getByName(

                           "write.codekey.id");

 

        System.out.println("Inet Address of named hosts : "

                                               + address1);

 

        InetAddress arr[] = InetAddress.getAllByName(

                            "www.codekey.id/");

 

        System.out.println("\nInet Address of ALL named hosts :");

 

        for (int i = 0; i < arr.length; i++) {

 

            System.out.println(arr[i]);

        }

    }

}

Class URL

Class URL di Java Networking adalah titik masuk ke semua sumber yang tersedia di internet. URL Kelas menggambarkan Uniform Resource Locator, yang merupakan sinyal ke “resource” di World Wide Web.

Resource dapat menunjukkan file atau direktori sederhana, atau dapat menunjukkan objek yang lebih sulit, seperti kueri ke database atau mesin telusur. URL adalah rangkaian teks yang mengenali semua sumber di Internet, menunjukkan kepada kita alamat sumber, cara berinteraksi dengannya, dan memulihkan sesuatu darinya.

Komponen URL

Sebuah URL dapat memiliki banyak bentuk. Namun yang paling umum mengikuti sistem tiga komponen-

  • Protokol – Protokol dalam URL menentukan bagaimana informasi diangkut antara host dan klien (atau browser web).
  • Hostname – Nama host adalah nama perangkat tempat sumber daya berada.
  • Nama File – Nama file adalah nama jalur ke file di perangkat.
  • Nomor Port – Nomor port digunakan untuk mengidentifikasi berbagai aplikasi secara unik. Ini biasanya opsional.

Metode Kelas URL Java

Ada banyak metode di Kelas URL Java yang umum digunakan di Jaringan Java. Metode-metode ini adalah:

 No. Methods Keterangan
1 public String getProtocol() Metode ini mengembalikan protokol yang digunakan oleh URL.
2 public String getHost() Metode ini mengembalikan nama host URL dalam komposisi IPv6.
3 public int getPort() Metode ini mengembalikan port yang terkait dengan protokol yang ditentukan oleh URL.
4 public String getFile() Metode ini mengembalikan nama file.
5 public String getPath() Metode ini mengembalikan jalur URL, atau null jika kosong.
6 public String toString() Metode ini digunakan untuk mengembalikan representasi string dari objek URL yang disediakan.
7 public int getDefaultPort() Metode ini mengembalikan port default yang digunakan.

Contoh

import java.net.*;

 

public class URLclassExample {

 

    public static void main(String[] args)

        throws MalformedURLException

    {

 

        URL url = new URL(

            " https://codekey.id/java/java-collection/ ");

 

        String protocol = url.getProtocol();

 

        System.out.println("Protocol : " + protocol);

 

        String host = url.getHost();

 

        System.out.println("HostName : " + host);

 

        String fileName = url.getFile();

 

        System.out.println("File Name : " + fileName);

    }

}

Temukan lebih banyak artikel seri belajar Java maupun bahasa pemrograman lainnya hanya di CODEKEY. Klik https://codekey.id/ sekarang juga untuk langsung belajar gratis. Sampai bertemu lagi!


Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.

Jasa Pembuatan Aplikasi

Jasa Pembuatan Website

Jasa Pembuatan Paket Aplikasi

Jasa Pembuatan Internet Marketing

Tutorial

Subscribe Sekarang

Dapatkan beragam informasi menarik tentang bahasa pemrograman langsung melalui email Anda. Subscribe sekarang dan terus belajar bersama kami!

Blog Post Ranking 10

Tutorial PHP 22 : Cara Membuat Redirect PHP dengan Cepat dan Mudah

Jika Anda melakukan browsing di browser kesayangan Anda, mungkin Anda pernah melihat link yang berisikan “php redirect” atau yang...

Tutorial PHP 23 : Cara Membuat Messages Alert PHP

Alert box atau alert messages digunakan di situs web untuk menampilkan pesan peringatan kepada pengguna bahwa mereka telah memasukkan...

Tutorial PHP 2 : Cara Install PHP, Langkah Awal Belajar PHP

PHP adalah bahasa pemrograman gratis dan open source. Secara teknis tidak perlu menginstal PHP: sebagian besar host web dan...

Tutorial Python 9 : Cara Membuat Looping Python

Pada artikel sebelumnya, Codekey telah menjelaskan tentang Operasi Kondisional Python yang di dalamnya menyinggung tentang percabangan dan perulangan. Belajar...

Tutorial HTML/CSS 23 : Cara Membuat Form Sederhana dengan HTML

Form memiliki peran yang sangat krusial bagi website atau aplikasi untuk menjaga sistem keamanannya. Form HTML digunakan untuk mengumpulkan...

Tutorial SQL 8 : Constraint SQL, Bagaimana Fungsi dan Penggunaannya?

Pada artikel sebelumnya Anda telah mempelajari tentang wildcard SQL, pada artikel kali ini kami akan menjelaskan tentang constraint SQL. Jika...

Tutorial Javascript 8 : Array Javascript, Panduan Lengkap Cara Membuatnya

Seperti bahasa pemrograman yang berorientasi objek lainnya, dalam JavaScript juga terdapat array. Jika Anda memiliki banyak objek yang ingin...

Tutorial SQL 20 : Mari Pelajari Cara Menggunakan Fungsi GROUP by SQL

Pada pembahasan seri Tutorial SQL ke- 20 ini, Codekey akan membahas tentang GROUP BY yang merupakan statement di dalam...

Tutorial Python 7 : Python String Format dan Cara Mudahnya

Anda ingin belajar Python dan ingin menjadi ahli dalam bahasa pemrograman Python? Mari belajar bersama Codekey! Pada pembahasan kali...

Tutorial Python 8 : Langkah Mudah Membuat Operasi Kondisional pada Python

Pada pembahasan sebelumnya, Codekey telah menjelaskan kepada Anda tentang pengoperasian string pada Python mulai dari menggabungkan hingga memanipulasi string...

Bisnis

Online Service

Peluang Bisnis

Model Bisnis

Entrepreneurship

Uang

Ketrampilan

Outsourcing

Monetize

Pemasaran

SEO

Internet Marketing

Dasar Pemasaran

Strategi Pemasaran

Situs Web Analitik

Iklan

Teknologi

Teknologi Terbaru

AI

Komputer

Jaringan

Paling Sering dibaca
Mungkin Anda Menyukainya