HPK taruh disini
1.
a. 8110(10) Ke Biner
Jadi hasil konversi bilangan biner dari 8110 (10) adalah 1111101011110
b. 8110(10) Heksadesimal
Jadi hasil konversi bilangan biner dari 8110 (10) adalah 1111101011110
b. 8110(10) Heksadesimal
Angka
Awal
|
8110
|
4055
|
2027
|
1013
|
506
|
253
|
126
|
63
|
31
|
15
|
7
|
3
|
Bagi
|
2
|
2
|
2
|
2
|
2
|
2
|
2
|
2
|
2
|
2
|
2
|
2
|
Sisa
|
0
|
1
|
1
|
1
|
1
|
0
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
A
|
B
|
C
|
D
|
E
|
F
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
Pisahkan
bilangan binner yang tadi sudah di dapatkan dari 8110 dengan asing-masing 4
kelompok. Jumlahkan angka di bawah kolom nomor 2 yang bernilai 1. Setelah itu
hasil penjumlahan misalnya 14 maka lihat rumus diatas maka 14 adalah E untuk Heksadesimalnya.
1
|
1
|
1
|
1
|
1
|
0
|
1
|
0
|
1
|
1
|
1
|
1
|
0
|
1
|
8
|
4
|
2
|
1
|
8
|
4
|
2
|
1
|
8
|
4
|
2
|
1
|
1
|
15
|
13
|
14
|
|||||||||
1
|
F
|
D
|
E
|
Bilangan Hexadecimalnya dari 8110 adalah1FDE
2.
8110(10) Oktal
Bilangan Oktal adalah : bilangan yang hanya sampai 7.
Bilangan Oktal adalah : bilangan yang hanya sampai 7.
Pisahkan bilangan binner yang tadi sudah di dapatkan dari 8110
dengan masing-masing 3 kelompok. Jumlahkan angka di bawah kolom nomor 2 yang
bernilai 1
1
|
1
|
1
|
1
|
1
|
0
|
1
|
0
|
1
|
1
|
1
|
1
|
0
|
1
|
4
|
2
|
1
|
4
|
2
|
1
|
4
|
2
|
1
|
4
|
2
|
1
|
1
|
7
|
5
|
3
|
6
|
Bilangan Oktal dari 8110 adalah = 17536
2. Binner Bertanda 9 Bit
Computer architecture
|
Word size
w
|
Integer sizes
|
Foating pont sizes
|
Instruction sizes
|
Unit of address resolution
|
Char size
|
Calcomp 900
|
9 bit
|
w
|
-
|
w, 2w
|
w
|
8
|
key: b: bits, d: decimal digits,w: word size of
architecture, n: variable size
3. 192(10) NOR 151(10)
1
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
192(10)
|
1
|
0
|
1
|
1
|
0
|
1
|
0
|
1
|
151(10)
|
0
|
1
|
0
|
0
|
1
|
0
|
1
|
0
|
NOR
|
Jika 1 ketemu dengan 1
maka hasilnya 0 dan jika 0 ketemu dengan 1 maka hasilnya 0 begitu seterusnya.
3.
Proses untuk
mendapatkan hasil dari angka desimal 180(10) NOR
139(10)
1.
102
101
100
1
3 2
N= 1x102
3x101 2x100
Nilai angka desimalnya
adalah 100 + 30 + 20 = 150
2.
102
101
100
2
4 5
N= 2x102
4x101 5x100
Nilai
angka desimalnya adalah 200 + 40 + 50 = 290
4.
1. Pengurutan Ascending :Jika elemen sekarang lebih besar
dari elemen
berikutnya maka kedua elemen tersebut
ditukar.
2. Pengurutan Descending: Jika elemen sekarang
lebih kecil
dari elemen
berikutnya, maka kedua elemen tersebut
ditukar.
5. Algoritma ini seolah-olah menggeser satu per satu elemen
dari kanan
ke kiri atau kiri ke kanan, tergantung jenis
pengurutannya,
asc atau desc.
4. Ketika satu proses telah selesai, maka bubble sort akan
mengulangi
proses, demikian seterusnya sampai dengan
iterasi
sebanyak n-1.
5. Kapan berhentinya? Bubble sort berhenti jika seluruh array
telah
diperiksa dan tidak ada pertukaran lagi yang bisa
dilakukan, serta tercapai perurutan yang telah diinginkan.
BUBBLE SORT
Bubble sort adalah proses pengurutan sederhana yang bekerja
dengan cara berulang kali membandingkan dua elemen data pada suatu saat dan
menukar elemen data yang urutannya salah. Ide dari Bubble sort adalah
gelembung air yang akan “mengapung” untuk table yang terurut
menaik (ascending). Elemen bernilai kecil akan “diapungkan” (ke
indeks terkecil), artinya diangkat ke “atas”(indeks terkecil)
melalui pertukaran. Karena algoritma ini melakukan pengurutan dengan cara
membandingkan elemen-elemen data satu sama lain, maka bubble
sort termasuk ke dalam jenis algoritma comparison-based sorting.
Proses dalam Bubble sort dilakukan
sebanyak N-1 langkah (pass) dengan N adalah ukuran array. Pada akhir
setiap langkah ke – I , array L[0..N] akan terdiri atas dua bagian, yaitu bagian yang sudah terurut L[0..I] dan
bagian yang belum terurut L[I+1..N-1]. Setelah langkah terakhir,
diperoleh array L[0..N-1] yang terurut menaik.
Untuk mendapatkan urutan yang menaik, algoritmanya dapat ditulis
secara global sebagai berikut :
Untuk setiap pass ke – I = 0,1,………., N-2 , lakukan :
Mulai dari elemen J = N-1, N-2,….., I + 1, lakukan :
·
Bandingkan L[J-1]
dengan L[J]
·
Pertukarkan L[J-1]
dengan L[J] jika L[J-1] > L[J]
Rincian setiap pass adalah sebagai berikut :
Pass 1: I = 0. Mulai dari elemen J
= N-1,N–2,…,1, bandingkan L[J-1] dengan L[J]. Jika L[J-1] > L[J],
pertukarkan L[J-1] dengan L[J]. Pada akhir langkah 1, elemen L[0] berisi harga
minimum pertama.
Pass 2: I = 1. Mulai dari elemen J
= N-1,N–2,…,2, bandingkan L[J-1] dengan L[J]. Jika L[J-1] > L[J],
pertukarkan L[J-1] dengan L[J]. Pada akhir langkah 2, elemen L[1] berisi harga
minimum kedua dan array L[0..1] terurut, sedangkan L[2..(N-1)] belum terurut.
Pass 3: I = 2. Mulai dari elemen J
= N-1,N–2,…,3, bandingkan L[J-1] dengan L[J]. Jika L[J-1] > L[J],
pertukarkan L[J-1] dengan L[J]. Pada akhir langkah 3, elemen L[2] berisi harga
minimum ketiga dan array L[0..2] terurut, sedangkan L[3..(N-1)] belum terurut.
………
Pass N-1: Mulai dari elemen J = N-1, bandingkan L[J-1]
dengan L[J]. Jika L[J-1] > L[J], pertukarkan L[J-1] dengan L[J].
Pada akhir langkah N-2, elemen L[N-2] berisi nilai minimun ke
[N-2] dan array L[0..N-2] terurut menaik (elemen yang tersisa
adalah L[N-1], tidak perlu diurut karena hanya satu-satunya).
Misal array L dengan N = 5 buah elemen yang
belum terurut. Array akan diurutkan secara ascending(menaik).
8
|
9
|
7
|
6
|
1
|
0 1
2 3 4
Pass 1 :
I = 0 ;J= N-1=
4
8 9
7 1
6
J =
3
8 9 1
7 6
J =
2 8 1
9
7 6
J =
1 1
8
9
7 6
Hasil akhir langkah 1 :
1
|
8
|
9
|
7
|
6
|
0
1 2
3 4
Pass 2 :
I = 1 ;J= N-1=
4 1
8 9 6
7
J =
3 1 8 6
9 7
J =
2 1 6
8
9 7
Hasil akhir langkah 2 :
1
|
6
|
8
|
9
|
7
|
0
1 2
3 4
Pass 3 :
I = 2 ;J= N-1=
4 1 6 8 7
9
J =
3 1 6 7
8 9
Hasil akhir langkah 3 :
1
|
6
|
7
|
8
|
9
|
0
1 2
3 4
Pass 4 :
I = 3 ;J= N-1=
4 1 6 7 8 9
Hasil akhir langkah 4 :
1
|
6
|
7
|
8
|
9
|
0
1 2
3 4
Selesai. Array L sudah terurut !!
Pseudocode prosedur algoritma Bubble Sort secara Ascending
1. //prosedur algoritma
Bubble Sort secara Ascending2. //I.S:array sudah berisi nilai integer yang
belum terurut
3. //F.S:nilai-nilai dalam array terurut secara Ascending
4. procedure v_Bubble(input/output A:array[0..4]of integer,
input N:integer)
5. KAMUS:
6. i,j,temp:integer
|
7. ALGORITMA:8. for(i=0;i<=(N-2);i++)
9. for(j=(N-1);j>=(i+1);j–)
10. if (A[j-1]>A[j])
11. tempßA[j-1]
12. A[j-1]ßA[j]
13. A[j]ßtemp
14. endif
15. endfor
16. endfor
17.end procedure
|
Program lengkap penerapan algoritma Bubble Sort dalam
bahasa C
1. #include
<stdio.h>2. #include <conio.h>
3.
4. void v_Bubble(int A[],int N);
5. void main()
6. { int L[5];
7. int i,N;
8. //proses untuk memasukkan data array
9. printf(“Banyak data :
“);scanf(“%i”,&N);
10. for(i=0;i<N;i++)
11. { printf(“Data ke-%i: “,i+1);
12. scanf(“%i”,&L[i]); }
//end loop i
13. //memanggil procedure bubble sort
14. v_Bubble(L,N);
15.
16. //proses menampilkan kembali data array
17. printf(“\nData Array Terurut\n”);
18. for(i=0;i<N;i++)
19. { printf(“%3i”,L[i]); };
20. getche();
21. } //end main program
22.
23. void v_Bubble(int A[5],int N)
24. { int a,b,temp;
25. //proses sortir dengan bubble sort
26. for(a=0;a<=(N-2);a++)
27. { for(b=(N-1);b>=(a+1);b–)
28. { if (A[b-1] > A[b])
29. { temp = A[b-1];
30. A[b-1]=
A[b];
31. A[b] =
temp; } //endif
32. } //end loop j
33. } //end loop i
34. } //end procedure v_Bubble
|