Tuesday 26 May 2015

There a lot change in my code

pertanyaanawal()
 ipprefixdetektor()
 maskdetektor()
 processing()

 Sub pertanyaanawal
  TextWindow.WriteLine("1. Please enter the IP address group :")
  d = TextWindow.Read()
  TextWindow.WriteLine("")
  TextWindow.WriteLine("2. Please enter the slash (/). Can be number between 0 to 32 : ")
  s = TextWindow.Read()
EndSub


Sub ipprefixdetektor
'Memproses / mengolah prefix IP. Output sub : variabel f,g,h,i, input : variabel d
'1.1 Mengambil satu karakter persatu karakter dari IP prefix (termasuk tanda titik)
For i=0 To Text.GetLength(d)
  c[i] = text.GetSubText(d,i,1)
EndFor

'1.2 menandai posisi titik IP prefix dengan cara mengambil posisinya
j = 0
'untuk i = 0 hingga jumlah dari array c (jumlah angka IP prefix kan berubah-ubah)
For i = 0 To Array.GetItemCount(c)
  'TextWindow.WriteLine(c[i])
  If c[i] = "." Then
    e[j]=i
    'TextWindow.WriteLine(e[j])
    j = j + 1
  EndIf
EndFor


'menyimpan kedalam variabel f, g, h, dan i angka-angka yang dibatasi letak/posisi titik (e[0],...)

oct[0] = Text.GetSubText(d,1,e[0]-1)
oct[1] = Text.GetSubText(d,e[0]+1,e[1]-e[0]-1)
oct[2] = Text.GetSubText(d,e[1]+1,e[2]-e[1]-1)
oct[3] = Text.GetSubTextToEnd(d,e[2]+1)

EndSub


Sub maskdetektor
floor_s = Math.Floor(s/8)
i = 0
if floor_s <> 0 Then
For i = 0 To floor_s - 1
  mask[i] = 255
EndFor
EndIf

sisa_s = Math.Remainder(s,8)
kurang_8 = 8 - sisa_s
powkurang_8 = Math.Power(2,kurang_8)
nil = 256 - powkurang_8
mask[i] = nil

i = i + 1
loop = 4 - i
If loop <> 0 then
For j = 0 To loop
  mask[i] = 0
  i = i + 1
EndFor
EndIf
EndSub

Sub processing
   For j = 0 to 3
 var1 = oct[j]
 var2 = mask[j]
 dectobiner()
 hasil[j] = dec
 TextWindow.WriteLine(hasil[j])
endfor
EndSub


Sub dectobiner
  For i = 0 To 7
    b[i] = 0
  EndFor
 
  TextWindow.WriteLine("Var 1 : " + var1)
  i = 0
  While var1 > 1
    b[i] = Math.Remainder(var1,2)
    var1 = Math.Floor(var1/2)
    i = i + 1
  EndWhile
  b[i] = var1
  For i = 0 To 7
    TextWindow.WriteLine("b[i] : " + b[i])
  EndFor
 
 
  i = 0
  While var2 > 1
    c[i] = Math.Remainder(var2,2)
    var2 = Math.Floor(var2/2)
    i = i + 1
  EndWhile
 
  c[i] = var2
  For i = 0 To 7
    TextWindow.WriteLine("c[i] :" + c[i])
  EndFor
 
 
  For i = 0 To 7
    If b[i] = c[i] Then
      d[i] = 1
    Else
      d[i] = 0
    EndIf
    TextWindow.WriteLine("d[i] : "+d[i])
    EndFor

    dec = 0
      For i = 0 To 7
        dec = dec + d[i] * Math.Power(2,i)
      EndFor
 
EndSub

No comments:

Post a Comment