Wednesday, December 12, 2007

Test Drive Gading-18 yang Tak Disangka-Sangka

Bagaimana mungkin saya menyangka kalau setelah malamnya saya sukses mengimplementasikan LUA di Gading-18, ternyata besok siangnya saya menggunakannya sebagai materi utama privat pemrograman pada Dik Wawan, putra ketua takmir masjid Al-Istiqomah (masjid di Karanggayam yg paling dekat dengan rumah kami), Pak Zainal Musthofa?

Saya pernah sampaikan di blog ini bahwasanya target peserta privat pemrograman ini tak terbatas usia : dan justru saya antusias sekali untuk mendapatkan adik-adik kecil yang bisa dibuat senang dan tertarik untuk menguasai pemrograman komputer. Karena saya ingat sekali bagaimana saya dulu sukaaa dan cintaaa sekali dengan komputer, hanya karena Mas Tri (tentor kursus Introduction to Computer saya saat SMP kelas 2 dulu) orangnya baik hati dan penuh perhatian. Nah, saya ingin menjadi Mas Tri bagi adik-adik yg kelak saya ajar. Via Privat, dari rumah ke rumah.

Tujuan akhir saya bagi setiap adik-adik yg menjadi siswa privat adalah menjadikannya seorang programmer komputer. Nah, untuk mencapai tujuan ini, saya mulai dengan menjelaskan apa itu programmer dan apa bedanya dengan pemakai biasa.

Berikut adalah diagram yang saya buat (sembari berusaha menginstall Ubuntu di komputer desktop Dik Wawan --siswa kelas 6 SD) tentang perbedaan programmer dan pemakai biasa :


Yang terutama adalah garis warna merah, yang secara provokatif menunjukkan apa yang menjadi arah Dik Wawan

Mudah kan pahamnya?

Angka2 itu menunjukkan bahwa kita akan mulai dengan membuat ptogram game, kemudian paint dan terakhir word (meski setelah itu saya merasa sebaiknya saya fokuskan ke game saja)

Saya sampaikan bahwa saat ini Dik Wawan adalah seorang pemakai komputer biasa --dan saya minta dia untuk menyebutkan program-program komputer yang diketahuinya--, karena Dik Wawan sudah terbiasa menggunakan program komputer. Kemudian saya rangsang dengan pertanyaan : darimana semua program itu berasal?

Dari para rogrammer-lah jawabannya!!!

Jadi, Dik Wawan bisa menggunakan Word, Paint, Game dan Power Point karena ada programmer Word, programmer Paint, programmer Game dan Programmer Power Point. Artinya, kita tidak bisa menggunakan program yang tidak ada programmernya. Kalau kita jadi programmer nanti, maka kita bisa membuat program komputer sendiri. Dan kita pakai sendiri (kurang lebih seperti itu yang saya sampaikan)

Setelah Dik Wawan manggut-manggut, maka inginnya saya lanjutkan dengan menjelaskan tentang berbagai komponen komputer (Monitor, CPU/Processor, Memory dan lain sebagainya) , namun karena ada gangguan instalasi Ubuntu (yang akhirnya saya dapati adalah karena DVD-R/W-nya error), maka ... saya putuskan untuk lebih baik langsung menunjukkan apa itu program dan bagaimana memprogram.

Nah, saya lihat bahwa di sistem Windows-nya sudah diinstall Visual Studio 6.0. Perfect Candidate!

Ternyata Visual Basic tidak bisa dijalankan (karena ... yah, DLL-Hell ^_^) maka saya pergunakan Visual C++.
Karena Dik Wawan sudah diajari program2 Microsoft Office di sekolahnya (wah, jd punya ide mendemokan Ubuntu di sekolahnya, Salman Al-Farisi, Klebengan, kalau begitu), maka saya berusaha pahamkan apa bedanya antara Visual C++ dengan Word. Nah, jadilah diagram ini (dicorat-coret dengan Paint) :

Mungkin istilah Programmernya Program untuk Programmer agak membingungkan. Namun itu yang saya sembunyikan dari Diagaram Diatas

Disitu saya jelaskan bahwa WORD menghasilkan berbagai dokumen (saat saya tanya apa yg dihasilkan oleh WORD, Dik Wawan menjawab dengan data. Bagus sekali jawabannya), entah Teks, Gambar atau Grafik. Maka kemudian saya jelaskan bahwa C++ dan sebagainya menghasilkan program. Kemudian saya contohkan bahwa Web dihasilkan oleh PHP (karena setelah saya tanya, ternyata Dik Wawan pernah nge-net. Tepatnya ke situs ... Primbon Jawa! ^_^). Jadi mudah memberikan contoh, bahwasanya ada Program yang menghasilkan Program, yaitu PHP menghasilkan Web).

Dan mulailah saya demokan pembuatan satu aplikasi berbasis Dialog dengan Visual C++, yang hasilnya berikut ini :

Aplikasi ini sudah merupakan aplikasi yang fungsional dan bisa langsung dipergunakan sehari-hari, bagaimanapun sederhananya.

Maaf warnanya menjadi 16 warna, karena keterbatasan Bitmap Editor Visual C++

Jelas bukan Dik Wawan, tapi Pak Zainal Mustofa!
Tapi karena poto Dik Wawan tidak ada, bisa juga dunk poto ayahnya... ^_^

Setelah saya suruh Dik Wawan menekan tombol tanda seru (CTRL+F5, untuk Execute), maka saya jelaskan bahwasanya yg barusan dibuat adalah Program. Saat saya tanya lagi, Kira2 ini program apa dik? Dijawab : tidak tahu. Nah, saya jawab : ini program yang mengucapkan selamat datang kepada orang lain dan mengucapkan bahwasanya komputer ini milik Dik Wawan. Insya Allah Dik Wawan paham. Kemudian untuk memantapkan kefahaman, saya tanya dik Wawan : bisa tidak menginstall aplikasi (saya mulai sering memakai istilah program dan aplikasi berganti-ganti) ini ke Start Menu. Meski dijawab tidak bisa, saya tetap instruksikan Dik Wawan u/ meng-klik kanan Start Menu, Explore (sudah paham kalau disuruh milih Explore --itu membuat saya puas) dan sampai akhirnya membuat folder baru bernama Wawan di folder Programs. Nah, setelah membuat shortcut dari program tersebut dan di cut serta di paste ke Folder Start Menu->Programs->Wawan, maka sepertinya Wawan sudah mantap dengan kepahaman bahwa barusan ia sedang melihat proses penulisan Program.

Di titik ini saya sudah puas dengan proses memahamkan Dik Wawan akan hakikat Program. Dan mulailah saya membuka laptop dan memulai proses ... langsung ke pemrograman...

Senang sekali...

Memaksimalkan Ubuntu

Intinya Game.

Sepertinya tidak ada aplikasi yang paling disenangi siapapun dan paling menarik minat kecuali Game (apa ada ya, Rental Microsoft Office yg digemari anak-anak? Rental PS-2 dunk!)

Awalnya saya ingin menunjukkan game2 di Ubuntu. Eh, tapi Dik Wawan sendiri yang tanya : Game Ninjanya kemarin mana mas? (Beberapa hari lalu waktu menawarkan kelas privat saya ke Pak Mustofa saya mendemokan aplikasi FireUpEngine yang sudah berjalan). Ya sudah, saya jalankan di Xterm (sepertinya saya akan mempolakan Dik Wawan untuk hidup di xterm ^_^ ... )

Nah, setelah saya tunjukkan dan saya mainkan. Kemudian saya jelaskan bahwa, game ini bisa seperti ini karena ada kode di belakangnya. Dan saya buka file Gading18.cc dengan Emacs berikut ini :

Tidak berlebihan untuk memulai petualangan seorang anak kecil di dunia komputer dengan Emacs. Saya pikir, justru efek Konsol akan mengefektikan dan mempercepat daya serap belajarnya. Insya Allah



Saya tekankan betapa sulitnya bisa membuat kode seperti itu. Namun juga, saya sampaikan, bahwa Dik Wawan akan saya bimbing untuk menguasainya setahap demi setahap. Senangnya saya saat Dik Wawan mengangguk. Tapi kemudian saya teringat akan kode script Main.lua berikut ini :

ninja = Karakter("ninja hijau","ninja.mesh")
ninja:atur_posisi(100,0,0)
ninja:atur_skala(10,10,10)
ninja:atur_animasi("Attack3")

