30 Hari Belajar JavaScript : Hari ke — 18

Bahrul Rozak
6 min readApr 28, 2023

Halo semuanya! Selamat datang kembali di series 30 hari belajar #javascript. Pada hari ke 18 ini kita akan mempelajari :

  1. Static Method pada JavaScript
  2. Error pada JavaScript
  3. Error Handling pada JavaScript
  4. Manual Class Error pada JavaScript
  5. Built in Class pada JavaScript

Tanpa banyak statement lagi, mari kita gas kan!

Static Method pada JavaScript

Suatu hari pak RT dengan pidatonya mengatakan bahwa “Para warga yang saya hormati, “static” itu gak cuma bisa dipake di field di dalam suatu class, tapi juga bisa dipake di method. Kalau di method dipake “static”, artinya method itu jadi punya class nya langsung, bukan punya objek yang dibuat dari class itu. Kalau udah dipake “static” di method, gak perlu lagi bikin objek dari class itu buat akses method-nya, para bapak atau ibu bisa langsung akses method nya dari class nya aja. Jadi, lebih mudah dan praktis gitu.”

Tapi, perlu diperhatikan lagi bahwa, method yang udah dipake “static” itu gak bisa akses variabel atau method yang bukan “static” di class yang sama. Jadi, kalo mau akses variabel atau method yang bukan “static”, harus bikin objek dulu dari class-nya 🍐.

 class MathuUtil {
static sum(...numbers) {
let total = 0;
for (const number of numbers) {
total += number
}

return total
}

}

const sum = MathuUtil.sum(1, 2, 3)
console.info(sum)
Static Method pada JavaScript

Error pada JavaScript

Saat kita membuat aplikasi, pasti tidak bisa menghindari adanya error. Di JavaScript, error memang sudah menjadi hal yang biasa. Terdapat banyak class error di JavaScript, namun semuanya berakhir di class Error sebagai superclass untuk semua jenis error di JavaScript. Beberapa contoh class error di JavaScript adalah SyntaxError, TypeError, EvalError, dan masih banyak lagi. Kalau kita bikin objek dari kelas Error, belum tentu ada error yang terjadi langsung. Kita harus memberitahu program kita kalau kita bakal bikin sebuah error, atau dalam bahasa programmingnya, melempar error (throw error). Kita bisa lempar error pake kata kunci “throw” diikuti sama objek errornya. Kalau terjadi error, program kita bakal berhenti dan kita bisa lihat detil errornya di console di aplikasi browser kita 🍑.

class MathuUtil {
static sum(...numbers) {
if (numbers.length === 0) {
throw new Error("Parameter harus lebih dari 0 lah :v ")
}
let total = 0;
for (const number of numbers) {
total += number
}

return total
}

}

console.log(MathuUtil.sum())
Melemparkan class error :v

Error Handling pada JavaScript

Error Handling terdiri dari dua suku kata yaitu Error dan Handling, artinya penanganan error :v, jadi gini Kadang-kadang kita gak mau program kita langsung berhenti kalo ada error di kode program JavaScript. Nah di JavaScript, kita bisa nangkep kalo ada errornya. Caranya kita pake statement try-catch. Di block try, kita coba akses kode program yang bisa bikin error. Kalo ada error, blok try bakal berhenti dan langsung masuk ke block catch. Tapi kalo gak ada error, block catch yak gak bakal dieksekusi 🍒.

class MathuUtil {
static sum(...numbers) {
if (numbers.length === 0) {
throw new Error("Parameter harus lebih dari 0 lah :v ")
}
let total = 0;

for (const number of numbers) {
total += number
}

return total
}

}

try {
console.log(MathuUtil.sum())
console.info("Ini akan dieksekusi")
} catch (error) {
console.info(`Ups terjadi error : ${error.message}`)
}
Error handling dengan try catch

Selain try-catch ada juga kata kunci finally. Apa itu bang Mes? Eh:v . Jadi Kadang-kadang kita mau ngelakuin sesuatu, entah kalo terjadi error atau enggak. Nah, di statement try-catch, kita bisa nambahin block “finally”. Block “finally” ini bakal selalu dieksekusi setelah try-catch selesai, tanpa peduli kalo ada error atau enggak 🍓.

class MathuUtil {
static sum(...numbers) {
if (numbers.length === 0) {
throw new Error("Parameter harus lebih dari 0 lah :v ")
}
let total = 0;
for (const number of numbers) {
total += number
}

return total
}

}

