Tuesday, December 19, 2017

Membuat Game Ular Menggunakan HTML

No comments
Membuat Game Ular Menggunakan HTML

Di postingan kali ini gue bakalan share cara/source code untuk membuat game ular menggunakan HTML.
Langsung aja tanpa berlama-lama, seperti berikut tampilan game yang sudah jadi.

Sintaks HTML :
<!DOCTYPE html>
<html>
    <head>
 <center>      
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
        <title>Membuat Game Snake Dengan HTML5 dan JQuery</title>    
    </head>
    <body>
        <canvas id="ruang" width="500" height="500"></canvas>
        <script type="text/javascript">
            $(document).ready(function() {
              // deklarasi
              var ruang = $("#ruang")[0];
              var ctx = ruang.getContext("2d");
              var lebar = $("#ruang").width();
              var tinggi = $("#ruang").height();
              var cw = 10;
              var tekan ;
              var makanan;
              var nilai;
              //membuat cell aray untuk membuat ular
              var array_ular; 
              function init() {
                tekan = "right"; //default direction
                create_snake();
                create_makanan(); //membuat makanan untuk ular
                //nilai game
                nilai = 0;
                if (typeof game_loop != "undefined") clearInterval(game_loop);
                game_loop = setInterval(paint, 60);
            }
            init();
                // membuat ular
                function create_snake() {
                // menetapkan jumlah panjang awal ular
                var length = 5; //panjang ular default
                array_ular = [];
                for (var i = length - 1; i >= 0; i--) {
                  //membuat ular horizontal mulai dari arah kiri
                  array_ular.push({ x: i, y: 0 });
              }
            }
              //membuat makanan untuk ular
              function create_makanan() {
                makanan = {
                  x: Math.round(Math.random() * (lebar - cw) / cw),
                  y: Math.round(Math.random() * (tinggi - cw) / cw)
              };
            }
              //pengaturan
              function paint() {
                // warna background
                ctx.fillStyle = "#ecf0f1";
                ctx.fillRect(0, 0, lebar, tinggi);    
                ctx.strokeStyle = "#2c3e50";
                ctx.strokeRect(0, 0, lebar, tinggi);
                //membuat pergerakan untuk ular
                var nx = array_ular[0].x;
                var ny = array_ular[0].y;
                if (tekan == "right") nx++;
                else if (tekan == "left") nx--;
                else if (tekan == "up") ny--;
                else if (tekan == "down") ny++;
                //memeriksa tabrakan
                if (
                  nx == -1 ||
                  nx == lebar / cw ||
                  ny == -1 ||
                  ny == tinggi / cw ||
                  cek_tabrakan(nx, ny, array_ular)
                  ){
                //restart game
            init();
            return;
            }
                //cek jika ular kena makanan/memakan makanan
                if(nx == makanan.x && ny == makanan.y){
                  var ekor = { x: nx, y: ny };
                  nilai++;
                  //membuat makanan yang baru
                  create_makanan();
              } else {
                  var ekor = array_ular.pop();
                  ekor.x = nx;
                  ekor.y = ny;
              }
              array_ular.unshift(ekor);
              for (var i = 0; i < array_ular.length; i++) {
                  var c = array_ular[i];
                  paint_cell(c.x, c.y);
              }
              paint_cell(makanan.x, makanan.y);    
                //membuat penilaian skor
                var nilai_text = "nilai: " + nilai;
                ctx.fillText(nilai_text, 5, tinggi - 5);
            }
            function paint_cell(x, y) {
                ctx.fillStyle = "#1abc9c";
                ctx.fillRect(x * cw, y * cw, cw, cw);
                ctx.strokeStyle = "#ecf0f1";
                ctx.strokeRect(x * cw, y * cw, cw, cw);
            }
            function cek_tabrakan(x, y, array) {
                for (var i = 0; i < array.length; i++) {
                  if (array[i].x == x && array[i].y == y) return true;
              }
              return false;
            }
              //kontrol ular dengan keyboard
              $(document).keydown(function(e) {
                var key = e.which;
                if (key == "37" && tekan != "right") tekan = "left";
                else if (key == "38" && tekan != "down") tekan = "up";
                else if (key == "39" && tekan != "left") tekan = "right";
                else if (key == "40" && tekan != "up") tekan = "down";
            });
            });
            </script>
        </body>
</html>

Hehehehe, di ketik manual ya gan, biar sekalian belajar hahaha, coba comment di bawah yang mau link download codingannya. :)

Peace :v Salam Ngoding :v

Gua Andrian Signing Out, Cheers!

Monday, December 18, 2017

Membuat Game Sederhana Menggunakan Processing

No comments
Membuat Game Sederhana Menggunakan Aplikasi Processing

Hai Guys, pada postingan gua kali ini gua mau share tutorial membuat game sederhana menggunakan aplikasi processing, mudah kok guys. Langsung kita mulai ya guys.
Ini Penjelasan dari tiap codingannya guys.

1. Codingan ini berfungsi untuk memberi ukuran dari layar game yang akan di buat.
PENJELASAN :
- size (1000, 500); = Menunjukan bahwa ukuran layar dari game tersebut adalah 1000x500. 

2. Codingan untuk mengatur kecepatan dari bola yang ada di dalam game.

3. Codingan ini berfungsi untuk memberi warna pada background dan membuat tulisan yang terletak di tengah layar saat game di jalankan.

PENJELASAN :
- background (70,130,180); = Menunjukan bahwa background dari game tersebut berwarna steel blue.
- textAlign (CENTER); = Menunjukan bahwa tulisan yang ada di game posisinya ada di tengah layar.
- textSize (35); = Menunjukan bahwa ukuran dari tulisan yang berada di tengah layar game tersebut berukuran 35.
- fill(255,0,0); = Menunjukan bahwa warna dari tulisan tersebut berwarna merah.
- text (“DESIGN BY ANDRIAN MULJADI”, 500, 250); = Menunjukan bahwa tulisannya adalah DESIGN BY ANDRIAN MULJADI, dan letak dari tulisan berada di koordinat 500,250 atau di posisi paling tengah.

4. Codingan untuk membuat bola dan warna dari bola yang akan di mainkan, disitu terlihat codingan ellipse ada 2, yang berarti ada 2 bola di dalam game

PENJELASAN :
- fill (255,215,0); = Menunjukan bahwa warna bola adalah gold.

5. Codingan untuk membuat mouse atau kursor yang akan di gerakan dalam game.

PENJELASAN :
- fill (178,34,34); = Menunjukan bahwa warna dari kursor game adalah merah seperti warna batu bata.

6. Codingan untuk membuat tulisan score dan menghitung score dari gamenya.

PENJELASAN :
- fill (255,255,0); = Menunjukan bahwa warna tulisan score adalah kuning.
- textAlign(LEFT); = Menunjukan bahwa tulisan score posisinya ada di kiri layar.
- textSize(20); = Menunjukan bahwa ukuran dari tulisan score berukuran 20.
- text(“Score : “+ score, 10, 20); = Menunjukan bahwa tulisan score berada di koordinat 10,20.

7. Codingan jika anda sudah kalah dalam game.
PENJELASAN :
- game over = true = Menunjukan bahwa warna tulisan score adalah kuning.
- background (169,169,169); = Menunjukan bahwa warna dari background layar setelah game over adalah abu-abu.
- textAlign(CENTER); = Menunjukan bahwa tulisan score posisinya ada di kiri layar.
- textSize (25); = Menunjukan bahwa tulisan berukuran 25.
- fill (128,0,128); = Menunjukan bahwa warna dari tulisan adalah ungu.
- text (“GAME OVER”, 500, 125) = Menunjukan bahwa tulisan GAME OVER berada di koordinat 500,125.
- text("Skor Kamu = "+score, 500, 175); = Menunjukan bahwa tulisan Skor Kamu berada di koordinat 500,175 atau di bawah dari tulisan sebelumnya.
- text("Terima Kasih Sudah Bermain ! ", 500, 225); = Menunjukan bahwa tulisan Terima Kasih Sudah Bermain berada di koordinat 500,225.
- text("Game by : ", 500, 275); = Menunjukan bahwa tulisan Game by berada di koordinat 500,275.
- text("Andrian Muljadi - 1670231006 ", 500, 325); = Menunjukan bahwa tulisan Andrian Muljadi – 1670231006 berada di koordinat 500,325.
- text("Informatika Kelas A", 500, 375); = Menunjukan bahwa tulisan Informatika Kelas A berada di koordinat 500,375.

Berikut codingan semuanya guys.




Hasil dari game sederhana yang kita buat tadi.


Saturday, November 25, 2017

Membuat Kalkulator Menggunakan Java GUI

No comments
Membuat Kalkulator Menggunakan Java GUI


Hai teman-teman di postingan kali ini, gua mau share gimana sih cara membuat kalkulator dengan Java GUI, btw ini pas banget sama tugas dari mata kuliah Struktur Data di semester 3 gua. Jadi sekalian aja gua posting cara membuat kalkulator dengan Java GUI.

Oke tanpa berlama-lama kita langsung mulai aja ya.

Oh iya, kalian harus pastikan PC atau Laptop kalian sudah terinstall NetBeans ya. Kalau sudah, mari kita mulai.

PERTAMA, MEMBUAT LAYOUT ATAU TAMPILANNYA
Buatlah layout kalkulator yang kalian inginkan. Tampilan bebas sesuka hati kalian. Berikut contoh layout yang bisa kamu buat :


Layout seperti itu bisa di buat dengan cara drag and drop doang kok gengs, jadi sangat memudahkan kalian dalam berkreasi, oh ya ada di pallete yaaa.

SELANJUTNYA, BERI NAMA SETIAP VARIABLE NAME PADA SETIAP BUTTON
Namai variable namenya sesuai dengan nama button atau komponen yang ada, contohnya button “1” maka berilah variable name “satu” atau button perkalian beri variable name “kali” dan field text beri variable name “layar”. Perhatikan gambar berikut :


LALU, MELAKUKAN ACTION PERFORMED PADA SETIAP KOMPONEN
Nah, setelah kalian mendesain layout untuk kalkulator kalian lakukan double click pada objek atau button-button yang akan diberikan action performed. Lalu masukan perintah masing-masing seperti code dibawah ini :

(UNTUK BUTTON ANGKA 1)
private void satuActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
        layar.setText(layar.getText()+"1");
    }                                    

(UNTUK BUTTON ANGKA 2)
    private void duaActionPerformed(java.awt.event.ActionEvent evt) {                                    
        // TODO add your handling code here:
        layar.setText(layar.getText()+"2");
    }                                   

(UNTUK BUTTON ANGKA 3)
    private void tigaActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
        layar.setText(layar.getText()+"3");
    }                                    

(UNTUK BUTTON ANGKA 4)
    private void empatActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        layar.setText(layar.getText()+"4");
    }                                     

(UNTUK BUTTON ANGKA 5)
    private void limaActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
        layar.setText(layar.getText()+"5");
    }                                    

(UNTUK BUTTON ANGKA 6)
    private void enamActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
        layar.setText(layar.getText()+"6");
    }                                    

(UNTUK BUTTON ANGKA 7)
    private void tujuhActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        layar.setText(layar.getText()+"7");
    }                                     

(UNTUK BUTTON ANGKA 8)
    private void delapanActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here:
        layar.setText(layar.getText()+"8");
    }                                       

(UNTUK BUTTON ANGKA 9)
    private void sembilanActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        layar.setText(layar.getText()+"9");
    }                                        

(UNTUK BUTTON ANGKA 0)
    private void nolActionPerformed(java.awt.event.ActionEvent evt) {                                    
        // TODO add your handling code here:
        layar.setText(layar.getText()+"0");
    }                                   

(UNTUK BUTTON TITIK)
    private void titikActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        layar.setText(layar.getText()+".");
    }                                     

