Wednesday 15 October 2014

Kerajinan tangan Small Basic: menempatkan shape pas ditengah graphic window

1. Buat ilustrasi

Ditentukan gambar sebagai berikut:
Diketahui nilai a, b, x dan y, tentukanlah nilai l dan nilai p

2. Lakukan sedikit aritmatika

Dari gambar bisa dibuat 2 buah persamaan yaitu:
a = 2 * l + y
b = 2 * p + x

Jadi:
l = (a - y ) / 2
p = (b - x) / 2
Ketemu sudah rumus untuk mencari nilai l dan nilai p.


3. Source code-nya:

'variabel yang digunakan primer dan variabel turunan (variabel yang menyimpan hasil
'dari pengoperasian variabel primer contoh: p = ( b - x ) / 2 dan l = (a - y) /2
'jadi p dan l adalah variabel turunan, sementara b, x, a dan y adalah variabel primer.
'variabel primer = b, x, a, y
'variabel turunan = p, l

a = 1000
b = 600
x = 200
y = 300

GraphicsWindow.Width = a
GraphicsWindow.Height = b

p = (a-x)/2
l = (b-y)/2

shapes = Shapes.AddRectangle(x,y)
Shapes.Move(shapes,p,l)


Untuk apa kelapa sawit digunakan

Teori Matriks

Penjumlahan matriks dari samping ke samping lagi

Teori Pasangan

1. Teori pemasangan 2 himpunan yang berbeda
2. Teori pemasangan 3 himpunan yang berbeda
3. Teori pemasangan terhadap 1 himpunan yang sama (mutual combination)

 

Teori 1 : pemasangan 2 himpunan yang berbeda

Aplikasi 1:
Diberikan setumpuk baju dan setumpuk celana. Buatlah daftar pasangan baju dan celana itu.
tumpukan baju = {baju1, baju2, baju3}
tumpukan celana = {celana1, celana2, celana3}

Jumlah pasangan = n1 x n2 = 3 x 3 = 9 pasangan.

Daftar pasangannya ya:
baju1 dan celana1
baju1 dan celana2
baju1 dan celana3
baju2 dan celana1
baju2 dan celana2
baju2 dan celana3
baju3 dan celana1
baju3 dan celana2
baju3 dan celana3


Berapakah pasangan yang pernah kamu pakai? 3 pasangan, misal.

Berapakah pasangan yang belum pernah kamu pakai? 9 pasangan - 3 pasangan = 6 pasangan atau dengan kata lain jumlah pasangan keseluruhan - jumlah pasangan yang telah kamu pakai.




Teori 2: pemasangan 3 himpunan yang berbeda

Aplikasi 1:
Kamu mempunyai setumpuk baju dan setumpuk celana. Buatlah daftar pasangan baju dan celana itu untuk 3 acara pesta.
tumpukan baju = {baju1, baju2, baju3}
tumpukan celana = {celana1, celana2, celana3}
kumpulan acara pesta = {pesta1, pesta2, pesta3}

Jumlah pasangan = n1 x n2 x n3 = 3 x 3 x 3 = 3^3 = 27 pasangan

Aplikasi 2:
Kamu mempunyai setumpuk baju dan setumpuk celana. Buatlah daftar pasangan baju dan celana itu untuk 2 acara pesta.
tumpukan baju = {baju1, baju2, baju3}
tumpukan celana = {celana1, celana2, celana3}
kumpulan acara pesta = {pesta1, pesta2}

Jumlah pasangan =
n1 x n2 x n3 = 3 x 3 x 2 = 18 pasangan

Teori 3: pemasangan terhadap 1 himpunan yang sama (mutual combination)

Aplikasi dunia nyata 1:
Diberikan 26 abjad alfabet dari A sampai Z. Buatlah kata yang bisa dibuat sebanyak 3 huruf.
Diberikan 26 abjad alfabet dari A sampai Z. Buatlah kata yang bisa dibuat sebanyak 2 huruf.
Diberikan 26 abjad alfabet dari A sampai Z. Buatlah kata yang bisa dibuat sebanyak 1 huruf.

Aplikasi dunia nyata 2:
Diberikan 10 karakter angka dari 0 sampai 9. Buatlah angka-angka yang bisa dibuat sebanyak 4 digit.
Diberikan 10 karakter angka dari 0 sampai 9. Buatlah angka-angka yang bisa dibuat sebanyak 3 digit.
Diberikan 10 karakter angka dari 0 sampai 9. Buatlah angka-angka yang bisa dibuat sebanyak 2 digit.
Diberikan 10 karakter angka dari 0 sampai 9. Buatlah angka-angka yang bisa dibuat sebanyak 1 digit.

Aplikasi dunia nyata 3:
Terdapat sejumlah tanaman: lidah buaya, bawang merah, cabe rawit, daun kates, daun windi, daun pucuk merah,  daun bangun-bangun, selada, bayam merah. berapa banyak variasi makanan / masakan yang bisa kamu buat?
lidah buaya saja
bawang merah saja
cabe rawit saja
daun kates saja
daun windi saja
daun pucuk merah saja,
daun bangun-bangun saja
selada saja
bayam merah saja
lidah buaya + bawang merah
lidah buaya + cabe
lidah buaya + daun kates
lidah buaya + daun windi
lidah buaya + daun pucuk merah
lidah buaya + daun bangun-bangun
lidah buaya + selada
lidah buaya + bayam merah
lidah buaya + bawang merah + cabe rawit
lidah buaya + bawang merah + daun kates
lidah buaya + bawang merah + daun windi
lidah buaya + bawang merah + daun pucuk merah
lidah buaya +


Aplikasi pencari/pendata informasi:
Jika lidah buaya mengandung karsinogen kadar 0.5 di pegunungan, dan mengandung karsinogen level 0.8 di daerah dataran. Buatlah daftar himpunannya:
tumbuhan = {lidah buaya}
kadar karsinogen = {0.5, 0.8}
tempat daerah = {pegunungan, dataran}

3a. Permutasi dan kombinasi

Permutasi dan kombinasi sama-sama bergerak/bermain dalam 1 himpunan.

Kombinasi menghasilkan elemen yang berbeda.

Permutasi ada kemungkinan menghasilkan elemen yang sama.

Jadi kombinasi adalah permutasi yang dihapuskan elemen yang sama.

Tuesday 14 October 2014

Hubungan antar variabel

Beberapa hubungan antar variabel
1. Berbanding terbalik
2. Berbanding lurus
3. Berbanding logaritmik
4. Berbanding sinusoidal

1. Hubungan variabel berbanding terbalik

KPK dan FPB

KPK
Mencari kelipatan suatu angka yang juga merupakan kelipatan angka-angka lainnya.

FPB
FPB itu membuat koleksi angka-angka pembagi yang habis membagi suatu bilangan sampai angka itu sendiri kemudian mempersekutukannya dengan koleksi angka lain dan mencari kesamaannya.


Teori Bilangan

Dari angka 1, 2, 3, sampai bilangan tak terhingga, berlaku:
1. Bilangan yang habis dibagi 2 adalah bilangan genap
2. Bilangan yang habis dibagi 3 adalah bilangan ganjil.
3. Bilangan yang tidak habis dibagi 2 dan tidak habis dibagi 3 adalah bilangan prima.

Jadi angka 2 dan 3 adalah penentu.

Sekian semoga bermanfaat.

Sunday 12 October 2014

Operasi Modulus dan aplikasinya


Modulus disebut juga remainder adalah operasi matematika mencari sisa bagi.

Contoh aplikasi:
1.
Diketahui box sebuah mobil pertama mampu memuat 100 kotak dus Aqua. Jumlah kotak dus yang akan diangkut adalah 130 kotak. Berapa box yang tidak terangkut mobil?
Jawab:
130 mod 100 = 30
Bisa juga,
130 - 100 = 30

