Pages

SlideShow

Selasa, 08 Februari 2011

Laporan Program Pascal

A. Struktur Program Pascal

Struktur program pascal :
Judul program
Bagian deklarasi
- deklarasi variabel
- deklarasi konstanta
- deklarasi tipe
- deklarasi label
- deklarasi prosedur
- deklarasi fungsi
Bagian pernyataan

Begin
___________
Statement







___________
___________
___________
End.

B. Type Data (3) :
1. Type data sederhana (simple-type data) :
a. type data standar (standar data type):
- Integer ( bilangan bulat)


Type


Memory


Jangkauan


Byte


1


0 .. 255


Shortint


1


-128 .. 127


Integer


2


-32768 .. 32767


Word


2


0 .. 65535


Longint


4


2147483648 .. 2147483647


- Real (bilangan pecahan)
Nilai dari type data ini berkisar antara 1E-38 sampai dengan 1E+38, dengan mantisa yang signifikan sampai dengan 11 digit, dan akan menempati memory sebesar 6 byte.

- Char (karakter)
Nilai dari type ini berupa sebuah karakter yang ditulis diantara tanda petik tunggal.

- String
Nilai dari type ini berupa kumpulan karakter yang ditulis diantara tanda petik tunggal

- Boolean
Type data boolean mempunyai dua buah nilai, yaitu True dan False

  1. Type data didefinisikan oleh pemakai (user-defined data type);
- enumerated atau scalar type
- subrange type

Type data Ordinal

Type data ordinal(ordinal type) adalah tipe data yang merupakan subset dari tipe data sederhana (type data standar dan tipe data yang didefinisikan sendiri oleh pemakai).

Jadi yang termasuk type data ordinal adalah ;
- Type data standar (integer, shortint, longint, byte, word, boolean dan char). Type data numerik real tidak termasuk type data standar.
- Type data yang didefinisikan sendiri oleh pemakai

Type data ordinal mempunyai 4 karakteristik, yaitu :

1) Nilai dari type data ordinal mempnyai nilai yang berurutan. Masing-masing nilai, selain nilai yang pertama mempunyai pendahulu (predecessor) dan masing-masing nilai, selain nilai yang terakhir mempunyai nilai urutan berikutnya(successor).

Contoh :
Pada nilai numerik Byte, 0 tidak mempunyai predecessor karena merupakan nilai yang pertama. Tetapi mempunyai successor, yaitu nilai 1,2,3 dan seterusnya samapi dengan nilai 255.
Pada karakter ‘b’ mempunyai predecessor ‘a’, dan mempunyai successor ‘c’,’d’ dan seterusnya.

2) Fungsi standar Ord dapat digunakan untuk menghasilkan nilai urutannya.
Misalnya : Ord(‘a’) akan menghasilkan nilai 97, yaitu nilai urutan yang sesuai dengan kode ASCII.

3) Fungsi standar Pred, digunakan untuk mengahsilkan predeccessor dari nilai datanya.

Contoh : Pred(‘b’) akan menghasilkan nilai ‘a’.

4) Fungsi standar Succ, digunakan untuk menghasilkan successor dari nilai datanya.

Contoh : Pred(‘b’) akan menghasilkan nilai ‘c’.

2. Type data terstruktur (structured-type data) :
a. Array
b. Record
c. File
d. Set
3. Type data penunjuk (pointer type data)
Suatu pointer adalah suatu variabel yang berisi alamat(address) di memori(RAM) dimana suatu data disimpan, bukan berisi data itu sendiri. Dengan kata lain, pointer akan menunjukan letak dari data di memopri.

Prosedur Standar Operasi String

1. Delete
BU : Delete( var s: string ; index : integer ; count: integer );

Digunakan untuk menghapus(delete) sejumlah karakter (yang ditunjukan oleh count:integer), mulai dari posisi tertentu (yang ditunjukan oleh index : integer) dari suatu string (yang ditunjukan oleh var s: string). Jika posisi index lebih besar dari panjang string s, maka tidak ada karakter yang terhapus.

Contoh potongan program :



Kota :=’PURWOKERTO’;


Delete(kota,3,6);


Writeln(kota);


Output : PUTO


