Pelajaran 8 – Tebak-tebakan

Kita sudah membuat apliksi ngobrol dengan komputer, sekarang kita akan buat aplikasi game tebak-tebakan dengan memanfaatkan perintah IF …THEN

Dalam game ini komputer akan menyimpan satu angka lalu meminta user untuk menebak angka tersebut. Kita akan buat secara bertahap guna memahami perintah-perintah yang diberikan.

Silahkan ketik script berikut:

Sub Main
  DIM angka_rahasia AS INTEGER
  DIM tebakan_user AS INTEGER

  angka_rahasia = 42
 
  INPUT "Tebak angka yang saya sembunyikan", tebakan_user
  
  IF (tebakan_user = angka_rahasia) THEN
    PRINT "WOW! Tebakan kamu benar!"
  END IF
End Sub

Run, lalu coba masukan angka 42

Coba masukan angka yang lain, apa hasilnya? kosong..kok begitu?

Perintah IF (tebakan_user = angka_rahasia) THEN bila diterjemahkan ke dalam bahasa kita artinya “kalau isi variable tebakan_user sama dengan isi variable angka_rahasia maka kerjakan perintah di dalam blok

Isi dari variable angka_rahasia adalah 42, jadi ketika user memasukan angka 42 maka si komputer langsung mengerjakan perintah yang ada di dalam blok. Apa isi bloknya?  PRINT "WOW! Tebakan kamu benar!"

Tapi ketika user mengisikan angka yang lain, maka isi dari variable tebakan_user jadi tidak sama dengan isi variable angka_rahasia karena itu perintah yang ada di dalam blok IF tersebut tidak akan dijalankan.
Makanya layar jadi kosong karena tidak ada perintah yang dijalankan.

Sekarang bagaimana caranya supaya komputer bisa merespon kalau tebakan user salah?

Caranya dengan menambahkan perintah IF lagi, tapi kali ini kita beri perintahnya “kalau tidak sama dengan maka…”
Simbol “tidak sama dengan” dalam bahasa BASIC adalah “<>“, jadi kita ketik:

IF (tebakan_user <> angka_rahasia) THEN
  ...
END IF

Kita tinggal masukan perintah untuk merespon tebakan salah ke dalam blok IF tersebut. Berikut contoh script lengkapnya:

Sub Main
  DIM angka_rahasia AS INTEGER
  DIM tebakan_user AS INTEGER

  angka_rahasia = 42
 
  INPUT "Tebak angka yang saya sembunyikan", tebakan_user
  
  IF (tebakan_user = angka_rahasia) THEN
    PRINT "WOW! Tebakan kamu benar!"
  END IF

  IF (tebakan_user <> angka_rahasia) THEN
    PRINT "Tebakan kamu salah!"
    SLEEP 500
    PRINT "Yang betul itu adalah " + STRING(angka_rahasia)
  END IF
End Sub

Coba run, lalu coba masukan tebakan yang salah…bagaimana? keren kan? si komputer jadi bisa memberi respon terhadap jawaban benar dan jawaban salah.

Silahkan coba modifikasi scriptnya, buat skenario lain, utak atik sampai mengerti penggunaan perintah IF.

Kalau ada yang belum jelas silahkan tanyakan di kolom diskusi.

Di materi selanjutnya kita akan buat game tebak-tebakannya menjadi lebih menantang.

 

 

 

Bagikan ke teman-teman mu di sosmed


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

