struktur data
by
aripradani358.blogspot.com
- April 29, 2013
1)
Apa pentingnya mempelajari struktur
data?
-
Kita dapat lebih memahami berbagai macam
jenis tipe data pada bahasa java yang digunakan dalam berbagai macam kasus,
-
Serta memahami konsep array sederhana
dan menggunakan dalam menyelesaikan kasus.
1)
Bagaimanakah mendeklarasikan
variabel-variabel berikut ini dalam bahasa pemrograman java:
a)
Variabel array dengan nama Mahasiswa
dengan kapasitas 30 untuk menyimpan nama mahasiswa yang mengambil mata kuliah
struktur data.
è String
[] nama_Mahasiswa = new String [30];
b)
Variabel array dengan nama Bil_Prima
untuk menyimpan 10 bilangan prima.
è int
[] Bil_Prima = new int [10];
c)
Variabel array dengan nama Nilai_UTS
untuk menyimpan nilai UTS 30 mahasiswa (nilai mahasiswa yang disimpan merupakan
bilangan desimal) .
è double
[] Nilai_UTS = new double [30];
4.
Jika diberikan deretan bilangan sebagai
berikut: 0, 10, 8, 2, 4, 1
Bagaimanakah
proses pengurutan deretan bilangan di atas menggunakan algoritma bubble sort dan algoritma selection sort? Menurut anda, di antara
kedua algoritma tersebut, manakah yang lebih baik? Jelaskan jawaban anda!
-
Babble
Sort : merupakan
cara yang mengurutkan data dengan cara membandingkan elemen sekarang dengan
dengan yang berikutnya.
0
10 8 2 4 1 à 0<10 è
tidak ditukar
0
10 8 2
4 1 Ã
0<8 è tidak
ditukar
0
10 8 2 4 1 Ã
0<2 è tidak
ditukar
0 10 8
2 4 1
à 0<1 è tidak
ditukar
0 10 8 2
4 1 Ã
10>8 è ditukar
0 8 10 2
4 1 à 8 >2 è ditukar
0 2 10
8 4 1 à 2 <4 è tidak ditukar
0 2 10
8 4 1
à 2 >1 è ditukar
0 1 10
8 4 2 Ã
10>8 è ditukar
0 1
8 10
4 2 à 8 >4 è ditukar
0 1
4 10
4 2 Ã 4
>2 è ditukar
0 1
2 10 8 4 Ã
10>8 è ditukar
0 1
2 8 10 4 à 8 >4 è ditukar
0 1
2 4 10 8 à 10>8 è ditukar
Hasil
akhirnya adalah 0,1,2,4,8,10.
-
Selection
Sort : Setiap
proses akan dicari elemen-elemen yang belum diurutkan yang memiliki nilai
terkecil atau terbesar akan dipertukarkan ke posisi yang tepat di dalam array.

0 < 8 Ã
posisi 0
0 < 2 Ã
posisi 0 tidak ada penukaran tetap
pada data ke-0(0)
0 < 4 Ã
posisi 0
0 < 1 Ã
posisi 0

8 > 2 Ã
posisi 3
2 < 4 Ã
posisi 3
2 > 1 Ã
posisi 5 tukar data ke-1(10) dengan
data ke-5(1)

2 < 4 Ã
posisi 3
2 <10Ã
posisi 3

4 <10Ã
posisi 4

Hasil
akhirnya adalah 0,1,2,4,8,10.
Menurut
saya, setiap sort memiliki keunggulan tersendiri, namun dalam hal ini saya
memilih selection sort yang baik untuk digunakan, karena secara proses
pembandingan dan pengubahan hanya dilakukan pada indeks pembanding saja,
pertukaran data secara fisik terjadi pada akhir proses.
2)
Jika diberikan deklarasi sebagai
berikut:
int [] abc =
new int[10];
abc[0] = 9;
abc[1] = -1;
abc[2] = 0;
abc[3] = 10;
abc[4] = 20;
abc[5] = 21;
abc[6] = 7;
abc[7] = 11;
abc[8] = 19;
abc[9] = 4;
buatlah
listing program untuk mencari posisi bilangan tertentu pada array tersebut dan
tampilkan posisinya! Bilangan yang dicari harus diinputkan oleh user. (tidak
harus menuliskan listing program keseluruhan, hanya bagian pencarian dan
menampilkan posisi saja)
public static void main(String[] args) {
// TODO code application logic here
Scanner Coy=new Scanner(System.in);
int posisi = 0;
int[] a = new int[10];
a[0]=11;
a[1]=10;
a[2]=18;
a[3]=22;
a[4]=12;
a[5]=14;
a[6]=13;
a[7]=23;
a[8]=21;
a[9]=12;
System.out.print("Masukkan Angka Coy =
");
int cari=Coy.nextInt();
for(int i=0;i<10;i++){
if(a[i]==cari){
posisi=i;
}
}
System.out.println(cari+" Berada Di
Posisi "+posisi);
}
}