Terus Berputar

PASTIKAN ANDA SUDAH MENGIKUTI DAN MEMAHAMI MATERI-MATERI SEBELUM INI

Sampai juga kita di penghujung kelas kursus belajar jadi programmer tanpa komputer. Ada 39 materi yang sudah dilalui. Wow! Bukan perjalanan yang mudah, terutama untuk yang baru pertama kali belajar, anda harus bangga pada diri sendiri karena telah berhasil menambah pengetahuan dan skill baru. Mari kita selesaikan langkah ke 40 ! Semangat !

Di materi terakhir kita sudah belajar perintah FOR yang membuat komputer bisa mengulang-ngulang perintah sebanyak yang kita inginkan. Kita juga sudah tahu manfaatnya yang bisa mengoptimalkan script. Namun demikian ada 1 kelemahan untuk perintah FOR ini, yaitu kita harus menentukan berapa kali pengulangannya harus dilakukan.

Bagaimana kalau kita ingin komputer terus mengulang sampai suatu kondisi terpenuhi. Maksudnya?

Begini, bagaimana kalau di script tebak-tebakan kita ingin komputer terus memberikan kesempatan pada user untuk menebak sampai si user berhasil. Kita tidak bisa prediksi user perlu berapa kali menebak sampai akhirnya berhasil.

Mari kita buat algoritmanya:

  1. Komputer menyembunyikan angka acak
  2. Komputer minta user untuk menebak
  3. Ulangi terus langkah 2 sampai user menebak angka dengan benar

Itu adalah algoritma yang sudah disederhanakan, langkah-langkah wajib seperti membuat variable tidak perlu disampaikan lagi karena itu sudah pasti ada.

Untuk menjawab permasalah tersebut, bahasa BASIC menyediakan perintah looping lain yang pengulangannya tergantung pada KONDISI, bukan ditentukan jumlahnya seperti perintah FOR.

Perintah tersebut adalah:

WHILE (kondisi yang dicek)
  ...
  (perintah yang harus dijalankan selama kondisi terpenuhi)
  ....
END WHILE

Tanpa panjang lebar langsung kita praktekan

Sub Main
  DIM angka_rahasia AS INTEGER
  DIM tebakan_user AS INTEGER
  DIM kesempatan AS INTEGER
  angka_rahasia = RND(10) * 1

  WHILE tebakan_user <> angka_rahasia
    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
    END IF
  END WHILE

  PRINT "Ya akhirnya tebakan anda benar! Hebat!"   
End Sub

Perintah WHILE di atas artinya “jalankan seluruh script dalam blok ini selama tebakan_user berbeda dengan angka_rahasia“.
Jadi  selama anda belum menebak dengan benar komputer akan terus bertanya, begitu jawaban anda benar maka langsung perintah WHILE nya jadi tidak berlaku dan komputer akan lanjut ke perintah selanjutnya (setelah WHILE) yaitu PRINT "Ya akhirnya tebakan anda benar! Hebat!"

Pengulangan berdasarkan kondisi ini sangat sering digunakan terutama di script-script game. Contohnya di game Mario Bross, komputer akan terus memutar musik background sampai si Marionya mati. Kura-kuranya yang jalan bolak balik juga dikendalikan oleh proses pengulangan : “terus jalan sampai mentok lalu balik arah”. Dan masih banyak lagi contoh lainnya.

Coba anda lihat game yang anda sukai lalu coba kenali adakah bagian yang diulang-ulang berdasarkan sebuah kondisi.

Oleh karena itu, pemahaman tentang cara kerja perintah pengulangan ini akan menjadi modal yang sangat berharga dalam perjalanan anda selanjutnya sebagai seorang programmer.

Silahkan coba bereksperimen dengan perintah ini sampai anda bisa mengenali dan memahami benar cara kerjanya.

Sebagai salam perpisahan, saya akan tulis script tapi bukan untuk komputer, melainkan untuk kita semua:

WHILE tubuh <> mati
  TERUS BELAJAR DAN BERKARYA
END WHILE

Selamat menjadi seorang programmer!

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

    kok harus berakhir

    ferdi

    Terimakasih kang arie atas ilmu yg diberikan..
    Tp pengen terus ngembangin,adakah jilid 2 nya kang?

    • Arie Agung

      Rencananya akan ada seri ke-2 nya karena materi di kelas yang ini ditujukan untuk yang betul-betul awam sekali jadi materinya tidak terlalu mendalam dan berfokus untuk mengenalkan dasar-dasar pemograman.

      Nanti di materi di kelas berikutnya akan disusun berdasarkan asumsi bahwa yang mengikuti sudah tidak awam lagi, jadi pembahasannya bisa lebih dalam.

  • 1

    Nanya

    eko.firdaus

    Kang Kalo mau basil outputnya kaya Sistema menu gimana ya Kang ?
    Contoh :
    Apabila user tekan angka 1 lari ke menu pengurutan angka ( ascending )

    Kalo angka 2 ke urutan angka ( discending )
    Mohon jawabannya kang