2. Insert
BU : Insert( source: string ; var s:string ;index : integer );

Digunakan untuk menyisipkan (insert) suatu string (yang ditunjukan oleh nilai string source), ke nilai string yang lainnya (yang ditunjukan oleh var s: string), mulai posisi tertentu (yang ditunjukan oleh index : integer).

Contoh:



Kota :=’PURWOKERTO’;


Insert(‘SATRIA’,kota,4);


Writeln(kota);



Output : PURSATRIAWOKERTO

3. Str
BU : Str( x [: wdth[: decimals]] ; var s:string );

Digunakan untuk merubah nilai numerik (yang ditunjukan oleh nilai x ), menjadi nilai string (yang ditunjukan oleh variabel s). Nilai x dapat berupa nilai integer maupun nilai real.

Contoh:



NILAI := 1234;


HURUF := str(NILAI);


Writeln(HURUF);


Output : 1234 (type data HURUF adalah string)

4. Val
BU : Val( s:string ; v ; var code );

Digunakan untuk merubah nilai string (yang ditunjukan oleh variabel s), , menjadi nilai numerik (yang ditunjukan oleh variabel v). Nilai s berupa nilai string yang berisi angka, bila terjadi kesalahan, akan ditunjukan pada variabel code yang bernilai integer. Apabila benar, maka code bernilai 0.

Contoh:



HURUF :=’123’;


val(HURUF,ANGKA,N);


Writeln(ANGKA, ‘ ‘, N);


Output : 123 0
(nilai N=0, karena konversinya benar)

Fungsi Standar Operasi String

1. COPY
BU : Copy( var s: string ; index : integer ; count: integer ):string;

Digunakan untuk menyalin(copy) sejumlah karakter (yang ditunjukan oleh count:integer), mulai dari posisi tertentu (yang ditunjukan oleh index : integer) dari suatu string (yang ditunjukan oleh var s: string).

Contoh potongan program :



Kota :=’PURWOKERTO’;


Huruf := copy(kota,3,2);


Writeln(Huruf);


Output : RW

2. CONCAT
BU : ConCat( s1 [, s2 , … , sN : string ):string;

Digunakan untuk merangkai/menggabungkan beberapa nilai string yang ditunjukan oleh nilai string s1, s2, … , sN. Fungsi ini sama dengan operasi string ‘+’.

Contoh potongan program :



Kota :=’PURWOKERTO’;


Huruf :=’SATRIA’;


GB:=Concat(kota,huruf);


Writeln(GB);


Output : PURWOKERTO SATRIA

3. POS
BU : POS( substring : string ; s : string) : byte;

Digunakan untuk mencari posisi letak dari suatu nilai string (ditunjukan oleh substr) yang ada didalam nilai string yang lain (ditunjukan oleh s). Akan bernilai 0, jika nilai string yang dicari tidak ada.

Contoh potongan program :



Kota :=’PURWOKERTO’;


X:= pos(‘R’,kota);


Y:= pos(‘PUR’,Kota);


Writeln(X);


Writeln(Y);


Output : 3

4. LENGTH
BU : LENGTH( s : string) : integer;

Digunakan untuk menghitung panjang/jumlah karakter yang terdapat pada nilai string yang ditunjukan oleh s.

Contoh potongan program :



Kota :=’PURWOKERTO’;


X:= length(kota);


Writeln(X);


Output : 10

C. Bitwise Operator

Bitwise Operator digunakan untuk operasi bit per bit pada nilai integer.

1. Operator And
digunakan untuk membandingkan 2 buah elemen, hasilnya akan benar jika kedua-duanya bernilai benar. Logika benar dengan simbol 1 dan salah dengan simbol 0.

Contoh :

Write( 12 and 23);

Outputnya : 4

Ket : 12 angka binernya 1100 , 23 = 10111

Operasi tersebut adalah 01100

10111 and

00100 atau sama dengan 4


2. Operator Or

Digunakan untuk membandingkan 2 buah elemen, hasilnya akan benar jika salah satu atau keduanya bernilai benar.

Contoh :

Write( 12 or 23);

Outputnya : 31

Ket : 12 angka binernya 1100 , 23 = 10111

Operasi tersebut adalah 01100

10111 or

11111 atau sama dengan 31

3. Operator Xor

digunakan untuk membandingkan 2 buah elemen, hasilnya akan benar salah satunya saja bernilai benar.

Contoh :

Write( 12 and 23);

Outputnya : 27

Ket : 12 angka binernya 1100 , 23 = 10111

Operasi tersebut adalah 01100

10111 xor

11011 atau sama dengan 27

4. Operator Not (bitwise negation)

Digunakan untuk pembalikan bitwise, yaitu nilai bit 1 menjadi bit 0, dan sebailinya.

Contoh :

Write( not 5);

Outputnya : -6

Ket :
· 5 angka binernya 00000101
· Nilai tersebut dibalik, sehingga menjadi 11111010
· sign bit menunjukan nilai negatif, untuk mengartikannya, nilai tersebut dikurangi dengan bit , sehingga sebagai barikut :

11111010

1 -

11111001

· Kemudian semua nilai bit dibalik, menjadi : 00000110



23 = 10111 dibalik menjadi


11111101000, kurangi 1 menjadi


11111100111 dibalik menjadi


00000011000 (-24)


5. Operator Shl

Digunakan untuk menggeser (shift) sejumlah bit kekiri (left) dengan bit 0

Contoh :

Write(5 shl 6);

Outputnya : 320

Ket :

5 angka binernya 000000000000000101

Digeser 6 bit kekiri, sehingga menjadi 000000000101000000 atau sama dengan 320

6. Operator Shr
Digunakan untuk menggeser (shift) sejumlah bit kekanan (Right) dengan bit 0

Contoh :

Write(10 shr 2);

Outputnya : 2

Ket :

10 angka binernya 1010

Digeser 2 bit kekanan, sehingga menjadi 10 atau sama dengan 2

1.

IF <kondisi> THEN

___________statement1;

___________statement2;

___________statement3;

___________statement4;

___________statement5;

___________statement6;

___________statement7;

___________statement8;

___________statement9;

___________statement10;


Jika kondisi/syarat bernilai benar maka akan mengerjakan statement1, selanjutnya stat_2 dst


Jika kondisi/syarat bernilai salah maka akan mengerjakan statement2, selanjutnya stat_3 dst.


B: 1,2,3 dst


2.IF <kondisi> THEN

___________statement1

else

___________statement2;

___________statement3;

___________statement4;

___________statement5;

___________statement6;

___________statement7;

___________statement8;

___________statement9;

___________statement10;


Jika kondisi/syarat bernilai benar maka akan mengerjakan statement1, selanjutnya stat_3 dst


Jika kondisi/syarat bernilai salah maka akan mengerjakan statement2, selanjutnya stat_3 dst.

3.IF <kondisi> THEN

begin

___________statement1

___________statement2;

___________statement3;

___________statement4;

End;

___________statement5;

___________statement6;

___________statement7;

___________statement8;

___________statement9;

___________statement10;


Jika kondisi/syarat bernilai benar maka akan mengerjakan semua statement yang berada diantara blok begin … end (stat_ 1 ..4); selanjutnya stat_5 dst


Jika kondisi/syarat bernilai salah maka akan mengerjakan statement5, selanjutnya stat_6 dst.

4. IF <kondisi> THEN

begin

___________statement1

___________statement2;

___________statement3;

___________statement4;

End;

___________statement5;

___________statement6;

___________statement7;

___________statement8;

___________statement9;

___________statement10;


Jika kondisi/syarat bernilai benar maka akan mengerjakan semua statement yang berada diantara blok begin … end (stat_ 1 ..4); selanjutnya stat_5 dst


Jika kondisi/syarat bernilai salah maka akan mengerjakan statement5, selanjutnya stat_6 dst.

5. IF <kondisi> THEN

begin

___________statement1

___________statement2;

___________statement3;

___________statement4;

End

else

___________statement5;

___________statement6;

___________statement7;

___________statement8;

___________statement9;

___________statement10;


Jika kondisi/syarat bernilai benar maka akan mengerjakan semua statement yang berada diantara blok begin … end (stat_ 1 ..4); selanjutnya stat_6 dst


Jika kondisi/syarat bernilai salah maka akan mengerjakan statement5, selanjutnya stat_6 dst.

6. IF <kondisi> THEN

begin

___________statement1

___________statement2;

___________statement3;

___________statement4;

End

Else

begin

___________statement5;

___________statement6;

___________statement7;

___________statement8;

End;

___________statement9;

___________statement10;

Jika kondisi/syarat bernilai benar maka akan mengerjakan semua statement yang berada diantara blok begin … end (stat_ 1 ..4); selanjutnya stat_9 dst


Jika kondisi/syarat bernilai salah maka akan mengerjakan statement5, selanjutnya stat_6 dst.

Contoh soal dengan menggunakan LOOPING FOR :

1. USES WINCRT;O

VAR

N, X, Y, Z : INTEGER;

BEGIN

X:=5;

Y:=2;

FOR N:=1 TO 5 DO

X:= X + N;

WRITELN(N);

Y:= Y + N;

Z:= X + Y +Z;

WRITELN(X:5, Y:5, Z:5 );

END.

2. USES WINCRT;

BEGIN

X:=5;

Y:=2;

FOR N:=1 TO 5 DO

BEGIN

X:= X + N;

WRITELN(N);

END;

Y:= Y + N;

Z:= X + Y +Z;

WRITELN(X:5, Y:5, Z:5 );

END.

3. USES WINCRT;

BEGIN

X:=5;

Y:=2;

FOR N:=1 TO 5 DO

BEGIN

X:= X + N;

WRITELN(N);

Y:= Y + N;

END;

Z:= X + Y +Z;

WRITELN(X:5, Y:5, Z:5 );

END.

4. USES WINCRT;

VAR

N, X, Y, Z : INTEGER;

BEGIN

X:=5;

Y:=2;

WHILE N<5 DO

BEGIN

X:= X + N;

N:=N+1;

WRITELN(N);

Y:= Y + N;

END;

Z:= X + Y +Z;

WRITELN(X:5, Y:5, Z:5 );

END.

WRITELN(X:5, Y:5, Z:5 );

END.

5. USES WINCRT;

VAR

N, X, Y, Z : INTEGER;

BEGIN

X:=5;

Y:=2;

WHILE N<10 DO

BEGIN

X:= X + N;

IF N<8 THEN

INC(N,3);

N:=N+1;

WRITELN(N);

Y:= Y + N;

END;

Z:= X + Y +Z;

WRITELN(X:5, Y:5, Z:5 );

END.

6. USES WINCRT;

VAR

N, X, Y, Z : INTEGER;

BEGIN

X:=5;

Y:=2;

WHILE N<10 DO

BEGIN

X:= X + N;

IF N<8 THEN

INC(N,3)

ELSE

N:=N+1;

WRITELN(N);

Y:= Y + N;

END;

Z:= X + Y +Z;

WRITELN(X:5, Y:5, Z:5 );

END.

7. USES WINCRT;

VAR

N, X, Y, Z : INTEGER;

BEGIN

X:=5;

Y:=2;

WHILE N<10 DO

BEGIN

X:= X + N;

IF N<8 THEN

BEGIN

INC(N,3);

WRITELN(N);

END;

INC(N);

Y:= Y + N;

END;

Z:= X + Y +Z;

WRITELN(X:5, Y:5, Z:5 );

END.

8. USES WINCRT;

VAR

N, X, Y, Z : INTEGER;

BEGIN

X:=5;

Y:=2;

WHILE N<10 DO

BEGIN

X:= X + N;

IF N<8 THEN

BEGIN

INC(N,3);


WRITELN(N);

END

ELSE

N:=N+1;

Y:= Y + N;

END;

Z:= X + Y +Z;

WRITELN(X:5, Y:5, Z:5 );

END.

9. USES WINCRT;

10. USES WINCRT;

11. USES WINCRT;

VAR

A, N, X, Y, Z : INTEGER;

BEGIN

X:=5;

Y:=2;

FOR N:=1 TO 2 DO

BEGIN

FOR A:=1 TO 3 DO

BEGIN

X:= X + N;

WRITELN(N:5, A:5);

END;

END;

Y:= Y + N;

Z:= X + Y +Z;

WRITELN(X:5, Y:5, Z:5 );

END.

12. USES WINCRT;

VAR

A, N, X, Y, Z : INTEGER;

BEGIN

X:=5;

Y:=2;

FOR N:=1 TO 2 DO

BEGIN

FOR A:=1 TO 3 DO

X:= X + N;

WRITELN(N:5, A:5);

END;

Y:= Y + N;

Z:= X + Y +Z;

WRITELN(X:5, Y:5, Z:5 );

END.

Bentuk Soal dengan menggunakan IF :

1. USES WINCRT;

VAR

X,Y,Z : INTEGER;

BEGIN

X:=5;

Y:=2;

IF X>Y THEN

X:= X + Y;

Y:= Y + X;

Z:= Z + X + Y;

WRITELN( X:5, Y:5, Z:5);

END.

2. USES WINCRT;

VAR

X,Y,Z : INTEGER;

BEGIN

X:=5;

Y:=2;

IF X<Y THEN

X:= X + Y;

Y:= Y + X;

Z:= Z + X + Y;

WRITELN( X:5, Y:5, Z:5);

END.

3. USES WINCRT;

VAR

X,Y,Z : INTEGER;

BEGIN

X:=5;

Y:=2;

IF X>Y THEN

BEGIN

X:= X + Y;

Y:= Y + X;

END;

Z:= Z + X + Y;

WRITELN( X:5, Y:5, Z:5);

END.

4. USES WINCRT;

VAR

X,Y,Z : INTEGER;

BEGIN

X:=5;

Y:=2;

IF X<Y THEN

BEGIN

X:= X + Y;

Y:= Y + X;

END;

Z:= Z + X + Y;

WRITELN( X:5, Y:5, Z:5);

END.

5. USES WINCRT;

VAR

X,Y,Z : INTEGER;

BEGIN

X:=5;

Y:=2;

IF X>Y THEN

X:= X + Y

ELSE

Y:= Y + X;

Z:= Z + X + Y;

WRITELN( X:5, Y:5, Z:5);

END.

6. USES WINCRT;

VAR

X,Y,Z : INTEGER;

BEGIN

X:=5;

Y:=2;

IF X<Y THEN

X:= X + Y

ELSE

Y:= Y + X;

Z:= Z + X + Y;

WRITELN( X:5, Y:5, Z:5);

END.

7. USES WINCRT;

VAR

X,Y,Z : INTEGER;

BEGIN

X:=5;

Y:=2;

IF X>Y THEN

BEGIN

X:= X + Y;

Y:= Y + X;

END

ELSE

Z:= Z + X + Y;

WRITELN( X:5, Y:5, Z:5);

END.

8. USES WINCRT;

VAR

X,Y,Z : INTEGER;

BEGIN

X:=5;

Y:=2;

IF X<Y THEN

BEGIN

X:= X + Y;

Y:= Y + X;

END

ELSE

Z:= Z + X + Y;

WRITELN( X:5, Y:5, Z:5);

END.

PROSEDUR

Prosedur adalah program terpisah dalam blok tersendiri yang berfungsi sebagai subprogram. Prosedur diawali dengan Keyword (kata cadangan) Procedure, dan dipanggil oleh blok program yang lain dengan menyebutkan judul prosedurnya.

Alasan penggunaan prosedur dalam program tersetruktur, adalah :

  1. Penerapan konsep program mudular, yaitu memecah program yang rumit menjadi program-program bagian yang lebih sederhana dalam bentuk prosedur- prosedur.

  2. Untuk hal-hal yang sering dilakukan berulang-ulang.
var


a, b : integer;



Rectangular Callout: nama prosedurPROCEDURE COBA ;


var


c, d : integer;


Oval Callout: deklarasi variabel  lokalBEGIN



















END;


Rectangular Callout: pemanggilan prosedurBEGIN

COBA;

END.

Pendeklarasian variabel didalam prosedur akan bersifat lokal, artinya variabel tersebut hanya dapat digunakan pada prosedur yang bersangkutan. Dalam contoh diatas variabel c dan d adalah bersifat lokal.

Pendeklarasian variabel diatas prosedur akan bersifat global, artinya variabel tersebut dapat digunakan prosedur-prosedur yang lain yang berada dibawahnya. Dalam contoh diatas variabel a dan b.

contoh:



var








outputnya :


3 5


3 10


1 10




a,b :integer;


procedure coba1;


var


x,a:integer;


begin


a:=10;


b:=10;


end;


procedure coba2;


var


y,b:integer;


begin


a:=1;


b:=1;


end;


begin


a:=2;


b:=5;


writeln(a:10, b:10);


coba1;


writeln(a:10,b:10);


coba2;


writeln(a:10,b:10);


end.


PROSEDURE dengan parameter

Parameter yang dikirim dari modul utama(pemanggil) disebut parameter nyata (actual parameter), sedangkan parameter yang berada pada judul prosedur disebut parameter formal (formal parameter).

Proses pengiriman data lewat parameter nyata ke parameter formal disebut parameter passing.Jumlah variabel dan type data antara parameter nyata dengan parameter formal, harus sama.Dalam pascal, pengiriman nilai dapat dikirimkan secara nilai (value) maupun secara acuan (by reference).

- Pengiriman secara nilai (value), maka parameter didalam prosedur akan berisi/bernilai data dari yang dikirimkan, kemudian bersifat lokal diprosedur. Perubahan nilai parameter didalam prosedur tidak mempengaruhi nilai pada parameter nyata (pengirimnya).

- Pengiriman secara acuan (by reference), maka parameter didalam prosedur akan berisi/bernilai data dari yang dikirimkan, kemudian bersifat global. Perubahan nilai parameter didalam prosedur akan mempengaruhi nilai pada parameter nyata (pengirimnya).

uses wincrt;
var
a,b :integer;
Oval Callout: Pengiriman by reference/acuan

Rectangular Callout: Parameter formalprocedure hitung(X : integer; var Y : integer);

begin

inc(x,10);

inc(y,x);

end;

begin

a:=3;

Rectangular Callout: Parameter nyata b:=5;

writeln(a,' ',b);

hitung(A , B);

writeln(a,’ ‘,b);

end.


FUNGSI

Fungsi (function) hampir sama dengan prosedur, hanya fungsi harus dideklarasikan dengan tipe datanya. Tipe tersebut ditulis pada akhir deklarasi fungsi sebagai berikut :



FUNCTION identifier ( daftar parameter) : type;


Contoh pendelkarasian :

function hitung( x , y : integer) : integer;

Perbedaan antara fungsi dan prosedure





Fungsi


Prosedur


1.


Nilai yang dikirim balik terdapat pada nama fungsinya


Nilai yang dikirim balik terdapat pada parameter yang dikirim secara acuan


2.


Karena nilai baliknya adalah nama fungsi itu sendiri, maka fungsi tersebut dapat digunakan langsung untuk mencetak nilainya.


Nama prosedur tidak dapat digunakan langsung untuk mencetak nilainya, tetapi terdapat pada parameternya yang mengandung nilai balik (by reference)



contoh program



uses wincrt;








outputnya :





31


44




var


a,b :integer;





function hitung (x:integer;var y:integer):integer;


begin


inc(x,10);


inc(y,x);


hitung:=x+y;


end;





begin


a:=3;


b:=5;


writeln(hitung(a,b));


a:=hitung(a,b);


writeln(a);


end.


PROGRAM WELCOME :

uses WinCrt;

VAR

KATA,HRF:STRING;

X,Y,Z, JH : INTEGER;

N, M :LONGINT;

BEGIN

KATA:=' STMIK PWT';

JH := LENGTH(KATA);

FOR X:=1 TO 80-JH DO

BEGIN

GOTOXY(X,1); WRITELN(KATA);

FOR N:=1 TO 1000 DO

BEGIN

FOR M:=1 TO 1000 DO

BEGIN

END;

END;

END;

FOR Z:=1 TO JH DO

BEGIN

FOR X:= 1 TO 23 DO

BEGIN

HRF:=COPY(KATA,Z,1);

GOTOXY(79-(JH-Z),X); WRITELN(' ');

GOTOXY(79-(JH-Z),X+1); WRITELN(HRF);

FOR N:=1 TO 1000 DO

BEGIN

FOR M:=1 TO 10000 DO

BEGIN

END;

END;

END;

END;

end.

ULANG :

uses WinCrt;

VAR

A,T : INTEGER;

L:REAL;

LAGI:CHAR;

BEGIN

LAGI:='Y';

WHILE (LAGI='Y') OR (LAGI= 'y') DO

BEGIN

CLRSCR;

WRITELN;

WRITELN('HITUNG LUAS SEGI TIGA');

WRITE('ALAS : ') ; READLN(A);

WRITE('TINGGI : '); READLN(T);

L:=1/2*A*T;

WRITE('LUAS : ',L:2:2) ;

WRITELN;

WRITE('AKAN MENGHITUNG LAGI [Y/T] : '); READLN(LAGI);

END;

WRITELN;

WRITELN(' SELESAI ............................................. ');

END.

CONTOH PROGRAM :

1. uses wincrt;

begin

write('STMIK ');

write('WIDYA UTAMA ');

write('PURWOKERTO');

end.



STMIK WIDYA UTAMA PURWOKERTO


2. uses wincrt;

begin

writeln('STMIK');

write('WIDYA UTAMA');

write('PURWOKERTO');

end.



STMIK


WIDYA UTAMA PURWOKERTO


3. uses wincrt;

var

x,y,z : integer;

n : real;

begin

x:=3;

y:=11;

z:= y + x * 2;

writeln(Z);

n:= y/z;

writeln(n:2:2);

x:=y div z;

writeln(x);

end.



17


0.65


0


4. uses wincrt;

var

x,y,z : integer;

begin

x:=3;

y:=11;

z:= (y + x) * 2;

writeln(Z);

x:= y mod z;

writeln(x);

end.



28


11


5. uses wincrt;

var

x,y,z : integer;

n : real;

begin

readln(x);

readln(y);

z:= (y + x) * 2;

writeln(Z);

end.

6. uses wincrt;

var

x,y,z : integer;

n : real;

begin

write('Masukan Nilai x = ');

readln(x);

write('Masukan Nilai z = ');

readln(y);

z:= (y + x) * 2;

writeln(Z);

end.

7. uses wincrt;

var

x,y,z : integer;

begin

x:=5;

y:=10;

if x<y then

write('nilai x lebih kecil dari y')

else

write('nilai x lebih besar dari y');

end.



nilai x lebih kecil dari y


Tugas :

Buat Program Formula matematika :
- Luas Persegi panjang
- Lingkaran

PENGURUTAN DATA :

USES WINCRT;

VAR

NAMA : ARRAY[1..10] OF STRING;

NILAI : ARRAY[1..10] OF INTEGER;

X,Y,Z,VNILAI,N : INTEGER;

VNAMA,CARI : STRING;

ATAS,BAWAH,TENGAH,POSISI:INTEGER;

KETEMU:BOOLEAN;

LAGI:CHAR;

BEGIN

N:=9;

NAMA[1]:='ITA';

NAMA[2]:='WATI';

NAMA[3]:='BUDI';

NAMA[4]:='JOKO';

NAMA[5]:='TARI';

NAMA[6]:='SUSI';

NAMA[7]:='ANI';

NAMA[8]:='RUDI';

NAMA[9]:='PARTO';

NILAI[1]:=60;

NILAI[2]:=50;

NILAI[3]:=90;

NILAI[4]:=70;

NILAI[5]:=50;

NILAI[6]:=80;

NILAI[7]:=80;

NILAI[8]:=70;

NILAI[9]:=60;

{ PROSES PENGURUTAN DATA BUBLE SORT }

FOR X:=1 TO N-1 DO

BEGIN

FOR Y:=X+1 TO N DO

BEGIN

IF NAMA[X]>NAMA[Y] THEN

BEGIN

VNAMA:=NAMA[X];

NAMA[X]:=NAMA[Y];

NAMA[Y]:=VNAMA;

VNILAI:=NILAI[X];

NILAI[X]:=NILAI[Y];

NILAI[Y]:=VNILAI;

END

END

END;

WRITELN('DATA YANG SUDAH URUT');

WRITELN('====================');

WRITELN('NAMA':10,'NILAI':7);

WRITELN;

FOR X:=1 TO N DO

BEGIN

WRITELN(NAMA[X]:10,NILAI[X]:5);

END;

end.

0 komentar:

Posting Komentar