HPK taruh disini
1. Jelaskan proses konversi bilangan 8151(10) kedalam bentuk bilangan Biner, Heksadesimal, dan Oktal.
2. Buatlah penjelasan untuk tipe data signed integer (bilangan bertanda) untuk prosesor yang memiliki jumlah 9 bit.
3. Terdapat empat operasi logika yang dapat digunakan untuk memodifikasi pola bit yaitu complementing, setting, unsetting, dan flipping. Buat penjelasan proses untuk mendapatkan hasil dari angka desimal berikut ini: 207(10) OR 240(10)
4. Algoritma adalah serangkaian langkah-langkah yang jelas untuk mendapatkan hasil dalam waktu yang terbatas. Jelaskan langkah-langkah untuk mengurutkan deretean angka dengan metode bubble sort.
Jawaban :
1. a. Bilangan biner
konversi bilangan biner adalah dengan membagi bilangan desimal dengan 2 dan menyimpan sisa bagi per setiap pembagian terus hingga hasil baginya < 2. Hasil konversi adalah urutan sisa bagi dari yang paling akhir hingga paling awal.
Proses konversi bilangan 8151(10) kedalam bentuk bilangan Biner
Hasil bagi pembagi Sisa bagi
8151 2 1
4075 2 1
2037 2 1
1018 2 0
509 2 1
254 2 1
127 2 0
63 2 0
31 2 0
15 2 0
7 2 0
3 2 0
1 2 0
1 2 1
Hasil konversi bilangan biner dari 8151(10) adalah 1000000011011
B. Bilangan octal
Konversi bilangan octal adalah dengan membagi bilangan desimal dengan 8 dan menyimpan sisa bagi per setiap pembagian terus hingga hasil baginya < 8. Hasil konversi adalah urutan sisa bagi dari yang paling akhir hingga paling awal.
Proses konversi bilangan 8151(10) kedalam bentuk bilangan octal
Hasil bagi pembagi Sisa bagi
8151 8 6
1018 8 6
127 8 0
15 8 0
1 8 6
Hasil konversi bilangan octal dari 8151(10) adalah 66006
C. Bilangan Heksadesimal
konversi bilangan octal adalah dengan membagi bilangan desimal dengan 16 dan menyimpan sisa bagi per seitap pembagian terus hingga hasil baginya < 16. Hasil konversi adalah urutan sisa bagi dari yang paling akhir hingga paling awal. Apabila sisa bagi diatas 9 maka angkanya diubah, untuk nilai 10 angkanya A, nilai 11 angkanya B, nilai 12 angkanya C, nilai 13 angkanya D, nilai 14 angkanya E, nilai 15 angkanya F.
Proses konversi bilangan 8151(10) kedalam bentuk bilangan heksadesimal
Hasil bagi pembagi Sisa bagi
8151 16 6
509 16 6
31 16 0
1 16 14 (E)
Hasil konversi bilangan heksadesimal dari 8151(10) adalah E066
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. . 207(10) or 240(10)
Pertama merubah angka menjadi biner
1 0 1 0 1 0 0 1 207(10)
1 0 0 0 0 0 0 0 240(10)
1 0 1 0 1 0 1 1 OR
4. 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.
0
terurut
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 2. #include
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=(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
Output yang dihasilkan:
Kode Iklan 300x250