You are on page 1of 5

Berikut ini Program konversi Decimal ke Binary dengan metode Stack untuk melakukan proses konversi dengan pembagian

sisa dalam
bahasa pemrograman pascal:

Penyusun tugas :
Pramuditya Pamoedjie (NPM: 22402034) & Hilmi Sultan Musyaffa (NPM: 722402002)
Script: else
writeln('Stack penuh. Push quotient := decimalNumber;
program gagal.');
DecimalToBinaryConversion; end; while quotient > 0 do
begin
const function Pop(var S: Stack): remainder := quotient mod
MaxStackSize = 100; Integer; 2;
begin quotient := quotient div 2;
type if not IsEmpty(S) then Push(BinaryStack,
Stack = record begin remainder);
Data: array Pop := S.Data[S.Top]; end;
[1..MaxStackSize] of Integer; Dec(S.Top);
Top: Integer; end writeln('Bilangan Biner: ');
end; else
begin while not
procedure InitializeStack(var writeln('Stack kosong. Pop IsEmpty(BinaryStack) do
S: Stack); gagal.'); write(Pop(BinaryStack));
begin Pop := 0; // Nilai default
S.Top := 0; jika gagal writeln;
end; end; end;
end;
function IsEmpty(var S: Stack): var
Boolean; procedure DecimalNumber: Integer;
begin DecimalToBinary(decimalNumber:
IsEmpty := S.Top = 0; Integer); begin
end; var write('Masukkan bilangan
BinaryStack: Stack; desimal: ');
procedure Push(var S: Stack; quotient, remainder: Integer; readln(DecimalNumber);
Value: Integer); begin
begin InitializeStack(BinaryStack);
if S.Top < MaxStackSize then DecimalToBinary(DecimalNumber);
begin writeln('Konversi dari end
Inc(S.Top); desimal ke biner:');
S.Data[S.Top] := Value; writeln('Bilangan Desimal:',
end decimalNumber);

You might also like