rumus-bdr
Version:
Sebuah npm untuk mempermudah anda dalam mempelajari sebuah rumus bangun ruang,rumus bangun datar,dan rumus mtk lainnya
50 lines (47 loc) • 3.46 kB
JavaScript
function tabung(opsi,jari_jari,tinggi,keterangan){
if(!opsi)throw new TypeError("opsi tidak ditemukan")
if(!isNaN(opsi))throw new TypeError("opsi tidak terdaftar")
let a = [jari_jari,tinggi]
if(opsi.toLowerCase() === 'volume'){
if(isNaN(keterangan) && keterangan !== true && keterangan !== false)throw new TypeError("keterangan tidak terdaftar")
if(!isNaN(keterangan) && keterangan !== true && keterangan !== false)throw new TypeError("keterangan tidak terdaftar")
if(keterangan === true){
if(!jari_jari)throw new TypeError("angka untuk jari-jari dari alas tabung tidak ditemukan")
if(!tinggi)throw new TypeError("angka untuk tinggi dari tabung tidak ditemukan")
if(a.some(m => m === false || m === true))throw new TypeError("angka harus berupa nomor")
if(isNaN(jari_jari) || isNaN(tinggi))throw new TypeError("angka harus berupa nomor")
let v = 22 / 7 * (jari_jari * jari_jari) * tinggi
let ds = `volume = 22/7 x (jari-jari x jari-jari) x tinggi\n = 22/7 x (${jari_jari} x ${jari_jari}) x ${tinggi}\n = 22/7 x ${jari_jari * jari_jari} x ${tinggi}\n = ${v}`
return ds
}
if(!jari_jari)throw new TypeError("angka untuk jari-jari dari alas tabung tidak ditemukan")
if(!tinggi)throw new TypeError("angka untuk tinggi dari tabung tidak ditemukan")
if(isNaN(jari_jari) || isNaN(tinggi))throw new TypeError("angka harus berupa nomor")
if(a.some(m => m === false || m === true))throw new TypeError("angka harus berupa nomor")
let v = 22 / 7 * (jari_jari * jari_jari) * tinggi
if(keterangan === false)return v
return v
}else if (opsi.toLowerCase() === 'lp' || opsi.toLowerCase() === 'luas') {
if(isNaN(keterangan) && keterangan !== true && keterangan !== false)throw new TypeError("keterangan tidak terdaftar")
if(!isNaN(keterangan) && keterangan !== true && keterangan !== false)throw new TypeError("keterangan tidak terdaftar")
if(keterangan === true){
if(!jari_jari)throw new TypeError("angka untuk jari-jari dari alas tabung tidak ditemukan")
if(!tinggi)throw new TypeError("angka untuk tinggi dari tabung tidak ditemukan")
if(a.some(m => m === false || m === true))throw new TypeError("angka harus berupa nomor")
if(isNaN(jari_jari) || isNaN(tinggi))throw new TypeError("angka harus berupa nomor")
let c = 2 * 22 / 7 * jari_jari * (jari_jari + tinggi)
let ds = `Luas permukaan = 2 x 22/7 x jari-jari x (jari-jari + tinggi)\n = 2 x 22/7 x ${jari_jari} x (${jari_jari} + ${tinggi})\n ${c}`
return ds
}
if(!jari_jari)throw new TypeError("angka untuk jari-jari dari alas tabung tidak ditemukan")
if(!tinggi)throw new TypeError("angka untuk tinggi dari tabung tidak ditemukan")
if(a.some(m => m === false || m === true))throw new TypeError("angka harus berupa nomor")
if(isNaN(jari_jari) || isNaN(tinggi))throw new TypeError("angka harus berupa nomor")
let c = 2 * 22 / 7 * jari_jari * (jari_jari + tinggi)
if(keterangan === false)return c
return c
}else{
throw new TypeError("opsi tidak terdaftar")
}
}
module.exports = tabung;