Saat malam sebelumnya saya putuskan untuk menggunakan bahasa Indonesia dalam interface script LUA ke engine Gading-18, maka saya tidak menyangka akibatnya akan berpengaruh kepada materi privat saya kali ini (dan misi ke depan saya selanjutnya, insya Allah). Maka saya instruksikan Dik Wawan untuk membuat modifikasi pada file Main.lua. Dan lengkaplah sudah semuanya saat Dik Wawan merampungkan dengan script berikut ini :


ninja = Karakter("ninja biru", "ninja.mesh") ninja:atur_posisi(100,100,100)
ninja:atur_skala(10,10,10)

pesawat =Karakter("pesawat","razor.mesh")
pesawat:atur_posisi(100,100,500)
pesawat:atur_skala(20,20,20)

dewi=Karakter("dewi","athene.mesh")
dewi:atur_posisi(300,300,300)
dewi:atur_skala(100,100,100)

Mungkin sederhana, namun baris di atas merupakan logika pemrograman dengan alur kode sekuensial. Konsep pertama yang penting dalam memulai proses pembelajaran pengembangan software.

Berikut adalah hasil Game Instan yang ditulis Dik Wawan tersebut (dijalankan dengan perintah ./Gading18 --root=wawan) :

Setelah tahap ini, maka saya insya Allah akan tambahkan fitur menggerakkan karakter di dunia 3D, akibatnya saya bisa menunjukkan berbagai perintah logika IF kepada Padawan saya yang baru ini... ^_^
Saya jadi mudah memahamkan kepadanya, hubungan antara Kode yang ditulis dan Program yang sudah berjalan.

Untuk menutup sesi ini, ada satu lagi yang saya tekankan.

Di method main() pada kelas Gading18, saya hapus satu tanda titik koma (;) dan kemudian saya coba jalankan dengan perintah make (saya perintahkan Dik Wawan untuk menekan tombol F4 pada Emacs dan mengetikkan : make). Dan gagal.

Saya sampaikan bahwa, dalam pemrograman tak boleh ada kesalahan penulisan satu tanda baca pun. Satu saja titik koma salah, maka program tidak bisa dibuat.

Setelah sesi berakhir, karena sudah masuk adzan Ashar, saya tanya dik Wawan : "Bagaimana, tertarik membuat game tidak?". Jawabannya polos : "Enggak mas"
GUBRAKS!

Hehehe, setelah saya lagi : "Kenapa?" Dijawab : "Susah sekali".

"Owh itu, enggak pa pa. nanti kita mulai sedikit demi sedikit. Mudah kok!"

Kemudian saya teringat akan Video Inside Microsoft Game yang bareng2 kami (Team Gading-18) tonton di rumah Aji. Wuih, kalau saya perlihatkan video itu, insya Allah Dik Wawan akan tertarik.

Ada seninya lho, membuat anak kecil suka akan kita dan apa yang kita katakan. Tak boleh ikut cara kita, harus cara dia.

Silahkan dicoba dan semoga berhasil dengan privatee juniornya!!!

Salam hormat,

Eko SW

NB :
  • Mengajarkan sesuatu kepada anak kecil, membutuhkan kesabaran dan keikhlasan kita melepaskan ego, dan masuk ke dunianya. Tidak akan berhasil seseorang dalam membuat anak kecil menyukainya, kecuali jika egonya dihilangkan, atau at least ditekan.
  • Selain itu saya juga mulai minggu depan insya Allah akan mengambil satu siswa Kelas 4 SD. Hehehe, saya ingin mencoba mengambil juga satu siswa SMP. Hm... belum melihat ada yg seusia itu .... Pastinya pola pikirnya berbeda, dan itu berarti saya akan berbeda juga ...
  • Anda akan menyenangi proses belajar-mengajar antara Anda dan seorang/beberapa anak kecil. Tidak bisa diceritakan bagaimananya, kecuali coba dan rasakan sendiri. Insya Allah ... ^_^
  • Oh ya, sesi ini di akhiri dengan makan bersama di Rumah Pak Zainal bersama Dik Wawan. Wah, ternyata Dik Wawan juga senang pedas seperti saya.

No comments: