Sabtu, 02 Mei 2015

Sudah Diputuskan

Hari ini sudah diputuskan, entahlah apakah topik teknik peramalan akan susah nantinya atau mudah(mungkin) tapi yang pasti saya akan maju terus. Cukup lama bagi saya untuk membuat keputusan tersebut, dengan berbagai pertimbangan(meski kebanyakan takutnya sebenarnya :p).
Jujur saja ini pertama kalinya saya menggunakan metode dalam skripsi (ya iyalah, saya kan baru pertama kali membuat skripsi). Dengan mengambil topik peramalan ini saya harap bisa banyak belajar dan cepat belajar. Tapi tidak ada yang mudah di dunia ini kan? Tidak ada yang benar benar susah juga, dan yang terpenting adalah berani sedikit mengambil tantangan. So don't pessimist, everything will be okay in the end, if it's not okay it's not the end.
Jadi mari kita tunggu kelanjutannya.

Senin, 20 April 2015

Membuat Helloworld Di Bahasa Pemrograman Java

Pertama tama komputer kalian harus sudah terinstal Java Development Kit(JDK) terlebih dahulu. Untuk download jdk langsung dari officialnya dapat di download dari link berikut ini
Kemudian setelah komputer kalian terisntal java maka langkah selanjutnya adalah membuat Environment Variable dengan cara klik kanan pada My Computer kemudian pilih properties. Lalu pilih Advanced System Settings

Kemudian pilih Environment Variables

Kemudian pilih New pada user variable for Nama_Komputermu

Kemudian pada variabel name beri nama Path, pada variable value masukkan destinasi atau tempat kalian menginstal jdk yang telah kalian instal tadi.


Kemudian klik ok. Lalu pada environment variables klik ok lagi, lalu pada system properties klik ok lagi. Kalian siap untuk menggunakan java sekarang. Untuk mengeceknya silahkan membuka command prompt kemudian ketik javac. Jika tampilannya seperti dibawah ini maka kalian telah berhasil instal jdk dan melakukan configurasi java.

Lets coding now.............!!!!!!!!!
Ok, pertama tama saya ingin memberitahukan bahwa pada tutorial kali ini saya akan menggunakan command prompt untuk melakukan running terhadap code yang saya buat. Dan untuk editor saya sendiri menggunakan notepad++.
Dibawah ini adalah code untuk membuat Hello World di bahas pemrograman java
public class helloworld
{
public static void main(String[] args)
{
System.out.println("Hello World");
}
}
Adapun untuk nama filenya harus sama dengan nama yang ada pada public class yang terdapat pada code diatas. Jadi apapun nama pada public class maka nama filenya harus sama dengan yang tertulis pada public class tersebut.
System.out.println berguna untuk menampilkan apa yang dibuat ke layar ketika di run. Kemudian save dengan file bertipe .java
Lets running the code........
Pertama tama kalian harus membuka command prompt terlebih dahulu, kemudian masuk ke dalam direktori tempat kalian menyimpan file.java yang telah kalian save sebelumnya. Kemudian ketik javac nama_file_kalian.java, lalu tekan enter. Kemudian ketik : java nama_file_kalian, kemudian tekan enter. Maka akan muncul tulisan Hello World dilayar.

Ok, sekian tutorial kali ini. See you in the next post.

Minggu, 19 April 2015

Membuat Game Sederhana Menggunakan Bahasa Pemrograman Java

Pertama - tama saya disini menggunakan Net Bean 7.4 untuk membuat game sederhana ini. Saya asumsikan net bean sudah terinstal dilaptop atau komputer kalian. Lets code
Create Project dengan klik menu file kemudian pilih new project.

Lalu pada categories pilih java dan pada project pilih java application kemudian klik next. Kemudian pada nama project silahkan isikan nama project kalian. Destinasi tempat menyimpan file project dapat kalian ubah. Lalu klik finish.

Project telah berhasil dibuat. Lalu klik tanda tambah yang ada disamping nama_project kalian, kemudian klik tanda tambah pada source packages kemudian klik tanda tambah lagi disamping nama_project kalian, akan muncul nama_project.java. Klik kanan pada nama_project.java lalu pilih refactor, kemudian pilih safely delete.
Next step klik kanan pada nama_project yang terdapat simbol kotak disampingnya, kemudian pilih new, lalu pilih Java Class. Berikan nama class sesuai keinginan kalian. Kemudian klik finish. Class yang dibuat ini digunakan untuk handle bola yang akan dibuat.

