berbasis turbo pascal · pdf file- memahami topik permasalahan yang akan dibuat program...

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 2 0 0 8

Upload: dinhhanh

Post on 04-Feb-2018

234 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: BERBASIS TURBO PASCAL · PDF file- memahami topik permasalahan yang akan dibuat program pascal-nya dan ... geometri dan trigonometri berdasar diagram ... seperti kesetimbangan benda

(PAF 217) PEMROGRAMAN KOMPUTER

BERBASIS TURBO PASCAL

(PEMBELAJARAN FISIKA BERBAHASA PASCAL)

wihantoro

LABORATORIUM FISIKA KOMPUTASI PROG STUDI FISIKA – FAKULTAS SAINS & TEKNIK

UNIVERSITAS JENDERAL SOEDIRMAN 2 0 0 8

Page 2: BERBASIS TURBO PASCAL · PDF file- memahami topik permasalahan yang akan dibuat program pascal-nya dan ... geometri dan trigonometri berdasar diagram ... seperti kesetimbangan benda

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 (ETH-Zurich) 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 sehari-hari” 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

Page 3: BERBASIS TURBO PASCAL · PDF file- memahami topik permasalahan yang akan dibuat program pascal-nya dan ... geometri dan trigonometri berdasar diagram ... seperti kesetimbangan benda

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 keterhu-bungan satu-satu dengan kode mesin.

Page 4: BERBASIS TURBO PASCAL · PDF file- memahami topik permasalahan yang akan dibuat program pascal-nya dan ... geometri dan trigonometri berdasar diagram ... seperti kesetimbangan benda

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 menghubung-kan 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"

Page 5: BERBASIS TURBO PASCAL · PDF file- memahami topik permasalahan yang akan dibuat program pascal-nya dan ... geometri dan trigonometri berdasar diagram ... seperti kesetimbangan benda

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).

Page 6: BERBASIS TURBO PASCAL · PDF file- memahami topik permasalahan yang akan dibuat program pascal-nya dan ... geometri dan trigonometri berdasar diagram ... seperti kesetimbangan benda

1

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 input-output untuk pemecahan masalah aritmatika sederhana, geometri dan trigonometri berdasar diagram alir yang telah dibuat

Page 7: BERBASIS TURBO PASCAL · PDF file- memahami topik permasalahan yang akan dibuat program pascal-nya dan ... geometri dan trigonometri berdasar diagram ... seperti kesetimbangan benda

PEMECAHAN MASALAH

ARITMATIKA

52.1 += xy 1

1.6 2 −

−=x

