background icons
background icons 2
Menguasai Pola Bintang: Trik Rekursi, Manipulasi String, dan Array Javascript
Fitri Hy Fitri Hy
Tutorial 15-09-2024

Menguasai Pola Bintang: Trik Rekursi, Manipulasi String, dan Array Javascript

Membuat pola bintang adalah salah satu latihan populer dalam pemrograman untuk mengasah keterampilan logika dan pemahaman struktur pengulangan. Dalam artikel ini, kita akan membahas tiga metode untuk menghasilkan pola bintang dengan menggunakan rekursi, string manipulation, array methods, dan generator functions.

1. Menggunakan Rekursi

Rekursi adalah metode di mana fungsi memanggil dirinya sendiri untuk menyelesaikan masalah. Dalam konteks pola bintang, kita dapat menggunakan rekursi untuk membangun baris pola bintang secara bertahap.

Contoh Pola Segitiga Bintang

*
**
***
****
*****

Kode

function printStarsRecursion(n, current = 1) {
    if (current > n) return;
    console.log('*'.repeat(current));
    printStarsRecursion(n, current + 1);
}

printStarsRecursion(5);

Penjelasan

Fungsi printStarsRecursion menerima dua argumen, yaitu n sebagai jumlah baris dan current sebagai penanda baris saat ini. Setiap iterasi mencetak current jumlah bintang dan kemudian memanggil dirinya sendiri dengan current + 1, hingga mencapai n.

2. Menggunakan String Manipulation

Manipulasi string memungkinkan kita untuk dengan mudah menghasilkan dan menggabungkan karakter sesuai kebutuhan. Kita dapat memanfaatkan metode seperti repeat() untuk mengulangi karakter bintang dan menggabungkannya menjadi pola yang diinginkan.

Contoh Pola Segitiga Terbalik

*****
****
***
**
*

Kode

function printStarsStringManipulation(n) {
    for (let i = n; i > 0; i--) {
        console.log('*'.repeat(i));
    }
}

printStarsStringManipulation(5);

Penjelasan

Pada pendekatan ini, kita menggunakan manipulasi string sederhana dengan metode repeat() untuk menghasilkan baris bintang yang berkurang pada setiap iterasi loop, mulai dari n hingga 1.

3. Menggunakan Array Methods dan Generator Functions

Generator function di JavaScript adalah fitur yang memungkinkan kita membuat fungsi yang menghasilkan serangkaian nilai secara bertahap, tanpa menghentikan eksekusi utama. Kita dapat menggunakannya bersama metode array seperti map(), fill(), dan join() untuk menghasilkan pola bintang.

Contoh Pola Persegi Bintang

*****
*****
*****
*****
*****

Kode

function* generateStars(n) {
    for (let i = 0; i < n; i++) {
        yield Array(n).fill('*').join('');
    }
}

const starGenerator = generateStars(5);
for (const line of starGenerator) {
    console.log(line);
}

Penjelasan

Dalam metode ini, kita menggunakan generator function generateStars untuk menghasilkan baris bintang secara bertahap menggunakan Array. fill() yang mengisi array dengan bintang dan join() untuk menggabungkan elemen menjadi string. Setiap baris dihasilkan satu per satu dengan menggunakan yield, dan kemudian ditampilkan menggunakan loop for-of.

Kesimpulan

Membuat pola bintang dapat diselesaikan dengan berbagai pendekatan tergantung pada alat dan teknik yang digunakan. Pada artikel ini, kita telah mengeksplorasi tiga metode:

  • Rekursi: Membagi masalah menjadi bagian-bagian yang lebih kecil, cocok untuk pola bertahap seperti segitiga.
  • String Manipulation: Efektif untuk menghasilkan pola sederhana dengan pengulangan karakter.
  • Array Methods dan Generator Functions: Ideal untuk kontrol yang lebih baik dalam memproses pola besar secara bertahap.

Dengan memahami berbagai pendekatan ini, Anda dapat lebih fleksibel dalam menyelesaikan tantangan pola di berbagai bahasa pemrograman.