Bahasa pemrograman apa saja yang sudah pernah anda gunakan? C, C++, PHP, Perl, Java, VB, atau yang lain? Apa kesamaan bahasa-bahasa pemrograman tersebut? Tentu kesemua bahasa pemrogrman tersebut menggunakan syntax dalam bahasa Inggris. Pada artikel ini saya akan coba menunjukkan kepada anda bagaimana membuat bahasa pemrograman yang menggunakan syntax bahasa Indonesia, meski sebenarnya ini hanyalah teknik “goblok-goblokan” saja .
Jadi nantinya kita dapat menuliskan 'jika [ kondisi true ] maka blablabla...' daripada 'if [ kondisi true ] then blablabla...'. Tertarik?
Bahasa pemrograman yang akan kita buat sebenarnya merupakan sebuah shell script. Pada shell script terdapat sebuah tool yang sangat berguna yaitu alias. Dengan program alias kita dapat memberikan nama lain untuk sebuah perintah. Dan tahukah anda bahwa perintah ls juga sebenarnya adalah alias dari perintah ls --color=auto.
Nah, karena shell script juga memiliki struktur percabangan dan perulangan maka kita dapat membuat sebuah program menggunakan shell script. Perintah alias kita gunakan untuk memberi nama lain pada syntax shell script yang berhubungan dengan pembuatan program seperti echo, if, then, dan lain-lain. Berikut ini adalah alias yang saya gunakan untuk meng-Indonesiakan shell.
#!/bin/bash
#
# file alias untuk meng-\"indonesia\"-kan shell script
#
alias jika='if'
alias maka='then'
alias seltu-jika='elif'
alias selain-itu-jika='elif'
alias selain-itu='else'
alias seltu='else'
alias kaji='fi'
alias akhir-jika='fi'
alias kasus='case'
alias dalam='in' # in tidak dapat diganti
alias suska='esac'
alias akhir-kasus='esac'
alias lakukan='do'
alias selesai='done'
alias selama='while'
alias untuk='for'
alias fungsi='function'
alias cetak='echo'
alias baca='read'
alias kembalikan='return'
alias hentikan='break'
alias keluar='exit'
Dalam komputer saya file ini saya letakkan pada direktori $HOME/shellscript/indoalias.sh. Jadi setiap script yang ingin menggunakan bahasa Indonesia harus meng-include file tersebut. Berikut ini adalah sebuah shell script sederhana untuk mengetes bahasa pemrograman baru kita
# include alias
. $HOME/shellscript/indoalias.sh
# contoh percabangan sederhana
cetak \"---- CONTOH PERCABANGAN -----\"
username=\"\"
password=\"\"
cetak -n \"Masukkan username: \"
baca username
cetak -n \"Masukkan password: \"
baca -ers password
cetak \"\"
jika [ \"$username\" == \"qoprall\" -a \"$password\" == \"astamal\" ] ; maka
cetak \"LOGIN BERHASIL\"
selain-itu
cetak \"LOGIN GAGAL\"
kaji
# contoh looping sederhana
cetak -e \"\n-------- CONTOH PERULANGAN ---------\"
untuk (( i=1; i< =5; i++ ))
lakukan
cetak -n \"$i \"
selesai
cetak \"\"
jawaban=0
jawaban_user=-1
selama [ $jawaban -ne $jawaban_user ]; lakukan
angka1=$[ $RANDOM % 200 ]
angka2=$[ $RANDOM % 500 ]
jawaban=`expr $angka1 + $angka2`
cetak -n \"Hasil dari $angka1 + $angka2 adalah: \"
baca jawaban_user
cetak \"\"
jika [ $jawaban -ne $jawaban_user ]; maka
cetak \"Jawaban SALAH, yang benar adalah $jawaban\"
akhir-jika
selesai
cetak \"Jawaban Benar...\"
Dan berikut ini adalah outputnya:
astadev@astadev-laptop:/tmp$ sh tes.sh
---- CONTOH PERCABANGAN -----
Masukkan username: qopral
Masukkan password:
LOGIN BERHASIL
-------- CONTOH PERULANGAN ---------
1 2 3 4 5
Hasil dari 158 + 408 adalah: 444
Jawaban SALAH, yang benar adalah 566
Hasil dari 71 + 151 adalah: 121
Jawaban SALAH, yang benar adalah 222
Hasil dari 72 + 415 adalah: 45
Jawaban SALAH, yang benar adalah 487
Hasil dari 151 + 187 adalah: 338
Jawaban Benar...
astadev@astadev-laptop:/tmp$
Jadi nantinya kita dapat menuliskan 'jika [ kondisi true ] maka blablabla...' daripada 'if [ kondisi true ] then blablabla...'. Tertarik?
Bahasa pemrograman yang akan kita buat sebenarnya merupakan sebuah shell script. Pada shell script terdapat sebuah tool yang sangat berguna yaitu alias. Dengan program alias kita dapat memberikan nama lain untuk sebuah perintah. Dan tahukah anda bahwa perintah ls juga sebenarnya adalah alias dari perintah ls --color=auto.
Nah, karena shell script juga memiliki struktur percabangan dan perulangan maka kita dapat membuat sebuah program menggunakan shell script. Perintah alias kita gunakan untuk memberi nama lain pada syntax shell script yang berhubungan dengan pembuatan program seperti echo, if, then, dan lain-lain. Berikut ini adalah alias yang saya gunakan untuk meng-Indonesiakan shell.
#!/bin/bash
#
# file alias untuk meng-\"indonesia\"-kan shell script
#
alias jika='if'
alias maka='then'
alias seltu-jika='elif'
alias selain-itu-jika='elif'
alias selain-itu='else'
alias seltu='else'
alias kaji='fi'
alias akhir-jika='fi'
alias kasus='case'
alias dalam='in' # in tidak dapat diganti
alias suska='esac'
alias akhir-kasus='esac'
alias lakukan='do'
alias selesai='done'
alias selama='while'
alias untuk='for'
alias fungsi='function'
alias cetak='echo'
alias baca='read'
alias kembalikan='return'
alias hentikan='break'
alias keluar='exit'
Dalam komputer saya file ini saya letakkan pada direktori $HOME/shellscript/indoalias.sh. Jadi setiap script yang ingin menggunakan bahasa Indonesia harus meng-include file tersebut. Berikut ini adalah sebuah shell script sederhana untuk mengetes bahasa pemrograman baru kita
# include alias
. $HOME/shellscript/indoalias.sh
# contoh percabangan sederhana
cetak \"---- CONTOH PERCABANGAN -----\"
username=\"\"
password=\"\"
cetak -n \"Masukkan username: \"
baca username
cetak -n \"Masukkan password: \"
baca -ers password
cetak \"\"
jika [ \"$username\" == \"qoprall\" -a \"$password\" == \"astamal\" ] ; maka
cetak \"LOGIN BERHASIL\"
selain-itu
cetak \"LOGIN GAGAL\"
kaji
# contoh looping sederhana
cetak -e \"\n-------- CONTOH PERULANGAN ---------\"
untuk (( i=1; i< =5; i++ ))
lakukan
cetak -n \"$i \"
selesai
cetak \"\"
jawaban=0
jawaban_user=-1
selama [ $jawaban -ne $jawaban_user ]; lakukan
angka1=$[ $RANDOM % 200 ]
angka2=$[ $RANDOM % 500 ]
jawaban=`expr $angka1 + $angka2`
cetak -n \"Hasil dari $angka1 + $angka2 adalah: \"
baca jawaban_user
cetak \"\"
jika [ $jawaban -ne $jawaban_user ]; maka
cetak \"Jawaban SALAH, yang benar adalah $jawaban\"
akhir-jika
selesai
cetak \"Jawaban Benar...\"
Dan berikut ini adalah outputnya:
astadev@astadev-laptop:/tmp$ sh tes.sh
---- CONTOH PERCABANGAN -----
Masukkan username: qopral
Masukkan password:
LOGIN BERHASIL
-------- CONTOH PERULANGAN ---------
1 2 3 4 5
Hasil dari 158 + 408 adalah: 444
Jawaban SALAH, yang benar adalah 566
Hasil dari 71 + 151 adalah: 121
Jawaban SALAH, yang benar adalah 222
Hasil dari 72 + 415 adalah: 45
Jawaban SALAH, yang benar adalah 487
Hasil dari 151 + 187 adalah: 338
Jawaban Benar...
astadev@astadev-laptop:/tmp$
Tue Jan 08, 2013 12:19 pm by kopral
» Cara Install Google Earth 6.0.3.2197 di Ubuntu 12.10
Thu Nov 01, 2012 7:38 pm by kopral
» ISPCONFIG 3 In Debian Etch
Sat Oct 20, 2012 3:07 am by kopral
» www.kolins.org
Wed Oct 17, 2012 4:44 pm by kopral
» Menerima Servis Komputer Kerumah, Sekolah DLL.
Wed Oct 17, 2012 3:35 pm by kopral
» Rom, stok flash boot dan kernel android
Tue Oct 16, 2012 9:00 pm by kopral
» ngoprek - ngoprek
Mon Oct 15, 2012 2:41 pm by kopral
» Menjual Repository Ubuntu 12.04
Mon Oct 15, 2012 2:26 pm by kopral
» Menjual Repository Ubuntu 11.04
Mon Oct 15, 2012 2:23 pm by kopral
» Menjual Repository Ubuntu 10.10
Mon Oct 15, 2012 2:20 pm by kopral
» Menjual Repository Ubuntu 9.10
Mon Oct 15, 2012 2:18 pm by kopral
» Menjual Repository Ubuntu 9.04
Mon Oct 15, 2012 2:15 pm by kopral
» Menjual Repository Ubuntu 8.04
Mon Oct 15, 2012 2:13 pm by kopral
» Menjual Repository Ubuntu 7.10
Mon Oct 15, 2012 2:07 pm by kopral
» Menjual Repository Ubuntu 7.04
Mon Oct 15, 2012 2:04 pm by kopral
» aplikasi android
Mon Oct 15, 2012 12:38 pm by kopral
» update aplikasi september 2012
Sat Oct 13, 2012 6:38 am by kopral
» Daftar Repositori ubuntu 12.04 LTS
Tue Oct 02, 2012 8:40 pm by kopral
» profile Onno W. Purbo
Mon Sep 24, 2012 1:02 pm by kopral
» cara Installing SQUID / LUSCA in UBUNTU
Mon Jul 16, 2012 11:37 pm by rezza
» Pengertian IP Address dan Pembagian Kelas IP Address
Thu Jul 12, 2012 10:21 pm by rezza
» pengertian cloud ( komputasi awan )
Thu Jul 12, 2012 9:55 pm by rezza
» Cara Instal Webserver Apache MySQL PHP PHPMyadmin di Ubuntu
Thu Jul 12, 2012 7:57 pm by rezza
» Membuat DISTRO LINUX sendiri dengan ubuntu builder
Wed Jul 11, 2012 4:22 pm by rezza
» Distro Linux Indonesia
Wed Jul 11, 2012 4:15 pm by rezza
» Konfigurasi VPN di Ubuntu
Sun Jul 01, 2012 11:09 pm by rezza
» mempercepat buffering youtube dengan lusca
Fri Jun 22, 2012 12:55 am by kopral
» Mengembalikan GRUB Ubuntu yang hilang/tertimpa OS Wedus
Wed Jun 13, 2012 4:02 pm by kopral
» menginstall redhat linux 9.0 sebagai server
Mon Jun 11, 2012 7:38 am by rezza
» bahas fungsi LDR dan photodioda
Thu May 31, 2012 10:23 pm by kopral
» Cara install wine untuk menjalankan aplikasi windows dengan tipe .exe
Mon May 28, 2012 2:23 pm by kopral
» Pengenalan GIMP
Mon May 28, 2012 1:43 am by rezza
» Menyingkap Seluk Beluk BTS
Mon May 28, 2012 1:29 am by rezza
» Tips dan Trik Mempercepat Waktu Booting Ubuntu 12.04
Sun May 27, 2012 11:03 pm by kopral
» Mempercepat booting ubuntu
Sun May 27, 2012 10:46 pm by kopral
» X / OS linux
Fri May 25, 2012 11:44 pm by rezza
» fedora 17 beta
Fri May 25, 2012 11:41 pm by rezza
» linux fedora 16
Fri May 25, 2012 11:37 pm by rezza
» Slacko Puppy (Slackware-Compatible Build)
Fri May 25, 2012 11:31 pm by rezza
» Linux Mint 13
Fri May 25, 2012 11:28 pm by rezza
» Lupakan Wifi, Internet Kencang Hanya Dari Cahaya Lampu
Fri May 25, 2012 5:15 pm by kopral
» Membangun WLAN Menggunakan Lampu LED, Sebuah Inovasi Internet Lewat Cahaya Lampu
Fri May 25, 2012 5:02 pm by kopral
» Fiber Optic
Fri May 25, 2012 6:57 am by kopral
» Jenis - jenis Kabel LAN
Tue May 22, 2012 12:15 pm by kopral
» Mengenal Jaringan Komputer Berbasis Serat Optik
Tue May 22, 2012 10:24 am by kopral
» Penjelasan & Pengertian Open Source Software Dan Free Software
Tue May 22, 2012 10:01 am by kopral
» instal ubuntu di laptop HP pavilion g4
Sun May 20, 2012 6:07 am by kopral
» redhat iso
Sat May 19, 2012 5:35 pm by kopral
» mandriva iso
Sat May 19, 2012 5:33 pm by kopral
» debian iso
Sat May 19, 2012 5:31 pm by kopral
» Backtrack 5
Sat May 19, 2012 5:28 pm by kopral
» Ubuntu 12.10 (Quantal Quetzal) Daily Build
Sat May 19, 2012 5:18 pm by kopral
» Ubuntu 12.04 LTS (Precise Pangolin)
Sat May 19, 2012 5:17 pm by kopral
» Ubuntu 11.10 (Oneiric Ocelot)
Sat May 19, 2012 5:15 pm by kopral
» Ubuntu 11.04 (Natty Narwhal)
Sat May 19, 2012 5:14 pm by kopral
» Ubuntu 10.10 (Maverick Meerkat)
Sat May 19, 2012 5:12 pm by kopral
» Memindahkan Launcher Unity ke Bawah
Sat May 19, 2012 5:01 pm by kopral
» Cara Mengembalikan Panel Unity
Sat May 19, 2012 4:58 pm by kopral
» membuat satelite mini berkoneksi internet
Thu May 17, 2012 10:11 pm by kopral
» 5 Keuntungan Sistem Linux bagi para Administrator Windows Server
Fri May 11, 2012 4:14 am by kopral
» Script untuk Membuat Daftar Account Locked/Closed/Maintenance
Fri May 11, 2012 4:03 am by kopral
» Instalasi Multi-Server Zimbra (1)
Fri May 11, 2012 3:55 am by kopral
» Instalasi Multi-Server Zimbra (2)
Fri May 11, 2012 3:47 am by kopral
» Instalasi Multi-Server Zimbra (3)
Fri May 11, 2012 3:45 am by kopral
» Instalasi Multi-Server Zimbra (4)
Fri May 11, 2012 3:43 am by kopral
» FreeNAS NFS & iSCSI Share untuk VMWare vSphere Datastore & Shared Storage
Fri May 11, 2012 3:33 am by kopral
» Summary Proses Instalasi & Konfigurasi Mail Server untuk Production Server (Live)
Fri May 11, 2012 3:31 am by kopral
» High Availability, Disaster Recovery dan Keberlangsungan Bisnis Perusahaan
Fri May 11, 2012 3:29 am by kopral
» Instalasi ATI VGA Driver pada Linux BlankOn 7 “Pattimura” & Ubuntu 11.04 “Natty Narwhal”
Fri May 11, 2012 3:05 am by kopral
» “Drag-and-Drop” Layanan Dropbox Terbaru untuk Saingi SkyDrive, iCloud, Box, dan Google Drive
Thu May 10, 2012 9:57 pm by kopral
» Robot Open Source Qbo dengan Sistem Operasi Linux
Thu May 10, 2012 9:52 pm by kopral
» Aurora Sistem Operasi Linux Untuk Netbook Dulunya Bernama EeeBuntu
Thu May 10, 2012 9:49 pm by kopral
» Linux Ubuntu akan Mendukung MultiTouch
Thu May 10, 2012 9:47 pm by kopral
» Meego 1.1 Telah Dirilis Termasuk Meego untuk Kendaraan seperti Mobil
Thu May 10, 2012 9:44 pm by kopral
» Gnome 3 Terbaru Telah Dirilis Memberi Pengalaman Baru Antarmuka Linux
Thu May 10, 2012 9:40 pm by kopral
» Ping EEE Linux OS Distro Khusus Dirancang Khusus Netbook
Thu May 10, 2012 9:35 pm by kopral
» Centos 6 Linux Terbaru Telah Dirilis
Thu May 10, 2012 9:32 pm by kopral
» Linux bisa Diinstal di Apple iPad berkat Hacker
Thu May 10, 2012 9:30 pm by kopral
» SeaMonkey Versi 2.4 Memiliki Fitur Hampir Sama Dengan Firefox 7
Thu May 10, 2012 9:27 pm by kopral
» Nokia Meltemi Proyek Pengembangan OS Mobile Berbasis Linux Pengganti S40
Thu May 10, 2012 9:21 pm by kopral
» Ubuntu 12.04, OS Linux yang Menawarkan Konsumsi Energi Lebih Efisien
Thu May 10, 2012 9:19 pm by kopral
» Dreamlinux 5.0 Final dengan UI ala Mac OS X
Thu May 10, 2012 9:17 pm by kopral
» Windows Aman bagi anak
Thu May 10, 2012 5:49 am by kopral
» info kesehatan
Thu May 10, 2012 5:45 am by kopral
» BERITA HUKUM
Thu May 10, 2012 5:41 am by kopral
» Demo turunkan harga LISENSI
Thu May 10, 2012 5:35 am by kopral
» nokia OS symbian
Thu May 10, 2012 5:27 am by kopral
» bill gates
Thu May 10, 2012 5:24 am by kopral
» Menurunnya harga produk kecantikan wanita...
Thu May 10, 2012 5:13 am by kopral
» Dosa-dosa TIK oleh Bangsa Indonesia
Thu May 10, 2012 5:01 am by kopral
» Jika Linux hanya Android
Thu May 10, 2012 4:59 am by kopral
» Model Bisnis Open Source
Thu May 10, 2012 4:49 am by kopral
» Memahami Software Komersial dan Non Komersial
Thu May 10, 2012 4:46 am by kopral
» Pro-Kontra Sertifikasi SDM Linux
Thu May 10, 2012 4:45 am by kopral
» Yayasan Penggerak Linux Indonesia (YPLI)
Thu May 10, 2012 4:40 am by kopral
» beda Linux dan Windows
Thu May 10, 2012 4:39 am by kopral
» Mengubah Tampilan Ubuntu 12.04
Thu May 10, 2012 4:38 am by kopral
» Desktop Publishing dengan Open Source
Thu May 10, 2012 4:34 am by kopral
» Sekolah dan Perguruan Tinggi Linux
Thu May 10, 2012 4:32 am by kopral