Langsung ke konten utama

Evaluasi dan Jelaskan

Ikon Kotak Peralatan Guru Kotak Peralatan Guru - Pengenalan Efisiensi Kode

Setelah siswa berlatih menulis rangkaian kode untuk menyelesaikan tugas tertentu, mereka akan diminta untuk menerapkan keterampilan tersebut dalam membaca rangkaian kode dan mengevaluasinya. Dalam aktivitas ini, siswa akan diberikan peta yang mirip dengan yang ada di bagian Bermain, dan diminta untuk melihat 3 urutan kode untuk memilih solusi yang disukai. Untuk setiap rangkaian, siswa akan menjawab 3 pertanyaan:

  • Apakah kode ini berhasil menyelesaikan tugasnya?

  • Jika berhasil, apa saja keunggulan kode ini dibandingkan kode lainnya?

  • Apa saja kekurangan kode ini dibandingkan dengan kode lainnya?

Kemudian, dengan melihat semua urutan tersebut, siswa akan diperkenalkan dengan gagasan efisiensi kode dan ditanya solusi mana yang mereka sukai—berdasarkan efisiensi dan preferensi mereka sendiri—dan untuk menjelaskan alasannya. Ini bisa menjadi titik awal untuk diskusi seluruh kelas tentang efisiensi dan akurasi dalam pengkodean.

Membaca Urutan Kode untuk Memilih Solusi yang Disukai

Saat kelas Anda mengerjakan bagian Bermain, Anda mungkin memperhatikan bahwa ada banyak solusi berbeda untuk masalah yang sama yang disajikan. Itu adalah sesuatu yang sering terjadi di dunia pemrograman. Meskipun ada berbagai cara untuk melakukan sesuatu, setiap orang pasti memiliki metode atau solusi pilihan, dan itu bisa didasarkan pada sejumlah faktor. Dalam aktivitas ini, kelompok Anda akan melihat 3 kemungkinan solusi blok kode untuk suatu masalah, mencari tahu apakah solusi tersebut berfungsi sesuai tujuan, kemudian memilih solusi yang disukai dari kelompok dan menjelaskan mengapa Anda memilihnya.

Masalahnya: Buat urutan yang, ketika robot mulai dari Titik Awal, akan bergerak masuk dan keluar dari ketiga ruang kelas (dalam urutan apa pun) dan kembali ke Titik Akhir. Robot tersebut harus menavigasi di sekitar tangga, dan dapat melewati pintu yang ditandai dengan persegi panjang kecil pada gambar peta.

Sketsa tata letak yang menunjukkan Titik Awal di pojok kiri bawah dan Titik Akhir di pojok kanan bawah. Di atas area Start terdapat Ruang A dengan pintu masuk yang menghadap ke area Start dan satu lagi di sebelah kanan, menghadap tangga di tengah. Tepat di sebelah kanan tangga terdapat Kamar B dan Kamar C yang bertumpuk di atas Ujung. Terdapat pintu masuk ke Kamar B dan C yang menghadap tangga, dan satu pintu yang menghubungkan keduanya.

  • Untuk setiap solusi di bawah ini, jawablah 3 pertanyaan berikut di buku catatan teknik Anda:
    • Apakah kode ini berhasil menyelesaikan tugasnya? Mengapa ya atau mengapa tidak?
    • Jika memang berhasil, apa saja keunggulan kode ini dibandingkan kode lainnya?
    • Apa saja kekurangan kode ini dibandingkan dengan kode lainnya?
  • Pada umumnya, pemrograman dievaluasi berdasarkan efisiensinya, dan solusi yang disukai adalah solusi yang mencapai tujuan dengan cara yang paling efisien.

Klik pada solusi di bawah ini untuk melihat gambar yang lebih besar.

Contoh solusi untuk tantangan yang terdiri dari 19 blok "Drive to" dan "Turn for" yang terhubung ke blok "When Started". Secara berurutan, balok-balok tersebut akan membuat robot berbelok 90 derajat ke kanan, maju 10 inci, berbelok 90 derajat ke kiri, maju 3 inci, kemudian mundur 6 inci, lalu berbelok 90 derajat ke kiri, maju 10 inci. Kemudian belok kanan 90 derajat, maju 8 inci dan mundur 4 inci, belok kanan 90 derajat, maju 10 inci. Kemudian belok kiri 90 derajat, maju 1 inci, belok kanan 90 derajat, maju 3 inci dan mundur 4 inci, lalu belok kanan 90 derajat dan maju 5 inci.
Solusi A (inci)

