Rabu, 08 September 2021

Pengenalan Nerwork Programming MyServer, MyClient, GetName dan IptoName

 Pengenalan Nerwork Programming💻

MyServer, MyClient, GetName dan IptoName

    Assalamualaikum, hallo sahabat ngoding pada artikel kali ini akan membahas menegenai komunikasi antara client server, untuk lebih jelasnya bisa dilihat dibawah ini langkah-langkahnya.

1. Penjelasan Network Programming

    Network programming atau sering disebut socket programming. Socket adalah titik komunikasi dari lalu lintas komunikasi antar proses di dalam sebuah jaringan komputer. Hampir semua komunikasi antar komputer sekarang berdasarkan protokol internet, oleh karena itu hampir semua socket di jaringan komputer adalah Socket Internet. Socket adalah sebuah Class yang disediakan oleh beberapa bahasa pemrograman. Sebuah alamat socket terdiri atas kombinasi sebuah alamat ip dan sebuah 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. 
    Socket programming adalah pemrograman yang menggunakan socket. Socket ini seperti terowongan/tunnel yang bisa dipakai untuk komunikasi/pertukaran arah secara bolak-balik. Dengan socket programming, komunikasi dapat terjalin antara bahasa pemrograman yang berbeda, antara tingkatan user yang berbeda, bahkan antar komputer yang berbeda atau gabungan ketiganya.
    Java Socket programming sendiri digunakan untuk komunikasi antar banyak aplikasi yang berjalan pada JRE yang berbeda. Pada prinsipnya untuk pemrograman dapat mengikuti socket programming membutuhkan 2 (dua) hal  penting yang harus diketahui yakni :

1. Alamat IP dari server

2. Nomor port

    Dengan mengetahui kedua hal tersebut, selanjutnya  akan melihat bagaimana aplikasi client server searaha dimana client mengirim pesan, dan server menerima kemudian server menerima dan menampilkan ke monitor. Berikut adalah 2 (dua) kelas menggunakan Socket dan ServerSocket. Class Socket digunakan untuk berkomunikasi antara client dan server. Dimulai dari class ini, bisa memebaca dan menulis pesan. Sedangkan class ServerSocket digunakan pada sisi server. Method accept() pada class ServerSocket akan menunggu hingga client terhubung. Setelah client sukses terhubung, kemudian akan memberikan nilai balikan instan dari Socket pada sisi server. Class ServerSocket dapat digunakan untuk membuat socket server. Objek ini dapat secara stabil berkomunikasi dengan banyak client.


2. Class MyServer.java

    Langkah pertama membuat instan dari class ServerSocket, selanjutnya server aktif dengan socket 6666 dan selanjutnya menunggu client untuk terhubung dengan server. Sedangkan pada sisi client  akan membuat instant dari class Socket. Disini  memerlukan IP address atau nama host dari server dan nomor port yang diaktifkan oleh server. Disini untuk programnya menggunakan Netbeans .
    Buka Netbeans kemudian pilih projek baru dengan nama MyServer kemudian lakukan poemogramannya seperti : 
Penjelasan Sourcode :
a.  import java.io.*; digunakan untuk membaca dan input dan output seluruh masukan dan keluaran
b. import java.net.*;  Digunakan dalam Membuat suatu Komunikasi Jaringan dalam sebuah program yang dibuat dengan bahasa pemrograman Java.
c.  ServerSocket ss = new ServerSocket(6666); port 6666 untuk interaksi diantara pelanggan dan server.
d.  System.out.println("message= " + str); data output yang akan keluar.

Setelah selesai membuat server maka selanjutnya membuat ServerClient untuk komunikasinya 

3. Class MyClient.java
    untuk membuat client servernya menggunakan syntax seperti berikut : 
Penjelasan sourcode : 
a.  import java.io.*; digunakan untuk membaca dan input dan output seluruh masukan dan keluaran
b.  import java.net.*;  Digunakan dalam Membuat suatu Komunikasi Jaringan dalam sebuah program yang dibuat dengan bahasa pemrograman Java.
c.  Socket s = new Socket("localhost", 6666); untuk membuat sebuah stream socket dan koneksi ke suatu nomor port pada sebuah computer yang memiliki alamat IP .
d. DataOutputStream dout = new DataOutputStream(s.getOutputStream()); Kelas DataOutputStream adalah membuat aliran keluaran untuk mengirim respons ke server
e. dout.writeUTF("Hello Server"); digunakan nanti pada saat komunikasi client server pada server akan muncul teks berupa "hello server"

