Pembuatan Game J2ME Rubix Redux

Mei 22, 2010 at 8:50 am (IT (Information Technology))

PENULISAN PEMULSemakin populer aplikasi game, maka penulis ingin membuat sebuah aplikasi games atau permainan dengan menggunakan aplikasi J2ME yang akan diimplementasikan pada telepon seluler.

Aplikasi game yang dibuat dalam penulisan ilmiah ini adalah game rubix 3×3 yang menggunakan J2ME dimana dapat menghasilkan game yang menarik dan kualitas yang bagus dengan ukuran yang kecil dalam suatu format yaitu .JAR atau .JAD.

Penulisan ilmiah ini bertujuan untuk melatih para pemakai handphone yang juga adalah pemain rubix agar dapat lebih mudah melatih logika dan kecepatan dalam memainkan rubix.

Untuk lebih jelas tentang pembuatan game ini, silahkan mengunduh file penulisan yang sudah dilampirkan.

Permalink Tinggalkan sebuah Komentar

AYU: Bahasa Pemrograman untuk Pemula

April 13, 2010 at 4:25 pm (IT (Information Technology))

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 yang mungkin terjadi:
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-deklarasikan terlebih dahulu.
—————–
Implementasi AYU
—————–
AYU.EXE bukanlah sebuah compiler, saya menyebutnya “parser-generator”. Pertama, AYU.EXE mem-parse atau mengecek syntax program berdasarkan grammar yg telah ditentukan, dan jika tidak ada error, akan meng-generate C# source code. CSC.EXE kemudian dipanggil untuk meng-compile .CS file yg telah dihasilkan.

Walaupun bukan compiler, AYU.EXE dapat mendeteksi penggunaan variabel yang belum terdeklarasikan:
AWAL
{
TULIS b;
}

D:\ayu>ayu email6.ayu
Baris 3: Nama Variabel ‘b’ belum terdeklarasikan, cek sekitar ‘b’

Grammar AYU dipaparkan dalam bentuk syntax graphs. Syntax graphs AYU hanyalah 4 halaman, bukti AYU adalah sebuah simple language. Berdasarkan syntax graphs ini, Anda pun dapat membuat parser-generator versi Anda (contoh: meng-generate program .JAVA).

AYU.EXE ditulis dalam bahasa C, untuk mendapatkan kecepatan parsing & generation yg optimal.
————-
AYU’s future
————-
Saya berpendapat AYU butuh 2 hal lagi:
1. Data type ARRAY.
2. User-defined PROCEDUREs.

Saya sedang memikirkan (language designers love to think hours on how to implement something =) ) bagaimana cara mendeklarasikan ARRAY dan PROCEDURE secara _intuitif_. Karena itu kedua fitur diatas akan bergantung kepada feedback dari komunitas programmer Indonesia.

Saya juga butuh bantuan seorang linguist, seorang yg jago bahasa Indonesia-nya, dan tahu kata-kata terjemahan Inggris yg tepat. Larry Wall, designer Perl, mempunyai background di bidang Linguistics; hasilnya sebuah language yg flexibel yet powerful.

Permalink Tinggalkan sebuah Komentar

Cara Membuat Aplikasi dengan J2ME

April 13, 2010 at 4:02 pm (IT (Information Technology))

