Sistem Bilangan Dasar pemrograman mikroprosesor Tipe : Biner Oktal Desimal Heksadesimal
Biner Sistem bilangan dasar sebuah komputer Basis/radiks 2 : Level : 0 : logik rendah (low – L) 1 : logik tinggi (high – H) Level : MSB(Most Significant Bit) : bit dengan nilai paling tinggi LSB(Least Significant Bit) : bit dengan nilai paling rendah Konversi ke desimal : Mengalikan suku ke-N dengan 2N Contoh : 11002 = (1 x 23) + (1 x 22) + (0 x 21) + (0 x 20) = 8 + 4 + 0 + 0 = 12
Oktal Basis/radiks 8 = 0…7 Konversi ke desimal : Contoh : Mengalikan suku ke-N dengan 8N Contoh : 2768 = (2 x 82) + (7 x 81) + (6 x 80) = 128 + 56 + 6 = 190
Desimal Bilangan sehari-hari Basis/radiks 10 = 0…9
Heksadesimal Paling banyak dipergunakan dalam pemrograman bahasa rakitan Basis/radiks 16 = 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F Konversi ke desimal : Mengalikan suku ke-N dengan 16N Contoh : 3116 = (3 x 161) + (1 x 160) = 48 + 1 = 49
Konversi Desimal ke Radiks r Aturan umum : Gunakan pembagian dengan radiks r secara suksesif(berulang) sampai dengan hasil pembagian = 0 Sisa pembagian merupakan hasil konversi mulai dari LSB sampai dengan MSB
Konversi 17910 ke biner: 179 / 2 = 89 sisa 1 (LSB) / 2 = 44 sisa 1 / 2 = 22 sisa 0 / 2 = 11 sisa 0 / 2 = 5 sisa 1 / 2 = 2 sisa 1 / 2 = 1 sisa 0 / 2 = 0 sisa 1 (MSB) 17910 = 101100112
Contoh: Konversi 17910 ke oktal: 179 / 8 = 22 sisa 3 (LSB) / 8 = 2 sisa 6 / 8 = 0 sisa 2 (MSB) 17910 = 2638 Contoh: Konversi 17910 ke hexadesimal: 179 / 16 = 11 sisa 3 (LSB) / 16 = 0 sisa 11 (dalam bilangan hexadesimal berarti B)MSB 17910 = B316
Konversi Biner ke Oktal Aturan umum : Kelompokkan 3 digit bilangan biner mulai dari LSB sampai dengan MSB Contoh : Konversikan 101100112 ke bilangan oktal Jawab : 10 110 011 2 6 3 Jadi 101100112 = 2638
Konversi Biner ke Heksadesimal Aturan umum : Kelompokkan 4 digit bilangan biner mulai dari LSB sampai dengan MSB Contoh : Konversikan 101100112 ke bilangan heksadesimal Jawab : 1011 0011 B 3 Jadi 101100112 = B316
Konversi Oktal ke Biner Aturan umum : Terjemahkan tiap digit oktal ke 3 digit biner Contoh : Konversikan 2638 ke bilangan biner Jawab : 2 6 3 010 110 011 Jadi 2638 = 0101100112 Karena 0 didepan tidak ada artinya kita bisa menuliskan 101100112
Konversi Heksadesimal ke Biner Aturan umum : Terjemahkan tiap digit heksadesimal ke 4 digit biner Contoh : Konversikan 26316 ke bilangan biner Jawab : 2 6 3 0010 0110 0011 Jadi 26316 = 0010011000112 Karena 0 didepan tidak ada artinya kita bisa menuliskan 10011000112
Bilangan Bertanda dan Tidak Bilangan bertanda (signed number) : Memiliki arti plus (+) dan minus (-) Menggunakan seluruh digit angka yang tersedia untuk merepresentasikan angka positif dan negatif Indikator dari Sign Flag(SF) : SF = 0 : bilangan positif SF = 1 : bilangan negatif Bilangan tidak bertanda (unsigned number) : Tidak mengenal minus (-) Menggunakan seluruh digit angka yang tersedia untuk merepresentasikan angka positif saja
Tidak Bertanda Bertanda Biner +3 0000 0011 +2 0000 0010 +1 0000 0001 0000 0000 +255 -1 1111 1111 +254 -2 1111 1101 +253 -3 1111 1100
Konversi Signed Number ke Biner Aturan umum : Konversi nilai absolut bilangannya ke biner yang diorganisasikan sebagai byte, word, ataupun double word Komplemenkan hasilnya Tambahkan LSB dengan 1 Contoh : Konversikan -21 ke biner Jawab : Absolut -21 = 21 = 000101012 Komplemen 000101012 = 111010102 Tambahkan LSB dengan 1 = 000000012 Hasil = 111010112 Jadi -21 = 111010112
8bit biner(byte) dengan maksimal cacahan Cara cepat : Representasi Signed Number = maksimal cacahan + Signed Number Contoh : Konversikan -21 ke biner Jawab : 8bit biner(byte) dengan maksimal cacahan 256 (28) muat untuk merepresentasikan -21, maka Representasinya = 256 + (-21) = 235 = 111010112 Jadi -21 = 111010112
Organisasi Data Merupakan cara untuk merepresentasikan bit data menjadi beberapa pengelompokan Tipe : Bit = 1 bit Nibble = 4 bit Byte = 8 bit Word = 16 bit Double word = 32 bit
Bit "Unit" paling kecil dari data pada komputer biner adalah satu bit tunggal. Satu bit tunggal mampu merepresentasikan hanya dua nilai yang berbeda (secara tipikal nol atau satu) Anda bisa merepresentasikan dua item data apapun yang berbeda dengan satu bit tunggal. Contoh meliputi nol atau satu, benar atau salah, on atau off, pria atau wanita. Anda tidak dibatasi untuk merepresentasikan jenis data biner (yaitu, objek yang hanya mempunyai dua nilai yang berbeda).
Nibble nibble adalah satu koleksi empat bit. Ia bukan merupakan jenis data yang menarik kecuali dua item: bilangan BCD (binary coded decimal) dan bilangan berbasis enambelas. Ia menggunakan empat bit untuk merepresentasikan satu BCD tunggal atau digit hexadecimal. Dengan suatu nibble, kita bisa merepresentasikan sampai dengan 16 nilai berbeda. Dalam kasus bilangan berbasis enambelas, nilai dapat berupa 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, dan F direpresentasikan dengan empat bit. BCD menggunakan sepuluh angka berbeda (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
Byte Struktur data terpenting yang digunakan oleh mikroprosesor 80x86 adalah byte. Sebuah byte terdiri dari delapan bit dan adalah datum addressable paling kecil (data item) pada mikroprosesor 80x86. Memori Utama dan alamat I/O pada 80x86 adalah semua alamat byte. Artinya bahwa item paling kecil yang mungkin diakses secara individu oleh satu program 80x86 adalah nilai delapan-bit. Bit dalam satu byte secara normal dinomori dari nol sampai tujuh menggunakan konvensi di dalam gambar 1.1. Bit 0 adalah urutan bit terendah atau bit paling tidak berarti (kurang signifikan), bit 7 adalah urutan bit paling berarti (signifikan) dari byte. Kita akan mengacu pada penomoran semua bit lain.
Gambar 1.1: Penomoran Bit dalam satu Byte Perhatikan bahwa satu byte juga berisi persis dua nibble (lihat gambar 1.2). Gambar 1.2: Dua Nibbles dalam satu Byte
Gambar 1.3: Nomor Bit dalam Word Sebuah word adalah kelompok 16 bit. Kita akan menomori bit dalam word mulai dari nol sampai dengan lima belas. Penomoran bit muncul di gambar 1.3. Gambar 1.3: Nomor Bit dalam Word Seperti byte, bit 0 adalah urutan bit terendah dan bit 15 adalah urutan bit tertinggi.
Gambar 1.4: Dua Bytes dalam Word Perhatikan bahwa satu word berisi persis dua byte. Bit 0 sampai 7 membentuk urutan byte terendah, bit 8 hingga 15 membentuk urutan byte tertinggi (lihat gambar 1.4). Gambar 1.4: Dua Bytes dalam Word Secara alami, satu word mungkin saja dipecah ke dalam empat nibble seperti diperlihatkan di dalam gambar 1.5.
Gambar 1.5: Nibble dalam Sebuah Word Nibble nol adalah nibble urutan terendah dalam word dan nibble tiga adalah nible urutan tertinggi dari word. Dua nibble lain adalah “nibble satu” atau “nibble dua”. Dengan 16 bit, bisa direpresentasikan 216 (65,536) nilai yang berbeda. Ini bisa menjadi nilai dalam jangkauan 0..65,535 (atau, sebagai kasus biasanya, -32,768..+32,767) atau jenis data lain apapun tanpa lebih dari 65,536 nilai.
Double Word Merupakan kelompok 32 bit dengan penomoran bit dari 0 – 31 1 double word = 2 word = 4 byte = 8 nibble = 32 bit Cacahan maksimal = 232 = 4294967296 (biasa disebut sebagai 4Gbyte)
Aritmatika Biner Penjumlahan : 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0, simpan (carry) 1 25 32 24 16 23 8 22 4 21 2 20 1 Simpan (carry) Jumlah
Cara cepat : Hasil = sisa pembagian dengan 2 Carry = hasil pembagian dengan 2 Metode ini bisa dipergunakan untuk menjumlahkan beberapa bilangan biner sekaligus, misal penjumlahan 7 buah bilangan biner sekaligus 25 32 24 16 23 8 22 4 21 2 20 1 Jumlah per digit Carry Hasil
Pengurangan Aturan Umum 0 – 0 = 0 1 – 0 = 1 1 1 – 1 = 0 0 – 1 = 1 , pinjam 1 1 Pinjam Hasil
Perkalian Prosedur sama dengan perkalian desimal Contoh : 9 x 11 1 9 9 11 99
Pembagian Prosedur sama dengan pembagian desimal biasa