July 17, 2024

Lingkaran Berwarna (Java)

3 min read

hallo sahabat…. bertemu lagi dengan saya dan masih di materi pemrograman, hari ini masih tetap di dasar-dasar java, kalau pada materi sebelumnya sudah belajar tentang perubahan ukuran suatu bangun ruang. Kemudian menampilkan bangun ruang dalam jumlah banyak dlm 1 frame. Sekarang kita coba menampilkan suatu bangun ruang dimana ada warna yang berbeda dalam 1 bangun ruang. Kalian tahu busur lingkaran,nah kita coba belajar dari busur lingkaran kalau 2 buah busur lingkaran di gabungkan menjadi satu maka akan terbentuk lingkaran. Nah bagaimana membentuk busur tersebut, tentunya masih ingat derajat segitiga. Kita coba bentuk lingkaran dari sudut-sudut derajat segitiga.

Ok kita langsung saja ke prakteknya, sebelum praktek biar oprek-oprek ini makin asik siapkan cemilan dan kopi biar tambah seru. Ok kira-kira hasil tampilan programnya seperti ini.

brosur

Halloo…. halloo… halloo…. fokus-fokus jangan melamun nanti kena hipnotis dengan gambarnya…. 😀

Jika dipikir-pikir kalau gambar ini di putar-putar bisa bikin mata fokus terus terhipnotis, baiklah dari pada kita terhipnotis baiknya kita langsung hitung saja. Gambar diatas merupakan potongan-potongan gambar yang menggunakan prinsip sudut lancip dan busur.

Gambar pertama adalah sudur lancip segitiga berwarna merah ( 0 derajat warna merah sebelah kanan) sampai sudut lancip segitiga berwarna biru (180 derajat warna biru sebelah kiri). Setiap warna dibentuk dari sudut 30 derajat. Kemudian sudut berikutnya dimulai dari sudut terakhir dengan ditambah 30 derajat (derajat perpangkatan 2). 0+30 = 30, 30+30 = 60 sampai seterusnya sampai membentuk 360 derajat. Langkah-langkahnya sebagai berikut :

Langkah 1

Buat java project-nya terlebih dahulu, yaitu dengan membuka program java dan pilih Java Project.

java

Langkah 2

Kemudian akan di arahkan ke halaman dialog java project dan ketikkan nama filenya. lingkaranBerwarna -> kemudian klik Finish.

java2

Langkah 3

Kemudian buat file untuk menuliskan script programnnya, dimana script inilah yang akan di eksekusi. Buka javaproject lingkaranBerwarna. List filenya ada di sebelah kiri -> pilih src -> klik new -> class -> Dan beri nama LingkaranBerwarna -> finish.

java3

Kemudian ketikkan scriptnya, sebagai berikut :

[sourcecode]

//import library<b></b>

<b>import</b> javax.swing.JFrame;<b></b>

<b>import</b> javax.swing.JPanel;

&nbsp;

<b>import</b> java.awt.Color;<b></b>

<b>import</b> java.awt.Graphics;

&nbsp;

//method <span style="text-decoration: underline;">Gambar</span> <span style="text-decoration: underline;">busur</span><b></b>

<b>public</b> <b>class</b> <span style="text-decoration: underline;">GambarBusur</span> <b>extends</b> JFrame {

<b>public</b> GambarBusur(){

setTitle("Gambar Busur"); // <span style="text-decoration: underline;">judul</span> form

add(<b>new</b> PanelBusur());

}

//<span style="text-decoration: underline;">metod</span> <span style="text-decoration: underline;">untuk</span> <span style="text-decoration: underline;">menampilkan</span> program (form)

<b>public</b> <b>static</b> <b>void</b> main(String[] args) {

GambarBusur frame = <b>new</b> GambarBusur(); // <span style="text-decoration: underline;">gambar</span> <span style="text-decoration: underline;">busur</span> <span style="text-decoration: underline;">mempunyai</span> <span style="text-decoration: underline;">pengalihan</span> <span style="text-decoration: underline;">nama</span> <span style="text-decoration: underline;">yaitu</span> frame

frame.setSize(200, 200);  // <span style="text-decoration: underline;">dimensi</span> 200×200 pixel

frame.setLocationRelativeTo(<b>null</b>); // <span style="text-decoration: underline;">posisi</span> <span style="text-decoration: underline;">nampil</span> <span style="text-decoration: underline;">bebas</span>

frame.setDefaultCloseOperation(JFrame.<i>EXIT_ON_CLOSE</i>);  //icon x <span style="text-decoration: underline;">pada</span> form <span style="text-decoration: underline;">sebagai</span> exit

frame.setVisible(<b>true</b>);

}

}

&nbsp;

// class panel <span style="text-decoration: underline;">busur</span><b></b>

<b>class</b> <span style="text-decoration: underline;">PanelBusur</span> <b>extends</b> JPanel{

<b>protected</b> <b>void</b> paintComponent(Graphics g) {

<b>super</b>.paintComponent(g);

<b>int</b> xCenter =  getWidth()/2;  //<span style="text-decoration: underline;">digunakan</span> <span style="text-decoration: underline;">untuk</span> <span style="text-decoration: underline;">mendapatkan</span> <span style="text-decoration: underline;">titik</span> <span style="text-decoration: underline;">tengah</span> (<span style="text-decoration: underline;">titik</span> <span style="text-decoration: underline;">kordinat</span> x <span style="text-decoration: underline;">dari</span> <span style="text-decoration: underline;">lingkaran</span>)

<b>int</b> yCenter = getHeight()/2;  //<span style="text-decoration: underline;">digunakan</span> <span style="text-decoration: underline;">untuk</span> <span style="text-decoration: underline;">mendapatkan</span> <span style="text-decoration: underline;">titik</span> <span style="text-decoration: underline;">tengah</span> (<span style="text-decoration: underline;">titik</span> <span style="text-decoration: underline;">kordinat</span> y <span style="text-decoration: underline;">dari</span> <span style="text-decoration: underline;">lingkaran</span>)

<b>int</b> radius = (<b>int</b>)(Math.<i>min</i>(getWidth(), getHeight() * 0.4));

<b>int</b> x = xCenter – radius;

<b>int</b> y = yCenter – radius;

//<span style="text-decoration: underline;">pembentukan</span> <span style="text-decoration: underline;">sudut</span> <span style="text-decoration: underline;">lancip</span> <span style="text-decoration: underline;">pertama</span>

g.setColor(Color.<i>RED</i>); //<span style="text-decoration: underline;">pemberian</span> <span style="text-decoration: underline;">warna</span> <span style="text-decoration: underline;">merah</span> <span style="text-decoration: underline;">untuk</span> <span style="text-decoration: underline;">sudut</span> <span style="text-decoration: underline;">pertama</span>

g.fillArc(x, y, 2 * radius, 2 * radius, 0, 30); //<span style="text-decoration: underline;">fillarc</span> <span style="text-decoration: underline;">merupakan</span> <span style="text-decoration: underline;">garis</span> <span style="text-decoration: underline;">pembentuk</span> <span style="text-decoration: underline;">sudut</span> <span style="text-decoration: underline;">di</span> <span style="text-decoration: underline;">ikuti</span> <span style="text-decoration: underline;">dengan</span> <span style="text-decoration: underline;">ukuran</span>

g.setColor(Color.<i>BLUE</i>); //<span style="text-decoration: underline;">pemberian</span> <span style="text-decoration: underline;">warna</span> <span style="text-decoration: underline;">biru</span> <span style="text-decoration: underline;">untuk</span> <span style="text-decoration: underline;">sudut</span> <span style="text-decoration: underline;">kedua</span>

/*g.fillArc(x, y, 2 * radius, 2 * radius, 70, 50);

g.setColor(Color.YELLOW);

g.fillArc(x, y, 2 * radius, 2 * radius, 160, 50);

g.setColor(Color.BLACK);

g.fillArc(x, y, 2*radius, 2*radius, 270, 30);*/

g.fillArc(x, y, 2 * radius, 2 * radius, 30, 30);

g.setColor(Color.<i>RED</i>);

g.fillArc(x, y, 2 * radius, 2 * radius, 60, 30);

g.setColor(Color.<i>BLUE</i>);

g.fillArc(x, y, 2 * radius, 2 * radius, 90, 30);

g.setColor(Color.<i>RED</i>);

g.fillArc(x, y, 2 * radius, 2 * radius, 120, 30);

g.setColor(Color.<i>BLUE</i>);

g.fillArc(x, y, 2 * radius, 2 * radius, 150, 30);

g.setColor(Color.<i>RED</i>);

g.fillArc(x, y, 2 * radius, 2 * radius, 180, 30);

g.setColor(Color.<i>BLUE</i>);

g.fillArc(x, y, 2 * radius, 2 * radius, 210, 30);

g.setColor(Color.<i>RED</i>);

g.fillArc(x, y, 2 * radius, 2 * radius, 240, 30);

g.setColor(Color.<i>BLUE</i>);

g.fillArc(x, y, 2 * radius, 2 * radius, 270, 30);

g.setColor(Color.<i>RED</i>);

g.fillArc(x, y, 2 * radius, 2 * radius, 300, 30);

g.setColor(Color.<i>BLUE</i>);

g.fillArc(x, y, 2 * radius, 2 * radius, 330, 30); // <span style="text-decoration: underline;">akhir</span> <span style="text-decoration: underline;">dari</span> <span style="text-decoration: underline;">pembentukan</span> <span style="text-decoration: underline;">sudut</span>

}

}

[/sourcecode]

Langkah 4

Selanjutnya akan terlihat hasil dengan cara memilih menu run seperti gambar berikut :

java5

kemudian setelah itu akan muncul hasil seperti berikut ini :

java4

Perintah fillarc digunakan untuk menggambar garis sudut yang diikuti dengan kordinat x dan y, kemudian di ikuti dengan jari-jari dan sudut derajatnya.

Gimana mudah bukan? nah coba di eksplor lagi bagaimana terdapat 2 buah lingkaran atau lebih tersusun bertingkat dengan warna dan ukuran yang berbeda. Saya yakin anda bisa jika bisa coba bagaimana caranya lingkaran tersebut dapat berputar sehingga tampak seperti animasi lingkaran yang biasa uya kuya buat untuk treatment hipnotis.

Selamat mencoba, dan sampai jumpa pada tutorial selanjutnya 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

Copyright © All rights reserved. | Newsphere by AF themes.