18.11.10

kode Pascal


PROGRAM cek_bilangan_ganjil_genap;
     uses wincrt;
     var bil : integer;
begin
     clrscr;
     write('Masukkan suatu bil :');
     read(bil);
     if bil mod 2 = 0
        then
            begin
                 write('Bil tsb genap');           
             end;
     if bil mod 2 <> 0
        then
            begin
                 write('Bil tsb ganjil');            
            end;
        readln;
end.

Program mengecek_suatu_bilangan_adalah_bilangan_prima;
uses wincrt;
var bil,i,x : integer;
    prima   : boolean;
    batas   : integer;
    ulang   : char;                
begin
   repeat
   clrscr;
   write('Masukkan bilangan : ');{input bilangan yg akan dicek}
   read(bil);
   {inisialisasi awal}
   batas := round(sqrt(bil))+1;
   prima := true;
    if (bil=2) or (bil=3) then {jika bilangan 2 dan 3 maka prima}
      prima := true
    else{jika bukan 2 dan 3 maka}
      for i:=2 to batas do{dari i:=2 to batas}
        if bil mod i = 0 then{jika bilangan dibagi i = 0 maka bukan prima}
          prima := false;
        if prima = true then
         writeln(bil,' Adalah prima')
        else
         writeln(bil,' Bukan prima');
         writeln;
   write('Ulang lagi [Y/T]  : ');ulang:=upcase(readkey);
   writeln(ulang);
   until ulang <> 'Y';{akan terus mengulang jika di inputkan [y,Y]}
end.

program sumcharacter;
uses wincrt;
var teks : string;
banyak: array ['A'..'Z'] of byte;
i : byte ;
begin
write('write a word:'); readln(teks);
for i:=1 to length(teks) do
banyak[upcase(teks[i])] := banyak[upcase(teks[i])] + 1;
for i:=1 to 26 do
if (banyak[upcase(chr(64+i))] <>0) then
writeln(upcase(chr(64+i)),' sum =' ,banyak[upcase(chr(64+i))]);
end.
if we run the statement,we are get output like this :
sum
Diposkan oleh Vitta di 4:57 PM
0 komentar:

To conversion character or word from small character to big character or opposite,we can use statement like this :

program conversion_character;
uses wincrt;

function KHuruf(s:string) : string;
var
x : byte;
panjang : integer ;
begin
panjang:= length(s);
for x:=1 to panjang do
begin
if s[x] <> upcase (s[x]) then
s[x] :=upcase(s[x])
else
if s[x]=' 'then s[x] :=s[x]
else
s[x]:= chr(ord(s[x])+32);
end;
KHuruf :=s;

end;

var
k:string;
begin

write('Write a word='); readln(k);
writeln;
writeln('your ward are :',k);
writeln;
writeln('after conversion=',KHuruf(k));

end.

if we run the statement,we are get output like this :

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPgs6KzHptjm-u6mOuQEhUlS219UR79c4n7i9sAz4hnJhmAoCdMh_BxX-OD46njU80uxmx3V3UmQ692wQnlTzpLaaIxGpKqt2zGrZpkndPWEuWyz3oWs7zdESIN1hrkVpwNQBTays9PBk/s400/coversion.jpg
Diposkan oleh Vitta di 6:09 PM
0 komentar:

/*Program luas segitiga*/
/*Dengan memasukan alas dan tinggi suatu segitiga yang bertipe integer
maka akan dihitung luasNya dan kemudian akan dicetak keluaranNya*/
#include <stdio.h>
main()
{
/*DEKLARASI*/
int alas;    /*Alas segitiga*/
int tinggi;  /*Tinggi segitiga*/
int luas;    /*Luas segitiga  */
/*ALGORITMA*/
printf ("Alas    = ");scanf("%d", &alas);    /*Memasukkan panjang*/
printf ("Tinggi  = ");scanf("%d", &tinggi);  /*Memasukkan Lebar*/
luas = (alas * tinggi)/2 ; /*Menghitung luas*/
printf("Luas segitiga = %d \n", luas); /*Mencetak luas*/
scanf("%d");
}

Jika program diatas anda run maka akan menghasilkan output seperti dibawah ini :

source code program menghitung luas 
segitiga dengan bahasa c


ALGORITMA KONVERSI KE DETIK
1.scanf (jam,menit,detik);
2.total_detik =(jam*3600) + (menit *) 60 + detik;
3.printf (total_detik);
PROGRAM KONVERSI KE DETIK
/*Prgram konversi dari jam dan menit kedetik*/
/*Program ini mengkonversi waktu dari jam ke detik dn dari menit kedetit
 sehingga output berupa detik*/
 #include <stdio.h>
 main()
 {
 /*DEKLARASI*/
 typedef struct {long int jam;
                 long int menit;
                 long int detik;
                }
 jam;
 jam j;
 long int total_detik;
 /*PROGRAM UTAMA*/
 printf ("Jam   : "); scanf ("%ld", &j.jam);
 printf ("Menit : "); scanf ("%ld", &j.menit);
 printf ("Detik : "); scanf ("%ld", &j.detik);
  total_detik = (j.jam * 3600) + (j.menit * 60) + j.detik ;
  printf("Total detik : %ld",total_detik);
 scanf("%ld");
 }

Apabial program diatas kita run maka akan menghasilkan output seperti dibawah ini
gambar Algoritma dan Source Code
 Program Mengkonversi Jam ke Detik



Dalam ilmu matematika faktorial dari suatu bialngan dirumuskan dengan:
n ! = n*(n-1)……*1
atau

n ! = 1*(n+1)…..*n


Akan tetapi pada pembahasn kali ini kita hanya akan membahas penggunaan 1 rumus saja yaitu
n ! = 1*(n+1)…..*n

.
ALGORITMA MENGHITUNG FAKTORIAL

1.Tentukan fariabel i,n,faktorial

2.faktorial = 1;

3.scanf(n)

4.for (i=1; i<=n; i++) { faktorial= faktorial*i; }

5.printf(faktorial);

6.End.

PROGRAM MENGHITUNG NIALI FAKTORIAL DARI SUATU BILANGAN DENGAN BAHASA C++


/*Progra factorial dengan bahas c++*/
/*Menghitung niali faktorial dari suatu bilangan*/
#include <stdio.h>
main()
{/*DEKLARASI*/
int i,n,faktorial ;
/*program utama*/
faktorial = 1; /*inilialisasi faktorial dengan 1*/
printf("Masukkan bilangan : "); scanf("%d", &n);
  for (i=1; i<=n; i++)
   {
    faktorial= faktorial*i;
   }
printf("Hasil faktorial   : %d",faktorial);
scanf("%d");
}



Apabila program diatas kita run maka akan menghasilkan output seperti dibaah ini :



menghitung faktorial dari suatu bilangan

ALGORITMA PEMROGRAMAN MENGHITUNG PANGKAT

1.buat variabel x,n,hasil,i ;
2.scanf(x)
3.scanf(n)
4.Inisialisasi i = 1; hasil = 1;
5.for (i=1; i<=n; i++) { hasil= hasil*x; }
6.printf(hasil)
end

Program menghitung nilai perpangkatan dari suatu bilangan dengan bahasa c++

/*Prpgram menghitung pangkat*/
/*Mengitung nilai pangkat dari suatu bilangan*/
#include <stdio.h>
main()
{
/*deklarasi*/
int x,i,n,hasil ;
/*program utama*/
printf("masukan angka:"); scanf ("%d", &x); /*masukan angka yg akan dipangkatkan*/
printf("masukan pangkat :"); scanf ("%d", &n);/*memasukkan pangkat*/
i = 1; hasil = 1; /*inilialisasi i dan hasil dengan 1*/
for (i=1; i<=n; i++)
  {
   hasil= hasil*x;
  }
printf("%d",hasil); /*mencetak hasil pangkat*/
scanf("%d");
}

Apabial program tersebut anda Run maka akan menghasilkan output seperti dibawah ini :



program menghitung pangkat dengan bahasa c

ALGORITMA PEMROGRAMAN
1.inisialisasi semua variabel (i,N,Jumlah)
2.masukkan nilai N
3.inisialiasi jumlah = 0
4.for (i=1; i<=N; i++) {jumlah = jumlah + i ;}
5.printf(jumlah)
PROGRAM C++
/*Program penjumlahan deret bilangan bulat*/
/*Penjumlahan deret bilangan bulat dari mulai 1 sampai N bilangan
  dengan N merupakan bilangan positif*/
#include <stdio.h>
main()
{ /*Variabel*/
 int N,i,jumlah;
/*Program utama*/
printf ("Masukan jumlah suku bilangan [N] ="); scanf("%d",&N);
jumlah = 0 ;/*inilialisasi jumlah dengan 0*/
printf("deret bilangan adalah: ");
for (i=1; i<=N; i++)
  {
     printf("%d , ", i);
     jumlah = jumlah + i ;
  }
  printf("Jumlah deret = %d ",jumlah);
scanf("%d");
}

Dan ketika program diatas anda RUN maka akan menghasilkan output seperti dibawah ini :
jumlah deret bilangan bulat
Disini kita akan belajar bersama bagaimana cara menghitung suatu luas bangun yang berbentuk persegi dengan bahasa c++.Dalam bahasa matematis luas segiempat dirumuskan dengan
:
Luas : panjang x lebar
Algoritma menghitung luas segiempat :
DEKLARASI :

panjang,lebar,luas : integer
ALGORITMA :
read(panjang,lebar)
luas : panjang * lebar
write(Luas)
end.

Jika anda ingin membuat program menghitung luas segiempat dengan bahasa c++ anda dapat liat pada source code dibawah ini :


/*Program luas segi empat*/
/*Dengan memasukan panjang dan lebar suatu persegi yang bertipe integer
maka akan dihitung luasNya dan kemudian akan dicetak keluaranNya*/
#include <stdio.h>
main()
{
/*DEKLARASI*/
int panjang;   /*Panjang segiempat*/
int lebar;     /*Lebar  segiempat */
int luas;      /*Luas segiempat  */
/*ALGORITMA*/
printf ("Panjang = ");scanf("%d", &panjang); /*Memasukkan panjang*/
printf ("Lebar   = ");scanf("%d", &lebar);   /*Memasukkan Lebar*/
luas = panjang * lebar ; /*Menghitung luas*/
printf("Luas segiempat = %d \n", luas); /*Mencetak luas*/
scanf("%d");
}
Apabial program diatas kiata run maka akan menghasilkan output seperti di bawah ini :

Misal kita akan menghitung luas segi empat dengan panjang 5cm dan lebar 4cm,maka akan menghasilkan output seperti dibawah ini
image
program Shortingbynumber;
uses wincrt;
const Nmaks = 100;
var
A: array [1..Nmaks] of integer;
I,j,N,temp : integer;
begin
writeln('write sum of input number :');readln(N);
for I:=1 to N do
begin
write('A[',i,'] =');readln(A[i]);
end;
for i:=1 to N do
for j:=i to N do
begin
if A[i]>A[j] then
begin
temp:=A[i];
A[i]:=A[j];
A[j]:=temp;
end;
end;
for i:=1 to n do
writeLN(A[I],' ');
end.
if we run the statement,we are get output like this :
shortingbynumber
program shortingbyname;
uses wincrt;
type maksStRing = string[30];
var
i,j,n : integer;
temp : maksStRing;
data : array [1..20] of maksString;
begin
writeln('sum of data :'); readln(n);
writeln;
writeln('before :');
writeln;
for i:=1 to n do
begin
write(i:2,'.');
readln(data[i]);
end;
for i:=1 to n do
for j:=1 to n do
if data[i]<data[j] then
begin
temp := data[i] ;
data[i]:=data[j] ;
data[j]:=temp ;
end;
writeln;
writeln('after :');
writeln;
for i:=1 to n do
writeln(i:2,'.',data[i]);
readln;
end.
if we run the statement,we are get output like this :
urutnamajpg
In mathematics combination is formulated with :
C(n,k) = n! / n!* (n-k)!
For example,combination from 5 and 2 is :
C(5,2) = 5! / 5!* (5-2)!
= 10
In pascal programming you can use statement like this to finish it.
program combinasi;
uses wincrt;
var fn,fk,fn_k,kombinasi : real;
    i,n,k : integer;
begin
write('input n =');readln(n);
write('input k =');readln(k);
fn:=1;
fk:=1;
fn_k:=1;
for i:=2 to n do
 fn := fn * i;
for i:=2 to k do
 fk := fk * i;
for i:=2 to (n-k) do
 fn_k := fn_k * i;
kombinasi:= fn/(fk*fn_k);
writeln(n,' kombinasi ',k,' = ',kombinasi:0:0);
end.

And the output is like this :


image
In mathematics combination is formulated with :
P(n,k) = n ! / (n-k)!
For example,combination from 5 and 2 is :
P(5,2) = 5 ! / (5-2)!
= 20
In pascal programming you can use statement like this to finish it.
program permutation1;
uses wincrt;
var fn,fk,fn_k,Permutation : real;
    i,n,k : integer;
begin
write('input n =');readln(n);
write('input k =');readln(k);
fn:=1;
fk:=1;
fn_k:=1;
for i:=2 to n do
 fn := fn * i;
for i:=2 to k do
 fk := fk * i;
for i:=2 to (n-k) do
 fn_k := fn_k * i;
permutation:= fn/(fn_k);
writeln(n,' Permutation ',k,' = ',Permutation:0:0);
end.



and the output is like this :



https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiM0TsNcNS6Keq47SuvfzzU5S3cr1K5V0o45oV2JiSiPmvc0Ya9n0UmYE-ctjZSUVO7DtAPmnyAnAxPSuPqFpPYihI9uGsIjHGuWrUT4D5_BJWUYiR1i-oRgeVVZx_2hvU793j_EaBTzQM/s400/xshjdb.jpg

Factorial

we often finish the factorial case with formula like this:

general formula =
n!=n*(n-1)*((n-1)-1).....*1
for the example:
5! =5*4*3*2*1
3! =3*2*1
We can finish the factorial case with statement like this :
program faktorial;
uses crt;
var I,N,fak: integer ;
begin
resdln(N) ;
fak:=1
for I:=1 to N do
fak:=fak*I;
writeln(fak);
readln;
end.
if we run the statement,we are get output like this :
fak

Palindrom

program palindrom;
uses wincrt;
var kt,huruf,huruf1:string;
i,j : integer;
begin
writeln('Write a word : ');readln(kt);
writeln;
j:=length(kt);
huruf:='';
for i:=1 to j do
huruf:=huruf + kt[i];
for i:=j downto 1 do
huruf1:=huruf1 + kt[i];
writeln('Origin Word: ',huruf);
writeln('the reverse side : ',huruf1);
writeln;
if (huruf=huruf1) then
writeln('this word included in Palindrom')
else
writeln('this word not included in Palindrom');
end.
if we run the statement,we are get output like this :
polindrom
We can finish the pangkat case with statement like this :

program pankat;
uses wincrt;
var I,n,x,hasil :integer ;

begin
readln(x,n);
I:=1; hasil:=1;
for I:=1 to n do
hasil:=hasil*x;
writeln(hasil);
readln;
end.

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMD2EAECJMK7cThC2TLcn3P32ee2glhNwbCKNNHw_XpD-7OB-9oied8zlV1lQBdoF61iWHM4t05i1gugJkqTcS8gksjsmD5k6bA5FYTnscfcTHFtYF1rsyPcQXyVbmB3361p9SjDrg3dE/s400/pangkat2.jpg

Program bilangan romawi merupakan program untuk menconversi bilangan desimal menjadi bilangan romawi.
Berikut beberapa contoh bilangan romawi :
I = 1 XL = 40 D = 500
IV = 4 L = 50 CM = 900
V = 5 XC = 90 M = 1000
IX = 9 C = 100
X = 10 CD = 400
Berikut adalah source code dalam bahasa pascal untuk program conversi dari bilangan desimal ke bilangan romawi :
program Romawi;
uses wincrt;
const rom : array [1..13] of string  =
          ('M','CM','D','CD','C','XC','L','XL','X','IX','V','IV','I');
      des : array [1..13] of integer =
          (1000,900,500,400,100,90,50,40,10,9,5,4,1);
var
  bil,i: integer;
  roma       : string;
begin
  write('Masukan suatu bilangan [1..3999] : ');
  readln(bil);
  if (bil>0) and (bil<4000) then
    begin
      for i:=1 to 13 do
        begin
          while (bil>= des[i]) do
            begin
              bil  := bil - des[i];
              roma := roma + rom[i];          
            end;
        end;
    writeln('angka romawi dari bilangan diatas adalah :',roma)
    end
    else
    writeln('Tidak diketahui simbol romawinya...');    
end.

Apabila program tersebut kita jalankan maka akan menghasilkan output seperti dibawah ini:


image
Program parking;
uses wincrt;
var kendaraan : string;
j1,m1,d1,j2,m2,d2,j3,m3,d3 : integer;
T :longint;
bayar : integer;
begin 
writeln ('Program price of car and motorcycle');
writeln ('Input Time in and time out (clock, minute, sekon) separated with space');
write('Write type of transportation(car or motorcycle) : ' ); readln(kendaraan);
write('Input time In : '); readln(j1,m1,d1);
write('Input time Out : '); readln(j2,m2,d2); 
T := (j2*3600+m2*60+d2)-(j1*3600 + m1*60 +d1); 
j3 := T div 3600;
m3 := (T mod 3600) div 60;
d3 := (T mod 3600) mod 60; 
if (m3>0) or (d3>0) then
j3:=j3+1; 
if kendaraan = 'motorcycle' then
begin
if j3<=2 then
bayar := 1000
else bayar :=1000+500*(j3-2);
if bayar >=7500 then bayar := 7500;
end; 
if kendaraan ='car' then
begin
if j3 <=2 then
bayar := 2000
else bayar := 2000+1000*(j3-2);
if bayar >=15000 then bayar := 15000;
end; 
write('Biaya Parkir : ',bayar); 
readln;
end.

if we run the statement,we are get output like this :
parkking
program segitiga_pascal;
uses wincrt;
type pas=array [1..20,1..20] of longint;
var pascal : pas;
    i,j,n : integer;
begin
  pascal[1,1]:=1;
  write('Banyak Level :');readln(n);{:=10;}
   for i:=2 to n do
    begin
     pascal[i,1]:=1;
     Pascal[i,i]:=1;
      for j:=2 to i-1 do
       pascal[i,j]:=pascal[i-1,j-1]+pascal[i-1,j];
    end;
{write(pascal[2,1],'');
   writeln; }
 for i:=1 to n do
  begin
    for j:=1 to i do
      write(pascal[i,j]);
      writeln;
  end;
end.

Jika program diatas Kita RUN maka akan menghasilkan output seperti dibawah ini :


image

Change Desimal to Binner

When we studied about 'pemrograman sistem digital',there are lesson about 'sistem billangan'.
In there we need skill to conversion one type of number to other type.
One of them is change circle number to binner number.
For example :
1=1
2=01
3=001
4=101
5=110
To finish that case,we can use statement like this :
uses wincrt;
var bil,b : integer;
b2 : char;
hasil : string;
begin
writeln('write a decimal number : ');readln(bil);
while bil>=1 do
begin
b:=bil mod 2;
bil:=bil div 2;
if b=1 then b2:='1' else b2:='0';
hasil:=hasil+b2;
end;
writeln('binner number of it: ',hasil)
end.
if we run the statement,we are get output like this :
binner

Conversion Temperature

program convertoftemperature;
uses wincrt;
var F:integer;
C,R,k:real;
begin
write('Write temperature in Farenhet :');readln(F);
C:=(F-32)/9*5;
R:=(F-32)/9*4;
K:=(C+273);
writeln('Celsius :', C:6:2);
writeln;
writeln('Reamur :', R:6:2);
writeln;
writeln('kelvin :', K:6:2);
end.
if we run the statement,we are get output like this :
conversi

