June 7, 2012
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:
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
[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
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