(UNTUK BUTTON KALI)
    private void kaliActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
        a=Float.parseFloat(layar.getText());
        oprasi="kali";
        layar.setText("");
    }                                    

(UNTUK BUTTON SAMA DENGAN)
    private void samadenganActionPerformed(java.awt.event.ActionEvent evt) {                                           
        // TODO add your handling code here:
        if(oprasi=="kali"){
            layar.setText(Float.toString(a*Float.parseFloat(layar.getText())));
        }else if(oprasi=="bagi"){
            layar.setText(Float.toString(a/Float.parseFloat(layar.getText())));
        }else if(oprasi=="tambah"){
            layar.setText(Float.toString(a+Float.parseFloat(layar.getText())));
        }else if(oprasi=="kurang"){
            layar.setText(Float.toString(a-Float.parseFloat(layar.getText())));
        }
    }                                          

(UNTUK BUTTON CLEAR)
    private void clearActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        layar.setText("");
    }                                     

(UNTUK BUTTON BAGI)
    private void bagiActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
        a=Float.parseFloat(layar.getText());
        oprasi="bagi";
        layar.setText("");
    }                                    

(UNTUK BUTTON TAMBAH)
    private void tambahActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
        a=Float.parseFloat(layar.getText());
        oprasi="tambah";
        layar.setText("");
    }                                      

(UNTUK BUTTON KURANG)
    private void kurangActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
        a=Float.parseFloat(layar.getText());
        oprasi="kurang";
        layar.setText("");
    } 

Setelah kalian melakukan performed untuk setiap button, saatnya run program yang telah kalian buat.


Yes, program kalkulator menggunakan Java GUI sudah selesai teman-teman, kalian bebas mengubah warna yang ada di pallete tools.

Kalau kalian ada kesulitan kalian boleh comment di postingan ini kok, secepatnya gua akan bales pertanyaan kalian.

Gua Andrian Signing Out! Cheers!

Friday, November 24, 2017

Hallo Teman-teman !

No comments

HALLO TEMAN-TEMAN !


Hai teman-teman pengunjung setia blog gue hehehe. Sebelumnya gua mau minta maaf banget ya ke kalian semua kalau dalam 1 tahun kemarin blogspot gua sempet vacum alias gak ada updatean sama sekali.

Oke, kalian pasti bertanya-tanya, kemana aja sih bang? kok ga sempet update. Oke" di postingan kali ini gua akan jelasin pertanyaan kalian semua ya.

Alasan pertama adalah gua lagi sibuk kuliah gengs, maklum masih awal-awal masuk kuliah harus adaptasi dulu sama lingkungan kampus, sama mata kuliah yang gua ambil, dll. Yang kedua adalah ya kalian kan tau tuh 3 tahun sebelum 2016 kan gua ngegas terus update postingannya, nah gua pengen rehat dulu sejenak, iya gua sadar banget kok, kalo rehat gua kelamaan banget ya hehehe, alasan yang ketiga adalah tugas-tugas kuliah gua di semester-semester ini rata-rata masih teori itupun bukan tentang informatika, masih umum mata kuliahnya. Mungkin semester-semester depan gua bakalan banyak mata kuliah tentang informatika jadi kalian tunggu aja updatean postingan informatika gue yaa hehehe.

Oh iya, gua juga mau cerita nih gengs, waktu gua vacum ngeblog setahun yang lalu, banyak banget cerita yang gua lewatin loh. Kalian pasti pengen tau dong, gua ngapain aja setahun kemarin?

Oke gua ceritain yaa, tapi singkat aja ya, soalnya ini udah tengah malem pas gua nulis ini hehehe.

September 2016 gua mulai masuk kuliah di Universitas Krisnadwipayana gua ambil Fakultas Teknik jurusan Informatika. Seperti yang kalian semua tau kan dari dulu passion gua emang di IT jadi gua berkomitmen dalam hati gua bahwa gua harus terus terjun harus terus nyemplung bahasa kasarnya di dunia IT gak cuma basah sedikit doang. Ya Puji Tuhan pilihan gua gak salah gengs, gua nyaman sama lingkungan kampus dan setiap mata kuliah yang gua ambil. Waktu terus berlanjut gua sekarang pas lagi nulis postingan ini lagi di semester 3 hehehe, dan IPK gua Puji Tuhan bagus bahkan memuaskan gengs, di semester 1 kemarin gua dapet 3,46 dan semester 2 kemarin gua dapet 3,50 hehehe sangat memuaskan bukan? ya gua tau memang untuk sebagian orang IPK segitu masih kurang, tapi buat gua, segitu aja gua udah bersyukur banget sama Tuhan. Semoga IPK gua sampe semester 8 selalu di atas 3.50 ya gengs kalau bisa mah 4.0 hehehehe. Bagian kita mah tinggal yakin aja, di tambah dengan berdoa dan berusaha dengan keras.

Di tengah-tengah kuliah gua, banyak kegiatan yang gua ikutin, contohnya dari kampus atau yang gua lakuin sendiri. Contoh kegiatan yang gua lakuin dari kampus cukup banyak gengs, dimulai dari Prospek, Introfak (Introducing Faculty), Mabim (Masa Bimbingan), ESPIIMA (ESPIIMA ini acara fakultas gua gengs, jadi 7 Himpunan bersatu buat acara ini, Elektro, Sipil, Planologi, Industri, Informatika, Mesin, Arsitektur), Temu Wicara Informatika 2016 (Nah kalau temu wicara ini adalah acara sendirinya jurusan gua, jadi kayak mahasiswa baru, senior, alumni, dan dosen ngumpul dalam satu forum dan kita berbincang-bincang baik secara pendidikan karakter ataupun berkaitan dengan IT). Oh ya btw gua minggu lalu baru aja jadi panitia acara loh di Temu Wicara Informatika 2017 hehehehe.

Oke sekarang kegiatan yang gua lakuin sendiri, sebenernya kegiatan yang gua lakuin sih liburan hehehe, gua mau cerita sedikit nih gua setahun kemarin kemana aja.

Februari 2017 gua sama temen-temen gua touring motor ke Bandung gengs, lumayan 3 hari 2 malam gua di Bandung.



Lebaran 2016 gua ke Bandung lagi gengs, tapi gua naik kereta sama nyokap gua berdua, ya tujuannya sih refreshing aja hehehehe.

Dan yang spesial dari tahun 2017 ini adalahhhhhh, Puji Tuhan gua di izinin sama Tuhan buat keluar negeri untuk yang pertama kalinya, kalian pasti tau kemana kalau orang pertama kali keluar negeri kunjungi hehehehe, yappp benar! Singapura. Gua agustus kemarin ke Singapura gengs. Sebenernya liburan gua ke Singapura kemarin adalah sebagai bentuk hadiah atau reward buat diri gua sendiri karena udah selesaiin 2 semester awal di bangku kuliah hehehe. Nih ada beberapa fotonya hehehe








Dan sekarang gua lagi fokus kuliah di semester 3 gengs, bentar lagi gua udah mau UAS nih, doain ya gengs supaya kuliah gua lancar, lulus paling lama 4 tahun dan IPK gua di atas rata-rata semuanya. Aminnn.

Gengssss, thank you banget yaa udah mau baca postingan ini, ya walau belum masuk ke materi Informatika, but gua rasa gua perlu buat kayak gini buat intro dan sebagai permintaan maaf gua ke kalian.

So, gausah takut bakalan vacum lagi, gua usahain sebulan sekali pasti ada materi yang gua posting di blog ini. Dan kalian boleh tau nih, sekarang gua lagi ngumpulin materi-materi kuliah semester 1,2 dan 3 yang udah gua pelajarin yang akan gua posting dalam waktu dekat ini.

Gua rasa cukup gengs gua nulisnya udah kepanjangan kayaknya hehehe, thank you banget loh udah mau baca hehehe.

Gua Andrian, Signing out! Cheerssss!