Friday, June 25, 2010

deret fibonacci dengan pascal

program mencari deret fibonacci
tak buat di dua versi, TPW sama FPC:

dibuat di TPW:

program deret_fibonacci;

uses wincrt;

var a,b,c: integer;

function fibonacci (var i :integer): integer;

var j,k:integer;
begin
j:=i-1;
k:=i-2;
if ((i=1) or (i=2)) then
fibonacci:=1
else
fibonacci:=fibonacci(j)+fibonacci(k);
end;

begin
writeln('masukkan banyaknya bilangan fibonacci : ');
readln(a);

for b:=1 to a do
write(fibonacci(b),' ');


end.


nah yang ini ane buat di FPC

program deret_fibonacci;

uses crt;

var a,b,c: integer;

function fibonacci (var i :integer): integer;

var j,k:integer;
begin
clrscr;
j:=i-1;
k:=i-2;
if ((i=1) or (i=2)) then
fibonacci:=1
else
fibonacci:=fibonacci(j)+fibonacci(k);
end;

begin
writeln('masukkan banyaknya bilangan fibonacci : ');
readln(a);
b:=0;
repeat
b:=b+1;
write(fibonacci(b),' ');
until(b>a);
readln;

end.

menghitung combinasi dengan pascal (fungsi di TPW)

ternyata di fpc dan di tpw...
hasilnya berbeda cuy...
postingan sebelumnya ane pake di fpc jalan..
di tpw minta kurung mulu...

nih ane bikin versi tpw,..
alhasil make rekursif..
:D

uses wincrt;

var
hasil,n,r: integer;
combinasi:longint;


function faktorial( n : integer):longint;
var i : integer;

begin
  if n > 1 then
  faktorial:=faktorial(n-1)*n
  else
  faktorial:=1;
end;


function comb(n,r : integer) : longint;
var a,b,c: longint;

begin
a:=faktorial(n);
b:=faktorial(r);
c:=n-r;
c:=faktorial(c);
comb:=a div (b*c);
end;


begin
clrscr;
writeln('diketahui rumus nCr');
writeln('dimana nCr= n!/r!(n-r)!');
write ('masukkan nilai n ');
readln(n);
write ('masukkan nilai r ');
readln(r);
hasil:=comb(n,r);
writeln('nilai ',n,'C',r,' adalah ',hasil);
readln;
end.

menghitung combinasi dengan pascal (fungsi)

uses crt;

var
hasil,n,r: integer;
combinasi:longint;


function faktorial( n : integer):longint;
var i : integer;

begin
  faktorial:=1;
  for i :=1 to n do
    faktorial:=faktorial*i;
end;


function comb(n,r : integer) : longint;
var a,b,c: longint;

begin
a:=faktorial(n);
b:=faktorial(r);
c:=n-r;
c:=faktorial(c);
comb:=a div (b*c);
end;


begin
clrscr;
writeln('diketahui rumus nCr');
writeln('dimana nCr= n!/r!(n-r)!');
write ('masukkan nilai n ');
readln(n);
write ('masukkan nilai r ');
readln(r);
hasil:=comb(n,r);
writeln('nilai ',n,'C',r,' adalah ',hasil);
readln;
end.


menghitung combinasi dengan pascal

       uses crt;

var
hasil,n,r: integer;
combinasi:longint;
procedure faktorial( n : integer);
var i : integer;

begin
  hasil:=1;
  for i :=1 to n do
    hasil:=hasil*i;
end;

procedure comb(n,r : integer);
var a,b,c: longint;

begin
faktorial(n);
a:=hasil;
faktorial(r);
b:=hasil;
c:=n-r;
faktorial(c);
c:=hasil;
combinasi:=a div(b*c);
writeln('nilai ',n,'C',r,' adalah ',combinasi);
end;




begin
clrscr;
writeln('diketahui rumus nCr');
writeln('dimana nCr= n!/r!(n-r)!');
write ('masukkan nilai n ');
readln(n);
write ('masukkan nilai r ');
readln(r);
comb(n,r);
readln;
end.


parameter formal dan aktual di pascal

PARAMETER FUNGSI
Parameter fungsi ada 2, yaitu : parameter formal dan parameter actual.
1. Parameter Formal (formal parameter)
Parameter yang dideklarasikan dibagian blok fungsi.
2. Parameter Aktual(actual parameter)
Parameter yang sebenarnya / parameter yang dilewatkan saat fungsi
dipanggil.

uses crt;


