Muhammad Farobby
Pada Tugas akhir course dasar-dasar Node JS sauang membuat sebuah program sederhana yaitu menghitung luas bangun data segitiga.
Kodingan yang saya tampilkan adalah sebuah program sederhana dalam bahasa JavaScript yang menggunakan modul readline untuk mengambil input dari pengguna dan menghitung luas segitiga berdasarkan tinggi dan alas yang dimasukkan. Berikut adalah analisisnya:
Import Modul readline:
const readline = require("readline");
Program menggunakan modul readline dari Node.js untuk membaca input dari pengguna.
Membuat Interface readline:
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
Interface readline dibuat dengan menghubungkan input ke process.stdin dan output ke process.stdout.
Menggunakan rl.question:
rl.question("Masukkan tinggi segitiga: ", (tinggi) => {
rl.question("Masukkan alas segitiga: ", (alas) => {
Dua pertanyaan (rl.question) digunakan untuk meminta input tinggi dan alas dari pengguna. Input tersebut diambil secara asynchronous, dan setelah kedua input diterima, fungsi callback dijalankan.
Konversi ke Tipe Data Numerik:
tinggi = parseFloat(tinggi);
alas = parseFloat(alas);
Input tinggi dan alas dari pengguna dikonversi menjadi tipe data numerik menggunakan parseFloat. Hal ini diperlukan karena input dari rl.question awalnya berupa string.
Pemeriksaan Validitas Input:
if (isNaN(tinggi) || isNaN(alas)) {
console.log("Mohon masukkan angka yang valid untuk tinggi dan alas.");
} else {
// Menghitung luas segitiga
const luas = 0.5 * tinggi * alas;
// Menampilkan hasil
console.log(`Luas segitiga dengan tinggi ${tinggi} dan alas ${alas} adalah: ${luas}`);
}
Dilakukan pemeriksaan apakah input yang dimasukkan valid (angka). Jika valid, program menghitung luas segitiga menggunakan rumus luas segitiga (0.5 * tinggi * alas) dan menampilkan hasilnya. Jika tidak valid, program memberikan pesan kesalahan.
Menutup Interface readline:
rl.close();
Setelah proses selesai, interface readline ditutup agar program bisa keluar.
Kodingan tersebut dirancang untuk mengajukan pertanyaan tentang tinggi dan alas segitiga, kemudian menghitung dan menampilkan luas segitiga berdasarkan input pengguna.