Rumusan Masalah:
Andi adalah seorang peternak ayam yang memiliki peternakan di desa. Dia ingin menjual beberapa ayam yang telah dia kembangbiakkan. Namun, Andi tidak ingin menjual ayam yang terlalu muda atau terlalu kecil. Dia membutuhkan bantuan untuk menentukan ayam mana yang siap untuk dijual. Oleh karena itu, dia menggunakan sebuah fungsi bernama isReadyToSale
.
Spesifikasi Validasi Fungsi isReadyToSale
Argumen Diperlukan:
Fungsi harus menerima tepat dua argumen: usia (age) dan berat (weight).
Validasi Tipe Data:
Fungsi harus memeriksa tipe data kedua argumen. Jika salah satu atau keduanya bukan tipe data number, fungsi harus mengembalikan nilai false
Validasi Rentang Data:
Fungsi harus memeriksa apakah nilai usia dan berat berada dalam rentang yang wajar. Rentang yang diizinkan: usia > 0, berat > 0, usia <= 100, berat <= 10. Jika nilai usia atau berat berada di luar rentang yang diizinkan, fungsi harus mengembalikan nilai false
Penentuan Kesiapan Jual:
Jika kedua validasi sebelumnya berhasil, fungsi harus memeriksa apakah usia lebih besar dari 30 dan berat lebih besar dari 1.5. Jika keduanya memenuhi kriteria, fungsi harus mengembalikan nilai true
. Jika salah satu atau keduanya tidak memenuhi kriteria, fungsi harus mengembalikan nilai false
.
Jika jumlah argumen yang diberikan kurang dari dua, fungsi harus mengembalikan nilai false
function isReadyToSale(age , weight){ // Validasi input required if(!age || !weight) return false // Validasi tipe data input harus number if(!isNumber(age) || !isNumber(weight)) return false // Validasi range umur if(age < 0 || age > 100) return false // Validasi range berat if(weight < 0 || weight > 10) return false // Validasi siap jual atau sebaliknya if(age > 30 && weight > 1.5) return true else return false } function isNumber(param){ return typeof param == `number`; }
- function isReadyToSale(age , weight){
// Tulis Kode disini- // Validasi input required
- if(!age || !weight)
- return false
- // Validasi tipe data input harus number
- if(!isNumber(age) || !isNumber(weight))
- return false
- // Validasi range umur
- if(age < 0 || age > 100)
- return false
- // Validasi range berat
- if(weight < 0 || weight > 10)
- return false
- // Validasi siap jual atau sebaliknya
- if(age > 30 && weight > 1.5)
- return true
- else
- return false
- }
- function isNumber(param){
- return typeof param == `number`;
- }
Koding kata authentication
email valid = tvorchesky@mail.com
password valid = Taralolet123
var databaseUser = [
{
email : "tvorchesky@mail.com",
password : "6827ef24aa9c59195dc19cbc2b597f6d" /* password nya adalah Taralolet123, udah di enkripsi pakai MD5 */
}
];
function login(email, password){
// TODO : implementasikan code berdasar test case dibawah
}
const chai = require("chai");
const assert = chai.assert;
describe("Testing Validasi Login", function() {
it("Format email tidak sesuai", function() {
assert.strictEqual(login("tvorchesky", "Taralolet123"), false);
assert.strictEqual(login("tvorchesky@mail", "Taralolet123"), false);
assert.strictEqual(login("tvorchesky.com", "Taralolet123"), false);
});
it("Email atau password salah", function() {
assert.strictEqual(login("tvorchesky@mail.com", "Tettt"), false);
assert.strictEqual(login("tettt@mail.com", "Taralolet123"), false);
});
it("Login berhasil", function() {
assert.strictEqual(login("tvorchesky@mail.com", "Taralolet123"), true);
});
});