Deret Fibonacci

Deret Fibbonacci is one kinds of deret with value of f0 and f1 are same.
General formula of Deret Fibbonacci is :

fk = fk-1 + fk-2 . dengan k = 2, 3, 4, 5, …
And f0 = 1, f1 = 1.
We could finish the Deret Fibbonacci case with statement like this :
Program deretFibonaci;
uses wincrt;
var f : array[0..25] of integer;
I, n : integer;
begin
write('write sum of deret : ');
readln(n);
f[0] := 1; f[1] := 1;
write('Deret Fibonaci :');
Write(f[0]:5, f[1]:5);
For I := 2 to n do
begin
f[i] := f[i-1] + f[i-2];
write(f[i]:5);
end;
readln
end.
if we run the statement,we are get output like this :
fibbonacci
0diggsdigg
Program encypt decrypt ini merupakan program yang digunakan untuk membuat pesan rahasia.Program dibawah ini mempunyai kunci untuk encrypt = alfabet + 3. Sedangkan untuk decrypt mempunyai rumus sebaliknya.
program enkripsi_diskripsi;
uses wincrt;
var
   i : byte;
   kata : string;
   kunci,pil : char;
Procedure menu;
forward;
Procedure input;
  begin
   gotoxy(1,5);write ('Write a word : '); readln (kata);
  end;
 
Procedure enkripsi;
  begin
   clrscr;
   gotoxy(1,2);writeln('ENKRIPSI');
   gotoxy(1,3);writeln('====================');
   input;
      for i:=1 to length(kata) do
        begin
          kata[i]:=chr(ord(kata[i])+ 3);
           if (kata[i] in ['A'..'Z']) or (kata[i] in ['a'..'z']) then kata[i] := kata[i]
           else
          kata[i] := chr(ord(kata[i])- 26);
        end;
   gotoxy(1,7);write ('Result of Enkripsi : ',kata);
   gotoxy(15,24);write('==== Press Enter to return Menu ==== ');
   readln;
   menu;
   end;
Procedure dekripsi;
  begin                                 
  clrscr;
  gotoxy(1,2);writeln('DEKRIPSI');
  gotoxy(1,3);writeln('====================');
  input;
    for i :=1 to length(kata) do
      begin
       kata[i]:=chr(ord(kata[i]) - 3);
        if (kata[i] in ['A'..'Z']) or (kata[i] in ['a'..'z']) then kata[i] := kata[i]
        else
       kata[i] := chr(ord(kata[i]) + 26)
      end;
  gotoxy(1,7);write ('Hasil Dekripsi : ',kata);
  gotoxy(15,24);write('==== Press Enter to Return Menu ==== ');
  readln;
  menu;
  end;
Procedure menu;
var
  pil : char;
begin
clrscr;
repeat
gotoxy(16,9); writeln(' ========================');
gotoxy(16,10);writeln(' NAMA : RIKY BAGUS.M ');
gotoxy(16,11);writeln(' NIM : M0508117 ');
gotoxy(16,12);writeln(' ========================');
gotoxy(21,15);writeln(' MENU ');
gotoxy(22,16);writeln('1. Enkripsi Massange');
gotoxy(22,17);writeln('2. Dekripsi Massange');
gotoxy(22,18);writeln('3. Exit ');
gotoxy(16,20);writeln('Your Choise : ');
gotoxy(31,20);readln(pil);
until (pil in ['1','2','3']);
case pil of
'1' : enkripsi;
'2' : dekripsi;
'3' : donewincrt;
end;
end;
begin
menu;
end.

Jika program diatas kita run maka akan menghasilkan output seperti dibawah ini :

Untuk output program encrypt
program encrypt and decrypt

Sedangkan output program decrypt
program decrypt
To find the biggest end the smallest number of suite number,in this case I am use array type.
To fing it we must compare indeks[1] with other indeks.We can use indeks[1] (i[1]) for the reference.
We can compare the indeks with statement like this:


program bil_kecil_besar;
uses wincrt;
var dafbil : array [1..100] of integer;
terbesar,terkecil : integer;
i,n : integer;

begin
writeln('masukan jumlah bilangan imputan');
readln(n);
for i:=1 to n do
begin
write('bilangan ke-',i,'=') ; read(dafbil[i]);
end;
terbesar := dafbil[1];
terkecil := dafbil[1];
for i:=2 to n do
if dafbil[i] > terbesar then
terbesar := dafbil[i]
else
if dafbil[i] < style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 95px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTvyM90QxQo-9C_yigdk7niKbBMauRxYqFWotOYObBDCfZsZoYSrQ6mbC3U0CZvA8PegHLnkmcCZiqJBSmxVvnM7riamsPFAYeIcsjG73cDdu9am47BiYHG_ymlGky8rCm7VfpgjU_2rs/s400/besar+kecil.jpg" alt="" id="BLOGGER_PHOTO_ID_5298001271877449042" border="0">


Find Mean Median and Modus

program mean_median_modus;
uses wincrt;
type larik = array[1..100] of integer;
var n,m,max : integer;
x,y,f : larik;
jawaban : char;
procedure inputdata(var x:larik; var n:integer);
var i : integer;
begin
write('Write sum of data input: ');readln(n);
for i:=1 to n do
begin
write('File of- ',i,' : ');readln(x[i]);
end;
end;
procedure urutdata(var x:larik; var n:integer);
var i, j, temp : integer;
begin
for i:= 1 to n-1 do
for j:= i to n do
begin
if x[j]<x[i] then
begin
temp:=x[i];
x[i]:=x[j];
x[j]:=temp;
end;
end;
writeln;
write('sort of data : ');
for i:=1 to n do
write(x[i]:4);
writeln;
end;
procedure mean(var x:larik; var max,n:integer);
var rata_rata:real; i,jml: integer;
begin
jml:=0;
max:=x[i];
for i:=1 to n do
jml:= jml+x[i];
rata_rata:=jml/n;
write('Average : ',rata_rata:4:0);
writeln;
end;
procedure frekuensi(x:larik; n:integer; var y,f:larik; var m:integer);
var i, j : integer;
begin
for i:=1 to n do
f[i]:=1;
x[n+1]:=x[n]+1;
j:=1;
for i:=1 to n do
if x[i] = x[i+1] then f[j]:=f[j]+1
else
begin
y[j] := x[i];
j := j + 1;
end;
m:=j-1;
end;
procedure maxfrekuensi(f,x:larik; m:integer; var max:integer);
var i:integer;
begin
max:=x[i];
for i:=1 to m do
if f[i]>max then max:=f[i];
end;
procedure modus(y,f:larik; m, max:integer);
var i:integer;
begin
if max = 1 then write('There are not modus')
else
begin
for i:=1 to m do
if f[i]=max then write ('Modus : ',y[i]);
end;
writeln;
end;
procedure median(var x:larik; n:integer);
var md:real; ltk:integer;
begin
if (n mod 2 = 1) then
begin
ltk:=(n div 2)+1;
md := x[ltk]
end
else
begin
ltk:=(n div 2);
md :=(x[ltk]+x[ltk+1])/2;
end;
write('Nilai Median : ',md:4:0);
end;
begin
repeat
clrscr;
gotoxy(20,2);writeln('***************************************** ');
gotoxy(20,3);writeln('* Find Mean Median and Modus * ');
gotoxy(20,4);writeln('***************************************** ');
writeln;
inputdata(x,n);
urutdata(x,n);
mean(x,max,n);
frekuensi(x,n,y,f,m);
maxfrekuensi(f,x,m,max);
modus(y,f,m,max);
median(x,n);
writeln;writeln;
write('Repeat again [Y/T]? : ');readln(jawaban);
until upcase(jawaban)<>'Y';
end.
if we run the statement,we are get output like this :
medianmodus
Program age;
uses wincrt;
var tgl1, tgl2, bl1, bl2, th1, th2, jmlHari : longint;
    year, month, day : integer;
    again : boolean; choose : char;
