Mari kita ingat ingat kembali lagi mengenai penulisan fungsi di dalam javascript
// Misalnya ini adalah fungsi untuk pembagian
// Deklarasi fungsi umum
function fungsiPembagian(param1, param2) {
return param1 / param2;
}
// Deklarasi fungsi dengan ekspresi
const fungsiPembagianExpr = function (param1, param2) {
return param1 / param2;
}
// Deklarasi fungsi dengan arrow
const fungsiPembagianArrow = (param1, param2) => param1 / param2;
isNaN() => Untuk mengecek apakah NaN (not a number) atau bukanparseInt() => Untuk mengkonversi string menjadi numberparseFloat() => Untuk mengkonversi string menjadi angka desimaltoFixed()toString()split()slice()substring()toLowerCase()toUpperCase()push()join()reverse()sort()floor()ceil()random()parse()now()toString()toDateString()Bahkan sebenarnya fungsi bawaannya JAUH lebih banyak dari ini
Mari kita lihat contoh kodenya
// NaN adalah sebuah nilai yang menunjukkan bukan angka
const sebuahAngka = NaN;
const sebuahStringBulat = '250';
const sebuahStringDesimal = '100.215';
if (isNaN(sebuahAngka)) console.log('ini bukan angka !');
console.log(sebuahStringBulat); // '250'
console.log(parseInt(sebuahStringBulat)); // 250
console.log(sebuahStringDesimal); // '100.215'
console.log(parseInt(sebuahStringDesimal)); // 100
console.log(parseFloat(sebuahStringDesimal)); // 100.215
Mari kita lihat contoh kodenya
const sebuahAngka = 100.25123;
console.log(sebuahAngka); // 100.25123
console.log(sebuahAngka.toFixed(2)); // '100.25'
console.log(sebuahAngka.toString()); // '100.25123'
Mari kita lihat contoh kodenya
let sebuahArray = ['ini', 'adalah', 'sebuah', 'array'];
// ['ini', 'adalah', 'sebuah', 'array', 'baru']
// langsung modifikasi variabel
// apabila di console log, isinya adalah panjang array baru (5)
sebuahArray.push('baru');
// 'ini-adalah-sebuah-array-baru'
console.log(sebuahArray.join('-'));
// ['baru', 'array', 'sebuah', 'adalah', 'ini]
console.log(sebuahArray.reverse());
let sebuahArray = ['ini', 'adalah', 'sebuah', 'array'];
// [ 'adalah', 'array', 'baru', 'ini', 'sebuah' ]
console.log(sebuahArray.sort());
// kombinasi
let arrayBaru = sebuahArray
.sort() // ['adalah', 'array', 'baru', 'ini', 'sebuah']
.reverse() // ['sebuah', 'ini', 'baru', 'array', 'adalah']
.join('-') // 'sebuah-ini-baru-array-adalah'
.toUpperCase(); // 'SEBUAH-INI-BARU-ARRAY-ADALAH'
console.log(arrayBaru); // 'SEBUAH-INI-BARU-ARRAY-ADALAH'
Mari kita lihat contoh kodenya
const sebuahAngkaDesimal = 12.54;
// pembulatan
console.log(Math.floor(sebuahAngkaDesimal)); // ke bawah, 12
console.log(Math.ceil(sebuahAngkaDesimal)); // ke atas, 13
// Angka acak, rentang dari 0 s.d. 1 (ada angka di belakang koma)
// selalu berbeda tiap dijalankan
const randomNumber = Math.random(); // 0.9353807146167443
console.log(randomNumber);
const angkaAcakRiil = Math.ceil(randomNumber * 6);
console.log(angkaAcakRiil); // angka acak dari 1 s.d. 6
Mari kita lihat contoh kodenya
// Object Date yyyy-mm-ddTHH:MM:SS.miliZ
const tanggalSekarang = new Date();
console.log(tanggalSekarang);
// angka milliseconds sejak 1 Januari 1970 00:00:00 UTC
// disebut juga sebagai milliseconds sejak waktu Epoch
// (Epoch Time)
const tanggalSekarangNow = Date.now();
console.log(tanggalSekarangNow);
// Akan mengembalikan selisih (dalam milliseconds)
// dari epoch time sampai dengan date yang di-parse
const waktuAwal = Date.parse('01 Jan 1970 00:00:00 UTC');
console.log(waktuAwal); // 0
const waktuAsal = Date.parse('01 Jan 2022 00:00:00 UTC');
// 52 tahun (1970 - 2022), ada 13 tahun kabisat, jadi milidetik
console.log(waktuAsal); // 1640995200000
// Cetak waktu dalam string, dengan zona waktu
console.log(new Date(waktuAsal).toString());
// Cetak waktu dalam string, tanpa zona waktu dan jam
console.log(new Date(waktuAsal).toDateString());
Mari kita lihat contoh kode berikut
// ini adalah global variable
const global = "Ini adalah variabel global";
// ini adalah sebuah function
const sebuahFn = () => {
// ini adalah local variable
const local = "ini adalah variabel lokal";
// karena global, bisa diakses dari local
console.log(global);
// karena local, bisa diakses dari local itu sendiri
console.log(local);
}
console.log(local); // error, local undefined
Mari kita lihat contoh kode
const globalVariable = 'global';
// Outer Function / Higher Order Function
function fungsiLuar() {
const localVariable = 'local';
// Closures
function fungsiDalam() {
return [globalVariable, localVariable];
}
return fungsiDalam;
}
const fnDenganClosures = fungsiLuar();
console.log(fnDenganClosures());
Mari lihat contoh kode lainnya
function nambahinAngka() {
let counter = 0;
return ++counter;
}
function nambahinAngka2() {
let counter = 0;
return function penambah() {
return ++counter;
};
}
const inkremenAngka = nambahinAngka2();
for (let i = 0; i < 5; i++) console.log(nambahinAngka());
for (let j = 0; j < 10; j++) console.log(inkremenAngka());
Akan dipelajari lebih lanjut pada pertemuan berikutnya