Anda di halaman 1dari 23

(PAF 217) PEMROGRAMAN KOMPUTER

BERBASIS

TURBO PASCAL
(PEMBELAJARAN FISIKA BERBAHASA PASCAL)

wihantoro

LABORATORIUM FISIKA KOMPUTASI PROG STUDI FISIKA FAKULTAS SAINS & TEKNIK UNIVERSITAS JENDERAL SOEDIRMAN 2008

pengantar: apa itu

BAHASA PASCAL
Nama pascal sebuah bahasa pemrograman komputer diambil dari nama Matematikawan Perancis, Blaise Pascal. Sekitar usia 18 tahun, pada tahun 1641, Blaise Pascal menyusun sebuah bahasa mesin aritmatika pertama yang diyakini sebagai generasi komputer pertama. Tahun 1650, Pascal berpaling dari dunia ilmiah yang pernah digeluti sebelumnya, Geometri dan Fisika, dengan memfokuskan diri pada kajian agama. Pascal menyebut kondisi ini sebagai untuk lebih mendalami keagungan dan misteri manusia. Dr. Niklaus Wirth dari Swiss Federal Institute of Technology (ETHZurich) secara lengkap mengembangkan bahasa pemrograman berstruktur tinggi, Pascal yang asli, pada tahun 1970. Pengembangannya berdasar pada gaya penyusunan blok dari pemrograman ALGOL, sebuah bahasa pemrograman yang dikhususkan bagi komputasi scientific. Bahasa pemrograman Pascal yang sangat berorientasi pada data, memberi programmer kemampuan untuk mendefinisikan jenis-jenis data tertentu (sesuai kebutuhan). Kemampuan Pascal yang sangat mirip bahasa seharihari membuatnya sangat mudah untuk memahami kode-kode yang tertulis. Hal ini membuat Pascal diadopsi sangat luas sebagai bahasa pengajaran dan memang ditujukan untuk itu. Berdasar Standard Pascal ISO7185, ada dua tujuan utama dari struktur bahasa Pascal, yaitu [1] menyediakan sebuah bahasa pemgrograman yang cocok untuk program pembelajaran sebagai dasar disiplin sistematis yang jelas, alami dan mampu mencerminkan topik atau kajian yang di-program-kan [2] mendefinisikan sebuah bahasa pemrograman yang implementasi nya dapat terjamin diwujudkan dan efisien pada semua sistem operasi komputer yang ada

Namun ternyata dalam perkembangannya, bahasa pemrograman Pascal mampu melebihi dua tujuan utama yang ditetapkan. Hal ini terlihat dari penggunaannya yang pesat dan beragam di dunia pendidikan. Pada tahun 1990, diterbitkan Standar Pascal Lanjutan (Extenden Pascal Standard) dengan ISO10206 guna menopang perkembangan yang luar biasa dari bahasa Pascal. Bahasa pemrograman Pascal selanjutnya merupakan sebuah bahasa pemrograman yang menyediakan penggolongan dan pencatatan data (enumerated and recorded data) serta memiliki pendefinisian dengan kejelasan yang ampuh dan menyenangkan. Pascal juga menyediakan struktur data yang kaya ditunjang dengan kemampuan pendekatan yang recursive (memanggil secara otomatis sebuah fungsi atau prosedur dalam sebuah program). Dengan alasan ini, maka bahasa pemrograman Pascal dipilih untuk digunakan sebagai bahasa pemrograman yang dipakai pada mata kuliah Pemrograman Komputer (PAF 217) di Jurusan Fisika Fakultas Sains dan Teknik UNSOED. Disini, Pascal dimanfaatkan untuk membantu dalam pemecahan masalah yang berhubungan dengan konsep fisika dasar yang telah diperoleh pada semester I dan II. Mahasiswa yang sama sekali tidak pernah berhadapan dengan sebuah bahasa pemrograman komputer apapun diharapkan dapat mudah mengikuti dan kemudian mengembangkan kemampuan akademisnya.

Bahasa Komputer dan Compiler


