Ringkasan BAB 4
Selamat!
Section titled “Selamat!”Kamu telah menyelesaikan BAB 4: Function — salah satu bab paling penting dalam seluruh guidebook ini. Function adalah alat yang akan kamu gunakan setiap hari sebagai programmer.
Function Cheat Sheet
Section titled “Function Cheat Sheet”Bentuk Dasar
Section titled “Bentuk Dasar”function namaFunction(param: tipe): tipeReturn { return nilai}Void (Tidak Mengembalikan Nilai)
Section titled “Void (Tidak Mengembalikan Nilai)”function cetakSalam(nama: string): void { console.log(`Halo, ${nama}!`)}Optional Parameter
Section titled “Optional Parameter”function f(wajib: string, opsional?: string): void { }Default Parameter
Section titled “Default Parameter”function f(param: string, default1: string = "nilai"): void { }Rest Parameter
Section titled “Rest Parameter”function f(...angka: number[]): number { }Anonymous Function
Section titled “Anonymous Function”const fn = function(a: number): number { return a * 2}Arrow Function
Section titled “Arrow Function”const fn = (a: number): number => a * 2const fnMultiline = (a: number): number => { return a * 2}Parameter vs Argument
Section titled “Parameter vs Argument”| Parameter | Argument | |
|---|---|---|
| Definisi | Variabel di definisi function | Nilai nyata saat memanggil |
| Letak | Di dalam () saat function |
Di dalam () saat pemanggilan |
| Contoh | function f(nama: string) |
f("Andi") |
Perbandingan Gaya Function
Section titled “Perbandingan Gaya Function”| Gaya | Sintaks | Kapan Dipakai |
|---|---|---|
| Named | function nama() {} |
Function utama yang dipanggil berulang |
| Anonymous | const fn = function() {} |
Disimpan ke variabel, sekali pakai |
| Arrow | const fn = () => {} |
Ringkas, callback, operasi sederhana |
Return Value
Section titled “Return Value”return nilai— mengembalikan nilai dan menghentikan function.: void— tidak ada return value.- Setiap jalur kode non-void wajib ada
return. - Bisa ada banyak
return(early return) di dalam percabangan.
Checklist BAB 4
Section titled “Checklist BAB 4”- Bisa membuat function dengan
function - Memahami perbedaan parameter dan argument
- Bisa membuat function dengan return value
- Bisa membuat function dengan beberapa parameter
- Bisa membuat optional parameter dengan
? - Bisa membuat default parameter dengan
= - Bisa membuat rest parameter dengan
... - Bisa membuat anonymous function
- Bisa membuat arrow function dalam berbagai bentuk
- Memahami konsep callback
- Memahami local scope vs global scope
- Menyelesaikan studi kasus sistem nilai
- Menyelesaikan mini project kalkulator
- Sudah mencoba 10 challenge
Hal Penting yang Harus Diingat
Section titled “Hal Penting yang Harus Diingat”1. Mendefinisikan ≠ Memanggil — function harus dipanggil!2. Tipe wajib cocok — TypeScript menjaga ini3. Variabel lokal tidak bisa keluar function — gunakan return4. Optional dan default parameter harus di belakang5. Arrow function: { return x } = x (implicit return)Menghubungkan BAB 1–4
Section titled “Menghubungkan BAB 1–4”BAB 1: let nama = "Putra" → variabel menyimpan dataBAB 2: if (nilai >= 75) { ... } → kondisi membuat keputusanBAB 3: for (const n of arr) { ... }→ loop memproses banyak dataBAB 4: function hitung(a, b) { } → function menyimpan logikaBersama-sama, empat konsep ini adalah fondasi dari hampir semua program yang pernah dibuat.
Latihan Penutup
Section titled “Latihan Penutup”Tanpa melihat contoh, buat src/bab4/review-bab4.ts:
- Buat function
hitungDiskon(harga, persen = 10). - Buat function
formatHarga(nominal)yang mengembalikan"Rp[nominal]". - Buat array empat produk dengan nama dan harga.
- Gunakan loop + function untuk menampilkan harga asli dan harga diskon setiap produk.
- Hitung dan tampilkan total harga setelah diskon.
Pesan untuk Kamu
Section titled “Pesan untuk Kamu”Function adalah cara berpikir, bukan sekadar sintaks. Setiap kali kamu menemukan kode yang berulang atau logika yang bisa dinamai dengan jelas — buat menjadi function.
Programmer terbaik bukan yang menulis kode paling banyak. Programmer terbaik adalah yang menulis kode paling sedikit dan paling jelas — dengan function.