Anda di halaman 1dari 15

Struktur Data pada Bahasa Pemrograman Java

/**
* Program type data latihan 1.1
* @ Penulis : Thomson
* @ Modul2
*/
public class latihan11{
public static void main (String[] args) {
//variabel
double P =3.14;
byte D = 20;
double R = 0.5*20;
double K;
//deklarasi atau rumusan
K = 2*P*R;
//eksekusi
System.out.println("hasilnya :" + K );
}
}
Struktur Data pada Bahasa Pemrograman Java

KUIS :

Buatlah perhitungan dengan menggunakan algoritma struktur data


sebagaimana berikut ini :

1. Luas lingkaran : π x r x r
2. Keliling Lingkaran : 2 x π x r, jika r = 10 satuan
3. Luas Segitiga : 1/2 x alas x tinggi, dimana alas = 5, tinggi = 14

4. (2d + 4e) x 8f, dimana d:3 e:4 f:6


5. 50 x (25a / 5b), dimana a:65 b:32
6. 10y + 30z, dimana y:22,7 z:34,5
STRUKTUR DATA
BUBBLE SORTING : ASCENDING & DESCENDING
Proses : ascending
step 1 : Periksalah nilai dua elemen mulai dari urutan ke-n
sampai urutan ke-1. Jika nilai kiri<kanan, tukarkan
kedua data itu.
step 2 : Periksalah nilai dua elemen mulai dari urutan ke-n sampai
urutan ke-2. Jika nilai kiri<kanan, tukarkan kedua data itu.

step n-1 : Periksalah nilai dua elemen mulai dari urutan ke-n
sampai urutan ke-n-1. Jika nilai kiri<kanan,
tukarkan kedua data itu.
Berikut diberikan sebuah deretan bilangan seperti berikut:

5, 12, 3, 19, 1, 47 Iterasi 5:


1, 3, 5, 12, 19, 47 --> Tidak ada pertukaran. (1 < 3 == true)
Langkah Bubble Sort: ASCENDING 1, 3, 5, 12, 19, 47 --> Tidak ada pertukaran. (3 < 5 == true)
1, 3, 5, 12, 19, 47 --> Tidak ada pertukaran. (5 < 12 == true)
Iterasi 1: 1, 3, 5, 12, 19, 47 --> Tidak ada pertukaran. (12 < 19 == true)
5, 12, 3, 19, 1, 47 --> Tidak ada pertukaran. (5 < 12 == true) 1, 3, 5, 12, 19, 47 --> Tidak ada pertukaran. (19 < 47 == true)
5, 3, 12, 19, 1, 47 --> Ada pertukaran. (12 < 3 == false)
5, 3, 12, 19, 1, 47 --> Tidak ada pertukaran. (12 < 19 == true) Iterasi 6:
5, 3, 12, 1, 19, 47 --> Ada pertukaran. (19 < 1 == false) 1, 3, 5, 12, 19, 47 --> Tidak ada pertukaran. (1 < 3 == true)
5, 3, 12, 1, 19, 47 --> Tidak ada pertukaran. (19 < 47 == true) 1, 3, 5, 12, 19, 47 --> Tidak ada pertukaran. (3 < 5 == true)
1, 3, 5, 12, 19, 47 --> Tidak ada pertukaran. (5 < 12 == true)
Iterasi 2: 1, 3, 5, 12, 19, 47 --> Tidak ada pertukaran. (12 < 19 == true)
3, 5, 12, 1, 19, 47 --> Ada petukaran. (5 < 3 == false) 1, 3, 5, 12, 19, 47 --> Tidak ada pertukaran. (19 < 47 == true)
3, 5, 12, 1, 19, 47 --> Tidak ada pertukaran. (5 < 12 == true)
3, 5, 1, 12, 19, 47 --> Ada pertukaran. (12 < 1 == false)
3, 5, 1, 12, 19, 47 --> Tidak ada pertukaran. (12 < 19 == true) Jadi, hasil akhir deretan bilangan diatas setelah di Bubble Sort
3, 5, 1, 12, 19, 47 --> Tidak ada pertukaran. (19 < 47 == true) secara Ascending ialah

Iterasi 3:
3, 5, 1, 12, 19, 47 --> Tidak ada pertukaran. (3 < 5 == true) 1, 3, 5, 12, 19, 47
3, 1, 5, 12, 19, 47 --> Ada pertukaran. (5 < 1 == false)
3, 1, 5, 12, 19, 47 --> Tidak ada pertukaran. (5 < 12 == true)
3, 1, 5, 12, 19, 47 --> Tidak ada pertukaran. (12 < 19 == true)
3, 1, 5, 12, 19, 47 --> Tidak ada pertukaran. (19 < 47 == true)

