Sabtu, 26 November 2011

Tugas Pengantar Komputer Minggu Ke-11

Jenis Memory Pada Komputer

Mengenal Memori Komputer

Memori adalah perangkat yang berfungsi mengolah data dan instruksi. Semaki besar memori yang disediakan, maka semakin banyak data maupun instruksi yang dapat diolah.
Beberapa jenis memori adalah :
RAM:
RAM adalah ruang untuk mengolah data dan instruksi yang ditulis atau di baca oleh prosesor, dan bersifat sementara. Slot memori pada motherboard 30pin (kaki).
EDO-RAM (Extended Data Out)
EDO-RAM memiliki fungsi seperti RAM, akan tetapi jenis ini mempunyai kemampuan kerja sangat tinggi dan cepat dalam membaca dan mentransfer data. Bentuk EDO-RAM adalah SIMM (Single Inline Memory Module). Slot memori pada motherboard 72pin.edoram
SDRAM (Synchronous Dynamic RAM)
SDRAM adalah memori yang dapat mengases data atau informasi lebih cepat dari EDO-RAM. Bentuk SDRAM adalah DIMM (Dual Inline Memory Module). Slot memori pada motherboard 168pin.sdram
DDR SDRAM (Double Data Rate Synchronous DRRAM)
DDR SDRAM adalah tipe memori generasi penerus SDRAM, yang memiliki kemampuan dua kali lebih cepat dari SDRAM. Slot memori yang digunakanDDR SDRAM memiliki jumlah pin lebih banyak dari SDRAM, yaitu184pin.ddram
RDRAM (Rambus Dynamic RAM)
RDRAM adalah sebuah memori berkecepatan tinggi, digunaan untuk mendukung prosesor Pentium 4.tipe RDRAM menggunakan slot RIMM,yang mirip dengan slot SDRAM.












rdram

Tugas Pengantar Komputer Minggu Ke-10

Alur Pemrosesan Data

Input >>> i/o >>> proses >>> memori >>> storage >>> memori >>> proses >>> i/o >>> output
Keterangan:
Input : data yang akan di proses atau dibuat.
I/O : Input / Output.
Proses : Pengolahan data yang dimasukkan.
Memori : Tempat menyimpan data sementara pada saat data diproses.
Storage : Tempat menyimpan data secara permanen seteah diproses.
Output : Hasil dari proses yang berupa tampilan, suara, cetakan.

Sistem komputer memiliki siklus pengolahan yang pasti. Siklus pengolahan itu sendiri mengacu kepada makna dari arti komputer itu sendiri. Ada tiga pokok dalam siklus pengolahan data dengan menggunakan komputer tersebut, yaitu input, proses, dan output. Sedangkan untuk proses sendiri, pemroses dibantu oleh beberapa bagian lain, yaitu program serta penyimpan (storage). Input Merupakan aktifitas pemberian data kepada komputer, dimana data tersebut merupakan masukan bagi komputer. Agar data dapat diterima oleh komputer dengan baik, komputer memiliki peralatan yang berfungsi untuk hal ini, yang disebut dengan input device .  Pada komputer, input device ini juga bermacam-macam, tergantung bagaimana proses input tersebut dilaksanakan. Bermacam-macam input device yang digunakan oleh komputer, contohnya adalah keyboard untuk mengetikkan informasi, pembaca kode batang pada transaksi di supermarket, kamera untuk menangkap gambar, dan lain sebagainya. Masukan yang didapatkan oleh input device tersebut informasinya dikirimkan ke pemroses (otaknya komputer) untuk diproses lebih lanjut, diabaikan atau informasi tersebut disimpan dalam media penyimpanan. Proses Setiap masukan yang disampaikan kepada komputer akan masuk ke pemroses, pemroses ini dikenal juga dengan nama processor . Pemroses ini bisa disebut dengan otaknya komputer. Pemroses ini akan menentukan akan diapakan informasi yang masuk tersebut. Jika diolah lebih lanjut, maka data tersebut diolah sesuai dengan ketentuan yang telah disusun sedemikian kedalam otak komputer. Ketentuan yang telah disusun ini adalah instruction set. Instruction set ini merupakan format baku perintah yang dapat dilaksanakan oleh pemroses. Pemroses memiliki hubungan dengan media input, program, storage serta media output. Masing-masing akan dikontak oleh pemroses sesuai dengan tugasnya masing-masing. Pemroses ini hanya berfungsi untuk menjalankan perintah yang diterimanya dari program. Tindak lanjut dari masing-masing perintah, katakanlah menampilkan data terebut ke monitor atau ke printer, maka pemroses akan mengirimkan lagi hasil olahannya ke media yang dituju. Dengan mengirimkan data ke media yang dituju, maka berarti pemroses menyerahkan tugasnya kepada media tersebut sambil mengirimkan data-data yang diperlukan oleh media yang dituju serta instruksi yang diminta untuk dilaksanakan oleh media yang dituju itu tadi. Bus Bus merupakan jalur penghubung antar alat pada komputer yang digunakan sebagai media dalam proses melewatkan data pada suatu proses. Bus ini bisa dianggap sebagai sebuah pipa, dimana pipa atau saluran tersebut digunakan untuk mengirimkan dan menerima informasi antar alat yang dihubungkannya. Pada sistem komputer, bus ini termasuk perangkat internal, kecepatan pengiriman informasi melalui bus ini dilakukan dengan kecepatan tinggi. Program Program merupakan kumpulan instruction set yang akan dijalankan oleh pemroses, yaitu berupa software. Bagaimana sebuah sistem komputer berpikir diatur oleh program ini. Program inilah yang mengendalikan semua aktifitas yang ada pada pemroses. Program berisi konstruksi logika yang dibuat oleh manusia, dan sudah diterjemahkan ke dalam bahasa mesin sesuai dengan format yang ada pada instruction set. Storage Dalam menjalankan proses, selain proses diatur oleh program, pemroses juga memiliki akses ke media penyimpan yang disebut dengan storage. Storage ini berfungsi untuk menyimpan berbagai informasi yang dibutuhkan untuk menjalankan fungsi pemroses, baik untuk penyimpan sementara maupun untuk jangka panjang. Pemroses melakukan tugasnya sesuai dengan kendali yang ada pada program. Proses untuk mengambil data atau menyimpan data pada storage ini dilaksanakan oleh pemroses sesuai dengan perintah yang diterima pemroses dari program yang sedang ia jalankan. Output Merupakan aktifitas menerima data dari hasil pengolahan pada bagian pemroses. Jika terdapat data pada aktifitas output ini, berarti pemroses menyerakan tugas selanjutnya kepada bagian ini. Tentu saja pada bagian ini diperlukan juga peralatan yang bekerja, dimana peralatan terebut disebut dengan output device.   Pada komputer contoh output device ini adalah printer (pencetak). Ketika data output dari pemroses diterimanya maka printer akan melaksanakan tugas yang diterima dari pemroses tadi.

