Senin, 26 Oktober 2015

Membuat Program Menggunakan Java dan OpenGL

Membuat tampilan menu beserta output (vertical , horizontal, diagonal (opengl)), menggunakan program Java berikut ini merupakan gambar kodingannya beserta penjelasannya:

1. Pastikan program aplikasi yang dibutuhkan sudah di install dengan anda, disini saya menggunakan     NetBeans IDE 8.2 setelah di buka buat project baru dan buat file baru sesuai nama yang diinginkan     disini dinamakan LineMaker.java yang berisi statement atau kodingan yang menghasilkan program     menu masukkan seperti gambar dibawah ini:
  

import java.util.*;  /*memanggil library untuk fungsi scanner yang berguna untuk inputan*/
import org.lwjgl.LWJGLException; /*memanggil library untuk menjalankan fungsi 
                                    pengecualian pada 'lwjgl'*/
public class LineMaker {
    public static void main(String[] args) throws LWJGLException{
    int pil; /*mendefinisikan variabel pil untuk menerima inputan pilihan user nantinya*/
    Scanner input = new Scanner(System.in); /*membuat fungsi inputan menggunakan fungsi scanner*/
    System.out.println("========Aplikasi Pembuat Garis========"); /*<----|*/ 
    System.out.println("1. Membuat Garis Vertical"); /*<-----------------|*/
    System.out.println("2. Membuat Garis Horizontal"); /*<--membuat teks untuk menu pilihan*/
    System.out.println("3. Membuat Garis Diagonal"); /*<-----------------|*/
    System.out.print("Silahkan Masukan Pilihan yang diinginkan : ");/*<--|*/
    pil = input.nextInt(); /*Menerima inputan user dan memasukannya kedalam variabel 'pil'*/
    switch(pil){  /*memilih kondisi pada 'case' berdasarkan inputan user (misal : 1 untuk case 1)*/
        case 1:
            Vertikal vet = new Vertikal(); /*memanggil class 'Vertikal'*/
            vet.layar(); /*menjalankan fungsi 'layar' pada class 'Vertikal'*/
            break; /*memberhentikan kondisi*/
 
2. Setelah itu buat file baru disini saya memberi nama vertical.java yang berisi untuk menampilkan         output gais vertikal, kemudian masukkan kodingan seperti gambar dibawah ini:
import org.lwjgl.LWJGLException; /*memanggil library untuk menjalankan fungsi pengecualian pada lwjgl*/
import org.lwjgl.opengl.*; /*memanggil library 'lwjgl' untuk menjalankan renderer opengl*/
import java.util.*; /*memanggil library untuk fungsi scanner yang berguna untuk inputan*/
public class Vertikal {
    
    public void layar() throws LWJGLException {
    
        int a,kordin1,kordin2; /*mendefinisikan variabel 'a,kordin1,dan kordin2'*/
        Scanner putin = new Scanner(System.in); /*mendefinisikan fungsi Scanner pada 'putin' untuk menerima input user*/
        System.out.print("Masukan titik awal (x) : ");
        kordin1 = putin.nextInt(); /*input koordinat x*/
        System.out.print("Masukan titik awal (y) : ");
        kordin2 = putin.nextInt(); /*input koordinat y*/
        System.out.print("Masukan Panjang garis yang diinginkan (dalam Pixel) : ");
        a = putin.nextInt(); /*menerima input user dan memasukannya kedalam variabel 'a' yang akan digunakan sebagai panjang
                               dari garis yang akan dibuat*/
 
3. Kemudian buat file baru lagi untuk membuat tampilan output horizontal, masukkan seperti gambar     dibawah ini:

import org.lwjgl.LWJGLException; /*memanggil library untuk menjalankan fungsi pengecualian pada lwjgl*/
import org.lwjgl.opengl.*; /*memanggil library 'lwjgl' untuk menjalankan renderer opengl*/
import java.util.*; /*memanggil library untuk fungsi scanner yang berguna untuk inputan*/
public class Horizontal {
    
    public void layar() throws LWJGLException {
    
        int a,kordin1,kordin2; /*mendefinisikan variabel 'a,kordin1,dan kordin2'*/
        Scanner putin = new Scanner(System.in); /*mendefinisikan fungsi Scanner pada 'putin' untuk menerima input user*/
        System.out.print("Masukan titik awal (x) : ");
        kordin1 = putin.nextInt(); /*input koordinat x*/
        System.out.print("Masukan titik awal (y) : ");
        kordin2 = putin.nextInt(); /*input koordinat y*/
        System.out.print("Masukan Panjang garis yang diinginkan (dalam Pixel) : ");
        a = putin.nextInt(); /*menerima input user dan memasukannya kedalam variabel 'a' yang akan digunakan sebagai panjang
                               dari garis yang akan dibuat*/
        
        try {
   Display.setDisplayMode(new DisplayMode(300,300)); /*membuat sebuah jendela rendering dengan seting luas 
                                                                layar = 300x300*/
            Display.setTitle("Garis Horizontal"); /*mengubah nama jendela rendering menjadi "Garis Horizontal"*/
   Display.create(); /*membuat jendela rendering*/
} catch (LWJGLException e) {
   System.exit(0); /*mencegah jendela rendering tertutup apabila tidak ada aktivitas pada library LWJGL*/
}
        GL11.glMatrixMode(GL11.GL_PROJECTION);
GL11.glLoadIdentity();                       /*memanggil opengl sebagai renderer (bagian ini gak yakin sih -_-)*/
GL11.glOrtho(0, 800, 0, 600, 1, -1);
GL11.glMatrixMode(GL11.GL_MODELVIEW);
        
        while (!Display.isCloseRequested()) { /*mencegah jendela renderer tertutup kecuali ditutup sendiri oleh user*/
            
           GL11.glBegin(GL11.GL_QUADS); /*memanggil fungsi 'GL_QUADS untuk merender berdasarkan 4 titik yang ditentukan*/
       GL11.glVertex2f(kordin1,kordin2); /*titik awal*/
GL11.glVertex2f(kordin1,kordin2+5); /*titik awal, pada sumbu y sengaja diberi jeda agar mempertebal garis 
                                                      yang akan dibentuk*/
GL11.glVertex2f(kordin1+a,kordin2+5); /*titik akhir, pada sumbu x variabel akan ditambahkan 'a' yang sesuai 
                                                       dengan inputan user dan pada sumbu y sengaja diberi jeda agar 
                                                       mempertebal garis yang akan dibentuk*/
GL11.glVertex2f(kordin1+a,kordin2);  /*titik akhir, pada sumbu x variabel akan ditambahkan 'a' yang sesuai 
                                                       dengan inputan user*/
   GL11.glEnd(); /*mengakhiri proses render*/
            Display.update(); 
        }
    }
}
4. Setelah itu buat file lagi dan saya menamakan diagonal.java yang berisi kodingan atau statement         untuk menampilkan tampilan garis diagonal,berikut ini gambarnya:
 
import org.lwjgl.LWJGLException; /*memanggil library untuk menjalankan fungsi pengecualian pada lwjgl*/
import org.lwjgl.opengl.*; /*memanggil library 'lwjgl' untuk menjalankan renderer opengl*/
import java.util.*; /*memanggil library untuk fungsi scanner yang berguna untuk inputan*/
public class Diagonal {
    
    public void layar() throws LWJGLException {
    
        int a,kordin1,kordin2; /*mendefinisikan variabel 'a,kordin1,dan kordin2'*/
        Scanner putin = new Scanner(System.in); /*mendefinisikan fungsi Scanner pada 'putin' untuk menerima input user*/
        System.out.print("Masukan titik awal (x) : ");
        kordin1 = putin.nextInt(); /*input koordinat x*/
        System.out.print("Masukan titik awal (y) : ");
        kordin2 = putin.nextInt(); /*input koordinat y*/
        System.out.print("Masukan Panjang garis yang diinginkan (dalam Pixel) : ");
        a = putin.nextInt(); /*menerima input user dan memasukannya kedalam variabel 'a' yang akan digunakan sebagai panjang
                               dari garis yang akan dibuat*/
        
        try {
   Display.setDisplayMode(new DisplayMode(300,300)); /*membuat sebuah jendela rendering dengan seting 
                                                                luas layar = 300x300*/
            Display.setTitle("Garis Diagonal"); /*mengubah nama jendela rendering menjadi "Garis Diagonal"*/
   Display.create(); /*membuat jendela rendering*/
} catch (LWJGLException e) {
   System.exit(0); /*mencegah jendela rendering tertutup apabila tidak ada aktivitas pada library LWJGL*/
}
        GL11.glMatrixMode(GL11.GL_PROJECTION);
GL11.glLoadIdentity();                  /*memanggil opengl sebagai renderer (bagian ini gak yakin sih -_-)*/  
GL11.glOrtho(0, 800, 0, 600, 1, -1);
GL11.glMatrixMode(GL11.GL_MODELVIEW);
        
        while (!Display.isCloseRequested()) { /*mencegah jendela renderer tertutup kecuali ditutup sendiri oleh user*/
            
          GL11.glBegin(GL11.GL_QUADS);
       GL11.glVertex2f(kordin1,kordin2); /*titik awal*/
GL11.glVertex2f(kordin1-5,kordin2); /*titik awal, pada sumbu x sengaja diberi jeda untuk mempertebal garis*/
GL11.glVertex2f(kordin1+a-5,kordin2+a); /*titik akhir, pada sumbu x dan y variabel akan ditambahkan 'a' yang 
                                                        sesuai dengan inputan user dan pada sumbu x sengaja diberi jeda untuk
                                                        mempertebal garis*/
GL11.glVertex2f(kordin1+a,kordin2+a); /*titik akhir, pada sumbu x dan y variabel akan ditambahkan 'a' yang 
                                                        sesuai dengan inputan user*/
   GL11.glEnd();  /*mengakhiri proses render*/
            Display.update();
        }
    }
}
5. Setelah itu kita dapat melihat hasil program yang kita buat  jangan lupa untuk mengcompilenya           terlebih dahulu lalu tekan f5, maka output akan menampilkan seperti gambar di bawah ini:
    File ini yang hasil dari tampilan file LineMaker.java kita menginput omer menu berapa yang akan       kita pilih

 maka setelah muncul case kita akan memilih sesuai yang kita inginkan maka akan menghasilkan gambar seperti berikut :
- Gambar Diagonal

-Gambar Horizontal

- Gambar Vertikal
sekian yang bisa saya jabarkan kurang lebihnya saya mohon maaf. terimakasih atas perhatiannya :)

Tidak ada komentar:

Posting Komentar