Programming, tutorials, mechatronics, operating systems, dan artikel teknologi lainnya.

Membuat kalkulator IP Address menggunakan java netbeans 8

3 komentar

Tutorial kali ini adalah video tutorial, berikut hanya saya lampirkan source code yang digunakan dalam tutorial ini. Untuk step by step nya, silahkan anda stream di youtube (karena lumayan agak panjang).

int prefix=Integer.valueOf(mask.getText());
int pos=prefix/8; //important octet position
int rem=prefix % 8; //binary digit of importan octet

String binIpFull="";
String subBinary="";
String subBinaryFull="";
String binnetidFull="";
String binbcidFull="";
String netmaskFull="";
String netidFull="";
String bcidFull="";

//loop to generate binary mask from octet pos
for(int i=1;i<=8;i++){
if(i<=rem){
subBinary+="1";
}else{
subBinary+="0";
}
}

//netmask (integer version of subBinary
int netmask=Integer.parseInt(String.valueOf(subBinary),2);

//ip octets array
int[] oct={
Integer.valueOf(oct1.getText()),
Integer.valueOf(oct2.getText()),
Integer.valueOf(oct3.getText()),
Integer.valueOf(oct4.getText())
};

//binary of important octet
String binOct=String.format("%8s",Integer.toBinaryString(oct[pos])).replace(' ','0');

String binNetId="";
String binBcId="";

for(int i=0;i<8;i++){
String binPointer=subBinary.substring(i,i+1);
if(binPointer.equals("1")){
binNetId += binOct.substring(i,i+1);
binBcId += binOct.substring(i,i+1);
}else{
binNetId += "0";
binBcId += "1";
}
}

//loop to generate display-ready strings
for(int i=0;i<=3;i++){
binIpFull += String.format("%8s",Integer.toBinaryString(oct[i])).replace(' ','0');
if(i<pos){ ="" subbinaryfull+="11111111" ;="" netmaskfull="" +="255" binnetidfull="" ','0');="" binbcidfull="" netidfull="" bcidfull="" ="" }else="" if(i="">pos){
subBinaryFull+="00000000";
netmaskFull += "0";
binnetidFull+="00000000";
binbcidFull += "00000000";
netidFull += "0";
bcidFull += "1";
}else{
subBinaryFull+=subBinary;
netmaskFull += String.valueOf(netmask);
binnetidFull+=binNetId;
binbcidFull+=binBcId;
netidFull+=Integer.parseInt(String.valueOf(binNetId),2);
bcidFull+=Integer.parseInt(String.valueOf(binBcId),2);
}
if(i!=3){
subBinaryFull+=".";
netmaskFull+=".";
binnetidFull+=".";
binbcidFull+=".";
netidFull+=".";
bcidFull+=".";
binIpFull+=".";
}
}
subBinLabel.setText(subBinaryFull);
netMaskLabel.setText(netmaskFull);
netBinLabel.setText(binnetidFull);
bcBinLabel.setText(binbcidFull);
netIdLabel.setText(netidFull);
bcIdLabel.setText(bcidFull);
ipBinLabel.setText(binIpFull);



Videonya bisa anda saksikan disini:



3 komentar :


  1. mo nanya, saya kan input IP nya tidak di split jadi 4 bagian (langsung 0.0.0.0 dalam 1 textfield) untuk syntax maskingnya gimana ya? trims

    BalasHapus
    Balasan
    1. Bisa menggunakan String.split() seperti pada halnya ketika memotong-motong string menjadi array. Seperti pada referensi berikut https://stackoverflow.com/questions/16773599/explode-and-implode-just-like-php-in-java

      Hapus
  2. no esta el codigo completo, podrian poner todo completo?

    BalasHapus