Monday, August 8, 2011

Moving Letters

Animasi ini dibuat berdasarkan ide dasar yang disampaikan oleh rekan Artana.



Pada contoh animasi ini, teman-teman belajar bagaimana bekerja dengan tipe data string. Di dalam contoh program yang diberikan, saya sudah memberikan komentar secukupnya dan juga beberapa pertanyaan. Jika teman-teman bisa menjawab pertanyaan tersebut, berarti teman-teman sudah mengerti maksud dari program yang saya buat.

Selamat Belajar ...

Download

NB: Pada contoh program yang teman-teman download, terdapat dua buah files. File yang berupa pdf dan file yang berupa .c. Alasan saya adalah karena saya membuat program ini pada sistem operasi Linux, sehingga jika teman-teman membuka file ini di Windows, kemungkinan teman-teman harus merapikan lagi source code yang ada sebelum bisa dibaca dengan baik.

Friday, July 22, 2011

"Basengaja" Approach - an Approach of teaching basic programming

Pada tulisan saya tentang Berkenalan dengan Oledit, saya menyebutkan bahwa tujuan terbaru dari Oledit adalah untuk membantu para pemula bahasa C/C++. Bagaimana hal ini bisa tercapai ? silahkan baca tulisan saya pada Jurnal Ilmiah Elektronika Techne dengan judul "Basengaja" Approach - an Approach of teaching basic programming.

Monday, April 4, 2011

Simple Rattle Snake

Saya yakin banyak diantara kita pernah tahu aplikasi permainan rattle snake. Pada permainan ini, pemain akan mengontrol jalannya seekor ular untuk memakan “makanan” yang telah disediakan dan pada setiap kali makan, panjang dari ular akan bertambah. Nah pada pembahasan kali ini, kita akan belajar bersama-sama bagaimana membuat program yang mirip dengan rattle snake. Kita akan membuat program mulai dari yang sederhana sampai dengan yang lumayan kompleks. Program yang kompleks adalah pengembangan dari program yang sederhana sehingga teman-teman diharapkan mempelajari program yang sederhana baru kemudian program yang kompleks.

Berikut ini adalah beberapa skenario program yang telah dibuat:

1. Pada program yang pertama, fokus kita adalah membuat bagaimana agar ular bisa berjalan mengikuti rute tertentu. Misal menuju ke kanan, kemudian ke bawah, kemudian ke kiri, kemudian ke atas, begitu seterusnya (lihat source code: ular1)


2. Pada program kedua, fokus kita adalah membuat ular untuk berjalan secara acak. Idenya adalah setiap kali ular mencapai batas atas, bawah, kanan atau kiri, ular harus memilih arah selanjutnya secara acak (lihat source code: ular2)


3. Pada program ketiga, fokus kita adalah bagaimana mengembangkan program kedua, sehingga ular yang ada bukan saja satu ekor melainkan dua ekor. Dengan memahami program yang telah ada, teman-teman bisa saja membuat agar ular yang berjalan bisa lebih dari dua (lihat source code: ular3)




INFO : di Tokokatong sudah tersedia contoh pembuatan "Rattle Snake" menggunakan teknik Array, yang memungkinkan kita membuat "ular" yang lebih menarik.

Wednesday, March 2, 2011

Berkenalan Dengan Oledit - IDE untuk Pemula Belajar C/C++

Oledit adalah sebuah IDE C/C++ yang saya buat menggunakan Gambas. Gambas dikenal dengan julukan "Visual Basic" di Linux. Karena itu IDE ini hanya bisa dijalankan di Linux.

Tujuan awal pembuatan IDE ini adalah menghadirkan IDE C/C++ di Linux yang mudah dipakai. Kemudahan ini diwujudkan dengan 2 (dua) cara:
  1. Membuat IDE yang penggunaannya mirip dengan turbo/Borland C di Windows.
  2. Menyediakan fungsi-fungsi yang selama ini sudah sering dipakai pada saat membuat program C/C++ di Windows.
Lebih lanjut, IDE ini sebenarnya merupakan IDE yang digunakan untuk mendukung keberadaan pustaka openlib. Pada pustaka inilah, fungsi-fungsi bahasa C/C++ yang sudah sering dipakai di Windows diimplementasikan. Keterangan lebih lanjut tentang pustaka ini bisa dibaca pada buku C/C++ Goes to Opensource.

Pada versi berikutnya, IDE ini telah dirancang untuk membantu para pemula yang baru saja memulai belajar C/C++. Idenya adalah membuat IDE yang bisa membantu pemula agar hanya berkonsentrasi pada pembuatan program, tanpa harus memiliki pengetahuan dasar akan perintah-perintah dan sintaks dari pemrograman bahasa C/C++.

Berikut ini adalah beberapa Video dari IDE Oledit:


Membuat Program "Halo Dunia"




Membuat Program Untuk Berkenalan




Membuat Program Untuk membandingkan Dua Angka


Monday, February 7, 2011

Instalasi Paket C++ Ubuntu 10.10

Saya baru saja menginstall Distro Linux Ubuntu 10.10 versi desktop. Ketika mencoba membuat program "Halo Dunia" menggunakan bahasa C dan mencoba mengkompilasi kemudian menjalankannya, ternyata distro ini bisa melakukannya dengan baik. Namun ketika saya mencoba membuat lagi program "Halo Dunia" menggunakan C++, saya mengalami kegagalan saat mencoba untuk mengkompilasinya. Setelah saya cek, ternyata pada distro ini belum terinstall paket "g++" yang dibutuhkan untuk melakukan kompilasi kode sumber C++.

