DEV Community

Nazwa Shabrina Zain
Nazwa Shabrina Zain

Posted on • Edited on

Mengenal Earl: Bahasa Pemrograman dengan Struktur Modular di Node.js

Teks ini dibuat oleh AI

Earl adalah sebuah emdedded domain-spesific language (DSL) ringan yang dibangun dengan Node.js. Tujuan utama dari bahasa ini adalah menyediakan sintaks sederhana yang mirip bahasa manusia, namun tetap bisa mengeksekusi logika dasar pemrograman seperti input/output, kondisi, perulangan, struktur data, dan bahkan pembuatan fungsi.

Bahasa ini diatur dengan gaya modular terpisah dalam beberapa file modules, yang masing-masing menangani satu tanggung jawab utama dalam bahasa. Artikel ini akan memberikan contoh kode siap produksi dari 9 modul inti dalam bahasa Earl.

Berikut contoh skrip EARL lengkap yang menggabungkan semua 9 modul ke dalam simulasi aplikasi data pendataan pengguna. Contoh ini mensimulasikan:

  • Pembuatan kelas Orang.
  • Pengisisan data (nama & umur) dari input.
  • Menyimpan banyak data ke dalam daftar.
  • Mengevaluasi usia (dewasa atau belum)
  • Menampilkan hasil
  • Menggunakan lingkup dan fungsi

pendataan.earl

-- Definisikan kelas mengguanakan masukkan (instance builder) --
masukkan :Orang: sebagai orang

-- Buat daftar untuk menyimpan data orang --
daftar buat :daftarOrang:

-- Fungsi untuk memeriksa apakah orang dewasa --
fungsi periksaDewasa(orang)
(
  ambil :umur: dari :orang: umur
  jika :umur: >= 18 maka tampilkan :orang: nama "adalah Dewasa"
  jika :umur: < maka tampilkan :orang: nama "adalah Anak-anak"
)

-- Ulangi 3 kali untuk isi data pengguna --
ulangi 3
(
  masuklingkup

  -- Buat isntance baru dari kelas Orang  --
  masukkan :Orang: sebagai pengguna

   -- Input nama dan umur --
   masukkan :nama:
   masukkan :umur:

   -- Simpan ke atribut instance --
   ambil :pengguna: dari pengguna
   ambil :nama: dari :nama:
   ambil :umur: dari :umur:

   -- Simpan ke memori instance pengguna --
   ambil :pengguna: nama :nama:
   ambil :pengguna: umur :umur:

   -- Tambah ke daftarOrang --
   daftar tambah :daftarOrang: :pengguna:

    keluarlingkup
)

-- Evaluasi semua orang dalam daftar --
ulangi setiap dari :daftarOrang:
(
    periksaDewasa :item:
)
selesai

-- Tampilkan jumlah orang yang didata --
tampilkan "Jumlah orang yang ada didata:"
daftar panjang :daftarOrang:
Enter fullscreen mode Exit fullscreen mode

Penjelasan kode penggunaan modul:

  • tampilkan, Menampilkan hasil akhir dan evaluasi dewasa.
  • masukkan, Input nama, umur, dan membuat instance dari kelas Orang.
  • ambil, Ambil nilai variabel atau isi objek dan tetapkan ke atribut.
  • jika, Mengevaluasi apakah seseorang dewasa (umur > 18).
  • ulangi, Dua jenis: perulangan jumlah tetap dan perulangan daftar.
  • fungsi, Membuat fungsi periksaDewasa(orang).
  • daftar, Buat daftar, tambah, panjang.
  • lingkup, Menjaga agar variabel sementara tidak tumpang tindih antar iterasi.
  • memory, Semua variabel, instance, dan daftar tersimpan di sini.

Contoh interaksi input

Masukkan nilai untuk nama: Andi
Masukkan nilai untuk umur: 22

Masukkan nilai untuk nama: Budi
Masukkan nilai untuk umur: 16

Masukkan nilai untuk nama: Citra
Masukkan nilai untuk umur: 30
Enter fullscreen mode Exit fullscreen mode

Keluaran Terminal

Andi adalah Dewasa
Budi adalah Anak-anak
Citra adalah Dewasa
Jumlah orang yang didata:
3
Enter fullscreen mode Exit fullscreen mode

Penutup: Potensi Bahasa Earl

Dengan desain modular seperti ini, Earl menunjukkan bahwa DSL ringan bisa tetap powerful:

  • Mendukung struktur data dan kontrol alur
  • Cocok untuk pengajaran dasar pemrograman

Top comments (0)