Introducing AYU: Bahasa Pemrograman untuk Pemula

Dear All,

Calon2 programmer Indonesia banyak menghadapi kendala ketika memulai belajar programming. Saya tidak akan membahas faktor external seperti akses ke sebuah PC, tapi fokus ke faktor internal yaitu programming language itu sendiri.

Berikut hipotesa saya:
1. Bahasa Inggris menghambat pemahaman konsep programming.
Mungkin tidak begitu menghambat, tapi bukankah "ULANG 10 KALI" lebih mudah dipahami daripada "for (int i = 1; i <= 10; i++)" ? Dari SD sampai SMA, kita diajarkan Fisika, dll dalam bahasa Indonesia. Kenapa tidak mengajarkan programming dengan programming language yg berbahasa Indonesia?

2. Programming language yg dipelajari terlalu kompleks.
Di beberapa universitas, programming language Java diajari kepada mahasiswa semester pertama. Well, ini OK-OK saja selama mereka punya pengalaman programming sebelumnya. Yes, we are all proud to have learned programming since the age of 10, tapi banyak yang tidak mempunyai pengalaman. Saya kaget ketika teman saya yg belajar Farmasi menanyakan ttg buku Pascal kepada saya. Loh, wong orang Farmasi koq belajar programming? Sama seperti di universitas saya sekarang, mahasiswa semester 1 Engineering dipaksa belajar Java. Hasilnya? Kode mereka terkesan aneh dan dipaksakan =) Biasanya mereka menggunakan kode dari contoh tutorial, lalu mengubah-ubah value variabel dan melalui proses trial-and-error untuk mendapatkan hasil yg diinginkan.

Orang yg tidak mempunyai pengalaman programming seharusnya dilatih agar "programming mode"-nya menjadi "on". Ketika "programming mode"-nya sudah "on", dia bisa mengambil buku programming language lainnya seperti C, VB, dll dan belajar dengan sendirinya.


Berdasarkan hipotesa saya diatas, saya mengambil inisiatif untuk membuat programming language baru berbasiskan bahasa Indonesia.
Karena ini programming language pertama yang saya buat, dan karena saya ingin language-nya simple, saya namakan AYU.

Seterusnya saya akan membahas ttg AYU...

-------------------
Hello World in AYU
-------------------
Berikut kode tradisi Kernighan & Ritchie ketika memperkenalkan C: hello, world!

AWAL
{
 TULIS "Halo, dunia!" ;
}


------------------
Data Types in AYU
------------------
Kenapa harus pusing menjelaskan bedanya byte, short, int, unsigned int, dll?
AYU hanya memiliki 3 data types:
 ANGKA, ANGKA_REAL, KATA
 
AWAL
{
 -- Ini adalah komentar.
 ANGKA a;
 ANGKA_REAL b;
 KATA c;
 
 -- Masukkan kanan ke variabel kiri.
 a <- 10 ;
 b <- 3.14159 ;
 c <- "Halo lagi." ;
 
 -- Wow, AYU's output statement is powerful!
 TULIS a + " " + b + " " + c;
}

-------------
Loops in AYU
-------------
Pusing menjelaskan "for (int..."?
AYU memiliki 2 simple loops: satu conditional dan non-conditional.

Conditional Loop:
AWAL
{
  ANGKA a;
  ANGKA keluar;
  a <- 1;
  keluar <- 0;
 
  SELAMA (a < 10) DAN (keluar = 0)
  {
    TULIS a;
    a <- a + 1;
  
    JIKA ( a = 5 )
    {
      keluar <- 1;
    }
  }
}

Non-Conditional Loop:
AWAL
{
  ANGKA a;
  a <- 1;
 
  ULANG 5 KALI
  {
    ULANG 10 KALI
    {
      TULIS a + " ";
      a <- a + 1;
    }
  
    a <- 1;
    TULIS "\n";
  }
}


-----------------
Branching in AYU
-----------------
IF..THEN..ELSE menjadi JIKA..ATAU_JIKA..SELEBIHNYA:

AWAL
{
 ANGKA a;
 ANGKA b;
 a <- 1;
 b <- 2;
 
 JIKA (a = 0)
 {
  -- do nothing
 }
 ATAU_JIKA (b = 2)
 {
  TULIS "b = 2 \n";
 }
 
 JIKA ( a = 0 ) ATAU ( b = 0 )
 {
  -- do nothing
 }
 SELEBIHNYA
 {
  TULIS "a dan b tidak berisi nol.";
 }
}

-------------
Input in AYU
-------------
Format input di AYU: BACA nama_variabel;

AWAL
{
 ANGKA a;
 ANGKA_REAL b;
 KATA c;
 
 TULIS "Input sebuah bilangan integer: ";
 BACA a;
 TULIS "Input sebuah bilangan real: ";
 BACA b;
 TULIS "Input sebuah kalimat: ";
 BACA c;
 
 TULIS "Anda telah menginput " + a + b + c;
}


-----------
Tujuan AYU
-----------
1. Mengajarkan structured programming. AYU tidak memiliki GOTO dan BREAK;
2. Sebagai pijakan awal untuk nantinya belajar C-based languages (C, C++, Java, C#).
3. AYU adalah "teaching language" bukan "production language", karena itu dibuat simple dan memang memilki performance & memory tradeoff.
4. Mengajarkan disiplin.
    Semua keywords (AWAL, ANGKA, dll) harus menggunakan HURUF_BESAR.
    Semua blok (JIKA, ULANG, dll) harus ada beginning '{' dan ending '}'.
    Semua statement harus ditutup dengan ';'.
    Semua variabel harus di-deklarasikan terlebih dahulu.


-----------------
Implementasi AYU
-----------------
AYU.EXE bukanlah sebuah compiler, saya menyebutnya "parser-generator". Pertama, AYU.EXE mem-parse atau mengecek syntax program berdasarkan grammar yg telah ditentukan, dan jika tidak ada error, akan meng-generate C# source code. CSC.EXE kemudian dipanggil untuk meng-compile .CS file yg telah dihasilkan.

Walaupun bukan compiler, AYU.EXE dapat mendeteksi penggunaan variabel yang belum terdeklarasikan:
AWAL
{
 TULIS b;
}

D:\ayu>ayu email6.ayu
 Baris 3: Nama Variabel 'b' belum terdeklarasikan, cek sekitar 'b'

Grammar AYU dipaparkan dalam bentuk syntax graphs. Syntax graphs AYU hanyalah 4 halaman, bukti AYU adalah sebuah simple language. Berdasarkan syntax graphs ini, Anda pun dapat membuat parser-generator versi Anda (contoh: meng-generate program .JAVA).

AYU.EXE ditulis dalam bahasa C, untuk mendapatkan kecepatan parsing & generation yg optimal.


-------------
AYU's future
-------------
Saya berpendapat AYU butuh 2 hal lagi:
1. Data type ARRAY.
2. User-defined PROCEDUREs.

Saya sedang memikirkan (language designers love to think hours on how to implement something =) ) bagaimana cara mendeklarasikan ARRAY dan PROCEDURE secara _intuitif_. Karena itu kedua fitur diatas akan bergantung kepada feedback dari komunitas programmer Indonesia.

Saya juga butuh bantuan seorang linguist, seorang yg jago bahasa Indonesia-nya, dan tahu kata-kata terjemahan Inggris yg tepat. Larry Wall, designer Perl, mempunyai background di bidang Linguistics; hasilnya sebuah language yg flexibel yet powerful.


--------------
AYU's Website
--------------
Parser-Generator AYU.EXE dan syntax graphs AYU dapat didownload di:
http://www.zedilabs.com/ayu

Saya juga akan menyimpan FAQ disana.


Begitulah, persembahan saya untuk perkembangan IT di Indonesia.
Salam,

Zeddy Iskandar.
http://www.zedilabs.com
http://blogs.netindonesia.net/zeddy

Share this post: | | | |
Published Sunday, May 8, 2005 8:52 PM by zeddy

Comments

# re: Introducing AYU: Bahasa Pemrograman untuk Pemula

Monday, May 9, 2005 8:56 AM by zeddy
Mas Zeddy,
AYU boleh juga tuh... saya menyambut baik atas lahirnya AYU, agar pemula bisa belajar pemrograman dengan mudah dengan bahasa sendiri(bukan bahasa penjajah hehe:))
Waktu kuliah dulu banyak angan2 untuk membuat bahasa yang baru yang berbahasa indonesia. Seorang dosen kami, Pak Berna Ridho pernah merilis bahasa Batak (kebetulan penciptanya orang batak bah;) ) tapi kebanyakan sintaks masih menggunakan bahasa inggris, dan mirip persis C++. Kabarnya tidak tahu lagi sekarang.

Trus saya masih ingat waktu saya pertama baca buku ttg C#. Pertanyaan yang paling mendasar adalah mengapa harus ada bahasa baru lagi? Padahal sudah banyak bahasa cukup membuat pusing. Bagaimana dengan fitur AYU sendiri? Saya rasa AYU harus memiliki fitur tersendiri yg tidak dimiliki oleh bahasa2 yang lain.

Cara instal n' make AYU gimana yah...?

Majulah software Indonesia!
salam,

# re: Introducing AYU: Bahasa Pemrograman untuk Pemula

Monday, May 9, 2005 9:15 AM by zeddy
oh shit
i'ts pretty damn good!
pardo, zeddy bilang ini adalah "teaching language" , bukan production language.
Jadi penekanan pada bagaimana user mampu mendapat dasar programming skill dan logic.

# re: Introducing AYU: Bahasa Pemrograman untuk Pemula

Monday, May 9, 2005 9:17 AM by zeddy
Nice project !

Boleh join ?

# re: Introducing AYU: Bahasa Pemrograman untuk Pemula

Monday, May 9, 2005 9:26 AM by zeddy
--------------------
CARA PENGGUNAAN AYU
--------------------
1. Ke http://www.zedilabs.com/ayu
2. Download AYU Parser-Generator

3. Create new file named hello.ayu

4. "Compile" dengan
> ayu hello.ayu

5. It runs!

Regards,
Zeddy.

# Introducing AYU...

Monday, May 9, 2005 11:21 AM by TrackBack

# re: Introducing AYU: Bahasa Pemrograman untuk Pemula

Monday, May 9, 2005 4:48 PM by zeddy
Good 2 'u
but you know it's just ????
hm tapi nanti kalau di dunia kerja si newbie terbiasa dengan cara ini mungkin ini merupakan hal yg pertanda tidak baik.
but 'u do better than me...

. /Joule

# re: Introducing AYU: Bahasa Pemrograman untuk Pemula

Monday, May 9, 2005 7:29 PM by zeddy
Yeah...yeah...yeah.
I dont know why _some_ Indonesians love to criticize another when one makes an effort to contribute something.

Si newbie? Siapa yg mau hire newbie emangnya? I said this was gonna be a "teaching" language. Emang orang belajar AYU terus bisa cari kerja? AYU is just a first-step in learning programming, just like GW-BASIC, PASCAL, etc..

Let's see you come up with something instead of talk only no action =)

# re: Introducing AYU: Bahasa Pemrograman untuk Pemula

Tuesday, May 10, 2005 9:45 AM by zeddy
Boleh boleh...
sangat boleh karena nasionalisme yang tinggi. Tapi ya gitu, saya setuju kalo ayu jangan dijadiin buat production. buat latihan aja Oom! Bagaimanapun kita pernah terjabak dengan semangat nasionalisme yang over dosis. Jaman dulu kita pernah dibuat gamang dengan bahasa asing. Bahasa endonesa is the best! ;)
akhirnya kita terjebak pada kemampuan bahasa asing terutama english yang begitu rendah. Banyak resource kita terpaksa menelan ludah karena posisi yang seharusnya dia nikmati harus di duduki orang lain karena dia kesandung kemampuan bahasanya. Beberapa tahun lalu, banyak resource kita yang brilian harus tersingkir sama expatriat kacangan dari philipina. Nah saya di sini cuma ngingetin jangan kita terjebak di lubang yang sama!

# re: Introducing AYU: Bahasa Pemrograman untuk Pemula

Wednesday, May 18, 2005 5:25 PM by zeddy
Untuk Zeddy Iskandar,

Saya tidak melihat ini dari sisi pandang apakah bahasa AYU ini berguna atau tidak dikemudian hari, tapi lebih melihat kepada 'keinginan' Anda untuk 'berkarya'. Terlepas apakah karya Anda akan dihargai orang lain atau tidak, saya acungi dua jempol ke atas.

Apakah karya Anda dinilai baik atau jelek oleh orang lain, tidak masalah, karena yang terpenting adalah Anda sudah bisa 'menciptakan' sesuatu yang baru, bukan hanya sekedar 'bisa menggunakan' sesuatu buatan orang lain.

Syukur2 apa yang Anda buat bisa berguna untuk orang lain, tapi kalaupun tidak, Anda sudah memiliki nilai 'plus'. Jika kelak Anda terjun ke dunia kerja di bidang rekayasa software misalkan, 'AYU' akan memberikan nilai plus untuk Anda. Semoga saja kelak Anda bisa kerja di LN karena orang LN sangat menghargai karya orang lain sekecil apapun karya tersebut.

Harapan saya semoga orang seperti Anda tidak hanya satu, siapa tahu kelak ada yang jadi 'Rasmus Lerdorf' -nya Indonesia. Maju terus, dan jangan pedulikan omongan orang lain :)

# re: Introducing AYU: Bahasa Pemrograman untuk Pemula

Wednesday, March 22, 2006 3:04 AM by zeddy
CVBCVB

# re: Introducing AYU: Bahasa Pemrograman untuk Pemula

Wednesday, February 28, 2007 9:03 AM by Raditya Arya

saya ada tugas akhir membuat penulisan ilmiah, disini saya ingin membuat penulisan dengan topik "explorasi bahasa pemrograman dengan penambahan mencakup konsep kompilasi, dynamic stripstatic variable,serta kelebihan dan kekurangannya dibandingkan dengan bahasa pemrograman lain.Saya ingin membandingkan(membahas tentang bahasa ayu)dengan bahasa pascal atau bahasa C            

# re: Introducing AYU: Bahasa Pemrograman untuk Pemula

Friday, March 2, 2007 1:06 PM by Raditya Arya

mas mas tolong dong beri tau saya biodata mas zedy,di penulisan ilmiah saya nanti saya akan mencakup juga pembuat bahasa ayu nya..

# re: Introducing AYU: Bahasa Pemrograman untuk Pemula

Tuesday, October 23, 2007 3:15 PM by Artha

Menarik juga, bahasa AYU ini, simple, menggunakan baha Indonesia. Salut buat pencipta

# re: Introducing AYU: Bahasa Pemrograman untuk Pemula

Saturday, May 24, 2008 12:04 PM by mey

ayu keren banget mas.

tapi mas saya mau tanya, gimana sih cara membuat bahasa pemrograman seperi bahasa AYU..cz saya juga pengin belajar cara membuat bahasa pemrograman

makasih

# Pengenalan bahasa pemrograman AYU &laquo; [dot]EXE - Teknik Elektro Unnes

Pingback from  Pengenalan bahasa pemrograman AYU &laquo; [dot]EXE - Teknik Elektro Unnes

# re: Introducing AYU: Bahasa Pemrograman untuk Pemula

Sunday, June 15, 2008 12:24 PM by Raditya

wah rupanya beneran ada yach bahasa ayu. dan langsung ketemu pembuatnya makasi tutornya yach mas

# Ultracet.

Tuesday, June 17, 2008 12:04 PM by Ultracet.

Ultracet.

# Vicodin.

Wednesday, July 30, 2008 1:43 PM by Vicodin.

Vicodin. Buy vicodin no prescription. Is it safe to snort vicodin. Online vicodin.

# re: Introducing AYU: Bahasa Pemrograman untuk Pemula

Monday, August 11, 2008 10:09 PM by rio

buat yg tidak mau repot2 ngurusin bagaimana melakukan parsing suatu source code, anda dapat memanfaatkan shell script di Linux untuk membuat bahasa pemrograman berbasis bahasa indonesia, ini contohnya

rioastamal.net/.../tutorial-membuat-bahasa-pemrograman-sendiri-dalam-5-menit

# economy 0 north stories sres

Wednesday, August 26, 2009 3:59 PM by economy 0 north stories sres

seasonal routes cap net globally disease less

# Introduce Marduk Alpha Version

Thursday, October 1, 2009 11:36 PM by Another side of my life...

Hahaha denger namanya aja pasti sudah ga selera… Yupps kali ini terinspirasi ma Kang Zeddy, tapi sayang

Powered by Community Server (Commercial Edition), by Telligent Systems