HPK taruh disini
1.Jelaskan proses
konversi bilangan 8132(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:
227(10) NOR 220(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 selection sort.
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:
227(10) NOR 220(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 selection 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 8132(10) kedalam
bentuk bilangan Biner
Hasil bagi
|
pembagi
|
Sisa bagi
|
8132
|
2
|
1
|
4066
|
2
|
0
|
2033
|
2
|
0
|
1016
|
2
|
1
|
508
|
2
|
1
|
254
|
2
|
1
|
127
|
2
|
0
|
63
|
2
|
1
|
31
|
2
|
1
|
15
|
2
|
1
|
7
|
2
|
1
|
3
|
2
|
1
|
1
|
2
|
1
|
Hasil konversi bilangan biner dari 8132(10) adalah 1001110111111
B. Bilangan OKTAL.
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 8132(10) kedalam
bentuk bilangan octal
Hasil bagi
|
pembagi
|
Sisa bagi
|
8132
|
8
|
3
|
1016
|
8
|
3
|
127
|
8
|
2
|
15
|
8
|
3
|
1
|
8
|
3
|
Hasil konversi bilangan octal dari 8132(10) adalah 33233
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 8132(10) kedalam bentuk bilangan
heksadesimal
Hasil bagi
|
pembagi
|
Sisa bagi
|
8132
|
16
|
4
|
508
|
16
|
4
|
31
|
16
|
4
|
1
|
16
|
12 (C)
|
Hasil
konversi bilangan heksadesimal dari 8132(10) adalah 444C
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:
4. saya akan menjelaskan dua
cara mengurutkan angka secara ascending (urutan menaik) maupun descending (
urutan menurun ) dengan metode atau cara yang saya sebut dengan Xmin dan Xmax
yang berfungsi sebagai pengatur posisi.detailnya sebagai berikut :
- Mengurutkan
angka secara ascending dengan cara Xmax
- Mengurutkan
angka secara descending dengan cara Xmax
- Mengurutkan
angka secara ascending dengan cara Xmin
- Mengurutkan
angka secara descending dengan cara Xmin
Pada
artikel ini setiap penukaran angka akan saya cetak, sehingga Anda akan lebih
mudah memahami setiap proses yang terjadi. Dan ada method pertukaran angka yang
akan dipakai disetiap fungsi selection sort. Dibawah ini adalah script method
tersebut
void tukar(int a, int b){
int temp;
temp = data[b];
data[b] = data[a];
data[a] = temp;
}
Untuk
mempermudah simpanlah larik atau array yang akan di urutkan dan nilai
maximalnya sebagai atribut, contoh sebgai berikut
int[] data = {-10,0,5,-5,10,15,-15};
public int max = data.length;
Dan
yang terakhir buat method output untuk menampilkan hasil dari seleksi tersebut
void output(){
int i;
for (int j = 0; j <= max-1; j++) {
System.out.print(data[j]+" ");
}
System.out.println();
}
#1 Selection Sort Xmax Ascending
Xmax
adalah variable yang berfungsi sebagai pengatur posisi dan nilai xmax harus
lebih besar dari semua nilai yang ada pada larik tersebut. Artinya jika kita
telah memiliki nilai terbesar, maka pindahkan nilai tersebut ke sebelah kanan
sehingga nilai akan mengurut secara ascending.
Dibawah
ini adalah salah satu Algoritma selection sort maksimum ( Xmax ) Ascending :
- Buat
varialble xmax
- Buat
variable n , yang berisi jumlah isi dari array yang akan
di urutkan dan di min 1 ( Contoh : int a[] {1,2,3}; jadi n = 2, karena
index dimulai dari 0 )
- Buat
variable ujung, yang diberi nilai awal n
- Buat
perulangan ( contoh variable a ) yang dimulai dari 0 sampai n-1
- Didalam
perulangan a isilah variable xmax = 0
- Buat
perulangan b dimulai dari 0 sampai ujung, didalam perulangan a
- Buat
seleksi didalam perulangan b dengan logika : jika data[xmax] < data[b]
jika kondisi benar ganti isi xmax menjadi b ( xmax = b )
- Setelah
perulangan dalam b selesai, cek apakah nilai xmax = ujung ?, jika ya maka
tidak perlu terjadi penukaran, tapi jika tidak terjadi penukaran pada
index ujung dan xmax ( data[ujung] dan data[xmax] )
- Nilai
variable ujung di kurang 1 (ujung–)
- Ulangi
langkah 5-9 selama nilai a<= n-1
Berikut
adalah script dari algoritma diatas:
void sortSelectionXMaxASC(){
int xmax;
int n = max-1;
int ujung = n;
System.out.print("Selelum ");
for(int l:this.data){
System.out.print(l+" ");
}
System.out.println("");
System.out.println("a b xmax ujung ");
for (int a = 0; a <= n-1; a++) {
xmax = 0;
for (int b = 0; b <= ujung; b++) {
if(data[xmax] < data[b]){
xmax = b;
}
System.out.print(a+" "+b+" "+xmax+" "+ujung+" | ");output();
System.out.println("");
}
if(xmax != ujung){
tukar(ujung,
xmax);
}
System.out.print("Tukar : ");output();
System.out.println("");
ujung--;
}
}
#2 Selection Sort Xmax Descending
Ini
adalah salah satu algoritma selection sort descending dengan memanfaatkan Xmax
variable dimana xmax berfungsi sebagai pengatur posisi dan nilai dari xmax
harus lebih besar dari semua nilai yang ada pada larik tersebut artinya jika
kita telah memiliki nilai terbesar, maka nilai tersebut dipindah ke sebelah
kiri, sehingga tercipta pengurutan descending.
Algoritma
dasarnya sebagai berikut:
- Buat
variable xmax dan buat variable n yang berisi jumlah isi dari array yang
akan di urutkan dan di min 1 ( Contoh : int a[] {1,2,3}; jadi n = 2,
karena index dimulai dari 0 )
- Buat
perulangan ( contoh variable a ) yang dimulai dari 0 sampai n-1
- Didalam
perulangan a isilah variable xmax = 0
- Buat
perulangan b dengan nilai awal b = a+1 sampai n
- Buat
seleksi didalam perulangan b dengan logika : jika nilai data[xmax] <
data[b] jika kondisi benar maka xmax = b. proses ini akan terus dilakukan
selama nilai b <= n
- Setelah
perulangan b selesai , cek apakah nilai xmax = a ?, jika yam aka tidak
perlu dilakukan pertukaran nilai, tapi jika tidak, maka lakukan pertukaran
antara index a dan xmax ( data[a] dan data[xmax])
- Ulangi
langkah 3 – 6 sampai perulangan a selesai
Berikut
adalah script dari algoritma diatas:
void sortSelectionXMaxDesc(){
int xmax;
int n = max-1;
System.out.print("Selelum ");
for(int l:this.data){
System.out.print(l+" ");
}
System.out.println("");
System.out.println("a b xmax ");
for (int a = 0; a <= n-1; a++) {
xmax = a;
for (int b = a+1; b <= n; b++) {
if(data[xmax] < data[b]){
xmax = b;
}
System.out.print(a+" "+b+" "+xmax+" | ");output();
System.out.println("");
}
if(xmax != a){
tukar(a,
xmax);
}
System.out.print("Tukar : ");output();
System.out.println("");
}
}
#3 Selection Sort Xmin Ascending
Pada
dasarnya algoritma selection sort ascending Xmin ini adalah kebalikan dari
algoritma selection sort Xmax descending dimana xmin berfungsi sebagai pengatur
posisi dan nilai xmin harus lebih kecil dari semua nilai yang ada pada larik,
berarti jika kita memiliki nilai terendah , maka pindahkan nilai tersebut ke
sebelah kiri, sehingga terciptalah pengurutan ascending.
Berikut
salah satu algoritma selection sort ascending dengan Xmin
- Buat
variable n yang berisi jumlah isi dari array yang akan di urutkan dan di
min 1 ( Contoh : int a[] {1,2,3}; jadi n = 2, karena index dimulai dari 0
)
- Buat
perulangan a dengan nilai awal 0 sampai n-1
- Didalam
perulangan a , beri nilai xmin = a;
- Buat
perulangan b dimulai dari a+1 sampai n didalam perulangan a
- Buat
kondisi didalam perulangan b dengan logika : jika nilai data[xmin] >
data[b], maka xmin = b. proses ini terus dilakukan selama nilai b <= n
- Setelah
perulangan b selesai, cek apakah nilai xmin = a ?, jika ya, maka tidak
perlu dilakukan penukaran nlai, jika tidak maka lakukan lah pertukaran
nilai antara data[a] dan data[xmin]
- Ulangi
langkah 3-6 selama nilai a<=n-1
Berikut
adalah script dari algoritma diatas :
void sortSelectionXMinAsc(){
int xmin;
int n = max-1;
/* ini hanya untuk tampilan */
System.out.print("Selelum ");
for(int l:this.data){
System.out.print(l+" ");
}
System.out.println("");
System.out.println("a b xmin ");
for (int a = 0; a <= n-1; a++) {
xmin=a;
for (int b = a+1; b <= n; b++) {
if(data[xmin] > data[b]){
xmin=b;
}
System.out.print(a+" "+b+" "+xmin+" | ");output();
System.out.println("");
}
if(xmin != a){
tukar(a,
xmin);
}
System.out.print("Tukar : ");output();
System.out.println("");
}
}
#4 Selection Sort Xmin Descending
Algoritma
selection sort descending dengan xmin ini adalah kebalikan dari algoritma
selection sort descending dengan xmax dimana xmin sebagai pengatur posisi dan
xmin selalu lebih kecil dari semua nilai yang ada pada larik, berarti jika
telah memiliki nilai terendah maka pindahkan nilai tersebut ke sebelah kanan,
sehingga terciptalah pengurutan secara descending atau menurun.
Ini
adalah salah satu algoritma mengurutkan nilai secara descending dengan xmin:
- Buat
varialble xmin
- Buat
variable n , yang berisi jumlah isi dari array yang akan di urutkan dan di
min 1 ( Contoh : int a[] {1,2,3}; jadi n = 2, karena index dimulai dari 0
)
- Buat
variable ujung, yang diberi nilai awal n
- Buat
perulangan ( contoh variable a ) yang dimulai dari 0 sampai n-1
- Didalam
perulangan a isilah variable xmin = 0
- Buat
perulangan b dimulai dari 0 sampai ujung, didalam perulangan a
- Buat
seleksi didalam perulangan b dengan logika : jika data[xmin] > data[b]
jika kondisi benar ganti isi xmin menjadi b ( xmin = b )
- Setelah
perulangan dalam b selesai, cek apakah nilai xmin = ujung ?, jika ya maka
tidak perlu terjadi penukaran, tapi jika tidak terjadi penukaran pada
index ujung dan xmin ( data[ujung] dan data[xmin] )
- Nilai
variable ujung di kurang 1 (ujung–)
- Ulangi
langkah 5-9 selama nilai a<= n-1
Berikut
adalah script dari algoritma diatas :
void sortSelectionXMinDesc(){
int xmin;
int n = max-1;
int ujung = n;
/* ini hanya untuk tampilan */
System.out.print("Selelum ");
for(int l:this.data){
System.out.print(l+" ");
}
System.out.println("");
System.out.println("a b xmin ujung ");
for (int a = 0; a <= n-1; a++) {
xmin=0;
for (int b = 0; b <= ujung; b++) {
if(data[xmin] > data[b]){
xmin=b;
}
System.out.print(a+" "+b+" "+xmin+" "+ujung+" | ");output();
System.out.println("");
}
if(xmin != a){
tukar(ujung, xmin);
}
System.out.print("Tukar : ");output();
System.out.println("");
ujung--;
}
}