4.  Cara Menjalankan Program 
    a. Masuk ke local penyimpanan program netbeans, kemudian klik kanan pada src kemudian get bash here

    b. Setelah masuk cek untuk MyServer dan MyClient  dengan cara
        panggil terlebih dahulu MyServer dan Client dengan perintah javac.MyServer.java untuk server, untuk pemangilan client menggunakan javac MyClient.java kemudian setelah di panggil masukkan lagi untuk berkomunikasi client server, untuk Server menggunakan java MyServer, dan untuk client menggunakan java MyClient kemudian enter makan pada server akan muncul teks berupa "Hello server" seperti gambar dibawah ini



5. GetName
    GetName untuk mengetahui nama dari komputer yang sedang di gunakan. Untuk membuatnya sma seperti MySErver dan Client diatas, pada netbeans buat class baru dengan nama GetName dengan source code :
Penjelasan source code :
a. import java.net.*; Digunakan dalam Membuat suatu Komunikasi Jaringan dalam sebuah program yang dibuat dengan bahasa pemrograman Java.
b. InetAddress host = null; merupakan InetAddress yang berfungsi mengambil alamat ip pada suatu komputer.
c. System.out.println("Nama komputer Anda :"+ host.getHostName()); untuk memanggil nama komputer yang dipakai
    Untuk hasil outputnya seperti gambar dibawah ini, maka akan muncul teks berupa Nama Komputer Anda adalah Arif.

6. IptoName
    IptoName ini digunakan untuk mengetahui nama komputer dari ip address. Untuk mengetahui nya menggunakan syntax sebagai berikut :


Penjelasan source code :
    Pada source code diatas terdapat import package , kemudian mendefinisikan nama class yaitu getName serta static void main yang berguna untuk menjalankan code yang berada didalamnya. Terdapat kondisi yang menyatakan apabila penggunaan fungsi ini salah digunakan maka akan keluar tampilan “Pemakaian : java IPtoName <IP address>”, jadi kita harus tahu dulu IP Address yang terdapat pada PC kita. Kemudian Untuk mendapatkan username dari PC kita digunakan host.getHostName() maka secara otomatis akan membaca username dari PC kita yang sudah dicocokan dengan IP Address apabila IP Address yang dimasukkan salah maka akan muncul tampilan “Invalid IP ”, kemudian untuk mencetak digunakanlah perintah System.out.print(); atau System.out.println; setelah di run program melalui get maka tidak akan muncul, seperti gambar dibawah ini :
Untuk itu harus mengetahui terlebih dahulu ip pada pc atau laptop yang dipakai dengan cara ctrl+r masuk ke cmd kemudian ketik ipconfig maka akan muncul ip pada pc yang digunakan seperti gambar dibawah ini :
Maka akan muncul nama komputer dengan cara pemanggilan ip addres pada komputer.

7. Mengganti Nama LocalHost Pada PC/Laptop 
    Untuk mengganti local host pada komputer langkah awal yang harus di ketahui adalah lokasi penyimpanan etc pada pc/laptop, untuk mengetahui masuk ke Drive c >> windows>>System32>> drives>> etc maka akan muncul seperti berikut : 
    Pada file hots copy ke dekstop kemudian buka menggunakan notpatt setelah itu tambahkan nama local host sesuai keinginan seperti gambar dibawah ini : 
    Disini saya menggunakan nama "Desy" untuk name host nya, setelah selesai kemudian save dan file ini di drag and drop ke file awal yaitu di hosts kemudian apply setelah selesai untuk cek nama local host tadi masuk ke get here kemudian ketik IptoName <ip address> enter IptoName 127.0.0.1 enter maka akan muncul nama local host adalah "Desy" 

setelah selesai jika inggin mengecek ip public DNS google dengan cara IptoName 8.8.8.8 maka akan muncul seperti berikut : 


Sekian artikel kali ini semoga dapat membantu dan mempermudah dalam proses pengerjaan tugas maupun projek yang akan dibuat sekian wassalamualaikum Warahmatullahi Wabarakatuh...




~SEMOGA BERMANFAAT 💓💗💘~