Saturday, 20 September 2014

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