Kemudian copy coding ini pada class yang baru saja kalian buat.
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Rectangle;

Letakkan code tersebut dibawah nama_project kalian. Lalu pada void nama_class letakkan coding sebagai berikut
//Variabel-variabel
public int posX;
public int posY;
public int kecepatanX;
public int kecepatanY;
public int diameter;
public Rectangle rectBola;

lalu buat konstruktor dari bolanya
//Konstruktor
public Bola(int x, int y, int kX, int kY, int d)
{
this.posX = x;
this.posY = y;
this.kecepatanX = kX;
this.kecepatanY = kY;
this.diameter = d;
rectBola = new Rectangle(x, y, d, d);
}
kemudian buat logic untuk bola itu sendiri
//Update logic bola
public void updateBola()
{
posX += kecepatanX;
posY += kecepatanY;
rectBola.setLocation(posX, posY);
}
Last of this class yaitu menggambar bolanya
//Menggambar bola
public void paintBola(Graphics g)
{
g.setColor(Color.RED);
g.fillOval(posX, posY, diameter, diameter);
}

Secara keseluruhan coding yang ada dalam class bola yang dibuat adalah sebagai berikut
package gameprogramming;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Rectangle;

public class Bola {
/**
*
* @author Dreamers
*/

//Variabel-variabel
public int posX;
public int posY;
public int kecepatanX;
public int kecepatanY;
public int diameter;
public Rectangle rectBola;

//Konstruktor
public Bola(int x, int y, int kX, int kY, int d)
{
this.posX = x;
this.posY = y;
this.kecepatanX = kX;
this.kecepatanY = kY;
this.diameter = d;
rectBola = new Rectangle(x, y, d, d);
}

//Update logic bola
public void updateBola()
{
posX += kecepatanX;
posY += kecepatanY;
rectBola.setLocation(posX, posY);
}

//Menggambar bola
public void paintBola(Graphics g)
{
g.setColor(Color.RED);
g.fillOval(posX, posY, diameter, diameter);
}
}


Next Step adalah membuat papan yang digunakan dalam permainan. Caranya sama dengan cara create class untuk bola tadi. Buat nama class sesuai keinginan kalian and lets make code
Pertama tama lakukan import library terlebih dahulu
import java.awt.*;
letakkan code tersebut dibawah package nama_project. Saya menggunakan tanda * untuk menggunakan semua library java.awt.
kemudian kita membuat variabel variabel yang mungkin digunakan pada class ini. Code berikut letakkan dibawah nama class yang kalian buat
public int posX;
public int posY;
public int kecepatanY;
public int lebar;
public int tinggi;
public Rectangle rectPapan;
code tersebut harus masih di dalam public class nama_class, masih didalam tanda kurung yang menjadi penanda class.

Kemudian kita membuat konstruktor papan. Code ini juga masih dalam public class nama_class.
public papan(int x, int y, int ky, int l, int t)
{
//konstruktor
this.posX = x;
this.posY = y;
this.kecepatanY = ky;
this.lebar = l;
this.tinggi = t;
rectPapan = new Rectangle(x, y, l, t);
}

Kemudian kita membuat update logic untuk papan yang ingin dibuat, dan masih di dalam public class nama_class.
public void updatePapan()
{
//update logic papan
posY += kecepatanY;
rectPapan.setLocation(posX, posY);
}

And the end of this class is to painting. Disini kita membuat koding untuk menggambar papan.
public void paintPapan(Graphics g)
{
//menggambar papan
g.setColor(Color.BLUE);
g.fillRect(posX, posY, lebar, tinggi);
}

Berikut adalah coding keseluruhan dalam class papan
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/

package gameprogramming;

import java.awt.*;