Membuat aplikasi J2ME tidak memerlukan banyak software yang rumit atau besar, salah satu software yang pasti diperlukan adalah J2SE SDK/JDK, dalam J2SE SDK/JDK ini terdapat runtime dan library untuk program Java secara umum termasuk juga untuk J2ME, pada saat artikel ini ditulis telah ada J2SE SDK v1.4.2.
Untuk menulis source-code J2ME, maka kita memerlukan sebuah J2ME IDE (integrated development environment),
ada beberapa pilihan IDE yang diantaranya adalah Netbean, Sun One Java Studio Mobility, CodeWarrior dan notepad (atau text editor lainnya), untungnya semua software IDE yang disebutkan ini dapat di download gratis di website resmi masing masing perusahaan, jadi untuk membuat program J2ME maka pihak developer tidak perlu mengeluarkan uang sama sekali untuk membeli software IDE.
Pada artikel ini yang diulas adalah IDE dari Netbean v4.1 dengan tambahan Netbean Mobility Pack v4.1, tambahan ini diperlukan untuk membuat aplikasi J2ME, karena jika hanya dengan Netbean v4.1 hanya dapat membuat aplikasi Java saja, Netbean Mobility Pack adalah module-module aplikasi J2ME dan emulator device untuk testing dalam PC. IDE lainnya boleh dicoba tapi dianjurkan memakai Netbean v4.1 karena versi ini sangat mudah dioperasikan dan dirasakan cukup cepat dibanding IDE lainnya dalam hal loading, compiling, running dan debugging.
Langkah yang dilakukan oleh untuk memulai pembuatan aplikasi J2ME adalah:
1. Install J2SE SDK v1.4.2 (50MB)
2. Install Netbean v4.1 (47MB)
3. Install Netbean Mobility Pack v4.1 (18MB)
4. Jalankan Netbean v4.1, buat projek baru dan pilih kategori “Mobile” dan tipe project “Mobile Application”
5. Pilih lokasi tempat menyimpan file-file project ini, “Set as Main Project” dan “Create Hello MIDlet” jangan dirubah (tercentang)
6. Pada halaman “Platform selection” pilih “Device Configuration” = CLDC-1.0 dan “Device Profile” = MIDP-1.0 (versi terkecil yang dapat digunakan dalam semua selular yang support J2ME)
7. Setelah semua selesai (tempate telah dibuat), jalankan aplikasi ini dengan menekan tombol F6 (Run Main Project).
8. Lalu project ini akan dicompile dan emulator akan keluar, gunakan mouse untuk mengoperasikan emulator tersebut, dengan menekan nekan tombol keypad dalam emulator tersebut mirip seperti selular biasa.
9. Pada saat ini, aplikasi “Hello World” kita telah selesai dibuat dan bisa langsung di tes pada selular yang sebenarnya.

Langkah-langkah untuk testing aplikasi yang telah dibuat, yaitu :

1. Selular phone yang mendukung J2ME (setidaknya MIDP v1).
2. Alat untuk memindahkan aplikasi (.JAR dan .JAD) yang sudah dibuat kedalam selular, dapat berupa kabel data, infrared, bluetooth atau card reader/writer jika selular yang ingin digunakan sebagai test device memiliki slot memory external, seperti MMC, MemoryStick dan lainnya. Cara pemindahan aplikasi J2ME sama seperti cara mengisi ringtone, image dan lainnya.
3. Software untuk memindahkan aplikasi J2ME ke dalam selular, bisa menggunakan aplikasi yang dibuat oleh perusahaan lain (bukan buatan vendor selular tersebut), seperti MobiMB yang berukuran kecil, mudah dan cepat.
Dalam artikel ini, selular yang digunakan sebagai test adalah Nokia 6015 (memakai kabel data USB) dan Nokia 9500 (memakai card reader/writer untuk mengcopi file .JAR dan .JAD ke dalam MMC). File – file yang perlu ditransfer kedalam selular adalah file .JAR (dan .JAD jika diperlukan) yang berada dalam direktori “DIST”, lokasi direktori ini telah ditentukan pada langkah ke 5.
Kita telah selesai membuat aplikasi J2ME “Hello World”, untuk merubah text atau menambah objek – objek lainnya seperti TextBox, RadioBox, tombol- tombol menu dan lainnya dapat kita lakukan dalam Netbean, juga tanpa perlu menuliskan source-code karena Netbean v4.1 sudah memiliki fungsi yang cukup bagus dan mudah dengan drag-and-drop mirip seperti programming Visual Basic dan lainnya yang hanya memerlukan perubahan pada properti-properti objek tersebut jika diperlukan seperti kata – katanya, lebar tingginya dan lain lain.
Memang aplikasi yang telah dibuat ini tidak begitu berguna, tapi bagi para programmer yang telah menguasai bahasa pemrograman Java maka tidaklah sulit untuk membuat aplikasi atau games untuk selular yang mungkin bisa dengan mudah dijual kepada perusahaan perusahaan mobile content aggregator karena bisnis mobile content cukup lumayan saat ini.
Pilihan J2ME untuk membuat aplikasi/games selular sangat bagus, karena ukuran filenya kecil (file JAR Hello World yang telah kita buat ini hanya kurang lebih 1 kilobyte saja), bahasa Java relatif lebih mudah dipelajari dibanding C/C++ untuk Symbian, Palm, Pocket PC dan Linux, dan alasan yang terakhir adalah software IDE untuk J2ME versi sekarang ini sangat baik dan lebih mudah digunakan.
Kemungkinan jika semua langkah yang dijelaskan diatas dicoba dengan sama persis oleh para pemula, maka mungkin hanya membutuhkan waktu kurang dari 10 menit hingga selesai dimasukan dalam selular, pihak editor hanya membutuhkan kurang dari 3 menit untuk menyelesaikannya.