y

)2(2.2 −= xay ⎟⎠⎞

⎜⎝⎛

−+

=xaxa

ay

21

.7

)1(25

.3−

=kn

m 22

1.8

axy

−=

21

1.4

xy

+= 2229 bac +=.

211

.5x

y+

= ( )22210 bacz −+=.

Persamaan aritmatika: ba

y11

+=

------------- 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...

Page 8: BERBASIS TURBO PASCAL · PDF file- memahami topik permasalahan yang akan dibuat program pascal-nya dan ... geometri dan trigonometri berdasar diagram ... seperti kesetimbangan benda

PEMECAHAN MASALAH

GEOMETRI

rK π2.1 = (Keliling Lingkaran)

( )miringsisipK += 2.2 (Keliling Jajar Genjang)

2.3 rL π= (Luas Lingkaran)

21.4 rrL π= (Luas Elips)

222.5 rtrL ππ += (Luas Permukaan Silinder)

trV 2

31

.6 π= (Volume Kerucut)

pltV31

.7 = (Volume Piramida)

trV 2.8 π= (Volume Silinder)

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.

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

nilai π dapat dituliskan ”pi” saja, Pascal otomatis mengkonversi nilai ini menjadi 3.1415926536E+00

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...

Page 9: BERBASIS TURBO PASCAL · PDF file- memahami topik permasalahan yang akan dibuat program pascal-nya dan ... geometri dan trigonometri berdasar diagram ... seperti kesetimbangan benda

P E M E C A H A N M A S A L A H

TRIGONOMETRI

θθθ

cossintan.1 = (Fungsi Tangen)

θcos.2 rz = (Transformasi Koordinat)

ϕθ cossin.3 rx = (Transformasi Koordinat)

ϕθ sinsin.4 ry = (Transformasi Koordinat)

⎟⎠⎞

⎜⎝⎛⋅=n

sisinL πcot41.5 2 (Luas Permukaan Segi-n)

αcos2.6 2122

21 RRRRR ++=

(Penjumlahan dua vektor R)

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.

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.

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...

Page 10: BERBASIS TURBO PASCAL · PDF file- memahami topik permasalahan yang akan dibuat program pascal-nya dan ... geometri dan trigonometri berdasar diagram ... seperti kesetimbangan benda

2

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 input-output 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

Page 11: BERBASIS TURBO PASCAL · PDF file- memahami topik permasalahan yang akan dibuat program pascal-nya dan ... geometri dan trigonometri berdasar diagram ... seperti kesetimbangan benda

P E M E C A H A N M A S A L A H

KINEMATIKA & DINAMIKA

atvv o +=.1 2

21.5 mvE k =

2

21.2 attvx o += αcos.6 xFW x Δ=

axvv o 2.3 22 += NgmF μα −= sin.7

g

vR o θ2sin.4

2

= r

vmF2

.8 =

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 pem-buatnya 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...

Page 12: BERBASIS TURBO PASCAL · PDF file- memahami topik permasalahan yang akan dibuat program pascal-nya dan ... geometri dan trigonometri berdasar diagram ... seperti kesetimbangan benda

P E M E C A H A N M A S A L A H

KONVERSI SATUAN

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

Tabel Konversi Satuan

Dimensi Panjang Dimensi Massa

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

1 slug = 14.59 kg 1 sma = 1.6605 . 10−27 kg 1 kg = 2.205 lb

Kerja dan Energi Kelajuan

1 joule = 107 erg 1 kkal = 4186 joule

1 kWh = 3.600 . 106 J 1 eV = 1.602 . 10−19 J

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

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...

Page 13: BERBASIS TURBO PASCAL · PDF file- memahami topik permasalahan yang akan dibuat program pascal-nya dan ... geometri dan trigonometri berdasar diagram ... seperti kesetimbangan benda

3

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.

Page 14: BERBASIS TURBO PASCAL · PDF file- memahami topik permasalahan yang akan dibuat program pascal-nya dan ... geometri dan trigonometri berdasar diagram ... seperti kesetimbangan benda

MEMUNCULKAN KARAKTER KHUSUS TERTENTU Karakter–karakter khusus tertentu dalam Turbo Pascal dapat “dimunculkan” dengan pernyataan instruksi “chr(I)“. Disini, I menyatakan urutan nomor dari karakter khusus yang ingin ditampilkan Setelah di-Run, akan muncul semua karakter dari nomor 1 sampai 256 yang “termuat” dalam Turbo Pascal For Windows 1.5 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).

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.

zoom

Page 15: BERBASIS TURBO PASCAL · PDF file- memahami topik permasalahan yang akan dibuat program pascal-nya dan ... geometri dan trigonometri berdasar diagram ... seperti kesetimbangan benda

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.

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.

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

Page 16: BERBASIS TURBO PASCAL · PDF file- memahami topik permasalahan yang akan dibuat program pascal-nya dan ... geometri dan trigonometri berdasar diagram ... seperti kesetimbangan benda

[1] percepatan sentripetal

rvac

2

=

[2] energi potensial pegas Ep = ½ k x 2

[3] tekanan hidrostatis (g = 9.8 m/s2) po = patm + ρgh [4] percepatan benda yang meluncur dari

puncak bidang miring yang mempunyai sudut kemiringan θ (g = 9.8 m/s2)

ax = g sin θ − μg cos θ

[5] konversi skala celcius ke fahrenheit oF = (9/5 . oC) + 32

[6] glbb sepanjang sumbu-x dengan vo tertentu2

21 attvx o +=

[7] kesetaraan energi dan massa (c = 3 x 108 m/s2)

E = m c 2

[8] frekuensi pada getaran selaras sederhana mkf

π21

=

[9] gaya coulomb pada muatan listrik statis (ko = 9 x 109 Nm2/C2)

221

rqqkF o=

[10] fokus lensa tipis ssf ′

+=111

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...

Page 17: BERBASIS TURBO PASCAL · PDF file- memahami topik permasalahan yang akan dibuat program pascal-nya dan ... geometri dan trigonometri berdasar diagram ... seperti kesetimbangan benda

4

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

Page 18: BERBASIS TURBO PASCAL · PDF file- memahami topik permasalahan yang akan dibuat program pascal-nya dan ... geometri dan trigonometri berdasar diagram ... seperti kesetimbangan benda

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.

xavv orrrr

Δ+= 222 (GLBB) ; mFar

r= (hk II Newton)

Kedua persamaan ini selanjutnya dapat dituliskan sebagai

xmFvv o

rr

rrΔ⎟⎟

⎞⎜⎜⎝

⎛+= 222

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) = I2 R = V2/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

10lnlnlog xx = → ln x = log x . ln10

303.2lnlog xx = → = 2.303 log x

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

Page 19: BERBASIS TURBO PASCAL · PDF file- memahami topik permasalahan yang akan dibuat program pascal-nya dan ... geometri dan trigonometri berdasar diagram ... seperti kesetimbangan benda

mFaxavv o

rrrrrr=Δ+= dengan2.1 22

amFxFW rr== dengancos.2 θ

RVIIVP == dengan.3

rvaamF

2

dengan.4r

rrr==

θτατ sindengan.5 FrI ==

ftAy πωω 2dengancos.6 ==

333

4 kg/m11300;dengan.7 === ρπρ rVVm

mghEpvmEkEpEkEm ==+= ;dengan.8 22

1

VpWtcmQWQU Δ=Δ=−=Δ ;dengan.9

212 watt/m10denganlog10.10 −=⎟⎟⎠

⎞⎜⎜⎝

⎛= o

o

IIITI

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;

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

pendeklarasian fungsi

cara memanggil fungsi

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...

Page 20: BERBASIS TURBO PASCAL · PDF file- memahami topik permasalahan yang akan dibuat program pascal-nya dan ... geometri dan trigonometri berdasar diagram ... seperti kesetimbangan benda
Page 21: BERBASIS TURBO PASCAL · PDF file- memahami topik permasalahan yang akan dibuat program pascal-nya dan ... geometri dan trigonometri berdasar diagram ... seperti kesetimbangan benda

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

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; procedure E_mekanik; begin Em := Ep(m,h) + Ek(m,v); end; begin write('massa benda = '); readln(m); write('tinggi benda = '); readln(h); write('kecepatan benda = '); readln(v); E_mekanik; Write('energi mekanik benda = ',Em:4:2,’ Joule’); end.

cara memanggil procedure

deklarasi fungsi E potensial

deklarasi fungsi E kinetik

deklarasi procedure E mekanik

Fungsi Ep Fungsi Ek

Procedure Em

Page 22: BERBASIS TURBO PASCAL · PDF file- memahami topik permasalahan yang akan dibuat program pascal-nya dan ... geometri dan trigonometri berdasar diagram ... seperti kesetimbangan benda

PERNYATAAN BERSTRUKTUR dalam turbo pascal

1. Percabangan (Branching), meliputi: a. IF… THEN… b. IF… THEN… ELSE…

Note: abs(x) adalah perintah untuk mendapatkan nilai mutlak dari x

c. CASE… OF… Perintah case of digunakan pada banyak percabangan

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.

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.

Page 23: BERBASIS TURBO PASCAL · PDF file- memahami topik permasalahan yang akan dibuat program pascal-nya dan ... geometri dan trigonometri berdasar diagram ... seperti kesetimbangan benda

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

b. WHILE… DO… c. REPEAT… UNTIL…

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.