Algoritma Pembagian

2.3.1 Representasi Basis

Intejer positif dapat direpresentasikan dalam berbagai cara, namun paling umum dipakai adalah sistem desimal atau sistem basis 10. Jadi apabila diberikan suatu intejer positif tanpa keterangan apapun, maka yang di- maksud adalah intejer tersebut memiliki representasi basis 10. Misalnya

a = 1367; ini berarti

a = 1:10 3 + 3:10 2 + 6:10 1 + 7:10 0 :

Sistem lain yang cukup populer adalah sistem biner atau representasi basis

2 yang dipakai dalam kerja mesin komputasi. Misalnya a = 110101 basis 2; ini berarti

5 4 3 2 1 a = 1:2 0 + 1:2 + 0:2 + 1:2 + 0:2 + 1:2 :

Tabel berikut ini mengilutrasikan hubungan antara sistem representasi desi- mal, biner, oktal (basis 8), dan heksadesimal (basis 16) untuk intejer dari 0 sampai 15: Faktanya keempat sistem inilah yang paling sering dipakai dalam bidang terapan, khususnya ilmu komputer.

Basis 10 Basis 2 Basis 8 Basis 16

Secara umum representasi basis dari suatu intejer dinyatakan dalam de…nisi berikut ini.

De…nisi 2.2 Jika b

2 adalah suatu intejer, maka sembarang intejer positf

a dapat diekspresikan secara tunggal sebagai

(2.1) dimana 0 a i < b untuk i = 0; 1; :::; n dan a n 6= 0: Ruas kanan Persamaan

n a=a 1

n b +a n 1 b + ::: + a 1 b+a 0 ;

2.1 disebut representasi basis b dari a; dan dinotasikan dengan

a = (a n a n 1 :::a 1 a 0 ) b :

Selanjutnya dari de…nisi di atas, intejer a i ; untuk 0 i n; disebut dijit. Khususnya, a n disebut dijit berorder tinggi, dan a 0 disebut dijit berorder Selanjutnya dari de…nisi di atas, intejer a i ; untuk 0 i n; disebut dijit. Khususnya, a n disebut dijit berorder tinggi, dan a 0 disebut dijit berorder

a=a n a n 1 :::a 1 a 0 :

Banyaknya dijit dari a disebut dengan presisi atau panjang dari a: Dalam de…nisi di atas terlihat bahwa presisi dari a adalah n: Jika n = 0; maka a disebut intejer presisi tunggal. Sedangkan jika n > 0; maka a disebut sebagai intejer presisi ganda.

Dari De…nisi 2.2, berikut ini diberikan prosedur untuk mengubah repre- sentasi basis-b dari intejer a kebentuk standar desimal dari a:

PROSEDUR 4 procedure ChangeDecimal((a n a n 1 :::a 1 a 0 ) b : intejer) begin

a := 0 for i := 0 to n do

i b return(a) end

a := a + a i

Contoh 2.16 Misalkan (1110101) 2 adalah representasi basis-2 dari intejer

a: Tentukan intejer a: Jawab. Nilai intejer a adalah

z Dalam langkah-langkah berikut ini perhatikan bahwa algoritma pemba-

gian melandasi sistem perubahan representasi basis.

1. Persamaan (2.1) dapat dituliskan sebagai n 1 n a = (a 2

n b +a n 1 b + ::: + a 2 b+a 1 )b + a 0 : Ini berarti a 0 merupakan sisa dari a dibagi oleh b: Dalam hal ini hasil

baginya adalah

1 =a n b +a n 1 b + ::: + a 2 b+a 1 (2.2)

2. Persamaan (2.2) dapat dituliskan sebagai n 2 n q 3

1 = (a n b +a n 1 b + ::: + a 3 b+a 2 )b + a 1 : Ini berarti a 1 merupakan sisa dari q 1 dibagi oleh b: Dalam hal ini hasil

baginya adalah

2 =a n b +a n 1 b + ::: + a 3 b+a 2 (2.3)

3. Persamaan (2.3) dapat dituliskan sebagai n 3 n q 4

2 = (a n b +a n 1 b + ::: + a 4 b+a 3 )b + a 2 : Ini berarti a 2 merupakan sisa dari q 2 dibagi oleh b: Dalam hal ini hasil

baginya adalah

3 =a n b +a n 1 b + ::: + a 4 b+a 3

4. Proses berlanjut sampai didapatkan a n merupakan sisa dari q n dibagi oleh b dan hasil baginya adalah 0:

Contoh 2.17 Nyatakan intejer a = 938 sebagai representasi:

1. basis 8; dan

2. basis 2:

3. basis 16: Jawab. Berdasarkan uraian di atas perhatikan proses berikut ini.

Bagi 8 Hasil Bagi Sisa

a 1 =5 . Jadi 938 = (1652) 8 : q 2 = 14

Bagi 2 Hasil Bagi Sisa

a 4 =0 . Jadi 938 = (1110101010) 2 :

q 5 29

a 5 =1

2 = 14 2 q 7 =7

a 6 =0

2 q = 8 2 q 8 =3

a 7 =1

2 q 9 =1

a 8 =1

2 = 2 q 10 =0

a 9 =1

Bagi 16 Hasil Bagi Sisa

a 1 =5 . Jadi 938 = (1652) 8 :

z Algoritme representasi basis b dinyatakan dalam prosedur berikut dengan

input intejer a

0 dan b 2: PROSEDUR 5 procedure Basis-bRepresetation(a, b : intejer positif ) begin

i := 0 x := a

q := b x

a i := x qb while q > 0 do begin

i := i + 1 x := q q := b x

a i := x qb end

return((a n a n 1 :::a 1 a 0 ) b )

end

2.3.2 Representasi Bilangan Negatif

Intejer negatif dapat direpresentasikan dalam beberapa cara. Dua diantaranya akan dibahas dalam tulisan ini, yaitu: representasi besaran-bertanda dan rep- resentasi komplemen.

Representasi Besaran-bertanda Tanda dari suatu intejer (baik positif maupun negatif) dan besarannya (nilai

mutlak) direprsentasikan sebagai representasi besaran-bertanda. Intejer posi- tif diberi suatu tanda dijit 0; sementara intejer negatif diberi suatu tanda dijit

b 1: Untuk suatu representasi basis-b bedijit n (berupa barisan) terdiri dari: n 1 n b 1 1 intejer positif, b

1 intejer negatif, dan 0 mempunyai dua rep- resentasi. Sebagai ilustrasi, berikut ini diberikan tabel representasi besaran bertanda untuk biner dari intejer dalam selang [ 7; 7]:

Barisan Besaran- Barisan Besaran-

Representasi Komplemen Penjumlahan dan pengurangan representasi komplemen tanpa perlu me-

meriksa dijit tanda. Intejer tak-negatif dalam selang [0; b n 1] direpresen- tasikan sebagai barisan basis-b dengan panjang dijit n dan dijit order tinggi

0: Misalkan x adalah intejer positif yang direpresentasikan sebagai barisan (x n ;x n 1 ; :::; x 1 ;x 0 ) b

dimana x n = 0: Maka x direpresentasikan sebagai barisan

(x n ;x n 1 ; :::; x 1 ;x 0 )+1

dimana x i =b 1 x i dan + adalah jumlahan standar. Sebagai ilustrasi, berikut ini diberikan tabel representasi komplemen untuk biner dari intejer dalam selang [ 7; 7]:

Barisan Komple- Barisan Komple-

1. Jika a; b; c 2 Z + dan a j bc; apakah dapat disimpulkan bahwa a j b atau

b j c?

2. Untuk setiap a; b; c 2 Z; buktikan bahwa jika a - bc; maka a - b dan a - c:

3. Misalkan a; b 2 Z + : Jika b j a dan b j (a + 2) ; buktikan bahwa b = 1 atau b = 2:

4. Jika n 2 Z 2 dan n ganjil, buktikan bahwa 8 j (n

5. Jika a; b 2 Z 2 dan keduanya ganjil, buktikan bahwa 2 j (a +b 2 ) tetapi

2 4 2 - (a +b ):

6. Jika n 2 N; buktikan bahwa 3 j (7 n 4 ):

Soal 2.3.2 Tentukan hasil bagi q dan sisa r dari pembagian a oleh b yang diketahui berikut ini.

4. a = 434 dan b = 31: Soal 2.3.3 Tuliskan intejer berbasis-10 berikut ini ke dalam basis-2, basis-4;

dan basis-8:

Soal 2.3.4 Tuliskan intejer berbasis-10 berikut ini ke dalam basis-2 dan basis- 16:

d ) 6923. Soal 2.3.5 Konversikan masing-masing dari bilangan heksadesimal berikut

ini ke dalam bilangan basis-10 dan basis-2:

d ) A2DF E. Soal 2.3.6 Konversikan masing-masing dari bilangan biner berikut ini ke

a ) A7

b ) 4C2

c ) 1C2B

dalam bilangan basis-10 dan basis-16:

d ) 01011110. Soal 2.3.7 Tuliskan masing-masing dari bilangan biner berikut ini ke dalam

representasi komplemen dua, hasilnya mengikuti pola 8-bit.

a ) 15

15 c ) 100

65 e ) 127

f ) 128.

Soal 2.3.8 Jika suatu mesin menyimpan intejer dengan metode komplemen dua, berapa intejer terbesar dan terkecil yang dapat disimpan apabila meng- gunakan pola 8-bit.

a n ) 4-bit b ) 8-bit c ) 16-bit d ) 32-bit e )2 -bit, n 2 Z + Soal 2.3.9 Dide…nisikan himpunan X

Z + secara rekursif sebagai berikut:

a) 3 2 X; dan

b) jika a; b 2 X; maka a + b 2 X: Buktikan bahwa X = f3k k 2 Z + g; himpunan semua intejer positif yang habis dibagi 3:

Soal 2.3.10 Misalkan n 2 Z + dengan

n=r 2

k :10 + ::: + r 2 :10 +r 1 :10 + r 0 :

Buktikan bahwa

1. 2 j n jika dan hanya jika 2 j r 0 :

2. 4 j n jika dan hanya jika (r 1 :10 + r 0 ):

3. 8 j n jika dan hanya jika (r 2 :10 2 +r 1 :10 + r 0 ):

Buatlah generalisasi dari hasil tersebut.