Minggu, 13 November 2016

Membuat Garis Vertikal, Horizontal dan Diagonal Menggunakan Java dan Opengl

Cara Membuat Garis Vertikal, Horizontal dan Diagonal Menggunakan Java dan Opengl
Disini saya akan membuat program garis vertikal, horizontal dan diagonal menggunakan java (NetBeans IDE 8.0.2) dan opengl.kalian bisa download disini Cara Memakai Aplikasi Java Menu dan Program nya ada Disini

OpenGl mempunyai tujuan yang diantaranya:

*Untuk tidak menampilkan kompleksitas dari interfacing dengan berbagai 3D accelerators,
ditunjukan oleh programmer dengan satu, seragam API.
*Untuk tidak menampilkan kemampuan yang berbeda dari hardware platform, karena semua yang mendukung implementasi penuh fitur opengl set (menggunakan software
emulation jika dibutuhkan).

Tahap 1


Buka NetBeans, kemudian buat new project dan new file. Beri nama file sesuai yang diinginkan. Di file pertama ini saya beri nama LineMaker. File ini digunakan untuk membuat menu pilihan. Lalu ketik kodingannya seperti pada gambar 1.




Penjelasan :

import java.util.*;  yaitu memanggil library untuk fungsi scanner yang berguna untuk inputan.
import org.lwjgl.LWJGLException; yaitu memanggil library untuk menjalankan fungsi pengecualian pada 'lwjgl'.

public class LineMaker { yaitu public class yang digunakan pada program ini adalah “LineMaker”.
public static void main(String[] args) throws LWJGLException{ yaitu merupakan statemen yang digunakan untuk membuat argumen dengan menggunakan variabel.

int pil; yaitu mendefinisikan variabel pil untuk menerima inputan pilihan user nantinya.
Scanner input = new Scanner(System.in); yaitu membuat fungsi inputan menggunakan fungsi scanner.

System.out.println("========Aplikasi Pembuat Garis========");yaitu mencetak teks yang ada dalam tanda kutip.

System.out.println("1. Membuat Garis Vertical"); yaitu mencetak teks yang ada dalam tanda kutip.
System.out.println("2. Membuat Garis Horizontal"); yaitu mencetak teks yang ada dalam tanda kutip.
System.out.println("3. Membuat Garis Diagonal"); yaitu mencetak teks yang ada dalam tanda kutip.
System.out.print("Silahkan Masukan Pilihan yang diinginkan : "); yaitu mencetak teks yang ada dalam tanda kutip.

pil = input.nextInt(); yaitu menerima inputan user dan memasukannya kedalam variabel 'pil'.
switch(pil){  yaitu memilih kondisi pada 'case' berdasarkan inputan user (misal : 1 untuk case 1).

case 1:

Vertikal vet = new Vertikal(); yaitu memanggil class 'Vertikal'.
vet.layar(); yaitu menjalankan fungsi 'layar' pada class 'Vertikal'.
break; yaitu memberhentikan kondisi.

case 2:

Horizontal hoz = new Horizontal(); yaitu memanggil class 'Horizontal'.
hoz.layar(); yaitu menjalankan fungsi 'layar' pada class 'Horizontal'.
break; yaitu memberhentikan kondisi.

case 3:

Diagonal dig = new Diagonal(); yaitu memanggil class 'Diagonal.
dig.layar(); yaitu menjalankan fungsi 'layar' pada class 'Diagonal.
break; yaitu memberhentikan kondisi.
default:

System.out.println("Pilihan yang anda pilih salah!!"); yaitu memunculkan pesan apabila input pada pil tidak sesuai dengan case yang ada.
} yaitu untuk mengakhiri statemen.
} yaitu untuk mengakhiri statemen.
} yaitu untuk mengakhiri statemen.

Tahap 2

Jika sudah selesai membuat file pertama, buat kembali file baru di project yang sama dan beri nama file sesuai keinginan. File ke-2 disini saya beri nama Vertikal. File ini digunakan untuk membuat garis vertikal. Lalu ketik kodingannya seperti pada gambar 2.


Penjelasan :

import org.lwjgl.LWJGLException; yaitu memanggil library untuk menjalankan fungsi pengecualian pada lwjgl.

import org.lwjgl.opengl.*; yaitu memanggil library 'lwjgl' untuk menjalankan renderer opengl.

import java.util.*; yaitu memanggil library untuk fungsi scanner yang berguna untuk inputan.

public class Vertikal { yaitu public class yang digunakan pada program ini adalah “Vertical”.

public void layar() throws LWJGLException { yaitu merupakan statemen yang digunakan untuk 

membuat argumen dengan menggunakan variabel.

int a,kordin1,kordin2; yaitu mendefinisikan variabel 'a,kordin1,dan kordin2'.

Scanner putin = new Scanner(System.in); yaitu mendefinisikan fungsi Scanner pada 'putin' untuk 
menerima input user.

System.out.print("Masukan titik awal (x) : "); yaitu mencetak teks yang ada dalam tanda kutip.

kordin1 = putin.nextInt(); yaitu untuk menginput kordin1 (koordinat x).

System.out.print("Masukan titik awal (y) : "); yaitu mencetak teks yang ada dalam tanda kutip.

kordin2 = putin.nextInt(); yaitu untuk menginput kordin2 (koordinat y).

System.out.print("Masukan Panjang garis yang diinginkan (dalam Pixel) : "); yaitu mencetak teks yang ada dalam tanda kutip.

a = putin.nextInt(); yaitu 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)); yaitu membuat sebuah jendela rendering dengan seting luas layar = 300x300.

Display.setTitle("Garis Vertikal"); yaitu mengubah nama jendela rendering menjadi "Garis Vertikal".

Display.create(); yaitu membuat jendela rendering.
} catch (LWJGLException e) {

System.exit(0); yaitu mencegah jendela rendering tertutup apabila tidak ada aktivitas pada library LWJGL.

} yaitu untuk mengakhiri statemen.

GL11.glMatrixMode(GL11.GL_PROJECTION);
GL11.glLoadIdentity(); yaitu memanggil opengl sebagai renderer.
GL11.glOrtho(0, 800, 0, 600, 1, -1);
GL11.glMatrixMode(GL11.GL_MODELVIEW);

while (!Display.isCloseRequested()) { yaitu mencegah jendela renderer tertutup kecuali ditutup sendiri oleh user.

GL11.glBegin(GL11.GL_QUADS); yaitu memanggil fungsi 'GL_QUADS untuk merender berdasarkan 4 titik yang ditentukan.
GL11.glVertex2f(kordin1,kordin2); yaitu titik awal.
GL11.glVertex2f(kordin1+5,kordin2); yaitu titik awal, pada sumbu x sengaja diberi jeda agar mempertebal garis yang akan dibentuk.
GL11.glVertex2f(kordin1+5,kordin2+a); yaitu titik akhir, pada sumbu x sengaja diberi jeda agar mempertebal garis yang akan dibentuk.
GL11.glVertex2f(kordin1,kordin2+a); yaitu titik akhir, pada sumbu y variabel akan ditambahkan 'a' yang sesuai dengan inputan user.
GL11.glEnd();  yaitu mengakhiri proses render.
Display.update();
} yaitu untuk mengakhiri statemen.
} yaitu untuk mengakhiri statemen.
} yaitu untuk mengakhiri statemen.

Tahap 3

Jika sudah selesai membuat file ke-2, buat kembali file baru di project yang sama dan beri nama file sesuai keinginan. File ke-3 disini saya beri nama Horizontal. File ini digunakan untuk membuat garis horizontal. Lalu ketik kodingannya seperti pada gambar 3.
Penjelasan :

import org.lwjgl.LWJGLException; yaitu memanggil library untuk menjalankan fungsi pengecualian pada lwjgl.

