Tuesday, 26 May 2015

How to use Windows task manager

Average user pengguna window menggunakan window task manager untuk mematikan secara memaksa (force) program yang tidak responding / hang.

Tapi window task manager bisa digunakan juga untuk melihat besar memori yang dipakai program saat running. Misalkan aku telah membuat dua buah program algoritma / caranya berbeda tapi mengerjakan tugas yang sama, aku mau lihat program mana yang lebih ringan untuk dijalankan atau digunakan berdasarkan jumlah memori yang dipakai / dikonsumsi.



XOR,AND dan OR ladies and gentlemen

Congratulations you accidentally unleash the logic of XOR
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

Yang ini gw gak tau
  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

AND
   For i = 0 To 7
    If b[i] = 1 and c[i] = 1 Then
      d[i] = 1
    Else
      d[i] = 0
    EndIf
    TextWindow.WriteLine("d[i] : "+d[i])
    EndFor

OR
  For i = 0 To 7
    If b[i] = 0 and c[i] = 0 Then
      d[i] = 1
    Else
      d[i] = 1
    EndIf
    TextWindow.WriteLine("d[i] : "+d[i])
    EndFor

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
 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 dectobiner
  While a > 1
    b[i] = Math.Remainder
    a = Math.Floor(a/2)
    i = i + 1
  EndWhile
  b[i] = a
EndSub

Monday, 25 May 2015

Decimal to Binary dan Binary to Decimal

Decimal to Binary
Apa itu konversi bilangan desimal ke bilangan biner?

Konversi dari decimal ke biner adalah proses menyimpan sisa bagi suatu bilangan desimal dengan 2 kedalam suatu variabel dan membagi bilangan dengan dua, berulang-ulang hingga angka bilangan desimal itu menjadi 1 atau berhenti ketika angka bilangan itu telah menjadi 1 dan menambahkan angka 1 itu kedalam bit biner berikutnya -- Sulit diungkapkan dengan kata-kata lebih mudah dipraktekkan.

Bagaimana caranya mengkonversi?

Jadi algoritmanya sebagai berikut
1. Taruh angka desimal yang akan diproses kedalam suatu gelas berjudul decimal
2. Taruh jumlah yang sama dari isi gelas decimal kedalam gelas berjudul a
3.

Contoh program:
decimal = 5
i = 0
a = decimal

While a > 1
  b[i] = Math.Remainder(a,2)
  a = math.Floor(a / 2)
  i = i + 1
EndWhile
b[i] = a

 

Binary to Decimal
Apa itu konversi dari bilangan desimal ke bilangan biner?
Konversi dari bilangan desimal ke bilangan biner adalah

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

Sunday, 24 May 2015

Once you master IP addressing, other is piece a cake.

192.168.1.1 /16

1. Mencari expanding bit
expanding bit = defmask - masksaatini
expanding_bit = 24 - 16 =

2. Mencari besar ukuran blok
bloksize = 2 ^ (8 - expanding_bit)
bloksize = 2 ^ 16 =  65536

3. Menentukan interesting octet
Berdasarkan besar angka prefix atau letak prefix terakhir.
Interesting octet ini adalah octet yang berubah nilainya jika di AND kan dengan subnetmask.

jika angka prefixnya 8, maka interesting octetnya octet ke-2, 3, dan 4.
jika angka prefixnya 16, maka interesting octetnya octet ke 3, dan 4.
jika angka prefixknya 24, maka interesting octetny octet ke-4.

jika angka prefix 0 - 7, maka interesting octetnya octet ke-1, 2, 3 dan 4. Contoh jika prefixnya /1, maka interesting octetnya octet 1, 2, 3, dan 4.

jika angka prefix 9 - 16, maka interesting octetnya octet ke-3 dan 4.
jika angka prefix 17 - 24, maka interesting octetnya octet ke-3.
jika angka prefix 25-  32, maka interesting octetnya octet ke-4.

4. Menentukan apakah dia supernetting atau subnetting
Berdasarkan besar nilai expanding_bit. Kenapa?
jika expanding_bit < 0, maka supernetting
jika expanding_bit > 0, maka subnetting

4. Xebelum menentukan alamat subnet kita tentukan dulu nomor subnet diatas
nomor_subnet = membulatkan kebawah nilai (octet dari interesting octet / blocksize)

4. Menentukan alamat subnetnya
nilai octet yang baru = nomor_subnet * blocksize

5. Menentukan apakah dia memasukan host atau subnet


'Main program
pertanyaanawal()
ipprefixdetektor()
maskdetektor()
interestingoctet()
analyzing()

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 analyzing
  If f >= 128 And f <= 191 Then
  TextWindow.WriteLine("You entering a class B address. A class B address is 1st octet started from 128 to 191. ")
  defmask = 16
EndIf

If f >= 192 And f <= 223 Then
  TextWindow.WriteLine("You entering a class C address. A class C address is 1st octet started from 192 to 223. ")
  defmask = 24
EndIf

If f >= 224 And f <= 239 Then
  TextWindow.WriteLine("You entering a class D address")
  TextWindow.WriteLine("This block is dedicated to Multicasting and Newsgroup.")
EndIf

If f >= 240 And f <= 255 Then
  TextWindow.WriteLine("You entering a class E address.")
  TextWindow.WriteLine("This block is dedicated to Research and Development.") 
EndIf

If f > 255 Then
  TextWindow.WriteLine("You enter wrong an IP address ")
EndIf

expandbit = s - defmask
blocksize = Math.Power(expandbit, 2)

If f / blocksize <> 0 Then
  host_id =
 
EndIf


TextWindow.WriteLine("Interesting octet : octet" + intoct)
EndSub

If s > defmask Then
  'your are subnetting
  'your host id is
  'your subnet id is
  'you are subnet number ...
  'there are .... subnets in this group
EndIf
If s = defmask Then
EndIf
If s < defmask Then
EndIf

Sub interestingoctet
If s > 25 then
  intoct = 3
  'interesting octetnya octet keempat
ElseIf s >= 16  and s < 24 then 
  intoct = 2
  'interesting octetnya octet ketiga
elseif s >= 8 and s < 16 then
  intoct = 1
  'interesting octetnya octet kedua
elseif s >= 0 and s < 8 then
  intoct = 0
  'interestin octetnya octet pertama
Else
  TextWindow.WriteLine("error")
EndIf
EndSub