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

Hard Computing

Mei 9, 2010 at 4:54 pm (Tidak Dikategorikan)

hard computing adalah metode komputerisasi secara kovensional atau boleh dibilang tradisional. Belum terotomatisasi dan masih menkhususkan pada suatu masalah tertentu. Hard computing membuat model dan pencarian masalah masih menggunakan metode analitis dan numeris (tradisional). Contoh dari hard computing adalah software untuk melakukan perhitungan matriks, persamaan linier atau persamaan matematis lain. Atau beberapa aplikasi yang digunakan untuk menyelesaikan masalah tertentu di dalam kondisi real kehidupan. Berbeda dengan hard computing, soft computing merupakan perkembangan dari hard computing dimana metode yang dilakukan adalah koleksi dari beberapa metodologi yang bertujuan untuk mengeksploitasi adanya toleransi terhadap ketidaktepatan, ketidakpastian, dan kebenaran parsial untuk dapat diselesaikan dengan mudah, robustness, dan biaya penyelesaiannya murah. Hard computing akan memberikan suatu nilai yang pasti, namun tidak dapat mengambil kesimpulandari kemungkinan – kemungkinan yang ada. Salah satu Contoh aplikasi untuk hard computing, adalah MatLab.

Permalink Tinggalkan sebuah Komentar

Algoritma pada Permainan Tic Tac Toe dalam Aplikasi Kecerdasan Buatan

April 13, 2010 at 4:43 pm (1)

Dalam program Tic Tac Toe akan digunakan algoritma minimax permainan tic-tac-toe ini mempunyai lebih sedikit kemungkinan solusi, sehingga kita akan mempunyai cukup komputasi untuk memainkan setiap kombinasi langkah dari setiap posisi dan kondisi. Namun hal ini dapat dihindari dengan membatasi sejauh mana komputer akan menganalisis hasil dari langkahlangkah yang mungkin (menentukan kedalaman pohon).Tetapi dengan hal ini, kita harus menambah kedalaman pohon tersebut setiap langkahnya agar kedalaman pohon pada state tersebut sama dengan state sebelumnya.

Berikut garis besar algoritma minimax secara umum :

Cari langkah yang dengan nilai maksimum

IF langkah tersebut merupakan langkah kemenangan THEN pilih lagkah tersebut.

ELSE

FOR EACH kemungkinan langkah yang ada

Cari langkah lawan yang bernilai minimum.

RETURN nilai dari langkah tersebut.

Pilih langkah yang bernilai maksimum dari langkah-langkah tersebut. 2

Pemakaian algoritma umum diatas untuk permainan tic- tac-toe adalah sebagai berikut :

IF ada langkah kemenangan THEN pilih langkah tersebut.

ELSE IF lawan mempunyai 2 spot terisi dalam satu garis dengan spot ketiga masih kosong THEN tutup langkah tersebut (isi spot kosong ketiga tersebut).

ELSE melangkah ke state yang mempunyai kemungkinan menang tertinggi (berdasarkan nilai heuristic yang dibangkitkan). 2

Permalink Tinggalkan sebuah Komentar

Apple Rilis Java For Mac OSX V10.5

April 13, 2010 at 4:31 pm (1)

Sejak Januari lalu, sudah diketahui bahwa ada celah dan error pada versi Java yang dibundel pada sistem operasi. Kurang lebih sudah 5 bulanan celah ini belum mendapatkan pembenahan dari pihak Java.

Namun akhirnya justru pihak Apple lah yang berhasil memperbaiki bugs yang ada ini. Dan akhirnya pihak Apple merilis Java for Mac OSX V10.5, update 4 sebagai bagian dari Java for Mac OSX V10.4. Jika Anda mencoba mendownload perbaikan ini dari website Apple, akan lebih baik jika Anda menghidupkan kembali Java-nya, jika sebelumnya Anda sempat menonaktifkan karena error yang selama ini terjadi.

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

Dasar-dasar Paradiddle

April 13, 2010 at 4:15 pm (Music)

Dalam perkusi, yang paradiddle terdiri dari dua ketukan berturut-turut yang dimainkan oleh tangan yang sama (baik RR atau LL). Bandingkan dengan menyeret, yang juga terdiri dari dua ketukan berturut-turut yang dimainkan oleh tangan yang sama.
Paradiddle adalah rudiments yang terdiri dari empat-catatan pola bentuk RLRR atau LRLL. Ketika beberapa paradiddle diputar berturut-turut, ketukan  pertama selalu berganti antara kanan dan kiri. Ada juga beberapa variasi resmi dasar-dasar paradiddle. Paradiddle sering digunakan untuk beralih tangan saat bermain ketukan yang sulit. Misalnya, jika terus bermain not seperenam belas, dengan tangan kanan memimpin (RLRL, dll), kemudian ingin berakhir pada drum ke kiri drum yang aktif, ketukan yang  mungkin stick lakukan sebagai berikut: RLRL RLRL RLRL RLRR L dengan kiri akhir ketukan di drum akhir.
The paradiddle berguna pada drum kit pada akhir sebuah mengisi untuk memungkinkan mengatasi beat yang berikutnya, pada simbal crash,atau untuk dimainkan dengan cara lain pada tangan untuk mendapatkan beat atau pattern yang unik.

Permalink Tinggalkan sebuah Komentar

Melatih Rudimen Drum

April 13, 2010 at 4:12 pm (Music)

Berlatih dasar-dasar drum ini sangat penting. Cara terbaik untuk latihan ini adalah mengambil sepasang stick drum, sebuah metronom, practice pad dan mulai bermain. Pastikan Anda sedang bermain dengan sebuah metronom untuk menjaga diri pada tempo. Jika Anda tidak tahu harus mulai dari mana, di sini adalah daftar top 5 dasar-dasar Anda harus mulai dengan:

1.  Single stroke roll,

2. Double stroke roll,

3. Flam stroke,

4. Paradiddle, dan

5. Paradiddle ganda.

Ini adalah top 5 dasar-dasar Anda harus mulai, karena setiap orang akan mengajarkan anda kecepatan, kontrol, kemandirian dan ketahanan pada stik. Pastikan Anda membaca buku tentang praktik penting ini tips sebelum anda mulai bermain dasar-dasar ini. Ini akan membantu anda keluar lebih kreatif!

Sebagian besar dasar-dasar drum adalah variasi dari satu sama lain, artinya tidak terlalu sulit untuk mempelajari semua 40 dasar-dasar. Sebagai contoh, jika Anda bisa memainkan Flam stroke, dan pola paradiddle, Anda seharusnya tidak memiliki masalah bermain Flam paradiddle.
Dasar-dasar drum lebih dari sekadar menempel pola Anda berlatih di latihan pad. Setiap teknik dirancang untuk dimainkan di aplikasi pada drum.  Artinya mereka dirancang untuk dimainkan di ketukan drum, komposisi lagu, dan solo drum.

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

Next page »