Terlalu Besar, Terlalu Kecil

PASTIKAN ANDA SUDAH MENGIKUTI DAN MEMAHAMI MATERI-MATERI SEBELUM INI

Bagaimana script tebak-tebakan yang terakhir, cukup menantang bukan?

Kali ini kita akan modifikasi script tersebut supaya terasa lebih hidup. Skenario yang saya buat adalah : ketika user salah menebak angka yang disembunyikan, maka si komputer akan memberikan informasi angka yang disembunyikannya lebih besar atau lebih kecil dibanding tebakan user.

Algoritmanya :
Si komputer menyembunyikan angka secara acak, misal 6.
User menebak : 4
Komputer menjawab “Salah! tebakannya terlalu kecil”
User menebak lagi : 8
Komputer menjawab “Salah lagi! tebakannya terlalu besar”
User menebak : 7
Komputer menjawab “Game Over! Yang benar adalah 6”
Bila user menjawab : 6
Komputer menjawab “Ya benar! Anda hebat!”

Kita gunakan semua ilmu yang sudah dipelajari sampai saat ini untuk mengimplementasikan script di atas.
(Sangat disarankan anda coba sendiri dulu baru melihat script yang saya buat)

Sub Main
  DIM angka_rahasia AS INTEGER
  DIM tebakan_user AS INTEGER

  angka_rahasia = RND(10) * 1
 
  INPUT "Tebak angka yang saya sembunyikan", tebakan_user

  IF (tebakan_user <> angka_rahasia) THEN
    IF (tebakan_user > angka_rahasia) THEN
       PRINT "Salah! tebakannya terlalu besar"
    END IF
    IF (tebakan_user < angka_rahasia) THEN
       PRINT "Salah! tebakannya terlalu kecil"
    END IF
    
    SLEEP 500
    PRINT "Ayo coba lagi"
    SLEEP 500
  END IF

  IF (tebakan_user <> angka_rahasia) THEN
    IF (tebakan_user > angka_rahasia) THEN
       PRINT "Salah! tebakannya terlalu besar"
    END IF
    IF (tebakan_user < angka_rahasia) THEN
       PRINT "Salah! tebakannya terlalu kecil"
    END IF

    SLEEP 500
    PRINT "Ayo coba 1x lagi"
    SLEEP 500
    INPUT "Tebak angka yang saya sembunyikan", tebakan_user
  END IF

  IF (tebakan_user <> angka_rahasia) THEN
    PRINT "3X Salah terus!"
    SLEEP 500
    PRINT "Game Over, yang benar adalah " + STRING(angka_rahasia)
  END IF

  IF (tebakan_user = angka_rahasia) THEN 
    PRINT "Ya benar! Anda hebat!" 
  END IF 
End Sub

Anda perhatikan bahwa kali ini ada blok IF di dalam blok IF. Hal tersebut diperbolehkan anda boleh menempatkan IF di dalam IF sebanyak yang diperlukan. Hal semacam ini namanya NESTED (bersarang). Jadi IF yang ada di dalam IF disebutnya NESTED IF.

Saya akan jelaskan apa makna perintah salah satu nested IF di atas, saya hanya jelaskan salah satu karena yang lainnya memiliki makna sama.

  IF (tebakan_user <> angka_rahasia) THEN
    IF (tebakan_user > angka_rahasia) THEN
       PRINT "Salah! tebakannya terlalu besar"
    END IF
    IF (tebakan_user < angka_rahasia) THEN
       PRINT "Salah! tebakannya terlalu kecil"
    END IF
    
    ...
  END IF

Pada script di atas:
– perintah IF yang pertama adalah untuk mengecek apakah tebakan_user BERBEDA dengan angka_rahasia, kalau berbeda maka lakukan pengecekan berikutnya
– perintah IF yang kedua adalah untuk mengecek apakah tebakan_user LEBIH BESAR dari angka_rahasia, kalau IYA maka tampilkan tulisan “Salah ! tebakannya terlalu besar“, tapi kalau TIDAK, maka lakukan pengecekan berikutnya
– perintah IF berikutnya adalah untuk mengecek apakah tebakan_user LEBIH KECIL dari angka_rahasia, kalau IYA maka tampilkan tulisan “Salah ! tebakannya terlalu kecil
– kerjakan perintah selanjutnya…

Saya sangat menyarankan anda untuk melakukan eksperimen berdasarkan paparan di atas. Tidak perlu terburu-buru karena pemahaman mengenai perintah IF amat sangat penting, akan sangat terpakai kalau nantinya anda melanjutkan belajar bahasa pemograman lain. Coba berbagai skenario, buat game tebak angkanya menjadi lebih menarik lagi, bila menemukan error coba cari solusinya.

Sampai bertemu di materi berikutnya.

Bagikan ke teman-teman mu di sosmed


Download aplikasi FastTrack Online Course dari Play Store supaya bisa mendapatkan notifikasi ketika ada materi baru

Diskusi

  • 1

    Kombinasi ( HBD + Game )

    eko.firdaus

    Sub Main
    DIM angka_rahasia AS INTEGER
    DIM tebakan_user AS INTEGER
    dim umur as string
    dim b as integer

    input ” masukan nama lo ! “,umur
    print umur
    sleep 800
    angka_rahasia = RND(10) * 1
    INPUT “Tebak angka yang saya sembunyikan”, tebakan_user
    sleep 500
    IF (tebakan_user angka_rahasia) THEN
    IF (tebakan_user > angka_rahasia) THEN
    sleep 1000
    PRINT “Salah! tebakannya terlalu besar”
    END IF
    sleep 800
    IF (tebakan_user < angka_rahasia) THEN
    PRINT "Salah! tebakannya terlalu kecil"
    END IF
    SLEEP 800
    PRINT "Ayo coba lagi"
    SLEEP 800
    END IF

    INPUT "Tebak angka yang saya sembunyikan", tebakan_user
    sleep 800
    IF (tebakan_user angka_rahasia) THEN
    IF (tebakan_user > angka_rahasia) THEN
    PRINT “Salah! tebakannya terlalu besar”
    END IF
    IF (tebakan_user < angka_rahasia) THEN
    sleep 1000
    PRINT "Salah! tebakannya terlalu kecil"
    END IF
    SLEEP 500
    PRINT "Ayo coba 1x lagi"
    SLEEP 500
    INPUT "Tebak angka yang saya sembunyikan", tebakan_user
    END IF
    if (tebakan_user angka_rahasia) THEN
    PRINT “3X Salah terus!”
    SLEEP 500
    PRINT “Game Over, yang benar adalah ” + STRING(angka_rahasia)
    END IF
    IF (tebakan_user = angka_rahasia) THEN
    PRINT “Ya benar! Anda hebat!”
    print “h”
    sleep 1000
    print ” a”
    sleep 1000
    print ” p ”
    sleep 1000
    print ” p”
    sleep 1000
    print ” y”
    sleep 1000

    print ” b”
    sleep 1000
    print ” i”
    sleep 1000
    print ” r”
    sleep 1000
    print ” t”
    sleep 1000
    print ” h”
    sleep 1000
    print ” d”
    sleep 1000
    print ” a”
    sleep 1000
    print ” y”
    sleep 1000
    print umur
    sleep 1000

    print ” semoga sehat selalu 🙂 , panjang umurnya ”
    sleep 2000
    print ” dan semoga berkah umurnya ”
    sleep 2000
    print ” aamiin ”
    end if
    end sub