You are on page 1of 14

LAPORAN ARSITEKTUR KOMPUTER

“Program Converter Decimal To Heksadecimal And Heksadecimal To Decimal”

Oleh :

Kelompok 5

Hamzah Eka N.P (1008605053)

I Putu Ramaditya M. (1008605054)

Galih Haryo (1008605055)

Kadek Dwi Praseptia P. (1008605056)

Fuad Adi Pradana (1008605057)

Putu Agung Ananta Wijaya (1008605058)

Gde Adipramana (1008605059)

I Wayan Agus Wirayasa (1008605060)

Elsyantari Nana S (1008605061)

Michael Senna Saputra (1008605062)

Mathias Danang (1008605063)

Kadek Lina Handayani (1008605064)

Bintari Susilowati (1008605065)

Program Studi Teknik Informatika

Jurusan Ilmu Komputer

Fakultas Matematika dan Ilmu Pengetahuan Alam

Universitas Udayana

2010

i
DAFTAR ISI

DAFTAR ISI.....................................................................................................................ii

BAB I.................................................................................................................................3

LANDASAN TEORI........................................................................................................3

1.1. Sistem Bilangan Desimal....................................................................................3

1.2. Pengertian Bilangan Heksadesimal....................................................................3

1.3. Konversi Sistem Desimal ke Sistem Heksadesimal...........................................4

BAB II...............................................................................................................................6

PEMBAHASAN................................................................................................................6

2.1. Program Converter Heksadesimal......................................................................6

2.2. Pembahasan Program Secara Singkat.................................................................8

2.3. Flowchart Program Heksadesimal....................................................................12

Flowchart program converter heksadesimal ke bilangan decimal dan dari bilangan


decimal ke heksadesimal.............................................................................................12

BAB III............................................................................................................................13

KESIMPULAN...............................................................................................................13

ii
BAB I

LANDASAN TEORI

1.1. Sistem Bilangan Desimal

Sistem bilangan desimal 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 123 = 1 x 10² + 2 x 10¹ + 3 x 100

Berikut adalah tabel yang menampilkan sistem angka desimal (basis 10),
sistem bilangan biner (basis 2), sistem bilangan/ angka oktal (basis 8), dan
sistem angka heksadesimal (basis 16) yang merupakan dasar pengetahuan
untuk mempelajari komputer digital. Bilangan oktal dibentuk dari bilangan
biner-nya dengan mengelompokkan tiap 3 bit dari ujung kanan (LSB).
Sementara bilangan heksadesimal juga dapat dibentuk dengan mudah dari
angka biner-nya dengan mengelompokkan tiap 4 bit dari ujung kanan.

1.2. Pengertian Bilangan Heksadesimal

Heksadesimal merupakan sistem bilangan dengan basis 16, artinya


symbol digit yang digunakan berjumlah 16 yakni
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E, dan F, serta bobot setiap digit penyusunya
adalah kepangkatan 16n dengan n merupakan bilangan bulat positif dan
negatif. Cara penulisan bilangan heksadesimal adalah dengan
mencantumkan indeks 16 di belakang digit-digit heksadesimal. Perhatikan
bahwa nilai A heksadesimal sama dengan 10 desimal, B sama dengan 11
3
desimal, C sama dengan 12 desimal, D sama dengan 13 desimal, E sama
dengan 14 desimal, dan F sama dengan 15 desimal.

Contoh:

Bilangan (BE5)16 atau BE516 dalam konteks sistem desimal memiliki arti:

11 x 16² + 14 x 16¹ + 5x160= 304510


281610 22410 510

Pada sistem heksadesimal, setiap bilangan penyusunnya disebut


digit. Digit paling kiri memiliki bobot terbesar sehingga dinamakan MSD.
Pada contoh di atas, digit paling kiri adalah B atau sama dengan 11
desimal memiliki bobot 162 sehingga bernilai 2816 desimal. Berturut- turut
di sebelah kanan MSD adalah digit E atau sama dengan 14 desimal
memiliki bobot terkecil sehingga 161 dan bernilai 224 desimal. Digit
paling kanan yakni 5 memiliki bobot terkecil sehingga dinamakan LSD,
memiliki bobot 160 dan bernilai 5 desimal. Dengan demikian, bilangan
heksadesimal BE516 bernilai desimal 3045.

1.3. Konversi Sistem Desimal ke Sistem Heksadesimal

Konversi sistem desimal ke heksadesimal dapat dilakukan dengan


menggunakan metode bagi 16. Contoh: konversikan bilangan desimal 45
kedalam sistem heksadesimal! Penyelesaiannya disajikan pada gambar di
bawah.

Pada gambar tersebut terlihat bahwa bilangan desimal 45 mula-


