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