Tuesday, 26 May 2015

 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


Playing Cheese and Programming

Playing cheese is about creativity there is no formula.
Programming is also about creativity there is no formula.

Saturday, 23 May 2015

Konversi

Konversi adalah mengubah dari sesuatu menjadi sesuatu. Contoh mengubah angka nilai hasil ujian murid sekolah menjadi huruf nilai / abjad nilai.

Btw, ada 2 tipe / jenis konversi yang penulis bisa temukan sampai saat penulisan, antara lain:
1. Konversi angka ke angka pakai rumus/persamaan/formula yang sudah diciptakan sebelumnya.
Contohnya seperti:
- mengubah derajat celcius ke derajat fahrenheit.
- mengubah Km ke Cm.
- dll.

2. Konversi angka ke huruf hampir tidak ada rumus, jadi pakai tabel saja yaitu tabel aturan konversinya.
Contohnya:
Pengkonversian nilai murid sekolah ke huruf abjad (A, B, C, D, E)

Tabel aturan konversinya

Friday, 22 May 2015

Waktu

Waktu adalah hal yang paling berharga.

Perbedaan waktu yang paling jauh adalah UTC +13:00 dan UTC -12:00.

1. Jika waktu di Indonesia adalah UTC + 07:00 dan waktu di Singapore adalah UTC +08:00, berapa perbedaan waktu di Indonesia dan Singapore?
Jawab:
08:00 - 07:00 = 01:00 jam (1 jam 0 menit)

Ingat perbedaan waktu tidak membantu anda dalam menentukan siapa yang lebih cepat.

2. Manakah yang lebih duluan/cepat waktu di Singapore atau Indonesia?
Jawab: