Pelajaran 3: Memindahkan Dua Kubus
Pada Pelajaran sebelumnya, Anda mempelajari cara membuat kode Lengan 6-Sumbu untuk mengambil dan meletakkan Kubus di palet. Dalam Pelajaran ini, Anda akan membangun apa yang Anda pelajari untuk memindahkan beberapa Kubus ke palet. Anda akan belajar cara:
- Rencanakan lokasi pelepasan Kubus yang akan Anda taruh di palet.
- Kodekan Lengan 6-Sumbu untuk memindahkan dua Kubus dengan sukses ke palet.
Pada akhir Pelajaran, Anda akan melanjutkan proyek Anda untuk mengambil dan menempatkan empat Kubus pada palet dalam Aktivitas.

Berpikir Tentang Posisi di Palet
Pada Pelajaran sebelumnya Anda memindahkan satu Kubus ke palet, dan meletakkannya di tengah. Salah satu manfaat pengiriman barang dalam jumlah besar menggunakan palet adalah banyak objek dapat diangkut sekaligus. Agar dapat melakukan ini secara efektif, objek-objek tersebut perlu diatur secara efisien agar perusahaan dapat mengemas lebih banyak barang pada setiap palet yang mereka kirim.
Palet akan menjadi cara yang tidak efisien dan mahal untuk memindahkan satu atau dua objek kecil, seperti situasi menempatkan satu Kubus di tengah palet. Namun, menempatkan lebih banyak Kubus di palet membuat pengiriman lebih efisien dan hemat biaya. 
Untuk melakukan ini, kita perlu memikirkan di mana masing-masing Kubus akan ditempatkan pada palet. Sepanjang Pelajaran ini Anda akan mempelajari cara membuat kode Lengan 6-Sumbu untuk menggerakkan beberapa Kubus dan meletakkannya secara efektif pada palet secara bersamaan.
Tempatkan Kubus Pertama
Proyek Anda dari Pelajaran 2 memindahkan satu Kubus ke pusat palet. Langkah pertama untuk menempatkan beberapa Kubus adalah menyesuaikan lokasi pelepasan Kubus pertama – menempatkannya di sudut palet.
Buka proyek Anda dari Pelajaran 2 di VEXcode EXP.

Ubah nama proyek menjadi Unit 7 Pelajaran 3,dan simpan ke perangkat Anda.

Letakkan Kubus di sudut palet.
Gerakkan Lengan 6-Sumbu secara manual sehingga Magnet menyentuh bagian atas Kubus.

Pastikan Lengan 6-Sumbu terhubung ke VEXcode.
Pilih ikon Monitor di Toolbar untuk membuka Monitor.

Catat koordinat x dan y dari Monitor Console di buku catatan teknik Anda. Ini akan menjadi koordinat x dan y lokasi pelepasan Kubus.
Ingat bahwa Lengan 6-Sumbu akan bergerak di atas lokasi pelepasan sebelum memindahkan Kubus ke palet. Ini berarti Anda tidak perlu mencatat nilai z.

Masukkan koordinat x dan y lokasi penurunan baru ke dalam proyek Anda. Koordinat z harus tetap sama, sehingga Lengan 6-Sumbu tetap berada di atas lokasi pelepasan.
Pastikan untuk menggunakanpada koordinat Anda, karena yang ditampilkan di sini hanyalah contoh, dan mungkin berbeda dari koordinat yang Anda catat sendiri.

Pastikan Lengan 6-Sumbu terhubung ke VEXcode dan Kubus ditempatkan di zona pemuatan.
Jalankan proyek untuk mengujinya. Amati perilaku Lengan 6-Sumbu. Apakah ia mengambil dan meletakkan Kubus di sudut palet sebagaimana dimaksud? Mengapa atau mengapa tidak?

Hentikan proyek ketika Lengan 6-Sumbu berhenti bergerak. Catatlah pengamatan Anda di buku catatan teknik Anda.