Iterasi 4:
1, 3, 5, 12, 19, 47 --> Ada pertukaran. (3 < 1 == false)
1, 3, 5, 12, 19, 47 --> Tidak ada pertukaran. (3 < 5 == true)
1, 3, 5, 12, 19, 47 --> Tidak ada pertukaran. (5 < 12 == true)
1, 3, 5, 12, 19, 47 --> Tidak ada pertukaran. (12 < 19 == true)
1, 3, 5, 12, 19, 47 --> Tidak ada pertukaran. (19 < 47 == true)
15 26 40 17 3

Asc ?

Desc ?

 
15 26 40 17 3
Iterasi 1 iterasi 5
15 26 40 17 3 => 15 < 26 3 15 17 26 40
15 26 40 17 3 => 26 < 40 3 15 17 26 40
16 26 17 40 3 => 40 < 17 = false 3 15 17 26 40
15 26 17 3 40 => 40 < 3 = false 3 15 17 26 40

Iterasi 2
17 26 17 3 40 => 15 < 26

ASCENDING
15 17 26 3 40 => 26 < 17 = false
18 17 3 26 40 => 26 < 3 = false
15 17 3 26 40 => 26 < 40

Iterasi 3
3 15 17 26 40
19 17 3 26 40 => 15 < 17
15 3 17 26 40 => 17 < 3 = false
20 3 17 26 40 => 17 < 26
15 3 17 26 40 => 26 < 40

Iterasi 4
3 15 17 26 40 => 15 < 3 = False
3 15 17 26 40 => 15 < 17
3 15 17 26 40 => 17 < 26
3 15 17 26 40 => 26 < 40
15 26 40 17 3
Iterasi 1 iterasi 5
26 15 40 17 3 => 15 > 26 = false 40 26 17 15 3 =>40 > 26
26 40 15 17 3 => 15 > 40 = false 40 26 17 15 3 => 26 > 17
26 40 17 15 3 => 15 > 17 = false 40 26 17 15 3 => 17 > 15
26 40 17 15 3 => 15 > 3 40 26 17 15 3 => 15 > 3
Iterasi 2
40 26 17 15 3 => 26 > 40 = false
40 26 17 15 3 => 26 > 17

DESCENDING
40 26 17 15 3 => 17 > 15
40 26 17 15 3 => 15 > 3
Iterasi 3
40 26 17 15 3 =>40 > 26
40 26 17 15 3 => 26 > 17
40 26 17 15 3
40 26 17 15 3 => 17 > 15
40 26 17 15 3 => 15 > 3
Iterasi 4
40 26 17 15 3 =>40 > 26
40 26 17 15 3 => 26 > 17
40 26 17 15 3 => 17 > 15
40 26 17 15 3 => 15 > 3
import java.util.Arrays;
public class BubbleSortAsc {
public static void main(String[] args) {
// Variable
int[] bilangan = {5, 12, 3, 19, 1, 47};
// Tampilkan bilangan
System.out.println("Bilangan sebelum di sorting Bubble Sort : "+Arrays.toString(bilangan));
// Proses Bubble Sort
System.out.println("\nProses Bubble Sort secara Ascending:");
for(int a = 0; a < bilangan.length; a++) {
// Tampilkan proses Iterasi
System.out.println("Iterasi "+(a+1));
for(int b = 0; b < bilangan.length-1; b++) { if(bilangan[b] > bilangan[b+1]) {
// proses pertukaran bilangan
int temp = bilangan[b];
bilangan[b] = bilangan[b+1];
bilangan[b+1] = temp;
}
// Tampilkan proses pertukaran tiap iterasi
System.out.println(Arrays.toString(bilangan));
}
System.out.println();
}
// Tampilkan hasil akhir
System.out.println("Hasil akhir setelah di sorting: "+Arrays.toString(bilangan));
}
}
5, 12, 3, 19, 1, 47

Langkah Bubble Sort: DESCENDING Iterasi 5:


