Mengenal Modul Fungsi: Cara Mendefinisikan dan Menjalankan Fungsi di Bahasa Earl

Dalam bahasa pemrograman Earl, fungsi adalah langkah penting menju strukstur kode modular dan teorganisir. Modul fungsi bertugas menambahkan kemampuan tersebut. Artikel ini akan membahas bagaimana modul ini bekerja, apa saja sintaks yang didukung, dan bagaimana fungsi didefinisikan bisa dijalankan. Apa itu Modul fungsi? Memungkinkan pengguna mendefisikan blok kode yang dapat dipanggil ulang dengan nama dan parameter tertentu, mirip seperti JavaScript, Python, dan lainnya. Contoh: fungsi dengan(nama) ( tampilkan "Halo, " nama ) Fungsi ini bisa dipanggil dengan: sapa "Alex" Struktur Kode Modul fungsi.js Modul ini dimulai dengan parsing header seperti ini: const match = header.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\(([^)]*)\)$/); Ini memvalidasi bahwa fungsi di tulis dengan format: fungsi namaFungsiku(parameter1, danparameter2) Jika format salah, interpreter akan menampilkan pesan kesalahan di layar. Menyimpan Tubuh Fungsi Setelah baris deklarasi, interpreter mencari tanda kurung '(' sebagai pembuaka blok kode dan diakhiri dengan ')' sebagai penutup. Semua baris diantaranya tersimpan sebagai isi fungsi. Lokal dan Global Lingkup Bagaimana Fungsi Dijalankan? Ketika fungsi dipanggil, modul membut lingkup lokal (lokalLingkup) yang memetakan parameter ke argumen yang dikirim pengguna: params.forEach((param, index) => { lokalLingkup[param] = args[index] ?? null; }); Setelah itu, interpreter menjalankan baris demi baris dalam fungsi, dengan konteks sendiri: const localContext = { index: 0, lines: [...body], lingkup: [...parentContext.lingkup, lokalLingkup], return: null, stopExecution: false, }; Pendekatan ini, fungsi memiliki lingkungan variabel sendiri tanpa mengganggu lingkup global atau fungsi lain. Penanganan Kesalahan Apabila terjadi kesalahan, maka pesan yang akan ditampilkan akan menjadi seperti dalam kode ini: console.error(`Kesalahan dalam fungsi '${namaFungsi}':`, err.message); Dan perintah tidak dikenali di dalam tubuh fungsinya, maka menampilkan: console.error(`Perintah '${cmd}' tidak dikenali dalam fungsi '${namaFungsi}'`); Contoh Kode fungsi hitung(panjang, lebar) ( hitung ke :hasil: dari (panjang * lebar) tampilkan "Luas adalah: " :hasil: ) masukkan :p: sebagai panjang masukkan :l: sebagai lebar hitungLuas :p: :l: Kesimpulan Modul fungsi adalah salah satu penting dari bahasa Earl yang memungkinkan strukturisasi kode dan penggunaan kembali logika secara efisien. Mendukung paramter, blok kode bersarang, dan pengembalian nilai, modul ini fleksibilitas seperti bahasa pemrograman modern lainnya. Unduh Pearl di Komputer Favoritmu Unduh Pearl di semua platform atau panggung: Earl di GitHub Earl di itch.io

Jun 21, 2025 - 02:10
 0
Mengenal Modul Fungsi: Cara Mendefinisikan dan Menjalankan Fungsi di Bahasa Earl

Dalam bahasa pemrograman Earl, fungsi adalah langkah penting menju strukstur kode modular dan teorganisir. Modul fungsi bertugas menambahkan kemampuan tersebut. Artikel ini akan membahas bagaimana modul ini bekerja, apa saja sintaks yang didukung, dan bagaimana fungsi didefinisikan bisa dijalankan.

Apa itu Modul fungsi?

Memungkinkan pengguna mendefisikan blok kode yang dapat dipanggil ulang dengan nama dan parameter tertentu, mirip seperti JavaScript, Python, dan lainnya.

Contoh:

fungsi dengan(nama)
(
  tampilkan "Halo, " nama
)

Fungsi ini bisa dipanggil dengan:

sapa "Alex"

Struktur Kode Modul fungsi.js

Modul ini dimulai dengan parsing header seperti ini:

const match = header.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\(([^)]*)\)$/);

Ini memvalidasi bahwa fungsi di tulis dengan format:

fungsi namaFungsiku(parameter1, danparameter2)

Jika format salah, interpreter akan menampilkan pesan kesalahan di layar.

Menyimpan Tubuh Fungsi

Setelah baris deklarasi, interpreter mencari tanda kurung '(' sebagai pembuaka blok kode dan diakhiri dengan ')' sebagai penutup. Semua baris diantaranya tersimpan sebagai isi fungsi.

Lokal dan Global Lingkup

Bagaimana Fungsi Dijalankan?

Ketika fungsi dipanggil, modul membut lingkup lokal (lokalLingkup) yang memetakan parameter ke argumen yang dikirim pengguna:

    params.forEach((param, index) => {
        lokalLingkup[param] = args[index] ?? null;
    });

Setelah itu, interpreter menjalankan baris demi baris dalam fungsi, dengan konteks sendiri:

    const localContext = {
        index: 0,
        lines: [...body],
        lingkup: [...parentContext.lingkup, lokalLingkup],
        return: null,
        stopExecution: false,
    };

Pendekatan ini, fungsi memiliki lingkungan variabel sendiri tanpa mengganggu lingkup global atau fungsi lain.

Penanganan Kesalahan

Apabila terjadi kesalahan, maka pesan yang akan ditampilkan akan menjadi seperti dalam kode ini:

console.error(`Kesalahan dalam fungsi '${namaFungsi}':`, err.message);

Dan perintah tidak dikenali di dalam tubuh fungsinya, maka menampilkan:

console.error(`Perintah '${cmd}' tidak dikenali dalam fungsi '${namaFungsi}'`);

Contoh Kode

fungsi hitung(panjang, lebar)
(
  hitung ke :hasil: dari (panjang * lebar)
  tampilkan "Luas adalah: " :hasil:
)

masukkan :p: sebagai panjang
masukkan :l: sebagai lebar

hitungLuas :p: :l:

Kesimpulan

Modul fungsi adalah salah satu penting dari bahasa Earl yang memungkinkan strukturisasi kode dan penggunaan kembali logika secara efisien. Mendukung paramter, blok kode bersarang, dan pengembalian nilai, modul ini fleksibilitas seperti bahasa pemrograman modern lainnya.

Unduh Pearl di Komputer Favoritmu

Unduh Pearl di semua platform atau panggung: