Anda di halaman 1dari 33

LAPORAN PRAKTIKUM APLIKASI KOMPUTER DAN BASIS DATA

PENGURUTAN DATA STRING

Oleh:
Nama: Cantika Angela Putri
NIM: 221331004

PROGRAM STUDI D3 TEKNIK TELEKOMUNIKASI


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI BANDUNG
2023-2024

1
KETERANGAN

1. Tanggal Praktek : 22 September 2023

2. Tanggal Pengumpulan Laporan : 29 September 2023

3. Nama Praktikan : Cantika Angela Putri

4. Nama Dosen : 1. Ferry Satria, BSEE, M.T.

2. Rahmawati Hasanah, S.ST ., M.T.

2
KATA PENGANTAR

Puji dan syukur kami panjatkan kepada Tuhan Yang Maha Esa dengan segala
anugerah dan rahmat yang diberikan oleh-Nya sehingga saya dapat menyelesaikan
laporan praktikum ini dengan tepat waktu. Saya selaku penulis dan penyusun yang
terlibat dengan rangkaian kata yang tersusun sederhana ini diberi kesempatan dan
tanggung jawab yang tidak akan saya sia-siakan oleh dosen pembimbing mata kuliah
Aplikasi Komputer dan Basis Data.
Terselesaikannya laporan ini tidak lepas dari bantuan dan bimbingan dari banyak
pihak yang salah satunya di berikan oleh bapak Ferry Satria, BSEE, M.T.selaku dosen
mata kuliah Aplikasi Komputer dan Basis Data. Tidak lupa dukungan yang diberikan
oleh rekan-rekan kelas saya sehingga saya selaku penyusun terbantu oleh kerjasama
kalian.
Dalam penyusunan rangkaian setiap kata pada laporan praktikum ini, saya telah
berusaha dengan segenap kesungguhan, ketelitian dan kemampuan saya untuk membuat
laporan ini menjadi syarat penilaian praktikum kelima. Akan tetapi, sebagai seorang
pemula tentunya saya pasti masih memiliki banyak kekurangan dan ketidaksempurnaan
lainnya. Maka dari itu, dengan rendah hati saya mengharapkan kritik dan saran-saran
yang mungkin bisa membantu saya untuk kedepannya.

3
DAFTAR ISI
KATA PENGANTAR ............................................................. Error! Bookmark not defined.
DAFTAR ISI............................................................................ Error! Bookmark not defined.
BAB I PENDAHULUAN ........................................................ Error! Bookmark not defined.
1.1 LATAR BELAKANG.................................................... Error! Bookmark not defined.
1.2 RUMUSAN MASALAH ............................................... Error! Bookmark not defined.
1.3 MAKSUD DAN TUJUAN PERCOBAAN ................... Error! Bookmark not defined.
BAB II LANDASAN TEORI .................................................. Error! Bookmark not defined.
2.1 PENGERTIAN KOMPUTER ........................................ Error! Bookmark not defined.
2.2 PENGERTIAN APLIKASI ........................................... Error! Bookmark not defined.
2.3 APLIKASI BASIS DATA ............................................. Error! Bookmark not defined.
2.4 APLIKASI JAVA .......................................................... Error! Bookmark not defined.
2.5 PENGURUTAN DATA STRING ................................. Error! Bookmark not defined.
2.6 PANEL DALAM JAVA ................................................ Error! Bookmark not defined.
BAB III RANGKAIAN PERCOBAAN .................................. Error! Bookmark not defined.
3.1 ALAT DAN BAHAN .................................................... Error! Bookmark not defined.
3.2 LANGKAH KERJA ....................................................... Error! Bookmark not defined.
BAB IV HASIL PERCOBAAN DAN ANALISIS DATA ..... Error! Bookmark not defined.
4.1 INTRUKSI 1 .................................................................. Error! Bookmark not defined.
4.2 INTRUKSI 2 .................................................................. Error! Bookmark not defined.
4.3 INTRUKSI 3 .................................................................. Error! Bookmark not defined.
4.4 INTRUKSI 4 .................................................................. Error! Bookmark not defined.
4.5 INTRUKSI 5 .................................................................. Error! Bookmark not defined.
4.6 INTRUKSI 6 .................................................................. Error! Bookmark not defined.
4.7 INTRUKSI 7 .................................................................. Error! Bookmark not defined.
BAB V KESIMPULAN ........................................................... Error! Bookmark not defined.
BAB VI DAFTAR PUSTAKA ............................................... Error! Bookmark not defined.

4
BAB I
PENDAHULUAN

1.1 LATAR BELAKANG


Pesatnya perkembangan teknologi membuat teknologi komputer semakin canggih.
Sekarang, perangkat-perangkat diluar komputer dapat disimulasikan ke dalam komputer
secara virtual. Contohnya, dulu pembelajaran hanya dapat dilakukan secara luring atau
langsung dan perlu datang ke suatu instansi, sekarang sudah banyak aplikasi yang
memfasilitasi kegiatan pembelajaran secara daring sehingga siapapun dapat melakukan
pembelajaran dengan jarak jauh.
Adapun permainan seperti congklak, monopoli, dan kartu Remi yang dulu hanya dapat
dimainkan secara langsung namun sekarang dapat dimainkan di dalam komputer. Sistem
pembelajaran dan permainan ini dirancang berbasis online yang menggabungkan unsur-
unsur video, audio, dan visual. Namun, pembuatan video, audio, dan visual tersebut tidak
bisa dibuat tanpa adanya aplikasi pemrograman.
Aplikasi pemrograman dirancang untuk memanipulasi teks, angka, grafis, audio,
maupun kombinasi dari elemen-elemen tersebut. Pemograman tidak dapat dilakukan
dengan bahasa manusia namun harus menggunakan bahasa pemrograman, beberapa bahasa
pemrograman adalah Java, C, C++, Phyton, dan masih banyak lainnya.
Sebagai mahasiswa yang baru mengenal aplikasi pemrograman, ada banyak yang harus
dipahami mengenai kode-kode pemograman maka dari itu dalam mata kuliah Aplikasi
Komputer dan Basis Data ini mahasiswa diharapkan dapat memahami dan menguasai
pemogram dari mulai dasar sampai level yang lebih sulit. Pada praktikum kelima ini,
praktikkan diharap mampu memahami pengurutan data string serta membuat grafik dasar
pada Java.

1.2 RUMUSAN MASALAH


1. Bagaimana cara membuat program dengan melakukan pengurutan menggunakan
String?
2. Bagaimana cara membuat program grafik dasar dalam Java?

1.3 MAKSUD DAN TUJUAN PERCOBAAN


1. Mampu membuat program dengan melakukan pengurutan menggunakan String?

2. Mampu membuat program grafik dasar dalam Java?

5
BAB II
LANDASAN TEORI

2.1 PENGERTIAN KOMPUTER

Istilah komputer berasal dari bahasa latin 'computare' yang berarti menghitung.
Menurut V. C. Hamacher, dkk , komputer adalah mesin penghitung elektronik yang cepat dan
menerima informasi input digital, memprosesnya sesuai dengan suatu program yang tersimpan
dimemorinya (stored
program) dan menghasilkan output informasi.
Maka dapat diartikan komputer adalah alat elektronik yang dapat menerima input data,
mengelola data, sehingga dapat memberikan informasi. Data dan program yang sudah dikelola
akan tersimpan di memori komputer.

2.2 PENGERTIAN APLIKASI

Menurut Ali Zaki dan Smitdev community, Aplikasi adalah komponen yang berguna
melakukan pengolahan data maupun kegiatan-kegiatan seperti pembuatan dokumen atau
pengolahan data. Aplikasi disebut juga software, berdasarkan tugas khususnya aplikasi
software dibedakan menjadi dua jenis, yaitu:
a. Aplikasi software spesialis, program dengan dokumentasi tergabung yang dirancang untuk
menjalankan tugas tertentu.
b. Aplikasi software paket, suatu program dengan dokumentasi tergabung yang dirancang
untuk jenis masalah tertentu.
Berdasarkan fungsinya, aplikasi dapat digunakan untuk melayani dan memenuhi kebutuhan
masyarakat, seperti untuk periklanan, perniagaan, game, dan akademik. Maka dari itu aplikasi
sangat berperan penting dalam kehidupan.

2.3 APLIKASI BASIS DATA


Database atau basis data adalah sekumpulan data yang dikelola secara terstruktur dan sistematis
yang disimpan secara elektronik. Kumpulan data itu dapat berupa angka, kata, gambar, video,
audio, dan file. Komponen-komponen dari basis data terdiri dari:
a) Perangkat keras (hardware ) : komponen fisik yang terdiri dari komputer, server,
penyimpanan data, dan perangkat keras lainnya yang digunakan untuk menyimpan dan
mengakses basis data.

