Lompat ke isi utama

Evaluasi dan Jelaskan

Ikon Kotak Alat Guru Kotak Alat Guru - Memperkenalkan Efisiensi Kode

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

  • Apakah kode ini menyelesaikan tugasnya?

  • Jika berhasil, apa kelebihan kode ini dibandingkan kode lainnya?

  • Apa saja kekurangan kode ini dibandingkan kode lainnya?

Kemudian, dengan melihat semua urutan tersebut, siswa akan diperkenalkan pada gagasan efisiensi kode dan ditanya apa solusi pilihan mereka—berdasarkan efisiensi dan preferensi mereka sendiri—dan menjelaskan alasannya. Ini dapat menjadi batu loncatan 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 cara berbeda untuk melakukan sesuatu, setiap orang akan memiliki metode atau solusi yang disukai, dan itu dapat didasarkan pada sejumlah faktor. Dalam kegiatan ini, kelompok Anda akan meninjau 3 kemungkinan solusi blok kode untuk suatu masalah, mencari tahu apakah solusi tersebut berfungsi sesuai tujuan, lalu memilih solusi yang disukai dari kelompok dan menjelaskan alasan Anda memilihnya.

Masalahnya: Buat urutan yang, saat robot mulai di Awal, akan berjalan masuk dan keluar dari semua 3 ruang kelas (dalam urutan apa pun) dan kembali ke titik Akhir. Robot harus menavigasi tangga, dan dapat melewati pintu yang ditandai oleh persegi panjang kecil pada gambar peta.

Sketsa tata letak yang menunjukkan Awal di sudut kiri bawah dan Akhir di sudut kanan bawah. Di atas Start terdapat Ruang A dengan pintu yang menghadap ke start dan satu di sebelah kanan, menghadap tangga di tengah. Tepat di sebelah kanan tangga terdapat Ruang B dan Ruang C yang ditumpuk di atas Ujung. Ada pintu menuju Kamar B dan C yang menghadap tangga, dan satu pintu yang menghubungkan keduanya.

  • Untuk setiap solusi di bawah ini, jawablah 3 pertanyaan ini di buku catatan teknik Anda:
    • Apakah kode ini menyelesaikan tugasnya? Mengapa atau mengapa tidak?
    • Jika berhasil, apa kelebihan kode ini dibandingkan kode lainnya?
    • Apa saja kekurangan kode ini dibandingkan kode lainnya?
  • Sering kali, pemrograman dievaluasi berdasarkan efisiensinya, dan solusi yang dipilih adalah solusi yang mampu mencapai tujuan dengan cara seefisien mungkin.

Klik solusi di bawah untuk melihat gambar yang lebih besar.

Contoh solusi untuk tantangan yang terdiri dari 19 Berkendara ke dan Belok untuk blok yang terhubung ke blok Saat Memulai. Secara berurutan, balok-balok akan membuat robot Belok kanan 90 derajat, melaju maju 10 inci, belok kiri 90 derajat, melaju maju 3 inci, lalu mundur 6 inci, lalu belok kiri 90 derajat, melaju 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, kemudian 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 melaju maju sejauh 10 inci, belok kiri sejauh 90 derajat, melaju maju sejauh 1 inci, belok kiri sejauh 90 derajat, melaju maju sejauh 1 inci, belok kanan sejauh 90 derajat, melaju maju sejauh 10 inci, belok kanan sejauh 90 derajat, lalu mundur sejauh 5 inci, belok kanan sejauh 90 derajat, dan melaju maju sejauh 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 melaju maju sejauh 8 inci, lalu 4 inci, berbelok ke kanan sejauh 90 derajat, melaju maju sejauh 13 inci, berbelok ke kiri sejauh 90 derajat, melaju maju sejauh 8 inci, berbelok ke kiri sejauh 90 derajat, melaju maju sejauh 4 inci, berbelok ke kanan sejauh 90 derajat, dan melaju mundur sejauh 5 inci.
Solusi C (inci)
Contoh solusi untuk tantangan yang terdiri dari 19 Berkendara ke dan Belok untuk blok yang terhubung ke blok Saat Memulai. Secara berurutan, balok-balok akan membuat robot Belok kanan 90 derajat, melaju maju 254mm, belok kiri 90 derajat, melaju maju 76mm, lalu mundur 152mm, lalu belok kiri 90 derajat, melaju maju 254mm. Kemudian belok kanan 90 derajat, maju 203mm dan mundur 101mm, belok kanan 90 derajat, maju 254mm. Kemudian belok kiri 90 derajat, maju 25mm, belok kanan 90 derajat, maju 76mm dan mundur 101mm, kemudian belok kanan 90 derajat dan maju 127mm.
Solusi A (metrik)
Contoh solusi dengan 11 blok Drive for dan Turn for yang terhubung ke blok When started. Secara berurutan balok-balok tersebut akan membuat robot melaju maju sejauh 254mm, belok kiri sejauh 90 derajat, melaju maju sejauh 25mm, belok kiri sejauh 90 derajat, melaju maju sejauh 25mm, belok kanan sejauh 90 derajat, melaju maju sejauh 254mm, belok kanan sejauh 90 derajat, lalu mundur sejauh 127mm, belok kanan sejauh 90 derajat, dan melaju maju sejauh 254mm.
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 melaju maju sejauh 203 mm, kemudian 101 mm, belok kanan sejauh 90 derajat, melaju maju sejauh 330 mm, belok kiri sejauh 90 derajat, melaju maju sejauh 203 mm, belok kiri sejauh 90 derajat, melaju maju sejauh 10 mm, belok kanan sejauh 90 derajat, dan mundur sejauh 127 mm.
Solusi C (metrik)

Apa itu Efisiensi Kode?

Jika Anda perlu mengambil 3 benda dari dapur, Anda mungkin akan mengambil ketiga benda tersebut sekaligus, alih-alih melakukan 3 perjalanan terpisah. Mengapa? Karena akan lebih efisien. Efisien berarti “mencapai produktivitas maksimum dengan usaha atau biaya yang terbuang seminimal mungkin.” Jadi bagaimana hubungannya dengan pemrograman?

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

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

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

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

Ikon Kotak Alat Guru Kotak Alat Guru - Jawaban

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

Ikon Motivasi Diskusi Memotivasi Diskusi

Meskipun efisiensi berguna, kita sering 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 alasannya?
J: Jawaban akan bervariasi, tetapi beberapa di antaranya meliputi:

  • Mengedit proyek agar lebih efisien akan membantu mereka yang mungkin mengerjakan proyek yang sama di masa mendatang. Misalnya, jika Anda mengerjakan suatu proyek, lalu beberapa hari kemudian meminta teman Anda memperbarui proyek tersebut dan menambahkan beberapa item lagi guna 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.

  • Individu yang menggunakan pemrograman untuk mengendalikan robot industri mengandalkan efisiensi proyek tersebut agar dapat menghemat waktu, tenaga, dan sumber daya perusahaan.