mula dibagi dengan 16, dan hasilnya adalah 2 dengan sisa 13 desimal atau
D heksadesimal. Perlu diperhatikan bahwa pada proses konversi ini
pembagian dihentikan jika hasil baginya bernilai lebih kecil dari 16
desimal. Karena hasil baginya 2 dan lebih kecil dari 16, maka pembagian
dihentikan. Bilangan heksadesimal yang di peroleh adalah urutan angka

4
yang diawali dari hasil bagi terakhir sebagai MSD, diikuti sisa pembagian
terakhir sampai dengan sisa pembagian pertama sebagai LSD.

Sisa

45

16 1310 = D

2
4510 = 2D16

Untuk memeriksa kebenaran hasil konversi tersebut, dilakukan dengan


mengkonversi balik bilangan heksadesimal yang diperoleh ke dalam
sistem desimal sebagai berikut:

2D16 = 2 x 161 + 13 x 160

= 32 + 13

2D16 = 4510

Melalui konversi balik terlihat bahwa hasil konversi dalam


heksadesimal telah sama dengan bilangan desimal yang dikonversikan,
sehingga dapat dikatakan bahwa konversi telah dilakukan dengan benar.

5
BAB II

PEMBAHASAN

2.1. Program Converter Heksadesimal

1. program converter dari desimal ke heksadesimal dan dari heksadesimal ke


desimal !

a) Bilangan desimal akan dikonvertkan pada bilangan heksadesimal, dengan


menggunakan bilangan desimal 45 yang akan dikonvertkan kedalam
heksadesima menjadi 2D.

Sisa

45

16 1310 = D

4510 = 2D16

b) Bilangan heksadesimal akan dikonvertkan pada bilangan desimal, pada


kondisi ini menggunakan bilangan heksadesimal 2D yang akan
dikonvertkan kedalam bentuk desimal menjadi 45.

2D16 = 2 x 161 + 13 x 160

= 32 + 13

2D16 = 4510

c) Disini digunakan bahasa pemrograman C dalam pembuatan program


converternya. Alasan menggunaka bahasa C adalah :

6
 Kode bahasa C sifatnya adalah portable.

 proses excutable program bahasa C .

 C adalalah bahasa yang terstruktur

 Bahasa C adalah compiler

d) Struktur bahasa C.

main()

{ fungsi utama

statemen-statemen;

Fungsi_fungsi_Lain()

{ fungsi-fungsi lain yang ditulis oleh

statemen-statemen pemrograman komputer

e) Dalam bahasa C nilai numerik integer dalam bentuk heksadesimal dapat


dimasukan sebagai data dengan menggunakan kode format “%x”.

#include<stdio.h>

main()

int I,X;

printf("Masukan Nilai Heksadesimal ="); scanf("%x", &I);

printf("Masukan Nilai Desimal ="); scanf("%i", &X);

7
printf("\nNilai heksadesimal %#x adalah %i dalam desimal\n", I,I);

printf("\nNilai Desimal %i adalah %x dalam heksadesimal\n", X,X);

Jika program dijalankan akan didapatkan hasil:

Masukan Nilai Heksadesimal = 2d

Masukan Nilai Desimal = 45

Nilai hesadesimal 0x2d adalah 45 dalam desimal

Nilai Desimal 45 adalah 2d dalam heksadesimal

Pemasukan nilai heksadesimal dapat juga diawali dengan simbol '0x',


sehingga nilai data yang dimasukkan dapat juga berbentuk nilai 0xfe

2.2. Pembahasan Program Secara Singkat

1. karena program ini menggunakan fungsi-fungsi pustaka printf() dan


scanf() yang disediakan oleh C dan diletakkan di file pustaka, maka nama
file yang berisi prototype dari fungsi-fungsi ini (file ini disebut dengan
header file) . File judul (header file) untuk fungsi-fungsi printf() dan
scanf() adalah dengan nama stdio.h. Nama extension file .h menunjukan
header file.

2. Di dalam fungsi utama, digunakan lima buah statemen sebagai berikut :

int I,X;

printf("Masukan Nilai Heksadesimal ="); scanf("%x", &I);

8
printf("Masukan Nilai Desimal ="); scanf("%i", &X);

printf("\nNilai heksadesimal %#x adalah %i dalam desimal\n", I,I);

printf("\nNilai Desimal %i adalah %x dalam heksadesimal\n", X,X);

masing-masing statemen ditulis dengan diakhiri oleh titik koma.

Semua variabel yang digunakan di program C harus dideklarasikan


terlebih dahulu. Deklarasi ini mempunyai maksud memberitahukan kepada
C tipe dari variabel-variabel yang akan digunakan. Di program ini
digunakan dua buah variabel, yaitu I dan X. Variabel-variabel tersebut
dimaksudkan untuk dapat menyimpan nilai bulat,sehingga dideklarasikan
sebagai tipe int.

int I,X;

3. Salah satu cara untuk menampilkan hasil di layar adalah dengan


menggunakan statemen yang dibentuk dari fungsi standar printf().
Statemen terakhir di contoh program adalah statemen untuk menampilkan
hasil di layar sebagai berikut :

printf("\nNilai Desimal %i adalah %x dalam heksadesimal\n", X,X);

literal string kode format escape character variable

4. Terlihat bahwa argumen fungsi printf() ini dapat dibagi menjadi dua
bagian, yaitu bagian yang ditulis di antara tanda petik dua dan bagian yang
ditulis di luar tanda petik dua. Bagian yang ditulis di luar tanda petik dua
adalah variabel-variabel. Pada contoh digunakan dua variabel, yaitu
variabel I dan X. yang ditulis di antara tanda petik dua adalah sebagai

9
berikut ini.

a) Kode Format.

Kode format menunjukan format dari variabel yang akan ditampilkan.


Dalam contoh terdapat dua buah variabel yang akan ditampilkan nilainya,
sehingga digunkan dua buah kode format, sebuah untuk variabel I dan
sebuah lagi untuk variabel X. Kode format “%x” menunjukan tipe dari
variabelnya adalah heksadesimal. tipe variabel numerik integer
dideklarasikan dengan kata kunci int maka kode format yang digunakan
adalah “%d” atau “%i”.

b) Literal String.

Literal string adalah suatu konstanta string yang mempunyai bentuk yang
tetap dan akan ditampilkan sesuai dengan apa yang ditulis.

c) Escape Character.

Karakter escape merupakan suatu konstanta karakter yang dapat ditulis


dengan diaawali oleh garis miring (sering juga disebut dengan konstanta
karakter garis miring). Karakter escape “\n” yang dipakai di fungsi
printf() digunakan untuk menggeser posisi kursor turun satu baris kembali
ke kolom pertama (ganti baris baru, yaitu gabungan dari beberapa line
feed dan carriage return).

d) Salah satu cara untuk memasukan data dari keyboard adalah dengan
menggunakan fungsi pustaka scanf() sebagai berikut:

scanf("%x", &I);

Difungsi ini, yang ditulis diantara tanda petik dua adalah kode format yang
ditulis di luar tanda petik dua adalah variabel yang akan digunakan untuk
menerima nilai yang diketikkan dari keyboard. Untukfungsi scanf(), nama

10
variabelnya harus ditulis dengan diawali operator pointer &, sehingga
pada contoh untuk variabel I ditulis menjadi &I. Fungsi scanf() biasanya
digunakan bersama-sama dengan fungsi printf() sebagai berikut:

Masukkan Nilai Heksadesimal = 2d

nilai yang dimasukan

printf("Masukan Nilai Heksadesimal =");

scanf("%x", &I);

Karena fungsi printf() dibagian ini tidak menggunakan karakter escape


“\n”, maka kursor tidak bergeser ke baris selanjutnya , sehingga
pemasukan nilai data masih tetap di baris yang sama dengan literal string
yang ditampilkan.

2.3. Flowchart Program Heksadesimal

Flowchart program converter heksadesimal ke bilangan decimal dan dari


bilangan decimal ke heksadesimal.

11
Begin

i = integer

Read i

Print i

End

BAB III

KESIMPULAN

12
Beranjak dari pembahasan kami dapat menarik beberapa butir kesimpulan,
yaitu :

1. Heksadesimal atau sistem bilangan basis 16 adalah sebuah sistem


bilangan yang menggunakan 16 simbol. Berbeda dengan sistem bilangan
desimal, simbol yang digunakan dari sistem ini adalah angka 0 sampai 9,
ditambah dengan 6 simbol lainnya dengan menggunakan huruf A hingga
F.

2. Untuk mengkonversi dari heksadesimal ke dalam bilangan desimal, dapat


menggunakan cara berikut:

Dari bilangan heksadesimal H yang merupakan untai digit hnhn −

1...h2h1h0.

Sebagai contoh, bilangan heksa 10E yang akan dikonversi ke dalam


bilangan desimal:

 Digit-digit 10E dapat dipisahkan dan mengganti bilangan A sampai


F (jika terdapat) menjadi bilangan desimal padanannya. Pada
contoh ini, 10E diubah menjadi barisan: 1,0,14 (E = 14 dalam basis
10)
 Mengalikan dari tiap digit terhadap nilai tempatnya.

1 x 162 + 0 x 161 + 14 x 160

= 256 + 0 + 14

=270

Dengan demikian, bilangan 10E heksadesimal sama dengan bilangan


desimal 270.

3. Untuk menkonversi dari bilangan desimal ke heksadesimal adalah dengan


cara sebagai berikut.

270 dibagi 16 hasil: 16 sisa 14 ( = E )

13
16 dibagi 16 hasil: 1 sisa 0 ( = 0 )

1 dibagi 16 hasil: 0 sisa 1 ( = 1 )

4. Jadi fungsi dari program ini adalah sebagai converter dari bilangan
heksadesimal ke desimal dan juga sebaliknya dari bilangan desimal ke
heksadesimal

14

You might also like