1. APA ITU VARIABEL DAN TIPE DATA?
Analogi Sederhana:
Variabel itu seperti KOTAK PENYIMPANAN di kamar kita:
- Setiap kotak punya nama (nama variabel)
- Kita bisa masukkan barang ke dalam kotak (nilai)
- Kita bisa ganti isi kotak kapan saja
- Kita bisa lihat isi kotak kapan saja
Tipe Data itu seperti JENIS BARANG yang kita simpan:
- Buku → teks/string
- Uang → angka/number
- Switch on/off → benar-salah/boolean
- Kotak mainan → kumpulan data/array
- Formulir → object
// CONTOH SEDERHANA: let nama = "Ibra"; // Kotak "nama" berisi teks "Ibra" let umur = 17; // Kotak "umur" berisi angka 17 let siswa = true; // Kotak "siswa" berisi switch ON (true)
2. TIPE DATA DASAR DI JAVASCRIPT
JavaScript punya 7 tipe data utama:
1. String → UNTUK TEKS
// String itu untuk teks, pakai tanda kutip let nama = "Ibra"; let alamat = 'Jl. Merdeka No. 123'; let greeting = `Halo, nama saya ${nama}`; // Template literal console.log("Tipe data String:"); console.log("Nama: " + nama); // Output: Ibra console.log("Alamat: " + alamat); // Output: Jl. Merdeka No. 123 console.log(greeting); // Output: Halo, nama saya Ibra
Ciri-ciri String:
- Selalu pakai tanda kutip:
" ",' ', atau` ` - Bisa gabung dengan
+ - Punya properti
.lengthuntuk hitung jumlah karakter
let kata = "JavaScript"; console.log("Panjang kata 'JavaScript': " + kata.length + " huruf"); // Output: 10 huruf
2. Number → UNTUK ANGKA
// Number itu untuk angka, TANPA tanda kutip let usia = 17; // Angka bulat (integer) let tinggi = 170.5; // Angka desimal (float) let harga = 15000.75; // Uang pakai desimal let negatif = -10; // Angka negatif console.log("Tipe data Number:"); console.log("Usia: " + usia); // 17 console.log("Tinggi: " + tinggi + " cm"); // 170.5 cm console.log("Harga: Rp" + harga); // Rp15000.75 console.log("Negatif: " + negatif); // -10 // Operasi matematika console.log("10 + 5 = " + (10 + 5)); // 15 console.log("10 - 5 = " + (10 - 5)); // 5 console.log("10 * 5 = " + (10 * 5)); // 50 console.log("10 / 3 = " + (10 / 3)); // 3.333... console.log("10 % 3 = " + (10 % 3)); // 1 (sisa bagi)
3. Boolean → UNTUK BENAR/SALAH
// Boolean cuma punya 2 nilai: true atau false let sudahMakan = true; // Sudah makan = BENAR let sudahTidur = false; // Belum tidur = SALAH let umurCukup = true; // Umur sudah cukup console.log("Tipe data Boolean:"); console.log("Sudah makan? " + sudahMakan); // true console.log("Sudah tidur? " + sudahTidur); // false console.log("Umur cukup? " + umurCukup); // true // Boolean sering dipakai untuk kondisi if(sudahMakan) { console.log("Ibra sudah makan, tidak lapar"); } else { console.log("Ibra belum makan, segera makan!"); } // Hasil perbandingan selalu boolean console.log("10 > 5? " + (10 > 5)); // true console.log("10 == 5? " + (10 == 5)); // false console.log("10 != 5? " + (10 != 5)); // true
4. Array → UNTUK KUMPULAN DATA
// Array seperti KOTAK BESAR berisi banyak kotak kecil let hobi = ["game", "musik", "olahraga", "membaca"]; let nilai = [85, 90, 78, 92]; let campuran = ["Ibra", 17, true]; // Bisa campur tipe data console.log("Tipe data Array:"); console.log("Hobi: " + hobi); // game,musik,olahraga,membaca console.log("Nilai: " + nilai); // 85,90,78,92 console.log("Campuran: " + campuran); // Ibra,17,true // Akses data di array pakai index (dimulai dari 0) console.log("Hobi pertama: " + hobi[0]); // game console.log("Hobi kedua: " + hobi[1]); // musik console.log("Nilai ketiga: " + nilai[2]); // 78 // Tambah data ke array hobi.push("programming"); console.log("Hobi setelah ditambah: " + hobi); // Output: game,musik,olahraga,membaca,programming // Hitung jumlah data di array console.log("Jumlah hobi: " + hobi.length + " buah");
5. Object → UNTUK DATA TERSTRUKTUR
// Object seperti FORMULIR atau KARTU IDENTITAS let siswa = { nama: "Ibra", // property: value umur: 17, kelas: "XII IPA", aktif: true, nilai: [85, 90, 78] }; console.log("Tipe data Object:"); console.log("Data siswa:"); console.log("Nama: " + siswa.nama); // Ibra console.log("Umur: " + siswa.umur); // 17 console.log("Kelas: " + siswa.kelas); // XII IPA console.log("Aktif? " + siswa.aktif); // true console.log("Nilai: " + siswa.nilai); // 85,90,78 // Bisa juga pakai bracket notation console.log("Nama (bracket): " + siswa["nama"]); // Tambah property baru siswa.alamat = "Jl. Merdeka No. 123"; console.log("Alamat baru: " + siswa.alamat); // Object bisa nested (bersarang) let sekolah = { nama: "SMA Negeri 1", alamat: { jalan: "Jl. Pendidikan", kota: "Jakarta", kodePos: "12345" } }; console.log("Alamat sekolah: " + sekolah.alamat.jalan + ", " + sekolah.alamat.kota);
6. Null → KOSONG SENGAJA
// Null artinya "sengaja dikosongkan" let dataKosong = null; console.log("Tipe data Null:"); console.log("Data kosong: " + dataKosong); // null console.log("Tipe data: " + typeof dataKosong); // object (ini spesial di JavaScript) // Contoh penggunaan: let nilaiUjian = null; // Belum ada nilainya if(nilaiUjian === null) { console.log("Nilai ujian belum diinput"); } else { console.log("Nilai ujian: " + nilaiUjian); }
7. Undefined → BELUM DIISI
// Undefined artinya "belum diberi nilai" let dataBelumDiisi; console.log("Tipe data Undefined:"); console.log("Data belum diisi: " + dataBelumDiisi); // undefined console.log("Tipe data: " + typeof dataBelumDiisi); // undefined // Contoh perbedaan null vs undefined: let kotak1 = null; // Saya sengaja kosongkan kotak ini let kotak2; // Saya belum isi kotak ini (lupa) console.log("Kotak 1: " + kotak1); // null console.log("Kotak 2: " + kotak2); // undefined
3. CARA MEMBUAT VARIABEL
JavaScript punya 3 cara buat variabel:
1. var → Cara Lama (Masih Boleh Dipakai)
// var itu fleksibel tapi kurang aman var namaLama = "Ibra Versi Lama"; console.log("var: " + namaLama); // Masalah dengan var: var x = 10; if(true) { var x = 20; // Ini mengubah x yang di luar! console.log("x di dalam if: " + x); // 20 } console.log("x di luar: " + x); // 20 (seharusnya tetap 10)
2. let → Cara Modern (REKOMENDASI)
// let lebih aman, bisa diubah tapi scoped let namaBaru = "Ibra Versi Baru"; console.log("let: " + namaBaru); // Keunggulan let: let y = 10; if(true) { let y = 20; // Ini membuat y baru, tidak ganggu y luar console.log("y di dalam if: " + y); // 20 } console.log("y di luar: " + y); // 10 (tetap aman!) // let bisa diubah nilainya let counter = 0; counter = 1; // BOLEH counter = 2; // BOLEH console.log("Counter: " + counter);
3. const → Tidak Bisa Diubah
// const = CONSTANT (tetap/tidak berubah) const PI = 3.14159; const NAMA_SEKOLAH = "SMA Negeri 1"; const TAHUN_LAHIR = 2006; console.log("const:"); console.log("PI: " + PI); console.log("Sekolah: " + NAMA_SEKOLAH); console.log("Tahun lahir: " + TAHUN_LAHIR); // const TIDAK BISA diubah! // NAMA_SEKOLAH = "SMA Lain"; // ERROR! // Tapi isi array/object masih bisa diubah const HOBIS = ["game", "musik"]; HOBIS.push("olahraga"); // BOLEH console.log("Hobi: " + HOBIS); // game,musik,olahraga // HOBIS = ["membaca"]; // ERROR! Tidak bisa ganti seluruh array
PERBANDINGAN var, let, const:
console.log("=== PERBANDINGAN var, let, const ==="); // 1. Deklarasi ulang var a = 1; var a = 2; // BOLEH dengan var console.log("var a: " + a); // 2 let b = 1; // let b = 2; // ERROR dengan let const c = 1; // const c = 2; // ERROR dengan const // 2. Scope (jangkauan) if(true) { var varDalam = "var dalam if"; let letDalam = "let dalam if"; const constDalam = "const dalam if"; } console.log("varDalam di luar: " + varDalam); // MASIH BISA // console.log(letDalam); // ERROR // console.log(constDalam); // ERROR // 3. Re-assignment (mengubah nilai) var x = 10; x = 20; // BOLEH let y = 10; y = 20; // BOLEH const z = 10; // z = 20; // ERROR console.log("\nREKOMENDASI:"); console.log("1. Pakai const dulu"); console.log("2. Kalau perlu diubah, pakai let"); console.log("3. Hindari var (kecuali harus support browser lama)");
4. OPERASI DENGAN TIPE DATA
Operasi dengan String
let namaDepan = "Ibra"; let namaBelakang = "Rahman"; // 1. Concatenation (gabung string) let namaLengkap = namaDepan + " " + namaBelakang; console.log("Nama lengkap: " + namaLengkap); // Ibra Rahman // 2. Template Literal (modern) let salam = `Halo, nama saya ${namaDepan} ${namaBelakang}`; console.log(salam); // Halo, nama saya Ibra Rahman // 3. Method String let teks = "Hello World"; console.log("Panjang: " + teks.length); // 11 console.log("Uppercase: " + teks.toUpperCase()); // HELLO WORLD console.log("Lowercase: " + teks.toLowerCase()); // hello world console.log("Posisi 'World': " + teks.indexOf("World")); // 6 console.log("Potong: " + teks.slice(0, 5)); // Hello console.log("Ganti: " + teks.replace("World", "JavaScript")); // Hello JavaScript
Operasi dengan Number
let angka1 = 10; let angka2 = 3; // Operasi dasar console.log("10 + 3 = " + (angka1 + angka2)); // 13 console.log("10 - 3 = " + (angka1 - angka2)); // 7 console.log("10 * 3 = " + (angka1 * angka2)); // 30 console.log("10 / 3 = " + (angka1 / angka2)); // 3.333... console.log("10 % 3 = " + (angka1 % angka2)); // 1 // Method Number console.log("10 to String: " + angka1.toString()); // "10" console.log("10.456 to Fixed: " + (10.456).toFixed(2)); // "10.46" console.log("Parse Int: " + parseInt("10.5")); // 10 console.log("Parse Float: " + parseFloat("10.5")); // 10.5 // Math Object (untuk operasi matematika) console.log("Math.sqrt(16): " + Math.sqrt(16)); // 4 console.log("Math.pow(2, 3): " + Math.pow(2, 3)); // 8 console.log("Math.round(10.6): " + Math.round(10.6)); // 11 console.log("Math.floor(10.9): " + Math.floor(10.9)); // 10 console.log("Math.ceil(10.1): " + Math.ceil(10.1)); // 11 console.log("Math.random(): " + Math.random()); // angka random 0-1
Operasi dengan Boolean
// Operator logika let sudahMakan = true; let sudahMinum = false; console.log("AND (&&): " + (sudahMakan && sudahMinum)); // false console.log("OR (||): " + (sudahMakan || sudahMinum)); // true console.log("NOT (!): " + (!sudahMakan)); // false // Truthy dan Falsy console.log("\nTruthy dan Falsy:"); console.log("Boolean(1): " + Boolean(1)); // true console.log("Boolean(0): " + Boolean(0)); // false console.log("Boolean(''): " + Boolean("")); // false console.log("Boolean('halo'): " + Boolean("halo")); // true console.log("Boolean(null): " + Boolean(null)); // false console.log("Boolean(undefined): " + Boolean(undefined)); // false
Operasi dengan Array
let buah = ["apel", "jeruk", "mangga"]; // 1. Akses dan modifikasi console.log("Buah pertama: " + buah[0]); // apel buah[1] = "pisang"; // Ganti jeruk jadi pisang console.log("Buah setelah diganti: " + buah); // apel,pisang,mangga // 2. Method Array buah.push("anggur"); // Tambah di akhir console.log("Setelah push: " + buah); // apel,pisang,mangga,anggur buah.pop(); // Hapus dari akhir console.log("Setelah pop: " + buah); // apel,pisang,mangga buah.unshift("semangka"); // Tambah di awal console.log("Setelah unshift: " + buah); // semangka,apel,pisang,mangga buah.shift(); // Hapus dari awal console.log("Setelah shift: " + buah); // apel,pisang,mangga // 3. Iterasi console.log("\nLooping array:"); for(let i = 0; i < buah.length; i++) { console.log("Buah ke-" + (i+1) + ": " + buah[i]); } // 4. Method lain let angka = [5, 3, 8, 1, 9]; console.log("Array asli: " + angka); console.log("Sorted: " + angka.sort()); // [1,3,5,8,9] console.log("Reversed: " + angka.reverse()); // [9,8,5,3,1] console.log("Index of 5: " + angka.indexOf(5)); // 2 console.log("Includes 10? " + angka.includes(10)); // false
Operasi dengan Object
let mahasiswa = { nama: "Ibra", umur: 17, jurusan: "Informatika" }; // 1. Akses property console.log("Nama: " + mahasiswa.nama); // dot notation console.log("Umur: " + mahasiswa["umur"]); // bracket notation // 2. Tambah property mahasiswa.ipk = 3.5; console.log("IPK: " + mahasiswa.ipk); // 3. Hapus property delete mahasiswa.jurusan; console.log("Setelah delete: ", mahasiswa); // 4. Cek property console.log("Ada property nama? " + ("nama" in mahasiswa)); // true console.log("Ada property alamat? " + ("alamat" in mahasiswa)); // false // 5. Looping object console.log("\nLooping object:"); for(let key in mahasiswa) { console.log(key + ": " + mahasiswa[key]); } // 6. Method Object console.log("Keys: " + Object.keys(mahasiswa)); // ["nama","umur","ipk"] console.log("Values: " + Object.values(mahasiswa)); // ["Ibra",17,3.5]
5. KONVERSI TIPE DATA
String ke Number
console.log("=== KONVERSI STRING → NUMBER ==="); let stringAngka = "123"; let stringDesimal = "123.45"; let stringBukanAngka = "123abc"; // Cara 1: parseInt() untuk integer console.log("parseInt('123'): " + parseInt(stringAngka)); // 123 console.log("parseInt('123.45'): " + parseInt(stringDesimal)); // 123 (hilang desimal) console.log("parseInt('123abc'): " + parseInt(stringBukanAngka)); // 123 (ambil angka awal) // Cara 2: parseFloat() untuk desimal console.log("\nparseFloat('123'): " + parseFloat(stringAngka)); // 123 console.log("parseFloat('123.45'): " + parseFloat(stringDesimal)); // 123.45 console.log("parseFloat('123abc'): " + parseFloat(stringBukanAngka)); // 123 // Cara 3: Number() (lebih strict) console.log("\nNumber('123'): " + Number(stringAngka)); // 123 console.log("Number('123.45'): " + Number(stringDesimal)); // 123.45 console.log("Number('123abc'): " + Number(stringBukanAngka)); // NaN (Not a Number) // Cara 4: Unary plus (+) (shortcut) console.log("\n+'123': " + (+stringAngka)); // 123 console.log("+'123.45': " + (+stringDesimal)); // 123.45 console.log("+'123abc': " + (+stringBukanAngka)); // NaN
Number ke String
console.log("\n=== KONVERSI NUMBER → STRING ==="); let angka = 123; let desimal = 123.456; // Cara 1: toString() console.log("(123).toString(): " + angka.toString()); // "123" console.log("(123.456).toString(): " + desimal.toString()); // "123.456" // Cara 2: String() console.log("\nString(123): " + String(angka)); // "123" console.log("String(123.456): " + String(desimal)); // "123.456" // Cara 3: Concatenation dengan string kosong console.log("\n123 + '': " + (angka + "")); // "123" console.log("123.456 + '': " + (desimal + "")); // "123.456"
Boolean ke String/Number
console.log("\n=== KONVERSI BOOLEAN ==="); // Boolean ke String console.log("String(true): " + String(true)); // "true" console.log("String(false): " + String(false)); // "false" console.log("true.toString(): " + true.toString()); // "true" // Boolean ke Number console.log("\nNumber(true): " + Number(true)); // 1 console.log("Number(false): " + Number(false)); // 0 console.log("+true: " + (+true)); // 1 console.log("+false: " + (+false)); // 0
Konversi Lainnya
console.log("\n=== KONVERSI LAINNYA ==="); // Array ke String let array = [1, 2, 3]; console.log("Array [1,2,3] ke String: " + String(array)); // "1,2,3" console.log("Array join: " + array.join("-")); // "1-2-3" // Object ke String let obj = {nama: "Ibra"}; console.log("Object ke String: " + String(obj)); // "[object Object]" console.log("JSON.stringify: " + JSON.stringify(obj)); // '{"nama":"Ibra"}' // String ke Array let teks = "hello"; console.log("String 'hello' ke Array: " + teks.split("")); // ["h","e","l","l","o"]
6. PRAKTIK LANGSUNG
Project 1: Kalkulator Sederhana
console.log("=== KALKULATOR SEDERHANA ==="); // Deklarasi variabel dengan tipe data berbeda const JUDUL = "Kalkulator Ibra"; let angka1 = 10; let angka2 = 5; let operator = "+"; console.log(JUDUL); console.log(`Operasi: ${angka1} ${operator} ${angka2}`); // Proses perhitungan let hasil; if(operator === "+") { hasil = angka1 + angka2; } else if(operator === "-") { hasil = angka1 - angka2; } else if(operator === "*") { hasil = angka1 * angka2; } else if(operator === "/") { hasil = angka1 / angka2; } else { hasil = "Operator tidak valid"; } console.log(`Hasil: ${hasil}`); console.log(`Tipe hasil: ${typeof hasil}`);
Project 2: Form Data Siswa
console.log("\n=== FORM DATA SISWA ==="); // Data siswa dalam object const siswa = { // Data pribadi identitas: { nama: "Ibra Rahman", tempatLahir: "Jakarta", tanggalLahir: "2006-05-15", alamat: "Jl. Merdeka No. 123" }, // Data akademik akademik: { nis: "2023001", kelas: "XII IPA", nilai: [85, 90, 78, 92, 88] }, // Data status status: { aktif: true, organisasi: ["OSIS", "Pramuka"], prestasi: ["Juara 1 Lomba Coding", "Juara 2 OSN Matematika"] } }; // Tampilkan data console.log("DATA SISWA:"); console.log("Nama: " + siswa.identitas.nama); console.log("Kelas: " + siswa.akademik.kelas); console.log("NIS: " + siswa.akademik.nis); console.log("\nNILAI:"); siswa.akademik.nilai.forEach((nilai, index) => { console.log(` Mata pelajaran ${index + 1}: ${nilai}`); }); console.log("\nPRESTASI:"); siswa.status.prestasi.forEach(prestasi => { console.log(" ✓ " + prestasi); }); console.log("\nStatus aktif: " + (siswa.status.aktif ? "Aktif" : "Tidak Aktif"));
Project 3: Sistem Inventori Toko
console.log("\n=== SISTEM INVENTORI TOKO ==="); // Array of objects untuk barang let inventori = [ { id: 1, nama: "Laptop", kategori: "Elektronik", stok: 10, harga: 8000000 }, { id: 2, nama: "Mouse", kategori: "Elektronik", stok: 50, harga: 150000 }, { id: 3, nama: "Buku Tulis", kategori: "Alat Tulis", stok: 200, harga: 5000 }, { id: 4, nama: "Pulpen", kategori: "Alat Tulis", stok: 300, harga: 3000 } ]; console.log("DAFTAR BARANG:"); console.log("ID | Nama Barang | Kategori | Stok | Harga"); // Loop untuk tampilkan semua barang inventori.forEach(barang => { console.log(`${barang.id} | ${barang.nama} | ${barang.kategori} | ${barang.stok} | Rp${barang.harga}`); }); // Hitung total nilai inventori let totalNilai = 0; inventori.forEach(barang => { totalNilai += barang.stok * barang.harga; }); console.log(`\nTotal nilai inventori: Rp${totalNilai.toLocaleString()}`); // Cari barang berdasarkan kategori let kategoriDicari = "Elektronik"; console.log(`\nBarang kategori "${kategoriDicari}":`); let barangElektronik = inventori.filter(barang => barang.kategori === kategoriDicari); barangElektronik.forEach(barang => { console.log(` - ${barang.nama} (Stok: ${barang.stok})`); });
7. TIPS DAN TRIK
Tips 1: Penamaan Variabel yang Baik
// ❌ JANGAN seperti ini: let a = "Ibra"; let b = 17; let c = true; // ✅ LEBIH BAIK seperti ini: let namaSiswa = "Ibra"; // Deskriptif let umurSiswa = 17; // Jelas maksudnya let isAktif = true; // Boolean pakai prefix "is" let nilaiMatematika = 85; // Spesifik let daftarHobi = ["game", "musik"]; // Pakai "daftar" untuk array let dataSiswa = { // Pakai "data" untuk object nama: "Ibra", umur: 17 }; console.log("Contoh penamaan variabel yang baik:"); console.log("Nama siswa: " + namaSiswa); console.log("Umur: " + umurSiswa); console.log("Aktif? " + isAktif);
Tips 2: Cek Tipe Data
let contoh = "Hello World"; console.log("=== CEK TIPE DATA ==="); console.log("typeof 'Hello World': " + typeof contoh); // string console.log("typeof 123: " + typeof 123); // number console.log("typeof true: " + typeof true); // boolean console.log("typeof [1,2,3]: " + typeof [1,2,3]); // object (khusus array) console.log("typeof {nama:'Ibra'}: " + typeof {nama:'Ibra'}); // object console.log("typeof null: " + typeof null); // object (ini spesial!) console.log("typeof undefined: " + typeof undefined); // undefined // Cara cek array yang benar let array = [1, 2, 3]; console.log("\nCek array:"); console.log("Array.isArray([1,2,3]): " + Array.isArray(array)); // true console.log("Array.isArray({}): " + Array.isArray({})); // false
Tips 3: Default Values
console.log("=== DEFAULT VALUES ==="); // Cara memberikan nilai default function sapa(nama) { // Jika nama tidak diberikan, pakai "Tamu" let namaPengguna = nama || "Tamu"; console.log("Halo, " + namaPengguna + "!"); } sapa("Ibra"); // Halo, Ibra! sapa(); // Halo, Tamu! // Cara modern dengan Nullish Coalescing (??) let inputPengguna; let nilaiDefault = inputPengguna ?? "Nilai Default"; console.log("Nilai dengan ?? : " + nilaiDefault); // Nilai Default // Perbedaan || dan ?? let angka = 0; console.log("0 || 10: " + (angka || 10)); // 10 (karena 0 dianggap falsy) console.log("0 ?? 10: " + (angka ?? 10)); // 0 (hanya null/undefined yang diganti)
Tips 4: Destructuring
console.log("\n=== DESTRUCTURING ==="); // Destructuring array let buah = ["apel", "jeruk", "mangga"]; let [buah1, buah2, buah3] = buah; console.log("Buah 1: " + buah1); // apel console.log("Buah 2: " + buah2); // jeruk console.log("Buah 3: " + buah3); // mangga // Destructuring object let siswa = { nama: "Ibra", umur: 17, kelas: "XII IPA" }; let {nama, umur, kelas} = siswa; console.log("\nDestructuring object:"); console.log("Nama: " + nama); // Ibra console.log("Umur: " + umur); // 17 console.log("Kelas: " + kelas); // XII IPA // Dengan nama variabel berbeda let {nama: namaSiswa, umur: usiaSiswa} = siswa; console.log("\nDengan nama berbeda:"); console.log("Nama siswa: " + namaSiswa); // Ibra console.log("Usia siswa: " + usiaSiswa); // 17
Tugas Latihan:
console.log("=== TUGAS LATIHAN ==="); // TUGAS 1: Buat data diri kamu console.log("\nTugas 1: Data Diri"); // Buat variabel untuk menyimpan: // 1. Nama lengkap (string) // 2. Tempat tanggal lahir (string) // 3. Umur (number) // 4. Hobi (array) // 5. Status siswa (boolean) // 6. Data sekolah (object dengan nama, alamat, kelas) // Contoh: let namaLengkap = "Ibra Rahman"; // Lanjutkan sendiri... // TUGAS 2: Kalkulator BMI console.log("\nTugas 2: Kalkulator BMI"); // Rumus: BMI = berat(kg) / (tinggi(m) * tinggi(m)) // Buat variabel untuk berat dan tinggi // Hitung BMI-nya // Tampilkan hasil dengan kategori: // - < 18.5: Kurus // - 18.5-24.9: Normal // - 25-29.9: Gemuk // - >= 30: Obesitas // TUGAS 3: Konversi Mata Uang console.log("\nTugas 3: Konversi Mata Uang"); // Buat sistem konversi IDR ke USD // 1 USD = 15,000 IDR // Buat variabel untuk jumlah IDR // Hitung berapa USD // Tampilkan dengan format: "Rp10.000 = $0.67"
KESIMPULAN
Yang Sudah Dipelajari:
- 7 Tipe Data Utama:
- String → untuk teks
- Number → untuk angka
- Boolean → untuk true/false
- Array → untuk kumpulan data
- Object → untuk data terstruktur
- Null → sengaja dikosongkan
- Undefined → belum diisi
- 3 Cara Buat Variabel:
let→ bisa diubah (direkomendasikan)const→ tidak bisa diubah (untuk nilai tetap)var→ cara lama (hindari)
- Operasi Penting:
- String:
+,.length,.toUpperCase() - Number:
+ - * / %,Math.methods - Array:
.push(),.pop(),.length - Object:
.notation,[]notation
.png)







0 Komentar