Diskusi

  • 0

    Keren

    eko.firdaus

    GA Sabar material selanjutnya 🙂

  • 1

    Nanya

    eko.firdaus

    Kang mau nanya Kalo mau bikin basil outputnya kaya seolah-olah so Komputer ngetik per huruf , gimana scriptnya Kang ?

    • Arie Agung

      kalau memunculkan huruf per huruf bisa tapi ke bawah, bukan ke samping. ini salah satu kekurangan dari bahasa BASIC.

  • 2

    kang..kalo tbakan nya slah bagaiman cara menghentikan supaya tidak lanjut ke script berikutnya..!!

    Risman Munadi

    Kang
    Sub Main
    DIM jawaban AS INTEGER
    DIM name_user AS INTEGER
    name_user = 12
    INPUT ” Who Are You..? “,jawaban
    SLEEP 500
    IF (name_user = 12) THEN
    PRINT ” Waiting ”
    End IF
    IF (jawaban name_user)THEN
    PRINT ” No Match ”
    SLEEP 500
    End IF
    DIM angka_rahasia AS INTEGER
    DIM tebakan_user AS INTEGER
    angka_rahasia = 100
    SLEEP 500
    INPUT ” silahkan masukan pasword anda..? “,tebakan_user
    IF(tebakan_user = angka_rahasia)THEN
    PRINT ” Waiting ”
    End IF
    IF(tebakan_user angka_rahasia)THEN
    PRINT ” Salah,harap isi dengan benar ”
    End IF
    End Sub
    Kang…bagaimana caranya menghentikan script kalo tebakan user salah..tapi kalo benar lanjut…???

    • Arie Agung

      Pertanyaan yang sangat bagus dan modifikasi script yang sangat menarik.

      Untuk mendapatkan hasil seperti yang diinginkan tersebut kita bisa modifikasi scriptnya dengan cara memasukan seluruh script yang hanya dijalankan bila tebakannya benar ke dalam blok IF yang mengecek jawaban benar.

      Contoh modifikasinya bisa dilihat ini :
      http://pastebin.com/LjQb06ck

    • Alfarizi

      Seperti ini modifnya ya om…

      sub main
      print “Mari Bermain Tebak Tebakan”
      sleep 2000
      print “”
      print “Kamu Hanya Diberikan 3 Kali Kesempatan Untuk Menebak Angka Yang Dirahasiakan”
      sleep 2000
      print “”
      print “Kamu Siap?”
      sleep 2000
      print “”

      dim angka_rahasia as integer
      dim tebakan_user as integer
      dim tebakan2 as integer
      dim tebakan3 as integer

      angka_rahasia=10

      input “TEBAK ANGKA YANG SAYA RAHASIAKAN”,tebakan_user
      sleep 1000

      if (tebakan_user=angka_rahasia) then
      print “Wooww…! tebakan kamu benar.!!!”
      end if

      if (tebakan_userangka_rahasia) then
      print “Oops…Tebakan kamu salah…!!!”
      sleep 1000

      input “COBA LAGI?”,tebakan_user
      sleep 2000
      print “”

      if (tebakan_user=angka_rahasia) then
      print “Woww…! tebakan kamu benar.!!!”
      end if

      if(tebakan_userangka_rahasia)then
      print “Maaf…Tebakan ke 2 kamu juga masih salah”
      sleep 2000
      print “”

      print “Kamu Masih Punya 1 Kesempatan Menebak Lagi”
      sleep 2000

      input “COBA LAGI?”,tebakan_user
      sleep 1000
      print “”

      if (tebakan_user=angka_rahasia) then
      print “Woww…! tebakan kamu benar.!!!”
      end if

      if(tebakan_userangka_rahasia) then
      print “Kamu Gagal Menebak Angka Yang Saya Rahasiakan”
      sleep 2000
      print “”

      print “Angka Yang Saya Rahasiakan adalah “+string(angka_rahasia)
      sleep 2000
      print “”

      print “SILAKAN MENCOBA DI LAIN WAKTU…TERIMA KASIH”
      end if
      end if
      end if
      end sub

  • 1

    keren om

    taufiq

    Sub Main
    DIM angka_rahasia AS INTEGER
    DIM tebakan_user AS INTEGER
    angka_rahasia = 42
    INPUT “Tebak angka yang saya sembunyikan”, tebakan_user
    if (angka_rahasia = tebakan_user)then
    print “wow tebakan ente benar”
    sleep 1000
    print ” jawabanya adalah ” + string (angka_rahasia) + “???”
    end if
    if (angka_rahasia tebakan_user)then
    print “bodoh bukan itu”
    sleep 3000
    print “jawabanya adalah ” + string(angka_rahasia) + “???”
    end if
    end sub

  • 0

    kira2 ini menyerupai yang diatas gak kang

    Zhaida Brotherprint

    SUB MAIN

    DIM jawaban AS String
    DIM Nama_Gadget AS String
    Nama_Gadget = “Haries”
    PRINT Nama_Gadget +” : Hai Nama saya ” + Nama_Gadget + ” Pemilik Gadget ini”

    Sleep 3000

    INPUT “Siapa nama kamu?”, jawaban
    PRINT Nama_Gadget +” : Siapa nama kamu ?”
    PRINT jawaban +” : Nama saya ” +jawaban
    PRINT Nama_Gadget +” : Hallo ” + jawaban
    PRINT jawaban +” : Hallo juga “+ Nama_Gadget

    Sleep 3000

    DIM Kelamin As String
    DIM Gender As String

    Kelamin = “L”

    INPUT “Jenis Kelamin L/P ?”, Gender

    IF ( Kelamin = Gender ) Then

    Sleep 3000

    DIM umur1 As String
    DIM Usiaku1 As String
    Usiaku1 = “27”

    INPUT “Berapa usia kamu ” +jawaban + ” ?”, umur1
    PRINT Nama_Gadget +” : Berapa usia kamu “+ jawaban+” ?”
    PRINT jawaban+ ” : Usiaku ” +umur1+ ” Tahun”
    PRINT Nama_Gadget +” : Owh, Usiaku “+ Usiaku1 +” Tahun”

    DIM UmurUserLk As Integer
    DIM Usia_SayaLk As Integer
    DIM Beda_UmurLk As Integer
    UmurUserLk = Umur1
    Usia_SayaLk = Usiaku1
    Beda_UmurLk = UmurUserLk – Usia_SayaLk

    PRINT jawaban +” : Wah, ternyata usia kita beda “+ String (Beda_UmurLk)+ ” Tahun ”

    IF ( UmurUserLk = Usia_SayaLk ) Then
    PRINT Nama_Gadget + ” : Ahayyy, Ternyata kita seumuran bro !!! ”

    Sleep 4000

    DIM Alamatlo1 As String
    DIM Alamatgw1 As String
    Alamatgw1 = “Jalan Tambora Dalam”

    INPUT “Rumah lo dimana bro ?”, Alamatlo1
    PRINT Nama_Gadget +” : Rumah lo dimana bro ?”
    PRINT jawaban +” : Gw tinggal di “, Alamatlo1
    PRINT Nama_Gadget +” : Kalo Rumah gw di “, Alamatgw1
    END IF

    IF ( UmurUserLk > Usia_SayaLk ) Then
    PRINT Nama_Gadget +” : Waduh, harus panggil Abang nih”

    Sleep 4000

    DIM Alamat_Abang1 As String
    DIM Alamat_Saya1 As String
    Alamat_Saya1 = “Jalan Tambora Dalam”

    INPUT “Rumah Abang dimana ?”, Alamat_Abang1
    PRINT Nama_Gadget +” : Rumah Bang ” +jawaban+ ” dimana ?”
    PRINT jawaban +” : Abang sih tinggal di “, Alamat_Abang1
    PRINT Nama_Gadget +” : Kalo Rumah saya sih di “+ Alamat_Saya1 +” Bang.”
    END IF

    IF ( UmurUserLk < Usia_SayaLk ) Then
    PRINT Nama_Gadget +" : heleh, heleh, kayaknya lo perlu cium tangan Gw nih"

    Sleep 4000

    DIM AlamatAdek1 As String
    DIM AlamatAbang1 As String
    AlamatAbang1 = "Jalan Tambora Dalam"

    INPUT "Rumahnya dimana Tong ?", AlamatAdek1
    PRINT Nama_Gadget +" : Rumah lo dimane tong ?"
    PRINT jawaban +" : Saya tinggal di " + AlamatAdek1 +" bang"
    PRINT Nama_Gadget +" : Kalo Rumah Abang di "+ AlamatAbang1 +" tong."
    END IF

    END IF

    IF ( Kelamin Gender ) Then

    Sleep 3000

    DIM umur2 As String
    DIM Usiaku2 As String
    Usiaku2 = “27”

    INPUT “Berapa usia kamu ” +jawaban + ” ?”, umur2
    PRINT Nama_Gadget +” : Berapa usia kamu “+ jawaban+” ?”
    PRINT jawaban+ ” : Usiaku ” +umur2+ ” Tahun”
    PRINT Nama_Gadget +” : Owh, Usiaku “+ Usiaku2 +” Tahun”

    DIM UmurUsercw As Integer
    DIM Usia_Sayacw As Integer
    DIM Beda_Umurcw As Integer
    UmurUsercw = Umur2
    Usia_Sayacw = Usiaku2
    Beda_Umurcw = UmurUsercw – Usia_Sayacw

    PRINT jawaban +” : Wah, ternyata usia kita beda “+ String (Beda_Umurcw)+ ” Tahun ”

    IF ( UmurUsercw = Usia_Sayacw ) Then
    PRINT Nama_Gadget + ” : Ahayyy, Ternyata kita seumuran bro !!! ”

    Sleep 4000

    DIM Alamatlo2 As String
    DIM Alamatgw2 As String
    Alamatgw2 = “Jalan Tambora Dalam”

    INPUT “Cewe, Alamat Rumahnya donk ?”, Alamatlo2
    PRINT Nama_Gadget +” : Cewe… Rumahnya dimana yah ?”
    PRINT jawaban +” : Rumahku di “, Alamatlo2
    PRINT Nama_Gadget +” : Kalo Rumah gw sih di “, Alamatgw2
    END IF

    IF ( UmurUsercw > Usia_Sayacw ) Then
    PRINT Nama_Gadget +” : Waduh, harus panggil Kakak nih”

    Sleep 4000

    DIM Alamat_Abang2 As String
    DIM Alamat_Saya2 As String
    Alamat_Saya2 = “Jalan Tambora Dalam”

    INPUT “Rumah Kakak dimana ?”, Alamat_Abang2
    PRINT Nama_Gadget +” : Rumah Kak ” +jawaban+ ” dimana ?”
    PRINT jawaban +” : Kakak sih tinggal di “, Alamat_Abang2
    PRINT Nama_Gadget +” : Kalo Rumah aku sih di “+ Alamat_Saya2 +” Kak.”
    END IF

    IF ( UmurUsercw < Usia_Sayacw ) Then