Senin, 16 Juni 2014

PROGRAM TABULASI PASCAL


Berikut ini penjelasan mengenai codingan tabulasi pada pascal,dimana program ini untuk menghitung suatu rumus pada matematika lanjut,tanpa menghitung secara manual.

uses crt;
Perintah untuk menyiapkan layar. Setiap akhir statement selalu diakhiri dengan tanda ; .
label ulang;
Perintah untuk mendeklarasikan sebuah label dengan nama ulang.
var x,x1,x2,xa,xb,xc,y,y1,y2,ya,yb:real;
Perintah untuk mendeklarasikan variable x, x1, x2, xa, xb, xc, y, y1, y2, ya, dan yb menggunakan tipe data real (bilangan bulat).
    i,j,k:integer;
Perintah untuk mendeklarasikan variable i, j, dan k menggunakan tipe data integer.
    ab:char;
Perintah untuk mendeklarasikan variable ab menggunakan tipe data char (karakter huruf dan angka).
begin
Perintah untuk memulai program.
     ulang:
Menentukan compiler dari label ulang.
     clrscr;
Perintah untuk membersihkan atau mengosongkan layar.
     writeln('Tentukan akar penyelesaian dengan metode tabulasi dari f(x)=x^3-7x+1');
Perintah untuk menampilkan tulisan / komentar:
Tentukan akar penyelesaian dengan metode tabulasi dari f(x)=x^3-7x+1.
     writeln;
perintah untuk memberikan spasi baris kosong.
     write('Masukkan nilai x1 = ');
Perintah untuk menampilkan tulisan / komentar:
Masukkan nilai x1 =
     readln(x1);
Perintah untuk memeriksa input dalam variable x1 agar sesuai dengan tipe data yang telah di deklarasikan di awal program setelah itu kursor ditempatkan di baris baru.
     y1:=x1*x1*x1-7*x1+1;
Menentukan rumus penghitungan nilai hasil dari variable y1 dari nilai variable x1 dikali nilai variable x1 dikali nilai variable x1 dikurangi 7 dikali nilai variable x1 ditambah 1.
     writeln(' f(',x1:0:2,')=',y1:0:4);
Perintah untuk menampilkan tulisan:
f diikuti dengan menampilkan nilai input x1 diikuti dengan 2 digit angka 0 di belakang koma setelah nilai x1 = kemudian ditampilkan output nilai hasil variable y1 dan 4 digit angka 0 di belakang koma setelah nilai y1.
     repeat
Perintah untuk mengulangi proses.
     begin
          write('Masukkan nilai x2 = ');
Perintah untuk menampilkan tulisan / komentar:
Masukkan nilai x2 =
          readln(x2);
Perintah untuk memeriksa input dalam variable x2 agar sesuai dengan tipe data yang telah di deklarasikan di awal program setelah itu kursor ditempatkan di baris baru.

          y2:=x2*x2*x2-7*x2+1;
Menentukan rumus penghitungan nilai hasil dari variable y2 dari nilai variable x2 dikali nilai variable x2 dikali nilai variable x2 dikurangi 7 dikali nilai variable x2 ditambah 1.
          writeln(' f(',x2:0:2,')=',y2:0:4);
Perintah untuk menampilkan tulisan:
f diikuti dengan menampilkan nilai input x2 lalu diikuti dengan 2 digit angka 0 di belakang koma setelah nilai x2 = kemudian ditampilkan output nilai hasil variable y2 dan 4 digit angka 0 di belakang koma setelah nilai y2.
          writeln('Syarat(x1*x2)<0');
Perintah untuk menampilkan tulisan:
Syarat(x1*x2)<0.
          writeln('x1*x2=',y1*y2:0:5);
Perintah untuk menampilkan tulisan:
x1*x2= diikuti dengan nilai hasil proses y1 dikali y2 dengan 5 digit angka 0 di belakang koma setelahnya.
          if(y1*y2)<0 then write('Nilai OK')
          else write('Nilai tidak sesuai');
Perintah untuk menentukan suatu kondisi dimana jika nilai y1 di kali y2 lebih kecil dari 0 maka akan ditampilkan tulisan: Nilai OK. Dan jika tidak sesuai dengan kondisi tersebut, akan ditampilkan tulisan: Nilai tidak sesuai.
     end;
Perintah untuk mengakhiri bagian proses penghitungan x2 dan y2 diatas, tanda ; brarti hanya berhenti sementara dan dapat dilanjutkan dengan penulisan coding program selanjutnya.
     until(y1*y2)<0;
Proses perulangan yang dilakukan oleh perintah repeat dilakukan sampai (until) nilai variable y1 dikali y2 lebih kecil dari 0.
     k:=0;
Statement untuk menentukan nilai variable k adalah 0.
     repeat
     begin
          k:=k+1;
Statement untuk menentukan nilai k adalah nilai k itu sendiri ditambah 1.
          if x1>x2 then
          begin
               xa:=x1;
               xb:=x2;
          end
Statement kondisi jika nilai variable x1 lebih besar dari nilai variable x2 maka dimulai sebuah ketentuan bahwa nilai variable xa adalah nilai dari variable x1 dan nilai variable xb adalah nilai dari variable x2.
          else
          begin
               xa:=x2;
               xb:=x1;
          end;
