Selasa, 12 Januari 2010

program membalik kata dalam kalimat

program balik_kalimat_perkata;

uses wincrt;

const elemen = 255;

type s255 = string[elemen];

tumpukan = record

isi:s255;

atas: 0..elemen;

end;

var t: tumpukan;

i, k, l, m: integer;

kalimat, word: s255;

procedure awalan(var t: tumpukan);

begin

t.atas:=0;

end;

procedure push (var t:tumpukan; x: char);

begin

t.atas:=t.atas+1;

t.isi[t.atas]:= x;

end;

function pop(var t:tumpukan):char;

begin

pop:=t.isi[t.atas];

t.atas:=t.atas-1;

end;

begin

clrscr;

awalan(t);

writeln('Tumpukan untuk membalik kalimat');

writeln('*******************************');

writeln;

write('ketik kalimat: '); readln(kalimat);

clrscr;

writeln('kalimat asli: ',kalimat);

writeln;

writeln('setelah operasi push dan pop');

for i:=1 to length(kalimat) do

begin

if (kalimat[i]=' ') then

begin

for k:=(i-1) downto l do

word:=word+kalimat[k];

word:=word+kalimat[i];

end;

l:=length(word);

if i=length(kalimat) then

begin

for i:=length(kalimat) downto l do

word:=word+kalimat[i];

end;

end;

for i := 1 to (length(kalimat) + 1) do

push(t, word [i]);

for i := 1 to (length(kalimat) + 1) do

write (pop (t) );

readln;

end.

Senin, 21 Desember 2009

tugas bilangan prima

Program Bilangan_Prima;
Uses wincrt;
Var
i,j,m,n, batas,jml: integer;
prima: boolean;
prim:array[1..100] of integer;
Begin
write('bilangan prima sampai suku ke: '); readln(n);
writeln('sebagai berikut: ');
i:=3;
prim[1]:=2;
prim[2]:=3;
m:=2;
Repeat
i:=i+1;
batas:=round(sqrt(i))+1;
prima:=true;
For j:= 2 to batas do
if i mod j = 0 then
prima:=false;
if prima = true then
Begin
m:=m+1;
prim[m]:=i;
end;
until m=n;
For i:=1 to n do
Begin
write(prim[i], ' ');
jml:=jml+prim[i];
end;
writeln;
writeln('jumlah bil prima: ',jml);
readln;
end.

tugas bilangan prima

Program Bilangan_Prima;
Uses wincrt;
Var
i,j,m,n, batas,jml: integer;
prima: boolean;
prim:array[1..100] of integer;
Begin
write('bilangan prima sampai suku ke: '); readln(n);
writeln('sebagai berikut: ');
i:=3;
prim[1]:=2;
prim[2]:=3;
m:=2;
Repeat
i:=i+1;
batas:=round(sqrt(i))+1;
prima:=true;
For j:= 2 to batas do
if i mod j = 0 then
prima:=false;
if prima = true then
Begin
m:=m+1;
prim[m]:=i;
end;
until m=n;
For i:=1 to n do
Begin
write(prim[i], ' ');
jml:=jml+prim[i];
end;
writeln;
writeln('jumlah bil prima: ',jml);
readln;
end.

Minggu, 22 November 2009

Tugas Struktur data 4

uses wincrt;

type biodata = record

alamat : string;

nama : string;

ttl:string;

nim : string;

end;

var

data:biodata;

n,i: integer;

begin

writeln ('Inputkan Jumlah data Mahasiswa');readln(n);

for i:=1 to n do

begin

writeln ('Data ke - ',i,':');

write ('NIM : '); readln(data.nim);

write ('Nama : '); readln(data.nama);

write ('Alamat : '); readln(data.alamat);

write ('TTL : '); readln(data.ttl);

writeln;

end;

end.

Selasa, 17 November 2009

tugas struktur data

uses wincrt;

const awal =1;

const akhir =5;


var

nim,nama :array [awal..akhir] of string;

nilai :array [awal..akhir] of string;

n,i :integer;

jumlah,rataan : real;

begin

write ('banyak nya data mahasiswa =');

readln(n) ;

for n :=1 to 3 do

begin

write('nim',n,':');readln(nim[n]);

write('nama',n,':');readln(nama[n]);

for i:=1 to 3 do

begin

write('nilai ke',n,'=');readln(nilai[i]);

writeln;

end;

end;

writeln;

writeln('hasil dari inputan adalah =');

writeln('=====================');

writeln('nim nama nilai1 nilai 2 nilai 3 rata-rata');

writeln('=====================');

for i:= i to 3 do

begin

writeln(nim [n],' ', nama[n],' ',nilai[1],' ',nilai[2],' ',nilai[3]);

writeln;

end;

end.


Selasa, 10 November 2009

Memasukan Data Mahasiswa

uses wincrt;
const
garis='------------------------------------------------------';
var nil1,nil2,nil3:array[1..10] of 0..100;
nim:array[1..10] of string[8];
nama:array[1..10] of string[15];
n,i,bar:integer;
jum:real;
tulis:char;
begin
clrscr;
write('Masukkan Banyak data:');readln(n);
for i:=1 to n do
begin
clrscr;
GotoXY(30,4+1);write('Data Ke-:',i:2);
GotoXY(10,5+i);write('NIM:');readln(nim[i]);
GotoXY(10,6+i);write('Nama:');readln(nama[i]);
GotoXY(10,7+i);write('Nilai 1:');readln(nil1[i]);
GotoXY(10,8+i);write('Nilai 2:');readln(nil2[i]);
GotoXY(10,9+i);write('Nilai 3:');readln(nil3[i]);
end;
clrscr;
GotoXY(5,4);write(garis);
GotoXY(5,5);write('No');
GotoXY(9,5);write('NIM');
GotoXY(18,5);write('Nama');
GotoXY(34,5);write('Nilai 1');
GotoXY(41,5);write('Nilai 2');
GotoXY(47,5);write('Nilai 3');
GotoXY(54,5);write('Rata');
GotoXY(61,5);write('Abjad');
GotoXY(5,6);write(Garis);
bar:=7;
for i:=1 to n do
begin
jum:=(nil1[i]+nil2[i]+nil3[i]/3);
if jum>=90 then tulis:='A' else
if jum>80 then tulis:='B' else
if jum>60 then tulis:='C' else
if jum<50 then tulis:='D' else tulis:='E';
GotoXY(5,bar);writeln(i:2);
GotoXY(9,bar);writeln(NIM[i]);
GotoXY(18,bar);writeln(Nama[i]);
GotoXY(34,bar);writeln(nil1[i]:4);
GotoXY(41,bar);writeln(nil2[i]:4);
GotoXY(47,bar);writeln(nil3[i]:4);
GotoXY(54,bar);writeln(jum:5:1);
GotoXY(61,bar);writeln(tulis);
bar:=bar+1;
end;
GotoXY(5,bar+1);writeln(garis);
readln;
end 

Selasa, 03 November 2009

Tugas Menghitung rata-rata menggunakan array dengan for

uses wincrt;

var nilai: array[1..3] of integer ;

jm,rata :real;

i : integer;

begin

writeln

for i:=1 to 3 do

begin

clrscr;

write (‘masukan data ke-1: ’);readln (nilai[1]);

write (‘masukan data ke-2:’) ;readln(nilai [2]);

write (‘masukan data ke-3:’); readln(nilai [3]);

jumlah := nilai[1]+nilai [2]+nilai [3] ;

rata := jumlah/3;

writeln;

writeln(‘jumlah nilai =’,jumlah 5:3’);

writeln(‘rata-rata nya =’,jumlah 5:3’);

readln;

end;

end.


OUTPUT

Masukan data ke-1 :60

Masukan data ke-2 :70

Masukan data ke-3:50


Jumlah nilai =150.00

Rata-ratanya =50.00