DEV Community

Nazwa Shabrina Zain
Nazwa Shabrina Zain

Posted on • Edited on

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

Teks ini beberapa dibuat oleh AI

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
)
Enter fullscreen mode Exit fullscreen mode

Fungsi ini bisa dipanggil dengan:

sapa "Alex"
Enter fullscreen mode Exit fullscreen mode

Struktur Kode Modul fungsi.js

Modul ini dimulai dengan parsing header seperti ini:

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

Ini memvalidasi bahwa fungsi di tulis dengan format:

fungsi namaFungsiku(parameter1, danparameter2)
Enter fullscreen mode Exit fullscreen mode

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;
    });
Enter fullscreen mode Exit fullscreen mode

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,
    };
Enter fullscreen mode Exit fullscreen mode

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);
Enter fullscreen mode Exit fullscreen mode

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

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

Contoh Kode

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

masukkan :p: sebagai
masukkan :l: sebagai

hitungLuas :p: :l:
Enter fullscreen mode Exit fullscreen mode

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:

Top comments (0)