1
Berfikir
2
Lakukan
3
Uji
4
Renung

1. Berfikir

Masalah

Masalah 1

Seorang kanak-kanak sedang cuba membaling selipar ke arah susunan selipar untuk menjatuhkannya. Ini merupakan asas dalam permainan tradisional tuju selipar iaitu seorang pemain pada jarak tertentu perlu membaling satu selipar ke arah satu susunan selipar untuk meruntuhkannya. Tentunya permainan ini boleh diubahsuai dengan menjadikan AkalBOT sebagai pemusnah susunan selipar.


Masalah 2

Namun, bagaimana AkalBOT dapat diprogramkan supaya dapat menjatuhkan selipar. Ini bermaksud satu atur cara perlu dimuat naik ke AkalBOT untuk bergerak ke arah lokasi selipar. Jarak di antara selipar (lokasi B) dengan tempat AkalBOT mula bergerak (lokasi A) adalah lebih 60 cm. Namun, pergerakan AkalBOT hanya terbatas dengan 3 pergerakan berbeza iaitu pergerakan terus, belok kanan dan berhenti. Bagaimana menyelesaikan masalah ini?

Analisis Masalah

Mari kita analisis masalah ini menggunakan teknik pemikiran komputasional iaitu penguraian.


Penguraian

Masalah utama dalam misi tuju selipar ialah bagaimana untuk menyusun pergerakan AkalBOT supaya berjaya meruntuhkan selipar dengan jarak 60 cm daripada ianya bermula dan terhad kepada tiga jenis pergerakan sahaja. Oleh itu, masalah ini boleh dihuraikan mengikut urutan pergerakan.


Berapakah huraian pergerakan yang terhasil?

Jawapan


Reka bentuk atur cara

Berdasarkan huraian pergerakan, langkah demi langkah untuk menyelesaikan masalah iaitu algoritma perlu dikenal pasti. Untuk menggambarkan algoritma menggunakan bentuk tertentu, carta alir boleh digunakan. Carta alir terdiri daripada bentuk tertentu untuk mengambarkan fungsinya. Rujuk CARTA ALIR untuk belajar mengenai bentuk dalam carta alir. Contohnya bentuk segi empat tepat adalah menunjukkan aksi.

Apakah langkah yang perlu untuk melengkapkan carta alir ini?

Masalah 2

Jawapan

2. Lakukan

Pengekodan

Algoritma dalam bentuk carta alir yang dibangunkan dalam fasa reka bentuk merupakan asas untuk fasa pengekodan dengan menggunakan bahasa pengaturcaraan yang sesuai. Bahasa yang digunakan untuk implementasi algoritma ialah C++. Bahasa ini digunakan untuk memberi arahan kepada AkalBOT untuk bergerak bagi menjatuhkan selipar. Arahan ini dipanggil atur cara. AkalBOT tidak boleh berfikir sendiri, kita yang mengatur pergerakan AkalBOT menggunakan atur cara. Mari kita lakukan pengekodan iaitu membangunkan kod atur cara menggunakan AkalBLOK.

Mari Lakukan

Dengan menggunakan AkalBLOK, susun blok untuk mengerakkan AkalBOT supaya AkalBOT bergerak menuju ke selipar berdasarkan urutan carta alir. Blok yang terlibat adalah:

  • Blok Motor: Pergerakan Terus, Berhenti, dan Belok Kanan.
  • Blok Input/Output: Delay dan Exit.
Masalah 1
Mari lihat video dibawah

Selepas mengabungkan semua blok, perhatikan kod yang membentuk atur cara lengkap di sebelah kanan editor.

Masalah 1

3. Menguji

Pengujian

Mari uji bagaimana atur cara yang dibangunkan dapat mengerakkan AkalBOT untuk menjatuhkan selipar.

Masalah 2 1) Susun padang permainan supaya sesuai dengan laluan AkalBOT.
Masalah 2 2) Kemudian, susun tiga selipar secara menegak pada lokasi yang sesuai seperti lokasi B.

Dengan menggunakan Editor Arduino, kompil atur cara yang dibangunkan. Rujuk bahagian Kompil Aturcara untuk langkah menguji atur cara. Kemudian, letak AkalBot pada satu lokasi yang anda rasakan sesuai dengan kod anda pada padang permainan seperti lokasi A. Larikan AkalBOT dengan menekan butang On bermula daripada lokasi tersebut.

video 2

Jika anda tidak berjaya menjatuhkan selipar menggunakan AkalBOT, ubahsuai nilai pada blok delay dan uji semula sehingga berjaya.

video 3

Jika anda telah berjaya menjatuhkan selipar, tahniah diucapkan. Mari teroka lokasi baharu untuk AkalBOT bermula selain daripada lokasi A. Tanpa perlu mengubah atur cara, ubah 4 atau 5 papan permainan supaya lokasi A untuk AkalBot berubah tetapi lokasi selipar tetap sama. Semoga berjaya!

Masalah 2

4. Merenung

Cuba renungkan bagaimana AkalBOT boleh bergerak menggunakan atur cara yang anda bangunkan. Mengapa ada ketika AkalBOT tidak bergerak seperti yang anda mahukan?

                void loop()
                {
                    terus();
                    delay(2300);
                    berhenti();

                    belokkanan();
                    delay(400);
                    berhenti();

                    terus();
                    delay(800);
                    berhenti();
                    exit(0);
                }
            
Masalah 1

Semuanya bergantung pada arahan yang anda berikan melalui atur cara. Contohnya arahan terus () yang membolehkan komponen servo motor pada tayar bergerak ke hadapan pada jarak yang selaras dengan nilai delay. Jom lihat apa yang ada dalam arahan terus:

                void terus()
                {
                    ServoL.write(0);
                    ServoR.write(180);
                }
            

Ternyata arahan ini mengawal bagaimana servo motor kanan dan kiri bergerak.

Masalah 1

Pengecaman corak bagaimana AkalBOT bergerak membolehkan anda memilih lokasi lain untuk menjatuhkan selipar. Bagaimana jika ada lebih daripada satu lokasi selipar pada satu masa?



FAKULTI TEKNOLOGI DAN SAINS MAKLUMAT

Faculty of Information Science & Technology, Universiti Kebangsaan Malaysia, 43600 Bangi Selangor, MALAYSIA


Dr. Nazatul Aini Abd Majid
Project Researcher
E-mel: nazatulaini@ukm.edu.my
Research Office, Level 2, Block H:
+6 03 8921 6089 / 6758
+6 03 8921 6094

Facebook Instagram Youtube


© , FTSM UKM