Rabu, 03 November 2010 | By: Unknown

Pascal

PASCAL – Tipe Data Terkomposisi - 6 -
Array
Static Array
{ File: stat_array.pas
@2006 Ristu Saptono
Pembuatan array statik dengan pengaturan jumlah
elemen array dilakukan pada saat deklarasi
}
program stat_array;
uses crt;
//membuat type baru
type
TA = array [1..3] of integer;
var
A : TA;
i : integer;
begin
clrscr;
//memberi nilai sel array
A[1]:=3;
A[2]:=2;
//menuliskan isi array
for i:=1 to 3 do
writeln(A[i]);
end.
Static Array, Masukan dari User
{ File: stat_array2.pas
@2006 Ristu Saptono
Pembuatan array statik dengan pengaturan jumlah
elemen array dilakukan pada saat deklarasi
Pengisian dilakukan oleh user
}
program stat_array;
uses crt;
//membuat type baru
type
TA = array [1..3] of integer;
var
A : TA;
i : integer;
begin
clrscr;
//meminta masukkan untuk mengisi nilai sel array
for i:=1 to 3 do
begin
write('Masukkan elemen array ke-',i,':');
readln(A[i]);
end;
//menuliskan isi array
for i:=1 to 3 do
writeln(A[i]);
end.
PASCAL – Tipe Data Terkomposisi - 7 -
Dynamic Array, Cara I
{ File : dynamic_array.pas
@2006 Ristu Saptono
Pembuatan array dengan pengaturan secara
dinamis, pengesetan dilakukan pada saat
dibutuhkan.
Cara I
}
program dynamic_array;
uses crt;
var
DA : Array of array of integer;
i,j : integer;
begin
clrscr;
//Pengaturan jumlah array utama
Setlength(DA,3); //Bandingkan cara pengaturan array dengan
bentuk kedua
//Pengaturan jumlah array elemen array utama
//Sekaligus pemberian isi sell
for i:=0 to 2 do
begin
Setlength(DA[i],3);
for j:=0 to 2 do
DA[i,j]:=I*J;
end;
//Menampilkan isi array
for i:=0 to 2 do
begin
for j:=0 to 2 do
write(DA[i,j],' ');
writeln();
end;
end.
Dynamic Array, Cara II
{ File : dynamic_array2.pas
@2006 Ristu Saptono
Pembuatan array dengan pengaturan secara
dinamis, pengesetan dilakukan pada saat
dibutuhkan.
Cara II
}
program dynamic_array;
uses crt;
var
DA : Array of array of integer;
i,j : integer;
begin
clrscr;
PASCAL – Tipe Data Terkomposisi - 8 -
//Pengaturan dimensi
Setlength(DA,3,3); //Bandingkan dengan pengaturan array yang
pertama
// Memberi nilai pada sel matrik
for i:=0 to 2 do
for j:=0 to 2 do
DA[i,j]:=I*J;
//Menampilkan isi array
for i:=0 to 2 do
begin
for j:=0 to 2 do
write(DA[i,j],' ');
writeln();
end;
end.
{ file : dotproduct.pas
@2006, Ristu Saptono
Perkalian antara dua vektor dengan dimensi
berupa masukan dari user
Asumsi:
Keduanya merupakan vektor baris saja
atau vektor kolom saja
}
Dot Product
program dotproduct;
uses crt;
type
TVektor = array of real;
var
i,n : integer; //n: dimensi vektor
A,B : TVektor;
ab : extended; //ab: hasil perkalian vektor A dan B
begin
clrscr;
write('Masukkan dimensi vektor :');
readln(n);
//Pengaturan dimensi
SetLength(A,n);
SetLength(B,n);
//Meminta masukkan elemen
for i:=1 to n do
begin
write('A[',i,'] = ');
readln(A[i-1]);
end;
writeln();
for i:=1 to n do
begin
write('B[',i,'] = ');
readln(B[i-1]);
PASCAL – Tipe Data Terkomposisi - 9 -
end;
//Perkalian
ab:=0;
for i:=1 to n do
ab:=ab+(A[i-1]*B[i-1]);
writeln();
//Menuliskan hasil perkalian
writeln('Hasil Perkalian antara:');
write('Vektor A : ');
for i:=1 to n do
write(A[i-1]:5:2,' ');
writeln();
write('Vektor B : ');
for i:=1 to n do
write(B[i-1]:5:2,' ');
writeln();
writeln('Adalah: ',ab:5:2);
end.
Record
Point
{ file: panjanggaris.pas
@2006, Ristu Saptono
Menghitung panjang garis berdasarkan
dua titik yang diketahui
Asumsi:
Titik terletak pada dimensi 2
}
program panjanggaris;
uses crt;
type
TPoint = record
X, Y : real;
end;
var
A,B : TPoint;
hasil : extended;
begin
clrscr;
//Titik Pertama
writeln('Masukkan titik pertama');
write('X1: ');
readln(A.X);
write('Y1: ');
readln(A.Y);
//Titik Kedua
writeln('Masukkan titik kedua');
write('X2: ');
readln(B.X);
write('Y2: ');
readln(B.Y);
PASCAL – Tipe Data Terkomposisi - 10 -
//Panjang Garis
hasil:=sqrt(sqr(B.X-A.X)+sqr(B.Y-A.Y));
write('Panjang garis: ',hasil:9:11);
end.
Better Point
{ file: panjanggaris2.pas
@2006, Ristu Saptono
Menghitung panjang garis berdasarkan
dua titik yang diketahui
Asumsi:
Semua dimensi titik
}
program panjanggaris2;
uses crt;
type
TPoint = record
X : real;
case byte of
2:( Y :real;
case byte of
3: (Z :real;)
);
end;
var
A,B : TPoint;
hasil : extended;
begin
clrscr;
//Titik Pertama
writeln('Masukkan titik pertama');
write('X1: ');
readln(A.X);
write('Y1: ');
readln(A.Y);
//Titik Kedua
writeln('Masukkan titik kedua');
write('X2: ');
readln(B.X);
write('Y2: ');
readln(B.Y);
//Panjang Garis
hasil:=sqrt(sqr(B.X-A.X)+sqr(B.Y-A.Y));
write('Panjang garis: ',hasil:9:11);
end.
Praktikum Mandiri:
Ubahlah program panjanggaris2, untuk R1 (berdimensi 1) dan R3 (berdimensi 3)!

0 komentar: