Program Pascal untuk Fisika (wave on a string)

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

HASIL DAN PEMBAHASAN

Pada makalah ini bertujuan untuk mencari hubungan antara amplitudo dengan waktu yang mana amplitudo dalam makalah ini akan dicari dengan pemrograman pascal yang sebelumnya didapatkan dari pemragraman true basic. Pada pemrograman pascal berikut, input yang akan dibutuhkan adalah nilai maksimum pada gelombang kemudian perubahan spasi dalam hal ini fase dari gelombang (hubungan gelombang sinus yang diharapkan diperoleh pada percobaan ini). Input selanjutnya adalah memasukkan kecepatan gelombang yang nantinya untuk mencari frekuensi dari gelombang.

Dalam listing yang dimasukkan sebagai persamaan untuk mengeksekusi input agar diperoleh hasil yang diinginkan sesuai literatur dan juga berdasar convert dari true basic yang tersedia maka persamaan yang digunakan adalah

y[i,3]:=r2*(y[i+1,2]+y[i-1,2]+2*(1.0-r2)*y[i,2]-y[i,1]);

dengan variabel array agar bisa didapat data yang bervariasi sehingga jika tiap pertambahan data dihubungkan dengan pertambahan waktu (pertambahan waktu ini konstan) maka akan dihasilkan hubungan dua data. Keluaran yang dihasil kan misalnya

Untuk mempermudah pengamatan maka dibuat dalam bentuk grafik dengan Microsoft Office Excel. Komponen array pertama dalah sumbu y dan komponen array kedua sebagai sumbu x. Perlu diketahui juga karena dalam hal ini, pada variabel perubahan spasi dideklarasikan dengan bilangan real maka input diminta dengan nilai desimal dan tidak bisa terlalu besar karena jika terlalu besar maka saat program di run akan keluar indikator yang menyatakan “floating pint overflow”. Dari data yang diperoleh maka dibuat grafik dengan Microsoft Excel dengan hubungan amplitudo sebagai sumbu y dan waktu sebagai sumbu x yang dapat dilihat pada gambar yang paling atas grafik itu ato klik disini

Grafik yang diperoleh dalam literatur berbentuk gelombang sinus. Sedang pada program juga diperoleh hubungan gelombang sinus yang mana terdapat amplitudo maksimum dan amplitudo minimum.

PENUTUP

a. Kesimpulan

Dari makalah yang telah dibuat dapat disimpulkan :

  • Untuk kasus gelombang tali dapat diselesaikan dengan menggunakan program pascal. Dengan teknik analitik maka dapat diketahui persamaan-persamaan yang nantinya dapat digunakan dalam perumusan program pascal. Pada kasus ini keluaran yang diharapkan sudah tampak pada tampilan program, variabelnya dapat kita atur sendiri. Untuk penyelesaian gelombang tali dengan pascal ketelitiannya cukup baik.
  • Pengonversian permasalahan fisika dalam hal ini gelombang tali ke dalam pemrograman pascal dapat lebih mempermudah dan mempercepat proses penghitungan data dengan ketelitian yang relatif besar.

b. Saran

Diharapkan dengan program pascal dapat diaplikasikan lebih dalam untuk mempermudah dan mempercepat menghitung persamaan fisika lainnya