1. LATAR BELAKANG
Pada hari ini, saya mempelajari peran JavaScript sebagai alat untuk mengembangkan kemampuan algoritmik. Sebagai siswa SMK yang baru memasuki dunia pemrograman, saya perlu memahami bahwa belajar algoritma tidak harus dimulai dengan bahasa pemrograman yang kompleks. JavaScript, yang selama ini dikenal sebagai bahasa untuk pembuatan website, ternyata memiliki potensi besar sebagai media pembelajaran logika dan pemecahan masalah.
Pembelajaran ini difokuskan pada pengenalan konsep dasar algoritma dan bagaimana JavaScript dapat menjadi alat yang efektif untuk menerapkan konsep tersebut. Dengan pendekatan industrial-based learning, saya belajar bahwa kemampuan algoritmik merupakan fondasi penting sebelum terjun ke pembuatan aplikasi yang kompleks, baik di bidang Software Development maupun Cloud Computing.
2. ALAT DAN BAHAN
- Visual Studio Code - Text editor untuk menulis dan mengelola kode JavaScript
- Node.js - Runtime environment untuk menjalankan JavaScript di server-side
- Google Chrome - Browser untuk menguji kode di console developer tools
3. PEMBAHASAN
3.1 Pengertian Algoritma
Algoritma adalah urutan langkah-langkah logis dan sistematis untuk menyelesaikan suatu masalah. Dalam konteks pemrograman, algoritma berperan sebagai "resep" yang memberitahu komputer bagaimana melakukan suatu tugas.
Ciri-ciri algoritma yang baik:
- Jelas (Definiteness) - Setiap langkah tidak ambigu
- Runtut (Sequence) - Ada urutan eksekusi yang logis
- Memiliki Input - Menerima data masukan
- Memiliki Output - Menghasilkan keluaran
- Terbatas (Finiteness) - Memiliki titik berhenti yang jelas
- Efektif - Setiap langkah dapat dieksekusi
Contoh algoritma sederhana dalam kehidupan sehari-hari:
Algoritma Memasak Air: 1. Ambil panci 2. Isi dengan air 3. Letakkan di kompor 4. Nyalakan api 5. Tunggu hingga mendidih 6. Matikan api
3.2 Pengenalan JavaScript
JavaScript pertama kali diciptakan pada tahun 1995 oleh Brendan Eich saat bekerja di perusahaan Netscape Communications. Bahasa pemrograman ini dibuat dalam waktu yang sangat singkat, sekitar 10 hari, dengan tujuan untuk membuat halaman web menjadi lebih interaktif, bukan hanya menampilkan konten statis. Awalnya JavaScript diberi nama Mocha, kemudian LiveScript, dan akhirnya diubah menjadi JavaScript sebagai strategi pemasaran, meskipun tidak memiliki hubungan langsung dengan bahasa pemrograman Java. JavaScript dirancang agar mudah dipelajari dan dapat dijalankan langsung di browser web. Namun kini JavaScript telah berkembang menjadi bahasa multi-paradigma yang dapat digunakan untuk:
- Web Development - Frontend dan backend (dengan Node.js)
- Mobile Development - Menggunakan framework seperti React Native
- Desktop Applications - Menggunakan Electron
- Game Development - Membuat game berbasis browser
- IoT Programming - Mengontrol perangkat Internet of Things
3.3 JavaScript sebagai Alat Algoritma
Kenapa JavaScript cocok untuk belajar algoritma?
- Sintaks Sederhana - Mirip bahasa Inggris, mudah dipahami pemula
- Tidak Perlu Kompilasi - Bisa langsung dijalankan (interpreted language)
- Fleksibel - Bisa dijalankan di browser tanpa instalasi khusus
- Feedback Cepat - Hasil kode langsung terlihat di console
- Multi-paradigma - Mendukung pemrograman prosedural, OOP, dan fungsional
Hubungan logika algoritma dengan sintaks JavaScript:
Setiap konsep algoritma memiliki padanan dalam JavaScript:
- Penyimpanan data → Variabel (let, const)
- Pengambilan keputusan → Percabangan (if-else, switch)
- Pengulangan tugas → Looping (for, while)
- Pengelompokan kode → Function
- Struktur data → Array, Object
3.4 Struktur Dasar JavaScript untuk Algoritma
Variabel dan Tipe Data
Variabel adalah tempat menyimpan data, seperti kotak penyimpanan yang memiliki nama. JavaScript memiliki beberapa tipe data dasar:
// Contoh variabel dengan berbagai tipe data let nama = "Ibra"; // String - untuk teks let umur = 17; // Number - untuk angka let isStudent = true; // Boolean - untuk true/false let hobi = ["coding", "game"]; // Array - untuk kumpulan data let siswa = { // Object - untuk data terstruktur nama: "Ibra", kelas: "XII RPL 1" };
Operator
Operator digunakan untuk melakukan operasi pada data:
// Operator Aritmatika let hasil = 10 + 5; // Penjumlahan let selisih = 10 - 5; // Pengurangan let kali = 10 * 5; // Perkalian let bagi = 10 / 5; // Pembagian // Operator Perbandingan let lebihBesar = 10 > 5; // true let samaDengan = 10 == 10; // true // Operator Logika let kondisi1 = true; let kondisi2 = false; let hasilAND = kondisi1 && kondisi2; // false (AND) let hasilOR = kondisi1 || kondisi2; // true (OR)
Percabangan (If-Else)
Digunakan untuk pengambilan keputusan berdasarkan kondisi:
// Contoh algoritma menentukan nilai kelulusan let nilai = 85; if (nilai >= 75) { console.log("LULUS"); } else { console.log("TIDAK LULUS"); } // Percabangan bertingkat if (nilai >= 90) { console.log("Grade: A"); } else if (nilai >= 80) { console.log("Grade: B"); } else if (nilai >= 70) { console.log("Grade: C"); } else { console.log("Grade: D"); }
Perulangan (Looping)
Digunakan untuk mengulangi tugas yang sama:
// For loop - ketika tahu berapa kali pengulangan console.log("Menghitung 1 sampai 5:"); for (let i = 1; i <= 5; i++) { console.log("Angka: " + i); } // While loop - ketika tidak tahu berapa kali, tapi tahu kapan berhenti let hitungan = 1; console.log("\nWhile loop contoh:"); while (hitungan <= 3) { console.log("Iterasi ke-" + hitungan); hitungan++; }
Fungsi
Fungsi adalah kumpulan perintah yang dapat dipanggil berulang kali:
// Fungsi untuk menyapa function sapa(nama) { return "Halo, " + nama + "! Selamat belajar JavaScript!"; } // Memanggil fungsi console.log(sapa("Ibra")); // Halo, Ibra! Selamat belajar JavaScript! console.log(sapa("Teman-teman")); // Halo, Teman-teman! Selamat belajar JavaScript! // Fungsi dengan parameter dan return value function tambah(a, b) { return a + b; } let hasilTambah = tambah(5, 3); console.log("5 + 3 = " + hasilTambah); // 8
3.5 Contoh Penerapan Algoritma
Algoritma Penjumlahan Sederhana
// Algoritma: Menjumlahkan dua bilangan function jumlahkan(angka1, angka2) { let hasil = angka1 + angka2; return hasil; } // Penggunaan console.log("10 + 5 = " + jumlahkan(10, 5)); // 15 console.log("7 + 3 = " + jumlahkan(7, 3)); // 10
Algoritma Penentuan Bilangan Ganjil-Genap
// Algoritma: Menentukan apakah bilangan ganjil atau genap function cekGanjilGenap(bilangan) { if (bilangan % 2 === 0) { return "GENAP"; } else { return "GANJIL"; } } // Penggunaan console.log("10 adalah bilangan: " + cekGanjilGenap(10)); // GENAP console.log("7 adalah bilangan: " + cekGanjilGenap(7)); // GANJIL console.log("0 adalah bilangan: " + cekGanjilGenap(0)); // GENAP
Algoritma Perulangan Data
// Algoritma: Menampilkan semua item dalam array let daftarBuah = ["Apel", "Jeruk", "Mangga", "Pisang"]; console.log("Daftar Buah:"); for (let i = 0; i < daftarBuah.length; i++) { console.log((i + 1) + ". " + daftarBuah[i]); } // Output: // 1. Apel // 2. Jeruk // 3. Mangga // 4. Pisang
3.6 Kelebihan JavaScript untuk Belajar Algoritma
- Sintaks Sederhana dan Mudah Dibaca
- Mirip bahasa manusia
- Tidak terlalu banyak simbol kompleks
- Error messages yang informatif
- Bisa Langsung Dicoba di Browser
- Cukup tekan F12 → Console
- Tidak perlu instalasi khusus
- Cocok untuk eksperimen cepat
- Cocok untuk Pemula
- Learning curve yang landai
- Banyak resources belajar gratis
- Komunitas besar dan supportive
- Membuka Pintu ke Berbagai Area
- Web Development
- Mobile Apps
- Backend Programming
- Game Development
3.7 Kendala dan Solusi
Kendala yang dihadapi:
- Awalnya bingung dengan perbedaan
==dan===dalam JavaScript - Terkadang lupa menggunakan titik koma (;) di akhir statement
- Bingung kapan menggunakan
let,const, atauvar
Solusi yang diterapkan:
- Membaca dokumentasi MDN tentang perbandingan strict vs loose equality
- Menggunakan extension ESLint di VS Code untuk auto-formatting
- Membuat catatan tentang scope dan penggunaan masing-masing deklarasi variabel
- Konsultasi dengan mentor PLC ketika menemui kesulitan
4. KESIMPULAN
Berdasarkan pembahasan yang telah saya sampaikan, JavaScript terbukti merupakan bahasa pemrograman yang sangat efektif untuk digunakan sebagai alat pembelajaran algoritma, khususnya bagi siswa SMK yang baru mengenal dunia pemrograman. Melalui sintaks yang sederhana, fleksibel, dan dapat langsung dijalankan, JavaScript membantu memahami konsep dasar algoritma seperti variabel, operator, percabangan, perulangan, dan fungsi secara lebih konkret dan aplikatif. Materi yang dibahas dalam artikel ini telah mencakup fondasi penting algoritmik serta menunjukkan keterkaitan antara logika berpikir sistematis dan implementasinya dalam kode JavaScript, sehingga dapat menjadi bekal awal yang kuat sebelum mempelajari pengembangan aplikasi yang lebih kompleks di bidang software development maupun teknologi berbasis cloud.
5. DAFTAR PUSTAKA
- Petani Kode. (2018). Pemrograman Javacsript: Langkah Awal Belajar Javascript. https://www.petanikode.com
- Universitas Negeri Surabaya. (2025). Pengenalan Javacsript dan Perannya dalam Pengembangan Web Modern. https://terapan-ti.vokasi.unesa.ac.id
- Dicoding. (2020). Apa Itu Javascript? Fungsi dan Contohnya. https://www.dicoding.com
- W3Schools. (n.d.). JavaScript Tutorial. Diakses dari https://www.w3schools.com/js/
- freeCodeCamp. (2022). Introduction to Algorithms Handbook - with JavaScript Examples. https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/
- Primakara. (2023). Panduan Belajar JavaScript. https://primakara.ac.id


0 Komentar