Pelajaran 1.4
Rencana dulu, baru kode
6 menit · 7 langkah
Langkah 1 dari 7 · Penjelasan
Tulis rencana dalam 3 sampai 5 baris biasa sebelum ngoding. Setiap baris rencana nanti jadi satu atau dua baris kode.
Soal: "Return kata terpanjang. Kalau seri, return yang muncul duluan."
- Simpan kata pertama sebagai
best. - Cek setiap kata berikutnya.
- Kalau lebih panjang dari
best, gantibest. - Return
best.
Baris 3 bilang "lebih panjang", bukan "sama atau lebih panjang". Itu yang menjaga aturan seri.
- Simpan kata pertama sebagai
Langkah 2 dari 7 · Susun kodenya
Soal: "Return kata terpanjang. Kalau seri, return yang muncul duluan."
Rencana: simpan kata pertama sebagaibest, cek setiap kata berikutnya, gantibestkalau kata itu lebih panjang, lalu returnbest.Susun kodenya. Ada dua baris yang tidak termasuk.
return bestif (words[i].length >= best.length) {}for (let i = 1; i < words.length; i++) {best = words[i]let best = words[0]}if (words[i].length > best.length) {}for (let i = 1; i <= words.length; i++) {function solution(words) {Langkah 3 dari 7 · Tebak hasilnya
Apa yang di-return untuk
["cat", "dog", "ox"]?function solution(words) { let best = words[0] for (let i = 1; i < words.length; i++) { if (words[i].length > best.length) { best = words[i] } } return best}"cat""dog""ox"
Langkah 4 dari 7 · Pilih pendekatan
Soal: "Return index angka negatif pertama, atau -1 kalau tidak ada."
Rencana mana yang benar?- Cek setiap angka. Kalau negatif, return index-nya. Setelah loop selesai, return -1.
- Cek setiap angka. Kalau negatif, return index-nya. Kalau tidak, return -1.
- Cari angka terkecil, lalu return index-nya.
- Cek setiap angka. Kalau
nums[i] <= 0, return index-nya. Setelah loop, return -1.
Langkah 5 dari 7 · Tebak hasilnya
Soal: "Return index angka negatif pertama, atau -1 kalau tidak ada." Apa hasil kode ini untuk
[4, -2]?function solution(nums) { for (let i = 0; i < nums.length; i++) { if (nums[i] < 0) { return i } else { return -1 } } return -1}-110
Langkah 6 dari 7 · Tulis kodenya
solution(words)Ubah rencana ini jadi kode. Soal: "Return berapa kata di
wordsyang diawali hurufa."countmulai dari 0.- Cek setiap kata.
- Kalau huruf pertamanya
"a", tambah 1. - Return
count.
function solution(words) { // ["apel", "jeruk", "anggur"] -> 2 }Langkah 7 dari 7 · Ringkasan
- Tulis rencana 3 sampai 5 baris sebelum kode. Satu baris rencana, satu atau dua baris kode.
- Kata seperti "lebih" atau "pertama" di rencana menentukan
>atau>=. - Return "tidak ditemukan" ditaruh setelah loop, bukan di
elsedi dalam loop.