2. Diketahui tersedia 3 line parkir masing-masing terdiri dari 7 slot parkir. Diketahui jam 1 siang kamu bertanya kepada penjaga parkir sudah berapa karcis yang terpakai. Si penjaga parkir menjawab ada 31 karcis parkir yang terpakai. Ada berapa slot lagi yang tersisa?


Pembagian dan Pecahan


Pembagian

Definisi

Pembagian adalah mendapatkan:
1. Ukuran isi tiap grup / ukuran isi 1 kelompok.
2. Jumlah grup / jumlah pengelompokkan.

Soal cerita pembagian

Yang mau dicari:
- Yang mau dibagi apa
- Dibagi ke ...
- Hasil bagi (berapa jumlah dari yang mau dibagi yang dimiliki )

Pecahan


  • Beberapa defenisi:
  • "dipecah menjadi beberapa bagian"
  • 1/4 + 1/4 = 2 * 1/4  = 2/4 = 1/2
  • 1/4 adalah 1 bagian diambil dari 1 buah kue yang dibagi 4.

Penjumlahan pecahan
Sama penyebut: 1/4 + 1/4 = 2/4 = 1/2
Beda penyebut: 1/4 + 2/3 = 11/12

Pengurangan pecahan
Sama penyebut: 2/4 - 1/4 =1/4
Beda penyebut: 1/4 - 2/3 =-5/12

Perkalian pecahan
Sama penyebut: 2/4 * 1/4 = 2/16
Beda penyebut: 1/4 * 2/3 = 2/12 = 1/6

Pembagian pecahan
Sama penyebut: 2/4 / 1/4 = 2
Beda penyebut:
1. 1/2 / 2 = 1/2 * 1/2 = 1/4
2. 1/2 / 1/3 = 1/2 * 3/1 = 3/2





Sunday 28 September 2014

Logika Matematika

Seputar kehidupan
1. Jika uang habis, maka kita makan apa?
Jika kita makan apa? maka uang habis.

2. Jika kamu menghadap ke timur maka, tangan kamu menghadap selatan.

 3. Dua sisir pisang ada di dalam plastik hitam, plastik hitam itu ada di dalam plastik biru, maka dua sisir pisang ada di dalam plastik biru juga. (Hukum kesederhanaan pengucapan (simplicity of speaking))

4. Jika kamu menganggap sesuatu itu tidak ada apa-apanya, kamu akan tenang.
Jika kamu menganggap sesuatu itu besar, kamu tidak tenang.
Jadi, kamu tidak tenang, karena menganggap sesuatu itu besar.

5. Jika kamu mempunyai uang Rp. 1000 dan uang Rp. 500 dan uang Rp. 2000. Kamu mempunyai hutang Rp. 500 dan kamu berniat membeli sebuah kopi sachet seharga Rp. 1500. Uang manakah yang akan kamu berikan Rp. 1000 ditambah Rp. 500 kah atau Rp. 2000?
Jawab: Rp. 2000

7. Jika diketahui emas diatas monas ditukar dengan Cream susu vanilla. Apakah yang terjadi?
Jawab: yang terjadi pergantian emas diatas monas dengan Cream susu vanilla.

Seputar kreatifitas
1. Diketahui jarak matahari ke bumi 1 juta kilometer, maka jarak bumi ke matahari?
Jawab: 1 juta kilometer


Seputar matematika
Logika dasar matematika
1. Jika umur A sedikit lebih dari umur B, maka A lebih tua dari B.
2. Jika Budi lebih tinggi dari Ani, maka Ani lebih pendek dari Budi.
3a.  Jika umur A lebih muda dari umur B maka A lebih muda dari B.
b. Jika umur A lebih sedikit dari umur B maka A lebih muda dari B.

4. Mana yang lebih besar 1/4 atau 1/5?

11. Jika sebelum dimasukkan benda tinggi air adalah 20. Setelah dimasukkan benda tinggi air menjadi 30. Maka tinggi benda adalah 10.

12. Jika tinggi suatu benda terhadap tinggi suatu air adalah 1 dibanding 2. Maka setelah benda itu dimasukkan ke dalam air tinggi air berubah menjadi?


Logika kreasi matematika
1. Jika: x = 10, y = 3 dan z = 19. Buatlah persamaannya sesuka hatimu.
jawab:
1. x + y ^ 2 = z
2. x + y + 6 = z
3. dan seterusnya....
1.b tentukan jumlah persamaan yang dapat dibuat

Uang

Logika advance matematika
1. Diketahui A = 20 dan B = 30, maka

2. Jika panjang menara A adalah 2 kali panjang menara B. Maka panjang menara B setengah kali panjang menara A.

3. Jika pembagi makin besar maka hasil bagi makin kecil.
Jika hasil bagi makin kecil maka pembagi makin besar.
Jika hasil bagi tidak makin kecil maka pembagi tidak makin besar.

4.Jika uang adalah akar dari beberapa permasalahan, maka beberapa permasalahan adalah kuadrat dari uang.


5. Jika jumlah waktu A menempuh perjalanan sampai ke B semakin banyak, maka A semakin lambat.
Jika jumlah waktu A menempuh perjalanan sampai ke B semakin sedikit, maka A semakin cepat.

6. Jika jumlah uang di dana tabungan A lebih sedikit dari B, maka A lebih miskin dari B dari sisi finansial.
Jika jumlah uang di dana tabungan A lebih banyak dari B, maka A lebih kaya dari B dari sisi finansial.










14. Jika jumlah muatan truk A lebih banyak dari muatan truk B. Apakah truk A lebih besar dari truk B?
Belum tentu.
Jika jumlah muatan truk A 20 dan jumlah muatan truk B 10. Apakah truk A lebih besar dari truk B?

Matematika pasangan
1. Jika celana ada 2, baju ada 3 tentukan jumlah variasi celana dan baju yang bisa diperoleh.
Jawab: n celana = 2, n baju = 3, jumlah pasangan = n celana x n baju = 2 x 3 = 6 pasangan.


Matematika himpunan
7. Atom terdiri dari electron, neutron dan proton. Maka electron, neutron adalah bagian dari atom.

Seputar logika fisika
15. Mana yang lebih berat kapas 1 kg atau besi 1 kg?
Jawab: beratnya sama. Jangan mentang-mentang besi lebih berat dari kapas loh.

Seputar proses atau urutan kerja
1. Setelah mencuci menggosok, berarti menggosok setelah mencuci.

2.  Santan dan daging
A. Diketahui masak santan 5 menit, sementara masak daging butuh 30 menit. Mana yang duluan dimasak?
B. Diketahui masak santan 5 menit, sementara masak daging butuh 30 menit. Mana yang duluan masak?

3. Jika tangan kanan mu memegang 2 buah batu dan tangan kirimu memegang 1 buah batu. Keduanya saling mempertukarkan keseluruhan isinya. Berapakah isi batu di tangan kirimu?
Jawab: 2

3a. Jika tangan kananmu memegang 2 buah batu dan tangan kirimu memegang 1 buah batu. Keduanya saling mempertukarkan sebagian dari isinya. Apakah mungkin terjadi?
Jawab: Tidak mungkin. Batu 1 batu itu harus dipecah terlebih dahulu.


Seputar rangkaian dijital
Terdapat 2 buah keran, jika keran A dibuka, air tidak jalan. Jika keran B dibuka, maka air tidak jalan. Jika keran A dan B dibuka bersama-sama, maka air jalan.


Di dalam permainan huruf
1. NEWS adalah NESW dimana huruf S dan W ditukartempat.
= NEWS bila huruf S dan W nya ditukartempatkan sama dengan NEWS.

2. NEW adalah NEWS dimana huruf S nya dihilangkan

3. NEWS adalah WENS dimana huruf W dan S nya ditukartempat.

4. SWEN adalah NEWS yang dicerminkan.
SWEN = NEWS yang dicerminkan.
SWEN dihasilkan dari pencerminan NEWS.

Di dalam antonim dan sinonim kata
1. Jika kamu tepat sasaran berarti kamu tidak meleset. Karena antonim dari tepat sasaran adalah tidak meleset.

