BelajarKoding Logobelajarkoding

Platform belajar web development Indonesia. Artikel, cheat sheets, roadmap, dan code challenges untuk developer Indonesia.

Navigasi

  • Artikel
  • Cheat Sheets
  • Roadmap
  • Challenges
  • Pricing
  • Search

Produk Lain

  • JagoHermes
  • KelasClaude
  • KilatKoding
  • BelajarVibeCoding
  • JualanKoding

Support

  • Privacy Policy
  • Terms of Service
  • Email

© 2026 BelajarKoding. All rights reserved.

Galih PratamaBagian dari ekosistem Galih Pratama

belajarkoding Logo
RoadmapArtikelCheat SheetsChallengesUpgrade

Code Challenges

100 tantangan interaktif untuk asah problem-solving kamu

100

Total

51

Easy

34

Medium

15

Hard

Kategori
Menampilkan 100 dari 100 challenges
Absolute Difference
Tulis fungsi yang menerima dua angka dan mengembalikan selisih absolutnya (selalu positif).
EasyMatematika~3mjavascript
Array Product
Tulis fungsi yang menerima array angka dan mengembalikan hasil perkalian semua elemen.
EasyArrays~5mjavascript
Average of Array
Tulis fungsi yang menerima sebuah array of numbers dan mengembalikan nilai rata-ratanya.
EasyMatematika~5mjavascript
Can Vote
Tulis fungsi yang menerima umur dan mengembalikan `true` jika sudah bisa memilih (minimal 17 tahun di Indonesia).
EasyLogika~3mjavascript
Capitalize Words
Tulis fungsi yang menerima sebuah string dan mengkapitalisasi huruf pertama dari setiap kata.
EasyStrings~5mjavascript
Celsius to Fahrenheit
Tulis fungsi yang menerima Celsius dan mengembalikan Fahrenheit.
EasyMatematika~5mjavascript
Count Consonants
Tulis fungsi yang menerima string dan mengembalikan jumlah huruf konsonan (huruf selain a, i, u, e, o).
EasyStrings~8mjavascript
Count Digits
Tulis fungsi yang menerima angka `n` dan mengembalikan jumlah digitnya.
EasyMatematika~5mjavascript
Count Occurrences
Tulis fungsi yang menerima array dan nilai target. Kembalikan berapa kali target muncul.
EasyArrays~5mjavascript
Count Properties
Tulis fungsi yang menerima object dan mengembalikan jumlah properties (keys).
EasyObjects~3mjavascript
Count Vowels
Tulis fungsi yang menerima sebuah string dan menghitung jumlah huruf vokal (a, i, u, e, o) di dalamnya.
EasyStrings~5mjavascript
Count Words
Tulis fungsi yang menerima sebuah string dan mengembalikan jumlah kata di dalamnya.
EasyStrings~5mjavascript
Even or Odd
Tulis fungsi yang menerima sebuah array of numbers dan mengembalikan object dengan jumlah angka genap dan ganjil.
EasyLogika~5mjavascript
Factorial
Tulis fungsi yang menerima angka `n` dan mengembalikan nilai faktorial dari n (n!).
EasyMatematika~5mjavascript
Fill Array
Tulis fungsi yang menerima angka `n` dan nilai `value`. Kembalikan array berisi `n` elemen bernilai `value`.
EasyArrays~5mjavascript
Find Maximum
Tulis fungsi yang menerima sebuah array of numbers dan mengembalikan nilai terbesar di dalamnya.
EasyArrays~5mjavascript
Find Minimum
Tulis fungsi yang menerima sebuah array of numbers dan mengembalikan nilai terkecil di dalamnya.
EasyArrays~5mjavascript
First and Last
Tulis fungsi yang menerima array dan mengembalikan array berisi elemen pertama dan terakhir.
EasyArrays~5mjavascript
Grade Classifier
Tulis fungsi yang menerima nilai ujian (0-100) dan mengembalikan huruf grade:
EasyLogika~5mjavascript
Has Key
Tulis fungsi yang menerima object dan key. Kembalikan `true` jika object punya key tersebut.
EasyObjects~3mjavascript
Is Palindrome
Tulis fungsi yang menerima sebuah string dan mengembalikan `true` jika string tersebut adalah palindrome (dibaca sama dari depan dan belakang), atau `false` jika bukan.
EasyStrings~5mjavascript
Is Prime
Tulis fungsi yang menerima sebuah angka dan mengembalikan `true` jika angka tersebut adalah bilangan prima, atau `false` jika bukan.
EasyMatematika~8mjavascript
Is Substring
Tulis fungsi yang menerima dua string dan mengembalikan `true` jika string pertama adalah substring dari string kedua.
EasyStrings~5mjavascript
Is Weekend
Tulis fungsi yang menerima nama hari (Bahasa Indonesia) dan mengembalikan `true` jika Sabtu/Minggu.
EasyLogika~3mjavascript
Linear Search
Tulis fungsi yang menerima sebuah array dan nilai target. Kembalikan index pertama di mana target ditemukan, atau `-1` jika tidak ada.
EasyAlgoritma~5mjavascript
Count Object Properties
Tulis fungsi yang menerima sebuah object dan mengembalikan jumlah propertinya.
EasyObjects~5mjavascript
Pad Number
Tulis fungsi yang menerima angka `num` dan panjang target `length`. Kembalikan string angka tersebut dengan menambahkan `0` di depan sampai panjangnya sesuai.
EasyStrings~5mjavascript
Perfect Square
Tulis fungsi yang menerima angka `n` dan mengembalikan `true` jika `n` adalah kuadrat sempurna.
EasyMatematika~5mjavascript
Power of Two
Tulis fungsi yang menerima sebuah angka dan mengembalikan `true` jika angka tersebut adalah pangkat dari 2.
EasyMatematika~8mjavascript
Range Array
Tulis fungsi yang menerima `start` dan `end`. Kembalikan array berisi angka dari `start` sampai `end` (inklusif).
EasyArrays~5mjavascript
Remove Duplicates
Tulis fungsi yang menerima sebuah array dan mengembalikan array baru tanpa elemen duplikat.
EasyArrays~5mjavascript
Remove Key
Tulis fungsi yang menerima object dan key. Kembalikan object baru tanpa key tersebut (jangan ubah asli).
EasyObjects~5mjavascript
Replace Vowels
Tulis fungsi yang menerima string dan karakter pengganti. Ganti semua huruf vokal (a, i, u, e, o) dengan karakter pengganti.
EasyStrings~8mjavascript
Reverse Array
Tulis fungsi yang menerima array dan mengembalikan array baru dengan urutan terbalik.
EasyArrays~5mjavascript
Reverse String
Tulis fungsi yang menerima sebuah string dan mengembalikan string tersebut dalam urutan terbalik.
EasyStrings~5mjavascript
Reverse Words
Tulis fungsi yang menerima sebuah kalimat dan membalik urutan kata-katanya.
EasyStrings~5mjavascript
Ends With
Tulis fungsi yang menerima string `str` dan suffix. Kembalikan `true` jika `str` berakhir dengan suffix tersebut.
EasyStrings~5mjavascript
String Repeat
Tulis fungsi yang menerima string `str` dan angka `n`, lalu mengembalikan string tersebut diulang sebanyak `n` kali.
EasyStrings~5mjavascript
Starts With
Tulis fungsi yang menerima string `str` dan prefix. Kembalikan `true` jika `str` dimulai dengan prefix tersebut.
EasyStrings~5mjavascript
Sum Array
Tulis fungsi yang menerima sebuah array of numbers dan mengembalikan jumlah (penjumlahan) dari semua angka di dalamnya.
EasyArrays~5mjavascript
Sum Even Numbers
Tulis fungsi yang menerima array angka dan mengembalikan jumlah semua angka genap.
EasyArrays~5mjavascript
Sum Object Values
Tulis fungsi yang menerima object dengan nilai numerik dan mengembalikan jumlah semua nilainya.
EasyObjects~5mjavascript
Sum of Squares
Tulis fungsi yang menerima `n` dan mengembalikan jumlah kuadrat 1 sampai n (1² + 2² + ... + n²).
EasyMatematika~5mjavascript
Swap First and Last
Tulis fungsi yang menerima array dan mengembalikan array baru dengan elemen pertama dan terakhir ditukar.
EasyArrays~8mjavascript
Day Name from Number
Tulis fungsi yang menerima angka 1-7 dan mengembalikan nama hari dalam Bahasa Indonesia.
EasyLogika~5mjavascript
Title Case
Tulis fungsi yang menerima sebuah string dan mengubahnya menjadi format Title Case (huruf pertama tiap kata kapital, sisanya lowercase).
EasyStrings~5mjavascript
Traffic Light
Tulis fungsi yang menerima warna lampu lalu lintas dan mengembalikan aksi:
EasyLogika~5mjavascript
Triangular Number
Tulis fungsi yang menerima `n` dan mengembalikan bilangan segitiga ke-`n` (1+2+...+n).
EasyMatematika~5mjavascript
Truncate String
Tulis fungsi yang menerima sebuah string dan angka `maxLen`. Jika string lebih panjang dari `maxLen`, potong dan tambahkan `"..."` di akhir.
EasyStrings~5mjavascript
Filter Truthy Values
Tulis fungsi yang menerima sebuah array dengan berbagai tipe data dan mengembalikan array baru yang hanya berisi nilai truthy.
EasyLogika~5mjavascript
Unique Sorted
Tulis fungsi yang menerima array angka dan mengembalikan array baru dengan nilai unik yang terurut ascending.
EasyArrays~8mjavascript
Anagram Check
Tulis fungsi yang menerima dua string dan mengembalikan `true` jika keduanya adalah anagram (memiliki huruf yang sama dengan jumlah yang sama, hanya urutannya berbeda).
MediumLogika~10mjavascript
Array Sum by Group
Tulis fungsi yang menerima sebuah array of numbers dan mengembalikan array berisi jumlah dari setiap pasangan berurutan (2 elemen).
MediumArrays~10mjavascript
Array Difference
Tulis fungsi yang menerima dua array dan mengembalikan array baru berisi elemen yang ada di array pertama tapi tidak ada di array kedua.
MediumArrays~8mjavascript
Array Intersection
Tulis fungsi yang menerima dua array dan mengembalikan array baru berisi elemen yang ada di kedua array.
MediumArrays~8mjavascript
Array Median
Tulis fungsi yang menerima array angka terurut dan mengembalikan mediannya.
MediumArrays~10mjavascript
BMI Calculator
Tulis fungsi yang menerima berat (kg) dan tinggi (m), mengembalikan kategori BMI:
MediumLogika~10mjavascript
Convert to CamelCase
Tulis fungsi yang menerima sebuah string dengan kata-kata dipisahkan spasi dan mengubahnya menjadi camelCase.
MediumStrings~10mjavascript
Collatz Steps
Tulis fungsi yang menerima angka `n` dan menghitung berapa langkah yang diperlukan untuk mencapai 1 dengan aturan Collatz:
MediumMatematika~10mjavascript
Digital Root
Tulis fungsi yang menerima `n` dan mengembalikan akar digitalnya (jumlah digit berulang sampai 1 digit).
MediumMatematika~10mjavascript
Filter By Value
Tulis fungsi yang menerima object dengan nilai numerik dan threshold. Kembalikan object hanya berisi key-value yang nilainya > threshold.
MediumObjects~10mjavascript
Find Missing Number
Tulis fungsi yang menerima sebuah array berisi angka berurutan dari 1 sampai n, namun satu angka hilang. Kembalikan angka yang hilang tersebut.
MediumMatematika~10mjavascript
FizzBuzz
Tulis fungsi yang menerima angka `n` dan mengembalikan array berisi hasil FizzBuzz dari 1 sampai n.
MediumLogika~10mjavascript
Flatten Array
Tulis fungsi yang menerima array bersarang (nested array) satu level dan mengembalikan array yang sudah diratakan (flatten).
MediumArrays~8mjavascript
Greatest Common Divisor
Tulis fungsi yang menerima dua angka dan mengembalikan FPB (Faktor Persekutuan Terbesar) / GCD.
MediumMatematika~12mjavascript
Perfect Number
Tulis fungsi yang menerima `n` dan mengembalikan `true` jika `n` bilangan sempurna (jumlah pembagi selain dirinya = dirinya).
MediumMatematika~12mjavascript
Least Common Multiple
Tulis fungsi yang menerima dua angka dan mengembalikan KPK (Kelipatan Persekutuan Terkecil).
MediumMatematika~12mjavascript
Leap Year Check
Tulis fungsi yang menerima sebuah tahun dan mengembalikan `true` jika tahun tersebut adalah tahun kabisat.
MediumLogika~10mjavascript
Longest Word
Tulis fungsi yang menerima kalimat dan mengembalikan kata terpanjang. Jika ada tie, kembalikan kata pertama.
MediumStrings~10mjavascript
Mask String
Tulis fungsi yang menerima string (seperti nomor kartu) dan menyembunyikan semua karakter kecuali 4 terakhir dengan `*`.
MediumStrings~10mjavascript
Merge With Defaults
Tulis fungsi yang menerima `obj` dan `defaults`. Kembalikan gabungan di mana `defaults` jadi fallback untuk key yang tidak ada di `obj`.
MediumObjects~8mjavascript
Merge Two Objects
Tulis fungsi yang menerima dua object dan menggabungkannya menjadi satu. Jika ada key yang sama, nilai dari object kedua menang.
MediumObjects~8mjavascript
Merge Sorted Arrays
Tulis fungsi yang menerima dua array yang sudah terurut dan menggabungkannya menjadi satu array terurut.
MediumArrays~10mjavascript
Most Frequent Element
Tulis fungsi yang menerima sebuah array dan mengembalikan elemen yang paling sering muncul di dalamnya.
MediumArrays~10mjavascript
Move Zeros
Tulis fungsi yang menerima array angka dan memindahkan semua angka `0` ke akhir, urutan elemen non-zero tetap.
MediumArrays~10mjavascript
Object From Pairs
Tulis fungsi yang menerima array pasangan [key, value] dan mengembalikannya sebagai object.
MediumObjects~8mjavascript
Second Largest
Tulis fungsi yang menerima sebuah array of numbers dan mengembalikan angka terbesar kedua di dalamnya.
MediumArrays~10mjavascript
Sum of Digits
Tulis fungsi yang menerima sebuah angka dan mengembalikan jumlah dari semua digitnya.
MediumMatematika~8mjavascript
Swap Keys and Values
Tulis fungsi yang menerima object dan mengembalikan object baru dengan key dan value ditukar.
MediumObjects~10mjavascript
Temperature Advisor
Tulis fungsi yang menerima suhu (°C) dan memberikan saran pakaian:
MediumLogika~8mjavascript
Triangle Type
Tulis fungsi yang menerima 3 sisi segitiga dan mengembalikan jenisnya:
MediumLogika~8mjavascript
Two Sum
Tulis fungsi yang menerima array angka `nums` dan `target`. Kembalikan index dua angka yang jika dijumlahkan = target.
MediumAlgoritma~15mjavascript
Valid Password
Tulis fungsi yang menerima password dan mengembalikan `true` jika:
MediumLogika~10mjavascript
Validate Brackets
Tulis fungsi yang menerima sebuah string berisi kurung dan mengembalikan `true` jika semua kurung seimbang (setiap kurung buka punya pasangan tutup yang benar).
MediumLogika~12mjavascript
Zip Arrays
Tulis fungsi yang menerima dua array dengan panjang sama. Kembalikan array pasangan dari elemen index yang sama.
MediumArrays~10mjavascript
Armstrong Number
Tulis fungsi yang menerima sebuah angka dan mengembalikan `true` jika angka tersebut adalah Armstrong Number.
HardMatematika~15mjavascript
Binary Search
Tulis fungsi yang menerima sebuah array terurut dan sebuah nilai target. Kembalikan index dari target jika ditemukan, atau `-1` jika tidak ada.
HardAlgoritma~15mjavascript
Bubble Sort
Tulis fungsi yang mengurutkan sebuah array of numbers menggunakan algoritma Bubble Sort (ascending).
HardAlgoritma~15mjavascript
Chunk Array
Tulis fungsi yang menerima sebuah array dan ukuran chunk, lalu membagi array menjadi grup-grup (sub-array) dengan ukuran tersebut.
HardArrays~12mjavascript
Fibonacci
Tulis fungsi yang menerima angka `n` dan mengembalikan bilangan Fibonacci ke-n.
HardMatematika~12mjavascript
FizzBuzzBuzz
Tulis fungsi yang menerima angka `n` dan mengembalikan array berisi string dari 1 sampai n dengan aturan:
HardLogika~15mjavascript
Insertion Sort
Implementasikan Insertion Sort. Menerima array angka, return array terurut ascending.
HardAlgoritma~20mjavascript
Invert Object
Tulis fungsi yang menerima sebuah object dan menukar key dengan value-nya.
HardObjects~12mjavascript
Max Subarray Sum
Tulis fungsi yang menerima array angka dan mengembalikan jumlah maksimum subarray contiguous.
HardAlgoritma~25mjavascript
Pascal's Triangle Row
Tulis fungsi yang menerima `n` (0-indexed) dan mengembalikan baris ke-`n` Segitiga Pascal.
HardAlgoritma~20mjavascript
Roman to Integer
Tulis fungsi yang menerima sebuah string angka Romawi dan mengembalikan nilai integernya.
HardMatematika~15mjavascript
Rotate Array
Tulis fungsi yang menerima sebuah array dan angka `k`. Rotasi array sebanyak `k` langkah ke kanan.
HardArrays~15mjavascript
Selection Sort
Implementasikan Selection Sort. Menerima array angka, return array terurut.
HardAlgoritma~20mjavascript
Compress String
Tulis fungsi yang melakukan kompresi string sederhana. Ganti karakter berurutan yang sama dengan format `karakter + jumlah`.
HardStrings~15mjavascript
Word Frequency
Tulis fungsi yang menerima sebuah string (kalimat) dan mengembalikan object berisi frekuensi kemunculan setiap kata.
HardStrings~12mjavascript