try {
console.log(MathuUtil.sum())
console.info("Ini akan dieksekusi dan selesai")
} catch (error) {
console.info(`Ups terjadi error : ${error.message}`)
} finally {
console.info("Kode program selesai")
}
Finally mah akan jalan aja, mau error atau nggak :v

Manual Class Error pada JavaScript

JavaScript sudah menyediakan kelas standar yang bernama “Error” untuk menangani kesalahan atau error pada program. Kelas ini memungkinkan kita untuk membuat sebuah objek error dan menambahkan pesan yang dapat memberikan informasi lebih rinci tentang kesalahan yang terjadi pada program. Namun, walaupun JavaScript sudah memiliki kelas standar “Error”, sebaiknya kita membedakan jenis-jenis error yang terjadi pada program kita. Untuk membuat sebuah error sendiri secara manual di JavaScript, caranya sangat mudah, yaitu dengan membuat kelas turunan dari kelas “Error”. Dalam membuat kelas turunan ini, kita dapat menentukan jenis error yang ingin kita tangani pada program. Misalnya, jika kita ingin menangani kesalahan karena penggunaan tipe data yang salah pada suatu fungsi, kita dapat membuat kelas turunan “TypeError”. Selain membuat kelas turunan “Error”, kita juga harus memberikan parameter pesan yang jelas pada objek error yang kita buat. Hal ini sangat penting agar pesan error dapat memberikan informasi yang cukup jelas dan dapat membantu kita dalam menemukan penyebab kesalahan yang terjadi pada program. Parameter pesan ini biasanya dikirimkan ke konstruktor kelas “Error” yang kita turunkan. Dengan membedakan jenis-jenis error dan memberikan pesan error yang jelas, kita dapat dengan mudah menangani dan memperbaiki kesalahan yang terjadi pada program kita 🍅.

 class ValidationError extends Error {
constructor(message, field) {
super(message)
this.field = field
}
}

class MathuUtil {
static sum(...numbers) {
if (numbers.length === 0) {
throw new ValidationError("Parameter harus lebih dari 0 lah :v ")
}
let total = 0;
for (const number of numbers) {
total += number
}

return total
}

}

try {
console.info(MathuUtil.sum())
} catch (error) {
if (error instanceof ValidationError) {
console.error(`Terjadi Error di field ${error.field} dengan pesan error ${error.message}`)
} else {
console.error(`Terjadi Error ${error.message}`)
}
} finally {
console.info("Kode program selesai")
}
Manual Class Error

Built in Class pada JavaScript

Di JavaScript sudah terdapat built-in class atau class bawaan, seperti Date, Object, Array, Math, dan String. Sebagai contoh kita tidak perlu lagi menuliskan kode program yang rumit untuk mengatur dan memanipulasi tanggal dan waktu. Kita dapat menggunakan built-in class Date yang sudah tersedia di dalam bahasa pemrograman JavaScript. Class ini sangat membantu untuk memudahkan pengolahan terkait dengan tanggal dan waktu 🌶.

 const dateNow = new Date()
console.info(dateNow)
Built in Class (Date)

Halo! Saya Bahrul Rozak, seorang mahasiswa dari Universitas Muhammadiyah Prof. DR. HAMKA. Saya memiliki pengalaman sebagai web developer di sebuah institusi dan telah membuat serta mengembangkan aplikasi internal menggunakan bahasa pemrograman JavasScript dan PHP, serta menggunakan framework PHP seperti Laravel, codeigniter, dan Vue Js. Saya juga pernah memimpin sebuah tim proyek yang terdiri dari divisi Front End dan Back End, di sana saya belajar banyak hal, terutama tentang kolaborasi dalam tim. Selain itu, saya memiliki hobi terkait desain web dan menulis artikel tentang teknologi. Saya sangat suka tantangan yang memacu adrenalin karena saya percaya bahwa more complex more adrenaline. Jika Anda ingin tahu lebih banyak tentang saya atau ingin berkolaborasi, silakan hubungi saya melalui email di bahrulrozak02@gmail.com atau follow media sosial saya untuk mendapatkan insight terbaru dalam perduniawian di.

Instagram : https://instagram.com/rozak.dexamethasone

Linkedin : https://linkedin.com/in/bahrul-rozak

Stackoverflow : https://stackoverflow.com/users/20835639/bahrul-rozak

Github : https://github.com/Bahrul-Rozak

--

--