import org.lwjgl.opengl.*; yaitu memanggil library 'lwjgl' untuk menjalankan renderer opengl.

import java.util.*; yaitu memanggil library untuk fungsi scanner yang berguna untuk inputan.

public class Horizontal { yaitu public class yang digunakan pada program ini adalah “Horizontal”.

public void layar() throws LWJGLException { yaitu merupakan statemen yang digunakan untuk 

membuat argumen dengan menggunakan variabel.

int a,kordin1,kordin2; yaitu mendefinisikan variabel 'a,kordin1,dan kordin2'.

Scanner putin = new Scanner(System.in); yaitu mendefinisikan fungsi Scanner pada 'putin' untuk 
menerima input user.

System.out.print("Masukan titik awal (x) : "); yaitu mencetak teks yang ada dalam tanda kutip.
kordin1 = putin.nextInt(); yaitu untuk menginput kordin1 (koordinat x).

System.out.print("Masukan titik awal (y) : "); yaitu mencetak teks yang ada dalam tanda kutip.

kordin2 = putin.nextInt(); yaitu untuk menginput kordin2 (koordinat y).

System.out.print("Masukan Panjang garis yang diinginkan (dalam Pixel) : "); yaitu mencetak teks yang ada dalam tanda kutip.

a = putin.nextInt(); yaitu 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)); yaitu membuat sebuah jendela rendering dengan seting luas layar = 300x300.

Display.setTitle("Garis Horizontal"); yaitu mengubah nama jendela rendering menjadi "Garis Horizontal"

Display.create(); yaitu membuat jendela rendering.
} catch (LWJGLException e) {

System.exit(0); yaitu mencegah jendela rendering tertutup apabila tidak ada aktivitas pada library LWJGL.

} yaitu untuk mengakhiri statemen.

GL11.glMatrixMode(GL11.GL_PROJECTION);
GL11.glLoadIdentity(); yaitu memanggil opengl sebagai renderer.
GL11.glOrtho(0, 800, 0, 600, 1, -1);
GL11.glMatrixMode(GL11.GL_MODELVIEW);

while (!Display.isCloseRequested()) { yaitu mencegah jendela renderer tertutup kecuali ditutup sendiri oleh user.
GL11.glBegin(GL11.GL_QUADS); yaitu memanggil fungsi 'GL_QUADS untuk merender berdasarkan 4 titik yang ditentukan.
GL11.glVertex2f(kordin1,kordin2); yaitu titik awal.
GL11.glVertex2f(kordin1,kordin2+5); yaitu titik awal, pada sumbu y sengaja diberi jeda agar mempertebal garis yang akan dibentuk.
GL11.glVertex2f(kordin1+a,kordin2+5); yaitu 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);  yaitu titik akhir, pada sumbu x variabel akan ditambahkan 'a' yang sesuai dengan inputan user.
GL11.glEnd(); yaitu mengakhiri proses render.
Display.update();
} yaitu untuk mengakhiri statemen.
} yaitu untuk mengakhiri statemen.
} yaitu untuk mengakhiri statemen.

Tahap 4

Jika sudah selesai membuat file ke-3, buat kembali file baru di project yang sama dan beri nama file sesuai keinginan. File ke-4 disini saya beri nama Diagonal. File ini digunakan untuk membuat garis diagonal. Lalu ketik kodingannya seperti pada gambar 4.
Penjelasan :
Import org.lwjgl.LWJGLException; yaitu memanggil library untuk menjalankan fungsi pengecualian pada lwjgl.

Import org.lwjgl.opengl.*; yaitu memanggil library ‘lwjgl’ untuk menjalankan rendere opengl.

Import java.util.*; yaitu memanggil library untuk fungsi scanner yang berguna untuk inputan.