Bahasa Mesin kode binary sebenarnya yang menyajikan instruksi dasar ke CPU komputer. Biasanya berupa perintah sangat sederhana seperti halnya menjumlahkan dua bilangan atau memindahkan data dari satu tempat memori ke tempat memori lainnya. Bahasa Rakitan (Assembly) sebuah mekanisme bagi manusia untuk memrogram komputer secara langsung tanpa mengingat pertalian dari bilangan-bilangan biner. Hanya terdapat keterhubungan satu-satu dengan kode mesin.

Bahasa tingkat tinggi mengijinkan manusia untuk menulis program-program yang komplek tanpa menempuh urutan satu-per satu. Bahasa tingkat tinggi sekarang yang ada meliputi Pascal, C, C++, FORTRAN, Java, dan BASIC. Satu perintah dalam bahasa tingkat tinggi, seperti halnya menulis sebuah string ke sebuah file, dapat diterjemahkan ke puluhan bahkan ratusan instruksi bahasa mesin. Secara langsung, microprocessor hanya dapat menjalankan bahasa mesin. Program-program bahasa rakitan dirakit atau diterjemahkan ke dalam bahasa mesin. Dengan cara yang sama, program-program yang ditulis dalam bahasa tingkat tinggi, juga harus diterjemahkan ke dalam bahasa mesin sebelum dapat dijalankan. Proses penerjemahan ini dikatakan sebagai meng-compile sebuah program. Program yang menjalankan proses penerjemahan disebut sebagai compiler. Program ini sedikit lebih rumit karena tidak hanya menciptakan instruksi-instruksi bahasa mesin dari barisan-barisan kode, namun juga meng-optimalkan kode agar beroperasi lebih cepat, menambah kode pengkoreksi kesalahan dan menghubungkan kode dengan sub-routine yang tersimpan secara acak. Tiga istilah mendasar pada bahasa tingkat tinggi yang perlu diingat adalah: Source code adalah kode yang ditulis. Secara khusus, kode ini memiliki extension yang menunjukkan bahasa yang digunakan. Sebagai contoh, source code Pascal biasanya diakhiri dengan ".pas" dan bahasa C++ diakhiri degan ".cpp" Object code adalah hasil dari proses meng-compile. Object code biasanya hanya meliputi satu modul dari sebuah program dan tidak dapat dijalankan karena belum lengkap. Pada sistem operasi DOS/Windows, kode ini biasanya memiliki ektensi ".obj" Executable code adalah hasil akhir dari program tertulis yang dapat dijalankan. Seluruh modul object code yang diperlukan bagi berfungsinya sebuah program dihubungkan secara bersama. Pada sistem operasi DOS/Windows, kode ini biasanya memiliki ektensi ".exe"

pembelajaran FISIKA dengan

BAHASA PASCAL
Bahasa pemrograman Pascal yang sangat berorientasi pada data dapat digunakan untuk membantu pembelajaran Fisika terutama dalam pemecahan masalah (problem solving). Pada mata kuliah Pemrograman Komputer (PAF 217) bahasa Pascal dimanfaatkan serupa dengan menyelesaikan soal-soal Fisika Dasar I dan II. Satu hal yang membedakan adalah bila dalam kelas penyelesaian masalah dilakukan di atas kertas, sementara pembelajaran dengan bahasa Pascal dilakukan pada layar komputer! Bekal pemrograman bahasa Pascal adalah kemampuan numerik problem solving berbasis Microsoft Excel yang sudah diberikan di semester pertama pada mata kuliah Pengantar Ilmu Komputer (PAF 113). Terlihat disini diperlukan kemampuan dari mahasiswa untuk menerjemahkan konsep Fisika Dasar yang akan dibuat pemrogramannya menjadi konsep yang sistematis, runut dan logis. Kemampuan ini ditransfer sebagai bentuk algoritma sederhana (diagram alir atau flow chart).

latihan mandiri

TURBO PASCAL
Kompetensi Dasar