2.tidak lurus berarti bengkok
belum lurus berarti masih bengkok

tidak tepat sasaran berarti meleset
belum tepat sasaran berarti masih meleset

Didalam dunia IT
1. Keset kaki itu diletakkan didalam atau diluar?
Jawab: diluar.

2. Kalau dikatakan bahwa mobil memiliki roda, maka roda tersebut adalah properti dari mobil.

3. Loop while adalah antonim dari loop for. Loop for memerlukan argumen berapa kali loop itu berputar sementara, loop while tidak memerlukan argumen berapa kali loop itu berputar.

4. Jika properti bisa diganti nilainya, method bisa diisikan sebuah argumen. Maka properti dan method bisa menerima inputan dari si programmer.




1. KB + KK: Mahasiswa berdiskusi
2. KB + KS : Dosen itu ramah
3. KB + Kbil : Harga buku itu sepuluh ribu rupiah
4. KB + (KD + KB) : Tinggalnya di Palembang
5. KB1 + KK + KB2 : Mereka menonton film
6. KB1 + KK + KB2 + KB3 : Paman mencarikan saya pekerjaan.
7. KB1 + KB2 : Rustam Peneliti

Saturday 27 September 2014

Konsep memilih bidang kemampuan anak

Konsep memilih bidang kemampuan anak:
1. Berdasarkan nilai tertinggi anak di sd, smp dan smu

Anjuran untuk pendidikan anak:
1. Anak harus di les kan supaya mempunyai teman untuk berpacu dalam pelajarannya. Karena kalau kita belajar sendiri atau tidak mempunyai teman, kita sangat sulit untuk belajar. Semangat atau dorongan atau gaya (force) sangat penting.

Na (Sodium).jpg

Scientist

Scientist don't work alone
A good scientist studies historical scientific works
A good scientist also studies contemporer scientific literature.


Physical science

Physics is the study of the interaction between matter and energy.

Chemistry is the study of the composition, structure, and properties of atoms and matter and the transformations they can undergo.

Thus, physical science is the study of the interaction between matter and energy.



Four fundamental forces

Four fundamental forces:
1. Gravitational
2. Electromagnetic
3. Strong forces
4. Weak forces

that act between elementary particles.

Challenge yourself!

Jika Tuhan berkehendak saya bisa membuat ini lebih indah.
Magnetic
Magnetic force
Magnetic field

What is magnetism
LAB make a compass
Electricity and magnetism
Lab How does an electric motor work?


Electric
Electric Charge
Electric Current
Electric Circuits
LAB Current in Parallel Circuit
LAB A model for Voltage and Circuit

Verbal
References:
Physical Science Reference
Periodic table of the elements
Physical Science reference

Visualizing
1. Nerve Impulse
2. Voltmeters and Ammeters
3. A Hard disk

Fire in the forest
E-lectrifying E-books

Aagjuuk and Sivullit

Observing Electric forces
Magnetic forces
Electronic and Human calculator

Identifying Simple Circuits
Observing Magnetic fields

Investigating the electric forces
Assembling an Electromagnet
Using Binary numbers
Observing Memory

Current in a Parallel Circuit
Make a compass
Investigating Diodes

A model for voltage and current
How does an electric motor work

Does your computer have a virus?

Voltage from a Wall outlet
Electric Power used by a lightbulb

Finding the magnetic declination
How much information can be stored?




Integrate

Career
Chemistry
Environment
Health
History
Physics

Friday 26 September 2014

Semua orang yang bilang kau bodoh adalah Iblis.

Penyebab marah saat ini

1. Keiinginan tidak tercapai

Pattern Machine (Mesin deret bilangan)

1. Machine that alternatively multiply by 2 and then substract by 2
Mesin yang mengali dengan 2 dan mengurang dengan 2 secara bergantian.

Code:
a = 3
TextWindow.WriteLine(a)
For i = 0 To 10
  a = a * 2
  TextWindow.WriteLine(a)
  a = a - 2
  TextWindow.WriteLine(a)
EndFor

Output:
3, 6, 4, 8, 6, 12, 10, 20, 18, ...

Screenshot:


2. Machine that add preceeding term with 1, 2, 3, 4


3. Machine that add increasing even number to the preceding term.
Pattern: 1, 3, 7, 13, 21


Jenis Deret

1. Deret aritmatika
Contoh:
2, 4, 6, 8
Ciri-ciri:
Suatu unsur atau unsur satu dikurangi unsur sebelah kirinya atau unsur sebelumnya selalu konstant suatu angka
Contoh:
4 - 2 = 2
6 - 4 = 2
8 - 6 = 2
Selalu konstan sebuah angka yaitu 2.

2. Deret rasio atau disebut juga deret geometri
Contoh:
2, 4, 8, 16
Ciri - ciri:
2 unsur yang bersebelahan jika dibagikan menghasilkan sebuah angka konstan.


Contoh:
angka 2 dan 4
4 / 2 = 2
angka 8 dan 4
8 / 4 = 2
angka 16 dan 8
16 / 8 = 2

Dari sini kamu menangkap bahwa deret aritmatik adalah penambahan dan pengurangan dan deret geometri adalah perkalian dan pembagian.

3. Deret memory (memory of previous state / previous number)
Contoh: 1, 1, 2, 3, 5, 8, 13, ....
1. Algebra
2. Calculus
3. Geometry (ilmu ukur ruang)
4. Combinatorics
5. Computer science
6. Mechanincs
7. Number theory
 

Thursday 25 September 2014

Flowchart of don't worry about anything

FLOWCHART

This Flowchart Tells You When to Worry About Anything
Hey, manusia dan robot apa bedanya?
Manusia mempunyai tiga state: Yes, I don't know dan No.
Sementara robot: Yes dan No saja.

POEM

In this life there are only two things to worry about.
Either you will be rich or poor. 

If you are rich, there is nothing to worry about.  
But if you are poor, there are only two things to worry about. 
Either you will be healthy or sick. 
If you are healthy, there is nothing to worry about. 
But if you are sick, there are two things to worry about. 
Either you will live or you will die. 
If you live, there is nothing to worry about.  
If you die there are only two things to worry about. 
You will either go to heaven or to hell.  
If you go to heaven, there will be nothing to worry about.
 If you go to hell, you'll be so damn busy shaking hands with all your friends, you won't have time to worry!
So why worry?

Nama-nama kota dan monumen

Yuk mari kita jalan-jalan.
Tools: Youtube.com

List berikut ini di kompilasi dari situs: http://www.math.com/everyone/calculators/calc_source/air-distance.htm

Silahkan ketikkan nama-nama kota berikut ini di field search di Youtube:
1.German
> Berlin

2. India
> Bombay
> Calcuta

3. Argentina.
> Buenos Aires

4. South Africa (Afrika Selatan)
> Capetown

5. Australia
> Darwin
> Melbourne

6. Gibraltar

7. China
> Hongkong
> Peking
> Shanghai

8. USA
> Honolulu, Hawaii
> Juneau, Alaska
> Los Angelas, California
> New York City
> Nome, Alaska
> Seattle, Washington

9. Turkey
> Istanbul

10.  England
> London

11. Phillipines
> Manilla, Luzon

12. Mexico
> Mexico city

13. Russia
> Moscow

14. Norway
> Oslo

15. Panama
> Panama City

16. France
> Paris

17. Egypt
> Port Said, Suez Canal

18. Canada
> Quebec

19. Iceland
> Reykjavik, Faxa Bay

20. Brazil
> Rio de Janeiro

21. Italy
> Rome

22. Chile
> Santiago

23. Singapore
> Singapore

24. Japan
> Tokyo

25. New Zealand
> Wellington

26. Tanzania
> Zanzibar city

 

Date and Time

Date 
Komponen date:
1. Date(Tanggal)
2. Month (Bulan)
3. Year (Tahun)

Contoh:
24/05/1990
Data = 24
Month = 05
Year = 1990