47, 19, 12, 5, 3, 1 --> Ada pertukaran. (19 > 47 == false)
Iterasi 1: 47, 19, 12, 5, 3, 1 --> Tidak ada pertukaran. (19 > 12 == true)
12, 5, 3, 19, 1, 47 --> Ada pertukaran. (5 > 12 == false) 47, 19, 12, 5, 3, 1 --> Tidak ada pertukaran. (12 > 5 ==true)
12, 5, 3, 19, 1, 47 --> Tidak ada pertukaran. (5 > 3 == true) 47, 19, 12, 5, 3, 1 --> Tidak ada pertukaran. (5 > 3 == true)
12, 5, 19, 3, 1, 47 --> Ada pertukaran. (3 > 19 == false) 47, 19, 12, 5, 3, 1 --> Tidak ada pertukaran. (3 > 1 == true)
12, 5, 19, 3, 1, 47 --> Tidak ada pertukaran. (3 > 1 == true)
12, 5, 19, 3, 47, 1 --> Ada pertukaran. (1 > 47 == false) Iterasi 6:
47, 19, 12, 5, 3, 1 --> Tidak ada pertukaran. (47 > 19 == true)
Iterasi 2: 47, 19, 12, 5, 3, 1 --> Tidak ada pertukaran. (19 > 12 == true)
12, 5, 19, 3, 47, 1 --> Tidak ada pertukaran. (12 > 5 == true) 47, 19, 12, 5, 3, 1 --> Tidak ada pertukaran. (12 > 5 == true)
12, 19, 5, 3, 47, 1 --> Ada pertukaran. (5 > 19 == false) 47, 19, 12, 5, 3, 1 --> Tidak ada pertukaran. (5 > 3 == true)
12, 19, 5, 3, 47, 1 --> Tidak ada pertukaran. (5 > 3 == true) 47, 19, 12, 5, 3, 1 --> Tidak ada pertukaran. (3 > 1 == true)
12, 19, 5, 47, 3, 1 --> Ada pertukaran. (3 > 47 == false)
12, 19, 5, 47, 3, 1 --> Tidak ada pertukaran. (3 > 1 == true) Jadi, hasil akhir deretan bilangan diatas setelah di Bubble Sort secara
Descending adalah :
Iterasi 3:
19, 12, 5, 47, 3, 1 --> Ada pertukaran. (12 > 19 == false) 47, 19, 12, 5, 3, 1
19, 12, 5, 47, 3, 1 --> Tidak ada pertukaran. (12 > 5 == true)
19, 12, 47, 5, 3, 1 --> Ada pertukaran. (5 > 47 == false)
19, 12, 47, 5, 3, 1 --> Tidak ada pertukaran. (5 > 3 == true)
19, 12, 47, 5, 3, 1 --> Tidak ada pertukaran. (3 > 1 == true)

Iterasi 4:
19, 12, 47, 5, 3, 1 --> Tidak ada pertukaran. (19 > 12 == true)
19, 47, 12, 5, 3, 1 --> Ada pertukaran. (12 > 47 == false)
19, 47, 12, 5, 3, 1 --> Tidak ada pertukaran. (12 > 5 == true)
19, 47, 12, 5, 3, 1 --> Tidak ada pertukaran. (5 > 3 == true)
19, 47, 12, 5, 3, 1 --> Tidak ada pertukaran. (3 > 1 == true)
import java.util.Arrays;
public class BubbleSortDesc {
public static void main(String[] args) {
// Variable
int[] bilangan = {5, 12, 3, 19, 1, 47};

// Tampilkan bilangan
System.out.println("Bilangan sebelum di sorting Bubble Sort : "+Arrays.toString(bilangan));

// Proses Bubble Sort


System.out.println("\nProses Bubble Sort secara Descending:");
for(int a = 0; a < bilangan.length; a++) {
// Tampilkan proses Iterasi
System.out.println("Iterasi "+(a+1));
for(int b = 0; b < bilangan.length-1; b++) {
if(bilangan[b] < bilangan[b+1]) {
// proses pertukaran bilangan
int temp = bilangan[b];
bilangan[b] = bilangan[b+1];
bilangan[b+1] = temp;
}

// Tampilkan proses pertukaran tiap iterasi


System.out.println(Arrays.toString(bilangan));
}
System.out.println();
}
// Tampilkan hasil akhir
System.out.println("Hasil akhir setelah di sorting: "+Arrays.toString(bilangan));
}
}
Apakah yang anda peroleh setelah satu
iterasi dalam bubble sort selesai ?

1. Setelah iterasi pertama selesai, elemen


dengan nilai terbesar akanmuncul di
ujung paling kiri
2. Setelah iterasi kedua selesai, elemen
dengan nilai terbesar kedua akan
muncul pada urutan kedua dari kiri
3. dst.
TUGAS PER KELOMPOK
Cari Anggota sebanyak 5 orang per kelompok (6 kelompok),
Kemudian buat masing-masing kelompok SOAL Tentang Bubble
Sort !

Buat soal Bubble Sort 1 buah saja, deretnya seperti Contoh !

Berikan soal Anda ke :


1 < >2
3 < >4
5<>6

1. Urutkan deret angka berikut dengan bubble sort

13 14 10 4 18 20 25 17

2. Tuliskan hasil tiap langkah (step).


2x + 5x + 6x + 4x - 27
4 3 2

Algortimanya ????

Anda mungkin juga menyukai