Memindahkan Kubus Kedua
Sekarang setelah Kubus pertama berada di lokasi pelepasan yang baru, ada ruang pada palet untuk menempatkan kubus tambahan. Perilaku yang sama yang digunakan untuk menggerakkan Kubus pertama akan diulang untuk menggerakkan Kubus kedua. Lengan 6-Sumbu perlu bergerak ke lokasi pengambilan yang sama, mengikat Magnet, memindahkan Kubus ke palet, dan melepaskan Kubus.
Ada beberapa strategi pengkodean yang dapat Anda coba untuk membantu memindahkan kedua Kubus dengan sukses.
Menambahkan Blok Pengulangan
Mengetahui bahwa serangkaian perilaku akan diulang, strategi pertama yang dicoba adalah menggunakan blok Ulangi. Seperti yang Anda pelajari di Unit sebelumnya, blok Ulangi berguna untuk mengulang blok atau tumpukan blok dalam suatu proyek.
Tambahkan blok Ulangi ke proyek Anda di bawah blok Atur efektor akhir , seperti yang ditunjukkan dalam video ini.
Seret blok Pindahkan Kubus ke palet Komentar ke blok Ulangi , seperti yang ditunjukkan dalam video ini. Ini akan menyeret semua blok berikutnya ke blok Ulangi juga.
Sekarang, semua balok yang dibutuhkan untuk mengambil dan meletakkan Kubus dari lokasi pengambilan hingga sudut palet dapat diulang.
Tetapkan parameter di blok Ulangi ke 2.
Karena Anda mencoba memindahkan dua Kubus ke palet, perilaku akan diulang dua kali.

Bacalah kode yang telah Anda buat, dan prediksi apa yang akan dilakukan Lengan 6-Sumbu saat proyek dijalankan.
Catat prediksi Anda di buku catatan teknik Anda. Anda mungkin ingin membuat sketsa lintasan Lengan 6-Sumbu, atau menggambar tempat Kubus akan diletakkan pada palet.

Pastikan Lengan 6-Sumbu terhubung ke VEXcode.
Jalankan proyek untuk mengujinya. Amati perilaku Lengan 6-Sumbu saat proyek dijalankan.

Hentikan proyek saat Lengan 6-Sumbu selesai bergerak. Catatlah pengamatan Anda di buku catatan teknik Anda.
Apakah Lengan 6-Sumbu berhasil memindahkan kedua Kubus ke palet? Mengapa atau mengapa tidak?

Ini tidak menggerakkan Kubus kedua sebagaimana mestinya, dan menyebabkan kesalahan. Karena Kubus pertama diletakkan pada posisi itu, maka Kubus kedua tidak dapat diletakkan pula pada lokasi yang sama. Lengan 6-Sumbu tidak dapat mencapai lokasi, jadi terjadi kesalahan.
Untuk meletakkan Kubus kedua pada palet, kita perlu menggeser Kubus ini ke posisi terbuka pada palet.
Pindahkan Kubus Kedua Relatif terhadap Kubus Pertama
Mengetahui posisi Kubus pertama pada palet, berarti Kubus berikutnya dapat ditempatkan relatif terhadap Kubus pertama. Anda telah mempelajari tentang gerak relatif pada Unit sebelumnya, dan sekarang dapat menerapkan konsep tersebut untuk membantu menempatkan Kubus kedua.
Untuk mencapai sudut palet berikutnya, Lengan 6-Sumbu akan bergerak ke arah positif sepanjang sumbu y. 
Dengan menggunakan apa yang diketahui tentang ukuran Kubus, offset yang dibutuhkan untuk menempatkan Kubus kedua dapat ditentukan. Offset adalah perbedaan antara lokasi saat ini dan lokasi yang diinginkan suatu objek. Pada palet, offset untuk Kubus kedua adalah jarak antara pusat Kubus pertama dan pusat Kubus kedua pada lokasi yang diinginkan.
Jika sebuah Kubus memiliki lebar 25 mm, kita dapat memperkirakan bahwa offsetnya adalah 50 mm.
Sekarang setelah Anda mengetahui jarak dan arah pergerakan relatif yang dibutuhkan, informasi ini dapat ditambahkan ke proyek.
Tambahkan blok Posisi kenaikandengan menyeretnya dari Toolbar dan di tengah bagian komentar Pindahkan Kubus ke palet blok, seperti yang ditunjukkan dalam video ini.
Atur parameter y ke 50. Ini menunjukkan pergerakan relatif 50mm sepanjang sumbu y.

Baca kodenya, dan prediksi perilaku Lengan 6-Sumbu.
Catat prediksi Anda di buku catatan teknik Anda. Apakah menurut Anda proyek ini akan berhasil menempatkan kedua Kubus di lokasi yang diinginkan? Mengapa atau mengapa tidak?

Pastikan Lengan 6-Sumbu terhubung ke VEXcode. Jalankan proyek untuk mengujinya.
Amati perilaku Lengan 6-Sumbu.

Hentikan proyek saat Lengan 6-Sumbu selesai bergerak. Catatlah pengamatan Anda di buku catatan teknik Anda.
Apakah pengamatan Anda sesuai dengan prediksi Anda? Apakah kedua Kubus dipindahkan ke lokasi yang dituju pada palet? Mengapa atau mengapa tidak?

Seperti yang mungkin telah Anda prediksi, proyek ini juga tidak memindahkan kedua Kubus ke lokasi yang dituju. Blok Posisi kenaikan dengan benar memindahkan Lengan 6-Sumbu ke posisi yang diinginkan untuk Kubus kedua. Akan tetapi, karena semua perilaku diulang,danKubus dipindahkan ke lokasi ini. Ini menciptakan kesalahan yang sama seperti proyek sebelumnya, hanya di lokasi yang berbeda pada palet.
Tujuannya adalah menempatkan Kubus pertama di lokasi pertama dan Kubus kedua di lokasi kedua pada palet. Agar berhasil melakukannya, proyek perlu melacak Kubus mana yang dipindahkan. Jika Kubus pertama dipindahkan, ia harus pergi ke lokasi pertama. Jika Kubus kedua dipindahkan, ia dapat ditempatkan di lokasi kedua.
Memindahkan Dua Kubus Menggunakan Variabel dan Blok Jika maka
Untuk melacak Kubus mana yang sedang dipindahkan, suatu variabel dapat dibuat dan digunakan dalam proyek untuk pada dasarnya 'menghitung' Kubus saat sedang dimanipulasi. Variabel dapat digunakan untuk menyimpan informasi tentang Kubus mana yang sedang dipindahkan. Informasi ini kemudian dapat digunakan untuk membuat keputusan dalam proyek –jikaLengan 6-Sumbu menggerakkan Kubus kedua,makaharus memindahkannya ke lokasi kedua pada palet.
Buat variabel dan beri nama CubeCount. Pilih Kirim untuk membuat variabel.
Anda dapat mengunjungi Unit 6 Pelajaran 2 untuk pengingat tentang cara membuat variabel dalam VEXcode.

Tambahkan blok variabel Set ke proyek di atas blok Ulangi , seperti yang ditunjukkan dalam video ini.
Tetapkan parameter ke 1. Pastikan variabel CubeCount dipilih dalam dropdown.
Saat proyek dimulai, Kubus pertama akan diambil. Karena tujuan dari variabel ini adalah untuk memberi nomor pada Kubus yang sedang dipindahkan, maka variabel ini perlu disetel ke '1' untuk memulai.

