Langsung ke konten
Membaca soal

Pelajaran 1.4

Rencana dulu, baru kode

6 menit · 7 langkah

  1. 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."

    1. Simpan kata pertama sebagai best.
    2. Cek setiap kata berikutnya.
    3. Kalau lebih panjang dari best, ganti best.
    4. Return best.

    Baris 3 bilang "lebih panjang", bukan "sama atau lebih panjang". Itu yang menjaga aturan seri.

  2. Langkah 2 dari 7 · Susun kodenya

    Soal: "Return kata terpanjang. Kalau seri, return yang muncul duluan."
    Rencana: simpan kata pertama sebagai best, cek setiap kata berikutnya, ganti best kalau kata itu lebih panjang, lalu return best.

    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) {
  3. 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}
    1. "cat"
    2. "dog"
    3. "ox"
  4. Langkah 4 dari 7 · Pilih pendekatan

    Soal: "Return index angka negatif pertama, atau -1 kalau tidak ada."
    Rencana mana yang benar?

    1. Cek setiap angka. Kalau negatif, return index-nya. Setelah loop selesai, return -1.
    2. Cek setiap angka. Kalau negatif, return index-nya. Kalau tidak, return -1.
    3. Cari angka terkecil, lalu return index-nya.
    4. Cek setiap angka. Kalau nums[i] <= 0, return index-nya. Setelah loop, return -1.
  5. 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}
    1. -1
    2. 1
    3. 0
  6. Langkah 6 dari 7 · Tulis kodenya

    solution(words)

    Ubah rencana ini jadi kode. Soal: "Return berapa kata di words yang diawali huruf a."

    1. count mulai dari 0.
    2. Cek setiap kata.
    3. Kalau huruf pertamanya "a", tambah 1.
    4. Return count.
    function solution(words) {  // ["apel", "jeruk", "anggur"] -> 2 }
  7. 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 else di dalam loop.

    Kartu pola

    Rencana dalam kata biasa
    Kapan dipakai: Saat kamu bingung mau mulai dari mana. Kalau rencananya tidak bisa ditulis, kodenya juga belum bisa.
    // 1. mulai / start// 2. ulangi / repeat// 3. putuskan / decide// 4. return