Algorithms and Programming JavaScript 5
Object Oriented Programming I
Object Oriented Programming atau Pemrograman Berorientasi objek merupakan sebuah paradigma pemrograman yang didasarkan dan dibuat berdasarkan sebuah objek. Contohnya seperti kita memiliki sebuah mainan radio control dimana mobil radio control tersebut merupakan objeknya dan remote controlnya merupakan sebuah alat kendalinya. Mobil RCnya dapat kita kendalikan maju, mundur, kekanan dan kekiri melalui remote controlnya, hal tersebut merupakan contoh konsep dasar dari pemrograman berorientasi objek. Bahasa Pemrograman JavaScript sudah mendukung adanya Object Oriented Programming, yaitu dengan adanya fitur definition (fuungsi) dan class (kelas).
Function (Fungsi)
Sebelum mengenal sebuah fungsi ada baiknya kita kembali ke materi sebelumnya yaitu pengertian tentang variable. Fungsi kegunaannya hampir mirip dengan variable, jika variable digunakan untuk menyimpan sebuah nilai, maka fungsi digunakan untuk menyimpan sebuah potongan blok program. Fungsi atau Definition dalam JavaScript merupakan suatu bagian (blok program) dari program yang dimaksudkan untuk mengerjakan suatu tugas tertentu dan letaknya terpisah dari program yang memanggilnya. Pada pembuatan program yang kompleks dan memiliki banyak fitur, kita diharuskan menggunakan fungsi. Fungsi diperlukan agar mempermudah kita dalam membaca sebuah kode program dan mempermudah untuk merawatnya. Dengan adanya sebuah fungsi kita tidak perlu menulis kode sepanjang gerbong kereta api di program utama dan kita dapat memecah atau membaginya lalu tinggal memanggil fungsinya saja didalam program utama. Dan itu juga akan mempersingkat penulisan dari program utama tersebut nantinya.
Fungsi memiliki parameter yang dapat dipergunakan untuk memasukkan atau menampung variabel kedalam sebuah fungsi. Dalam pendeklarasian parameter pada sebuah fungsi kita juga dapat memasukkan default argument/parameter.
Fungsi juga dapat mengembalikan nilai dengan cara menggunakan keyword return yang di taruh didalam blok program fungsi itu sendiri untuk mengembalikan nilai yang ingin kita kembalikan kedalam program utama.
Tujuan utama sebuah fungsi adalah bertujuan untuk menghindari terjadinya duplikasi kode. Tujuannya tak lain agar kode tersebut bisa digunakan kembali, hanya dengan memanggil nama fungsinya saja.
Dalam JavaScript terdapat beberapa hal yang perlu diperhatikan dalam mendeklarasikan
sebuah fungsi
- Menggunakan keyword “function” untuk mendeklarasikan fungsi
- Menggunakan keyword return (Fungsi yang mengembalikan nilai)
- Terdapat parameter/argument fungsi
- Fungsi di javascript mendukung parameter yang memiliki initial value/default parameter(nilai awal)
Umumnya fungsi dibedakan menjadi 2 kategori
- Fungsi yang tidak mengembalikan Nilai
- Fungsi yang mengembalikan Nilai
Fungsi yang tidak mengembalikan nilai (Fungsi Void)
Merupakan sebuah fungsi yang berguna untuk menampung sebuah blok program dengan tujuan untuk memperpendek baris program saja, biasanya fungsi ini dipanggil secara independen dalam blok program seperti contoh dibawah ini:
1 | // Contoh Fungsi Void/Fungsi yang tidak mengembalikan nilai |
Fungsi yang mengembalikan Nilai
Merupakan sebuah fungsi yang akan mengembalikan nilai tertentu. dan biasanya fungsi ini dipanggil lalu disimpan kedalam sebuah variable seperti contoh dibawah ini:
1 | // Contoh Fungsi yang mengembalikan nilai |
Blok Program di Dalam Fungsi
Setelah mengetahui Fungsi, kategori dan penggunaannya maka yang selanjutnya yang kita pelajari adalah isi didalam blok program fungsinya, sebelum mempelajari isi dari blok program didalam sebuah fungsi ada baiknya anda memahami konsep dasar terkait hal tersebut. Misalkan jika anda memiliki sebuah kartu debit/kredit dengan logo VISA/MASTERCARD maka anda dapat menggunakan kartu tersebut sebagai alat transaksi pembayaran secara nasional ataupun internasional, tetapi jika kartu debit/kredit anda tidak terdapat logo VISA/MASTERCARD, maka anda tidak dapat menggunakan kartu tersebut sebagai alat transaksi pembayaran secara internasional dan hanya berlaku di nasional saja. Dari konsep pembatasan akses dan fitur pada kartu kredit/debit tersebut maka blok program didalam fungsi dan diluar fungsi pun juga memiliki konsep yang sama. Jika sudah memahami konsep tersebut maka selanjutnya kita akan berkenalan dengan variable global dan lokal.
Variable Global
Variable yang dapat digunakan di blok program manapun (didalam blok program definisi fungsi ataupun diluar blok program deklarasi fungsi). karena berlaku secara global, maka variable global dapat dipanggil dan digunakan di manapun entah itu di satu file yang sama ataupun di luar file yang berbeda.
Variable Lokal
Merupakan variable yang hanya dapat digunakan didalam sebuah blok program fungsi/class. karena bersifat terbatas, maka dia hanya dapat digunakan dalam blok program deklarasi fungsi/class dan tidak bisa digunakan diluar blok program fungsi.
Contoh-Contoh Fungsi:
Fungsi dengan parameter yang mengembalikan nilai:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24// Contoh fungsi dengan parameter
let g_int_hasil = 0 // Mendeklarasikan Variable Global
function fg_int_fungsiTambahBerparameter( nilai1, nilai2 ){ // Deklarasi Fungsi Berparameter
let l_int_hasil = nilai1 + nilai2; // Mendeklarasikan Variable lokal
// Mengeluarkan nilai variable lokal dalam sebuah fungsi
// 1. Cara Pertama dengan memindahkannya kedalam variable global
//g_int_hasil = l_int_hasil;
//console.log(g_int_hasil);
// 2. Cara Kedua menjadikan fungsi mengembalikan nilai variable lokal tersebut
return l_int_hasil;
}
// 1. Cara pertama
//fg_int_fungsiTambahBerparameter(5, 6);
// 2. Cara kedua
g_int_hasil = fg_int_fungsiTambahBerparameter(5, 6); // Memanggil fungsi lalu nilai kembaliannya disimpan kedalam variabel g_int_hasil
console.log(g_int_hasil);
Fungsi dengan default parameter/initial value yang tidak mengembalikan nilai:1
2
3
4
5
6function fungsiKurangBerparameter( nilai1 = 5, nilai2 = 1 ){ // Deklarasi Fungsi dengan Default parameter
let hasil = nilai1 - nilai2;
console.log(hasil);
}
fungsiKurangBerparameter() // Tanpa diisi dengan nilai, maka si fungsi akan otomatis menggunakan nilai default parameter yaitu nilai1 sebagai 5 dan nilai2 sebagai 1
Recursive Function (Fungsi Rekursif)
Adalah sebuah fungsi yang memanggil dirinya sendiri ketika dideklarasikan, biasanya digunakan sebagai pengganti perulangan, tetapi jarang digunakan karena memakan cukup banyak resource/sumber daya komputer sehingga komputer akan bekerja lebih keras dibandingkan dengan menggunakan konsep perulangan biasa.
Berikut adalah contoh penggunaan dari fungsi rekursif pada program faktorial:1
2
3
4
5faktorial(5) = 5 * faktorial(4)
faktorial(4) = 4 * faktorial(3)
faktorial(3) = 3 * faktorial(2)
faktorial(2) = 2 * faktorial(1)
faktorial(1) = 1
Maka faktorial(5) = 5 4 3 2 1, akan menghasilkan 120
1 | function fg_int_factorial( l_int_nilai ){ |
Latihan Fungsi
Buatlah sebuah fungsi yang mengembalikan nilai hasil tambah, kurang, bagi, kali, dan modulus serta memiliki 2 parameter variable dan memiliki initial value (nilainya bebas). lalu buatlah satu fungsi void untuk mencetak nama dan asal kalian di paling atas program. Buatlah program tersebut berulang hingga dihentikan oleh user. berikut adalah contoh outputnya:
1 | OUTPUT: |