Saya kemudian mencoba menginstall paket "g++" dengan mencoba cara mudah yaitu dengan cara mengambil paket tersebut melalui repositori Ubuntu yang tersedia di Internet. Namun sayangnya, ketika saya mencoba melakukan proses update repositori, muncul sekali banyak pesan error yang memberitahukan bahwa saya tidak bisa mengakses ke repositori-repositori tersebut.

Akhirnya saya terpaksa mendownload secara manual semua paket yang dibutuhkan dan setelah terkumpul semua paket tersebut, saya melakukan proses instalasi melalui shell/console. Proses instalasi berhasil, namun nama executable yang terinstall adalah "g++-4.5", padahal terdapat IDE, misal Qt-Creator, secara default akan mencari "g++" dan bukan "g++-4.5". Untuk itu, saya membuat link ke "g++-4.5" dengan nama "g++".

Berikut ini saya tunjukan beberapa langkah singkat proses instalasi yang saya lakukan:

Anggap saja anda sudah mendapatkan semua paket yang dibutuhkan dan disimpan di dalam direktori installCplusplus. Pada bagian akhir tulisan ini, terdapat sebuah link untuk mendownload semua paket yang dibutuhkan.

  1. Masuk ke direktori installCplusplus
  2. Berikan perintah: sudo dpkg -i *.deb
  3. Perintah sebelumnya akan meminta anda untuk memasukan password anda.
  4. Buat link ke file "g++-4.5". Berikan perintah: sudo ln -s /usr/bin/g++-4.5 /usr/bin/g++
Selamat mencoba ...

Download Paket Instalasi


Wednesday, June 2, 2010

Teknik Debug Menggunakan Assert

Salah satu teknik yang perlu dikuasai dalam dunia pemrograman adalah mendeteksi kondisi yang tidak diinginkan dengan cepat dan mengetahui dimana letak kesalahan tersebut di dalam program kita. Teknik ini saya sebut dengan istilah Teknik Debug.

Salah satu perintah yang bisa digunakan untuk melakukan proses debug adalah dengan menggunakan perintah assert. Berikut ini adalah cara menggunakan perintah assert :

assert(KONDISI);

Cara kerja dari perintah assert adalah, jika KONDISI bernilai BENAR maka program TIDAK akan dihentikan. Namun Jika program dihentikan, KONDISI bernilai SALAH, maka kita akan mendapatkan 3 informasi penting:

KONDISI,
Nama File dan
Lokasi baris tempat diletakkannya perintah assert yang menyebabkan program dihentikan.

Sebagai contoh:


#include <iostream>
using namespace std;

int main()
{
int a=6;
cout << "Assert 1" << endl;
assert (a>=6);
cout << "Assert 2" << endl;
assert (a<5);
return 0;
}



Dari kedua assert, kita bisa melihat bahwa KONDISI pada assert dibaris ke-8 bernilai BENAR sedangkan pada baris ke-10 bernilai SALAH. Nah jika program tersebut kita jalankan, maka akan tertampil pesan error seperti berikut :

Assert 1
Assert 2
Assertion failed: a<5, file main.cpp, line 10

Dari informasi diatas, dapat kita lihat bahwa program dihentikan karena terjadinya Assertion failed pada baris ke-10 di dalam file yang bernama main.cpp

Wednesday, April 14, 2010

Mengenal Perintah "static"

Perhatikan contoh berikut:

#include<iostream>
using namespace std;

int tambah(int a, int b)
{
int hasil=0;

if(hasil == 0)
{
cout << "Nilai Awal Hasil = 0" << endl;
} else
{
cout << "Nilai Awal Hasil <> 0" << endl;
cout << "Nilai Awal Hasil = " << hasil << endl;
}

hasil = (a+b);

return hasil;
}

int main()
{
cout << "Hasil Penambahan = " << tambah(5,3) << endl;
cout << "Hasil Penambahan = " << tambah(-3,3) << endl;
cout << "Hasil Penambahan = " << tambah(4,2) << endl;
cin.get();
return 0;
}


Jika program ini dijalankan akan tertampil :

Nilai Awal Hasil = 0
Hasil Pengambahan = 8

Nilai Awal Hasil = 0
Hasil Pengambahan = 0

Nilai Awal Hasil = 0
Hasil Pengambahan = 6

sekarang jika kita menambahkan perintah static pada saat mendeklarasikan variabel hasil di dalam fungsi/method "tambah" seperti berikut :

static int hasil = 0;

maka yang tertampil adalah :

Nilai Awal Hasil = 0
Hasil Pengambahan = 8

Nilai Awal Hasil <> 0
Nilai Awal Hasil = 8
Hasil Pengambahan = 0

Nilai Awal Hasil = 0
Hasil Pengambahan = 6

dari keluaran ini dapat diperhatikan jika menambahkan perintah static, maka variabel hasil akan selalu menyimpan hasil terakhir proses yang mengubah isinya.

pada saat awal variabel hasil diberi nilai = 0. Dan keluaran dari operasi penambahan yang dilakukan adalah 8, sehingga hasil bernilai = 8.

Pada saat pemanggilan fungsi "tambah" dengan parameter (-3, 3), hasil sudah bernilai 8 sehingga akan tertampil :

Nilai Awal Hasil <> 0
Nilai Awal Hasil = 8

Sehingga jika disimpulkan adalah sebagai berikut :

saat sebuah variabel dideklarasikan menggunakan perintah "static" maka variabel tersebut akan selalu menyimpan nilai terakhir yang diberikan kepadanya.