Tampilkan postingan dengan label Praktek. Tampilkan semua postingan
Tampilkan postingan dengan label Praktek. Tampilkan semua postingan

Java Client Server on LAN

Di Artikel terdahulu, saya sudah memberikan contoh bagaimana kita meprogram socket dengan Java. Di artikel terdahulu, kita sudah bisa membuat program chatting yang jalan di client dan server, namun kita masih mencobanya di satu komputer, dengan nama memakai host localhost.
nah sekarang
kita akan mencoba menjalankan file yang sama (ChatClient.java dan ChatServer.java) agar bisa digunakan untuk chatting antar komputer di jaringan Local Area Network (LAN). Kita lihat topologi sederhana sebuah LAN di bawah ini:
Kita akan membuat antar Workstation bisa saling berkomunikasi/chatting. Caranya: 1. Kita harus menentukan mana yang akan jadi server chatting dan mana yang akan kita jadikan client 2. Setelah ditentukan, kita pindahkan file ChatServer.java ke workstation yang ingin kita jadikan server 3. Kita pindahkan file ChatClient.java ke workstation yang akan kita jadikan client 4. Kita harus ingat alamat IP/IP Address dari server, alamat IP ini yang akan kita gunakan untuk mengganti localhost 5. Kita ambil contoh IP Server adalah 192.168.1.1, maka untuk mengaktifkan Chat Server dengan cara:
 C: java ChatServer 9901  
6. Kita jalankan Client Chat di workstation yang lain dengan cara:
 C: java ChatClient 192.168.1.1 9901  
Dengan begitu, kita bisa chatting dengan sesama workstation di satu jaringan LAN. Mudah Bukan???? Semoga bermanfaat.

Input Validation

Kadang dalam membuat program kita harus membuat Input Validation yang berguna untuk meminimalisasi kesalahan input dari user. Contohnya, kita akan membuat validasi inputan dari keyboard. Inputan yang diijinkan hanya beruapa angka 1 sampai 3 atau 1..3 saja. jadi inputan user yang diijinkan hanya berupa angka 1,2, atau 3 saja. Bagaimna caranya? Kita langsung lihat contoh di bawah ini:
1:  import java.util.Scanner;  
2:  import java.io.*;  
3:  public class pos_sederhana{  
4:  public static void main(String[] args){  
5:   String barang;  
6:   int qty,price;  
7:   Scanner inputText=new Scanner(System.in);  
8:   Scanner inputInt=new Scanner(System.in);  
9:   System.out.print("Input a Goods Name: ");  
10:   barang=inputText.nextLine();  
11:   System.out.print("Input Price: Rp ");  
12:   price=inputInt.nextInt();  
13:   do{  
14:   System.out.print("Input Quantity: [1..3]");  
15:   qty=inputInt.nextInt();  
16:   }while(qty<1 || qty>3);  
17:   }  
18:  }  
Pertama kita harus melakukan import Scanner untuk mengaktifkan fungsi input dari keyboard dengan cara mengetikkan import java.util.Scanner. Kita juga harus membuat instanisasi dari Scanner untuk input dari system, yaitu pada baris 7:

7:   Scanner inputText=new Scanner(System.in);  
8:   Scanner inputInt=new Scanner(System.in);  

Nah, kita akan membuat sebuah validasi input yaitu untuk menginput qty. yangdiijinkan hanya 1..3. Caranya adalah:

13:   do{  
14:   System.out.print("Input Quantity: [1..3]");  
15:   qty=inputInt.nextInt();  
16:   }while(qty<1 || qty>3);  
Nah, sekarang kita sudah bisa membuat input validation yang sederhana. Semoga bermanfaat.

Java Inheritance/Pewarisan bag.2

Di sini kita akan memberikan contoh lain dari proses pewarisan di Java:
1:  class mahasiswa  
2:  {  
3:  public String nama="Joni";  
4:  }  
5:  class mhscuti extends mahasiswa  
6:  {  
7:  String nama="Amir";  
8:  public void cetak(String nama)  
9:  {  
10:   System.out.println(nama);  
11:   System.out.println(this.nama);  
12:  System.out.println(super.nama);  
13:  }  
14:  }  
15:  public class kuliah  
16:  {  
17:  public static void main(String[] ar){  
18:  mhscuti t=new mhscuti();  
19:  t.cetak("Wati");  
20:  }  
21:  }  
Ayo.... siapa yang bisa tebak hasilnya seperti apa? Betul sekali. Hasilnya:
Wati
Amir
Joni
Ada yang bisa menjelaskan kenapa hasilnya seperti itu? OK. akan saya jelaskan.... Yang membedakan hasilnya adalah ada keyword this dan super. Apa itu this dan super di java? kita akan bahas 3 baris yang fungsinya menampilkan di layar:
1:   System.out.println(nama);  
2:   System.out.println(this.nama);  
3:  System.out.println(super.nama);  

Baris 1: ditampilkan isi dari attribut nama. attribut nama ini diambil dari passing attribut oleh method utama di class utamanya. Attribut nama menerima value berupa "Wati". jadi hasil dari baris pertama adalah "Wati". Baris2: ditampilkan isi dari attribut nama tapi memakai awalan this di awal attrributnya. Fungsi dari 'this' ini adalah untuk mengambil attribut yang dimiliki oleh class tersebut. Kita berada di class mshCuti. Maka attribut 'nama' di sini maksudnya adalah attribut yang dimiliki class mshCuti, yaitu 'Amir'. Baris 3: ditampilkan isi dari attribut 'nama' yang diawali 'super'. 'super' ini menunjukkan bahwa kita akan mengambil attribut yang dimiliki oleh s'super class' dari class yang sedang berjalan. super class dari clas mshCuti adalah class 'mahasiswa'. Maka attribut yang diambil adalah atribut yang dimiliki oleh class 'mahasiswa', sehingga hasilnya adalah 'Joni'. Semoga membantu yang, bagi yang masih bingung tentang inheritance, this, dan super

Java Inheritance / Pewarisan

Kita akan membahas tentang inheritance atau pewarisan di Java. Setiap class di prmorgraman Java merupakan sebuah hierarki class. Class satu merupakan bagian dari class yang lain sehingga membentuk tingkatan atau hierarki Class. Dikenal ada istilah super classes dan sub classes. sub classes merupakan bagian dari super class. Inheritance atau pewarisan merupakan istilah yang mendefinisikan bahwa semua sifat yang dimiliki supre class akan otomatis diwariskan ke semua sub classes-nya. Sifat yang diwariskan biasanya berupa attribute dan method. Untuk lebih jelasnya, kita akan bahas dalam bentuk contoh: Kita akan buat sebuah class dengan nama Coin. Program seperti di bawah ini:
1:  class Coin  
2:  {  
3:   int value;  
4:   public int getValue()  
5:   {  
6:   return value;       
7:   }       
8:  }  
Di atas kita sudah membuat sebuah class, dengan mthod getValue(). Method terwebut akan mengembalikan sebuah nilai integer. Selanjutnya kita akan membuat sebuah class lagi yang nantinya kita buat sebagai pewarisan dari class Coin. Programnya di bawah ini:
1:  class Quarter extends Coin  
2:  {  
3:   public Quarter()  
4:   {  
5:   value=25;       
6:   }       
7:  }  
di atas kita sudah menciptakan sebuah class Quarter yang diwariskan dari class Coin. Pewarisan tersebut terlihat dari keyword extends. Karena attribut yang ada di class Coin sudah diwariskan ke dalam class Quarter, maka class Quarter memiliki attribut yang sama dengan class Coin. Sehingga manipulasi terhadap attribut tersebut berlaku untuk kedua class. Selanjutnya, kita buat Class utamanya. sebagai berikut:
1:  public class TestInher  
2:  {  
3:   public static void main(String[] args)  
4:   {  
5:   Quarter q=new Quarter();  
6:   System.out.println("Value is "+q.getValue());       
7:   }       
8:  }  
Kita buat instanisasi dari class Quarter. Kita panggil method yang ada yaitu getValue(); Hasil nya bisa dilihat di bawah ini:
25

Piramid Star

Menampilkan bintang/asterisk segitiga

*
**
***
****
*****
******
*******
********
********* 
Mari kita bedah logika bagaimana kita bisa menempilkan gambar di atas secara logika java. Kita memerlukan 2 buah looping/perulangan. Perulangan pertama untuk mengulang baris (10 baris) dan perulangan kedua untuk mengulang kolom (10 kolom).

Kode java-nya bisa dilihat di bawah ini:

1:  class segitiga{  
2:  public static void main(String[] argument){  
3:   for(int i=1;i<=10;i++)  
4:   {  
5:    for(int j=1;j<=i;j++)  
6:    System.out.print("*");  
7:    System.out.println();  
8:   }  
9:  }  
10:  }  
Menampilkan Bilangan Ganjil
Tidak berbeda jauh dengan praktikum sebelumnya, yaitu menampilkan bilangan genap, bilangan ganjil juga memiliki logika yang sama dengan bilangan genap.
Bilangan ganjil adalah semua bilangan yang jika dibagi dengan dengan bilangan 2, maka sisa baginya adalah 1.

Kode Javanya bisa kita llihat di bawah ini:
1:  class genap{  
2:  public static void main(String[] argument){  
3:   //menampilkan bilangan genap dari 1 - 100  
4:   for(int i=1;i<=100;i++)  
5:   if(i%2==1)  
6:    System.out.print(i+" ");  
7:  }  
8:  }  
Hasilnya adalah: akan menampilkan bilangan ganjil dari 1 - 100.
Menampilkan Bilangan Genap
Pada praktikum kali ini, kita akan menampilkan seluruh bialngan genap dari 1-100.
Bilangan disebut bilangan genap jika bilangan tersebut kalau dibagi dengan bilangan 2 sisa baginya adalah 0.
Di fungsi matematika, sisa bagi dinyatakan dengan istilah modulus.
Di Bahasa Java, dikenal dengan syntax %

Jadi kita bisa mencari bilangan genap dengan cara:
bilangan % 2 ==0
Kode Javanya bisa kita llihat di bawah ini:
1:  class genap{  
2:  public static void main(String[] argument){  
3:   //menampilkan bilangan genap dari 1 - 100  
4:   for(int i=1;i<=100;i++)  
5:   if(i%2==0)  
6:    System.out.print(i+" ");  
7:  }  
8:  }  
Hasilnya adalah: akan menampilkan bilangan genap dari 1 - 100.