MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA JavaFX Bab04
MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA JavaFX Bab04
TUJUAN PRAKTIKUM
1. Memahami cara menyimpan banyak objek ke dalam array.
2. Memahami cara kerja pengurutan data memakai Bubble Sort
3. Memahami cara melakukan pengrurutan objek
4. Memahami cara menentukan kunci pengurutan dan jenis urutan.
PENGANTAR
Array memungkinkan kita menyimpan banyak data termasuk banyak objek. Pada praktikum
ini kita akan mendalami mengenai cara mengelola array yang elemen-elemennya bertipe
kelas, yaitu array of Mahasiswa. Pada prinsipnya masih sama dengan array of int yang sudah
dibahas sebelumnya, perbedaan hanya terletak pada tipe data yang tersimpan di dalam tiap
elemen tersebut adalah berupa kelas yang mengakibatkan data yang diurutkan harus
berdasarkan salah satu anggota field kelas tersebut seperti ilustrasi di bawah ini:
data byk
0 1 2 3 4 5
Nim : 72150010 Nim : 72150020 Nim : 72150030 Nim : 72150040 Nim : 72150050
Nama : Rudy Nama : Andy Nama : Bayu Nama : Felicia Nama : Leo Vina
Kota : Muntilan Kota : Yogyakarta Kota : Klaten Kota : Purwokerto Kota : Pangkal Pinang
Gambar 4.3 Pembandingan isi field dari isi elemen array of struct
titip Nim :
3 Nama :
Alamat :
b 1 Kota :
2
0 1 2 3 4 5
Nim : 72150010 Nim : 72150020 Nim : 72150030 Nim : 72150040 Nim : 72150050
Nama : Rudy Nama : Andy Nama : Bayu Nama : Felicia Nama : Leo Vina
Kota : Muntilan Kota : Yogyakarta Kota : Klaten Kota : Purwokerto Kota : Pangkal Pinang
Pada Gambar 4.4 di atas menggambarkan proses pembandingan pada saat b bernilai 0, yang
dibandingkan adalah field nama (lihat Gambar 4.3), karena "Rudy" > "Andy" maka terjadilah
proses pertukaran isi elemen nomor 0 dengan isi elemen nomor 1. Langkah pertama yang
dilakukan adalah menitipkan nilai yang ada di elemen nomor 2 ke variabel titip, yang perlu
diperhatikan adalah bahwa variabel titip harus bertipe Mahasiswa, karena isi elemen array
bertipe Mahasiswa, langkah yang kedua adalah menyalin isi elemen nomor 0 disimpan di
elemen nomor 1, kemudian yang terakhir adalah menyimpan isi variabel titip ke elemen
nomor 0.
Membandingkan String
Operator pembanding tidak dapat digunakan untuk membandingkan nilai String, sebagai
gantinya kita bisa memakai metode CompareTo(<string>) yang merupakan metode
bawaan tipe data String seperti di bawah ini:
bertipe Mahasiswa
metode CompareTo
CARA KERJA
1. Buatlah projek JavaFX Application dengan NetBeans 8.2, berilah nama projek sesuai
dengan identitas kalian: Praktikum_04_nimKamu. Contoh : Praktikum_04_72870137.
2. Untuk tiap soal di bawah ini buatlah masing-masing sesuai dengan yang diminta.
3. Lakukan uji coba terhadap program yang dibuat.
4. Jawablah pertanyaan yang ada pada Pendalaman Materi.
PENDALAMAN MATERI
NIM : _________________
PERCOBAAN 4
Persiapan Praktikum
Gunakan antarmuka grafis JavaFX yang telah disediakan seperti berikut, tambahakan Nim
dan Nama Anda :
package praktikum04;
import javafx.application.Application;
import javafx.geometry.Pos;
@Override
public void start(Stage primaryStage) throws Exception {
txtJudul.setFont(Font.font("Arial", 28));
hb1.getChildren().add(btnTambah);
hb1.setAlignment(Pos.BASELINE_RIGHT);
hb2.getChildren().add(btnTutup);
hb2.setAlignment(Pos.BOTTOM_RIGHT);
hb3.getChildren().addAll(cbOrder,btnProses);
hb3.setSpacing(5);
txtNim.setMaxWidth(80);
txtDaftar.setMinHeight(300);
cbUrut.getItems().addAll("Nim","Nama","Kota");
cbUrut.setValue("Nim");
cbOrder.getItems().addAll("Ascending","Descending");
cbOrder.setValue("Ascending");
GridPane grid = new GridPane();
Scene scene = new Scene(grid,500,600);
grid.setAlignment(Pos.CENTER);
grid.setVgap(3);
grid.setHgap(10);
grid.setGridLinesVisible(false);
grid.add(txtJudul,0,0,2,1);
Penelitian Laboratorium :
1. Buat kelas bernama Mahasiswa yang mempunyai field nim, nama dan kota semuanya
bertipe String. nim dienkapsulasi maksimal 8 huruf lebih dari itu akan dipotong diambil 8
Amsal
Berbahagialah orang yang mendapat hikmat, orang
yang memperoleh kepandaian, karena keuntungannya
melebihi keuntungan perak, dan hasilnya melebihi emas.
Ia lebih berharga dari pada permata; apapun yang
kauinginkan, tidak dapat menyamainya.
28 Program Studi Sistem Informasi Fakultas Teknologi Informasi | UKDW 2020