Dengan melakukan latihan mandiri Turbo Pascal 1 di laboratorium, mahasiswa diharapkan dapat: - memahami topik permasalahan yang akan dibuat program pascal-nya dan dituangkan dalam gagasan sistematis berupa diagram alir - membuat diagram alir untuk pemecahan masalah aritmatika sederhana, geometri dan trigonometri - membuat listing program sederhana berbahasa pascal berbasis inputoutput untuk pemecahan masalah aritmatika sederhana, geometri dan trigonometri berdasar diagram alir yang telah dibuat

PEMECAHAN MASALAH

ARITMATIKA
Persamaan aritmatika: y =

1 1 + a b

------------- listing programnya program pecahan; uses wincrt; var a,b,y : real; begin write (nilai a = ); read(a); write (nilai b = ); read(b); y :=(1/a)+(1/b); write (y); end.

konsekuensi dari penambahan baris instruksi read, variabel a dan b harus dideklarasikan terlebih dahulu berikut dengan jenis datanya write untuk menampilkan keterangan data input, read untuk menampilkan nilai data input perhatikan cara mengubah persamaan aritmatika ke dalam format yang dikenal bahasa pascal write untuk menampilkan hasil operasi aritmatika (output)

Buat folder dengan nama NIM dari tiap mahasiswa di dalam folder Pascal di partisi harddisk D untuk menyimpan file latihan mandiri ini (D:\Pascal\06xxx) Namai file latihan yang anda kerjakan dengan nama lat1-1, lat1-2, lat1-3, dst...

1. y = 2 x + 5
2. y = 2 a (x 2)
3. m = 4. y = 5. y = 5n 2(k 1) 1 1 + x 1 1 + x2
2

6. y =
7. y = 8. y =

1 x 1
2

1 a + x 2a a x 1 x
2

a2

9. c 2 = a 2 + b 2

10. z = c 2 + (a2 b 2 )

PEMECAHAN MASALAH

GEOMETRI
Luas Lingkaran : L = .r2 ------- listing programnya program luas_lingk; uses wincrt; var L,r:real; begin write(jari-jari = ); read(r); L := (22/7)*sqr(r); write (L); end. nilai dapat dituliskan pi saja, Pascal otomatis mengkonversi nilai ini menjadi 3.1415926536E+00 Luas Lingkaran : L = .r2 ------- listing programnya program luas_lingk; uses wincrt; var L,r:real; begin write(jari-jari = ); read(r); L := pi*sqr(r); writeln(L); writeln(L:3:1); end. pembatasan jumlah digit angka output sampai tiga digit dengan satu digit di belakang koma

Buat folder dengan nama NIM dari tiap mahasiswa di dalam folder Pascal di partisi harddisk D untuk menyimpan file latihan mandiri ini (D:\Pascal\06xxx) Namai file latihan yang anda kerjakan dengan nama lat2-1, lat2-2, lat2-3, dst...

1. K = 2 r
2. K = 2 (p + sisimiring )

(Keliling Lingkaran) (Keliling Jajar Genjang) (Luas Lingkaran) (Luas Elips) (Luas Permukaan Silinder) (Volume Kerucut) (Volume Piramida) (Volume Silinder)

3. L = r 2
4. L = r1 r2

5. L = 2 r t + 2 r 2 6. V = 7. V = 1 r 2t 3 1 plt 3

8. V = r 2t

PEMECAHAN MASALAH

TRIGONOMETRI
Fungsi sinus : y = sin ------- listing programnya program fs_sinus; uses wincrt; var y, alfa : real; begin write (sudut alfa = ); read (alfa); y := sin(alfa); write (y:3:1); end. Fungsi sinus : y = sin ------- listing programnya program fs_sinus; uses wincrt; var y, alfa : real; begin write (sudut alfa = ); read (alfa); y := sin(alfa*pi/180); write (y:3:2); end.

bandingkan kedua listing program ini, listing program mana yang memberikan hasil perhitungan yang benar?

Buat folder dengan nama NIM dari tiap mahasiswa di dalam folder Pascal di partisi harddisk D untuk menyimpan file latihan mandiri ini (D:\Pascal\06xxx) Namai file latihan yang anda kerjakan dengan nama lat3-1, lat3-2, lat3-3, dst...

1. tan =

sin cos

(Fungsi Tangen) (Transformasi Koordinat) (Transformasi Koordinat) (Transformasi Koordinat) (Luas Permukaan Segi-n)

2. z = r cos
3. x = r sin cos 4. y = r sin sin

5. L =

1 n sisi 2 cot 4 n

2 6. R = R 12 + R 2 + 2 R 1R 2 cos

(Penjumlahan dua vektor R)

latihan mandiri

TURBO PASCAL
Kompetensi Dasar

Dengan melakukan latihan mandiri turbo pascal 2 di laboratorium, mahasiswa diharapkan dapat: - membuat diagram alir untuk pemecahan masalah kinematika dan dinamika. - membuat listing program sederhana berbahasa pascal berbasis inputoutput untuk pemecahan masalah kinematika dan dinamika - menyertakan penjelasan yang diperlukan dari pemecahan masalah yang dibuat listing programnya, seperti penampilan keterangan rumus, penjelasan arti dari tiap variabel yang muncul dalam rumus, serta satuan yang menyertai dari variabel outputnya. - membuat listing program serupa untuk pemecahan masalah dalam konsep fisika lainnya, seperti kesetimbangan benda tegar, suhu dan kalor, getaran dan gelombang, optika geometri serta kelistrikan - membuat satu listing program untuk menyajikan beberapa konversi satuan

P E M E C A H A N

M A S A L A H

KINEMATIKA & DINAMIKA


Gerak jatuh bebas: h = (1/2)gt2 dengan g = 9,8 m/s2 (konstanta) ----------------- listing programnya ----program jatuh_bebas; uses wincrt; const g = 9.8; var h,t : real; begin writeln(gerak jatuh bebas, vo = 0); writeln(-------------------------); writeln( programed by bLeKeTepE ); writeln; writeln; writeln(rumus: h = (1/2)gt2 ); writeln(--------------------); writeln; write(waktu setelah t = ); read(t); h := 0.5*g*sqr(t); write (ketinggian benda: ,h:3:1, m); end. perhatikan, konstanta dideklarasikan di awal listing program. Koma pada bhs indonesia dituliskan sebagai titik.

keterangan penyerta tambahan, tentang program apa, siapa pembuatnya serta rumusnya. Murni kreativitas mahasiswa bagaimana menampilkan keterangan ini

penulisan keterangan dan satuan yang disertakan dalam tampilan output

Simpan file-file latihan mandiri ini dalam folder D:\Pascal\06xxx\ Namai file latihan yang dikerjakan dengan nama lat4-1, lat4-2, lat4-3, dst...

1. v = v o + at
2 . x = v ot + 1 at 2
2

1 5. E k = mv 2 2
6 . W = F x x cos

3. v 2 = v o 2 + 2ax
2 v o sin 2 4. R = g

7. F = m g sin N

8. F = m

v 2 r

PEMECAHAN

MASALAH

KONVERSI SATUAN
Konversi mil km: x(km) = mil*1,609 -------- listing programnya ---program mil_ke_km; uses wincrt; var x, mil : real; const fk = 1.609; begin write (jarak dalam mil = ); readln (mil); x := mil*fk; write (x:3:1, km); end.

faktor konversi (fk) sebesar 1,609 dianggap sebagai konstanta

Simpan file-file latihan mandiri ini dalam folder D:\Pascal\06xxx\ Namai file latihan yang dikerjakan dengan nama lat5-1, lat5-2, lat5-3, dst...

Buatlah listing program dari tabel konversi satuan berikut (Satu program memuat sekaligus konversi satuan yang ada di tiap kotak)
Tabel Konversi Satuan

Dimensi Panjang
1 inchi = 2.54 cm 1 kaki = 0.3048 m 1 th-cahaya = 9.46 x 1012 km

Dimensi Massa
1 slug = 14.59 kg 1 sma = 1.6605 . 1027 kg 1 kg = 2.205 lb