6
b) Sistem Operasi : perangkat lunak (software ) yang mengelola sumber daya perangkat
keras dan menyediakan kondisi yang diperlukan untuk memproses basis data.
c) Database/Basis data : kumpulan data yang tersimpan di dalam komputer dan
terorganisir dalam suatu struktur tertentu, seperti dalam bentuk tabel atau objek. Data
yang tersimpan harus terorganisir dengan baik agar dapat memudahkan pengaksesan
dan pengelolaan data.
d) Sistem Manajemen Basis Data (DBMS) : perangkat lunak yang memberikan fasilitas
untuk melakukan fungsi pengaturan, pengawasan, pengendalian, pengelohan dan
kombinasi terhadap semua proses yang terjadi pada sistem basis data. DBMS
menyediakan fasilitas yang memungkinkan pengguna untuk berinteraksi dengan basis
data, melakukan operasi seperti penambahan data, pencarian data, pengubahan data,
pengurutan data, penggabungan data, pengambilan data , pembaruan data, dan
penghapusan data.
e) User atau pengguna : Merupakan individu yang menggunakan basis data. Pengguna
pemakai akhir (End-user) tidak bersentuhan langsung dengan objek basis data
melainkan lebih banyak berinteraksi dengan aktivitas nyata dimana basis data itu
diterapkan secara nyata. End user akan lebih mengenal operasi basis data data seperti
a. pemasukan data yang digunakan untuk proses penjualan barang dan transaksi
b. memonitoring data hasil transaksi
c. pencetakan laporan bulanan atau tahunan, dan lain lain
f) Aplikasi : perangkat lunak lain yang digunakan bersama dengan basis data untuk
menyediakan fungsionalitas tambahan serta menyempurnakan kegunaan basis data.
Aplikasi ini dapat berupa program khusus yang dibuat untuk kepentingan tertentu
sehingga membantu pengguna dalam pembuatan suatu program dengan basis data.

2.4 APLIKASI JAVA

Java merupakan salah satu bahasa pemograman yang dapat digunakan di berbagai device
seperti laptop dan telepon genggam. Bahasa java dibuat oleh James Gosling, bahasa java
banyak mengadopsi sintaksis yang terdapat pada bahasa C dan C++ namun Java memproses
model objeknya dengan lebih sederhana.
Hampir semua bahasa menyediakan berbagai fungsi aritmatika, logika an fungsi
lainnya. Java pun menyediakan fungsi fungsi untuk membantu kita dalam melakukan
pemograman, salah satu contoh fungsinya adalah ‘For’ yaitu fungsi perulangan yang dapat
digunakan apabila kita hendak melakukan pengulangan pada terminal monitor.
Salah satu perangkat lunak yang bisa digunakan untuk membuat program Java adalah
BlueJ. BlueJ dibuat khusus untuk pengajaran bahasa pemograman Java. BlueJ sangat cocok
digunakan oleh pemula yang baru belajar pemograman karena BlueJ di desain sebagai IDE
(Integrated Development Environment) untuk mengajarkan bahasa Java.

2.5 PENGURUTAN DATA STRING


• Mengurutkan data string dalam java bukanlah suatu fitur alamiah pada Java
melainkan dibutuhkan metode karena Java menyediakannya melalui berbagai

7
Teknik yaitu:
1. Menggunakan Array.sort()
Pada Java, metode Arrays.sort() digunakan untuk mengurutkan semua jenis
array, baik pada array integer atau array karakter. Langkah untuk
mengurutkan String pada metode ini adalah:
a) Ubah string input menjadi array char dengan menggunakan metode
toCharArray().
b) Lalu urutkan array char tersebut dengan menggunakan metode
Arrays.sort() .
c) Kemudian ubah array yang diurutkan untuk kembali menjadi String.
2. Menggunakan pembanding khusus untuk mengurutkan string di Java.
Sortir digunakan untuk mengubah kriteria pengurutan metode Arrays.sort()
dengan menentukan logika khusus untuk membandingkan dua karakter dan
menentukan mana yang harus didahulukan.
3. Menggunakan fitur stream Java 8 bersama dengan Strings.chars.
Stream Java 8 digunakan untuk mengurutkan segala jenis daftar
menggunakan metode sortir() alami. Langkah-langkahnya adalah dengan
mengubah string menjadi daftar karakter menggunakan metode chars()
terlebih dahulu lalu diurutkan menggunaan metode sortir()
• Indeks Array tidak pernah -1
• String tidak bisa dibandingkan dengan tanda lebih besar (>) atau lebih kecil (<)
• String harus menggunakan .compareTo

2.6 PANEL DALAM JAVA


• Panel adalah tempat kita untuk menggambar sesuatu dalam Java
• protected void paintComponent(Graphics g) sebagai pengganti main method karena
disini tidak digunakan main method public static void main karena kita memasuki
graphic
• Komponen-komponen pada graphic contohnya bentuk segitiga, elips,lingkaran,
segiempat, dan lainnya dan dapat juga mengganti-ganti warna
• Terdapat 2 macam graphic yaitu Graphic 1 dimensi dan Graphic 2 dimensi. Pada
Graphic 2 dimensi perlu adanya graphic tobe.
• Menulis kalimat di mode graphic dapat dilakukan dengan
• drawString untuk menggambar kalimat
• drawLine untuk menggambar garis
• drawRectangles atau dapat disingkat drawRect untuk menggambar persegiempat
Panjang
• Contoh:

8
- Pada (Color.BLUE) penulisan BLUE harus konsisten kapital seluruhnya atau
huruf kecil seluruhnya.
- Perbedaan fillRect dan drawRect adalah fillRect untuk menghasilkan gambar yang
diarsir, Sementara drawRect untuk menghasilkan gambar yang terdapat tepinya.
- Pada JFrame("Gambar Kalimat") ,Gambar Kalimat untk judul gambar dan
mengapa menggunakankata ‘gambar’ karena kita sedang draw String di mode
Graphic. Mode Graphic itu segala sesuatunya digambar bukan ditulis.
- Pada frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) digunakan
untuk memunculkan

- Pada new JFrame("Gambar Kalimat") digunakan untuk proses deklarasi di String


kalimat = "Ini adalah contoh kalimat yang digambar."

9
- Pada frame.setSize digunakan untuk ukuran, umunya menggunakan pixel

- Pada frame.setLocationRelativeTo(null) digunakan untuk titik referensi misalkan


titik referensi (0,0) adalah sudut kiri atas

- Pada frame.setVisible(true) digunakan agar frame muncul jika tidak terdapat ini
maka panel yang sudah dibuat tidak akan muncul.
- int x = 50;
int y = 40;
dimana pertama kali yang akan dimunculkan
- “Ini adalah contoh kalimat yang digambar.” hasilnya akan

- g.drawString("INI PERSEGI EMPAT", 200,250); , g.drawRect(90,80,500,300); ,


dan g.setColor(Color.green); hasilnya akan:

10
- Perbedaan drawOval dan fillOval adalah drawOval menghasilkan kerangkanya
saja dan fillOval menghasilkan tanpa kerangka
Hasil penambahan lingkaran pada persegi:

Dengan proses

Reff: Rangkuman Cantika Minggu ke-5 Aplikasi Komputes dan Basis Data

11
BAB III
RANGKAIAN PERCOBAAN

3.1 ALAT DAN BAHAN


1. Laptop

2. Software BlueJ

3.2 LANGKAH KERJA

1. Buka Software BlueJ > New Class > Isi Class Name > OK

2. Lalu pada menu class akan muncul class yang telah dibuat.

3. Untuk membuka class yang telah dibuat, klik kanan lalu pilih open editor.

12
4. Akan muncul editor yang dapat digunakan untuk menuliskan program yang
diinginkan. Sebagai pemula yang masih mendasar dalam memperlajari pemograman,
editor tersebut dapat dihapus seluruhnya dan membuat dari awal sesuai arahan dosen.

5. Setelah menginput data-data dan kode perintah yang ingin ditampilkan di layar, ketik
compile dan program dapat dijalankan

6. Setelah meng-compile kembali ke menu awal lalu klik kanan pada class yang telah
dibuat dan pilih “void main (string[ ] args)” kemudian klik OK

13
7. Setelah itu, program berhasil dijalankan dan kalimat yang dicetak akan muncul di
layar monitor

8. Lakukan langkah-angkah di atas untuk mengerjakan kembali soal atau intruksi


lainnya dengan kode perintah yang ditentukan.

14
BAB IV
HASIL PERCOBAAN DAN ANALISIS DATA