2.2  Cara Kerja computer

  • memori

Di sistem ini, memori adalah urutan byte yang dinomori (seperti "sel" atau "lubang burung dara"), masing-masing berisi sepotong kecil informasi. Informasi ini mungkin menjadi perintah untuk mengatakan pada komputer apa yang harus dilakukan. Sel mungkin berisi data yang diperlukan komputer untuk melakukan suatu perintah. Setiap slot mungkin berisi salah satu, dan apa yang sekarang menjadi data mungkin saja kemudian menjadi perintah.
Memori menyimpan berbagai bentuk informasi sebagai angka biner. Informasi yang belum berbentuk biner akan dipecahkan (encoded) dengan sejumlah instruksi yang mengubahnya menjadi sebuah angka atau urutan angka-angka. Sebagai contoh: Huruf F disimpan sebagai angka desimal 70 (atau angka biner) menggunakan salah satu metode pemecahan. Instruksi yang lebih kompleks bisa digunakan untuk menyimpan gambar, suara, video, dan berbagai macam informasi. Informasi yang bisa disimpan dalam satu sell dinamakan sebuah byte.
Secara umum, memori bisa ditulis kembali lebih jutaan kali - memori dapat diumpamakan sebagai papan tulis dan kapur yang dapat ditulis dan dihapus kembali, daripada buku tulis dengan pena yang tidak dapat dihapus.
Ukuran masing-masing sel, dan jumlah sel, berubah secara hebat dari komputer ke komputer, dan teknologi dalam pembuatan memori sudah berubah secara hebat - dari relay elektromekanik, ke tabung yang diisi dengan air raksa (dan kemudian pegas) di mana pulsa akustik terbentuk, sampai matriks magnet permanen, ke setiap transistor, ke sirkuit terpadu dengan jutaan transistor di atas satu chip silikon.

  • pemrosesan (CPU)

Unit Pengolah Pusat atau CPU berperanan untuk memproses arahan, melaksanakan pengiraan dan menguruskan laluan informasi menerusi system komputer. Unit atau peranti pemprosesan juga akan berkomunikasi dengan peranti input , output dan storan bagi melaksanakan arahan-arahan berkaitan.
Contoh sebuah CPU dalam kemasan Ball Grid Array (BGA) ditampilkan terbalik dengan menunjukkan kaki-kakinya.
Dalam arsitektur von Neumann yang asli, ia menjelaskan sebuah Unit Aritmatika dan Logika, dan sebuah Unit Kontrol. Dalam komputer-komputer modern, kedua unit ini terletak dalam satu sirkuit terpadu (IC - Integrated Circuit), yang biasanya disebut CPU (Central Processing Unit).
Unit Aritmatika dan Logika, atau Arithmetic Logic Unit (ALU), adalah alat yang melakukan pelaksanaan dasar seperti pelaksanaan aritmatika (tambahan, pengurangan, dan semacamnya), pelaksanaan logis (AND, OR, NOT), dan pelaksanaan perbandingan (misalnya, membandingkan isi sebanyak dua slot untuk kesetaraan). Pada unit inilah dilakukan "kerja" yang nyata.
Unit kontrol menyimpan perintah sekarang yang dilakukan oleh komputer, memerintahkan ALU untuk melaksanaan dan mendapat kembali informasi (dari memori) yang diperlukan untuk melaksanakan perintah itu, dan memindahkan kembali hasil ke lokasi memori yang sesuai. Sekali yang terjadi, unit kontrol pergi ke perintah berikutnya (biasanya ditempatkan di slot berikutnya, kecuali kalau perintah itu adalah perintah lompatan yang memberitahukan kepada komputer bahwa perintah berikutnya ditempatkan di lokasi lain).
 
  • input dan hasil
I/O membolehkan komputer mendapatkan informasi dari dunia luar, dan menaruh hasil kerjanya di sana, dapat berbentuk fisik (hardcopy) atau non fisik (softcopy). Ada berbagai macam alat I/O, dari yang akrab keyboard, monitor dan disk drive, ke yang lebih tidak biasa seperti webcam (kamera web, printer, scanner, dan sebagainya.
Yang dimiliki oleh semua alat masukan biasa ialah bahwa mereka meng-encode (mengubah) informasi dari suatu macam ke dalam data yang bisa diolah lebih lanjut oleh sistem komputer digital. Alat output, men-decode data ke dalam informasi yang bisa dimengerti oleh pemakai komputer. Dalam pengertian ini, sistem komputer digital adalah contoh sistem pengolah data.


  •  instruksi
Perintah yang dibicarakan di atas bukan perintah seperti bahasa manusiawi. Komputer hanya mempunyai dalam jumlah terbatas perintah sederhana yang dirumuskan dengan baik. Perintah biasa yang dipahami kebanyakan komputer ialah "menyalin isi sel 123, dan tempat tiruan di sel 456", "menambahkan isi sel 666 ke sel 042, dan tempat akibat di sel 013", dan "jika isi sel 999 adalah 0, perintah berikutnya anda di sel 345".
Instruksi diwakili dalam komputer sebagai nomor - kode untuk "menyalin" mungkin menjadi 001, misalnya. Suatu himpunan perintah khusus yang didukung oleh komputer tertentu diketahui sebagai bahasa mesin komputer. Dalam praktiknya, orang biasanya tidak menulis perintah untuk komputer secara langsung di bahasa mesin tetapi memakai bahasa pemrograman "tingkat tinggi" yang kemudian diterjemahkan ke dalam bahasa mesin secara otomatis oleh program komputer khusus (interpreter dan kompiler). Beberapa bahasa pemrograman berhubungan erat dengan bahasa mesin, seperti assembler (bahasa tingkat rendah); di sisi lain, bahasa seperti Prolog didasarkan pada prinsip abstrak yang jauh dari detail pelaksanaan sebenarnya oleh mesin (bahasa tingkat tinggi)


  • arsitektur
Komputer kontemporer menaruh ALU dan unit kontrol ke dalam satu sirkuit terpadu yang dikenal sebagai Central Processing Unit atau CPU. Biasanya, memori komputer ditempatkan di atas beberapa sirkuit terpadu yang kecil dekat CPU. Alat yang menempati sebagian besar ruangan dalam komputer adalah ancilliary sistem (misalnya, untuk menyediakan tenaga listrik) atau alat I/O.
Beberapa komputer yang lebih besar berbeda dari model di atas di satu hal utama - mereka mempunyai beberapa CPU dan unit kontrol yang bekerja secara bersamaan. Terlebih lagi, beberapa komputer, yang dipakai sebagian besar untuk maksud penelitian dan perkomputeran ilmiah, sudah berbeda secara signifikan dari model di atas, tetapi mereka sudah menemukan sedikit penggunaan komersial.
Fungsi dari komputer secara prinsip sebenarnya cukup sederhana. Komputer mencapai perintah dan data dari memorinya. Perintah dilakukan, hasil disimpan, dan perintah berikutnya dicapai. Prosedur ini berulang sampai komputer dimatikan.
  
  • program
Program komputer adalah daftar besar perintah untuk dilakukan oleh komputer, barangkali dengan data di dalam tabel. Banyak program komputer berisi jutaan perintah, dan banyak dari perintah itu dilakukan berulang kali. Sebuah komputer pribadi modern yang umum (pada tahun 2003) bisa melakukan sekitar 2-3 milyar perintah dalam sedetik. Komputer tidak mendapat kemampuan luar biasa mereka lewat kemampuan untuk melakukan perintah kompleks. Tetapi, mereka melakukan jutaan perintah sederhana yang diatur oleh orang pandai, "programmer." "Programmer Baik memperkembangkan set-set perintah untuk melakukan tugas biasa (misalnya, menggambar titik di layar) dan lalu membuat set-set perintah itu tersedia kepada programmer lain." Dewasa ini, kebanyakan komputer kelihatannya melakukan beberapa program sekaligus. Ini biasanya diserahkan ke sebagai multitasking. Pada kenyataannya, CPU melakukan perintah dari satu program, kemudian setelah beberapa saat, CPU beralih ke program kedua dan melakukan beberapa perintahnya. Jarak waktu yang kecil ini sering diserahkan ke sebagai irisan waktu (time-slice). Ini menimbulkan khayal program lipat ganda yang dilakukan secara bersamaan dengan memberikan waktu CPU di antara program. Ini mirip bagaimana film adalah rangkaian kilat saja masih membingkaikan. Sistem operasi adalah program yang biasanya menguasai kali ini membagikan.


  • sistem opersi
Sistem operasi ialah semacam gabungan dari potongan kode yang berguna. Ketika semacam kode komputer dapat dipakai secara bersama oleh beraneka-macam program komputer, setelah bertahun-tahun, programer akhirnya menmindahkannya ke dalam sistem operasi.
Sistem operasi, menentukan program yang mana dijalankan, kapan, dan alat yang mana (seperti memori atau I/O) yang mereka gunakan. Sistem operasi juga memberikan servis kepada program lain, seperti kode (driver) yang membolehkan programer untuk menulis program untuk suatu mesin tanpa perlu mengetahui detail dari semua alat elektronik yang terhubung.

2.3  Kecepatan proses :
        Clock : Hertz
        Siklus mesin :Fetch, decode, execute
        MIPS (Millions of Instructions Per Second)
        MFLOATS (Millions of Floating point Per Second)

2.4  Faktor yang mempengaruhi kecepatan proses
1.      -Register
 menyimpan instruksi selama proses berjalan, ukuran sesuai dengan jumlah data yang dapat diproses dalam saty waktu (Reg ukuran 32 bit berarti dapat memproses 4 byte data dalam satuan waktu
2.      -RAM
 semakin besar RAM maka semakin banyak data yang disimpan sehingga akses ke data lebih cepat (dibandingkan dengan mengakses ke Secondary Storage). Jika ukuran aplikasi besar dan tidak cukup untuk diload sekalian ke dalam memori maka dilakukan proses segmentasi dan swapping (pemindahan data dari memory ke storage)
3.      -CPU clock
 semakin tinggi clock CPU maka semakin cepat / semakin banyak perintah yang dapat dieksekusi
4.      -Bus / datapath
 menentukan besarnya data yang dapat ditransmisikan antara CPU dan device yang lain. ( seperti jalan raya)
5.      -Cache memory
semakin cepat, dan besar cache maka proses akan menjadi lebih cepat



Tugas Pengantar Komputer Minggu Ke-7,8,9


Representasi Data
Untuk memberi tanda bilangan biner telah diperjanjikan yakni 0 untuk bilangan
positif atau plus dan 1 untuk bilangan negatif atau minus. Pada bilangan biner 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 dilengkapai dengan tanda bilangan, bit tanda
ditempatkan pada posisi paling kiri atau sebagai MSB.

Untuk keperluan operasi aritmetika yang melibatkan bilangan biner negatif, bilangan
biner dapat direpresentasikan dalam beberapa cara yakni dengan representasi besaran
bertanda (signed-magnitude representation) selanjutnya disingkat dengan SM, representasi
komplemen pertama bertanda (signed-1’s complement representation) disingkat dengan S1C, dan
representasi komplemen kedua bertanda (signed-2’s complement representation) disingkat S2C.
Berikut ini adalah contoh beberapa representasi bilangan biner untuk bilangan heksadesimal
+5 dan -5 serta +7 dan -7.
FORMAT DATA KOMPUTER
ASCII (American Standard Code for Information Interchange)
Data ASCII mewakili karakter alfanumerik dalam memori sistem komputer. Format Data
yang digunakan adalah 7 bit, dimana bit yang ke 8 digunakan untuk memuat parity.
dalam komputer pribadi, kumpulan karakter extended ASCII menggunakan kode 80 H-FF H.
karakter extended ASCII menyimpan huruf-huruf asing dan tanda baca, karakter greek (Yunani),
karakter matematika, karakter-karakter box drawing, dan karakter-karakter khusus lainnya.
Data ASCII dapat disimpan dalam memori menggunakan direktif khusus program assembler
yaitu Define Byte (DB) atau Byte.
FORMAT DATA KOMPUTER
BCD(Binary Code Desimal)
Informasi BCD disimpan dalam bentuk packed atau unpacked. Data packed disimpan dalam
bentuk dua digit per byte, sedangkan data BCD unpacked disimpan satu digit per byte. Rentang
digit BCD antara 0000B sampai 1001B
BCD unpacked sering digunakan oleh keypad atau keyboard, sedangkan BCD Packed
digunakan untuk beberapa instruksi termasuk untuk penjumlahan dan pengurangan BCD dalam
kumpulan instruksi di CPU.
FORMAT DATA KOMPUTER
UNSIGN dan SIGN INTEGER
Data Ukuran Byte
data ukuran byte disimpan dalam unsigned dan signed integer(bilangan bulat tak
bertanda dan bilangan bulat bertanda). Perbedaan dalam bentuk ini adalah bobot dari posisi
paling kiri. Untuk unsign integer nilainya 128 dan untuk signed integer nilainya adalah
-128. dalam format signed, bit yang paling kiri adalah bit tanda bilangan. Kisaran dari
unsigned integer adalah 0 sampai 255, sedangkan signed integer berkisar antara -128 sampai
+127.
Bilangan negatif disajikan dalam bentuk ini, tetapi disimpan dalam bentuk komplement
dua, seperti yang telah dijelaskan diatas.
FORMAT DATA KOMPUTER
UNSIGN dan SIGN INTEGER
Data Ukuran Word
Satu ukuran word dibentuk oleh dua byte data. LSB selalu disimpan dalam lokasi memori
paling rendah, dan MSB disimpan yang paling tinggi. Metode untuk penyimpanan ini disebut
dengan format little endian. Metode alternatif disebut format big endian. Untuk menyimpan
data ukuran word dalam memori, digunakan direktif DW(Define Word). Namun biasanya data yang
berukuran lebih dari 8 bit disimpan menggunakan format little endian.
Limit Tipe Data
Mengolah data komputer ada rambu-rambunya.
Prinsip paling dasar, tiap tipe data punya rentang nilai. Misalnya saja:
TIPE MINIMUM MAKSIMUM KETELITIAN
short int -128 +127 1
int -32768 +32766 1
long int 1
unsigned short 1
unsigned 1
unsigned long 1
float
Larangan paling dasar adalah:
* Jangan sampai mengisikan nilai di luar batas MINIMUM – MAKSIMUM.
* Jangan simpan bilangan teliti (significant) lebih kecil dari KETELITIAN.
Itu saja. Gampang kan hukumnya. Mari lihat konsekuensinya kalau ada yang nekad atau ceroboh
melanggar batas.
Buat contoh, ambil tipe data unsigned short (8 bit). Tipe data ini punya rentang nilai 0 -
255. Representasi kode binernya adalah sbb:
00000000 = 0 desimal
00000001 = 1 desimal


11111110 = 254 desimal
11111111 = 255 desimal
Jika anda pesan variabel unsigned short, bayangkan bahwa anda punya panci yang batas
bawahnya adalah 0 dan batas atasnya 255. Apa yang terjadi kalau anda isi air sampai lebih
dari batas 255 ? Tumpah. Sementara itu kebalikannya, kalau anda rebus airnya sampai menguap
habis, pancinya bakal gosong.
Variabel juga bisa kelebihan (overflow) dan kekurangan (underflow). Tapi efeknya aneh, tidak
seperti panci. Perhatikan program berikut:
main()
{ unsigned short data;
// kasus pertama
data = 255;
data = data + 1;
printf(“%u”, data);
// kasus kedua
data = 0;
data = data – 1;
printf(“%u”, data);
}
Pada kasus pertama, mestinya data jadi 256, tapi 255 itu kan sudah MAKSIMUM. Sementara yang
kedua , mestinya data jadi -1, tapi 0 kan MINIMUM. Jadi berapa keluaran program ini ? Jangan
terkejut, keluarannya pertama adalah 0. Kok tidak meluap, dan malahan jadi habis ? Sementara
itu keluaran kedua adalah 255. Bukannya gosong malah jadi penuh. Kenapa bisa ya ?
Ini dia kisahnya kalau kita lihat operasi pada level kode binernya.
KASUS1
desimal: 255d + 1d = 256d
biner : 11111111b + 1b = 100000000b (overflow 9 bit, nilai = 256)
error : = 00000000b (terpotong jadi 8 bit, nilai = 0)
KASUS2
desimal: 0d – 1d = -1d
biner : 00000000b – 1b = 111111111b (underflow 9 bit)
error : = 11111111b (terpotong jadi 8 bit, nilai = 255)
Mudah-mudahan contohnya cukup jelas. Coba, berapa hasilnya kalau 255+2 ?
Berapa kalau 0-2 ?
Stop … jangan lanjutkan baca kalau belum bisa tahu jawabnya. Saya tungguin nih.
Zzzz ….
Sudah ? Oke, dilanjut. Ada yang bertanya-tanya nggak, kenapa pada kasus kedua, -1d kok jadi
111111111b ? Jawabnya, karena komputer melakukan operasi aritmatika (tambah/kurang) memakai
rangkaian digital. Nah rangkaian digital pengurangan, tanpa modifikasi apa-apa, akan membuat
00000001b jadi 00000000b, 00000000b jadi 11111111b, dan seterusnya 11111111b jadi 11111110b.
Singkat kata, itu kelakuan alamiah rangkaian digital.
Lho … kalau memang kelakuan alamiahnya begitu, kenapa tidak dimanfaatkan saja ? Kita
simpan data integer negatip sebagai berikut:
00000000 = 0 desimal // mulai dari 0
00000001 = 1 desimal // naik terus sebagai positip

01111111 = 127 desimal // stop sampai setengah rentang
10000000 = -128 desimal // rentang sisa buat negatip
10000001 = -127 desimal // tapi mulai dari -128
10000010 = -126 desimal

11111110 = -2 desimal
11111111 = -1 desimal // sebab minus satu di sini
Nah inilah representasi 2-komplemen. Sederhana kan idenya ?
Sekarang, dengan representasi data seperti itu, apa yang terjadi kalau kita buat program
seperti ini?
main()
{ // data signed integer 8 bit
short int data;
// kasus pertama
data = 127;
data = data + 1;
printf(“%d”, data);
// kasus kedua
data = -128;
data = data – 1;
printf(“%d”, data);
}
Anda pasti tahu jawabnya kan. Kode 01111111b (127) kalau ditambah satu akan jadi 10000000b,
alias -128. Singkat kata, signed integer punya aritmatika aneh seperti ini:
127 + 1 = -128 (overflow, ERROR)
-128 – 1 = 127 (underflow, ERROR)
-1 + 1 = 0 (roll back, tapi betul)
0 – 1 = -1 (roll over, tapi betul)
Mudah-mudahan anda jadi tahu bahayanya overflow dan underflow. Sebagai penutup, ini kisah
serem buat nakut-nakutin. Konon ada programmer roket luar angkasa memakai variabel integer
untuk menyimpan data daya dorong roket. Ketika roketnya berangkat ke atas, ternyata daya
dorong roket positip sangat besar, sehingga variabelnya overflow. Ingat bahwa data bertipe
integer kalau overflow akan jadi negatip. Artinya, roket mendorong terbalik ke bawah ! Jelas
saja software kendali yang menghitung terbangnya roket kebingungan, dan … kabooommmm !





SISTEM BILANGAN

I. DEFINISI
            System bilangan (number system) adalah  suatu cara untuk mewakili besaran dari suatu item fisik. Sistem bilanan yang banyak dipergunakan oleh manusia adalah system biilangan desimal, yaitu sisitem bilangan yang menggunakan 10 macam symbol untuk mewakili suatu besaran.Sistem ini banyak digunakan karena manusia mempunyai sepuluh jari untuk dapat membantu perhitungan. Lain halnya dengan komputer, logika di komputer diwakili oleh bentuk elemen dua keadaan yaitu off (tidak ada arus) dan on (ada arus). Konsep inilah yang dipakai dalam sistem bilangan binary yang mempunyai dua macam nilai  untuk mewakili suatu besaran nilai.
            Selain system bilangan biner, komputer juga menggunakan system bilangan octal dan hexadesimal.

II. Teori Bilangan

1.    Bilangan Desimal
Sistem ini menggunakan 10 macam symbol yaitu 0,1,2,3,4,5,6,7,8,dan 9. system ini menggunakan basis 10. Bentuk nilai ini dapat berupa integer desimal atau pecahan.
Integer desimal :
adalah nilai desimal yang bulat, misalnya 8598 dapat diartikan :
8 x 103      = 8000
5 x 102      =   500
9 x 101      =      90
8 x 100      =        8
                      8598
                                                                        position value/palce value                                                                                     absolute value


Absolue value merupakan nilai untuk masing-masing digit bilangan, sedangkan  position value adalah merupakan penimbang atau bobot dari masing-masing digit tergantung dari letak posisinya, yaitu nernilai basis dipangkatkan dengan urutan posisinya.

Pecahan desimal :
Adalah nilai desimal yang mengandung nilai pecahan dibelakang koma, misalnya nilai 183,75 adalah pecahan desimal yang dapat diartikan :
1 x 10 2           = 100
8 x 10 1           =  80
3 x 10 0           =    3
7 x 10 –1         =    0,7
5 x 10 –2         =    0,05
                          183,75

2. Bilangan Binar
            Sistem bilangan binary menggunakan 2 macam symbol bilangan berbasis 2digit angka, yaitu 0 dan 1.
Contoh bilangan 1001 dapat diartikan :

1 0 0 1
                                                            1 x 2 0 = 1
                                                            0 x 2 1 = 0
                                                            0 x 2 2 = 0
                                                            1 x 2 3 = 8
                                                                        10 (10)
Operasi aritmetika pada bilangan Biner :
a.    Penjumlahan
Dasar penujmlahan biner adalah :
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0                     dengan carry of 1, yaitu 1 + 1 = 2, karena digit terbesar ninari 1, maka harus dikurangi dengan 2 (basis), jadi 2 – 2 = 0 dengan carry of 1
contoh :

1111
  10100 +
                  100011
atau dengan langkah :
 1 + 0              = 1
 1 + 0              = 1


 

 1 + 1              = 0 dengan carry of 1
 1 + 1 + 1        = 0


 

 1 + 1              = 0 dengan carry of 1                                    1  0     0      0    1     1

b.    Pengurangan
Bilangan biner dikurangkan dengan cara yang sama dengan pengurangan bilangan desimal. Dasar pengurangan untuk masing-masing digit bilangan biner adalah :
0 - 0 = 0
1 - 0 = 1
1 - 1 = 0
0 – 1 = 1                     dengan borrow of 1, (pijam 1 dari posisi sebelah kirinya).
Contoh :
11101
 1011 -
          10010




            dengan langkah – langkah :
            1 – 1               = 0


 

            0 – 1               = 1 dengan borrow of 1
           
1 – 0 – 1         = 0
            1 – 1               = 0
            1 – 0               = 1
                                                                                                1    0     0         1   0

c.    Perkalian
Dilakukan sama dengan cara perkalian pada bilangan desimal. Dasar perkalian bilangan biner adalah :
0 x 0 = 0
1 x 0 = 0
0 x 1 = 0
1 x 1 = 1
contoh
Desimal
Biner

   14
   12 x
    28
 14

                  +
168


             1110
             1100 x
              0000
            0000
          1110
         1110      +
      10101000
d.    pembagian
Pembagian biner dilakukan juga dengan cara yang sama dengan bilangan desimal. Pembagian biner 0 tidak mempunyai arti, sehingga dasar pemagian biner adalah :
0 : 1 = 0
1 : 1 = 1
Desimal
Biner
5     / 125 \ 25
         10  -
            25
            25 -
              0
              101 / 1111101 \ 11001
                        101 -
                           101
                            101 -
                                 0101
                                    101 -
                                         0

3. Bilangan Oktal
            Sistem bilangan Oktal menggunakan 8 macam symbol bilangan berbasis 8 digit angka, yaitu 0 ,1,2,3,4,5,6,7.
Position value system bilangan octal adalah perpangkatan dari nilai 8.
Contoh :
12(8) = …… (10)
                                                            2 x 8 0 = 2
                                                            1 x 8 1 =8                                                                                                                                10
Jadi 10 (10)

Operasi Aritmetika pada Bilangan Oktal
a.    Penjumlahan
Langkah-langkah penjumlahan octal :
-          tambahkan masing-masing kolom secara desimal
-          rubah dari hasil desimal ke octal
-          tuliskan hasil dari digit paling kanan dari hasil octal
-          kalau hasil penjumlahan tiap-tiap kolom terdiri dari dua digit, maka digit paling kiri merupakan carry of untuk penjumlahan kolom selanjutnya.
Contoh :
Desimal
Oktal

    21
    87 +
  108

  25
127 +                                                                                          
154
                    5 10  + 7 10            = 12 10   =      14 8
                    2 10  +  2 10 + 1 10 = 5 10    =         5 8
                     1 10                      = 1 10     =        1 8


 



b.    Pengurangan
Pengurangan Oktal dapat dilaukan secara sama dengan pengurangan bilangan desimal.
Contoh :
Desimal
Oktal

   108
    87 -
    21

 154
127 -                                                                                          
  25
                    4 8  - 7 8      + 8 8     (borrow of) = 5 8
                    5 8  -  2 8 - 1 8                                  = 2 8  
                     1 8  - 1 8                                   =  0 8


 



c.    Perkalian
Langkah – langkah :
-          kalikan masing-masing kolom secara desimal
-          rubah dari hasil desimal ke octal
-          tuliskan hasil dari digit paling kanan dari hasil octal
-          kalau hasil perkalian tiap kolol terdiri dari 2 digit, maka digit paling kiri merupakan carry of untuk ditambahkan pada hasil perkalian kolom selanjutnya.
Contoh :
Desimal
Oktal

   14
   12 x
    28
 14 +
  168    

                 16
                 14 x
                  70
                                     4 10 x 6 10     = 24 10  = 30 8
                                     4 10 x 1 10 + 3 10 = 7 10 = 7 8
 

                  16
                 14 x
                  70
                16
                                 1 10 x 6 10    = 6 10    = 6 8
                                 1 10 x 1 10    =  1 10   = 1 8
 

                 16
                 14 x
                  70
                16 +
               250
                                       7 10 + 6 10  = 13 10  = 15 8
                                        1 10  +  1 10  = 2 10 = 2 8




d.    Pembagian
Desimal
Oktal
  12 /  168  \  14
12     -   
             48
             48 –
               0
               
 14 / 250 \ 16
         14 -             14 8  x  1 8   = 14 8
         110
          110 -           14 8 x 6 8 = 4 8 x 6 8 = 30 8
              0                                  1 8 x 6 8 =   6 8 +
                                                                     110 8




4. Bilangan Hexadesimal
Sistem bilangan Oktal menggunakan 16 macam symbol bilangan berbasis 8 digit angka, yaitu 0 ,1,2,3,4,5,6,7,8,9,A,B,C,D,Edan F
Dimana A = 10, B = 11, C= 12, D = 13 , E = 14 dan F = 15
Position value system bilangan octal adalah perpangkatan dari  nilai 16.
Contoh :
C7(16) = …… (10)
                                                            7 x 16 0           =     7
                                                            C x 16 1          = 192                                                                                                                             199
Jadi 199 (10)





Operasi Aritmetika Pada Bilangan Hexadesimal
a.    Penjumlahan
Penjumlahan bilangan hexadesimal dapat dilakukan secara sama dengan penjumlahan bilangan octal, dengan langkah-langkah sebagai berikut :
Langkah-langkah penjumlahan hexadesimal :
-          tambahkan masing-masing kolom secara desimal
-          rubah dari hasil desimal ke hexadesimal
-          tuliskan hasil dari digit paling kanan dari hasil hexadesimal
-          kalau hasil penjumlahan tiap-tiap kolom terdiri dari dua digit, maka digit paling kiri merupakan carry of untuk penjumlahan kolom selanjutnya.
Contoh :
Desimal
hexadesimal

 2989
  1073  +
  4062

BAD
431 +                                                                                          
FDE
        D 16 + 1 16  = 13 10  + 110 = 14 10 = E 16
        A 16 + 3 16   = 10 10  + 3 10 = 13 10    =D 16
         B16  + 4 16 = 1110 + 4 10 = 15 10 = F 16


 




b.    Pengurangan
Pengurangan bilangan hexadesimal dapat dilakukan secara sama dengan pengurangan bilangan desimal.




Contoh :
Desimal
hexadesimal

 4833
1575  -
3258

12E1
   627 -                                                                                          
CBA
        16 10 (pinjam) + 1 10  - 710      = 10 10 = A 16
        14 10 - 7 10 -   - 1 10 (dipinjam) = 11 10  =B 16
         1610  (pinjam) + 2 10  - 610        = 12 10 = C 16


 

          1 10 – 1 10 (dipinjam)  0 10 = 0 16



c.    Perkalian
Langkah – langkah :
-          kalikan masing-masing kolom secara desimal
-          rubah dari hasil desimal ke octal
-          tuliskan hasil dari digit paling kanan dari hasil octal
-          kalau hasil perkalian tiap kolol terdiri dari 2 digit, maka digit paling kiri merupakan carry of untuk ditambahkan pada hasil perkalian kolom selanjutnya.









Contoh :
Desimal
Hexadesimal

   172
     27 x
   1204
    344 +
  4644  


                 AC
                 1B x
                764
                              C 16 x B 16     =12 10 x 1110= 84 16
                            A16 x B16 +816 = 1010 x 1110+810=7616
 


                 AC
                 1B x
                764
                AC
                                 C16 x 116  = 1210  x 110 =1210=C16
                                 A16 x 116  =  1010  x110 =1010=A 16
 

                 AC
                 1B x
               764
               AC +
               1224
                         616 + C16  = 610 + 1210 = 1810 =12 16
                         716+A16 +116 = 710 x 1010 + 110=1810 = 1216







D. Pembagian
Contoh :
Desimal
hexadesimal
27 /  4646  \  172
27-   
            194
            189 –
               54
               54 –
                 0

 1B / 1214 \ AC
         10E -      1B16xA16  = 2710x1010=27010= 10E16
         144
          144-      1B 16 x C16 = 2710 x 10 10 = 3240 10
              0                                                =14416
                                                                    




III. Konversi Bilangan
            Konversi bilangan adalah suatu proses dimana satu system bilangan dengan basis  tertentu akan dijadikan  bilangan dengan basis yang alian.

Konversi dari bilangan Desimal
1.    Konversi dari bilangan  Desimal ke biner
Yaitu dengan cara membagi bilangan desimal dengan dua kemudian diambil sisa pembagiannya.
Contoh :

45 (10) = …..(2)
45 : 2 = 22 + sisa 1
22 : 2 = 11 + sisa 0
11 : 2 =   5 + sisa 1
  5 : 2 =   2 + sisa 1
  2 : 2 =   1 + sisa 0               101101(2) ditulis dari  bawah ke atas


2.    Konversi bilangan Desimal ke Oktal
Yaitu dengan cara membagi bilangan desimal dengan 8 kemudian diambil sisa pembagiannya
            Contoh :
            385 ( 10 ) = ….(8)
            385 : 8 = 48 + sisa 1
              48 : 8 =   6 + sisa 0
                                                            601 (8)

3.    Konversi bilangan Desimal ke Hexadesimal
Yaitu dengan cara membagi bilangan desimal dengan 16 kemudian diambil sisa pembagiannya
            Contoh :
            1583 ( 10 ) = ….(16)
            1583 : 16 = 98  + sisa 15
                 96 : 16 =   6 + sisa 2
                                                            62F (16)

Konversi dari system bilangan Biner
1.    Konversi ke desimal
Yaitu dengan cara mengalikan masing-masing bit dalam bilangan dengan position valuenya.
Contoh :
1 0 0 1
                                                            1 x 2 0 = 1
                                                            0 x 2 1 = 0
                                                            0 x 2 2 = 0
                                                            1 x 2 3 = 8
                                                                        10 (10)



2.     Konversi ke Oktal
Dapat dilakukan dengan mengkonversikan tiap-tiap tiga buah digit biner yang dimulai dari bagian belakang.
Contoh :

11010100 (2) = ………(8)
11   010   100


 

            3          2          4
diperjelas :
100 = 0 x 2 0  = 0
            0 x 2 1 = 0
            1 x 2 2 = 4
                             4
Begitu seterusnya untuk yang lain.

3.    Konversi ke Hexademial
Dapat dilakukan dengan mengkonversikan tiap-tiap empat buah digit biner yang dimulai dari bagian belakang.
Contoh :
11010100
1101    0100
                                                                                                                                                D             4


Konversi dari system bilangan Oktal
1.    Konversi ke Desimal
Yaitu dengan cara mengalikan masing-masing bit dalam bilangan dengan position valuenya.


Contoh :
12(8) = …… (10)
                                                            2 x 8 0 = 2
                                                            1 x 8 1 =8                                                                                                                                10
Jadi 10 (10)

2.    Konversi ke Biner
Dilakukan dengan mengkonversikan masing-masing digit octal ke tiga digit biner.
Contoh :
6502 (8) ….. = (2)

2 = 010
0 = 000
5 = 101
6 = 110
jadi 110101000010

3.    Konversi ke Hexadesimal
Dilakukan dengan cara merubah dari bilangan octal menjadi bilangan biner kemudian dikonversikan ke hexadesimal.
Contoh :
2537 (8) = …..(16)
2537 (8) = 010101011111
010101010000(2)  = 55F (16)
Konversi dari bilangan Hexadesimal

1.    Konversi ke Desimal
Yaitu dengan cara mengalikan masing-masing bit dalam bilangan dengan position valuenya.

Contoh :
C7(16) = …… (10)
                                                                        7 x 16 0           =     7
                                                                        C x 16 1          = 192                                                                                                                             199
Jadi 199 (10)

2.    Konversi ke Oktal
Dilakukan dengan cara merubah dari bilangan hexadesimal menjadi biner terlebih dahulu  kemudian dikonversikan ke octal.
Contoh :
55F (16) = …..(8)
55F(16) = 010101011111(2)
010101011111 (2) = 2537 (8)

Latihan :
Kerjakan soal berikut dengan benar !
1.    Sebutkan dan jelaskan empat macam system bilangan !
2.    Konversikan bilangan berikut :
a.    10101111(2) = ………….(10)
b.    11111110(2) = ………….(8)
c.    10101110101 = …………(16)

3.    Konversi dari :
a.    ACD (16) = ………(8)
b.    174 (8) = ……..(2)

4.    BC1
        2A X

5.    245 (8) : 24 (8) =……..(8)




KONVERSI BILANGAN
Konversi bilangan adalah suatu proses dimana satu system bilangan dengan basis  tertentu akan dijadikan  bilangan dengan basis yang lain.
Konversi dari bilangan  Desimal ke biner
Yaitu dengan cara membagi bilangan desimal dengan dua kemudian diambil sisa pembagiannya.
Contoh :
45 (10) = …..(2)
45 : 2 = 22 + sisa 1
22 : 2 = 11 + sisa 0
11 : 2 =   5 + sisa 1
5 : 2 =   2 + sisa 1
2 : 2 =   1 + sisa 0               101101(2) ditulis dari  bawah ke atas
Konversi bilangan Desimal ke Oktal
Yaitu dengan cara membagi bilangan desimal dengan 8 kemudian diambil sisa pembagiannya
Contoh :
385 ( 10 ) = ….(8)
385 : 8 = 48 + sisa 1
48 : 8 =   6 + sisa 0
601 (8)
Konversi bilangan Desimal ke Hexadesimal
Yaitu dengan cara membagi bilangan desimal dengan 16 kemudian diambil sisa pembagiannya
Contoh :
1583 ( 10 ) = ….(16)
1583 : 16 = 98  + sisa 15
96 : 16 =   6 + sisa 2
62F (16)
Konversi bilangan biner ke desimal
Yaitu dengan cara mengalikan masing-masing bit dalam bilangan dengan position valuenya.
Contoh :
1 0 0 1
1 x 2 0 = 1
0 x 2 1 = 0
0 x 2 2 = 0
1 x 2 3 = 8
10 (10)
Konversi bilangan biner ke Oktal
Dapat dilakukan dengan mengkonversikan tiap-tiap tiga buah digit biner yang dimulai dari bagian belakang.
Contoh :
11010100 (2) = ………(8)
11   010   100



3          2          4
diperjelas :
100 = 0 x 2 0  = 0
0 x 2 1 = 0
1 x 2 2 = 4
4
Begitu seterusnya untuk yang lain.
Konversi bilangan biner ke Hexademial
Dapat dilakukan dengan mengkonversikan tiap-tiap empat buah digit biner yang dimulai dari bagian belakang.
Contoh :
11010100
1101    0100
D             4