Begin
     clrscr;
     again := true;
   while again Do
     Begin
     writeln('program to know your birth day');
     writeln('input your birth day  ');
     write('day   :');readln(tgl1);
     write('month :');readln(bl1);
     write('year  :');readln(th1);
     writeln('input this day        ');writeln;
     write('day   :');readln(tgl2);
     write('month :');readln(bl2);
     write('year  :');readln(th2);
     Jmlhari := (th2-th1)*360+(bl2-bl1)*30+(tgl2-tgl1);
     year := Jmlhari div 360;
     month:= Jmlhari mod 360 div 30;
     day  := Jmlhari mod 360 mod 30;
     write('your age ',Year,' year ',month,' Month ',day,' day');
     writeln; writeln;
     write('Mau coba lagi? (Y/T)'); readln(choose);
     if (choose ='t') or (choose='T') then again := False;
   end;
     readln;
End.

and the output is like this :

smile_nerd

Untitled

Magic Square

program magic_square;
uses wincrt;
type
matriks = Array[1..20,1..20] of Integer;
var
x: matriks;
n,i,j,k : Integer;
jwb:char;
Begin
clrscr;
repeat
writeln('Please input queer number ');
writeln;
writeln;
write('Input ordo matriks, n = '); Readln(n);
if n mod 2 = 0 then writeln('wrong input (please input queer number)')
else
begin
{ inisialisasi kotak, array di isi dengan 0 }
For i:=1 to n do
For j:=1 to n do x[i,j]:= 0;
i:=1;
j:= (n + 1) div 2;
k:=0;
end;
repeat
k:=k+1;
begin
x[i,j]:=k;
i:=i-1;
j:=j-1;
end;
Begin
if (i=0) and (j<>0) then
i:=n
else if (j=0) and (i<>0) then
j:=n
else if (i=0) and (j=0) then
begin
i:=2;
j:=1;
end;
if x[i,j]<>0 then
begin
i:=i+2;
j:=j+1;
End;
end;
until k > sqr(n);
For i:= 1 to n do
begin
For j:=1 to n do
begin
write(x[i,j]:4);
end;
writeln;
end;
writeln('repeat again?? [Y/N]') ;
readln(jwb);
until not (jwb in['y','Y']);
end.
if we run the statement,we are get output like this :
kotak
Program TLMatrik;
uses wincrt;
type matrik = array [1..20,1..20] of integer;
var
   i, j                                                                 : integer;
   barisa, koloma, barisb, kolomb, baris1, kolom1, baris2, kolom2, pil  : integer;
   matrika, matrikb, matrik1, matrik2                                   : matrik;
   pilihan                : char;
Procedure Identitas;
{prosedur untuk menampilkan biodata pembuat program}
begin
writeln(' ========================================= ');
writeln('|                                         |');
writeln('| PROGRAM INI DIBUAT OLEH :               |');
writeln('|                                         |');
writeln('|-----------------------------------------|');
writeln('|                                         |');
writeln('| Nama              : Riky                |');
writeln('| NIM               : M0508117            |');
writeln('| Nama Program      : Program Matrik      |');
writeln('| Tanggal pembuatan : 23 Februari 2008    |');
writeln('|                                         |');
writeln(' ========================================= ');
readln;
end;
Procedure Bacadataa;
{prosedur untuk input data manual matrik pertama}
begin
writeln('Memasukkan input data secara manual');
writeln('Masukkan ordo matrik A');
write('Jumlah baris : '); readln(barisa);
write('Jumlah kolom : '); readln(koloma);
end;
Procedure Bacadatab;
{prosedur untuk input data manual matrik kedua}
begin
writeln('Memasukkan input data secara manual');
writeln('Masukkan ordo matrik B');
write('Jumlah baris : '); readln(barisb);
write('Jumlah kolom : '); readln(kolomb);
end;
Procedure buatdata1;
{prosedur untuk input data random matrik pertama}
begin
writeln('Anda memilih input data random');
writeln('Masukan ordo matrik 1');
write('Jumlah baris : '); readln(baris1);
write('Jumlah kolom : '); readln(kolom1);     
writeln;
end;
Procedure buatdata2;
{prosedur untuk input data random matrik pertama}
begin
writeln('Masukan ordo matrik 2');
write('Jumlah baris : '); readln(baris2);
write('Jumlah kolom : '); readln(kolom2);     
writeln;
end;
Procedure matrikmanuala;
{prosedur unutk membuat matrik A dengan input manual}
begin
for i:= 1 to barisa do
    for j:= 1 to koloma do
    begin
  writeln('Masukan data untuk matrik A : ');
  write('matrik [',i,',',j,'] = ');readln(matrika[i,j]);
    end;
end;
Procedure matrikmanualb;
{prosedur untuk membuat matrik B dengan input manual}
begin
for i:= 1 to barisb do
    for j:= 1 to kolomb do
    begin
  writeln('Masukan data untuk matrik B : ');
  write('matrik [',i,',',j,'] = ');readln(matrikb[i,j]);
    end;
end;
Procedure cetakmatrika;
{prosedur unutk mencetak matrik A input manual}
begin
writeln('tampilan matrik A adalah');readln;
for i:= 1 to barisa do
    begin
        for j:= 1 to koloma do
        write(matrika[i,j],'  ':15);
        writeln;
    end;
