You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
122 lines
5.0 KiB
122 lines
5.0 KiB
<!--
|
|
CO_OP_TRANSLATOR_METADATA:
|
|
{
|
|
"original_hash": "8abcada0534e0fb3a7556ea3c5a2a8a4",
|
|
"translation_date": "2025-10-24T14:22:02+00:00",
|
|
"source_file": "2-js-basics/4-arrays-loops/assignment.md",
|
|
"language_code": "ms"
|
|
}
|
|
-->
|
|
# Tugasan Array dan Gelung
|
|
|
|
## Arahan
|
|
|
|
Selesaikan latihan berikut untuk berlatih bekerja dengan array dan gelung. Setiap latihan membina konsep daripada pelajaran dan menggalakkan anda untuk menggunakan pelbagai jenis gelung dan kaedah array.
|
|
|
|
### Latihan 1: Penjana Corak Nombor
|
|
Buat program yang menyenaraikan setiap nombor ke-3 antara 1-20 dan cetak ke konsol.
|
|
|
|
**Keperluan:**
|
|
- Gunakan gelung `for` dengan kenaikan tersuai
|
|
- Paparkan nombor dalam format mesra pengguna
|
|
- Tambahkan komen deskriptif yang menerangkan logik anda
|
|
|
|
**Output Dijangka:**
|
|
```
|
|
3, 6, 9, 12, 15, 18
|
|
```
|
|
|
|
> **Tip:** Ubah ekspresi iterasi dalam gelung for anda untuk melangkau nombor.
|
|
|
|
### Latihan 2: Analisis Array
|
|
Buat array dengan sekurang-kurangnya 8 nombor berbeza dan tulis fungsi untuk menganalisis data.
|
|
|
|
**Keperluan:**
|
|
- Buat array bernama `numbers` dengan sekurang-kurangnya 8 nilai
|
|
- Tulis fungsi `findMaximum()` yang mengembalikan nombor tertinggi
|
|
- Tulis fungsi `findMinimum()` yang mengembalikan nombor terendah
|
|
- Tulis fungsi `calculateSum()` yang mengembalikan jumlah semua nombor
|
|
- Uji setiap fungsi dan paparkan hasilnya
|
|
|
|
**Cabaran Bonus:** Buat fungsi yang mencari nombor kedua tertinggi dalam array.
|
|
|
|
### Latihan 3: Pemprosesan Array String
|
|
Buat array filem/buku/lagu kegemaran anda dan berlatih menggunakan pelbagai jenis gelung.
|
|
|
|
**Keperluan:**
|
|
- Buat array dengan sekurang-kurangnya 5 nilai string
|
|
- Gunakan gelung `for` tradisional untuk memaparkan item dengan nombor (1. Nama Item)
|
|
- Gunakan gelung `for...of` untuk memaparkan item dalam huruf besar
|
|
- Gunakan kaedah `forEach()` untuk mengira dan memaparkan jumlah aksara
|
|
|
|
**Contoh Output:**
|
|
```
|
|
Traditional for loop:
|
|
1. The Matrix
|
|
2. Inception
|
|
3. Interstellar
|
|
|
|
For...of loop (uppercase):
|
|
THE MATRIX
|
|
INCEPTION
|
|
INTERSTELLAR
|
|
|
|
Character count:
|
|
Total characters across all titles: 42
|
|
```
|
|
|
|
### Latihan 4: Penapisan Data (Lanjutan)
|
|
Buat program yang memproses array objek yang mewakili pelajar.
|
|
|
|
**Keperluan:**
|
|
- Buat array sekurang-kurangnya 5 objek pelajar dengan sifat: `name`, `age`, `grade`
|
|
- Gunakan gelung untuk mencari pelajar yang berumur 18 tahun atau lebih
|
|
- Kira purata gred semua pelajar
|
|
- Buat array baru yang hanya mengandungi pelajar dengan gred melebihi 85
|
|
|
|
**Struktur Contoh:**
|
|
```javascript
|
|
const students = [
|
|
{ name: "Alice", age: 17, grade: 92 },
|
|
{ name: "Bob", age: 18, grade: 84 },
|
|
// Add more students...
|
|
];
|
|
```
|
|
|
|
## Menguji Kod Anda
|
|
|
|
Uji program anda dengan:
|
|
1. Menjalankan setiap latihan dalam konsol penyemak imbas anda
|
|
2. Memastikan output sepadan dengan hasil yang dijangka
|
|
3. Menguji dengan set data yang berbeza
|
|
4. Memeriksa bahawa kod anda menangani kes tepi (array kosong, elemen tunggal)
|
|
|
|
## Garis Panduan Penyerahan
|
|
|
|
Sertakan perkara berikut dalam penyerahan anda:
|
|
- Kod JavaScript yang dikomen dengan baik untuk setiap latihan
|
|
- Tangkapan skrin atau output teks yang menunjukkan program anda berjalan
|
|
- Penjelasan ringkas tentang jenis gelung yang anda pilih untuk setiap tugas dan sebabnya
|
|
|
|
## Rubrik
|
|
|
|
| Kriteria | Cemerlang (3 mata) | Memadai (2 mata) | Perlu Penambahbaikan (1 mata) |
|
|
| -------- | ------------------ | ---------------- | ----------------------------- |
|
|
| **Fungsi** | Semua latihan diselesaikan dengan betul termasuk cabaran bonus | Semua latihan yang diperlukan berfungsi dengan betul | Sebahagian latihan tidak lengkap atau mengandungi kesilapan |
|
|
| **Kualiti Kod** | Kod bersih, teratur dengan nama pemboleh ubah deskriptif | Kod berfungsi tetapi boleh lebih kemas | Kod bersepah atau sukar difahami |
|
|
| **Komen** | Komen menyeluruh yang menerangkan logik dan keputusan | Komen asas ada | Komen minimum atau tiada |
|
|
| **Penggunaan Gelung** | Menunjukkan pemahaman tentang pelbagai jenis gelung dengan betul | Menggunakan gelung dengan betul tetapi variasi terhad | Penggunaan gelung yang salah atau tidak cekap |
|
|
| **Ujian** | Bukti ujian menyeluruh dengan pelbagai senario | Ujian asas ditunjukkan | Sedikit bukti ujian |
|
|
|
|
## Soalan Refleksi
|
|
|
|
Selepas menyelesaikan latihan, pertimbangkan:
|
|
1. Jenis gelung mana yang paling mudah digunakan dan mengapa?
|
|
2. Cabaran apa yang anda hadapi semasa bekerja dengan array?
|
|
3. Bagaimana kemahiran ini boleh digunakan dalam projek pembangunan web dunia sebenar?
|
|
4. Apa yang akan anda lakukan secara berbeza jika anda perlu mengoptimumkan kod anda untuk prestasi?
|
|
|
|
---
|
|
|
|
**Penafian**:
|
|
Dokumen ini telah diterjemahkan menggunakan perkhidmatan terjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Walaupun kami berusaha untuk ketepatan, sila ambil perhatian bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya harus dianggap sebagai sumber yang berwibawa. Untuk maklumat penting, terjemahan manusia profesional adalah disyorkan. Kami tidak bertanggungjawab atas sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini. |