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