end;
Procedure cetakmatrikb;
{prosedur untuk mencetak matrik B input manual}
begin
writeln('tampilan matrik B adalah');readln;
writeln;
for i:= 1 to barisb do
    begin
        for j:= 1 to kolomb do
        write(matrikb[i,j],'  ':15);
        writeln;
    end;
end;
Procedure random1;
{prosedur untuk membuat matrik dengan cara random}
var i,j : integer;
begin
randomize;
    for i:= 1 to baris1 do
  for j:= 1 to kolom1 do
        begin
        matrik1[i,j]:=random(20);
  end;
end;
Procedure random2;
{prosedur unutk membuat matrik dengan cara random}
var i,j : integer;
begin
randomize;
    for i:= 1 to baris2 do
  for j:= 1 to kolom2 do
  begin
        matrik2[i,j]:=random (20);
        end;
end;
Procedure cetakmatrik1;
{prosedur untuk mencetak matrik 1 dengan input random}
begin
writeln;
writeln('tampilan matrik 1 adalah'); readln;
    for i:= 1 to baris1 do
    begin
        for j:= 1 to kolom1 do
        write(matrik1[i,j],'  ':15);
        writeln;
 end;
readln;
end;
Procedure cetakmatrik2;
{prosedur untuk mencetak matrik 2 dengan input manual}
begin
writeln;
writeln('tampilan matrik 2 adalah');readln;
writeln;
    for i:= 1 to baris2 do
  begin
        for j:= 1 to kolom2 do
            write(matrik2[i,j],'  ':15);
            writeln;
        end;
readln;
end;
Procedure jumlahmatrikm(matrika,matrikb:matrik;barisa,koloma,barisb,kolomb :integer);
{prosedur untuk menjumlahkan matrik dengan input manual}
var i,j : integer;
    hsl : matrik;
begin
if (barisa=barisb) and (koloma=kolomb) then {mengecek apakah matrik tersebut bujur sangkar}
 begin
 writeln('Hasil penjumlahan matrik adalah');
 for i:=1 to barisa do
  begin
  for j:=1 to koloma do
   begin
   hsl[i,j]:=matrika[i,j]+matrikb[i,j];       
   end;
  end;
 end;
if (barisa=barisb) and (koloma=kolomb) then {mengecek apakah matrik tersebut bujur sangkar}
 for i:= 1 to barisa do {mencetak hasil penjumlahan}
        begin
        for j:= 1 to koloma do
   write(hsl[i,j],'  ':15);
            writeln;
        end
else writeln('Matrik tidak dapat dijumlahkan karena dimensinya tidak cocok');
end;
Procedure jumlahmatrikr(matrik1,matrik2:matrik;baris1,kolom1,baris2,kolom2 :integer);
{prosedur untuk menjumlahkan matrik dengan input random}
var i,j : integer;
    hsl : matrik;
begin
if (baris1=baris2) and (kolom1=kolom2) then {mengecek apakah matrik tersebut bujur sangkar}
 begin
 writeln('Hasil penjumlahan matrik adalah');
 for i:=1 to baris1 do
  begin
  for j:=1 to kolom1 do
   begin
   hsl[i,j]:=matrik1[i,j]+matrik2[i,j];       
            end;
  end;
   end;
 
if (baris1=baris2) and (kolom1=kolom2) then {mengecek apakah matrik tersebut bujur sangkar}
 for i:= 1 to baris1 do {mencetak hasil penjumlahan}
  begin
        for j:= 1 to kolom1 do
   write(hsl[i,j],'  ');
            writeln;
        end
else writeln('Matrik tidak dapat dijumlahkan karena dimensinya tidak cocok')
end;
Procedure kurangmatrikm(matrika,matrikb:matrik;barisa,koloma,barisb,kolomb :integer);
{prosedur untuk mengurangkan matrik dengan input manual}
var i,j : integer;
    hsl : matrik;
begin
if (barisa=barisb) and (koloma=kolomb) then {mengecek apakah matrik tersebut bujur sangkar}
 begin
 writeln('Hasil pengurangan matrik adalah');
 for i:=1 to barisa do
  begin
  for j:=1 to koloma do
   begin
   hsl[i,j]:=matrika[i,j]-matrikb[i,j];       
   end;
  end;
 end;

if (barisa=barisb) and (koloma=kolomb) then {mengecek apakah matrik tersebut bujur sangkar}
 for i:= 1 to barisa do {mencetak hasil pengurangan}
  begin
        for j:= 1 to koloma do
   write(hsl[i,j],'  ':15);
            writeln;
        end
else writeln('Matrik tidak dapat dikurangkan karena dimensinya tidak cocok');
end;
Procedure kurangmatrikr(matrik1,matrik2:matrik;baris1,kolom1,baris2,kolom2 :integer);
{prosedur untuk mengurangkan matrik dengan input random}
var i,j : integer;
    hsl : matrik;
begin
if (baris1=baris2) and (kolom1=kolom2) then {mengecek apakah matrik tersebut bujur sangkar}
 begin
 writeln('Hasil pengurangan matrik adalah');
 for i:=1 to baris1 do
  begin
  for j:=1 to kolom1 do
   begin
   hsl[i,j]:=matrik1[i,j]-matrik2[i,j];       
   end;
  end;
   end;
 
if (baris1=baris2) and (kolom1=kolom2) then {mengecek apakah matrik tersebut bujur sangkar}
 for i:= 1 to baris1 do {mencetak hasil pengurangan}
        begin
        for j:= 1 to kolom1 do
   write(hsl[i,j],'  ':15);
            writeln;
        end
else writeln('Matrik tidak dapat dikurangkan karena dimensinya tidak cocok')
end;
Procedure perkalianmatrikm;
{prosedur untuk  mengalikan matrik dengan input manual}
var i, j, k : byte;
    hasil : matrik;
begin
writeln('Hasil perkalian matrik adalah');
if (koloma=barisb) then {mengecek apakah kolom matrik pertama sama dengan baris matrik kedua }
 for i := 1 to barisa do
        begin
        for j := 1 to kolomb do
            begin
   hasil[i,j]:=0;
                for k := 1 to barisb do
     begin
     hasil[i,j] := hasil[i,j] + matrika[i,k] * matrikb[k,j];
                    end;
            end;
        end;
if (koloma=barisb) then {mengecek apakah kolom matrik pertama sama dengan baris matrik kedua }
    for i:= 1 to barisa do {mencetak hasil perkalian}
        begin
  for j:= 1 to kolomb do
            write(hasil[i,j],'  ':15);
            writeln;
        end
else writeln('Matrik tidak dapat dikalikan karena dimensinya tidak cocok');
end;
Procedure perkalianmatrikr;
{prosedur untuk mengalikan  matrik dengan input random}
var i, j, k : byte;
    hasil : matrik;