Time
Komponen time:
1. Hour (Jam)
2. Minute (Menit)
3. Second (Detik)
4. Milisecond (Milisekon)

Contoh: 19:30:58
Hour = 19
Minute = 30
Second = 58

Sekian dulu, jangan lupa yah component-mindset jika waktu dan ruang memungkinkan. Shalom!
Pink = White + Red

Vertikal = 30 - 13.2
Horizontal = 0 - 29.4

Wednesday 24 September 2014

Obyek Clock, Desktop, Disctopnary

1. Obyek Clock
Operasi yang akan digunakan:
1. Date (untuk menampilkan tanggal lengkap sekarang, contoh: 24/09/2014.
2. Weekday (untuk menampilkan hari apa sekarang (senin, selasa, dst.)
3. Time (untuk menampilkan waktu lengkap sekarang , contoh: 7:30:13.
4. Year (untuk menampilkan tahun sekarang saja, contoh: 2014)


LAB 1:
Pada dasarnya LAB ini hanya menampilkan date, weekday, dan time dari komputer mu kemudian menampilkan nya pada jendela grafik (graphicWindow) secara wrap pada koordinat start(x,y)=(40,40) ke kanan sebanyak 100 pixel kemudian lompat lagi kebawah, begitu seterusnya hingga semua teks selesai dikeluarkan.

date = Clock.Date
weekday = Clock.WeekDay
time= Clock.Time 
display = ("Current Date: " + date + ", " + "Current Weekday: " + weekday + ", " + "Current time: " + time)
GraphicsWindow.DrawBoundText(40, 40, 100, display)

LAB 2:

TextWindow.WriteLine("Enter the year of your birth: ")
birthyear = TextWindow.Read()
age = Clock.Year - birthyear
TextWindow.WriteLine("Your age is " + age + ".")

LAB 3
LAB ini adalah mudah. LAB ini hanya menanyakan angka bulan kelahiranmu dan angka tanggal kelahiranmu. Kemudian program ini mencocokkan kedua angka ini dengan angka bulan dan angka tanggal sekarang.

TextWindow.Write("Enter the month of your birthday: ")
birthdaymonth = TextWindow.ReadNumber()
TextWindow.Write("Enter the date of your birthday: ")
birthdaydate = TextWindow.ReadNumber()

if birthdaymonth = Clock.Month And birthdaydate = Clock.Day Then
  TextWindow.WriteLine("Hey! Wish You A very Happy birthday")
EndIf

Kebiasaan yang terdefinisikan secara jelas. Bulan berapa kau lahir? Tanggal? Kemudian kamu melihat kalender untuk mengetahui bulan berapa sekarang dan tanggal berapa hari ini. Jika bulan hari ini tidak sama dengan bulan kelahiran temanmu, kamu akan mengeluarkan pernyataan, "Oh sudah lewat", atau "Oh, sekian bulan lagi ya?" atau jika bulan

TextWindow.Write("Enter the month of your birthday: ")
birthdaymonth = TextWindow.ReadNumber()
TextWindow.Write("Enter the date of your birthday: ")
birthdaydate = TextWindow.ReadNumber()
if birthdaymonth = Clock.Month Then
 if birthdaydate = Clock.Day Then
  TextWindow.WriteLine("Hey! Wish You A very Happy birthday")
EndIf
EndIf

LAB 4 - Digital clock

GraphicsWindow.FontSize = 26
GraphicsWindow.BrushColor = "Green"

up:
If Clock.Hour > 12 Then
  status = "PM"
Else
  status = "AM"
EndIf
currenttime = clock.Hour + " : " + Clock.Second

GraphicsWindow.DrawText(desktop.Width / 2 , desktop.height/2, currenttime)
Program.Delay(1000)
GraphicsWindow.Clear()
Goto up

OBYEK Desktop
Properti-properi dan operational dari obyek desktop adalah:
- setwallpaper (Operational)
- Height (Properti)
- Width (Properti)

Jadi kamu bisa
- Memilih/menentukan/menggati wallpaper desktop mu (desktop.setwallpaper)
- Melihat/ berapa ukuran panjang dan lebar layar desktop-mu.

LAB 1 - Mengganti wallpaper desktop 

LAB 2 - Melihat panjang dan lebar layar desktop kamu
textwindow.writeline(desktop.height)
textwindow.writeline(desktop.width)

LAB 3 - Meletakkan graphicwindows persis ditengah layar desktop

Obyek Dictionary
-getdefinition()
-getdefinitioninfrench

LAB 1 Membuat program penterjemah kata dalam bahasa Inggris ke Bahasa Inggris
txt = "Magnanimous"
GraphicsWindow.FontName = "Verdana"
GraphicsWindow.FontSize = 24
GraphicsWindow.BrushColor = "Black"
GraphicsWindow.DrawText(10,10,txt)
defn = Dictionary.GetDefinition(txt)
GraphicsWindow.FontSize = 12
GraphicsWindow.DrawText(10, 60, defn)

LAB 2 
txt = "frère"
GraphicsWindow.FontName = "Verdana"
GraphicsWindow.FontSize = 24
GraphicsWindow.BrushColor = "Black"
GraphicsWindow.DrawText(10,10,txt)
defn = Dictionary.GetDefinitionInFrench(txt)
GraphicsWindow.FontSize = 12
GraphicsWindow.DrawText(10, 60, defn)

 Guess what? Hanya berubah di baris ke enam saja. Dari defn = Dictionary.GetDefinition(txt) menjadi defn = Dictionary.GetDefinitionInFrench(txt).

Monday 22 September 2014

Pernyataan umum:
Jika ada karakter "." dan karakter "@" maka alamat email yang dimasukkan adalah benar.

Pernyataan umum diambil dari pengamatan akan ciri khas alamat email yang benar, yaitu: "Semua alamat email yang benar mempunyai karakter "@" dan "." di dalamnya. Ini suatu kepastian. Bener kan? Coba teliti sendiri, alamat email yang benar pasti selalu ada "@" dan "." nya.

Selanjutnya, buat pertanyaan berdasarkan parameter-parameter atau variabel - variabel yang bisa kita temukan di pernyataan umum diatas, maka:
1. Apakah terdapat karakter "." di dalam alamat email yang telah dimasukkan?
2. Apakah terdapat karakter "@" di dalam alamat email yang telah dimasukkan?

Buat tabel jawaban yang benar (tabel kebenaran)

Jawaban1 Jawaban2 Keputusan
Salah Salah Bukan alamat email yang benar
Salah Benar Bukan alamat email yang benar
Benar Salah Bukan alamat email yang benar
Benar Benar Alamat email yang benar

Jadi script programnya (dalam small basic):
TextWindow.Write("Enter a valid e-mail address: ")
EmailID = TextWindow.Read()
n = Text.IsSubText(EmailID, ".")
m = Text.IsSubText(EmailID, "@")
If n = "True" And m = "True" Then
  TextWindow.WriteLine("You have entered a valid e-mail address.")
Else
  TextWindow.WriteLine("Please enter a valid e-mail address.")
EndIf

Sunday 21 September 2014

Obyek sound, program dan text

Disini kamu akan mempelajari bagaimana:
1. Menggunakan obyek Program 'tuk mengatur bagaimana program Small Basic kamu berjalan.
2. Memungkinkan pemutaran suara (lagu .mp3, .wav) dengan menggunakan obyek Sound.
3. Menggunakan fungsi-fungsi / operasi-operasi yang berhubungan dengan obyek Text.

OBYEK PROGRAM
LAB 1
Program ini pada dasarnya menuliskan alamat direktori program Small Basic dan menunggukan program (delay) Small Basic selama 5 detik (atau 5000 ms) dan kemudian mengakhiri/menutup program itu setelah 5 detik itu berlalu.

TextWindow.WriteLine("Program directory: " + Program.Directory)
TextWindow.WriteLine("This program will run for 5 seconds")
Program.Delay(5000)
Program.End()

LAB 2
Lab ini pada dasarnya adalah mengalikan argumen 1 dengan argumen 2 jika jumlah argumen yang disuplai ke program ini adalah 2. Jika tidak, program ini tidak jalan atau memberikan tampilan kata: "Please enter two number to be multiplied".

If Program.ArgumentCount = 2 Then
  TextWindow.WriteLine("First number = " + Program.getargument(1))
  TextWindow.writeline("Second number = " + Program.GetArgument(2))
  Multiplication = Program.GetArgument(1) * Program.GetArgument(2)
  TextWindow.writeline("The product of two number is: " + multiplication)
Else
  TextWindow.WriteLine("Please enter two number to be multiplied")
EndIf

OBYEK SOUND
Obyek sound punya operasi-operasi antara lain: Play, Pause dan Stop.

LAB 1
GraphicsWindow.Show()
filepath = "c:\windows\media\chime.wav"
Sound.Play(filepath)

Program.Delay(2000)
Sound.pause(filepath)

Sound.play(filepath)
Program.Delay(500)

Sound.stop(filepath)

OBYEK TEXT
Beberapa operasi dari obyek text yang akan dipakai pada lab ini:
1. Append (untuk menambahkan text yang satu ke text yang lain)
2. ConvertToUppercase(untuk mengubah suatu text menjadi huruf besar semua atau uppercase)

LAB 1
Pada dasarnya program ini meminta nama depan(first name) dan nama belakang(last name), kemudian menyatukan firstname dan lastname kedalam satu teks, kemudian huruf-huruf teks gabungan firstname dan lastname itu dikonversi ke huruf besar semua. Terakhir, hasil konversi ke huruf besar teks gabungan firstname ditampilkan dan ditambah kata "Hello". Gampang kan....?

TextWindow.Write("Enter your first name: ")
Firstname = TextWindow.Read()
TextWindow.Write("Enter your lastname: ")
Lastname = TextWindow.Read()
Completename = Text.Append(Firstname, " " + Lastname)
Nameinuppercase = Text.ConvertToUpperCase(Completename)
TextWindow.WriteLine ("Hello " + Nameinuppercase + "!")

LAB 2
Program ini pada dasarnya menguji ke-valid-an suatu alamat electronic mail atau e-mail yang dimasukkan dengan cara menguji apakah karakter '@' dan '.' merupakan bagian dari alamat email yang dimasukkan tersebut. Jika tidak bagian dari alamat email tersebut, program menolaknya dan menampilkan pesan: "Please enter a valid e-mail address". Easy...?

TextWindow.Write("Please enter a valid e-mail address: ")
EmailID = TextWindow.Read()
n = Text.IsSubText(EmailID, ".")
m = Text.IsSubText(EmailID, "@")
If n = "True" And m = "True" Then
  TextWindow.WriteLine("You have entered a valid e-mail address.")
Else
  TextWindow.WriteLine("Please enter a valid e-mail address.")
EndIf

Khusus untuk LAB ini saya buatkan pseudo-codenya:
1. Tampilkan kata "Please enter a valid e-mail address: "
2. Simpan alamat email yang diberikan ke dalam variabel EmailID
3. Cari apakah karakter "." ada di dalam teks yang dimasukkan ke dalam variabel EmailID. Dan simpan hasil penelitiannya ke dalam variabel n.
4. Cari apakah karakter "@" ada di dalam teks yang dimasukkan ke dalam variabel EmailID dan simpan hasil penelitiannya (true atau false) ke dalam variabel m.
5. Jika kedua variabel m dan n adalah true, true -- sesuai dengan tabel kebenaran teks yang dimasukkan adalah sebuah Email yang valid. Jadi, program akan mengeluarkan kata: "You have entered a valid e-mail address"
6. Jika kedua variabel m dan n adalah tidak true, -- sesuai dengan tabel kebenaran teks yang dimasukkan adalah bukan sebuah Email yang valid. Maka, program akan mengeluarkan kata: Please enter a valid e-mail address.

Skill dan attitude
Exploring shapes
Draw (menggambar), rotate (memutar), animate (menggerak-gerakkan) shapes.

Operasi yang akan digunakan:
1. Addimage (untuk menggambarkan image / gambar .jpg)
2. Addrectangle (untuk menggambarkan persegi atau rectangle)
3. Hideshape (untuk menyembunyikan shape tertentu)
4. Showshape (untuk mengeluarkan dari persembunyian suatu shape tertentu)
5. Setopacity (untuk mengatur ketembus-pandangan suatu shape tertentu)
6. Move (untuk menggeser shape)
7. Animate (untuk menggeser shape perlahan-lahan)
8. Zoom (untuk men-zoom in atau men-zoom out suatu shape)

Tujuan: untuk lebih menghidupkan bagaimana shape bergerak.

LAB 1 :
Pada lab ini, program pada dasarnya hanya menunjukkan(ShowShape), menyembunyikan (HideShape), membeningkan(SetOpacity) sebanyak 10 kali menggunakan loop for.. endfor..

rectangle = Shapes.AddRectangle(400, 300)
For i = 1 To 10
  Shapes.ShowShape(rectangle)
  Program.Delay(1000)
  Shapes.HideShape(rectangle)
  Shapes.SetOpacity(rectangle, 100 - i * 10)
  Program.delay(800)
EndFor

Ini pada dasarnya seperti menimbul tenggelamkan suatu shape dalam hal ini shape persegi panjang.

LAB 2:
'Sebelum memulai lab ini, taruh suatu gambar .jpg di drive D: milik mu. Program ini pada dasarnya hanya men-zoom-in suatu gambar. Oke, silahkan di paste ke editor small basic milik mu:

imagepath = "D:\pic1.jpg"
gambaryangakandizoom = Shapes.AddImage(imagepath)
Shapes.Move(gambaryangakandizoom, 5,5)
Shapes.Animate(gambaryangakandizoom, 20, 20, 1000)
Shapes.zoom(gambaryangakandizoom, 0.1, 0.1)
For i = 0 To 1 Step 0.1
  Program.Delay(1000)
  Shapes.zoom(gambaryangakandizoom, 0.1 + i, 0.1 + i)
EndFor

LAB 3:

GraphicsWindow.PenWidth = 2
GraphicsWindow.PenColor = "Black"
GraphicsWindow.BrushColor = "Purple"
rectangle1 = Shapes.AddRectangle(100, 100)
Shapes.Move(rectangle1, 50, 80)
rectangle2 = Shapes.AddRectangle(100, 100)
Shapes.Move(rectangle2, 300, 80)
For i = 1 To 4
  Program.Delay(1000)
  Shapes.Zoom(rectangle1, i * 0.4, i * 0.4)
  Shapes.SetOpacity(rectangle1, i * 5)
EndFor

LAB 4:
Sball = Shapes.AddEllipse(100, 100)
Shapes.Move(Sball, 0, 340)
x = 450
GraphicsWindow.DrawRectangle(550, 0, 80, 450)
GraphicsWindow.BrushColor = "Purple"
GraphicsWindow.FillRectangle(550, 0, 80, 450)
Shapes.Animate(Sball, x, 40, 490)
Program.Delay(500)
If (Shapes.GetLeft(Sball) = x ) Then
  Shapes.animate(Sball, 0, 340, 500)
EndIf

LAB 5
Pada dasarnya program ini hanya membuat rectangle baru atau addrectangle dan menggesernya ke posisi sebanding dengan i. Jumlah rectangle yang akan dibuat sebanyak 21 karena jumlah for adalah dari 0 sampai 20.

For i = 0 To 20
  GraphicsWindow.PenWidth = "0.5"
  GraphicsWindow.BrushColor = GraphicsWindow.GetRandomColor()
  rectangle1 = Shapes.AddRectangle(i * 20, i * 10)
  Shapes.move(rectangle1, i * 10, i * 10)
  Program.Delay(500)
EndFor

Selamat! Kamu sekarang sudah tahu cara menggunakan beberapa operation atau function dari obyek shape. Juga kamu sudah mencoba membuat beberapa animasi.


y = ((-1)^x * 2.5) + 2.5

Repeating 0 and 1
y = 1/2 (1 + (-1)^n)
 

Saturday 20 September 2014

Belajar If... then ..

6 - 12 = selamat pagi
12 - 18 = selamat siang
18 - 24 = selamat malam
24 - 6 = selamat subuh

if clock.hour 

Fungsi

Menurut saya:
Fungsi adalah rumus matematika yang memetakan A ke B.

Kurikulum Small-Basic

1.3 Variabel
Soal:
Tulis sebuah program untuk menghitung luas (area) dan keliling (circumference) berdasarkan diamaternya:
1. Minta user untuk memasukkan nilai diameter sebuah lingkaran
2. Buat sebuah variabel dengan nama diameter dan simpan nilai dari user tersebut ke dalam variabel ini.
3. Buat sebuah variabel dengan nama radius, hitung / kalkulasi nilai radius lingkaran, kemudian simpan hasilnya ke dalam variabel radius.
4. Buat variabel dengan nama luas dan keliling, hitung luas lingkaran dan hitung keliling lingkaran, dan simpan nilai-nilai itu ke dalam variabel-variabel itu.
5. Tampilkan nilai luas lingkaran dan nilai keliling lingkaran.

You can use the following formulas for calculation:
radius = diameter / 2
area = (3.14) * radius * radius
circumference = (3.14) * 2 * radius

Jawaban:

TextWindow.Write("What is the diameter of the circle? ")
diameter = TextWindow.ReadNumber()
radius = diameter / 2
area = (3.14) * radius * radius
circumference = (3.14) * 2 * radius
TextWindow.WriteLine("The area of the circle is " + area + ".")
TextWindow.WriteLine("The circumference of the circle is " + circumference + ".")
1.4 Conditions and loops
Create a program to convert one or more student scores from a percentage to a letter grade. First, ask the user to specify how many grades will be calculated. Then ask the user to specify the first percentage, and convert it to a letter grade based on the following criteria:

Solution:

TextWindow.Write("How many student grades would you like to calculate? ")
number = TextWindow.Read()
n = 1
While n <= number
  TextWindow.Write("What is the student’s percentage? ")
  percentage = TextWindow.Read()
  If  percentage >= 75 Then
    TextWindow.WriteLine("The student’s grade is A.")
  ElseIf  percentage < 75 And percentage >= 60  Then
    TextWindow.WriteLine("The student’s grade is B.")
  ElseIf  percentage < 60 And percentage >= 35 Then
    TextWindow.WriteLine("The student’s grade is C.")
  Else
    TextWindow.WriteLine("The student’s grade is D.")
  EndIf
  n = n + 1
EndWhile


2.1 Graphics Window
Gali kreatifitas mu dengan menulis sebuah program yang menampilkan sebuah jendela grafik dan melakukan tugas-tugas berikut:
1. Tampilkan sebuah jendela grafik dengan tinggi 640 pixel dan lebar 800 pixel
2. Unjukkan 2 buah bidang dua dimensi (shape) berlainan warna dan saling menindih sedikit satu sama lain
3. Unjukkan beberapa kotak atau persegi dengan warna yang acak (random)
4. Unjukkan sebuah gambar (image) yang sudah diubah ukur pada lokasi yang cocok
5. Unjukkan sebuah kotak pesan yang memuat pesan "Have a nice day!"

Solusi
'solusi 1
GraphicsWindow.Height = 640
GraphicsWindow.Width = 800
GraphicsWindow.DrawEllipse(0,0,100,100)
GraphicsWindow.DrawEllipse(90,0,100,100)
For i = 1 To 5
  GraphicsWindow.PenColor = GraphicsWindow.GetRandomColor()
  GraphicsWindow.DrawRectangle(190,i*20,20,20)
EndFor
image1 = "C:\Small Basic\Winter.jpg"
GraphicsWindow.DrawResizedImage(image1,210,0,430,200)
GraphicsWindow.ShowMessage("Have a nice day!","Message Box")

2.4 Obyek Sound, Program dan Text
Tulislah sebuah program yang menampilkan sebuah textwindow dan melakukan langkah-langkah berikut:
1. Minta user untuk mengetikkan sebuah jawaban atas sebuah pertanyaan sederhana
2. Jika jawaban adalah benar, tampilkan sebuah pesan yang pantas bersama dengan suara chime.
3. Jika jawaban adalah tidak tepat, tampilkan sebuah pesan yang pantas bersama dengan suara sebuah bell.

Solusi:
awal:
TextWindow.WriteLine("Apa nama ibukota Negera Indonesia? : ")
answer = TextWindow.Read()
m = Text.IsSubText(answer, "Jakarta")
n = Text.IsSubText(answer, "jakarta")
If m = "true" or n = "true" Then
  Sound.PlayChime()
  TextWindow.WriteLine("> Your answer is correct!")
Else
  Sound.PlayBellRing()
  TextWindow.WriteLine("> Sorry, your answer is incorrect!")
EndIf
Goto awal



Contoh capture selagi program jalan dari beberapa tipikal user hehehe:

Ada yang tipe ragu-ragu: jakarta? atau jakarta, ya?
Ada yang tipe style: Jakarta ajah broo, atau jakarta dunks, jakarta menn..
Ada yang tipe detail: Kota Jakarta
Ada yang tipe over detail (terlalu detail sehingga lebay, hehehe): Daerah Khusus Ibukota Jakarta.
Semuanya benar pada program ini asal ada kata jakarta atau Jakartanya. :)

Friday 19 September 2014

A - B adalah A yang bukan B
A irisan B adalah A yang adalah B
A gabungan B adalah
A comploment adalah Universal yang bukan B

Komparasi 2 buah text dan angka di Small Basic ternyata bisa dan gampang!

Berikut contoh script nya:
Text
a = "aloha"
b = TextWindow.Read()
If a = b Then
  TextWindow.WriteLine("Sama!")
Else
  TextWindow.WriteLine("Tidak sama!")
EndIf

Manfaat:
- Bisa digunakan untuk game tebak kata
- Bisa digunakan untuk union, intersection, relative complement, etc. (operasi 2 buah himpunan)

Angka
Komparasi 2 buah angka juga ternyata bisa. Berikut contoh script-nya:
a = 24
b = TextWindow.Read()
If a = b Then
  TextWindow.WriteLine("Sama!")
Else
  TextWindow.WriteLine("Tidak sama!")
EndIf

Manfaat:
- Bisa digunakan untuk game tebak angka.


Studying the bible

Problem:
Satu kata banyak arti.
Contoh: Trust in God and you will be safe.
Safe disini bisa berarti aman, atau selamat?

Thursday 18 September 2014

Pernyataan
Pernyatan adalah mempunyai nilai benar atau salah.

Contoh pernyataan:
1. Bilangan biner digunakan dalam sistem digital adalah sebuah pernyataan yang nilainya benar (memang bilangan biner digunakan dalam sistem digital)
2. Sistem analog lebih akurat daripada sistem digital adalah sebuah pernyataan dan nilainya salah (sistem digital merupakan sistem yang mempunyai akurasi yang lebih tinggi dibanding sistem analog)
3. Astaga, mahal sekali harga notebook itu adalah bukan sebuah pernyataan tapi keheranan.

Jadi, kalimat yang tidak termasuk kedalam sebuah pernyataan adalah:
1. Kalimat perintah
Contoh: Ambilkan air ke dalam gelas itu.
2. Kalimat pertanyaan
Contoh: Apakah hari ini akan hujan?
3. Kalimat keheranan
Contoh: kok bisa dia lari tanpa melihat?
4. Kalimat harapan
Contoh: Seandainya hari ini hujan.


1.2 Pernyataan gabungan
Disini kita akan belajar bagaimana menggabungkan dua buah pernyataan dengan benar; bagaimana meletakkan kata penghubung dengan benar. Jangan takut ini gampang.

Jadi, dua atau lebih pernyataan bisa digabungkan? Yeah.

Nilai konjungsi, nilai disjungsi bisa benar atau salah. Salah konjungsi atau salah disjungsi bisa terjadi.
Bilamana aturan penkonjungsian atau pendisjungsian tidak dipenuhi.

Kata penghubung 2 buah pernyataan:
1. Dan (^)
2. Atau (v)

Macam-macam pernyataan gabungan:
1. Konjungsi
Konjungsi adalah pernyataan gabungan. Nilai konjungsi (nilai dari sebuah pernyataan gabungan) bisa bernilai salah atau benar). Bagaimana men-konjungsikan 2 buah pertanyaan adalah dengan menggunakan kata penghubung: dan.

Macam-macam pernyataan gabungan:
1. Konjungsi
Konjungsi menggunakan kata 'dan'. Konjungsi dianalogikan dengan sebuah rangkaian listrik seri.
Pernyataan 1: Petani adalah orang yang bekerja di air.Petani adalah orang yang bekerja di air dan petani membutuhkan pupuk

2. Disjungsi
Disjungsi adalah kata benda atau nomina.

Disjungsi adalah hasil gabungan 2 pertanyaan dengan menggunakan kata penghubung atau. Disjungsi bukan penggabungan 2 pertanyaan dengan menggunakan kata penghubung atau.

Lihat ini adalah sebuah disjungsi!

Pendisjungsian 2 pernyataan yang bener adalah salah satu pernyataan harus bernilai benar. Entah itu pernyataan 1 yang benar (pernyataan disebelah kiri or) atau entah itu pernyataan ke-2 (pernyataan disebeah kanan kata penghubung or)

3. Negasi
Negasi adalah bagaimana Disini kita akan mempelajari bagaimana cara memperbaiki pernyataan yang salah menjadi benar dan sebaliknya, membuat pernyataan yang benar jadi salah.

Pernyataan:
Harddisk adalah alat yang menentukan kecepatan kerja komputer. (Pernyataan yang salah, bukan?)

Bagaimana memperbaiki pernyataan itu? Negasikan, yaitu dengan cara menyisipkan kata 'bukan'.

Harddisk adalah bukan alat yang menentukan kecepatan kerja komputer. (Simple kan?)

4. Jointdenial (NOR)
NOR adalah pernyataan gabungan yang dihasilkan dari menegasikan disjungsi.

5. Not AND (NAND)
6. Exclusive OR (XOR)
7. Exclusive NOR

Himpunan
2. Operasi pada himpunan
1. Union atau gabungan 2 himpunan
Definisi: 
- Anggota-anggota himpunan A digabung dengan anggota himpunan B tapi tidak ada duplikasi.
-

Notasi:
A + B

Contoh:
A = {mouse, keyboard}
B = {monitor, printer, scanner}
C = {mouse, keyboard, CPU, monitor}

A + B = {mouse, keyboard, monitor, 

2. Intersection
Defenisi: Intersection atau irisan 2 buah himpunan (himpunan A dan himpunan B) adalah suatu himpunan dimana anggotanya adalah anggota yang dimiliki oleh himpunan A dan juga himpunan B.

Contoh:
A = {mouse, keyboard}
B = {monitor, printer, scanner}
C = {mouse, keyboard, CPU, monitor}

1. A irisan B = {0} --> anggota himpunan A tidak ada yang sama dengan anggota himpunan B.
2. A irisan C = {mouse, keyboard} --> anggota himpunan A yang sama dengan anggota himpunan B adalah mouse dan keyboard.
3. B irisan C = {monitor}

Dengan kata lain, A irisan B adalah anggota himpunan A yang juga dimiliki himpunan B.

3. Relative complement
Defenisi:
- Anggota himpunan A yang tidak ada di himpunan B.

Notasi:
A - B

Contoh:
A = {mouse, keyboard}
B = {monitor, printer, scanner}
C = {mouse, keyboard, CPU, monitor}


Solusi: Buat diagram pohon dengan Medan sebagai root-nya.

Daftar jalur
Banda Aceh
Banda Aceh - Medan, directly connected.
Banda Aceh - Pekan Baru
Via Medan, Via Padang
Via Padang, Jambi
Via

EIGRP

Verb aktif
EIGRP menunjukkan sebuah evolusi dari pendahulunya IGRP (Internet Gateway Routing Protocol).
EIGRP menggabungkan kemampuan-kemampuan protokol link-state kedalam protokol distance vector.
EIGRP sebagai tambahan memuat sejumlah protokol-protokol penting yang meningkatkan efisiensi pekerjaan dibandingkan protokol routing lainnya.
DUAL memungkinkan router EIGRP untuk menentukan apakah sebuah path yang diadvertised oleh suatu tetangga itu di loop atau bebas-loop, dan memungkinkan sebuah router yang sedang menjalankan EIGRP untuk menemukan jalur-jalur alternatif tanpa harus menunggu sebuah updates dari router lainnya.
Kemampuan utama yang membedakan EIGRP dari routing protocol lainnya mencakup fast convergence, dukungan terhadap subnet-mask yang variable-length, dukungan untuk update parsial, dan dukungan untuk protokol-protokol layer network yang beragam.
Sebuah router yang sedang menjalankan EIGRP menyimpan semua routing table tetangganya supaya router itu dapat dengan cepat beradaptasi ke rute-rute alternatif.
Dukungan EIGRP terhadap subnet mask varible-length mengizinkan rute-rute untuk secara otomatis di summerisasi ke batas nomor network.
EIGRP tidak membuat update periodis, malahan EIGRP mengirim update-update parsial hanya ketika metrik untuk suatu route berubah.
EIGRP mencakup dukungan untuk AppleTalk, IP, dan Novell NetWare.
Implementasi dukungan EIGRP terhadap AppleTalk mendistribusi ulang rute-rute yang telah dipelajari dari Routing Table Maintenance Protocol (RTMP).
Implementasi dukungan EIGRP terhadap IP mendistribusi ulang rute-rute yang telah dipelajari dari OSPF, Routing Information Protocol (RIP), Intermediate System-to-Intermediate System (IS-IS), Exterior Gateway Protocol (EGP), atau Border Gateway Protocol (BGP).
Implementasi dukungan EIGRP terhadap Novell mendistribusi ulang rute-rute yang telah dipelajari dari Novell RIP atau Service Advertisement Protocol (SAP).
Mekanisme discovery/recovery tetangga memampukan router-router untuk secara dinamis belajar tentang router-router lainnya pada network-network yang terpasang secara langsung dengannya.
RTP melayani transmisi paket-paket multicast atau unicast.


Verb pasif
Evolusi yang ditunjukkan oleh EIGRP ini dihasilkan dari perubahan-perubahan jaringan (networking) dan permintaan beragam internetwork-internetwork, skala besar.

Can
EIGRP dapat dikonfigurasi untuk meringkas pada batas bit manapun di interface manapun.
Dua router yang tetap berfungsi dapat saling menukarkan informasi routing.

Kalimat When
EIGRP mengirim update-update parsial hanya ketika metrik untuk suatu route berubah.
Router-router juga harus menemukan (discover) ketika tetangga-tetangganya menjadi tidak dapat dijangkau (unreachable) atau tidak berfungsi (inoperative) dengan cara mengirimkan paket hello protocol secara periodis. Selama router tetap menerima paket-paket hello dari sebuah router yang bertetangga, router itu tetap berasumsi bahwa tetangga itu sedang berfungsi.


Adalah (is/am/are)
Salah satu protokol penting tambahan dalam EIGRP adalah Diffusing Update Algorithm (DUAL) yang dikembangkan di SRI international oleh Dr. J.J. Garcia-Luna-Aceves.
Propagasi (pemberitaan) dari update parsial adalah secara otomatis terikat supaya hanya router-router yang membutuhkan informasi itu yang di update.
Empat teknologi utama EIGRP adalah neighbor discovery/recovery, reliable transport protocol (RTP), DUAL finite-state  machine, and protocol-dependent modules.
Reliable Transport Protocol  adalah bertanggung jawab untuk pengiriman tergaransi dan terurut dari paket-paket EIGRP ke semua tetangga-tetangganya.




Kalimat perandaian (if... then...) 
Jika tidak ada rute yang tepat, maka EIGRP menanyakan tetangganya untuk menemukan rute alternatif. Queri ini disampaikan sampai sebuah rute alternatif sudah ditemukan.

Wednesday 17 September 2014

Pengamanan pesan

Enkripsi adalah salah satu cara pengamanan pesan karena enkripsi membuat pesan menjadi tidak dapat terbaca oleh pembaca lain yang tidak berhak. Sementara untuk pembaca yang berhak dapat mendeenkripsi pesan tersebut menjadi pesan yang dapat dibaca dan dimengerti.

Salah satu contoh cerita asal muasal enkripsi adalah:

Pada suatu hari seorang kaisar mengumpulkan seorang jendral untuk dikerahkan ke daerah perang jendral itu. Kepada jendral perang itu Kaisar berpesan, jika ada surat pesan yang sampai pada mu tiap hurufnya kamu mundurkan satu. Kaisar sudah berpengalaman dalam hal perang. Ia tahu bahwa antara Jendral dan Kaisar perlu ada komunikasi yang intens ketika Jendral tersebut sedang ada di medan perang. Untuk mensukseskan perang yang sedang berlangsung.

Ketika sang jendral telah tiba di daerah medan perangnya, ia mengirimkan pesan pertamanya berupa surat diperuntukkan kepada Kaisar melalui salah seorang bawahan jendral yang khusus bertugas mengirimkan berita antara kaisar dan jendral. Surat itu berisi tentang informasi kondisi atau keadaan perang yang sedang berlangsung, berapa jumlah pasukan milik kaisar yang tersedia, berapa jumlah cadangan makanan yang masih tersisa, bagaimana kondisi kontur bumi di sekitar medan perang (pegunungan, lembah, padang luas atau perbukitan), semua informasi itu dituliskan di selembar kertas, kemudian dibuat tidak terbaca (di-enkripsi) dengan ketentuan yang telah diucapkan oleh Kaisar, setiap huruf harus kamu majukan 1, kemudian dituliskan kembali kedalam surat, kemudian ditanda tangani oleh Jendral itu dan diberi amplop dan diserahkan kepada si pembawa berita untuk dibawa kepada Sang Kaisar.

Setelah si pembawa berita menerima surat itu, lantas pergilah ia kembali ke arah istana Kaisar untuk menyampaikan surat pertama sang Jendral tersebut. Ia harus melalui hutan, gunung dan sungai. Di tengah hutan ada sekawanan pemberontak dalam jumlah skala kecil menghentikan si pembawa surat itu, dan merampas apa yang dibawanya.







Permasalahan yang sering terjadi terhadap pesan yang dikirimkan adalah:
1. Pesan diubah
2. Pesan dibaca

Sementara, aktor pemeran dalam permasalahan diatas adalah:
1. Pengirim
2. Pembaca
3. Penganggu

Tuesday 16 September 2014

OSPF

Keterangan adalah (is/am/are)
AS (Autonomous System) adalah entitas terbesar didalam sebuah hirarki.
Area adalah kelompok-kelompok network-network yang bersebelahan dan host-host yang dihubungkan.
Router yang berpartisipasi dalam banyak area adalah disebut Area Border Router.
Istilah domain adalah biasanya disebut AS juga.
Database topologi adalah pada dasarnya atau pada esensinya gambar keseluruhan dari network-network dan hubungannya terhadap suatu router.
Topologi sebuah area adalah tidak bisa dilihat (invisible) bagi entitas-entitas (kesatuan) diluar area itu.
Sebuah backbone OSPF adalah bertanggungjawab untuk informasi routing antar area-area.
Backbone itu sendiri adalah sebuah area OSPF, jadi semua ruter-ruter backbone menggunakan prosedur dan algoritma yang sama untuk memelihara informasi routing didalam backbone.
Topologi backbone adalah tidak diketahui atau tidak kelihatan (invisible) bagi semua router inter-area, begitu juga dengan topologi masing-masing area ke pada backbone.
Virtual links adalah dikonfigurasi antara backbone router manapun yang berbagi sebuah link ke sebuah area nonbackbone dan virtual links berfungsi seolah-olah mereka adalah link langsung.
Algoritma routing Shortest Path First (SPF) adalah basis dari pekerjaan OSPF.
Designated router adalah bertanggung jawab untuk menerbitkan LSA-LSA untuk seluruh jaringan multiakses.
Database topologi adalah disinkronisasi antara pasangan dari router-router yang berkerabat (adjacent).
Paket routing-protocol adalah dikirimkan dan diterima hanya pada kekerabatan (adjacencies).



Keterangan kemampuan (can)
OSPF dapat bekerja di dalam sebuah hirarki.
Sebuah AS dapat dibagi lagi kedalam beberapa area-area.
Router dengan interface yang banyak (lebih dari satu) dapat berpartisipasi kedalam banyak area.
Area dapat di defenisikan sedemikian rupa seperti backbone tidak bersebelahan dengan area itu.

Keterangan waktu(when)
Intra-area routing terjadi ketika source and the destination ada di dalam 1 area yang sama.
Inter-area routing terjadi ketika source dan destination tidak berada dalam area yang sama.
Dua buah router yang bertetangga (neighboring) dikatakan berkerabat (adjacent) ketika database link-state dari kedua router itu sudah disinkronisasi.
Setiap router secara periodik mengirim sebuah LSA untuk menyediakan informasi tentang kekerabatan router itu atau untuk menginformasikan router lain ketika sebuah state router berubah.

Keterangan pekerjaan(verb)
Area Border Router memaintain topologi database terpisah untuk masing-masing area.
Database topologi memuat kumpulan LSA-LSA yang sudah diterima dari semua router-router di dalam area yang sama.
Router didalam area yang sama berbagi informasi yang sama, mereka memiliki database topologi yang sama atau identik.
OSPF meneruskan lebih sedikit trafik routing dari jika OSPF sebelumnya 
Pemartisian Area (Area Partitioning) menciptakan dua tipe berbeda routing OSPF, tergantung pada apakah
OSPF backbone terdiri dari router Area Border Router, network-network yang tidak seluruhnya dimuat area manapun, dan router yang terpasang kepadanya.
AS border router yang menjalankan OSPF mempelajari rute - rute exterior melalui protokol-protokol exterior gateway protocols (EGPs), contohnya Exterior Gateway Protocol (EGP) atau Border Gateway Protocol (BGP) atau melalui informasi konfigurasi.
Router yang menjalankan SPF menginisialisasi struktur data routing protokolnya dan menunggu indikasi dari protokol layer yang lebih bawah bahwa interface-interface router itu berfungsi ketika router dinyalakan.
Router menggunakan OSPF Hello Protocol untuk mendapatkan tetangga, yang mana adalah sebuah router dengan interface ke network yang sama.
Router mengirimkan paket-paket hello ke tetangganya dan menerima paket-paket hello.
Paket-paket hello juga berperan sebagai keepalives untuk membuat router-router yang bersebelahan tahu bahwa mereka masih saling hidup/berfungsi.
Protokol hello memilih sebuah designated router dan sebuah backup designated router, pada jaringan multiakses.
Designated router mengizinkan sebuah pengurangan trafik jaringan dan ukuran dari database topologi.
Designated router menentukan router mana seharusnya menjadi adjacent di jaringan multiakses.
Kekerabatan (adjacencies) mengontrol distribusi paket-paket routing-protokol.
Setiap router secara periodik mengirim sebuah LSA untuk menyediakan informasi tentang kekerabatan router itu atau untuk menginformasikan router lain ketika sebuah state router berubah.
Setiap router mengkalkulasi sebuah pohon shortest-path, dengan dirinya sebagai root, dari database topologis yang telah dibuat dari LSA-LSA.