Kerja dan Energi


1 joule = 107 erg 1 kkal = 4186 joule 1 kWh = 3.600 . 10 J 1 eV = 1.602 . 10
19 6

Kelajuan
1 mil/jam = 0.4470 m/s 1 knot = 0.5144 m/s 1 km/jam = 0.2778 m/s 1 m/s = 3.60 km/h J

latihan mandiri

TURBO PASCAL
Kompetensi Dasar

Dengan melakukan latihan mandiri turbo pascal 3 di laboratorium, mahasiswa diharapkan dapat: - menggunakan perintah gotoxy( ) untuk mengatur posisi kursor tampilan karakter - menggunakan pernyataan character chr(I) untuk menampilkan karakter khusus tertentu - memanipulasi tampilan output program turbo pascal agar dapat memuat beberapa huruf yunani serta menyisipkan satuan dalam input dan output data.

MEMUNCULKAN KARAKTER KHUSUS TERTENTU


Karakterkarakter khusus tertentu dalam Turbo Pascal dapat dimunculkan dengan pernyataan instruksi chr(I). Disini, I menyatakan urutan nomor dari karakter khusus yang ingin ditampilkan
Karakter khusus tertentu (kuadrat,2, beberapa huruf yunani atau karakter selain yang ada pada keyboard) yang dapat dimunculkan oleh TurboPascal for Window1.5 ------------------------ listing programnya ----------program karakter; uses wincrt; var I: Integer; begin for I := 1 to 256 do write(Chr(I)); end.

Setelah di-Run, akan muncul semua karakter dari nomor 1 sampai 256 yang termuat dalam Turbo Pascal For Windows 1.5

zoom

Karakter yang dituju ditampilkan secara urut dari kiri ke kanan (nomor satu baris pertama) sampai nomor 256 (karakter terakhir; huruf ). Nomor karakter dihitung satu per satu, misal karakter kuadrat (2) adalah karakter dengan nomor (178), sementara karakter () adalah karakter dengan nomor (189).

MENGATUR POSISI KARAKTER


Penempatan posisi satu atau beberapa karakter berupa alfa-numerik sangat diperlukan dalam penyusunan tampilan output sebuah program TurboPascal. Penempatan posisi ini seperti halnya posisi pada koordinat Kartesian, namun tidak ada posisi negatif dan posisi awal dimulai dari (1,1). Posisi (1,1) berada pada ujung kiri atas tampilan output TurboPascal. Secara umum, penempatan posisi satu atau bebeberap karakter menggunakan pernyataan instruksi gotoxy(x,y). Pernyataan instruksi ini akan menyuruh Turbo Pascal untuk meletakkan karakter yang dimaksud dalam posisi kolom dan baris.
Menempatkan karakter tertentu (angka 1, 2, 3, 4 dan huruf x) untuk memperlihatkan penempatan posisi karakter tersebut pada tampilan output TurboPascal --------------------- listing programnya ----------program posisi; uses WinCrt; begin gotoxy(1,1); write('1'); gotoxy(2,2); write('2'); gotoxy(3,3); write('3'); gotoxy(1,5); write('4'); gotoxy(10,7); write('x'); end.

gotoxy (10,7) menempatkan huruf x pada kolom ke 10 baris ke 7

Analogi posisi karakter yang ditempatkan pada tampilan Turbo Pascal seperti halnya kolom dan baris pada Excel. Pada Excel, huruf A,B,C,D dst merupakan kolom atau sumbu-x sedangkan angka 1, 2, 3, 4 dst merupakan baris atau sumbu-y. Pernyataan instruksi gotoxy(x,y) akan menempatkan karakter pada urutan kolom kemudian baris.