4.1 INTRUKSI 1
Buat program JAVA untuk memasukkan 6 nama kota di Jawa Barat pada array kota[],
kemudian urutkan ascending order dengan metode Selection Sort. Cetak isi array sebelum dan
setelah diurutkan.
• Kode Program

• Hasil Compile Program

15
• Analisis Program
- for (int i = 0; i < n - 1; i++) {
int minIndex = i;
for (int j = i + 1; j < n; j++) {
if (kota[j].compareTo(kota[minIndex]) < 0) {
minIndex = j;
loop for pertama dengan iterator i yang berproses dari 0 hingga n-2, dan di dalamnya
terdapat loop for kedua dengan iterator j yang berjalan dari i+1 hingga n-1.
Kemudian, pada loop kedua, terdapat kondisi if yang membandingkan nilai pada
indeks j dari array kota dengan nilai pada indeks minIndex menggunakan fungsi
compareTo, dan jika nilai pada indeks j lebih kecil dari nilai pada indeks minIndex,
maka nilai minIndex diubah menjadi j.
Setelah perulangan, terjadi proses pertukaran nilai antara elemen kota indeks i
dengan kota indeks minIndex menggunakan variabel temporary data.

16
4.2 INTRUKSI 2
Seperti soal nomor 1, menggunakan metoda Bubbke sort.
• Kode Pogram

• Hasil Compile Program

17
• Analisis Program
- Pengurutan menggunakan tipe data String
- int n = arr.length; adalah pendeklarasian variabel n dengan nilai panjang array arr
agar proses pengurutan dapat dilangsungkan dengan mudah.
- boolean swapped; adalah pendeklarasian variabel swapped tipe boolean lalu
diberikan nilai awal salah atau false untuk memastikan terjadinya perubahan atau
tidak pada proses pengurutan tersebut.
- ‘for’ adalah perulangan dan (int i = 1; i < n; i++) merupakan parameternya for.
Perulangan for digunakan untuk memastikan setiap pasangan elemen pada array,
dimulai dari indeks ke-1 hingga indeks ke (n-1).
- if (arr[i - 1].compareTo(arr[i]) > 0) untuk mengecek perbandingan dua elemen
yang bersebelahan pada array apakah nilai yang sebelumnya lebih besar dari yang
sedang dieksekusi atau tidak.
- swapped = true; merupakan perubahan proses pengurutan hal ini terjadi jika
kondisi pada if terpenuhi maka akan dilakukan penukaran posisi elemen
enggunakan variabel temp.

18
4.3 INTRUKSI 3
Buat program untuk memasukkan 6 nama Negara di dunia beserta nama ibukotanya pada array
negara[] dan ibuKota[], kemudian urutkan ascending order dengan metoda Selection Sort
berdasarkan nama negaranya. Cetak isi kedua array sebelum dan setelah diurutkan.
• Kode Program

19
• Hasil Compile Program

• Analisis program
- Menggunakan metoda Selection Sort dengan menggunakan array dua dimensi yang berisi
nama negara dan ibu kotanya.
- for (int i = 0; i < 6; i++) {
System.out.print("Masukkan nama negara ke-" + (i + 1) + ": ");
negara[i] = scanner.nextLine();
System.out.print("Masukkan nama ibu kota negara ke-" + (i + 1) + ": ");
ibuKota[i] = scanner.nextLine();
ini digunakan untuk perulangan for untuk memasukkan nama negara dan ibukotanya dari
input keyboard
- System.out.println("Negara sebelum diurutkan:");
for (int i = 0; i < 6; i++) {

20
System.out.println(negara[i] + " - " + ibuKota[i]);
}
ini digunakan untuk menampilkan array negara dan ibu kotanya sebelum diurutkan
- System.out.println("Negara setelah diurutkan:");
for (int i = 0; i < 6; i++) {
System.out.println(negara[i] + " - " + ibuKota[i]);
}
Ini untuk menampilkan array negara setelah dilakukan pengurutan, lalu array ibu kota
setelah diurutkan.
- if (negara[j].compareTo(negara[minIndex]) < 0) {
minIndex = j;
digunakan untuk menyimpan indeks dari elemen dengan nilai terkecil yang dimulai dari
indeks i. Kemudian dilakukan perbandingan pada
String tempNegara = negara[i];
negara[i] = negara[minIndex];
negara[minIndex] = tempNegara;

String tempIbuKota = ibuKota[i];


ibuKota[i] = ibuKota[minIndex];
ibuKota[minIndex] = tempIbuKota;
untuk menemukan elemen dengan nilai terkecil yang kemudian nilai variable minIndex
diubah dengan index dari elemen dengan nilai terkecil.

4.4 INTRUKSI 4
Seperti soal nomor 3, menggunakan metoda Bubble sort.

• Kode Program

21
• Hasil Compile Program

22
• Analisis program
- Menggunakan Scanner
- for (int i = 0; i < 6; i++) {
System.out.print("Masukkan nama negara ke-" + (i + 1) + ": ");
negara[i] = scanner.nextLine();
System.out.print("Masukkan nama ibu kota negara ke-" + (i + 1) + ":
");
ibuKota[i] = scanner.nextLine();
untuk memasukan input nama negara dan ibu kotanya untuk ditempatkan di array
negara dan array ibukotanya sesuai indeks
- System.out.println("Negara sebelum diurutkan:");
for (int i = 0; i < 6; i++) {
System.out.println(negara[i] + " - " + ibuKota[i]);
}
Loop for dengan iterator i, dengan kondisi i<6 yang akan melaukan perulangan
sebanyak 6 kali. Kemudian diperintahkan untuk menampilkan ke layar isi array
negara pada indeks i kemudian diikuti dengan tanda ‘-‘ untuk lanjut pada array
ibukota pada indeks ke-i.
- scanner.close(); untuk menutup metode Scanner dan akan dilanjutkan ke metode
Selection Sort untuk mengurutkan array negara dan ibukota secara alfabetis.
- for (int i = 0; i < n-1; i++) {int status =0;
for (int j = i + 1; j < negara.length; j++)
// Membandingkan nama negara untuk mencari yang lebih kecil
if (negara[i].compareTo(ibuKota[j])<0)
{String tukar = negara[i];
negara[i] = negara[j];
negara[j] = tukar;
status++;
Pada loop for pertama terdapat iterator I yang mempproses dari 0 hingga n-1,
kemudian di dalam loop for juga terdapat loop for dengan iterator j yang
memproses dari i+1 hingga panjang negara.
Pada loop for yang kedua, terdapat kondisi if-else yang akan memastikan apakah
nilai pada indeks i dari array negara lebih kecil(<) dari nilai indeks j pada array
ibuKota. Jika benar atau true, maka akan dieksekusi pertukaran nilai pada indeks i
dan j pada array negara. Kemudian pada variabel status yang digunakan untuk
memastikan apakah terjadi pertukaran nilai dalam loop for yang kedua maka akan
ditambahkan dengan 1.

23
4.5 INTRUKSI 5
Seperti soal nomor 3 tapi urutka secara discending order.
• Kode Program

24
• Hasil Compile Program

• Analisis Program
- for (int i=0;i<6;i++){
System.out.print("Negara ke-" + (i + 1) + ": ");
negara[i]=scan.nextLine();
System.out.print("Ibukota ke-" + (i + 1) + ": ");
ibukota[i]=scan.nextLine();
loop for dengan iterator i=0 hingga 5,Terdapat dua perintah untuk menampilkan
kalimat "Negara ke-" dan "Ibukota ke-" pada layar yang diikuti dengan nomor
urut dari 1-6. Kemudian, akan diminta untuk memasukkan input nama negara dan
ibukotanya, dan nilai-nilai tersebut akan disimpan pada array negara dan ibukota
sesuai indeks di-loop.
- for (int i=0;i<negara.length-1;i++){
int var=i;
for (int j=i+1;j<negara.length;j++){
if (negara[j].compareTo(negara[var])>0){
var=j;
loop for dengan iterator j dari i+1 hingga panjang array negara. Pada loop ini,
terdapat kondisi if yang akan membandingkan nilai pada negara atau indeks j
dengan negara pada indeks var menggunakan fungsi compareTo(). Apabila nilai
pada negara atau indeks j lebih besar dari nilai pada negara indeks var, maka nilai
var akan diubah menjadi j.

25
4.6 INTRUKSI 6
Seperti soal nomr 5, menggunakan metoda Bubble Sort
• Kode Program

26
• Hasil Compile Program

• Analisis Program
- for (int i = 0; i < n ; i++) { int status = 0;
for (int j = 0; j < n - 1; j++) {
if (arrNegara[j].compareTo(arrNegara[j + 1]) < 0) {
loop for dengan iterator i yang memproses dari 0 hingga n-1, pada loop for yang
pertama, terdapat loop for lagi dengan iterator j yang berproses dari 0 hingga n-1.
Lalu pada loop for yang kedua, terdapat sebuah kondisi if yang akan
membandingkan nilai pada array negara pada indeks j dengan array negara pada
indeks j+1 menggunakan fungsi compareTo. Apabila nilai pada array negara pada
indeks j lebih kecil dari nilai pada array negara pada indeks j+1 maka akan
dilakukan pertukaran nilai pada array negara dan array ibukota dengan indeks j dan
j+1. Variabel status akan ditambahkan dengan nilai satu jika terjadi pertukaran.
- String tempNegara = arrNegara[j];
arrNegara[j] = arrNegara[j + 1];
arrNegara[j + 1] = tempNegara;

27
status++;
terjadi proses pertukaran nilai antara elemen array negara indeks j dengan elemen
array negara indeks j+1 menggunakan variable temporary tempNegara. Kemudia
perbandingan dilakukan pula pada
String tempIbukota = arrIbukota[j];
arrIbukota[j] = arrIbukota[j + 1];
arrIbukota[j + 1] = tempIbukota;
status++;
Terjadi pertukaran nilai antara elemen array ibukota indeks j dengan elemen array
ibukota indeks j+1 menggunakan variable temporary tempIbukota.

4.7 INTRUKSI 7
Buat program Java untuk mengurutkan nilai 6 mahasiswa yang terdiri dari 3 mata kuliah
(Matematika, Fisika, Kimia). Jika diinginkan nilai dapat diurutkan secara ascending order
dapat berdasarkan MK matematika, atau fisika, atau kimia (dipilih oleh user).
• Kode Program

28
29
• Hasil Compile Program

30
• Analisis Program
- import javax.swing.*; digunakan untuk membuat elemen grafis
- import java.awt.*; digunakan untuk membuat objek grafis seperti Rectangle dan
Line.
- import java.awt.geom.*; membuat objek grafis yang lebih kompleks seperti
Ellipse dan Arc.
- import java.awt.BasicStroke.*; mengatur ketebalan garis pada objek grafis yang
lebih kompleks seperti Rectangle dan Ellipse.
- protected void paintComponent(Graphics g) digunakan untuk menggambar
kombinasi komponen grafis
- super.paintComponent(g); digunakan untuk menggambar komponen pada
JPanel akan tetap tergambar dengan baik
- g2d.setColor(Color.BLACK);
g2d.setStroke(new BasicStroke(2));
g2d.drawLine(0,1,1280,1);
g2d.drawLine(1,0,1,665);
g2d.drawLine(0,665,1280,665);
g2d.drawLine(1280,0,1280,665);
g2d.drawLine(0,40,1280,40);
g2d.drawLine(320,40,320,665);
g2d.drawLine(640,40,640,665);
g2d.drawLine(960,40,960,665);
g2d.drawLine(0,352,1280,352);
digunakan untuk proses menggambar sebuah tabel, Graphics2D untuk mengatur
warna, stroke untuk mengatur ketebalan garis, drawLine komponen garis yang akan
digambar
- g2d.setColor(Color.BLACK); artinya objek diatur menjadi warna hitam
- g2d.setFont(new Font ("Arial", Font.BOLD, 24)); artinya font objek berjenis
Arial dengan ketebalan teks 24
- g2d.drawString("Dasar Grafik",10,30); artinya ‘Dasar Grafik’ digambar di
atasbkiri tabel dengan jarak koordinak (10,30)
- g2d.drawString("LINGKARAN",80,330); artinya ‘LINGKARAN’ digambar
pada titik koordinat 80,330
- g2d.drawString("ELIPS",450,330); artinya ‘ELIPS’ digambar pada titik
koordinat 450,330
- g2d.drawString("PERSEGI PANJANG",690,330); artinya ‘PERSEGI
PANJANG’ digambar pada titik koordinat 690,330
- g2d.drawString("SEGITIGA",1050,330); artinya ‘SEGITIGA’ digambar pada
titik koordinat 1050,330
- g2d.drawString("BINTANG",110,645); artinya ‘BINTANG’ digambar pada
titik koordinat 110,645
- g2d.drawString("SEGI LIMA",420,645); artinya ‘SEGILIMA’ digambar pada
titik koordinat 420,645
- g2d.drawString("SEGI ENAM",730,645); artinya ‘SEGIENAM’ digambar pada
titik koordinat 730,645
- g2d.drawString("JAJAR GENJANG",1000,645); artinya ‘JAJAR GENJANG’
digambar pada titik koordinat 1000,645
- g2d.setColor(Color.green);
g2d.fillOval(50,90,200,200);
g2d.setColor(Color.black);

31
g2d.drawOval(50,90,200,200);
//Membuat bentuk oval
g2d.setColor(Color.red);
g2d.fillOval(380,120,200,160);
g2d.setColor(Color.black);
g2d.drawOval(380,120,200,160);
digunakan untuk mengatur warna, membuat lingkaran yang akan diatur pada posisi
tertentu dan ukuran lingkarannya, membuat pinggiran lingkaran dengan warnanya,
membuat elips dengan posisi tertentu ukuran tertentu dan warna tertentu, dan
bentuk lainnya yang dibuat.
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); digunakan
untuk memastikan bahwa program akan berakhir ketika ditutup.
- frame.setSize(800, 600); artinya ukuran layar diatur menjadi 800x600 piksel.
- frame.setLocationRelativeTo(null) Artinya koordinat layar diatur agar muncul di
tengah

BAB VI
KESIMPULAN

Berdasarkan praktikum pertama yang telah dilaksanakan maka dapat disimpulkan bahwa:
a. Penggunaan String pada pengurutan data tidak bisa dibandingkan dengan tanda lebih
besar atau lebih kecil
b. Pengurutan data menggunakan string harus menggunakan compare.To
c. Arrays.sort() dan compareTo() adalah metode bawaan dari Java dan dengan
menggunakan kedua metode tersebut kita dapat mengurutkan data array dengan mudah
berdasarkan urutan abjad atau nilai numerik yang terkandung dalam string.
d. Terdapat 2 jenis cara mengurutkan yaitu dengan Bubble Sort dan Selection Sort yang
memiliki perbedaan dalam proses cara mengurutkannya.
e. Pada Java kita dapat melakukan penggambaran grafik dengan kelas Graphics dan
JPanel. Proses pembuatan gambar pada elas Graphics menggunakan metode seperti
drawLine(), drawCircle(), dan lain lain. Sementara pada kelas JPanel dapat
menggunakan JFrame dan JDialog
f. Panel merupakan tempat kita menggambar objek yang diinginkan dan pada
pemograman graphic tidak digunakan main method ‘public static void main’ melainkan
harus ‘protected void paint component(graphics g) karena program yang dibuat adalah
graphic bukan tulisan
g. Jika program yang dibuat tidak dapat di compile maka terdapat kesalahan kode, fungsi
atau metode. Maka praktikkan perlu dilakukan pengecekkan ukang sebelum di compile.

32
BAB VII
DAFTAR PUSTAKA

[1] Kharil, dkk. 2012. “Permainan Dalam Perhitungan Perkalian Berbasis Online
Menggunakan Flash”, Jurnal Media Infotama, vol.8, 2012.

[2] Mediana Sari, Annisa, “Pengertian Basis Data, Komponen, Fungsi dan Tujuannya”,
https://www.fikti.umsu.ac.id/ , 2023.

[3] Hendra, Acep. “Apa itu Java?, Pengertian, Sejarah, Dan Bagaimana Cara Kerjanya”,
https://if.unpas.ac.id/berita/apa-itu-java-pengertian-sejarah-dan-bagaimana-cara-
kerjanya / , Universitas Pasundan, 2022.

[4] Athoillah, Wildan M. “Belajar Menggunakan Fungsi split String pada Java”
,https://www.wildantechnoart.net/2017/12/belajar-menggunakan-fungsi-split-string-
pada-java.html , diakses pada 13 September 2023.

[5] Setiawan, Yudi. “Algoritma Bubble Sort dengan Java”,


https://codepolitan.com/blog/algoritma-bubble-sort-dengan-java, 2016.

[6] Luthra, Tarun. “Sort a String in Java”, https://www-scaler-


com.translate.goog/topics/sort-a-string-in-
java/?_x_tr_sl=en&_x_tr_tl=id&_x_tr_hl=id&_x_tr_pto=tc&_x_tr_hist=true ,2022.

[7] Rangkuman “L5_2A_CANTIKA_221331004”, 2023

33

Anda mungkin juga menyukai