procedure HitungByValue(var A,B,C : integer); //parameter formal
begin
B:=A;
C:=A+B;
end;

var x,y,z: integer;

begin
writeln('masukkan x = ');
readln(x);
writeln('masukkan y = ');
readln(y);
writeln('masukkan z = ');
readln(z);
HitungByValue(x,y,z);   //parameter faktual
writeln(x,y,z);
readln;
end.


PARAMETER FUNGSI PASS BY VALUE
Parameter yang diberikan ke fungsi adalah ‘Nilainya’, tidak pernah
menspesifikasikan variabelnya. Bila ada perubahan pada parameter formal,
tidak akan mempengaruhi nilai pada parameter actual.


PARAMETER FUNGSI PASS BY REFERENCE
Memanipulasi nilai dari dalam fungsi. Setiap perubahan terhadap
parameter formal akan memepengaruhi nilai pada parameter actual.
Parameter formal diberi symbol ‘&’. Cara ini adalah cara efektif yang
memungkinkan sebuah fungsi mengembalikan lebih dari satu nilai.


jika pada procedur HitungByValue menggunakan var,,
maka fungsi pass by reference

uses crt;


procedure HitungByValue(var A,B,C : integer); //parameter formal
begin
B:=A;
C:=A+B;
end;

var x,y,z: integer;

begin
writeln('masukkan x = ');
readln(x);
writeln('masukkan y = ');
readln(y);
writeln('masukkan z = ');
readln(z);
HitungByValue(x,y,z);   //parameter faktual
writeln(x,y,z);
readln;
end.
x=5,y=7,z=8
maka outputnya = 5 5 10

bila tanpa var,, maka merupakan pass by value

uses crt;


procedure HitungByValue(A,B,C : integer); //parameter formal
begin
B:=A;
C:=A+B;
end;

var x,y,z: integer;

begin
writeln('masukkan x = ');
readln(x);
writeln('masukkan y = ');
readln(y);
writeln('masukkan z = ');
readln(z);
HitungByValue(x,y,z);   //parameter faktual
writeln(x,y,z);
readln;
end.
x=5,y=7,z=8
maka outputnya = 5 7 8

Thursday, June 24, 2010

bermain record dengan pascal

uses crt;

type
mahasiswa = record
nim   : string;
nama  : string;
alamat : string;
ipk   : real;
end;

var datamahasiswa : array [1..100] of mahasiswa;
a,b: integer;


begin
write('masukkan batas data yang di inputkan : ');
readln(a);


for b:=1 to a do
begin
        clrscr;
         with datamahasiswa[b] do
           Begin
           write('masukkan NIM mahasiswa : ');
           readln(NIM);
           write('masukkan nama mahasiswa : ');
           readln(nama);
           write('masukkan alamat : ');
           readln(alamat);
           write('masukkan ipk : ');
           readln(ipk);
           end;
end;

writeln('nim':5,'nama':25,'alamat':30,'ipk':6);
for b:=1 to a do
begin
         with datamahasiswa[b] do
           Begin
           write(nim:5);
           write(nama:25);
           write(alamat:30);
           write(ipk:6:2);
           end;
           writeln;
end;
    readln;
end.

modul pascal

barusan googling nemu modul yang "kayakna" bagus

hehehehe

belon di baca sih
:D


http://miwan.ueuo.com/materi/Pascal.pdf

error code di pascal

case ExitCode of      
001: Writeln(output,'Invalid function number.');      
002: Writeln(output,'File not found.');      
003: Writeln(output,'Path not found.');      
004: Writeln(output,'Too many open files.');      
005: Writeln(output,'File access denied.');      
006: Writeln(output,'Invalid file handle.');      
012: Writeln(output,'Invalid file access code.');     
 015: Writeln(output,'Invalid drive number.');      
016: Writeln(output,'Cannot remove current directory.');      
017: Writeln(output,'Cannot rename across drives.');      
018: Writeln(output,'No More Files.');      
100: Writeln(output,'Disk read error.');      
101: Writeln(output,'Disk write error.');      
102: Writeln(output,'File not assigned.');      
103: Writeln(output,'File not open.');      
104: Writeln(output,'File not open for input.');      
105: Writeln(output,'File not open for output.');      
106: Writeln(output,'Invalid numeric format.');      
150: Writeln(output,'Disk is write-protected.');      
151: Writeln(output,'Unknown unit.');      
152: Writeln(output,'Drive not ready.');      
153: Writeln(output,'Unknown command.');      
154: Writeln(output,'CRC error in data.');      
155: Writeln(output,'Bad drive request structure length.');      
156: Writeln(output,'Disk seek error.');      
157: Writeln(output,'Unknown media type.');      
158: Writeln(output,'Sector not found.');      
159: Writeln(output,'Printer out of paper.');      
160: Writeln(output,'Device write fault.');      
161: Writeln(output,'Device read fault.');      
162: Writeln(output,'Hardware failure.');      
200: Writeln(output,'Division by zero.');      
201: Writeln(output,'Range check error.');      
202: Writeln(output,'Stack overflow error.');     
 203: Writeln(output,'Heap overflow error.');      
204: Writeln(output,'Invalid pointer operation.');      
205: Writeln(output,'Floating point overflow.');      
206: Writeln(output,'Floating point underflow.');      
207: Writeln(output,'Invalid floating point operation.');      
208: Writeln(output,'Overlay manager not installed.');      
209: Writeln(output,'Overlay file read error.');      
210: Writeln(output,'Object not initialized.');      
211: Writeln(output,'Call to abstract method.');     
 212: Writeln(output,'Stream registration error.');      
213: Writeln(output,'Collection index out of range.');     
 214: Writeln(output,'Collection overflow error.');     
 215: Writeln(output,'Arithmetic overflow error.');     
216: Writeln(output,'General Protection fault.');     
 else WriteLn(output,^G+'Unknown Error.');
http://www.hu.freepascal.org/lists/fpc-pascal/2000-September/000118.html

mencari modus dengan pascal

uses crt;

var a,count: array[1..100] of byte;
k,i,n,j,modus,max: integer;

begin
write('masukkan jumlah angka : ');
readln(i);

n:=1;

//menginputkan nilai random variabel array

repeat
a[n]:=random(100);
n:=n+1;
until (n>i);

//menceteak nilai yang diinputkan dari random

writeln('data yang belum di shorting');
for n:=1 to i do
write(a[n],' ');

writeln;writeln;

//mensorting nilai random yang di inputkan

for n:=1 to i do
for k:=n+1 to i do
if (a[n] > a[k])then
begin
j:=a[n];
a[n]:=a[k];
a[k]:=j;
end;


//mencetak data yang sudah di sorting

writeln('data yang sudah di shorting');
for n:=1 to i do
write(a[n],' ');

writeln;
writeln;

max:=0;

//menciptakan nilai count setiap data
for n:=1 to i-1 do
count[a[n]]:=1;

//memposisikan count per nilai
for n:=1 to i-1 do
begin
if (a[n]=a[n+1]) then
count[a[n]]:=count[a[n]]+1
else
if (count[a[n]]>max) then
begin
max:=count[a[n]]; // menyimpan nilai max modus & nilai modusnya
modus:=a[n];
end;
end;

writeln('nilai modusnya adalah ',modus,' sejumlah ',max); //mencetak nilai
modus


//cek ulang jika ada nilai modus lebih dari 1
for n:=1 to i-1 do
begin
if ((count[a[n]]=max)and(a[n]<>modus)) then
begin
modus:=a[n];
writeln('nilai modusnya adalah ',modus,' sejumlah ',max);
end;
end;

writeln;
end.

mencari FPB &KPK dengan pascal


menghitung FPB duluan…
logika FPB =>
Kepanjangan : Faktor Persekutuan terBesar
Artinya : Merupakan faktor-faktor pembagi yang paling besar dari suatu bilangan.
yaitu menentukan faktor2 dari dua bilangan yang merupakan perseketuan dan nilainya terbesar..


uses crt;
var A,B,P :longint;
Begin
clrscr;
readln(A,B);
if A repeeat
P:=P-1;
until (A mod P=0) and (B mod P=0);
writeln('FPB = ',P);
readln;
end.
versi 2 :

uses crt;
var A,B,P :longint;
Begin
clrscr;
readln(A,B);
repeeat
P:=A mod B;
A:=B;B:=P;
until (P=0);
writeln('FPB = ',A);
readln;
end.
sekarang yang KPK
KPK = Kelipatan Persekutuan Terkecil..
adalah bilangan kelipatan dari dua bilangan atau lebih, yang bisa di bagi oleh semua bilangan yang di maksud
programnya

uses crt;
var A,B,P,I :longint;
Begin
clrscr;
readln(A,B);
if A repeeat
I:=I+P;
until (I mod A=0) and (I mod B=0)
writeln('FPB = ',I);
readln;
end.
program di buat di FPC / Turbo Pascal 7.0
semoga bisa membantu..
selamat mencoba

mencari prima dengan pascal

bilangan prima :
bilangan yang istimewa yang ada di deret bilangan bulat..
dan nilainya ada di bilangan bulat positif..

definisinya
bilangan prima adalah bilangan yang memiliki 2 faktor,,
yaitu bilangan 1 dan bilangan itu sendiri..

berikut dapat anda coba di FPC/Turbo Pascal 7.0


uses crt;
var n,p :longint;
prima : boolean;

Begin
clrscr;
readln(n);
if (n=2) or (n=3) then prima:=true
else if (n<2) or (n mod 2=0) then prima:=false
else begin
p:=3;prima:=true;
repeeat
if n mod p=0 then
prima:=false else p:=P+2;
until (not(prima)) and (p>SQRT(n+1));
end;
writeln('prima');
readln;
end.

semoga membantu

segitiga pascal

akhirnya dapet juga dari tetangga sebelah..
:p

materi, source pascal tentang segitiga pascal..
pas banget ma materi looping yang di pelajari di praktikum


uses crt;
var bil : array[0..100,0..100] of integer;
i,j,k,n : integer;
begin
write('Tingkatannya = ');readln(n);
for i:=0 to (n-1) do
begin
bil[i,0]:=1;
bil[i,i]:=1;
for j:=1 to (i-1) do bil[i,j]:=bil[i-1,j-1]+bil[i-1,j];
for k:=0 to i do write(bil[i,k]);
writeln;
end;
end.

NB :
compiler menggunakan FPC/Turbo Pascal 7.0 (under windows)
FPC (under linux)

Tuesday, June 22, 2010

beberapa fungsi dlam mysql

pembulatan bilanagan real

select round(field,0) from table

contoh

select round(gaji*1.1,0) from pegawi;


mencari umur
select nama, round(DateDiff(Now(),tgl_lahir)/365,0) from pribadi;


Monday, June 21, 2010

input string bahasa pemrograman C

#include

int main()
{
char nama[20];

printf("nama anda : ");
scanf("%s", nama);

printf("selamat sore mr.%s\n",nama);
return 0;
}


#include

int main()
{
char nama[50];
int i =0;

printf("nama anda : ");

do
{
scanf("%c", &nama[i]);
i++;
}while (nama[i-1] != '\n' );

nama[i]='\0';


printf("selamat sore mr.%s\n",nama);
printf("nama anda terdiri dari %d kata\n", i);
return 0;
}

menjumlahkan 5 bilangan menggunakan bahasa C

#include

int main()
{ int a,b,c,d,e,jumlah;
printf("masukkan nilai a :");
scanf("%d", &a);
printf("masukkan nilai b :");
scanf("%d", &b);
printf("masukkan nilai c :");
scanf("%d", &c);
printf("masukkan nilai d :");
scanf("%d", &d);
printf("masukkan nilai e :");
scanf("%d", &e);

jumlah = a+b+c+d+e;

printf("jumlah ke lima bilangan di atas = %d\n",jumlah);

}

// menggunakan array
#include

int main()
{
int bil[5];
int jumlah, i;

i=0;
while(i < d =", i+1); scanf(" i="i+1;" jumlah="0;" i="0;" jumlah="jumlah+bil[i];" i="i+1;" atas =" %d\n">

int main()
{
int bil[5];
int jumlah, i;

i=0;
jumlah=0;
while(i < 5) { printf("masukkan nilai ke %d ", i+1); scanf("%d", &bil[i]); jumlah=jumlah+bil[i]; i=i+1; } printf("jumlah ke lima bilangan di atas = %d\n",jumlah); }

#include

int main()
{
int bil[5];
int jumlah, i;


jumlah=0;
for (i=0; i<5; i++ )
{
printf("masukkan nilai ke %d ", i+1);
scanf("%d", &bil[i]);
jumlah=jumlah+bil[i];

}




printf("jumlah ke lima bilangan di atas = %d\n",jumlah);

}

bahasa C latihan

hello world

#include

int main()
{
printf("hello world");
return 0;
}

input data dari keyboard + if else


#include

int main()
{ int tinggi,berat;

printf("Tinggi Badan :");
scanf("%d",&tinggi );

berat = (tinggi - 100) * 0.9;

printf("Tinggi anda %d cm\n\n", tinggi);


if ( tinggi >= 140 )
{
printf("Berat ideal anda %d kg\n", berat);
return 0;
}
else
{
printf("silahkan konsultasikan ke dokter\n");
}
}