LAPORAN PRAKTIKUM
MATA KULIAH PEMROGRAMAN BERORIENTASI OBJEK
“EXERCISE 14.5 dan 14.6”
Dosen Pengampu :
Benedika Ferdian Hutabarat, S.Komp., M.Kom.
Disusun Oleh :
Tisa Ameiliawati
F1E122045
R003
PROGRAM STUDI SISTEM INFORMASI
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS JAMBI
2023
1. EXERCISE 14.5
SINTAKS
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.control.*;
import javafx.scene.layout.*;
public class Exc14_5 extends Application {
@Override
public void start(Stage primaryStage) {
// Deklarasi variabel untuk mengatur lingkaran
double radius = 130.0;
double centerX = 200.0;
double centerY = 200.0;
// Membagi string menjadi array karakter
String[] text = "WELCOME TO JAVA ".split("");
int numLabels = text.length;
// Membuat panel untuk menempatkan label-label
Pane hbox = new Pane();
// Membuat array untuk menyimpan objek Label
Label[] label = new Label[text.length];
// Loop untuk membuat label dan menempatkannya di sekitar lingkaran
for (int i = 0; i < text.length; i++) {
// Menghitung sudut untuk menentukan posisi setiap label di sekitar
lingkaran
double angle = 2 * Math.PI * i / numLabels;
// Menghitung koordinat (x, y) untuk menempatkan label di sekitar
lingkaran
double x = centerX + radius * Math.cos(angle);
double y = centerY + radius * Math.sin(angle);
// Membuat objek Label dengan teks dari array karakter
label[i] = new Label(text[i]);
// Mengatur properti font label
label[i].setFont(javafx.scene.text.Font.font("Times New Roman",
javafx.scene.text.FontWeight.BOLD, 50));
// Memutar label agar sesuai dengan posisinya di sekitar lingkaran
label[i].setRotate((360 * i / numLabels));
// Menetapkan posisi label berdasarkan koordinat yang dihitung
label[i].setLayoutX(x);
label[i].setLayoutY(y);
// Menambahkan label ke dalam panel
hbox.getChildren().add(label[i]);
}
// Membuat objek Scene dengan panel hbox
Scene scene = new Scene(hbox);
// Menetapkan judul jendela
primaryStage.setTitle("Character around circle");
// Menetapkan scene ke dalam stage
primaryStage.setScene(scene);
// Menampilkan jendela dengan label-label yang telah dibuat
primaryStage.show();
}
// Metode main untuk memulai aplikasi JavaFX
public static void main(String[] args) {
launch(args);
}
}
OUTPUT
2. EXERCISE 14.6
SINTAKS
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.layout.*;
import javafx.scene.shape.Rectangle;
import javafx.scene.paint.Color;
public class Exc14_6 extends Application {
@Override
public void start(Stage primaryStage) {
// Membuat objek Pane untuk menampung persegi panjang
Pane pane = new Pane();
// Membuat array 2D dari Rectangle untuk mewakili papan catur
Rectangle[][] rect = new Rectangle[8][8];
// Menginisialisasi variabel warna
Color color;
// Loop untuk membuat pola papan catur
for (int i = 0; i < 8; i++) {
// Menentukan warna awal untuk setiap baris
color = (i % 2 == 0) ? Color.WHITE : Color.BLACK;
for (int j = 0; j < 8; j++) {
// Membuat objek Rectangle
rect[i][j] = new Rectangle();
// Melakukan pergantian warna untuk setiap persegi panjang dalam
satu baris
color = (color == Color.BLACK) ? Color.WHITE : Color.BLACK;
// Menetapkan ukuran, warna, dan posisi dari persegi panjang
rect[i][j].setHeight(50);
rect[i][j].setWidth(50);
rect[i][j].setFill(color);
rect[i][j].setLayoutX(50 * j);
rect[i][j].setLayoutY(50 * i);
// Menambahkan persegi panjang ke dalam Pane
pane.getChildren().add(rect[i][j]);
}
}
// Membuat objek Scene dengan menggunakan objek Pane
Scene scene = new Scene(pane);
// Menetapkan judul untuk stage
primaryStage.setTitle("Checkerboard");
// Menetapkan objek Scene ke dalam stage
primaryStage.setScene(scene);
// Menampilkan stage
primaryStage.show();
}
// Metode main untuk menjalankan aplikasi JavaFX
public static void main(String[] args) {
launch(args);}
}
OUTPUT