Senin, 04 April 2016

Arsitektur Komputer (Aritmatika) dan Representasi Data

I.  PENGERTIAN
Arsitektur Komputer mempelajari atribut ‑ atribut sistem komputer yang terkait dengan seorang programmer. contoh: set instruksi, aritmetilka yang digunakan, teknik pengalamatan, mekanisme I/0.
Organisasi Komputer mempelajari bagian yang terkait dengan unit‑unit operasional computer dan hubungan antara komponen sistem komputer. contoh: sinyal kontrol, interface, teknologi memori.
Arsitektur Komputer
Adalah konsep perencanaan dan struktur pengoperasian dasar dari suatu sistem komputer. Arsitektur komputer ini merupakan rencana cetak-biru dan deskripsi fungsional dari kebutuhan bagian perangkat keras yang didesain (kecepatan proses dan sistem interkoneksinya). Dalam hal ini, implementasi perencanaan dari masing–masing bagian akan lebih difokuskan terutama, mengenai bagaimana CPU akan bekerja, dan mengenai cara pengaksesan data dan alamat dari dan ke memori cache, RAM, ROM, cakram keras, dll). Beberapa contoh dari arsitektur komputer ini adalah Arsitektur von Neumann, CISC, RISC, blue gene, dll.
Dalam bidang teknik komputer, arsitektur komputer adalah konsep perencanaan dan struktur pengoperasian dasar dari suatu sistem computer.Biasanya mempelajari atribut-atribut sistem komputer yang terkait dengan eksekusi logis sebuah program.
Arsitektur komputer ini merupakan rencana cetak-biru dan deskripsi fungsional dari kebutuhan bagian perangkat keras yang didesain (kecepatan proses dan sistem interkoneksinya).
Dalam hal ini, implementasi perencanaan dari masing–masing bagian akan lebih difokuskan terutama, mengenai bagaimana CPU akan bekerja, dan mengenai cara pengaksesan data dan alamat dari dan ke memori cache, RAM, ROM, cakram keras, dll). Beberapa contoh dari arsitektur komputer ini adalah arsitektur von Neumann, CISC, RISC, blue Gene, dll.
Arsitektur komputer juga dapat didefinisikan dan dikategorikan sebagai ilmu dan sekaligus seni mengenai cara interkoneksi komponen-komponen perangkat keras untuk dapat menciptakan sebuah komputer yang memenuhi kebutuhan fungsional, kinerja, dan target biayanya.
Arsitektur komputer mempelajari atribut – atribut sistem komputer yang terkait dengan seorang programmer, dan memiliki dampak langsung pada eksekusi logis sebuah program.Sebagaimana contoh: set instruksi, aritmetika yang digunakan, teknik pengalamatan, mekanisme I/0.
Arsitektur komputer ini paling tidak mengandung 3 sub-kategori:
1.    Set instruksi (ISA)
2.    Arsitektur mikro dari ISA, dan
3.    Sistem desain dari seluruh komponen dalam perangkat keras komputer ini.
Organisasi Komputer 

   Adalah bagian yang terkait erat dengan unit – unit operasional dan interkoneksi antar komponen penyusun sistem komputer dalam merealisasikan aspek arsitekturalnya. Contoh aspek organisasional adalah teknologi hardware, perangkat antarmuka, teknologi memori, dan sinyal – sinyal kontrol.
