Sunday, 24 May 2015

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


Thursday, 21 May 2015

Jenis-jenis angka atau bilangan

Semua bilangan dari 0 sampai tidak terhingga adalah bilangan:
1. Genap
2. Ganjil
3. Genap dan ganjil, atau
4. Prima

 

0. Bilangan Prima

Bilangan prima adalah bilangan yang tidak habis dibagi bilangan lain selain dirinya sendiri tidak juga dengan kelipatannya.

1. Bilangan genap dan ganjil

Bilangan genap
Bilangan yang habis dibagi 2.
Bilangan yang dibagi 2 tidak berkoma.
Bilangan yang dibagi 2 tidak menghasilkan pecahan atau,
Bilangan yang dibagi 2 tidak bersisa / mempunyai sisa.

Bilangan ganjil
Bilangan yang tidak habis dibagi 2. Setiap bilangan ganjil jika dibagi dua akan menghasilkan bilangan pecahan (bilangan berkoma). Setiap bilangan ganjil jika dibagi dua akan menghasilkan sisa.

Jadi hanya bilangan ganjil yang mempunyai remainder atau modulo-nya lebih besar 0 karena bilangan genap remainder/modulonya 0.

2. Bilangan bulat dan pecahan

  • Bilangan bulat adalah bilangan tanpa koma atau utuh. Contoh:
    • 1
    • 2
    • 3
    • 4
    • dan lain-lain.
  • Bilangan pecahan adalah bilangan yang tidak utuh atau berkoma atau bilangan mempunyai koma dan nilai dibelakang koma bukan 0. Contoh: 
    • 1,2
    • 2,4
    • 4,7
    • 3,14
Bilangan pecahan mempunyai properti atau terdiri atau tersusun dari: bilangan bulat (depan koma) dan bilangan pecahannya (belakang koma)

Untuk mengambil bilangan bulat (nilai yang ada di depan koma) dari suatu bilangan pecahan, bulatkan bilangan itu kebawah (rounded down atau rounded floor).

Untuk mengambil nilai pecahan (nilai yang ada di belakang koma) dari suatu bilangan pecahan, nilai nilai asli dikurangi nilai rounded down diatas.
Contoh:
a = 3.14
x = a - Math.Floor(a)
TextWindow.WriteLine(x)

Jika bilangan ganjil adalah

Bilangan berkoma itu komanya bermakna atau mempunyai makna.

Di dalam programming kamu dibutuhkan untuk mengambil nilai bulat dari suatu bilangan pecahan (disebut floor atau ceiling), nilai sisa pembagian (disebut modulo atau remainder) dan nilai dibelakang koma hasil pembagian.

Sisa bagi semua bilangan dengan 2 kalau tidak 0 ya 1.

Quiz

1. Berapakah sisa bagi 0 dan 2?

2. Berapakah nilai bulat bagi 0 dan 2?
 Jawab: 0, karena hasil bagi 0 dan 2 adalah 0, jadi nilai bulat hasil bagi 0 dan 2 adalah 0 juga.

3. Berapakah hasil bagi 0 dan 2?
Jawab : 0, karena tidak ada yang dibagi maka tiap-tiap pembagi tidak dapat apa-apa.

decimal = 0
TextWindow.WriteLine("Math.floor : " + Math.Floor(decimal/2))
TextWindow.WriteLine("Math remainder : " + Math.Remainder(decimal,2))

4. Jika sisa bagi antara suatu bilangan dengan bilangan yang lain adalah 0 berarti?
Jawab: bilangan yang dibagi adalah kelipatan dari bilangan yang membagi

5. Sebutkan bilangan prima yang habis dibagi dengan kelipatannya
Jawab: Tidak ada

Wednesday, 20 May 2015

Supernetting

> menyatukan 2 atau lebih subnet
> membutuhkan blok address bukan host address
> menimpa
> membutuhkan blok address yang contiguous lebih baek

Subnetting

Tujuan subnetting adalah mencuri satu atau dua atau lebih bit dari sejumlah/sekumpulan bit host original. Tujuan mencuri adalah untuk mendirikan segmen-segmen baru.

Misal anda adalah network administrator, diberikan sebuah space/ruang/blok alamat ip address 192.168.1.0/25 (bukan /24, berarti ini adalah hasil dari subnetting lagi, dan kenapa ini disebut space/ruang/blok alamat IP, karena ini terdiri dari sekumpulan/sebrendengan 2^7 alamat IP atau 128 alamat IP) oleh bos anda, maka buatlah 2 buah segmen lagi.

Jawab:
192.168.1.0/25
1. Maksimum address: /25
2. Jumlah group:
2^(/25 - /24) = 2^(1 bit) = 2 group
3. Subnet keberapa?