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 :
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
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.
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 💓💗💘~