Anonymous Function & Function Handle (@)
Penjelasan
Anonymous function dibuat dengan `@(parameter) ekspresi` — fungsi ringkas satu ekspresi tanpa perlu file `.m` terpisah. Tanda `@` juga dipakai sebagai function handle — merujuk ke fungsi yang SUDAH ADA (termasuk fungsi bawaan) sebagai nilai yang bisa disimpan/dikirim ke fungsi lain, seperti `arrayfun`.
Contoh Konsep
kuadrat = @(x) x^2;
kuadrat(5) % 25
tambah = @(a, b) a + b;
tambah(3, 4) % 7
% Function handle untuk fungsi bawaan, dipakai di arrayfun
angka = [1 2 3 4 5];
arrayfun(@(x) x^2, angka) % [1 4 9 16 25]
arrayfun(@sqrt, angka) % akar kuadrat tiap elemen, pakai function handle langsung
Praktikum
Buat anonymous function diskon = @(harga, persen) ... yang menghitung harga setelah diskon, lalu panggil dengan angka contoh.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
`arrayfun(@fungsi, array)` adalah pola umum menerapkan sebuah fungsi ke SETIAP elemen array satu per satu — mirip `map` di bahasa functional, berguna kalau operasinya tidak bisa dilakukan lewat broadcasting elemen-wise biasa.