begin
writeln('Hasil perkalian matrik adalah');
if (kolom1=baris2) then {mengecek apakah kolom matrik pertama sama dengan baris matrik kedua }
    for i := 1 to baris1 do
        begin
        for j := 1 to kolom2 do
            begin
            hasil[i,j]:=0;
                for k := 1 to baris2 do
                begin
                hasil[i,j] := hasil[i,j] + matrik1[i,k] * matrik2[k,j];
                end;
            end;
        end;
if (kolom1=baris2) then {mengecek apakah kolom matrik pertama sama dengan baris matrik kedua }
 for i:= 1 to baris1 do {mencetak hasil perkalian}
        begin
  for j:= 1 to kolom2 do
            write(hasil[i,j],'  ':15);
            writeln;
        end
else writeln('Matrik tidak dapat dikalikan karena dimensinya tidak cocok');
end;
Procedure transposem;
{prosedur untuk mentranspose matrik dengan input manual}
var i, j : integer;
    trans : matrik;
begin
for i := 1 to koloma do
    begin
    for j := 1 to barisa do
        begin              
        trans[i,j] := matrika [j,i];
        end;
    writeln;
    end;
{mencetak matrik hasil transpose}      
write('Hasil transpose matrik adalah'); writeln; writeln;
for i := 1 to koloma do
    begin
    writeln;
 for j := 1 to barisa do
 write(trans[i,j]:15);
    writeln;
    end;
end;
Procedure transposer;
{prosedur untuk mentranspose matrik dengan input random}
var i, j : integer;
    trans : matrik;
begin
for i := 1 to kolom1 do
    begin
    for j := 1 to baris1 do
        begin              
        trans[i,j] := matrik1 [j,i];
        end;
    writeln;
    end;
{mencetak matrik hasil transpose}
clrscr;             
write('Hasil transpose matrik adalah'); writeln; writeln;
for i := 1 to kolom1 do
    begin
    writeln;
 for j := 1 to baris1 do
 write(trans[i,j]:15);
    writeln;
    end;
end;
Function tracem : integer;
{fungsi trace dengan input manual}
var i, j : byte;
    trace : integer;
begin
if (barisa= koloma) then
 begin
    trace := 0;
        for i := 1 to barisa do
        begin
   for j := 1 to koloma do
            if (i = j) then
            trace := trace + matrika[i,j];
        end;
    writeln;
    write('Hasil dari trace matrik adalah : ');
    writeln(trace);
    writeln;
    end
else
 begin
    writeln('Matrik dengan ordo ini tidak dapat dieksekusi');
    writeln('Baris dan kolom yang anda masukan tidak sama');
    end;
end;
Function tracer : integer;
{fungsi trace dengan input random}
var i, j : byte;
    trace : integer;
begin
if (baris1= kolom1) then
 begin
    trace := 0;
  for i := 1 to baris1 do
        begin
   for j := 1 to kolom1 do
                if (i = j) then
                trace := trace + matrik1[i,j];
        end;
    writeln;
    write('Hasil dari trace matrik adalah :');
    writeln(trace);
    writeln;
    end
else
 begin
    writeln('Matrik dengan ordo ini tidak dapat dieksekusi');
    writeln('Baris dan kolom yang anda masukan tidak sama');
    end;
end;
{menu utama}
begin
identitas;
clrscr;
repeat
clrscr;
writeln('Pilihlah operasi yang Anda inginkan terhadap matrik yang akan Anda buat!');
writeln('1.Mencari trace matrik');
writeln('2.Menjumlahkan dua matrik');
writeln('3.Mengurangkan dua matrik');
writeln('4.Mentranspose matrik');
writeln('5.Mengalikan dua matrik');
writeln;
writeln('1 : input manual');
writeln('2 : input random');
writeln;
writeln('contoh pemilihan..');
writeln('21 : Menjumlahkan dua matrik secara manual');
writeln;
write('Masukkan pilihan anda : '); readln(pil);
clrscr;
 case pil of
    11 : begin
    writeln('Anda memilih mencari trace matrik secara manual'); writeln;
          bacadataa; writeln;
          matrikmanuala; clrscr;
          cetakmatrika; writeln;
          tracem; writeln;
          end;
    12 : begin
    writeln('Anda memilih mencari trace matrik secara random'); writeln;
          buatdata1; writeln;
          random1; clrscr;
          cetakmatrik1; writeln;
          tracer; writeln;
          end;
    21 : begin
     writeln('Anda memilih menjumlahkan matrik matrik dengan input manual'); writeln;
          bacadataa; writeln;
          bacadatab; clrscr;
          matrikmanuala; writeln;
          matrikmanualb; clrscr;
          cetakmatrika; writeln;
          cetakmatrikb; writeln;
          jumlahmatrikm(matrika,matrikb,barisa,koloma,barisb,kolomb);
          writeln;
    end;
    22  : begin
      writeln('Anda memilih menjumlahkan matrik matrik dengan input random'); writeln;
     buatdata1; writeln;
          buatdata2; writeln;
          random1; writeln;
          random2; clrscr;
          cetakmatrik1; writeln;
          cetakmatrik2; writeln;
          jumlahmatrikr(matrik1,matrik2,baris1,kolom1,baris2,kolom2);
          writeln;
    end;
    31  : begin
       writeln('Anda memilih mengurangkan matrik matrik dengan input manual'); writeln;
          bacadataa; writeln;
          bacadatab; clrscr;
          matrikmanuala; writeln;
          matrikmanualb; clrscr;
          cetakmatrika; writeln;
          cetakmatrikb; writeln;
          kurangmatrikm(matrika,matrikb,barisa,koloma,barisb,kolomb);
          writeln;
    end;
    32  : begin
       writeln('Anda memilih mengurangkan matrik dengan input random'); writeln;
          buatdata1; writeln;
          buatdata2; writeln;
          random1; writeln;
          random2; clrscr;
          cetakmatrik1; writeln;
          cetakmatrik2; writeln;
          kurangmatrikr(matrik1,matrik2,baris1,kolom1,baris2,kolom2);
          writeln;
    end;
    41  : begin
       writeln('Anda memilih mentranspose matrik dengan input manual'); writeln;
          bacadataa; writeln;
          matrikmanuala; clrscr;
          cetakmatrika; writeln;
          transposem; writeln;
          end;
 42  : begin
          writeln('Anda memilih mentranspose matrik dengan input random'); writeln;
          buatdata1; writeln;
          random1; clrscr;
          cetakmatrik1; writeln;
          transposer; writeln;
          end;
    51  : begin
          writeln('Anda memilih mengalikan matrik dengan input manual'); writeln;
          bacadataa; writeln;
          bacadatab; clrscr;
          matrikmanuala; writeln;
          matrikmanualb; clrscr;
          cetakmatrika; writeln;
          cetakmatrikb; writeln;
          perkalianmatrikm; writeln;
          end;
    52  : begin
          writeln('Anda memilih mengalikan matrik dengan input random'); writeln;
          buatdata1; writeln;
          buatdata2; writeln;
          random1; writeln;
          random2; clrscr;
          cetakmatrik1; writeln;
          cetakmatrik2; writeln;
          perkalianmatrikr; writeln;
          end;
 end;
