Sabtu, 11 April 2020

Representasi Data, Representasi Integer dan Penjumlahan serta pengurangan Bilangan Biner

REPRESENTASI DATA

REPRESENTASI DATA

Data adalah sesuatu yang belum mempunyai arti bagi penerimanya dan masih memerlukan adanya suatu pengolahan. Data bisa berwujud suatu keadaan, gambar, suara, huruf, angka, matematika, bahasa ataupun simbol-simbol lainnya yang bisa kita gunakan sebagai bahan untuk melihat lingkungan, obyek, kejadian ataupun suatu konsep. Representasi data adalah lambang untuk memberi tanda bilangan biner yang telah diperjanjikan yakni 0 (nol) untuk bilangan positif atau plus dan 1 untuk bilangan negatif atau minus. Pada bilangan n-bit, jika susunannya dilengkapi dengan bit tanda maka diperlukan register dengan panjang n+1 bit. Dalam hal ini, n bit digunakan untuk menyimpan bilangan biner itu sendiri dan satu bit untuk tandanya. Pada representasi bilangan biner yang dilengkapi dengan tanda bilangan, bit tanda ditempatkan pada posisi paling kiri.

TIPE DATA
Disetiap bahasa pemrograman, disediakan berbagai jenis tipe data. Penentuan tipe data yang tepat (sesuai dengan karakterisitik data yang akan diolah) akan menjadikan sebuah program dapat dieksekusi secara efektif.

Jenis-Jenis Tipe Data :
1. Integer
Interger adalah data numerik yang tidak mengandung pecahan, dan disajikan dalam memori komputer sebagai angka bulat. Mengacu pada obyek data dengan range -32768 s/d 32767. Operasi yang dapat dilaksanakan :

Penambahan ( + )
Pengurangan ( - )
Perkalian ( * )
Pembagian Integer ( / )
Pemangkatan ( ^ )
Operasi diatas disebut dengan operasi Binar atau arimatic operator yaitu operasi yang bekerja terhadap 2 Integer ( operand ). Sedangkan operator yang mempunyai satu operand disebut Unar ( Negasi = Not ). Selain itu ada juga operasi tambahan yang disediakan oleh bahasa pemrograman tertentu, yaitu :
MOD : sisa hasil pembagian bilangan
DIV : hasil pembagi bilangan
ABS : Mempositifkan bilangan negative
SQR : menghitung nilai akar dari bilangan Penulisan di dalam bahasa pemrograman Pascal : var a : integer
2. Real
Data numerik yang mengandung pecahan digolongkan dalam jenis data Real (floating point). Operasi yang berlaku pada bilangan integer juga berlaku pada bilangan real. Selain itu ada operasi lainnya seperti :
INT : membulatkan bilangan real , misal INT(34.67) = 34

3. Boolean
Type ini dikenal pula sebagai “ Logical Data Types”, digunakan untuk melakukan pengecekan suatu kondisi dalam suatu program. Elemen datanya hanya ada 2 yaitu True dan False, biasanya dinyatakan pula sebagai 1 dan 0. Operatornya terdiri dari : AND, OR, NOT. Dalam urutan operasi, Not mendapat prioritas pertama, kemudian baru AND dan OR kecuali bila diberi tanda kurung. Sama halnya seperti table logika, Nilai true dan false dapat juga dihasilkan oleh operator Relational.
Operator tersebut : < , > , <= , >= , = , <> , =
Ex. 6 < 12 : True ,
A <>A : False.

4. Karakter dan String
Type karater mempunyai elemen sebagai berikut :
(0,1,2,3,…,9,A,B,C,…,X,Y,Z,?,*,/,…)
Data type majemuk yang dibentuk dari karakter disebut STRING. Suatu string adalah barisan hingga simbol yang diambil dari himpunan karakter yang digunakan untuk membentuk string dinamakan Alfabet.
Contoh : Himpunan string {A,A,1} dapat berisi antara lain :
(AB1), (A1B), (1AB),…dst.
Termasuk string Null ( empty / hampa / kosong ) = { }
Secara umum suatu string S dinyatakan : S : a1, a2, a3,… an, Panjang dari string dilambangkan S =N atau Length (S) = N dimana N adalah banyaknya karakter pembentuk string. Untuk string Null = 0, untuk blank (spasi)=1.

Teori Bilangan
Teori Bilangan adalah suatu cara untuk mewakili besaran dari suatu item phisik. Sistem bilangan yang paling banyak dipergunakan oleh manusia adalah sistem bilangan desimal , yaitu sistem bilangan yang banyak menggunakan10 macam simbol untuk mewakili suatu besaran. Basis yang digunakan masing-masing sistem bilangan tergantung dari jumlah nilai bilangan yang dipergunakan.
Sistem bilangan desimal dengan basis 10, menggunakan 10 macam simbol bilangan yaitu 0,1,2,3,4,5,6,7,8 dan 9. Nilai suatu bentuk bilangan desimal dapat berupa integer desimal atau pecahan desimal. Integer desimal adalah nilai desimal yang bulat. Absolute value merupakan nilai mutlak dari masing-masing digit bilangan. Position value (nilsi posisi) merupakan penimbang atau bobot dari masing-masing digit tergantung dari letak posisinya yaitu bernilai basis dipangkatkan dengan urutan posisinya.
Contoh: 234,5 = 2x102 + 3×101 + 4×100 + 5×10-1
Artinya : 7 ratusan,2 puluhan,4 satuan.dan 5 sepersepuluhan
Sistem bilangan binari dengan 2 basis (binary berarti 2), menggunakan 2 macam simbol bilangan. Bilangan berbentuk 2 digit angka yaitu 0 dan 1.
Contoh: 101111 = 1×25 + 0×24 + 1×23 + 1×22 + 1×21 + 1×20 = 47
Sehingga (101101)2 = (47)10
Sistem bilangan oktal dengan basis 8 (octal berarti 8), menggunakan 8 macam simbol bilangan, yaitu 0,1,2,3,4,5,6 dan 7.
Contoh penjumlahan : 376 (8) + 45 (8) = ……. (8) 11 376 45 ------ + 443 5+6=11, 11/8= 1 sisa 3 1+7+4=12, 12/8= 1 sisa 4 1+3=4
Contoh perkalian : 56 (8) x 43 (8) = ……. (8) 56 43 ------ x 212 3x6=18, 18/8= 2 sisa 2 270 3x5=15+ 2 =17, 17/8=2 sisa 1 ------- + 4x6=24, 24/8= 3 sisa 0 3112 4x5=20+ 3 =23, 23/8=2 sisa 7
Sistem bilangan hexadecimal dengan 16 basis ( hexa berari 6 dan deca berarti10), menggunakan 16 macam simbol bilangan yaitu; 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E dan F. Bentuk nilai suatu bil.hexa dapat berupa integer hexa (hexa integer) atau pecahan hexa (hexa fraction) . Integer Hexa adalah nilai hexa yang bulat.
Contoh 152B (16)
artinya : 152B (16) = (1x16 3 ) + (5x16 2 ) +(2x16 1 ) +(Bx16 0 ) = (1x4096) + (5x256) + (2x16) + (11x1) = 4096 + 1280 + 32 + 11 = 5419 (10).
KONVERSI BILANGAN
1. Konversi Bilangan Biner ke Desimal
Sistem bilangan desimal/persepuluhan adalah sistem bilangan yang menggunakan 10 macam angka dari 0,1, sampai 9. Setelah angka 9, angka berikutnya adalah 1 0, 1 1, dan seterusnya (posisi di angka 9 diganti dengan angka 0, 1, 2, .. 9 lagi, tetapi angka di depannya dinaikkan menjadi 1). Sistem bilangan desimal sering dikenal sebagai sistem bilangan berbasis 10, karena tiap angka desimal menggunakan basis (radix) 10, seperti yang terlihat dalam contoh berikut:
angka desimal 152 jika diurai lebih detail akan sama dengan 1*102 + 5*101 + 2*100
152 = 1*102 + 5*101 + 2*100

2. Konversi Bilangan bulat Desimal ke Biner
Konversi bilangan bulat Desimal ke Biner dilakukan dengan membagi secara berulang-ulang suatu bilangan desimal dengan 2. Sisa setiap pembagian merupakan bit yang didapat.
Contoh: Konversi 625 Desimal ke Biner.
625 / 2 = 312 sisa 1 (LSB)
312 / 2 = 156 0
156 / 2 = 78 0
78 / 2 = 39 0
39 / 2 = 19 1
19 / 2 = 9 1
9 / 2 = 4 1
4 / 2 = 2 0
2 / 2 = 1 0
1 / 2 = 0 1 (MSB)
Jadi 625des = 1001110001bin

3. Konversi Bilangan Oktal ke Desimal
Contoh bilangan bulat:
1161okt = 625des
1161okt Berarti :
= 1 X 83 + 1 X 82 + 6 X 81 + 1 X 80
= 512+64+48+1
= 625des
Contoh bilangan pecahan: 13,6okt
= 11,75des 13,6okt Berarti :
= 1 X 81 + 3 X 80 + 6 X 8-1
= 8 + 3 + 0,75
= 11,75des

4. Konversi Bilangan Desimal ke Oktal
Contoh Bilangan Bulat :
625des = 1161okt
625 / 8 = 78 sisa 1 (LSB)
78 / 8 = 9 6
9 / 8 = 1 1
1 / 8 = 0 1 (MSB)
Contoh Bilangan Pecahan :
0,1des = 0,063….okt
0,1 X 8 = 0,8 sisa 0 (MSB)
0,8 X 8 = 6,4 6
0,4 X 8 = 3,2 3 (LSB)

5. Konversi Bilangan Oktal
Konversi bilangan oktal ke biner lebih mudah dibandingkan dengan konversi bilangan oktal ke desimal. Satu digit oktal dikonversi ke 3 bit biner.
Contoh: 1161okt = 001001110001bin
1 1 6 1
001 001 110 001
Contoh: 0,063okt = 0,000110011bin
0 6 3
000 110 011

6. Konversi Bilangan Biner ke Oktal
Contoh Bilangan Bulat:
1001110001bin = 1161okt
001 001 110 001
1 1 6 1
Contoh Bilangan Pecahan: 0,000110011bin = 0,063okt
000 110 011
0 6 3

7. Konversi Bilangan Heksadesimal ke DesimalContoh:
271heks = 625des
271heks = 2 X 162 + 7 X 161 + 1 X 160
= 512 + 112 + 1 = 625des
0,Cheks = 0,75des
0,C heks = 0 X 160 + 12 X 16-1
= 0 + 0,75
= 0,75des

Integer Representation
Semua bilangan dapat direprensentasikan dengan hanya menggunakan bilangan 0 dan 1
Untuk keperluan penyimpanan dan pengolahan komputer, kita tidak perlu menggunakan tanda minus dan titik, hanya bilangan biner yang dapat merepresentasikan bilangan.
Misalnya: -1101.01012 = -11.312510
Namun untuk keperluan penyimpanan dan pengolahan komputer, kita tidak perlu menggunakan tanda minus dan titik.
Hanya bilangan biner (0 dan 1) yang dapat merepresentasikan bilangan.
Bila kita hanya memakai integer non-negatif, maka representasinya akan lebuh mudah.
Sebuah word 8-bit dapat digunakan untuk merepresentasikan bilangan 0 hingga 255. Misalnya:
00000000= 0
00000001= 1
00101001 = 41
  10000000  = 128
   11111111= 225
Umumnya bila sebuah rangkaian n-bit bilangan biner an–1an-2…a1a0 akan diinterpretasikan sebagai unsigned integer A.

Representasi Nilai Tanda
Penggunaan unsigned integer tidak cukup untuk merepresentasikan bilangan integer negatif dan juga bilangan positif integer.
Karena itu terdapat beberapa konvesi lainnya yang dapat kita gunakan.
Konvesi-konvesi lainnya meliputi perlakuan terhadap bit yang paling berarti (paling kiri) di dalam word bit tanda.
Apabila bit paling kiri sama dengan 0 suatu bilangan adalah positif , sedangkan bila bit yang paling kiri sama dengan 1 bilangan bernilai negatif.
Bentuk yang paling sederhana representasi yang memakai bit tanda representasi nilai tanda. Pada sebuah word n bit, n – 1 bit yang paling kanan menampung  nilai integer. Misalnya:
+ 18 = 00010010
–  18 = 10010010 (sign-magnitude/nilai-tanda)
Terdapat beberapa kekurangan pada representasi nilai-tanda penambahan dan pengurangan memerlukan pertimbangan baik tanda bilangan ataupun nilai relatifnya agar dapat berjalan pada operasi yang diperlukan.
Kekurangannya lainnya terdapat dua representasi bilangan 0:
+ 010 = 00000000
–  010 = 10000000 (sign-magnitude)
REPRESENTASI KOMPLEMEN DUA
Representasi komplemen dua ( two’s complement representation)  mengatasi dua buah kekurangan yang terdapat pada representasi nilai- tanda.
Penambahan dan pengurangan   nilai-tanda (sign-magnitude) tidak mencukupi dan terdapat dua buah representasi bilangan nol.
Representasi komplemen dua menggunakan bit yang paling berarti sebagai bit tanda  memudahkannya untuk mengetahui apakah sebuah integer bernilai positif atau negatif.
Representasi ini berbeda dengan representasi nilai-tanda dengan cara menginterpretasikan bit-bit lainnya.
Representasi komplemen dua akan lebih mudah dimengerti dengan mendefinisikannya dalam bentuk jumlah bobot bit  seperti telah kita lakukan diatas pada representasi unsigned-magnitude dan sign-magnitude.
Bilangan nol akan diidentifikasikan sebagai positif,  memiliki tanda bit 0 dan nilai keseluruhan 0.
Kita dapat melihat bahwa range integer positif yang dapat direpresentasikan mulai 0 (seluruh magnitude bit-nya sama dengan 0) hingga 2n-1-1 (seluruh magnitude bit-nya 1).   bilangan yang lebih besar akan memerlukan bit yang lebih banyak.
Sekarang  bilangan negatif A, bit tanda an-1, sama dengan 1. n-1 bit sisanya dapat mengambil salah satu dari 2n-1nilai.
Karena itu, range integer negatif yang dapat direpresentasikan  mulai –1 hingga -2n-1.
Hasilnya  assignment yang mudah bagi nilai  untuk membiarkan bit-bit an-1 an-2…a:a0 akan sama dengan bilangan positif 2n-1 –A.
KONVERSI ANTARA PANJANG BIT YANG BERLAINAN
Kadang-kadang kita perlu mengambil sebuah integer n bit dan menyimpannya di dalam m bit, dengan m > n.
Pada notasi sign-magnitude  mudah dilaksanakan: cukup memindahkan bit tanda ke posisi terkiri yang baru dan mengisinya dengan nol. Misalnya:
+18 =                        00010010    (sign-magnitude, 8 bit)
+18 =         0000000000010010    (sign-magtitude, 16 bit)
-18 =                          10010010    (sign-magnitude, 8 bit)
-18 =          1000000000010010    (sign-magtitude, 16 bit)
Prosedur di atas tidak berlaku bagi integer negatif komplemen dua. Dengan memakai contoh yang sama:
+18 =                       00010010    (komplemen dua, 8 bit)
+18 =        0000000000010010    (komplemen dua, 16 bit)
-18 =                        10010010    (komplemen dua, 8 bit)
-65.518 =  1000000000010010     (komplemen dua, 16 bit)
Aturan integer komplemen dua adalah untuk memindahkan bit tanda ke posisi terkiri yang baru dan mengisinya dengan salinan-salinan bit tanda.
Bilangan positif diisi dengan 0 dan  bilangan negatif isi dengan 1
-18 =                          10010010    (komplemen dua, 8 bit)
-18 =          1111111100010010    (komplemen dua, 16 bit)

Aritmetika Integer
Bagian ini akan membahas fungsi-fungsi aritmatik bilangan dalam representasi komplemen dua.
A. Negasi
Pada notasi komplemen dua, pengurangan sebuah bilangan integer dapat dibentuk dengan mengunakan aturan berikut:
Anggaplah komplemen boolean seluruh bit bilangan integer (termasuk bittanda). Perlakukan hasilnya sebagai sebuah unsigned binary integer, tambahkan1. misalnya:18=00010010 (komplemen dua).
b.  Representasi Integer Positif,negatif,dan bilangan 0.
Bila sebuah bilangan integer positif dan negatif yang sama direpresentasikan (sign – magnitude),maka harus ada representasi bilangan positif dan negatif yang tidak sama.
Bila hanya terdapat sebuah representasi bilangan 0 (komplemen dua),maka harus ada representasi bilangan positif dan negatif yang tidak sama.
Pada kasus komplemen dua,terdapat representasi bilangan n-bit untuk -2n,tapi tidak terdapat untuk 2n.


Penjumlahan & Pengurangan Bilangan Biner

1. PENJUMLAHAN BILANGAN BINER

Ada 4 kondisi dalam penjumlahan bilangan biner
(0+0, 1+0, 0+1, 1+1)

dimana
0 + 0 = 0

1 + 0 = 1
0 + 1 = 1
1 + 1 = 0 (carry out 1)

Maksut dari Carry out, hasilnya tidak bisa memuat lebih dari 1 digit. Tetapi disimpan kedalam kolom sebelah yang lebih tingginilainya.

Contoh pada bilangan desimal

2 + 7 = 9 (CaryOut = 0)
15 + 8 = 23 (CaryOut = 1)

Yang dimaksud Carry Out adalah penyimpanan angka, lihat contoh diatas. 2+7=9 CarryOut = 0 karena tidak ada bilangan yang disimpan. 15+8=3 sisa 1, 1-nya digantung diatas , lalu 1+1=2, jadi hasilnya 23. 1 yang digantung diatas itulah yang disebut CarryOut.

Contoh pada bilangan biner.

2. PENGURANGAN BILANGAN BINER

kondisi yang muncul pada pengurangan bilangan biner
(0-0, 1-0, 0-1, 1-1)

dimana
0 - 0 = 0
0 - 1 = 1 borrow 1 (jika masih ada angka di sebelah kiri)
1 - 0 = 1
1 - 1 = 0
maksut dari borrow di sini ialah peminjaman satu digit angka dari  kolom sebelah yang memiliki nilai lebih besar agar hasil pengurangan mencukupi

contoh pada bilangan desimal

37 - 32 = 5 (borrow 0)
23 - 17 = 6 (3 borrow 1 dari angka 2)

pada perhitungan pertama tidak ada proses meminjam (borrow) angka yang lebih besar karena hasil pengurangan di digit belakang sudah mencukupi untuk dikurangkan dengan bilangan pengurangnya ,sementara pada perhitungan ke-2 ada proses peminjaman karena 3 tidak mencukupi dikurangkan dengan 7.

Contoh pada bilangan biner.


Tidak ada komentar:

Posting Komentar