Contoh solusi dengan 11 blok Drive for dan Turn for yang terhubung ke blok When started. Secara berurutan, balok-balok tersebut akan membuat robot bergerak maju 10 inci, berbelok ke kiri 90 derajat, bergerak maju 1 inci, berbelok ke kiri 90 derajat, bergerak maju 1 inci, berbelok ke kanan 90 derajat, bergerak maju 10 inci, berbelok ke kanan 90 derajat, kemudian bergerak mundur 5 inci, berbelok ke kanan 90 derajat dan bergerak maju 10 inci.
Solusi B (inci)
Contoh solusi dengan 10 blok Drive for dan Turn for yang terhubung ke blok When started. Secara berurutan, balok-balok tersebut akan membuat robot bergerak maju sejauh 8 inci lalu 4 inci, berbelok ke kanan 90 derajat, bergerak maju sejauh 13 inci, berbelok ke kiri 90 derajat, bergerak maju sejauh 8 inci, berbelok ke kiri 90 derajat, bergerak maju sejauh 4 inci, berbelok ke kanan 90 derajat, dan bergerak mundur sejauh 5 inci.
Solusi C (inci)
Contoh solusi untuk tantangan yang terdiri dari 19 blok "Drive to" dan "Turn for" yang terhubung ke blok "When Started". Secara berurutan, balok-balok tersebut akan membuat robot berbelok 90 derajat ke kanan, maju 254 mm, berbelok 90 derajat ke kiri, maju 76 mm, kemudian mundur 152 mm, lalu berbelok 90 derajat ke kiri, maju 254 mm. Kemudian belok kanan 90 derajat, maju 203 mm dan mundur 101 mm, belok kanan 90 derajat, maju 254 mm. Kemudian belok kiri 90 derajat, maju 25 mm, belok kanan 90 derajat, maju 76 mm dan mundur 101 mm, lalu belok kanan 90 derajat dan maju 127 mm.
Solusi A (metrik)
Contoh solusi dengan 11 blok Drive for dan Turn for yang terhubung ke blok When started. Dengan menyusun balok-balok tersebut, robot akan bergerak maju 254 mm, berbelok kiri 90 derajat, bergerak maju 25 mm, berbelok kiri 90 derajat, bergerak maju 25 mm, berbelok kanan 90 derajat, bergerak maju 254 mm, berbelok kanan 90 derajat, kemudian bergerak mundur 127 mm, berbelok kanan 90 derajat, dan bergerak maju 254 mm.
Solusi B (metrik)
Contoh solusi dengan 10 blok Drive for dan Turn for yang terhubung ke blok When started. Secara berurutan, balok-balok tersebut akan membuat robot bergerak maju sejauh 203 mm, kemudian 101 mm, berbelok ke kanan 90 derajat, bergerak maju 330 mm, berbelok ke kiri 90 derajat, bergerak maju 203 mm, berbelok ke kiri 90 derajat, bergerak maju 10 mm, berbelok ke kanan 90 derajat, dan bergerak mundur sejauh 127 mm.
Solusi C (metrik)

Apa itu Efisiensi Kode?

Jika Anda perlu mengambil 3 barang dari dapur, Anda mungkin akan mengambil ketiga barang tersebut sekaligus, daripada melakukan 3 perjalanan terpisah. Mengapa? Karena itu akan lebih efisien. Efisien berarti “mencapai produktivitas maksimum dengan pemborosan upaya atau biaya seminimal mungkin.” Jadi, bagaimana hal itu terhubung dengan pemrograman?

Efisiensi kode berarti bahwa sebuah program ditulis agar berfungsi dengan baik dan cepat, menggunakan jumlah pekerjaan atau langkah yang paling sedikit, dengan benar, sambil tetap menjalankan tugasnya. Hal ini penting karena mengurangi risiko program tidak berfungsi dengan baik, dan pada gilirannya, menyebabkan masalah bagi bagian lain dari program yang berjalan di sekitarnya. Efisiensi suatu kode dapat menjadi ukuran kualitas, dan ketika kita menulis proyek di blok VEXcode IQ, kita sering mencari proyek yang paling "efisien" sebagai solusi pilihan.

Pada dasarnya, efisiensi kode adalah prinsip yang berarti Anda ingin menulis kode yang mencapai tujuan Anda menggunakan perintah, atau blok, sesedikit mungkin.

Di Buku Catatan Teknik Anda, jawab pertanyaan-pertanyaan berikut:

  • Dengan mempertimbangkan efisiensi kode, solusi mana yang Anda pilih dan mengapa?
  • Apakah menurut Anda itu solusi terbaik, mengapa atau mengapa tidak?

Ikon Kotak Peralatan Guru Jawaban untuk Kotak Peralatan Guru -

Jawabannya mungkin bervariasi karena tidak ada dimensi spesifik yang diberikan di atas untuk membuat urutan navigasi di sekitar tiga ruangan.
Klik di sini untuk contoh solusi yang mungkin.

Ikon Motivasi Diskusi Mendorong Diskusi

Meskipun efisiensi itu bermanfaat, kita seringkali memiliki pertimbangan lain tentang bagaimana atau mengapa kita melakukan sesuatu dengan cara tertentu. Mintalah siswa untuk membagikan jawaban mereka di Buku Catatan Teknik mereka, dan/atau gunakan pertanyaan ini untuk membingkai diskusi tentang keseimbangan antara efisiensi dan tindakan.
T: Dalam pemrograman, efisiensi biasanya merupakan metodologi yang lebih disukai; dapatkah Anda memikirkan alasan mengapa demikian?
J: Jawaban akan bervariasi, tetapi beberapa di antaranya meliputi:

  • Mengedit proyek agar lebih efisien akan membantu mereka yang mungkin akan mengerjakan proyek yang sama di masa mendatang. Sebagai contoh, jika Anda mengerjakan sebuah proyek dan beberapa hari kemudian meminta teman Anda untuk memperbarui proyek tersebut dan menambahkan beberapa hal lagi untuk meningkatkan fungsionalitasnya, akan lebih mudah bagi teman Anda untuk membaca dan mengerjakannya jika proyek tersebut ditulis secara efisien.

  • Proyek selalu rentan terhadap kesalahan. Semakin efisien suatu proyek ditulis, semakin kecil kemungkinan terjadinya kesalahan.

  • Para individu yang menggunakan pemrograman untuk mengendalikan robot industri mengandalkan efisiensi proyek-proyek tersebut agar dapat menghemat waktu, energi, dan sumber daya perusahaan.