Ketika kita berpikir tentang menulis kode, kita selalu ingin memastikan kode kita dapat dibaca. Meskipun ini terdengar berlawanan dengan intuisi, kode dibaca lebih banyak kali daripada yang tertulis. Salah satu alat inti dalam kotak alat pengembang untuk memastikan kode yang dapat dipelihara adalah **function (fungsi)**.
Ketika kita berpikir tentang menulis kode, kita selalu ingin memastikan kode kita dapat dibaca. Meskipun ini terdengar berlawanan dengan intuisi, kode dibaca lebih banyak kali daripada yang tertulis. Salah satu alat inti dalam kotak alat pengembang untuk memastikan kode yang dapat dipelihara adalah **function (fungsi)**.
@ -21,7 +23,8 @@ Sama pentingnya adalah kemampuan untuk menamai suatu fungsi. Meskipun ini mungki
Sintaks untuk suatu fungsi terlihat seperti berikut:
Sintaks untuk suatu fungsi terlihat seperti berikut:
```javascript
```javascript
function nameOfFunction() { // definisi fungsi
function nameOfFunction() {
// definisi fungsi
// definisi fungsi/tubuh
// definisi fungsi/tubuh
}
}
```
```
@ -30,7 +33,7 @@ Jika saya ingin membuat fungsi untuk menampilkan salam, mungkin akan terlihat se
```javascript
```javascript
function tampilkanSapaan() {
function tampilkanSapaan() {
console.log('Hello, world!');
console.log("Hello, world!");
}
}
```
```
@ -58,9 +61,7 @@ Agar suatu fungsi lebih dapat digunakan kembali, Anda sering kali ingin menyampa
Parameter dicantumkan di bagian definisi dalam tanda kurung dan dipisahkan dengan koma seperti ini:
Parameter dicantumkan di bagian definisi dalam tanda kurung dan dipisahkan dengan koma seperti ini:
```javascript
```javascript
function nama(param, param2, param3) {
function nama(param, param2, param3) {}
}
```
```
Kita dapat memperbarui `tampilkanSapaan` kita untuk menerima sebuah nama dan menampilkannya.
Kita dapat memperbarui `tampilkanSapaan` kita untuk menerima sebuah nama dan menampilkannya.
@ -75,7 +76,7 @@ function tampilkanSapaan(nama) {
Ketika kita ingin memanggil fungsi kita dan memasukkan parameternya, kita tentukan di dalam tanda kurung.
Ketika kita ingin memanggil fungsi kita dan memasukkan parameternya, kita tentukan di dalam tanda kurung.
```javascript
```javascript
tampilkanSapaan('Christopher');
tampilkanSapaan("Christopher");
// Menampilkan "Hello, Christopher!" ketika dijalankan
// Menampilkan "Hello, Christopher!" ketika dijalankan
```
```
@ -84,7 +85,7 @@ tampilkanSapaan('Christopher');
Kita dapat membuat fungsi kita lebih fleksibel dengan menambahkan lebih banyak parameter. Tetapi bagaimana jika kita tidak ingin setiap nilai ditentukan? Sesuai dengan contoh sapaan kita, kita bisa membiarkan nama sesuai kebutuhan (kita perlu tahu siapa yang kita sapa), tapi kita ingin membiarkan sapaan itu sendiri disesuaikan sesuai keinginan. Jika seseorang tidak ingin menyesuaikannya, kita memberikan nilai default sebagai gantinya. Untuk memberikan nilai default ke parameter, kita menyetelnya dengan cara yang sama seperti kita menyetel nilai untuk variabel - `namaParameter = 'nilaiDefault'`. Berikut contoh lengkapnya:
Kita dapat membuat fungsi kita lebih fleksibel dengan menambahkan lebih banyak parameter. Tetapi bagaimana jika kita tidak ingin setiap nilai ditentukan? Sesuai dengan contoh sapaan kita, kita bisa membiarkan nama sesuai kebutuhan (kita perlu tahu siapa yang kita sapa), tapi kita ingin membiarkan sapaan itu sendiri disesuaikan sesuai keinginan. Jika seseorang tidak ingin menyesuaikannya, kita memberikan nilai default sebagai gantinya. Untuk memberikan nilai default ke parameter, kita menyetelnya dengan cara yang sama seperti kita menyetel nilai untuk variabel - `namaParameter = 'nilaiDefault'`. Berikut contoh lengkapnya:
```javascript
```javascript
function tampilkanSapaan(nama, salam='Hello') {
function tampilkanSapaan(nama, salam = "Hello") {
console.log(`${salam}, ${nama}`);
console.log(`${salam}, ${nama}`);
}
}
```
```
@ -92,10 +93,10 @@ function tampilkanSapaan(nama, salam='Hello') {
Ketika kita memanggil fungsi tersebut, kita kemudian dapat memutuskan apakah kita ingin menetapkan nilai dari `salam`.
Ketika kita memanggil fungsi tersebut, kita kemudian dapat memutuskan apakah kita ingin menetapkan nilai dari `salam`.
```javascript
```javascript
tampilkanSapaan('Christopher');
tampilkanSapaan("Christopher");
// menampilkan "Hello, Christopher"
// menampilkan "Hello, Christopher"
tampilkanSapaan('Christopher', 'Hi');
tampilkanSapaan("Christopher", "Hi");
// menampilkan "Hi, Christopher"
// menampilkan "Hi, Christopher"
```
```
@ -123,7 +124,7 @@ function buatPesanSapaan(nama) {
Saat memanggil fungsi ini, kita akan menyimpan nilai dalam variabel. Ini hampir sama dengan cara kita menetapkan variabel ke nilai statis (seperti `const nama = 'Christopher'`).
Saat memanggil fungsi ini, kita akan menyimpan nilai dalam variabel. Ini hampir sama dengan cara kita menetapkan variabel ke nilai statis (seperti `const nama = 'Christopher'`).
Layak [membaca lebih banyak tentang fungsi panah](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions), karena semakin sering digunakan dalam basis kode. Berlatihlah menulis fungsi, lalu menulis ulang dengan sintaks ini.
Layak [membaca lebih banyak tentang fungsi panah](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions), karena semakin sering digunakan dalam basis kode. Berlatihlah menulis fungsi, lalu menulis ulang dengan sintaks ini.
## Assignment
## Tugas
[Fun with Functions](./assignment.id.md)
[Bersenang-senang dengan Fungsi](./assignment.id.md)