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
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