![]() |
| Pantai Lemo-Lemo, Kab. Bulukumba Sulawesi Selatan |
Sebelumnya, kisah dibawah ini nyata namun dicampur dengan unsur fiktif belaka dan sedikit bullshit.
Semester perkuliahan telah berakhir, libur telah tiba, jrengg..., Akhirnya. gitu doang... (doang dalam bahasa bugis itu artinya udang). Beberapa liburan judulnya pantai
![]() |
| Kami (Pantai Seruni Kab. Bantaeng Sulawesi Selatan) |
Liburan kali ini tujuannya ke pantai Bira, terletak di Bulukumba Sulawesi Selatan. Namun dalam perjalanan kami sempat berkunjung ke beberapa tempat. Berikut beberapa foto liburan kami.
![]() | |
| It's beautiful pre-sunset, isn't it ? |
Selanjutnya kami menikmati kesejukan pantai saat spektrum jingga matahari diiringi ombak dan lembutnya pasir pantai *sok puitis.
![]() | ||
| Ceritanya, buat bola dari pasir |
Kami para pengrajin.....!
![]() |
| WTF ! (Levitasi amatir) |
Goku telah beraksi, kame-hame-ha.......
![]() |
| Kakek dan Anaknya |
Telah terdampar kakek dan anaknya -_-
![]() |
| Bakar jagung, ceritanya |
Selanjutnya pada malam hari, bakar jagung di tepi pantai. Namun, entah mengapa jagung yang kita bakar tidak kami makan -__-
![]() |
| Perahu Pisang menuju tak terlampaui |
Keesokan harinya, tujuan pulau sebelah mengendarai perahu pisang (katanya). Jreng......, Menurut mitos, pada akhirnya perahu ini akan dibalik oleh sang pemiliknya.
![]() |
| Kami dijatuhkan di tengah laut (Sok) |
Jleb, dan akhirnya, mitos itupun terjadi...., tapi entah mengapa melihat foto ini membuat saya tertawa
![]() |
| Help!! |
Tolong,.... kami tenggelam, selamatkan kami *itu pelampung apa gunanya. (Maaf untuk ke-Alay-annya)
![]() |
| Snorkling ! |
Setelah itu, saatnya menikmati keindahan bawah laut. It's time for snorkling
![]() |
| Lanjut ! |
Selanjutnya, tujuan kami yaitu rumah penangkaran penyu
![]() |
| Keluarga penyu *eh |
Beberapa foto bersama penyu
![]() |
| Dia kenapa ? |
Saya tidak bisa berkata apa-apa tentang foto ini, seseorang tolong angkat dia. (hahaha)
![]() |
| Teman kami (observasi Kelapa Muda) |
Nah, setelah itu, dilanjutkan dengan minum air kelapa muda,
![]() |
| Ceritanya, lari di pantai |
Final destination, Pantai Lemo-Lemo letaknya tidak jauh dari pantai bira. Sebelum pulang kami sempat melakukan kegiatan alay, yaitu berlari bersama.
![]() |
| Last Activity, |
Setelah bermain di pantai, akhirnya kami membersihkan diri dan dosa di sebuah kolam dengan mata air alami yang tidak jauh letaknya dari pantai tersebut
And then....... Here we are
![]() | ||
| Jump together |
![]() |
| Informatika 13 UNHAS |
Sekian kisah liburannya. Itu saja, dan pesan terakhir "Jangan liburan sendirian"
DUNNO WHAT KIND OF VACATION !
Sebelum memulai Coding ada baiknya pembaca memenuhi / memiliki :
Requirements dalam membuat game ini :
Hal-hal yang harus diketahui pada Java sebelum membuat game ini :
INDEX :
Chapter 1 : Membuat Layar
Chapter 2 : Sprite "Bola"
Chapter 3 : Sprite "raket"
Chapter 4 : CheckCollision()
Chapter 5 : Finishing
Requirements dalam membuat game ini :
- Niat, usahakan niatnya tulus dari dalam hati, agar hasilnya memuaskan
- Kesabaran yang tinggi (Warning ! membuat game ini bisa membuat anda frustrasi )
- Keyboard (kalo nggak ada ini, bisa ngetik kode pake mouse ?)
- Mengoperasikan komputer (maap kriteria ini sedikit ngaco)
- Komputer / Laptop, apa sajalah yang penting bisa nge-Coding
- Text Editor (wajib), disini saya memakai NETBEANS 7.4, Saya sarankan memakai NETBEANS atau ECLIPSE
- Logika, paling tidak setara dengan 2.8 GHz (Maap author sedikit gila. Orang aja disamain sama prosesor)
- Segelas Kopi (optional).
Hal-hal yang harus diketahui pada Java sebelum membuat game ini :
- Mengerti tentang fundamental dari OOP (Object Oriented Programming)
- Mengerti tentang attribut, method, dsb.
- Mengerti tentang Graphics 2D dalam java
Game reverse tennis ini adalah game sederhana, karena author mempunyai pengetahuan yang masih terbatas, mohon dimaklumi haha. Game ini adalah memantulkan bola dengan raket namun dengan kontrol reverse (terbalik) kanan ke kiri begitupun sebaliknya. Itulah tadi cerita omong kosongnya, demikian postingannya *eh. Langsung saja :
INDEX :
Chapter 1 : Membuat Layar
Chapter 2 : Sprite "Bola"
Chapter 3 : Sprite "raket"
Chapter 4 : CheckCollision()
Chapter 5 : Finishing
GAMING TUTORIAL IN JAVA
Untuk chapter ini saya akan membuat bola tenis, Buatlah class baru dengan nama Bola.java. Disini saya akan menggunakan Graphics 2D untuk menggambar bola tersebut. Langsung saja :
Itu source code untuk keseluruhan sprite"Bola", mari kita bahas lebih dalam :
Menentukan Variabel
Nah untuk variabelnya, tentukan dengan berpikir.... bayangkan di bola 2D ada apa saja yang mungkin. Yang pertama bola itu punya diameter kan ?, saya namakan private final int D_BOLA = 30; dengan tipe int dan konstan (tidak berubah), ok sipp... sekarang adalah bagaiman naruh bolanya di koordinat (0,0) pada frame. Nah, karena Graphics 2D hanya punya dua koordinat mau tidak mau harus membuat variabel untuk posisi bolanya yaitu int x=0 dan int y=0 dengan tipe int .
Untuk gerak, variabel x dan y perlu bertransformasikan ?, nah perpindahannya saya beri delta x dan y-nya juga, singkat menjadi d_x = 1 dan d_y = 1 tipe int. Kenapa valuenya 1, saya akan bahas pada point selanjutnya. Dan kurang lebih codenya seperti ini :
Untuk gerak, variabel x dan y perlu bertransformasikan ?, nah perpindahannya saya beri delta x dan y-nya juga, singkat menjadi d_x = 1 dan d_y = 1 tipe int. Kenapa valuenya 1, saya akan bahas pada point selanjutnya. Dan kurang lebih codenya seperti ini :
Algorima bolaGerak() pada Bola
Kriteria bergeraknya bola :
- Bola terpantul jika terkena oleh dinding atau raket
- Jika melewati raket maka akan game over
- Jika bola terkena raket maka skor bertambah satu
Secara umum, penggambarannya yaitu "jika posisi + perpindahan = 0 maka perpindahan bernilai 1". Mengapa ? karena jika posisi + perpindahan bernilai di bawah satu maka bola tidak akan terpantul melainkan menghilang /menerus dari frame. Begitu juga dengan kode :
"if (x + d_x > game.getWidth() - D_BOLA)",
sama saja yang berbeda, kode ini dipakai di sisi kanan frame dan perpindahannya bernilai -1 atau terpantul kedalam.
Nah disinilah mengapa d_x dan d_y di beri value 1 agar perpindahannya satu pixel, anda bisa mencobanya dengan memberikan sembarang nilai namun jika diberi 0 maka perpindahannya tidak ada atau tidak bergerak.
Sintaks kode :
if (y + d_y > 400 - D_BOLA)
{game.gameOver();}
Artinya jika "posisi y + perpindahan y lebih besar daripada ukuran frame - Diameter bola" make game akan Game over, method gameOver() saya akan bahas pada Chapter "Check Collision" selanjutnya.
Method paint(Graphics 2D g)
"if (x + d_x > game.getWidth() - D_BOLA)",
sama saja yang berbeda, kode ini dipakai di sisi kanan frame dan perpindahannya bernilai -1 atau terpantul kedalam.
Nah disinilah mengapa d_x dan d_y di beri value 1 agar perpindahannya satu pixel, anda bisa mencobanya dengan memberikan sembarang nilai namun jika diberi 0 maka perpindahannya tidak ada atau tidak bergerak.
if (y + d_y > 400 - D_BOLA)
{game.gameOver();}
Artinya jika "posisi y + perpindahan y lebih besar daripada ukuran frame - Diameter bola" make game akan Game over, method gameOver() saya akan bahas pada Chapter "Check Collision" selanjutnya.
Ini adalah method untuk menggambar / memberikan gambar bola pada frame nantinya, "g.fillOval(x, y, D_BOLA, D_BOLA)" artinya menggambar fillOval (lingkaran berwarna) dengan parameter (posisi x, posisi y, Lebar, tinggi) disini kita memakai Diameter bola sebagai lebar dan tinggi
Pada kode juga terdapat g.drawString() yang digunakan nantinya menggambar String bertuliskan "Score :" selanjutnya.
Method Rectangle getBatasBola()
Ini adalah method mengambil informasi tentang kondisi ukuran bola, yang nantinya akan difungsikan pada saat cek collision(), selanjutnya collision() akan kita bahas pada chapter "Check Collision"
Chapter 2 : Sprite Bola
Dalam kehidupan sehari-hari untuk menggambar, pastinya diperlukan media gambar. Hal ini berlaku juga dalam menggambar di pemrograman. Untuk program ini saya menggunakan JPanel sebagai media gambarnya.
Kanvas atau media gambar JPanel akan menangkap setiap frame. Nah, bagaimana agar gambar kita bergerak ?. Kita tidak mungkin menggunakan satu kanvas saja kan ?, oleh karena itu kita membantunya dengan Jendela JFrame
JFrame : Layar Game
Pertama buatlah sebuah Project Java Application dengan judul tennisReverse, Layar yang kita buat untuk game "Tennis Reverse" ini berukuran panjang = 300 px, dan lebar 400 = px. Untuk code-nya sebagai berikut :
Penjelasan :
Kode diatas menghasilkan layar JFrame, penjelasan kode sebagai berikut :
- "JFrame frame = new JFrame("Tennis Reverse");" artinya membuat objek JFrame dengan nama frame dengan judul Frame tersebut Tennis Reverse"
- "frame.setSize(300,400);" artinya men-Set ukuran frame (layar) dengan ukuran panjang 300 px dan lebar 300 px. Ingat ukuran yang dipakai di java adalah px (pixel)
- "frame.setVisible(true);" artinya frame pada saat dijalankan akan nampak. Kondisi "true" adalah parameter dari setVisible. Jika anda ingin mencoba, ganti kondisi "true" dan "false". Alhasil sampai kiamat layar nggak muncul2, rasain..
Tahu nggak juga tempe apa yang membuat layar ini ?, hanya dengan mengetik kode tersebut dan jrengg... (Ajaib kan.. kan..). Nah objek JFrame lah yang membuat hal tersebut, JFrame merupakan objek di dalamnya terdapat engine yang dapat me-manage user interface. Engine inilah yang jadi perantara antara sistem operasi dengan hardware dia nyuruh supaya nerima informasi keyboard dan mouse, Soswit...... Aku rapopo.
Engine ini bernama "Swing Engine". Sebenarnya versi yang terdahulu dikenal dengan AWT namun sekarang Swing ini muncul dengan tampilan lebih dinamis dan elegan. Ingat Swing ini memakai beberapa Threads. Apa itu thread ?. Kita bahass......
Program dieksekusi line-by-line, sementara itu hanya ada satu prosesor yang bekerja. Nah,... disini thread bekerja. Thread berguna untuk mengeksekusi dua atau perintah secara bersamaan dengan urutan instruksi. Nah, bayangkan jika suatu variabel dipacari oleh dua orang (variabel durhaka), bisa ribet..... Intinya thread memungkinkan suatu program mengeksekusi beberapa perintah dalam waktu yang sama.
Chapter 1 : Membuat Layar
Untuk chapter ini saya akan membuat raket tenis, Buatlah class baru dengan nama raket.java. Disini sama saya akan menggunakan Graphics 2D untuk menggambar raket tersebut. Langsung saja :
Itu source code untuk keseluruhan sprite"raket", mari kita bahas lebih dalam :
Menentukan Variabel
Untuk raket, variabel yang dibutuhkan yaitu panjang dan lebar raket, posisi raket, serta posisi raket bertemu dengan bola.
Algorima move() pada Raket
Kriteria bergeraknya Raket :
- Raket bergerak hanya pada koordinat x
- Raket bergerak tidak boleh melewati panjang Frame
Code diatas menjelaskan raket hanya boleh bergerak sepanjang ukuran frame yaitu 300 px.
Method paint(Graphics 2D g)
Method ini sama dengan method paint pada Sprite"Ball" digunakan untuk menggambar raket pada layar
Keyboard Input
Ada dua method yang digunakan yaitu method pada saat tombol di tekan dan saat tombol dilepas. Anda bisa melihat sendiri kodenya
Method Rectangle getBatasBola()Keyboard Input
Nah, agar raketnya berjalan dari inputan keyboard maka kita tambahkan KeyEvent, KeyEvent ini berfungsi menerima inputan keyboard untuk kodenya :
Ada dua method yang digunakan yaitu method pada saat tombol di tekan dan saat tombol dilepas. Anda bisa melihat sendiri kodenya
Ini adalah method mengambil informasi tentang kondisi ukuran raket, yang nantinya akan difungsikan pada cek collisin() antara bola dan raket.
Method getBatasy()
Method ini digunakan untuk mengetahui letak raket bertemu dengan bola, method ini difungsikan pada saat check collision
Method getBatasy()
Method ini digunakan untuk mengetahui letak raket bertemu dengan bola, method ini difungsikan pada saat check collision
Chapter 3 : Sprite Raket
Subscribe to:
Comments
(
Atom
)

