/**
*
* @author Dreamers
*/
public class papan {
//Variabel variabel
public int posX;
public int posY;
public int kecepatanY;
public int lebar;
public int tinggi;
public Rectangle rectPapan;

public papan(int x, int y, int ky, int l, int t)
{
//konstruktor
this.posX = x;
this.posY = y;
this.kecepatanY = ky;
this.lebar = l;
this.tinggi = t;
rectPapan = new Rectangle(x, y, l, t);
}

public void updatePapan()
{
//update logic papan
posY += kecepatanY;
rectPapan.setLocation(posX, posY);
}

public void paintPapan(Graphics g)
{
//menggambar papan
g.setColor(Color.BLUE);
g.fillRect(posX, posY, lebar, tinggi);
}

}

So we already make 2 class, lets make the frame now.
Cara membuat frame adalah sama dengan membuat class tadi hanya saja ketika pilih new kita tidak memilih java class melainkan JFrame Form. Silahkan memberikan nama JFrame Form sesuai keinginan. Berikut adalah coding secara keseluruhan dari JFrame Form yang kalian buat
package gameprogramming;
import java.awt.*;
import java.awt.event.*;
import javax.swing.Timer;

//Layar Utama Game
public class LayarUtama extends javax.swing.JFrame {

//Variabel-variabel
Timer tmr;
Bola bolaku;
papan papan1;
papan papan2;


//Konstruktor
public LayarUtama() {
initComponents();
bolaku = new Bola(200, 100, 3, 3, 30);
papan1 = new papan(10, 100, 0, 10, 100);
papan2 = new papan(670, 100, 0, 10, 100);
//Timer digunakan untuk me-looping game
tmr = new Timer(10, new ActionListener() {
public void actionPerformed(ActionEvent e) {
updateLogic();
repaint();
}
});
tmr.start();
}

/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
//
private void initComponents() {

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
formKeyPressed(evt);
}
public void keyReleased(java.awt.event.KeyEvent evt) {
formKeyReleased(evt);
}
});

org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(0, 675, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(0, 356, Short.MAX_VALUE)
);

pack();
}//


private void formKeyPressed(java.awt.event.KeyEvent evt) {
if (evt.getKeyCode() == KeyEvent.VK_Q)
papan1.kecepatanY = -10;
if (evt.getKeyCode() == KeyEvent.VK_A)
papan1.kecepatanY = 10;

if (evt.getKeyCode() == KeyEvent.VK_P)
papan2.kecepatanY = -10;
if (evt.getKeyCode() == KeyEvent.VK_L)
papan2.kecepatanY = 10;// TODO add your handling code here:
}

private void formKeyReleased(java.awt.event.KeyEvent evt) {
if (evt.getKeyCode() == KeyEvent.VK_Q)
papan1.kecepatanY = 0;
if (evt.getKeyCode() == KeyEvent.VK_A)
papan1.kecepatanY = 0;

if (evt.getKeyCode() == KeyEvent.VK_P)
papan2.kecepatanY = 0;
if (evt.getKeyCode() == KeyEvent.VK_L)
papan2.kecepatanY = 0;// TODO add your handling code here:
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new LayarUtama().setVisible(true);
}
});
}

@Override
public void paint(Graphics g)
{
super.paint(g);
bolaku.paintBola(g);
papan1.paintPapan(g);
papan2.paintPapan(g);
}

public void updateLogic()
{
bolaku.updateBola();
papan1.updatePapan();
papan2.updatePapan();
//Jika bola menyentuh tepi form, maka pantulkan bola
if (bolaku.posX > this.getX() + this.getWidth() - bolaku.diameter || bolaku.posX < this.getX()) //if (bolaku.posX > this.getX() + this.getWidth() - bolaku.diameter)
{
bolaku.kecepatanX *= -1;
}
if (bolaku.posY > this.getY() + this.getHeight() - bolaku.diameter || bolaku.posY < this.getY()) //if (bolaku.posY > this.getY() + this.getHeight() - bolaku.diameter)
{
bolaku.kecepatanY *= -1;
}
if (papan1.posY < this.getY()) papan1.posY = this.getY(); if (papan1.posY > this.getY()+
this.getHeight() - papan1.tinggi)
papan1.posY = this.getY() +
this.getHeight() - papan1.tinggi;
if (bolaku.rectBola.intersects(papan1.rectPapan))
{
bolaku.kecepatanX *= -1;
}

if (papan2.posY < this.getY()) papan2.posY = this.getY(); if (papan2.posY > this.getY()+
this.getHeight() - papan2.tinggi)
papan2.posY = this.getY() +
this.getHeight() - papan2.tinggi;
if (bolaku.rectBola.intersects(papan2.rectPapan))
{
bolaku.kecepatanX *= -1;
}
}

// Variables declaration - do not modify
// End of variables declaration

}

Berikut adalah hasil ketika project di run


Okay its done already. Semoga bisa membantu bagi yang ingin belajar.
So see you in the next post. Keep reading my blog and enjoy reading.
Lets learn together.

Selasa, 17 Maret 2015

Untuk Kesekian Kalinya..................

Entah sudah berapa kali aku mengatakan ingin move on, tapi selalu tidak berhasil. Pertanyaan dikepala selalu terdengar seperti hantu yang terus menurus bertanya, kapan move on? Segitu beratkah?
Iya sangat berat bagiku. Begitu biasanya jawabanku. Tapi pertanyaan tersebut tetap muncul dikepalaku dan selalu menanyakan hal yang sama. Entah kapan aku bisa benar benar move on. Wanita itu selalu susah aku lupakan, bagaimanapun juga, dia yang selalu ada disampingku sejak lama, kami memang tidak pacaran, seperti sahabatan bisa dibilang. Tapi dari sahabatan itulah menjadi cinta. Terdengar seperti disinetron y? :D
Tapi kali ini mudah mudahan adalah starting point buatku untuk benar benar melangkah kedepan. Seperti novel karya Raditya Dika dengan judul Koala Kumal yang aku baca beberapa hari ini, istilah untuk orang yang pernah merasakan bagaimana rasanya patah hati adalah dewasa. Dan terkadang orang akan berubah cara pandangnya terhadap cinta ketika mengalami patah hati, terutama patah hati yang hebat. Mungkin pandanganku tentang cinta belum berubah, setidaknya itu yang aku sadari, karena tidak menutup kemungkinan juga jika sebenarnya pandanganku akan cinta sudah berubah tanpa aku sadari. Terkadang memang kita tidak bisa merasakan perubahan dalam diri kita, tidak sebelum ada yang memberi tahu kita bahwa kita telah berubah.
Ya mungkin aku ada pilihan untuk terus berjuang seperti yang dilakukan bule dalam novel tersebut bahwa meskipun dia tahu bahwa dia dimanfaatkan oleh wanita thailand itu tapi dia memilih untuk berjuang, meski dia tahu sejak awal bahwa dia akan patah hati tapi dia tetap berjuang. Mau tahu kenapa? Karena resikonya sepadan. Tapi sepertinya aku lebih baik mulai menata hidupku kembali karena ketika dipikir kembali, hidupku sudah cukup berantakan akhir akhir ini dan aku tidak ingin hidupku lebih berantakan lagi. Maka dari itu aku harus move on dan mengembalikan semangatku yang dulu, semangat yang membuatku merasa dunia itu tidak sempit, bahwa dengan terus berusaha maka aku akan mendapatkan banyak warna dalam hidupku. Yang membuatku menyadari bahwa hidup itu indah, meski disaat terpuruk pun, hidup masih terasa indah. Karena adalah pilihan untuk tersenyum atau menangis, tapi penderitaan adalah mutlak.

Oke ini sudah terlalu panjang. sekian dulu, dan mudah mudahan postinganku selanjutnya bukan curhatan tentang cinta lagi.
Sayonara..........

Kamis, 05 Februari 2015

Entah Bagaimana Menjelaskannya

Hari ini terasa sangat menyedihkan bagiku. Bukan karena cinta, bukan karena kuliah(meski agak sedikit nyambung sih), bukan juga karena teman. Tapi karena aku sendiri merasa seperti tidak berguna dan benar benar hanya bisa memberikan impian demi impian yang entah kapan bisa terealisasi. Aku seperti mengatakan omong kosong belaka. Entah bagaimana caranya aku bisa memperbaikinya, tapi jujur ini sangat menggangguku. Setidaknya aku ingin sedikit meringankan, dan jika bisa aku ingin berkontribusi juga.
Ah.....aku benar benar anak durhaka jika terus terusan seperti ini. Benar benar emergency changing ini, jika tidak maka aku akan dihantui perasaan bersalah, perasaan malu, perasaan kecewa, marah, dan banyak lagi perasaan yang lainnya. Let's see how I can handle and solve this.