Dari IgosCenter
DASAR PEMROGRAMAN 01. JTurtle
Daftar isi |
TUJUAN & SASARAN
Praktikum ini bertujuan memperkenalkan JTurtle sebagai platform untuk belajar algoritma. Sasaran praktikum:
- Menginstall JTurtle jika perlu.
- Menjalankan JTurtle
- Membuat program Hello World
- Membuat program Turtle Zig-Zag
- Membuat program Turtle Warna
TEORI
JTurtle
JTurtle adalah program kecil yang sederhana yang sangat cocok untuk belajar algoritma. Seperti terlihat pada Gambar program ini menyediakan:
- Papan Menu (atas): menu-menu untuk membuka/menyimpan file script, mengatur besar kotak grafik, dll.
- Papan tombol (kedua dari atas): ada dua tombol: RUN untuk menjalankan program dan STOP untuk menghentikannya.
- Editor BeanShell Script (tengah kiri): di sini kita bisa menuliskan program dalam bahasa BeanShell Script (kembangan bahasa Java dengan penulisan yang lebih bebas).
- Kanvas (tengah kanan): ini adalah output utama program, dimana seekor penyu (turtle) akan menuliskan teks dan mengambarkan grafik sesuai yang kita tuliskan di program.
- Kotak Pesan (bawah): tempat pesan-pesan JTurtle dan output standard program.
Saat mengedit, anda bisa pakai beberapa kunci rahasia berikut:
| KUNCI/MOUSE | AKSI |
| Shift tahan, lalu panah bawah | Pilih area teks |
| Ctrl-C (Copy) | Salin area teks ke clipboard |
| Ctrl-V (Paste) | Tempel teks dari clipboard |
| Ctrl-X (Cut) | Hapus teks masuk ke clipboard |
| Delete | Hapus satu huruf atau area teks |
BeanShell
[BeanShell] adalah bahasa pemrograman sederhana yang digunakan oleh JTurtle. Tata bahasanya (syntax) mirip dengan bahasa Java, namun banyak penyederhanaan, misalnya:
- Tidak perlu memakai obyek untuk program utama (main procedure).
- Bisa memakai data tanpa mendefinisikan tipenya (loosely type).
Untuk mulai belajar memrogram, penyederhanaan ini menolong kita untuk langsung terfokus pada algoritma, tanpa perlu pusing dulu memakai fitur-fitur Java yang kompleks. Nanti setelah dasar algoritmanya cukup kuat, kita bisa naik ke pemrograman berorientasi obyek dengan memakai bahasa Java murni. Panduan lengkap BeanShell Script bisa dibaca pada manualnya. Praktikum ini akan memperkenalkannya satu per satu seiring dengan kemajuan kuliah.
Kanvas
Kanvas adalah bidang gambar grafik 2 dimensi dengan titik-titik (pixel) yang tertata rapi secara horizontal (absis x) dan vertikal (absis y). Jumlah pixel ini terbatas sesuai dengan ukuran kanvas. Pada JTurtle, hal ini dapat diatur dengan menu "Options-Image Size".
Tiap pixel pada kanvas bisa diakses berdasarkan posisinya pada sumbu horizontal dan vertikal (x,y). Aslinya, pixel pada layar grafik dipetakan menurut koordinat kartesian terbalik sebagai berikut:
* Sudut kiri atas = (0,0) * Sudut kanan bawah = (xmax, ymax)
Sistem koordinat lain yang dikenal adalah koordinat polar dimana posisi suatu titik dinyatakan dengan radius dan sudut (r,s). Koordinat polar dapat dipetakan ke koordinat kartesian dengan rumus:
* x = r * cos(s) * y = r * sin(s)
Perhatikan bahwa sudut (s) bisa dinyatakan dalam derajat (0 - 360) atau radian (0 - 2PI).
The Turtle
Hal istimewa yang disediakan JTurtle, jelas saja, adalah seekor penyu di kotak grafik. Penyu ini bisa berjalan sambil meninggalkan jejak grafik di atas kanvas. Melalui program BeanShell, kita bisa mengatur jalannya si Penyu, dan juga warna maupun lebarnya jejak. Dengan demikian, kita bisa menuliskan program dengan algoritma tertentu lalu mengamati keluarannya dengan seksama. Untuk tahu lengkapnya, prosedur-prosedur yang disediakan Turtle, bisa dibaca pada menu "Help-Turtle API" pada JTurtle.
Praktikum ini akan pelan-pelan memperkenalkan cara memrogram si Penyu ini pakai metode belajar melalui contoh. Karena itu, setiap anda menemui perintah turtle.XYZ yang belum dimengerti, coba cari penjelasannya pada Turtle API tersebut.
PROSEDUR
Memasang & Menjalankan JTurtle di Linux/Windows
JTurtle diedarkan dalam bentuk jar file (JTurtle-VER.zip) yang bisa di download. Sebelumnya pastikan bahwa di komputer telah terpasang Java 1.5 atau lebih baru. Untuk memasang JTurtle di Linux, luncurkan terminal lalu salin saja JTurtle ke sebuah laci, misalnya:
$ cd $HOME $ mkdir turtle $ cp Download/JTurtle-0.4.d.jar turtle $ cd turtle $ java -jar JTurtle.jar
Sementara itu di Windows, silahkan salin JTurtle-VER.jar ke sebuah folder, lalu klik kanan dan jalankan.
Membuat Program Hai Dunia
Mari kita mulai dengan membuat program paling tersohor di kalangan hackers sebagai berikut:
- Pada Editor, ketikan program BeanShell dibawah ini.
- Klik tombol "RUN"
- Amati keluarannya pada kotak Pesan.
// Program HaiDunia.bsh
// Deskripsi : program BSH-ku yang pertama
//
// Oleh : ......... / .........
// : ......... / .........
//
turtle.setSmoothTrail(true); // pakai anti alias
turtle.hop(10,40); // loncat ke posisi 10,40
turtle.drawText("Hai Dunia !!! "); // tampilkan kalimat "Hai Dunia"
Setelah anda puas dengan program yang anda buat, jangan lupa menyimpannya. Untuk itu:
- Pilih menu File-Save
- Isi nama file = "HiDunia.bsh", lalu klik "Save Script"
- Untuk mulai menulis program baru lagi, pilih menu "File - Close Script"
Program PenyuZigZag
Kini kita akan membuat si Penyu lari-lari sedikit biar tidak ngantuk. Coba ketik program berikut, run dan amati keluarannya. Seraya menyimak JTurtle API, coba pahami bahwa perintah:
- hop : membuat penyu meloncat tanpa meninggalkan jejak
- move : penyu pindah sambil meninggalkan jejak
Perhatikan bahwa hop maupun move punya variasi:
- nama beda, misal hopLeft(), hopRight().
- banyak parameter beda, misal hopLeft(), hopLeft(10).
Masing-masing perintah tersebut efeknya berbeda !
// PenyuZigZag.bsh // Contoh penggunaan trailthickness, hop dan move // // Oleh : ......... / ......... // : ......... / ......... turtle.setSpeed(500); // garis pertama turtle.setTrailThickness(10); turtle.hop(10,40); turtle.move(210,40); // garis kedua turtle.setTrailThickness(20); turtle.moveAngle(210,220); // garis ketiga turtle.setTrailThickness(10); turtle.moveRight(200); // menghilang turtle.setVisible(false); Jangan lupa setelah selesai, simpan program ini sebagai PenyuZigZag.bsh.
Program PenyuWarna
Dunia akan nampak sendu tanpa warna. Jadi mari kita bikin program berikut. Definisi warna dapat dilihat pada java.awt.Color API.
// PenyuWarna.bsh // Contoh penggunaan setColor // // Oleh : ......... / ......... // : ......... / ......... // // (c) Eko M.Budi, 2005 turtle.setSpeed(500); turtle.setTrailThickness(50); turtle.hop(40,40); turtle.setStepSize(80); turtle.setColor(Color.RED); turtle.moveDown(); turtle.hopRight(50); turtle.setColor(Color.GREEN); turtle.moveUp(); turtle.setColor(Color.BLUE); turtle.hopRight(50); turtle.moveDown(); turtle.setVisible(false);
Jangan lupa save jadi PenyuWarna.bsh. Lain kali tidak perlu diberitahu lagi kan?
Kontributor: Kocil