Arsitektur komputer lebih cenderung pada kajian atribut – atribut sistem komputer yang terkait dengan seorang programmer. Contohnya, set instruksi, aritmetika yang digunakan, teknik pengalamatan, mekanisme I/O.
Dan juga dapat didefinisikan dan dikategorikan sebagai ilmu dan sekaligus seni mengenai cara interkoneksi komponen-komponen perangkat keras untuk dapat menciptakan sebuah komputer yang memenuhi kebutuhan fungsional, kinerja, dan target biayanya.
Organisasi Komputer :
Organisasi komputer adalah bagian yang terkait erat dengan unit – unit operasional dan interkoneksi antar komponen penyusun sistem komputer dalam merealisasikan aspek arsitekturalnya. Biasanya mempelajari bagian yang terkait dengan unit-unit operasional komputerdan hubungan antara komponen-komponen sister komputer.
Contoh aspek organisasional adalah teknologi hardware, perangkat antarmuka, teknologi memori, dan sinyal – sinyal kontrol.Arsitektur komputer lebih cenderung pada kajian atribut – atribut sistem komputer yang terkait dengan seorang programmer. Contohnya, set instruksi, aritmetika yang digunakan, teknik pengalamatan, mekanisme I/O.
Sebagai contoh apakah suatu komputer perlu memiliki instruksi pengalamatan pada memori merupakan masalah rancangan arsitektural. Apakah instruksi pengalamatan tersebut akan diimplementasikan secara langsung ataukah melalui mekanisme cache adalah kajian organisasional.
Jika organisasi komputer mempelajari bagian yang terkait dengan unit-unit operasional komputerdan hubungan antara komponen sistem computer,dan interkoneksinya yang merealisasikan spesifikasi arsitektural
contoh: teknologi hardware, perangkat antarmuka (interface), teknologi memori, sistem memori, dan sinyal–sinyal kontrol
Perbedaaan Utamanya :
Organisasi Komputer :
–    Bagian yang terkait dengan erat dengan unit – unit operasional
–    Contoh : teknologi hardware, perangkat antarmuka, teknologi memori, sistem memori, dan sinyal – sinyal control
Arsitektur Komputer :
–    Atribut – atribut sistem komputer yang terkait dengan seorang programmer
–    Contoh : Set instruksi, aritmetika yang dipergunakan, teknik pengalamatan, mekanisme I/O
  1. Struktur dan Fungsi Utama Komputer
  2. Struktur Komputer
Komputer adalah sebuah sistem yang berinteraksi dengan cara tertentu dengan dunia luar.
Interaksi dengan dunia luar dilakukan melalui perangkat peripheral dan saluran komunikasi.
Dalam buku ini akan banyak dikaji seputar struktur internal komputer. Perhatikan gambar 1.2,
terdapat empat struktur utama:
Central Processing Unit (CPU), berfungsi sebagai pengontrol operasi komputer dan
pusat pengolahan fungsi – fungsi komputer. Kesepakatan, CPU cukup disebut sebagai
processor (prosesor) saja.
Memori Utama, berfungsi sebagai penyimpan data.
I/O, berfungsi memindahkan data ke lingkungan luar atau perangkat lainnya.
System Interconnection, merupakan sistem yang menghubungkan CPU, memori utama
dan I/O.
Komponen yang paling menarik namun paling kompleks adalah CPU. Struktur CPU terlihat
pada gambar 1.2, dengan struktur utamanya adalah :
Control Unit, berfungsi untuk mengontrol operasi CPU dan mengontrol komputer secara
keseluruhan.
Arithmetic And Logic Unit (ALU), berfungsi untuk membentuk fungsi – fungsi
pengolahan data komputer.
Register, berfungsi sebagai penyimpan internal bagi CPU.
CPU Interconnection, berfungsi menghubungkan seluruh bagian dari CPU.

  1. Fungsi Komputer
Fungsi dasar sistem komputer adalah sederhana seperti terlihat pada gambar 1.3. Pada
prinsipnya terdapat empat buah fungsi operasi, yaitu :
_ Fungsi Operasi Pengolahan Data
_ Fungsi Operasi Penyimpanan Data
_ Fungsi Operasi Pemindahan Data
_ Fungsi Operasi Kontrol

Komputer harus dapat memproses data. Representasi data di sini bermacam–macam,
akan tetapi nantinya data harus disesuaikan dengan mesin pemrosesnya. Dalam pengolahan data, komputer memerlukan unit penyimpanan sehingga diperlukan suatu mekanisme penyimpanandata. Walaupun hasil komputer digunakan saat itu, setidaknya komputer memerlukan media penyimpanan untuk data prosesnya. Dalam interaksi dengan dunia luar sebagai fungsipemindahan data diperlukan antarmuka (interface), proses ini dilakukan oleh unit Input/Output(I/O) dan perangkatnya disebut peripheral. Saat interaksi dengan perpindahan data yang jauh atau dari remote device, komputer melakukan proses komunikasi data.
Gambar 1.4 mengilustrasikan operasi–operasi komputer. Gambar 1.4a adalah operasi pemindahan data, gambar 1.4b adalah operasi penyimpanan data, gambar 1.4c dan gambar 1.4d adalah operasi pengolahan data.

Gambar 1.4. Operasi-operasi Komputer
  1. Konsep Dasar Operasi Komputer

DEFINISI
  •     Komputer : suatu peralatan elektronik yang dapat menerima input, mengolah input, memberikan informasi, menggunakan suatu program yang tersimpan di memori komputer, dapat menyimpan program dan hasil pengolahan, serta bekerja secara otomatis.
  • Terdapat tiga istilah penting, yaitu input (data), pengolahan data, dan informasi (output).— Pengolahan data dengan menggunakan komputer dikenal dengan nama pengolahan data elektronik (PDE) atau electronic data processing (EDP).
STRUKTUR KOMPUTER
  • Struktur komputer didefinisikan sebagai cara-cara dari tiap komponen saling terkait.
Empat komponen pokok sistem komputer:
  • Pemroses
  • Memori Utama
  • Perangkat masukan dan keluaran
  • Interkoneksi antarkomponen
Pemroses disebut CPU, berfungsi mengendalikan operasi komputer dan melakukan pengolahan data. Pemroses melakukan kerja dengan langkah sbb:
  • Mengambil instruksi yang dikodekan secara biner dari memori utama
  • Men-dekode instruksi menjadi proses-proses sederhana
  • Melaksanakan proses-proses tersebut
Operasi-operasi pada pemroses dikategorikan menjadi:
  • Operasi aritmetika
Penambahan, pengurangan, perkalian, pembagian dsb
  • Operasi logika
OR, AND, X-OR, inversi dsb
  • Operasi pengendalian
Operasi percabangan, lompat dsb.
Pemroses terdiri dari tiga komponen, yaitu:
  • CU (Control Unit)
Berfungsi mengendalikan operasi yang dilaksanakan sistem komputer
  • ALU (Aritmetic Logic Unit)
Berfungsi melakukan operasi aritmatika dan logika
  • Register
Merupakan memori yang sangat cepat yang berfungsi sebagai tempat operan-operan dari operasi yang akan dilakukan oleh pemroses.
CU (Control Unit) / Unit Kendali
  • Mengatur dan mengendalikan semua peralatan yang ada pada sistem komputer, kapan alat input menerima data dan kapan data diolah serta kapan ditampilkan pada alat output.
  • Mengartikan instruksi-2 dari program komputer.
  • Membawa data dari alat input ke memori utama.
  • Mengambil data dari memori utama untuk diolah.
  • Mengirim instruksi ke ALU jika ada instruksi untuk perhitungan aritmatika atau perbandingan logika.
  • Membawa hasil pengolahan data kembali ke memori utama lagi untuk disimpan, dan pada saatnya akan disajikan ke alat output.
CU (Control Unit) / Unit Kendali
  • Kesimpulan tugas dari unit kendali ini adalah:
    •        -Mengatur & mengendalikan alat-alat input dan output.
    • -Mengambil instruksi-instruksi dari memori utama.
    • -Mengambil data dari memori utama (jika diperlukan).
    •       -Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika serta
      -mengawasi kerja dari ALU.
    • -Menyimpan hasil proses ke memori utama.
ALU (Arithmatic and Logic Unit)
  • Melakukan semua operasi aritmatika dengan dasar penjumlahan sehingga sirkuit elektronik yang digunakan disebut adder.
  • Melakukan keputusan dari suatu operasi logika sesuai dengan instruksi program.
  • Operasi logika meliputi perbandingan dua operand dengan menggunakan operator logika tertentu, yaitu sama dengan (=), tidak sama dengan (≠), kurang dari (<), kurang atau sama dengan (≤), lebih besar dari (>), dan lebih besar atau sama dengan (≥).
Memory
  • Ada tiga macam memori yang dipergunakan di dalam sistem komputer yaitu:
    • Register, digunakan untuk menyimpan instruksi dan data yang sedang diproses.
    • Main memory, dipergunakan untuk menyimpan instruksi dan data yang akan diproses dan hasil
    • Secondary storage, dipergunakan untuk menyimpan program dan data secara permanen.
Register
  • Alat penyimpanan kecil dgn kecepatan akses cukup tinggi, yg digunakan untuk menyimpan data dan instruksi yang sedang diproses, sementara data dan instruksi lainnya yang menunggu giliran untuk diproses, masih disimpan di dalam memori utama.
  • CPU diibaratkan sbg otak yg punya ingatan-2 (register) dan pengendali organ tubuh (CU).
  • Program dan data diletakkan di memori utama yg diibaratkan sbg sebuah meja. Program diproses (melakukan satu per satu instruksi-instruksi yang ada di dalamnya).
  • Instruksi tsb dibaca & diingat (instruksi yg sedang diproses disimpan di register).
  • Misalnya HITUNG C = A + B, maka perlu data nilai A & B yg masih ada di meja (di memori utama).   Data ini dibaca dan masuk ingatan kita (data yg sdg diproses disimpan di register), misal A=2 dan B = 3, sehingga nilai C dapat dihitung yaitu 5 (proses perhitungan ini dilakukan di ALU).
  • Hasil dari perhitungan ini dituliskan kembali ke meja (disimpan kembali ke memori utama).
  • Setelah itu mungkin data, program, dan hasilnya disimpan secara permanen ke dalam lemari kabinet (penyimpanan sekunder).
Perangkat I/O
Perangkat masukan/keluaran digunakan sistem komputer untuk berinteraksi dengan lingkungan luar, baik ke pemakai ataupun lingkungan secara umum.
Perangkat masukan/keluaran terdiri dari dua bagian, yaitu:
  1. Komponen mekanis, yaitu perangkat itu sendiri
  2. Komponen elektronis, yaitu pengendali perangkat berupa chip controller.
INTERKONEKSI ANTAR KOMPONEN
  • Disebut BUS dan interkoneksi ini berkaitan dengan tatacara hubungan antarkomponen-komponen sistem komputer.
  • Menghubungkan CPU dengan memori utama ataupun dengan alat-alat input/output (I/O).
  • Bus antara CPU dgn memori utama dilekatkan pada MDR, MAR, dan unit kendali dalam CPU, dan disebut Internal Bus.
  • BUS yang menghubungkan CPU dgn I/O tidak dilekatkan langsung ke I/O, tetapi dilakukan melalui I/O port atau DMA controller atau I/O channel, dan disebut External Bus.
  • Di dalam Internal Bus, terdapat data bus yang dihubungkan dengan MDR, address bus yang dihubungkan dengan MAR, serta control bus yang dihubungkan dengan control unit.
BUS
   Bus terdiri dari tiga macam, yaitu:
  1. Bus alamat (addres bus)
Untuk memberikan alamat dari memori atau port yang hendak diakses. Bus alamat berisi 16, 20, 24 jalur sinyal paralel atau    lebih.
  1. Bus data (data bus)
Untuk membaca dan mengirim data dari/ke memori atau port. Bus data berisi 8,16, 32 jalur sinyal paralel atau lebih.
  1. Bus kendali (control bus)
Sinyal bus kendali antara lain:
  • – Memory Read
  •                       -Memory Write
  •                      -I/O read
  •     -I/O Write
DATA STRUKTUR :

Struktur dapat diartikan sebagai suatu susunan, bentuk, pola atau bangunan.
Data dapat diartikan sebagai suatu fakta, segala sesuatu yang dapat dikodekan
atau disimbolkan dengan kode-kode atau lambang-lambang yang telah
disediakan di setiap komputer. Data yang disediakan oleh komputer sendiri terdiri
dari berbagai jenis atau TYPE.
Pada garis besarnya, data dapat dikategorikan menjadi :
Type Data terdiri dari :
- Data Tunggal : Integer, Real, Boolean dan Karakter.
- Data Majemuk : String
Definisi :
Struktur Data adalah suatu koleksi atau kelompok data (susunan simbol-simbol) yang dapat dikarakterisasikan oleh organisasi serta dapat dioperasikan sesuai dengan definisi yang diberikan terhadapnya dikomputer. Struktur Data adalah cara penyimpanan dan pengorganisasian data-data pada memori komputer maupun file pada media penyimpanan secara efektif sehingga dapat digunakan secara efisien, termasuk operasi-operasi di dalamnya.Struktur Data, meliputi:

- Struktur data sederhana : Array dan Record
- Struktur data majemuk :
· Linier : Stack, Queue, Linier Link List
· Nonlinier : Tree, Binari Tree, Binary Search Tree, Graph.

Mempelajari struktur data berarti mempelajari bagaimana data disusun/terstruktur di memori utama komputer secara logis agar penggunaan space di memori dapat dilakukan secara optimal, cepat dalam pencarian dan pengambilannya kembali, dan dapat diolah/dioperasikan sesuai dengantujuannya. Selain itu hal yang terpenting dalam mempelajari struktur data adalah erat kaitannya dengan pemilihan struktur data yang tepat membuat suatu algoritma yang digunakan untuk memecahkan suatu masalah menjadi efisien, yang akan membantu logika kita dalam membuat program yang rumit, sehingga operasi-operasi penting dapat dieksekusi dengan sumber daya yang lebih kecil, memori lebih kecil, dan waktu eksekusi yang lebih cepat dan outputnya sesuai dengan yang diharapkan. Gambar di bawah ini menjelaskan posisi algoritma dan struktur data dalam
membuat program.



Cara memecahkan masalah (membuat algoritma penyelesaiannya) dapat dilakukan dengan berbagai cara, meskipun hasil akhirnya akan sama. Untuk mengecek mana algoritma yang terbaik dan benar, maka dilakukan uji kompleksitas suatu algoritma. Pemakaian struktur data yang tepat didalam proses pemrograman, akan menghasilkan algoritma yang lebih jelas dan tepat, sehingga menjadikan program secara keseluruhan lebih sederhana.
* Algoritma adalah suatu strategi yang mengandalkan kemampuan berpikir secara logis
untuk memecahkan suatu masalah.

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 tersebut diatas disebut dengan opersi 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 negatif
· 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 dan 0.

Operatornya terdiri dari : AND, OR, NOT
                                        Binar      Unar
Dalam urutan operasi, Not mendapat prioritas pertama, kemudian baru AND dan
OR kecuali bila diberi tanda kurung.

Masih ingatkah anda dengan table logika ?
Nilai true dan false dapat juga dihasilkan oleh operator Relational.
Operator tersebut : < , > , <= , >= , = , <> , =
Ex. 6 < 12 : True ,
A <>A : False.
Contoh lainnya:







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 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.

Operasi yang berlaku terhadap string :

a. LENGTH(S) berfungsi untuk menghitung panjang suatu string.
Contoh : S1 adalah string = a1,a2,a3…an
S2 adalah string = b1, b2, b3,…bk
Len(s2) = n , Len(s1) = k