Permalink Tinggalkan sebuah Komentar

Keuntungan dan Kerugian pada Use Case UML

Maret 5, 2010 at 4:41 pm (IT (Information Technology))

  • Sebuah use case adalah situasi dimana sistem Anda digunakan untuk memenuhi satu atau lebih kebutuhan pemakai .
  • Use case merupakan awal yang sangat baik untuk setiap fase pengembangan berbasis objek, design, testing, dan dokumentasi.
  • Use case menggambarkan kebutuhan sistem dari sudut pandang di luar sistem.
  • Use case menentukan nilai yang diberikan sistem kepada pemakainya.
  • Use cases hanya menetapkan apa yang seharusnya dikerjakan oleh sistem, yaitu kebutuhan fungsional sistem.
  • Use case tidak untuk menentukan kebutuhan nonfungsional, misalnya: sasaran kinerja, bahasa pemrograman, dsb.

Permalink Tinggalkan sebuah Komentar

Never Be What You Want (good Lyrics)

Maret 4, 2010 at 6:03 pm (IT (Information Technology))

I remember the nights we spent under city lights
This feelings got the best of me
We were floating along to the sounds of a dead end town
But now that’s just a memory

I can’t figure you out, you’ve got more fight in you
Than anybody else
And here’s the part where I start to make my own damn decisions
And make a name for my self

I’ll never be what you want
I wouldn’t change any part of me
Just to make you stay
You had a piece of my heart
But not enough to just run away
‘Cause I know what’s best for me

Take all your big plans and throw them away
I’ve got something in mind before we go separate ways
We ask the questions baby,
Who provides the answers?

I’m scared to death and it shows
The flame burned out, but it glows
And the look in your eyes says things I don’t wanna know
It’s time to go!
Come closer!
And I can’t say anything, everything comes out the wrong way

I’ll never be what you want
I wouldn’t change any part of me
Just to make you stay
You had a piece of my heart
But not enough to just run away
‘Cause I know what’s best for me

Just try, just try a little harder
I’ll do my best explaining all the things I’m going through
Just try, just try a little harder
This is why I can’t adjust for you

You can’t say
The look in your eyes says things I don’t wanna know
No you, You can’t stay

I wanna be with you, and no one else
I need you to feel the way that you felt that summer night
When you found that puzzle piece missing for eight straight weeks
You’re not the perfect fit

I’ll never be what you want
I wouldn’t change any part of me
Just to make you stay
You had a piece of my heart
But not enough to just run away
‘Cause I know what’s best for me

-We Are The In Crowd-

Permalink Tinggalkan sebuah Komentar

Virtual University di Internet

Desember 6, 2008 at 2:50 am (IT (Information Technology))

Dunia Internet memungkinkan perombakan total konsep-konsep pendidikan yang selama ini berlaku. Teknologi informasi & telekomunikasi dengan murah & mudah akan menghilangkan batasan-batasan ruang & waktu yang selama ini membatasi dunia pendidikan. Beberapa konsekuensi logis yang terjadi antara lain adalah:

• Siswa / mahasiswa dapat dengan mudah mengambil matakuliah dimanapun diseluruh dunia tanpa terbatas lagi pada batasan institusi & negara.
• Siswa / mahasiswa dapat dengan mudah berguru pada orang-orang ahli / pakar di bidang yang diminatinya. Cukup banyak pakar di seluruh dunia ini yang dengan senang hati menjawab berbagai pertanyaan yang datang.

• Kuliah bahkan dapat dengan mudah diambil di berbagai penjuru dunia tanpa tergantung pada universitas tempat si mahasiswa belajar. Artinya konsep universitas terbuka akan semakin membaur dalam universitas tradisional. Tinggal masalah akreditasi dari kuliah yang diambil di universitas di manca negara melalui Internet untuk di akui sebagai bagian dari kredit untuk kesarjanaannya di universitas lokal. Konsekuensi yang akan terjadi adalah pergeseran nilai-nilai kuliah yang tadinya sangat rigid & harus diambil di universitas lokal menjadi terbuka untuk diambil dari universitas lain di seluruh dunia. Untuk memudahkan bagi mahasiswa untuk memilih kuliah yang ada, beberapa universitas telah memasang di Internet daftar kuliah yang dapat diambil melalui Internet.

Permalink Tinggalkan sebuah Komentar

Hello world!

Desember 6, 2008 at 2:30 am (IT (Information Technology))

Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!

Permalink 1 Komentar