Anda di halaman 1dari 3

[signal processing]

June 7, 2012

DECIMAL TO OCTAL In Matlab

Untuk konversi bilangan desimal ke octal juga bukan perkara yang susah. Kita dapat memanfaatkan hasil konversi desimal ke biner lalu melakukan segmentasi perblok semua bit. Tiap blok terdiri dari 3 bit dan bila bit MSB jumlahnya kurang dari 3, maka kita tambahkan angka 0 sebanyak kekurangan tersebut. Mengapa hanya 3 bit? Karena octal itu punya range nilai dari 0 7 yang artinya dari 000 111. Langkah-langkah dalam konversi bilangan desimal ke octal adalah Bilangan desimal diubah ke bilangan biner Runtut bilangan biner disegment sebanyak 3 bit perblok/segment. Jika ternyata di MSB terdapat sejumlah bit tidak mencukupi 3 buah bit maka ditambahkan nilai 0 pada MSB agar memenuhi jumlah 3 bit tersebut. Bukan meletakkannya sebagai LSB. Lalu tiap blok atau segment tersebut diubah ke bilangan octal, dengan aturan:

Biner 000 001 010 011 100 101 110 111

Octal 0 1 2 3 4 5 6 7

Sebagai contoh, kita akan selesaikan secara manual konversi bilangan desimal ke octal. Contoh: bilangan desimal 999 akan diubah ke octal. 999910 = 100111000011112 Lalu bilangan biner tersebut di segment menjadi masing-masing 3 bit dalam 1 segment/blok. 010
MSB

011

100

001

111
LSB

Penambahan 1 bit 0 di MSB

[janshendry@gmail.com]

Page 1

[signal processing]

June 7, 2012

Nah, jika diterjemahkan ke dalam octal berdasarkan tabel di atas akan dihasilkan 234178. Perlu diingat bahwa penulisan basis untuk octal adalah angka 8 pada subscriptnya. Contoh di atas sangat mudah dipahami, sementara konversi dari desimal ke biner sudah dijelaskan pada artikel lainnya. Dengan menggunakan program Matlab, kita juga bisa membuat simulasi sendiri. Berikut ini adalah code nya.
% program desimal ke octal clear all; close all; clc; %% % Konversi nilai desimal ke biner desimal=9999; bit=des2binn(desimal); % Mengkondisikan jumlah anggota vektor agar sesuai ttemp=[zeros(1,3-rem(length(bit),3)) bit]; % Konversi nilai Biner ke Octal temp=fliplr(ttemp); okta=[]; for m=1:3:length(temp) k=0; tempp=0; for n=m:m+2 tempp=tempp+temp(n)*(2^k); k=k+1; end okta=strcat(num2str(tempp),num2str(okta)); end okta=str2double(okta); disp('Desimal'); disp(desimal); disp('Biner'); disp(ttemp); disp('Octal'); disp(okta); %% jans hendry

[janshendry@gmail.com]

Page 2

[signal processing]

June 7, 2012

Hasil eksekusi dari program di atas adalah

Contoh lainnya

Demikianlah artikel ini ditulis dengan tujuan bisa memberikan gambaran singkat dan mudah dimengerti tentang konversi bilangan desimal ke octal. Tolong dikoreksi jika terdapat kekeliruan dalam artikel ini.

@ thanks...

[janshendry@gmail.com]

Page 3

Anda mungkin juga menyukai