Sebelumnya, posisi Kenaikanblokditambahkan untuk memindahkan Lengan 6-Sumbu ke lokasi pelepasan kedua. Untuk memindahkan Kubus pertama ke lokasi pelepasan, blok ini perlu dihapus.
Klik kanan pada blok Increment positiondan hapus, seperti yang ditunjukkan dalam video ini.
Tambahkan blok Ubah variabel ke bagian bawah blok Ulangi , seperti yang ditunjukkan dalam video ini.
Ketika proyek dijalankan, Kubus pertama akan dipindahkan ke lokasi penyerahan. Menambahkan blok variabel Ubah di sini akan menyebabkan CubeCount meningkat setelah Cube pertama dikirimkan. Ketika blok Ulangi berputar kembali untuk mengambil Kubus kedua, variabelnya bertambah '2', yang menunjukkan bahwa Kubus kedua sedang dipindahkan.
Sekarang proyek telah menyimpan informasi mengenai jumlah Kubus, kita dapat menggunakan informasi tersebut untuk mengambil keputusan. Blok Jika maka memungkinkan kita mengajukan pertanyaan dalam suatu proyek, dan menggunakan informasi (seperti nilai variabel) untuk membuat keputusan. 
Blok Jika maka adalah blok C yang menerima blok reporter Boolean sebagai kondisi. Blok Boolean mengembalikan kondisi sebagai BENAR atau SALAH, dan cocok di dalam blok mana pun dengan masukan heksagonal. Jika kondisi dilaporkan sebagai BENAR, maka blok dalam blok C akan berjalan. Jika kondisi dilaporkan sebagai SALAH, blok Jika maka akan dilewati dalam proyek.
Dalam hal ini, kondisi yang kita cari adalah variabel CubeCount menjadi 2. Jikavariabel CubeCount adalah 2,makaLengan 6-Sumbu perlu dipindahkan ke posisi kedua pada palet.
Mari kita pikirkan di bagian mana dalam proyek keputusan itu perlu dibuat. Proyek akan mengambil Cube di zona pemuatan, lalu bergerak di atas lokasi pelepasan. JikaCubeCount adalah 2,makaLengan 6-Sumbu perlu melakukan perilaku ekstra untuk berpindah ke posisi palet kedua. 
Tambahkan blok Jika maka ke proyek seperti yang ditunjukkan di sini.

Tambahkan blok Sama dengan ke dalam ruang heksagonal di blok Jika maka , seperti yang ditunjukkan dalam video ini.
Tambahkan variabel CubeCount ke sisi kiri operator Sama dengan . Atur sisi kanan operator Sama dengan ke 2, seperti yang ditunjukkan dalam video ini.
Jika variabel CubeCount sama dengan 2, kondisi Boolean akan dilaporkan sebagai TRUE. Jika CubeCount bukan 2, maka kondisi Boolean akan dilaporkan sebagai FALSE.
Tambahkan blok posisi Increment di dalam blok C seperti yang ditunjukkan dalam video ini.
Tetapkan parameter-y dari blok Posisi kenaikan ke 50.
Bila kondisi blok Jika maka terpenuhi, maka blok Posisi kenaikan di dalam blok Jika maka akan dieksekusi. Artinya jika CubeCount adalah 2, maka Lengan 6-Sumbu akan melakukan gerakan relatif ke posisi kedua pada palet.

Baca kodenya dan prediksi apa yang akan dilakukan Lengan 6-Sumbu saat proyek dijalankan.
Catat prediksi Anda di buku catatan teknik Anda.

Pastikan Lengan 6-Sumbu terhubung ke VEXcode. Jalankan proyek untuk mengujinya.
Amati perilaku Lengan 6-Sumbu saat proyek berjalan.

Hentikan proyek ketika Lengan 6-Sumbu selesai bergerak. Catatlah pengamatan Anda di buku catatan teknik Anda.
Apakah Lengan 6-Sumbu bergerak seperti yang Anda prediksi? Apakah kedua Kubus dipindahkan ke palet sebagaimana dimaksud? Mengapa atau mengapa tidak?

Untuk Informasi Anda
Anda mungkin ingin menjalankan proyek beberapa kali, sehingga Anda dapat memperhatikan blok yang berjalan saat Lengan 6-Sumbu bergerak. Cari sorotan di sekitar blok saat dijalankan dalam proyek, untuk membantu Anda lebih memahami kapan blok Jika maka dijalankan. Anda juga dapat menggunakan fitur Langkah untuk menjalankan proyek satu blok pada satu waktu, untuk membantu Anda melihat alur proyek dengan blok Jika maka dengan lebih jelas. 
Ingatlah bahwa Anda dapat menambahkan variabel ke Monitor, untuk membantu melihat nilai CubeCount saat proyek berjalan. Untuk menambahkan variabel ke Monitor, seret variabel ke ikon Monitor di Ruang Kerja, seperti yang ditunjukkan dalam video ini. Saat Anda menjalankan proyek, pastikan untuk memperhatikan variabel di Monitor, untuk membantu Anda melihat hubungan antara nilai variabel dan alur proyek.
Meninjau Proyek
Mari kita tinjau proses pemecahan masalah yang digunakan untuk memecahkan tantangan menempatkan dua Kubus pada palet. Ada beberapa iterasi proyek untuk membuat Lengan 6-Sumbu menggerakkan kedua Kubus sebagaimana dimaksudkan:
- Blok Ulangi ditambahkan untuk mengulangi perilaku yang diperlukan untuk mengambil, memindahkan, dan mengantarkan Kubus ke palet.
- Blok posisi Incrementditambahkan untuk memindahkan Kubus kedua ke posisi terbuka pada palet.
- Variabel ditambahkan untuk menghitung Kubus, sehingga keputusan dapat dibuat berdasarkan Kubus mana yang dipindahkan.
- Blok Jika maka ditambahkan untuk membuat keputusan berdasarkan nilai variabel.
Semua iterasi ini bersama-sama menciptakan sebuah proyek yang mengangkat dan mengirimkan kedua Cube dengan sukses. Saat Kubus kedua diambil, Lengan 6-Sumbu kembali menggerakkan Kubus di atas lokasi pelepasan awal pada palet. Lalu, keputusan pun diambil.
Karena CubeCount adalah '2', blok di dalam blok Jika maka berjalan, menggerakkan Kubus sepanjang sumbu y ke posisi palet yang diinginkan.
Proses berulang yang Anda lakukan sepanjang Pelajaran ini adalah sesuatu yang akan terus Anda lakukan setiap kali Anda memecahkan tantangan dengan Lengan 6-Sumbu. Penting untuk diingat bahwa sebagian besar tantangan pengkodean tidak akan terpecahkan dengan sempurna pada percobaan pertama. Proses perencanaan, pembangunan, pengujian, dan evaluasi ini merupakan proses yang dapat mengarahkan kelompok Anda untuk menemukan solusi kreatif. Sebagian besar tantangan dapat dipecahkan dengan berbagai cara, jadi dengan terlibat dalam proses ini secara kolaboratif, Anda dapat menemukan strategi yang paling tepat untuk kelompok Anda.
Aktivitas
Sekarang setelah Anda memindahkan dua Kubus dari zona pemuatan ke palet, Anda akan melatih keterampilan ini. Dalam kegiatan ini, Anda akan membangun proyek Anda dari Pelajaran ini untuk mengodekan Lengan 6-Sumbu yang memindahkan empat Kubus ke palet.
Aktivitas:Kodekan Lengan 6-Sumbu untuk menempatkan empat Kubus pada satu palet.
- Rencanakan bagaimana Anda akan membangun proyek Anda untuk mengkode Lengan 6-Sumbu untuk mengambil Kubus tambahan dari zona pemuatan dan meletakkannya di palet bersama kelompok Anda. Pastikan Anda semua sepakat dengan pendekatan Anda sebelum mulai mengedit proyek.
- Dokumentasikan rencana Anda di buku catatan teknik Anda.
- Ganti nama proyek AndaUnit 7 Pelajaran 3 Aktivitasdan simpan ke perangkat Anda sebelum Anda mulai mengedit proyek.
- Edit proyek dalam VEXcode agar sesuai dengan rencana yang disetujui grup Anda.
- Jalankan proyek untuk mengujinya. Tempatkan Kubus kedua, ketiga, dan keempat secara manual di zona pemuatan setelah setiap Kubus ditempatkan.
- Apakah Lengan 6-Sumbu berhasil menggerakkan Kubus sesuai keinginan Anda? Seharusnya ada empat Kubus pada palet. Jika tidak, teruskan mengedit proyek hingga Anda berhasil menempatkan keempat Kubus.
Periksa Pemahaman Anda
Sebelum melanjutkan ke Pelajaran berikutnya, pastikan Anda memahami konsep dalam Pelajaran ini dengan menjawab pertanyaan berikut di buku catatan teknik Anda.
Pertanyaan Periksa Pemahaman Anda >(Google Doc / .docx / .pdf)
PilihBerikutnya >untuk melanjutkan ke Aktivitas Menyatukan Semuanya.