write('  Kembali ke menu utama [Y/T]? '); readln(pilihan);
until upcase(pilihan) <> 'Y';
readln;
end .

Password

program password;
uses wincrt;
const pass = 'admin';
var kata : string;
I : integer;
jawab :char;
begin
repeat
writeln('write password:');
readln(kata);
if kata <> pass then
writeln(' wrong password')
else
begin
for I:=1 to 100 do
writeln('',I,'. true password');
end;
write('ulang lagi: [Y/N]');
readln(jawab);
until not (jawab in ['Y','y']);
end.

RECORD

program contohrecord;
uses wincrt;
type TAlamat = record
NamaJalan : string[20];
NoJalan : integer;
Kota : string[21];
KodePos : string[5];
end;
TSiswa = record
NIM : string[8];
Nama : string[25];
Alamat : TAlamat;
end;
var
N,i : integer;
A: array [1..100] of TSiswa;
S:TAlamat;
begin
write('masukan banyaknya siswa');readln(n);
for i:=1 to n do
begin
with A[I] do begin
writeln('NIM=');readln(NIM);
writeln('Nama=');readln(Nama);
end;
WRITELN('Alamat');
with S do BEGIN
writeln('Namajalan=');readln(NamaJalan);
writeln('NoJalan=');readln(NoJalan);
writeln('Kota=');readln(kota);
writeln('kodepos');readln;
end;
end;
for i:=1 to n do
begin
with A[I] DO BEGIN
writeln(NIM,' ',NAMA:25, ' ',S.NamaJALAN,' ',S.NoJalan,' ',S.Kota,' ',S.KodePos);
end;
end;
end.

Tak Luxurious House

program tak_luxurious_house;
uses WINcrt;
var na : longint;
pjk : real;
begin
clrscr;
writeln('Input price of house asset ');
write('asset = $');read(na);
if na<30000 then pjk:=800;
if na<=50000 then pjk:=800+0.01*(na*10000-30000);
if na<=80000 then pjk:=800+0.012*(na*10000-30000);
if na<=120000 then pjk:=800+0.014*(na*10000-30000);
if na>120000 then pjk:=800+0.015*(na*10000-30000);
writeln;
writeln('price of house asset is: $ ',na);
writeln('tak of house asset is : $ ',pjk:0:2);
readln;
end.
if we run the statement,we are get output like this :
PRICE

Value of Student Examination

This is statement to input file
Program InputFile;
uses wincrt;
const Jumlah_MK = 5;
Type B_Nilai = 1..100;
Nilai = record
Nama_Mhs : string[25];
No_Mhs : string[5];
Angkatan : string[5];
Nilai_Ujian : array [1..Jumlah_MK] of B_Nilai;
Nilai_Rata : real;
end;
D_Nilai = file of Nilai;
Var Daf_Nilai : D_Nilai;
Nilai_MHs : Nilai;
I, J : integer;
Lagi : char;
Begin
assign (Daf_Nilai,'D:\NILAI.TXT');
rewrite(Daf_Nilai);
I := 0;
repeat
inc(I);
clrscr;
writeln('Input Data in file "Nilai.TXT"');
writeln('-----------------------------------'); writeln;
Writeln('Input record of : ', I:2);
writeln('----------------------');
With Nilai_Mhs Do
begin
Nilai_Rata := 0.0;
write('Name of student : '); readln(Nama_Mhs);
write('Number of student : '); readln(No_Mhs);
write('Angkatan : '); readln(Angkatan);
For J := 1 to Jumlah_Mk Do
Begin
write('Value of MK',J,' : '); readln(Nilai_Ujian[J]);
Nilai_Rata := Nilai_rata + Nilai_Ujian[J]
end;
Nilai_Rata := Nilai_rata/Jumlah_MK
end;
write(Daf_Nilai, Nilai_Mhs);
gotoxy(1,20); write('input again? Y/T : ');
readln(lagi);
until not(Lagi in ['Y','y']);
close(Daf_Nilai);
readln
end.
This is statement to read file :
Program ReadFile;
uses wincrt;
const Jumlah_MK = 5;
Garis = '-------------------------------------';
Type B_Nilai = 1..100;
Nilai = record
Nama_Mhs : string[25];
No_Mhs : string[5];
Angkatan : string[5];
Nilai_Ujian : array [1..Jumlah_MK] of B_Nilai;
Nilai_Rata : real;
end;
D_Nilai = file of Nilai;
Var Daf_Nilai : D_Nilai;
Nilai_MHs : Nilai;
I, J, N : integer;
Begin
Clrscr;
assign(Daf_Nilai,'d:\NILAI.txt');
reset(Daf_Nilai);
N := filesize(Daf_nilai);
writeln(' ':24,'List of student examination value');
writeln(' ':24,'---------------------------------');
writeln; writeln(Garis,Garis);
Writeln('| No | Name of student | No Mhs | N1 | N2 | N3 | N4 | N5 | Rata2 |');
writeln(Garis,Garis);
For I := 1 to N Do
Begin
Gotoxy(1,I+6); write('| ',I:2,' | ');
read(Daf_Nilai, Nilai_Mhs);
with Nilai_Mhs Do
Begin
Gotoxy(8,I+6); write(Nama_Mhs);
Gotoxy(34,I+6); write('| ',No_Mhs);
For J := 1 to jumlah_MK Do
Begin
Gotoxy(43+5*(j-1),I+6); write('| ',Nilai_Ujian[J]:2);
End;
Gotoxy(68,I+6); write('| ',Nilai_Rata:5:2,' |');
End
End;
writeln(Garis,Garis);
Close(Daf_Nilai);
readln
end.
And the output is like this
file type1

Euler Number

Program euler_number;
uses wincrt;
var i : integer;
    eul, deret : real;
function faktor(n:longint): longint;
var
  j: integer; y : longint;
begin
     y := 1;
     if n = 0 then y :=1
     else
         for j:=1 to n do y := y*j;
     faktor:= y;
end;
begin
     eul := 0;   i:=0;
     Repeat
        deret := 1/faktor(i);
        eul := eul + deret;
        i := i + 1;
     Until deret <= 0.0000000000001;
     Writeln('phenomenological of euler number is :  ',eul);
end.
 
if we run the statement,we are get output like this :
euler

Tidak ada komentar: