bangden.id/blog/empat-contoh-coding-sederhana-untuk-pemula
TutorialJan 30, 20266 min read

4 Contoh Coding Sederhana untuk Pemula (Paling Mudah + Penjelasan)

4 contoh coding sederhana yang gampang banget buat pemula: ganjil-genap, hitung total belanja (diskon + ongkir), validasi nomor WhatsApp/HP Indonesia, dan game tebak angka — lengkap dengan penjelasan dan tantangan kecil.

4 Contoh Coding Sederhana untuk Pemula (Paling Mudah + Penjelasan)
BD

Bang Den

Verified Author

Frontend Engineer & UI/UX Designer. Passionate about creating beautiful, performant web experiences.

Kamu baru mulai belajar ngoding dan sering kepikiran, “Aku harus bikin apa dulu biar paham beneran?”

Aku dulu juga gitu. Dan jujur aja, yang bikin capek itu bukan “ngodingnya”, tapi milih latihan yang pas.

Aku masih inget momen “ketampar”-nya: aku ngikutin tutorial yang keliatannya gampang, tapi pas disuruh modif dikit (ganti input, tambah kondisi, ubah output), aku langsung mentok. Dari situ aku sadar, yang bikin paham itu bukan nonton tutorial panjang—tapi ngerjain contoh kecil yang bisa kamu utak-atik seenaknya.

Contoh di internet sering kebagi dua:

  • yang terlalu receh (“print hello world doang”) sampai kamu merasa, lah terus?
  • yang langsung brutal (udah pakai framework, database, auth, deploy) sampai kamu cuma ngikutin tutorial tanpa ngerti kenapa

Makanya di artikel ini aku pilih jalur tengah: 4 contoh coding sederhana untuk pemula yang beneran melatih logika dan masih terasa fun. Bukan cuma “baca”, tapi kamu diajak nyoba.

Setiap contoh punya:

  • penjelasan singkat (nggak sok akademis)
  • kode yang bisa kamu copy-run
  • tantangan kecil (biar kamu ikut mikir, bukan cuma scroll)

Soal bahasa: aku pakai JavaScript (Node.js) karena gampang dicoba di laptop biasa. Tapi tenang, logikanya tetep kepake kalau kamu lagi belajar Python / Java / Go.

Quick cek: kamu sudah punya Node? Coba node -v. Kalau muncul versi (misal v20.x), aman.

1) Cek angka ganjil atau genap

Ini latihan klasik, tapi berguna banget buat ngenalin:

  • input
  • kondisi if
  • operator modulo (%)

Tujuan: kamu masukin angka, program ngasih tahu itu ganjil atau genap.

JavaScript
1// ganjil-genap.js
2
3const angka = 17;
4
5if (angka % 2 === 0) {
6 console.log(`${angka} itu GENAP`);
7} else {
8 console.log(`${angka} itu GANJIL`);
9}

Kalau kamu jalanin, harusnya keluar salah satu dari dua output itu.

Kenapa pakai %? Karena angka % 2 ngasih sisa pembagian 2.

  • sisa 0 → genap
  • sisa 1 → ganjil

Mini challenge (biar interaktif):

  • Ubah angka jadi 0, 1, 2, 99, 100. Output-nya sesuai nggak?
  • Bonus: coba masukin angka negatif (misal -7). Menurut kamu hasilnya gimana?

2) Hitung total belanja (diskon + ongkir)

Ini contoh yang lebih “Indonesia banget” karena mirip kejadian sehari-hari: kamu belanja, ada diskon, ada ongkir.

Aku pernah bantuin temen bikin total belanja buat project kecil-kecilan, dan yang bikin ribet bukan rumusnya—tapi detailnya: diskon dihitung dari subtotal atau setelah ongkir? ongkir kena diskon nggak? terus pembulatan gimana? Nah latihan ini sengaja kubikin sederhana dulu biar fokusnya ke logika dasarnya.

Latihan ini bakal kepake buat:

  • bikin fungsi
  • operasi aritmatika yang bener
  • bikin output yang gampang dibaca
JavaScript
1// total-belanja.js
2
3function hitungTotalBelanja({ hargaBarang, qty, diskonPersen, ongkir }) {
4 const subtotal = hargaBarang * qty;
5 const diskon = (diskonPersen / 100) * subtotal;
6 const total = subtotal - diskon + ongkir;
7
8 return {
9 subtotal,
10 diskon,
11 ongkir,
12 total,
13 };
14}
15
16const hasil = hitungTotalBelanja({
17 hargaBarang: 35000,
18 qty: 3,
19 diskonPersen: 10,
20 ongkir: 12000,
21});
22
23console.log(hasil);

Output-nya memang bentuk objek, tapi justru enak buat latihan karena kamu bisa lihat komponen hitungannya satu-satu.

Mini challenge:

  • Bikin fungsi formatRupiah() sederhana, terus tampilkan totalnya jadi Rp35.000 (nggak harus super sempurna dulu).
  • Kalau diskonPersen lebih dari 100 atau kurang dari 0, kamu mau ngapain? (kembalikan error? atau clamp jadi 0–100?)
  • Tambahin aturan: kalau subtotal di atas 200.000, ongkir jadi 0 (gratis ongkir).

3) Validasi nomor WhatsApp/HP Indonesia (versi pemula)

Validasi itu bakal sering kamu temuin di dunia nyata: form daftar, checkout, kirim OTP, dan sebagainya.

Dan lucunya, masalahnya sering bukan “nomornya salah”—tapi formatnya beda-beda. Ada yang nulis 0812..., ada yang +62..., ada yang pakai spasi, ada yang pakai strip -. Jadi kalau kamu bikin form, kamu bakal ketemu data kayak gitu cepat atau lambat.

Biar lebih “relate”, kita bikin validasi nomor HP/WhatsApp Indonesia yang umum.

Aturan versi pemula (biar nggak ribet dulu):

  • input boleh mengandung spasi atau tanda - (nanti kita bersihin)
  • boleh mulai dengan 08... atau +62... atau 62...
  • setelah dibersihin, isinya harus angka dan panjangnya masuk akal
JavaScript
1// validasi-whatsapp.js
2
3function normalisasiNomorID(input) {
4 // buang spasi dan tanda '-' biar input kayak "0812-3456-789" tetap aman
5 let nomor = input.replace(/\s|-/g, "");
6
7 if (nomor.startsWith("+62")) nomor = "0" + nomor.slice(3);
8 if (nomor.startsWith("62")) nomor = "0" + nomor.slice(2);
9
10 return nomor;
11}
12
13function nomorValidUntukWA(input) {
14 const nomor = normalisasiNomorID(input);
15 if (!nomor.startsWith("08")) return false;
16 if (!/^\d+$/.test(nomor)) return false;
17 if (nomor.length < 10 || nomor.length > 13) return false;
18
19 return true;
20}
21
22const contoh = [
23 "08123456789",
24 "+628123456789",
25 "62 812-3456-789",
26 "0812 34AB 789",
27 "07123456789",
28];
29
30for (const item of contoh) {
31 console.log(item, "=>", nomorValidUntukWA(item));
32}

Ini bukan validasi nomor paling “saklek” sedunia (aturan nomor bisa beda-beda), tapi untuk latihan pemula ini bagus karena kamu belajar:

  • normalisasi input (bersihin spasi/tanda)
  • cek pola string
  • mikirin edge case yang umum banget di form

Mini challenge:

  • Bikin supaya nomor "0812 3456 789" dinormalisasi jadi "08123456789" dan ditampilkan juga hasil normalisasinya.
  • Kalau input kosong atau cuma spasi, output-nya kamu mau false atau tampilkan pesan error?
  • Bonus: buang tanda ( dan ) juga (misal input: (0812) 3456-789).

4) Game tebak angka (yang bikin kamu pengen coba terus)

Kalau kamu pengen latihan yang terasa kayak “game kecil”, ini favorit.

Konsepnya:

  • komputer memilih angka rahasia
  • kamu menebak
  • program kasih petunjuk: terlalu besar atau terlalu kecil

Versi ini pakai input dari terminal (Node.js).

JavaScript
1// tebak-angka.js
2
3const readline = require("node:readline");
4
5const rl = readline.createInterface({
6 input: process.stdin,
7 output: process.stdout,
8});
9
10const jawaban = Math.floor(Math.random() * 10) + 1; // 1 - 10
11let percobaan = 0;
12
13console.log("Aku sudah pilih angka 1 sampai 10. Tebak ya!");
14
15function tanya() {
16 rl.question("Tebakan kamu: ", (input) => {
17 const tebak = Number(input);
18 percobaan++;
19
20 if (Number.isNaN(tebak)) {
21 console.log("Itu bukan angka. Coba lagi.");
22 return tanya();
23 }
24
25 if (tebak === jawaban) {
26 console.log(`Benar! Jawabannya ${jawaban}. Kamu butuh ${percobaan} percobaan.`);
27 rl.close();
28 return;
29 }
30
31 if (tebak < jawaban) {
32 console.log("Kekecilan.");
33 } else {
34 console.log("Kebesaran.");
35 }
36
37 tanya();
38 });
39}
40
41tanya();

Yang bikin latihan ini “hidup” adalah loop + feedback.

Mini challenge:

  • Ubah range jadi 1–100.
  • Kasih batas maksimal 7 percobaan. Kalau lewat, game over.
  • Tambahin fitur “main lagi?” setelah menang/kalah.

Cara jalanin semua contoh (biar kamu benar-benar nyoba)

  1. Buat file sesuai nama di atas (misal ganjil-genap.js)
  2. Jalankan:
Bash
1node ganjil-genap.js
2node total-belanja.js
3node validasi-whatsapp.js
4node tebak-angka.js

Kalau ada yang error, itu bagus (serius). Error itu bahan belajar.

Kalau kamu pemula, mulai dari mana dulu?

Saran paling realistis:

  • Kalau kamu masih bingung if/else → mulai dari ganjil-genap
  • Kalau kamu pengen latihan fungsi + hitung-hitungan yang relate → total belanja
  • Kalau kamu pengen paham string + validasi input → validasi nomor WA/HP
  • Kalau kamu pengen latihan program “interaktif” → tebak angka

Btw, kamu belajar ngoding buat apa? (biar aku bisa arahin latihan berikutnya)

  • mau jadi frontend?
  • backend?
  • data?
  • atau sekadar pengen bisa bikin project sendiri?

Kalau kamu jawab, aku bisa bikinin “next step” yang levelnya pas (nggak terlalu gampang, nggak bikin nyerah).

Biar aku bisa ngarahin lebih tepat, jawab singkat aja salah satu ini:

  • kamu lagi belajar bahasa apa? (JS / Python / Go / lainnya)
  • target kamu mau bikin apa? (website, API, bot, automation, dll)
  • kamu paling nyangkut di bagian mana? (logika, loop, function, atau malah setup?)

Share this article

Bang Den

Blog personal tentang teknologi, programming, dan kehidupan digital. Berbagi pengalaman dan tutorial untuk sesama developer.

Connect

Feel free to reach out!

© Bang Den. All rights reserved.

Built with using Next.js & Tailwind CSS