b. CONCAT (S1 , S2)
yaitu concatenation (Penyambungan 2 buah string atau lebih.
Penggabungan juga dapat dilakukan terhadap dirinya sendiri.

Contoh : concat(s1,s2) = a1, . . . , an , b1 , . . . , bk
atau dalam bentuk lain : s1 // s2 , s1 + s2

c. SUBSTR (s, i, j) yaitu operasi pengambilan beberapa karakter dari string
untuk membentuk string baru.
: adalah string
: adalah posisi karakter awal yang diambil
: adalah banyaknya karakter yang diambil
dimana dan ber-type Integer
S1(a1,a2,a3,…an)
SUBSTR ( s, 3, 2) = a3, a4 S1( a3, a4)
Selain dari itu terdapat juga operasi pemenggalan lainnya yaitu :
RIGHT(S1, j ) dan LEFT(S1, j )

d. INSERT ( S1, S2, j)
Operasi ini membutuhkan dua operand string dan sebuah operand Integer.
Contoh : Insert (S1, S2, 3) = a1, a2, b1, b2,…, bk, a3,…, an
Menyisipkan S2 didalam S1 mulai posisi ke 3 dari S1.
Bila tidak ada statemen INSERT dalam bahasa pemrograman maka dapat
dilakukan dengan cara lain, misal :
LEFT(S1, j ) // S2 // RIGHT(S1, j )

e. DELETE (S, i, j)
Operasi ini membutuhkan sebuah string dan dua operand integer.
Contoh : S1 : a1, a2, a3,…, an.
DELETE (S1 , 4, 3) = a1, a2, a3, a7, a8,…,an.
Menghapus string pada posisi awal 4, sebanyak 3.
Bila tidak ada statemen DELETE dalam bahasa pemrograman maka dapat
dilakukan dengan cara lain, misal :
LEFT(S1, j ) // RIGHT(S1, j )

f. INDEX(S1,’substring’)
Mencari posisi awal (karakter ke berapa) suatu substring pada suatu string.
Contoh : INDEX(S1,’a3,a4,5’) = 3
Dalam bahasa pemrograman untuk membedakan sebuah string atau integer
menggunakan tanda kutip. Integer : 34 string : ‘34’.

Pemetaan (MAPPING) Type Data ke Storage.
Komputer merepresentasikan data dalam bentuk biner, karena setiap bit data
dalam komputer hanya dapat menyimpan dua macam keadaan, yaitu voltase
tinggi dan voltase rendah. Perbedaan voltase tersebut mewakili nilai TRUE dan
FALSE, atau bit ‘1’ dan ‘0’

Representasi Karakter dan String
Ada beberapa aturan yang digunakan untuk menyatakan karakter dalam
storage. Diantaranya adalah :

1. EBCDIC (Extended Binary Coded Decimal Interchange Code)
EBCDIC adalah suatu sistem peng-kode-an (mapping) yang menggunakan 8
binary digit (bit) untuk menyatakan suatu karakter dalam alfabet.
( 1 karakter = 8 bit )
Dalam 8 bit terdapat 28 (256) kemungkinan karakter yang dapat dibentuk.

2. ASCII ( American Standard Code For Information Interchange)
ASCII adalah cara peng-kode-an yang menggunakan 7 bit untuk menyatakan
suatu karakter dalam alfabet.
( 1 karakter = 7 bit). Dalam 7 bit terdapat 2(128) kemungkinan karakter yang
dapat dibentuk, separuh dari yang dimiliki EBCDIC.

3. BCD ( Binary Coded Decimal )
BCD ini menggunakan 4 bit untuk setiap karakternya.



4. PACKED DECIMAL
Packed Decimal umumnya digunakan untuk karakter berjenis data numerik
dengan cara penyimpanannya menggunakan 2 digit setiap 8 bit. Pada 8 bit
terakhir disimpan selain digit derajat terendah, juga tanda dari bilangan
tersebut (positif atau negatif).
Berikut ini perbandingan kode EBCDIC, ASCII dan PACKEDDECIMAL
untuk menyatakan +903.lihat gambar berikut :



 5. Unicode
Unicode menggunakan 16 bit untuk merepresentasikan karakter. Dengan demikian, banyaknya karakter yang dapat direpresentasikan adalah 216 atau 65.536 karakter.
Keunggulan Unicode dari ASCII adalah kemampuannya untuk menyimpan simbol / karakter yang jauh lebih besar. Himpunan 256 karakter pertama dari Unicode merupakan pemetaan karakter ASCII 8 bit, sehingga Unicode tetap kompatibel dengan ASCII. Selain merepresentasikan seluruh karakter ASCII, Unicode dapat merepresentasikan juga berbagai macam simbol diluar ASCII, seperti huruf Arab, Kanji, Hiragana, Katakana, dan lain-lain.

Representasi Bilangan Bulat / Integer

Bilangan Bulat Tak Bertanda dapat direpresentasikan dengan
- bilangan biner – oktal - heksadesimal
- gray code
- BCD (binary coded decimal)

Bilangan bulat Bertanda (positif atau negatif) dapat direpresentasikan dengan
- Sign/Magnitude (S/M)
- 1’s complement
- 2’s complement

Untuk bilangan bulat positif, tidak ada perbedaan dalam ketiga macam representasi bilangan di atas. Terdapat persamaan dalam ketiga representasi tersebut berupa digunakannya MSB (most significant bit) sebagai penanda. MSB bernilai ‘0’ untuk bilangan positif dan ‘1’ untuk bilangan negative lihat gambar :



SIGN / MAGNITUDE
Salah satu storage mapping yang dapat dilakukan terhadap integer adalah apa yang disebut bentuk sign-and-magnitude, yaitu digit untuk tanda integer positif atau negatif dan sebarisan digit untuk menyatakan magnitude/besarnya.
Contoh : -7 = -111 dan +7 = +111
Bagi kita mudah bekerja terhadap bilangan dalam bentuk sign-and-magnitude, namun apabila dilakukan penjumlahan dengan kedua operand berbeda tanda, penjumlahan akan beralih menjadi pengurangan yang kadang-kadang menimbulkan kesukaran. Untuk itu, digunakan apa yang disebut sebagai 
COMPLEMENT (merubah tanda negatif pada bilangan pengurangan menjadi
tanda positif)
X’ adalah complement dari X terhadap R ( R ‘s complement dari X ) bila
X + X’ = R.
X’ = R – X menyatakan integer negatif -X.
Representasi negatif dari suatu bilangan diperoleh dari bentuk positifnya dengan mengubah bit pada MSB menjadi bernilai 1. Jika dipergunakan N bit untuk  representasi data, maka rentang nilai yang dapat direpresentasikan adalah
-2N-1-1 s.d 2N-1-1
Contoh : jika dipergunakan 5 bit untuk representasi bilangan
+3 = 00011
-3 = 10011

Terdapat dua jenis Complement :

ONE’S COMPLEMENT
Representasi negatif dari suatu bilangan diperoleh dengan mengkomplemenkan seluruh bit dari nilai positifnya. Jika dipergunakan N bit untuk representasi data, maka rentang nilai yang dapat direpresentasikan adalah -2N-1-1 s.d 2N-1-1
1’s complement menggunakan mapping dengan R = 2N - 1
N adalah jumlah bit integer yang dapat disajikan.
Contoh : jika dipergunakan 5 bit untuk representasi bilangan
+3 = 00011
-3 = 11100

TWO’S COMPLEMENT
Representasi negatif dari suatu bilangan diperoleh dengan mengurangkan 2n dengan nilai positifnya. Jika dipergunakan N bit untuk representasi data, maka rentang nilai yang dapat direpresentasikan adalah -2N-1 s.d 2N-1-1
Struktur Data 12
Two’s Complement menggunakan mapping dengan R = 2N
Contoh : jika dipergunakan 5 bit untuk representasi bilangan
2n = 25 = 100000
+3 = 00011
- 3 = 100000-00011
100000
00011 -
11101
3 = 11101

PERBANDINGAN
Berikut tabel perbandingan ketiga cara representasi bilangan bulat bertanda.





Representasi Bilangan Pecahan / Floating Point

Bilangan pecahan dapat direpresentasikan dalam bentuk pecahan biasa atau
dalam bentuk scientific.

Bentuk Pecahan Biasa
Dalam bentuk pecahan biasa, bilangan direpresentasikan langsung kedalam
bentuk binernya. Contoh : 27.625 = 11011.1012

Bentuk S C I E N T I F I C
Dalam notasi scientific, bilangan pecahan dinyatakan sebagai X = ±B±E.
M = mantissa
B = basis
E = eksponen
Contoh : 5.700.000 = 57.105 M=57, B=10, E=5

Masalah : terdapat tak berhingga banyaknya representasi yang dapat dibuat.
Dalam contoh sebelumnya, 5.700.000 = 57.105 = 570.104 = 5,7.106 =0,57.107 =0,057.108 dst.
Untuk mengatasinya, ditentukan adanya bentuk normal, dengan
Syarat
1/B = |M|< 1

Dengan demikian, bentuk scientific yang normal (memenuhi persyaratan) dari
5.700.000 adalah 0,57.107
Dalam bentuk normal tersebut, selalu diperoleh mantissa berbentuk ‘0,…’
sehingga dalam representasinya kedalam bit data, fraksi ‘0,’ tersebut dapat
dihilangkan.
Mantissa dan eksponen tersebut dapat direpresentasikan menggunakan salah
satu cara representasi bilangan bulat bertanda yang telah dibahas di atas.
Representasi yang dipilih dapat saja berbeda antara mantissa dengan
eksponennya.
Contoh :
- Digunakan untaian 16 bit untuk representasi bilangan pecahan
- 10 bit pertama digunakan untuk menyimpan mantissa dalam bentuk S/M
- 6 bit sisanya digunakan untuk menyimpan mantissa dalam bentuk
1’s complement
Contoh akan direpresentasikan bilangan 0,00000075, lihat table berikut :




Mantissa Eksponen
0,00000075 = 0,75 . 10-6 ® M = 0,75; E = -6

Representasi Mantissa :
0,75 = 0,112. Karena sudah dalam bentuk normal ‘0,’ dapat dihilangkan.
S/M ® MSB sebagai penanda. Dengan demikian, mantissa = 0110000000
Representasi Eksponen : 6=1102 . Karena digunakan 6 bit, 1102 = 000110.
1’s complement ® -6 = 111001

Representasi :

Tidak ada komentar:

Posting Komentar