Anda di halaman 1dari 26

Program Pascal Dalam Bentuk Rumus Fisika

program perhitungan_fisika;
uses wincrt;
type emay = RECORD
jarak : real;
kecepatan: real;
selang : real;
percepatan:real;
kcptn_akhir:real;
kcptn_awal:real;
g :real;
h:real;
end;
var
data : array [1..10] of emay;
m,may,my,mutzz:integer;
ulang:char;
pilih:byte;
procedure main_menu (var pil:byte);
begin
clrscr;
writeln('================================');
writeln('|| MENU UTAMA ||');
writeln('|| 1. Menghitung GLB ||');
writeln('|| 2. Menghitung GLBB ||');
writeln('|| 3. Menghitung GJB ||');
writeln('|| 4. Keluar Program ||');
writeln('================================');
writeln;
write('Masukan Pilihan [1-4] :');readln(pil)
end;
procedure glb ;
begin
writeln (' Menghitung GLB (Gerak Lurus Beraturan (GLB) :');
with data[m] do
begin
clrscr;
writeln('================================');
writeln('|| MENU GLB ||');
writeln('|| 1. Menghitung Jarak ||');
writeln('|| 2. Menghitung Kecepatan ||');
writeln('|| 3. Menghitung Selang Waktu ||');
writeln('================================');
writeln;
write('Masukan pilihan [1-3] :');readln(may);
case may of
1 : begin
repeat
clrscr;
writeln (' Menghitung Jarak :');
writeln (' Contoh Soal: ');
writeln (' Sebuah Mobil Melaju Dengan Kecepatan 40 m/s dengan waktu 2detik');
writeln ('Hitunglah berapa jarak yang ditempuh Mobil Tersebut');
writeln ('Dik : v=40 m/s t=2s Dit: s???? ');
writeln;
write('Masukan kecepatan(v)=meter/sekon :');readln(kecepatan);
write('Masukan selang waktu(t) =sekon :');readln(selang);
jarak:=kecepatan*selang;
writeln('Jadi Jarak(s)= meter :',jarak:0:0);
write('Apakah Mau Tambah Lagi Perhitungan???? Y/T :');readln(ulang);
until upcase (ulang) <> 'Y';
end;
2 : begin
repeat
clrscr;
writeln (' Menghitung Kecepatan :');
writeln ('Contoh Soal:');
writeln ('Sebuah sepedah melaju kencang jarak tempuh yang dilalui sepedah tersebut
50meter');
writeln ('Waktu yang dibutuhkan adalah 10sekon berapa kecepatan sepedah tersebut????');
writeln ('Dik: s=50m t=10s Dit: v??? ');
writeln;
write('Masukan Jarak(s)= meter :');readln(jarak);
write('Masukan selang waktu(t) =sekon :');readln(selang);
kecepatan:=jarak/selang;
writeln('Jadi Kecepatan(v)= meter/sekon :',kecepatan:0:0);
write('Apakah Mau Tambah Lagi Perhitungan???? Y/T :');readln(ulang);
until upcase (ulang) <> 'Y';
end;
3 : begin
repeat
clrscr;
writeln (' Menghitung Selang Waktu :');
writeln ('Contoh Soal:');
writeln ('Sebuah sepedah motor melaju dengan kecepatan 40 m/s dan jarak yang ditempuh 80
m');
writeln ('Hitunglah berapa waktu yang dibutuhkan untuk menempuh jarak tersebut');
writeln ('Dik : v=40m/s s=80 m Dit: t?? ');
writeln;
write('Masukan Jarak(s)= meter :');readln(jarak);
write('Masukan Kecepatan(v) = meter/sekon :');readln(kecepatan);
selang:=jarak/kecepatan;
writeln('Jadi Selang Waktu(t)= sekon :',selang:0:0);
write('Apakah Mau Tambah Lagi Perhitungan???? Y/T :');readln(ulang);
until upcase (ulang) <> 'Y';
end;
end;
end;
end;
procedure glbb ;
begin
writeln (' Menghitung Gerak Lurus Berubah Beraturan (GLBB) :');
with data[m] do
begin
clrscr;
writeln('=======================================================');
writeln('|| Menu GLBB ||');
writeln('|| 1. Menghitung Kecepatan Akhir ||');
writeln('|| 2. Menghitung Jarak Yang Ditempuh Setelah t sekon ||');
writeln('|| 3. Menghitung Kecepatan sesaat/saat t sekon ||');
writeln('|| 4. Menghitung Percepatan ||');
writeln('=======================================================');
writeln;
write('Masukan pilihan [1-3] :');readln(my);
case my of
1 : begin
repeat
clrscr; writeln (' Menghitung Kecepatan Akhir ');
writeln;
write('Masukan kecepatan awal(v0)=meter/sekon :');readln(kcptn_awal);
write('Masukan Percepatan (a) =meter/sekon2 :');readln(percepatan);
write('Masukan selang waktu(t) =sekon :');readln(selang);
kcptn_akhir:=kcptn_awal+(percepatan*selang);
writeln('Jadi Kecepatan Akhir (Vt)= meter/sekon :',kcptn_akhir:0:0);
writeln;
write('Apakah Mau Tambah Lagi Perhitungan???? Y/T :');readln(ulang);
until upcase (ulang) <> 'Y';
end;
2 : begin
repeat
clrscr;
writeln (' Menghitung Jarak Yang Ditempuh Setelah t sekon :');
writeln;
write('Masukan kecepatan awal(v0)=meter/sekon :');readln(kcptn_awal);
write('Masukan Percepatan (a) =meter/sekon2 :');readln(percepatan);
write('Masukan selang waktu(t) =sekon :');readln(selang);
jarak:=(kcptn_awal*selang)+((0.5*percepatan)*(selang*selang));
writeln('Jadi Jarak Yang ditempuh setelah t sekon (St)= meter :',jarak:0:0);
writeln;
write('Apakah Mau Tambah Lagi Perhitungan???? Y/T :');readln(ulang);
until upcase (ulang) <> 'Y';
end;
3 : begin
repeat
clrscr;
writeln (' Menghitung Kecepatan sesaat/saat t sekon :');
writeln;
write('Masukan kecepatan awal(v0)=meter/sekon :');readln(kcptn_awal);
write('Masukan Percepatan (a) =meter/sekon2 :');readln(percepatan);
write('Masukan Jarak (s) =meter :');readln(jarak);
kcptn_akhir:=(kcptn_awal*kcptn_awal)+(2*(percepatan*jarak));
writeln('Jadi Kecepatan sesaat/saat t sekon (m/s)= meter/sekon :',kcptn_akhir:0:0);
writeln;
write('Apakah Mau Tambah Lagi Perhitungan???? Y/T :');readln(ulang);
until upcase (ulang) <> 'Y';
end;
4 : begin
repeat
clrscr;
writeln (' Menghitung Percepatan :');
writeln;
write('Masukan Kecepatan akhir (Vt) =meter/sekon :');readln(kcptn_akhir);
write('Masukan kecepatan awal(v0)=meter/sekon :');readln(kcptn_awal);
write('Masukan selang waktu (t) =sekon :');readln(selang);
percepatan:=(kcptn_akhir-kcptn_awal)/selang;
writeln('Jadi Percepatan (m/s2)= meter/sekon2 :',percepatan:0:0);
writeln;
write('Apakah Mau Tambah Lagi Perhitungan???? Y/T :');readln(ulang);
until upcase (ulang) <> 'Y';
end;
end;
end;
end;
procedure gjb ;
begin
writeln (' Menghitung Gerak Jatuh Bebas (GJB) :');
with data[m] do
begin
clrscr;
writeln('=======================================================');
writeln('|| Menu GJB ||');
writeln('|| 1. Menghitung Kecepatan sesaat/saat t sekon ||');
writeln('|| 2. Menghitung Jarak Yang Ditempuh ||');
writeln('|| 3. Menghitung Waktu Gerak ||');
writeln('|| 4. Menghitung Kecepatan Benda ||');
writeln('=======================================================');
writeln;
write('Masukan pilihan [1-4] :');readln(mutzz);
case mutzz of
1 : begin
repeat
clrscr;
writeln (' Menghitung Kecepatan Sesaat/saat t sekon ');
writeln;
write('Masukan grafitasi bumi(g)=meter/sekon2 :');readln(g);
write('Masukan selang waktu(t) =sekon :');readln(selang);
kcptn_akhir:=g*selang;
writeln('Jadi Kecepatan Akhir (Vt)= meter/sekon :',kcptn_akhir:0:0);
writeln;
write('Apakah Mau Tambah Lagi Perhitungan???? Y/T :');readln(ulang);
until upcase (ulang) <> 'Y';
end;
2 : begin
repeat
clrscr;
writeln (' Menghitung Jarak Yang Ditempuh ');
writeln;
write('Masukan grafitasi bumi(g)=meter/sekon2 :');readln(g);
write('Masukan selang waktu(t) =sekon :');readln(selang);
h:=(0.5*g)*(selang*selang);
writeln('Jadi Jarak Yang Ditempuh (h)= meter :',h:0:0);
writeln;
write('Apakah Mau Tambah Lagi Perhitungan???? Y/T :');readln(ulang);
until upcase (ulang) <> 'Y';
end;
3 : begin
repeat
clrscr;
writeln (' Menghitung Waktu Gerak ');
writeln;
write('Masukan grafitasi bumi(g)=meter/sekon2 :');readln(g);
write('Masukan Jarak Yang Ditempuh (h)=meter :');readln(h);
selang:=sqrt((2*h)/g);
writeln('Jadi Waktu Gerak (t)= sekon :',selang:0:0);
writeln;
write('Apakah Mau Tambah Lagi Perhitungan???? Y/T :');readln(ulang);
until upcase (ulang) <> 'Y';
end;
4 : begin
repeat
clrscr;
writeln (' Menghitung Kecepatan benda ');
writeln;
write('Masukan grafitasi bumi(g)=meter/sekon2 :');readln(g);
write('Masukan Jarak Yang Ditempuh (h)=meter :');readln(h);
kcptn_akhir:=(2*g)*h;
writeln('Jadi Kecepatan Benda (Vt2)= meter/sekon2 :',kcptn_akhir:0:0);
writeln;
write('Apakah Mau Tambah Lagi Perhitungan???? Y/T :');readln(ulang);
until upcase (ulang) <> 'Y';
end;
end;
end;
end;
procedure keluar;
begin
donewincrt;
end;
begin
repeat
main_menu(pilih);
case pilih of
1: glb;
2: glbb;
3: gjb;
4 : keluar;
end;
until pilih =4;
end.

chapter 1 : Kreasi Grafik dari Titik


1.1 Membuat Garis

1.2 Membuat Grafik Sinus

1.3 Membuat Grafik Cosinus

1.4 Membuat Lingkaran

1.1 Membuat Garis


Grafik dan Animasi -> Kreasi Grafik dati Titik -> Membuat Garis

Contoh program 1.1.1

Program garis_dari_titik;

Uses

Graph, crt;

Var

Xmax, ymax, gm, gd, i : integer;

Begin

Gd := CGA;

Gm := CGAC3;

InitGraph(gd,gm,’’);

Xmax := GetMaxX;

Ymax := GetMaxY;
For i := 0 to xmax do

Begin

PutPixel(i,0, 15);

PutPixel(i,ymax, 15);

End;

For i := 0 to ymax do

Begin

PutPixel(0,i, 15);

PutPixel(xmax,i, 15);

End;

Repeat until KeyPressed;

CloseGraph;

End.

Contoh progarm 1.1.2

Program garis_dari_titik;

Uses

Graph, crt;

Var

Xmax, ymax, gm, gd, i : integer;

Begin

Gd := CGA;

Gm := CGAC3;

InitGraph(gd,gm,’’);

Xmax := GetMaxX;

Ymax := GetMaxY;

i := 0;

Repeat
PutPixel(i,0, 15);

PutPixel(i,ymax, 15);

Inc(i);

Until i = xmax;

i := 0;

Repeat

PutPixel(0,i, 15);

PutPixel(xmax,i, 15);

Inc(i);

Until i = ymax;

Repeat until KeyPressed;

CloseGraph;

End.

Contoh progarm 6.3

Program garis_dari_titik;

Uses

Graph, crt;

Var

Xmax, ymax, gm, gd, i : integer;

Begin

Gd := CGA;

Gm := CGAC3;

InitGraph(gd,gm,’’);

Xmax := GetMaxX;

Ymax := GetMaxY;
i := 0;

Repeat

PutPixel(i,0, 15);

PutPixel(i,ymax, 15);

Inc(i);

Delay(10);

Until i = xmax;

i := 0;

Repeat

PutPixel(0,i, 15);

PutPixel(xmax,i, 15);

Inc(i);

Delay(10);

Until i = ymax;

Repeat until KeyPressed;

CloseGraph;

End.

Contoh progam 6.4

Program titik_acak;

Uses

Graph, crt;

Var

Gd, gm,

xmax, ymax, x, y, : integer;

Begin

ClrScr;
Gd := CGA;

Gm := CGAHi;

InitGraph(gd,gm,’’);

Xmax := GetMaxX;

Ymax := GetMaxY;

Rectangle(0,0, xmax,ymax);

Randomize;

Repeat

X := random(xmax);

Y := random(ymax);

PutPixel(x,y,15);

Until KeyPressed;

CloseGraph;

End.

1.2 Membuat Grafik Sinus


Grafik dan Animasi -> Kreasi Grafik dari Titik -> Membuat Grafik Sinus

Yang harus Anda perhatikan dalam pembuatan grafik dengan cara ini adalah perbedaan antara sistem
koordinat grafik yang biasa Anda gunakan dalam matematika dan sistem koordinat grafik dalam
Pascal.

Jika Anda tidak menghiraukannya maka yang tampil tidak menggambarkan apa yang seharusnya
terjadi. Selain dari perbedaan sistem koordinat, tentu saja Anda harus menguasai persemaan tersebut.

Dalam koordinat cartesius biasanya Anda dapat membagi kertas menjadi empat daerah, yaitu kuadran
I, II, II dan IV.

Jika diperhatikan, sistem koordinat dalam Pascal mirip kuadran IV ada koordinat cartesius, tetapi nilai
sumbu y-nya posiif. Oleh karena itu untuk memperoleh hasil tampilan yang sesuai dengan apa yang
seharusnya terjadi diperlukan suatu cara terendiri.

Di bawah ini akan dibuat program grafik sinus (sudut) terhadap sudutnya, dari 0 sampai xmax. Dengan
demikian sebagai sumbu y adalah sinus (sudut) dan sumbu x adalah sudutnya.

Karena hasil perhitungan sinus (sudut) merupakan bilangan nyata sedangkan sistem koordinat Pascal
adalah bilangan bulat maka hasil perhitungan sinus (sudut) harus dinyatakan ke dalam bilangan bulat.
Untuk menyatakannya dilakukan dengan mempergunakan fungsi Round.

Cara menuliskannya adalah :

X := round(r*cos());

Contoh program 1.2

Program sinus;

Uses

crt, graph;

Var

xmax, ymax, x, y, y1, y2, gm, gd : integer;

Begin

Gd := CGA;

Gm := CGAHi;

Initgraph(gd,gm,’’);

Xmax := GetMaxX;

Ymax := GetMaxY;

Rectangle(0,0, xmax,ymax);

{-----membuat sumbu-----}

Line(xmax div 10,0, xmax div 10,ymax);

Line(0,ymax div 2, xmax,ymax div 2);

Y1 := Round(ymax div 5*cos(0));

Y := ymax div 2-y1;

SetTextJustify(LeftText,BottomText);
OutTextXY(xmax div 20,y,’1’);

Y1 := Round(ymax div 5*cos(180));

Y := yamx div 2-2*y1;

SetTextJustify(leftText,BottomText);

OutTextXY(xmax div 20,y,’-1’);

{-----grafik sinus----}

For x := 0 to xmax do

Begin

Y1 := round(yamx div 5*sin(x*pi/180));

Y := ymax div 2-y1;

PutPixel(x+xmax div 10,y,GetMaxColor);

End;

Repeat until KeyPressed;

CloseGraph;

End.

1.3 Membuat Grafik Cosinus


Grafik dan Animasi -> Kreasi Grafik dari Titik -> Membuat Grafik Cosinus

Di bawah ini akan dibuat program grafik cosinus (sudut) terhadap sudutnya dari 0 sampai xmax.
Dengan demikian sebagai sumbu y adalah cosinus (sudut) dan sumbu x adalah sudutnya.

Seperti pada grafik sinus, hasil cosinus (sudut)-nya juga dinyatakan dulu ke dalam bilangan bulat
dengan fungsi round.
Contoh program 1.3

Program cosinus;

Uses

crt, graph;

Var

xmax, ymax, x, y, y1, y2, gm, gd : integer;

Begin

Gd := CGA;

Gm := CGAHi;

Initgraph(gd,gm,’’);

Xmax := GetMaxX;

Ymax := GetMaxY;

Rectangle(0,0, xmax,ymax);

{-----membuat sumbu-----}

Line(xmax div 10,0, xmax div 10,ymax);

Line(0,ymax div 2, xmax,ymax div 2);

Y1 := Round(ymax div 5*cos(0));

Y := ymax div 2-y1;

SetTextJustify(LeftText,BottomText);

OutTextXY(xmax div 20,y,’1’);

Y1 := Round(ymax div 5*cos(180));

Y := yamx div 2-2*y1;

SetTextJustify(leftText,BottomText);
OutTextXY(xmax div 20,y,’-1’);

{-----grafik sinus----}

For x := 0 to xmax do

Begin

Y1 := round(ymax div 5*cos(x*pi/180));

Y := ymax div 2-y1;

PutPixel(x+xmax div 10,y,GetMaxColor);

End;

Repeat until KeyPressed;

CloseGraph;

End.

1.4 Membuat Lingkaran


Graik dan Animasi -> Kreasi Grafik dari Titik -> Membuat Lingkaran

Pada grafik sinus dan cosinus, Anda membuat hubungan antara hara sinus sudut) dan cosinus (sudut)
terhadap sudutnya, diperoleh grafik seperti gelombang longitudinal. Apa yang akan terjadi jika grafik
tersebut dibuat dengan menghubungkan antara harga sinus (sudut) terhadap cosinus (sudut)?

Misalnya persamaan sinus dan cosinus di atas diubah menjadi :

X := r cos(sudut)

Y := r sin(sudut)

Jika x dan y digambarkan dalam suatu koordinat cartesius dan sudutnya diambil dari 0 sampai 360,
maka grafik yang diperoleh adalah swbuah lingkran dengan jari-jari r.

Contoh program 1.4

Program lingkaran;
Uses

Crt, graph;

Var

Xmax, ymax, x, y,

X1, y1, s, gd, gm : integer;

Begin

ClrScr;

Gd := CGA;

Gm := CGAHi;

InitGraph(gd,gm,’’);

Xmax := GetMaxX;

Ymax := GetMaxy;

Rectangle(0,0, xmax,ymax);

For s := 0 to 360 do

Begin

X1 := round(xmax div 6*cos(s*pi/180));

X := xmax div 2-x1;

Y1 := Round(ymax div 4*sin(s*pi/180));

Y := ymax div 2-y1;

PutPixel(x,y, GetMaxColor);

End;

Repeat until KeyPressed;

CloseGraph;

End.
ini contoh program buat pascal dengan grafik . Awalnya bingung tapi terus dikasih contoh sama Pak
Bambang :D

uses crt,graph;
var
tunggu :word;
ufo :pointer;
X,Y :integer;
x1,y1,x2,y2 :word;
ukuran :word;
l :word;
DriverGrafik, ModeGrafik :integer;
begin
InitGraph(DriverGrafik, ModeGrafik, '');
DriverGrafik:=CGA;
ModeGrafik:=CGAC1;

OutTextXY(30,700,'Tekan Sembarang Untuk Selesai');

SetColor(1);
Ellipse(160,100,0,360,20,5);
Line(140,100,180,100);
SetFillStyle(SolidFill,4);
FloodFill(160,101,1);
Line(160,95,160,90);
Circle(160,90,2);

x1:=140; y1:=89; x2:=180; y2:=105;

ukuran:=ImageSize(x1,y1,x2,y2);
GetMem(ufo, ukuran);
GetImage(x1,y1,x2,y2, ufo^);
PutImage(x1,y1, ufo^, XORput);
for l:=1 to 1000 do
PutPixel(random(1200),random(1200), 3);
X:=1200;
Y:=1200;

tunggu:=250;

repeat
PutImage(X,Y, ufo^,XORput);
Delay(tunggu);
PutImage(X,Y, ufo^,XORput);
X:=random(3000);
Y:=random(1800);
until KeyPressed;
closegraph;
end.

Program konversi fareinheit ke celcius


by Febrianto on 20:39 in Pascal All Statement, Pascal Fisika

Berikut merupakan Program Konversi fareinheit ke celcius menggunakan bahasa Pascal.

 SOURCE CODE

Program konversi_Suhu;
uses crt;
var
f, c :real;
begin
clrscr;
writeln('Program Konversi Fareinheit Ke Celcius');
writeln('=========================');
writeln;
write('Masukkan Suhu dalam Farenheit : ');readln(f);
c:=5/9*(f-32);
writeln;
writeln('Jadi Suhu Dalam Celcius Adalah : ',c:4:2);
readkey;
end.

 PENJELASAN SOURCE CODE

Program konversi_suhu; {Judul Program}


uses crt; {Deklarasi unit CRT}
var {Variabel}
f, c : real; {Inisiasi variabel}
begin {Awal instruksi program}
clrscr; {Membersihkan layar}
writeln('Program Konversi Fareinheit Ke Celcius'); {Cetak Program Konversi Fareinheit Ke
Celcius}
writeln('=========================='); {Cetak ===========================}
writeln; {Cetak baris}
write('Masukkan Suhu dalam Farenheit : '); {Cetak Masukkan Suhu dalam Farenheit : }
readln(f); {Baca variabel f}
c := 5/9*(f-32); {Counter pembagian, perkalian dan pengurangan c}
writeln; {Cetak baris}
writeln('Jadi Suhu Dalam Celcius Adalah : ',c:4:2); {Cetak Jadi Suhu Dalam Celcius Adalah : ,
variabel c}
readkey; {Instruksi untuk menunggu}
end. {Akhir instruksi program}

April 2, 2009 rudi


0 Comment
KULIAH

PENDAHULUAN

Pascal adalah bahasa pemrograman yang


pertama kali di buat oleh Profesor Niklaus Wirth, seorang anggota International Federation of
Information Processing (IFIP) pada tahun 1971. Dengan mengambil nama dari
matematikawan Perancis, Blaise Pascal, yang pertama kali menciptakan mesin penghitung,
Profesor Niklaus Wirth membuat bahasa Pascal ini sebagai alat bantu untuk mengajarkan
konsep pemrograman komputer kepada mahasiswanya. Selain itu, Profesor Niklaus Wirth
membuat Pascal juga untuk melengkapi kekurangan-kekurangan bahasa pemrograman yang
ada pada saat itu.

Kelebihan dari bahasa pemrograman Pascal adalah:

 Tipe Data Standar, tipe-tipe data standar yang telah tersedia pada kebanyakan
bahasa pemrograman. Pascal memiliki tipe data standar: boolean, integer, real, char,
string,
 User defined Data Types, programmer dapat membuat tipe data lain yang diturunkan
dari tipe data standar.
 Strongly-typed, programmer harus menentukan tipe data dari suatu variabel, dan
variabel tersebut tidak dapat dipergunakan untuk menyimpan tipe data selain dari
format yang ditentukan.
 Terstruktur, memiliki sintaks yang memungkinkan penulisan program dipecah
menjadi fungsi-fungsi kecil (procedure dan function) yang dapat dipergunakan
berulang-ulang.
 Sederhana dan Ekspresif, memiliki struktur yang sederhana dan sangat mendekati
bahasa manusia (bahasa Inggris) sehingga mudah dipelajari dan dipahami.

Bahasa PASCAL juga merupakan bahasa yang digunakan sebagai standar bahasa
pemrograman bagi tim nasional Olimpiade Komputer Indonesia (TOKI). Selain itu, Bahasa
PASCAL masih digunakan dalam IOI (International Olympiad in Informatics).

Bahasa Pascal adalah bahasa pemrograman tingkat tinggi (high level language) yang cukup
populer, khususnya di Indonesia. Hal ini disebabkan bahasa Pascal lebih mudah dipahami
dibanding bahasa pemrograman lainnya, seperti bahasa C, bahasa assembler, dan lain
sebagainya. Selain itu, bahasa Pascal adalah bahasa pemrograman yang terstruktur dan lebih
mendekati bahasa manusia (bahasa Inggris) sehingga sangat cocok diterapkan dalam dunia
pendidikan.

Dalam mempelajari pemrograman dengan bahasa Pascal, penting untuk mengerti terlebih
dahulu tentang konsep dan teknik pemrograman. Konsep pemrograman adalahbentuk dasar
dari suatu program yaitu algoritma program. Algoritma adalah urutan proses yang dilakukan
oleh sebuah program, umumnya algoritma ini berbentuk flowchart (diagram alir). Teknik
pemrograman adalah cara mengubah suatu algoritma menjadi program yang sebenarnya
dengan bahasa pemrograman tertentu. Konsep dan teknik pemrograman adalah dasar dari
pemrograman komputer, dengan menguasai kedua hal tersebut maka mempelajari
pemrograman menjadi lebih mudah.

LISTING PROGRAM

program wave_string;
uses crt;
var i,nmax:integer;
y:array[1..100,1..100]of real;
c,dx,r2,dt:real;
begin
clrscr;
write(‘Masukkan nilai maksimumnya(nmax) : ‘);
readln(nmax);
write(‘Masukkan perubahan spasinya : ‘);
readln(dx);
write(‘Masukkan kecepatan gelombangnya : ‘);
readln(c);
{inisialisasi}
for i:=1 to nmax do
begin
y[i,1]:=0;y[i,2]:=0;y[i,3]:=0;
end;
dt:=dx/c;
for i:=2 to (nmax-1) do
begin
y[i,2]:=exp(-1000*sqr(i*dx-0.3*nmax*dx));
y[i,1]:=exp(-1000*sqr(i*dx-0.3*nmax*dx));
end;
{propagasi}
writeln(‘ y1 | y2 | y3 ‘);
r2:=sqr(dt*c/dx);
for i:=1 to (nmax-1) do
begin
y[i,3]:=r2*(y[i+1,2]+y[i-1,2]+2*(1.0-r2)*y[i,2]-y[i,1]);
y[i,1]:=y[i,2];
y[i,2]:=y[i,3];
write(y[i,1]);
write(‘ ‘,y[i,2]);
writeln(‘ ‘,y[i,3]);
end;
readln;
end.

KELUARAN

Masukkan nilai maksimumnya(nmax) : 10


Masukkan perubahan spasinya : 0.03
Masukkan kecepatan gelombangnya : 300

y1 | y2 | y3

0.0000000000E+00 4.0656965974E-01 4.0656965974E-01

4.0656965974E-01 1.0000000000E+00 1.0000000000E+00

1.0000000000E+00 4.0656965975E-01 4.0656965975E-01

4.0656965974E-01 2.7323722450E-02 2.7323722450E-02

2.7323722448E-02 3.0353914067E-04 3.0353914067E-04

3.0353913808E-04 5.5739296156E-07 5.5739296156E-07

5.5739036929E-07 1.7178207034E-10 1.7178207034E-10

1.6918979227E-10 2.6007671100E-12 2.6007671100E-12

8.4890440342E-15 2.5922780660E-12 2.5922780660E-12


program Menghitung_Voltase_Pada_Waktu_T;

uses crt;

label y;

var hitung,loop1,loop2:integer;

R,C,Vs,t,RC,pangkat,hslpangkat,hasilisi,hasilkosong:real;

begin
y:clrscr;

writeln('Hitung Voltase Kapasitor Pada Waktu T untuk :');

writeln;

writeln(' 1. Pengisian');

writeln(' 2. Pengosongan');

writeln;

write('1/2? ');

readln(hitung);

clrscr;

if hitung=1 then

begin

writeln('Pengisian Kapasitor');

writeln;

writeln('Gunakan e untuk x10');

writeln;

writeln('Contoh: 2x10^6 = 2e6');

writeln(' 2x10^-6= 2e-6');

writeln;

write('Masukkan Nilai R (Ohm) : '); readln(R);

write('Masukkan Nilai C (F) : '); readln(C);

write('Masukkan Nilai Vs (Volt): '); readln(Vs);

write('Masukkan Nilai Waktu (s): '); readln(t);

RC:=R*C;

pangkat:=t/RC;

hslpangkat:=exp(ln(2.72)*-pangkat);

hasilisi:=Vs*(1-hslpangkat);
writeln;

writeln('Voltase Kapasitor Pada Waktu T (Volt)=',hasilisi);

writeln;

writeln('Hitung Kembali?');

writeln;

writeln(' 1. Ya');

writeln(' 2. Tidak');

writeln;

write('1/2? ');

readln(loop1);

if loop1=1 then

goto y

end