[ITCENTER] Re: AYU: Programming Language untuk Pemula

2005-05-09 Terurut Topik sys_op123
Yang mana yg gak konsisten mas?
Kalo di email itu emang saya tulis buat programmers, makanya ada
istilah2 inggris nya. Maksud saya, kalo nanti mereka mau ngajarin
programming ke anak SMP/SMA, kan bisa AYU, wong smua mata pelajaran
mereka (kecuali Inggris) aja pake bhs Indo.

Pascal? Emang kenapa pake produk dalam negeri (made-in-Indonesia)? Gak
pede banget yah pake program buatan mahasiswa... hehe =)

>> lebih mudah dipahami untuk pemula ketimbang C atau Java.
Loh, emang yg ngajarin C and Java siapa? =) Ide awalnya sih waktu saya
inget diajarin GW-Basic di Primary 5 (SD kelas 6) di ln. Jadi pgn
ngajarin anak2 programming juga. Of course buat general knowledge aja,
gak semua teman2 saya sekelas GW-Basic dulu yg jadi programmer koq..



Cheerz,
Z.

--- In ITCENTER@yahoogroups.com, Mpu Gondrong <[EMAIL PROTECTED]> wrote:
> Senin, 09/05/2005 22:23:32, sys_op123 menulis:
> 
> Saya pikir, bila hendak membuat bahasa pemrograman versi Indonesia,
> hendaknya konsisten dari mulai sintak hingga petunjuk pemakaian. Nah,
> di email terdahulu saja saya lihat masih belepotan di sana-sini.
> Kurangi istilah2 dalam bhs asing, atau gunakan saja Pascal yg
> tampaknya lebih mudah dipahami untuk pemula ketimbang C atau Java.
> 
> Tertanda,
> Oguds [36856104]




-- 
www.ITCENTER.or.id - Komunitas Teknologi Informasi Indonesia 
Info, Gabung, Keluar, Mode Kirim : [EMAIL PROTECTED] 
::: Hapus bagian yang tidak perlu (footer, dst) saat reply! ::: 
## Jobs: ITCENTER.or.id/jobs ## Bursa: ITCENTER.or.id/bursa ##

 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ITCENTER/

<*> To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
 




[ITCENTER] AYU: Programming Language untuk Pemula

2005-05-09 Terurut Topik sys_op123
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-dekla