Namun jika selain dari kondisi x1 lebih besar dari x2 maka dimulai sebuah ketentuan hasil lain bahwa nilai variable xa adalah nilai dari variable x2 dan nilai variable xb adalah nilai dari variable x1.

          xc:=(xa-xb)/10;
Menentukan proses penghitungan untuk nilai hasil dari variable xc adalah nilai dari variable xa dikurangi nilai xb kemudian dibagi 10.
          i:=0;
Nilai dari variable i ditentukan sebagai 0.
          repeat
          begin
               i:=i+1;
               x:=xb+xc*i;
               ya:=x*x*x-7*x+1;
               yb:=(x-xc)*(x-xc)*(x-xc)-7*(x-xc)+1;
          end;
          until(ya*yb)<0;
Perintah untuk mengulangi (repeat) proses bagian penghitungan baru dimana nilai dari variable I adalah nilai variable I itu sendiri ditambah 1.
Nilai variable x adalah nilai variable xb ditambah xc dikali nilai variable i.
Dan nilai variable ya adalah nilai hasil output variable x dikali nilai x dikali nilai x dikurangi 7 dikali nilai x ditambah 1.
Dan nilai variable yb didapat dari nilai variable x dikurangi nilai variable xc dikali nilai variable x dikurangi nilai variable xc dikali nilai variable x dikurangi nilai variable xc dikurangi 7 dikali nilai variable x dikurangi nilai variable xc ditambah 1.
Penghitungan tersebut selesai sampai (until) nilai ya dikali nilai yb lebih kecil dari 0.
          x1:=x;
Statement untuk menentukan nilai variable x1 sama dengan nilai variable x.
          x2:=x-xc;
Statement untuk menentukan nilai variable x2 sama dengan nilai variable x dikurangi nilai variable xc.
          writeln('Tabulasi ke-',k);
Perintah untuk menampilkan tulisan:
Tabulasi ke- dan diikuti output nilai dari variable k.
          writeln('--------------------------');
Perintah untuk menampilkan komentar:
--------------------------
          writeln('n     x     f(x)     error');
Perintah untuk menampilkan tulisan:
n     x     f(x)     error
          writeln('--------------------------');
          for j:=1 to 9 do
Menentukan untuk nilai dari variable j sama dengan 1 sampai 9.
          begin
               x:=xb+xc*(j-1);
               y:=x*x*x-7*x+1;
               writeln('',j,'::',x,'::',y,'::',abs(y),'::');
          end;
Statement untuk menentukan dimulainya (begin) bagian penghitungan nilai variable x sama dengan nilai variable xb ditambah nilai variable xc dikali nilai variable j yang  dikurangi 1.
Nilai dari variable y  sama dengan nilai variable x dikali nilai variable x dikali nilai variable x dikurangi 7 dikali nilai variable x ditambah 1.
Kemudian akan ditampilkan tulisan:
Output nilai j :: output nilai x :: dan output nilai y :: dimana nilai y adalah nilai absolut.

          for j:=10 to 11 do
Menentukan untuk nilai dari variable j sama dengan10 sampai 11.
          begin
               x:=xb+xc*(j-1);
               y:=x*x*x-7*x+1;
               writeln('',j,'::',x,'::',y,'::',abs(y),'::');
          end;
Statement untuk menentukan dimulainya (begin) sebuah bagian penghitungan nilai variable x sama dengan nilai variable xb ditambah nilai variable xc dikali nilai variable j yang  dikurangi 1.
Nilai dari variable y  sama dengan nilai variable x dikali nilai variable x dikali nilai variable x dikurangi 7 dikali nilai variable x ditambah 1.
Kemudian akan ditampilkan tulisan:
Output nilai j :: output nilai x :: dan output nilai y :: dimana nilai y adalah nilai absolut.
          writeln('--------------------------');
          end;
          readln;
          until abs(y)<10e-8;
Penghitungan akan diproses sampai nilai absolut variable y lebih kecil dari 10e-8.
          writeln('Akar pendekatannya adalah x=',x);
Menampilkan tulisan:
Akar pendekatannya adalah x= dan diikuti dengan output nilai x.
          writeln('Error=',abs(y));
Menampilkan tulisan:
Error= dan diikuti dengan nilai absolut y.
          writeln;
          write('Apakah anda ingin mengulangi?(Y/T): ');
Menampilkan tulisan diikuti dengan mode input pilihan Y atau T:
Apakah anda ingin mengulangi?(Y/T):
          readln(ab);
Input tersebut ditentukan sebagai variable ab dan sesuai dengan tipe data yang telah ditentukan.
          if(ab='Y') or (ab='T') then
          begin
               goto ulang;
          end;
Sebuah kondisi dari input variable ab tersebut jika inputnya adalah Y untuk Ya atau T untuk tidak, maka mulai proses untuk kembali (goto) ke bagian label ulang.
end.
Perintah untuk mengakhiri program secara keseluruhan dengan diikuti tanda titik.





Tuliskan codingan seperti ini :

  
OUTPUT :