Pubilc class Diagonal { yaitu public class yang digunakan pada program ini adalah “Diagonal”.

Public void layar() throws LWJGLException { yaitu merupakan statemen yang digunakan untuk membuat argumen dengan menggunakan variabel.

Int a, kordin1, kordin2; yaitu mendefinisikan variabel ‘a, kordin1, dan kordin2.

Scanner putin = new Scanner(System.in); yaitu mendefinisikan fungsi Scanner pada ‘putin’ untuk menerima input user.

System.out.print(“Masukan titik awal (x) : “); yaitu mencetak teks yang ada dalam tanda kutip.
Kordin1 = putin.nextInt(); yaitu untuk menginput kordin1 (koordinat x)

System.out.print(“Masukan titik awal (y) : “); yaitu mencetak teks yang ada dalam tanda kutip.
Kordin2 = putin.nextInt(); yaitu untuk menginput kordin2 (koordinat y)

System.out.print(“Masukan panjang garis yang diinginkan (dalam pixel) : “); yaitu mencetak teks yang ada dalam tanda kutip.

a = putin.nextInt(); yaitu 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)); yaitu membuat sebuah jendela rendering dengan seting luas layar = 300x300.

Display.setTitle(“Garis Diagonal”); yaitu mengubah nama jendela rendering menjadi “Garis Diagonal”

Display.create(); yaitu membuat jendela rendering.
} catch (LWJGLException e) {
System.exit(0); yaitu mencegah jendela rendering tertutup apabila tidak ada aktifitas pada library LWJGL.
} yaitu untuk mengakhiri statemen.
GL11.glMatrixMode(GL11.GL_PROJECTION);
GL11.glLoadIdentity(); yaitu memanggil opengl sebagai renderer.
GL11.glOrtho(0, 800, 0, 600, 1, -1);
GL11.glMartixMode(GL11.GL_MODELVIEW);
While (!Display.isCloseRequested()) { yaitu mencegah jendela renderer tertutup kecuali ditutup sendiri oleh user.
GL11.glBegin(GL11.GL_QUADS);
GL11.glVertex2f(kordin1, kordin2); yaitu titik awal.
GL11.glVertex2f(kordin1-5, kordin2); yaitu titik awal, pada sumbu x sengaja diberi jeda untuk mempertebal garis.
GL11.glVertex2f(koordin1+a-5, kordin2+a); yaitu 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); yaitu titik akhir, pada sumbu x dan y variabel akan ditambahkan ‘a’ yang sesuai dengan inputan user.
GL11.glEnd(); yaitu mengakhiri proses render
Display.update();
} yaitu untuk mengakhiri statemen.
} yaitu untuk mengakhiri statemen.
} yaitu untuk mengakhiri statemen.

Tahap 5

Pada tahap ini kita akan melihat output dari hasil kodingan tersebut. Adapun cara kerjanya sebagai berikut.
Pertama compile program tersebut.
Setelah itu run program.
Maka muncul outputnya.
Pada outputnya muncul 3 menu pilihan.
Pilih salah satu menu sesuai keinginan.



Jika memilih menu pilihan 1 maka akan membuat garis vertikal. Masukan titik awal (x) dan titik awal (y) serta panjang garis yang diinginkan (dalam pixel) sesuai keinginan, seperti pada gambar 5.


Output yang diperoleh yaitu seperti pada gambar 6.



Jika memilih menu pilihan 2 maka akan membuat garis horizontal. Masukan titik awal (x) dan titik awal (y) serta panjang garis yang diinginkan (dalam pixel) sesuai keinginan, seperti pada gambar 7.


Output yang diperoleh yaitu seperti pada gambar 8.



Jika memilih menu pilihan 3 maka akan membuat garis diagonal. Masukan titik awal (x) dan titik awal (y) serta panjang garis yang diinginkan (dalam pixel) sesuai keinginan, seperti pada gambar 9.


Output yang diperoleh yaitu seperti pada gambar 10.








0 komentar:

Posting Komentar

Template by:

BlackHat48