Energi kinetik benda: Ek = (1/2)mv2 --------------------- listing programnya --------program energi_kinetik; uses wincrt; var Ek,m,v : real; begin writeln( Energi kinetik benda ); writeln(-------------------------); writeln( programku ); writeln; writeln; writeln(rumus: Ek = ,chr(189),mv,chr(178)); writeln(----------------); writeln; gotoxy(14,9); write(kg); gotoxy(1,9); write(massa = ); read(m); gotoxy(17,10); write(m/s); gotoxy(1,10); write(kecepatan = ); read(v); Ek := 0.5*m*sqr(v); write (Ek benda: ,Ek:3:1, J); end.

Simpan file-file latihan mandiri ini dalam folder D:\Pascal\06xxx\ Namai file latihan yang dikerjakan dengan nama lat6-1, lat6-2, lat6-3, dst...

[1] percepatan sentripetal [2] energi potensial pegas [3] tekanan hidrostatis (g = 9.8 m/s2) [4] percepatan benda yang meluncur dari puncak bidang miring yang mempunyai sudut kemiringan (g = 9.8 m/s2) [5] konversi skala celcius ke fahrenheit [6] glbb sepanjang sumbu-x dengan vo tertentu [7] kesetaraan energi dan massa (c = 3 x 108 m/s2) [8] frekuensi pada getaran selaras sederhana [9] gaya coulomb pada muatan listrik statis (ko = 9 x 109 Nm2/C2) [10] fokus lensa tipis

v2 ac = r Ep = k x 2 po = patm + gh

ax = g sin g cos
o

F = (9/5 . oC) + 32
1 2

x = v ot +

at

E = mc2 f = k m q q F = ko 1 2 2 r
1 2

1 s

latihan mandiri

TURBO PASCAL
Kompetensi Dasar

Dengan melakukan latihan mandiri terbimbing Turbo Pascal 4 di laboratorium, mahasiswa diharapkan dapat: - menerapkan ketrampilan pemrograman yang telah dilakukan pada latihan mandiri 2 dan 3 pada latihan mandiri 4 - menemukan konsep-konsep fisika dasar yang dapat dipecahkan dengan memanfaatkan perintah pernyataan FUNCTION( ) - menggunakan perintah pernyataan FUNCTION( ) dalam listing program pascal-nya

Banyak konsep dalam Fisika Dasar yang mendeskripsikan fenomena alam atau kejadian fisis dalam bentuk persamaan matematika (rumus) yang di dalamnya juga mengandung rumus. Perhatikan beberapa kasus berikut ini. GLBB dan Hukum Newton Gerak sebuah benda yang dipercepat dapat dideskripsikan dengan persamaan kinematikan GLBB dengan mengambil nilai percepatannya dari hukum kedua Newton. r r r r F r2 r2 v = v o + 2 a x (GLBB) ; (hk II Newton) a= m Kedua persamaan ini selanjutnya dapat dituliskan sebagai
v
r2 r F r = v o + 2 x m r2

Terlihat disini, bahwa persamaan hukum II Newton merupakan sebuah fungsi bagi persamaan GLBB Daya Listrik dan Hukum Ohm Bahasan daya listrik (P) terkadang melibatkan aplikasi persamaan hukum Ohm dalam penjabaran kasus penyelesaian masalahnya. P = V I (daya listrik) ; V = I R (hukum Ohm)

Kedua persamaan ini selanjutnya dapat dituliskan P = (I R) I atau P = V (V/R) 2 = V2/R =I R Terlihat disini, hukum Ohm merupakan sebuah fungsi bagi daya listrik LOG dan LN Logaritma basis 10 atau disebut dengan log dan logaritma natural atau ln dapat terhubung sebagai sebuah fungsi. Ini merupakan kasus khusus, karena bahasa Pascal hanya mengenali perintah untuk menghitung ln saja dan tidak mengenali perintah log. Secara matematis, keduanya dapat dikonversikan sebagai berikut
log x = ln x ln 10 ln x log x = 2.303

ln x = log x . ln10 = 2.303 log x

Jadi disini, setiap konsep fisika yang mengandung log harus terlebih dahulu dikonversi ke ln.

Daya Listrik (P = VI) dengan hukum Ohm (V = IR) sebagai fungsi dalam variabel V-nya ------------------- listing programnya -------program daya_listrik; uses wincrt; function V(I,R:real):real; begin V := I*R; end; var P,I,R : real; begin write(' I = '); readln(I); write(' R = '); readln(R); P := V(I,R) * I; cara memanggil fungsi pendeklarasian fungsi

Write('daya listrik = ',P:3:1, watt); end.

Simpan file-file latihan mandiri ini dalam folder D:\Pascal\06xxx\ Namai file latihan yang dikerjakan dengan nama lat7-1, lat7-2, lat7-3, dst...

1. v

r2

= v o + 2 a x

r2

F dengan a = m
r
dengan

2. W = F x cos

F =m a

3. P = V I
4. F = m a
r r

dengan
dengan

I =
r

V R
r

v2 a= r

5. I =
6.

dengan

= r F sin
dengan

y = A cos t

= 2 f
;

7.

m = V

dengan

V = 43 r 3

= 11300 kg/m3
; Ep = mgh
; W = p V

8. Em = Ek + Ep
9.
10.
U = Q W

dengan
dengan

Ek = 1 2 m v 2
Q = m c t

TI = 10 log

I Io

dengan I o = 10 12 watt/m 2

Penulisan Procedure Seperti halnya function, procedure harus dideklarasikan terlebih dahulu. Berikut contoh penulisan listing procedure untuk permasalahan mekanika. Skema: Fungsi Ep Procedure Em Fungsi Ek

Listing penulisan procedure energi mekanik -------------- listing programnya --------------program energi_mekanik; uses wincrt; const g = 9.8; var m,h,v,Em : real;

function Ep(m,h:real):real; begin Ep := m*g*h; end; function Ek(m,v:real):real; begin Ek := 0.5*m*sqr(v); end;

deklarasi fungsi E potensial

deklarasi fungsi E kinetik

procedure E_mekanik; begin Em := Ep(m,h) + Ek(m,v); end;

deklarasi procedure E mekanik

begin write('massa benda = '); readln(m); write('tinggi benda = '); readln(h); write('kecepatan benda = '); readln(v); E_mekanik; cara memanggil procedure

Write('energi mekanik benda = ',Em:4:2, Joule); end.

PERNYATAAN BERSTRUKTUR
dalam turbo pascal 1. Percabangan (Branching), meliputi: a. IF THEN b. IF THEN ELSE
Listing program resultan gaya dengan percabangan -------------- listing programnya --------------program resultan_gaya; uses wincrt; var Fu, Fs: real; begin write('gaya ke arah utara = '); readln(Fu); write('gaya ke arah selatan = '); readln(Fs); if Fu > Fs then write('resultan gaya ke arah utara sebesar = ',abs(Fu-Fs):4:2,' N') else write('resultan gaya ke arah selatan sebesar = ',abs(Fu-Fs):4:2,' N') end.

Note: abs(x) adalah perintah untuk mendapatkan nilai mutlak dari x c. CASE OF Perintah case of digunakan pada banyak percabangan
Listing program material berdasar nomor atomnya -------------- listing programnya --------------program nomor_atom; uses wincrt; var Z : integer; material : string[10]; begin write('nomor atom = '); readln(Z); case Z of 1 : material:= 'Hidrogen'; 2 : material:= 'Helium'; 3 : material:= 'Lithium'; 4 : material:= 'Berelium'; 5 : material:= 'Boron'; 6 : material:= 'Carbon'; End; write('atom ',material); end.

2. Perulangan (Looping), meliputi: a. FOR TO DO


Listing program pusat massa satu dimensi -------------- listing programnya --------------program pusat_massa; uses wincrt; var xc, x, mt, m, mx : real; i, n : integer; begin write('jumlah partikel = '); read(n); mt:=0; mx:=0; for i:= 1 to n do begin writeln; write('massa partikel ke-',i, ' = '); read(m); write('jarak thd titik origin = '); read(x); mt:= mt + m; mx:= mx + (m*x); end; xc:=mx/mt; writeln; write('pusat massa = ',xc:4:2) end.

b. WHILE DO c. REPEAT UNTIL