Tantangan JavaScript
Uji pemahamanmu dengan soal-soal interaktif. Tulis kode, jalankan, dan cek hasilnya langsung di browser.
Ganjil atau Genap
pemulaPercabanganBuat fungsi `ganjilGenap(n)` yang menerima sebuah angka dan mengembalikan string "ganjil" jika angka tersebut ganjil, atau "genap" jika genap.
Test cases:
Balik String
pemulaStringBuat fungsi `balikString(str)` yang menerima sebuah string dan mengembalikan string tersebut dalam urutan terbalik.
Test cases:
FizzBuzz
pemulaLoopBuat fungsi `fizzBuzz(n)` yang mengembalikan array dari 1 sampai n. Untuk kelipatan 3, ganti dengan "Fizz". Untuk kelipatan 5, ganti dengan "Buzz". Untuk kelipatan keduanya, ganti dengan "FizzBuzz".
Test cases:
Cari Nilai Terbesar
pemulaArrayBuat fungsi `nilaiTerbesar(arr)` yang menerima array angka dan mengembalikan nilai terbesar tanpa menggunakan Math.max.
Test cases:
Hitung Kata
pemulaStringBuat fungsi `hitungKata(str)` yang menghitung jumlah kata dalam sebuah string. Fungsi harus menangani spasi ganda dengan benar.
Test cases:
Palindrome Check
pemulaStringBuat fungsi `cekPalindrome(str)` yang mengecek apakah sebuah string adalah palindrome (dibaca sama dari depan dan belakang). Pengecekan harus case-insensitive.
Test cases:
Jumlah Array
pemulaArrayBuat fungsi `jumlahArray(arr)` yang menerima array angka dan mengembalikan total penjumlahan semua elemen.
Test cases:
Huruf Kapital Pertama
pemulaStringBuat fungsi `kapitalPertama(str)` yang mengubah huruf pertama setiap kata menjadi huruf kapital.
Test cases:
Hitung Vokal
pemulaStringBuat fungsi `hitungVokal(str)` yang menghitung jumlah huruf vokal (a, i, u, e, o) dalam sebuah string. Pengecekan case-insensitive.
Test cases:
Faktorial
pemulaFungsiBuat fungsi `faktorial(n)` yang menghitung faktorial dari bilangan n. Faktorial 0 adalah 1.
Test cases:
Hapus Duplikat
pemulaArrayBuat fungsi `hapusDuplikat(arr)` yang mengembalikan array baru tanpa elemen duplikat.
Test cases:
Celsius ke Fahrenheit
pemulaNumberBuat fungsi `celsiusKeFahrenheit(celsius)` yang mengkonversi suhu dari Celsius ke Fahrenheit. Rumus: F = (C * 9/5) + 32.
Test cases:
Cek Angka Prima
pemulaPercabanganBuat fungsi `cekPrima(n)` yang mengembalikan true jika n adalah bilangan prima, dan false jika bukan.
Test cases:
Rata-rata Array
pemulaArrayBuat fungsi `rataRata(arr)` yang menghitung rata-rata dari semua elemen dalam array angka.
Test cases:
Fibonacci ke-N
pemulaLoopBuat fungsi `fibonacci(n)` yang mengembalikan bilangan Fibonacci ke-n. Fibonacci dimulai dari 0, 1, 1, 2, 3, 5, ... (index dimulai dari 0).
Test cases:
Cek Anagram
pemulaStringBuat fungsi `cekAnagram(str1, str2)` yang mengecek apakah dua string adalah anagram (memiliki huruf yang sama dengan jumlah yang sama). Case-insensitive.
Test cases:
Hitung Kemunculan
pemulaArrayBuat fungsi `hitungKemunculan(arr, target)` yang menghitung berapa kali target muncul dalam array.
Test cases:
Truncate String
pemulaStringBuat fungsi `truncateString(str, maxLength)` yang memotong string jika lebih panjang dari maxLength dan menambahkan "..." di akhir. Jika string lebih pendek atau sama, kembalikan apa adanya.
Test cases:
Array ke Object
pemulaObjectBuat fungsi `arrayKeObject(arr)` yang menerima array pasangan [key, value] dan mengembalikan object. Contoh: [["nama", "Budi"], ["umur", 20]] menjadi {nama: "Budi", umur: 20}.
Test cases:
Cek Tahun Kabisat
pemulaPercabanganBuat fungsi `tahunKabisat(tahun)` yang mengembalikan true jika tahun tersebut adalah tahun kabisat. Aturan: habis dibagi 4, kecuali habis dibagi 100 (bukan kabisat), kecuali habis dibagi 400 (kabisat).
Test cases:
135 tantangan dari pemula sampai lanjutan. Setiap bab juga punya challenge di akhir sub-topik — cek di halaman Belajar.