Tampilkan postingan dengan label PASCAL. Tampilkan semua postingan
6. Pengulangan Dalam Pascal
By : Unknownoleh : Muhammad Irobby Yusuf
apa berbedaan antara manusia dan komputer ? perbedaan yang sangat sederhana tapi mencolok, ada yang tau ? hehe,
jawabnnya jika komputer memiliki tombol ENTER tapi kalo manusia memiliki tombol ENTAR, hehe,
maka dari itulah jika komputer deberi perintah ENTER maka komputer akan melakukan eksekusi sesuai dengan apa yang diperintahkan,sekalipun itu berskala besar tanpa ada rasa lelah sekalipun, berbeda dengan manusia ketika akan diberi perintah, ,maka jawabannya ENTAR,ENTAR, dan ENTAR, hehe sedikit intermezo..
jika ada perintah "saya Cinta Rosulullah" sebanyak 10000 kali ? apa yang akan anda lakukan ? ditulis secara manual kah ? mungkin 1 hari baru selesai belum lagi dengan sifat alami manusia salah satunya dengan mengeluh, bosan dan lain2, dari kasus itulah kita bisa memanfaatkan kelebihan dari komputer, dimana komputer tidak pernah bosan dan dan lelah untuk melakukan perinta dan berkali-kali. dan inilah fungsi pengulangan yang akan dibahas kali ini,yaitu suatu algoritma yang akan melakukan perintah berulang-ulang sampai kondisi akhir terpenuhi.
dalam pascal terdapat 3 kontruksi pengulangan yang dapat menjadi opsi, diantaranya
1. FOR
merupakan perintah pengulangan yang akhir pengulangan nya sudah diketahui dari awal, bisa berupa Ascending ataupun Descending.
Algoritma nya :
For variable <- awal to akhir do
perintah
end
2. WHILE
merupakan perintah pengulangan selama kondisinya bernilai benar(true), jika salah maka perulangan akan berhenti, while melakukan pemeriksaan kondisi dari awal pengulangan.
Algoritmanya :
While kondisi do
perintah
end
3. Repeat
berbeda dengan while repeat akan melakukan perulangan sampai kondisi pengulangan bernilai benar(true) dan pemeriksaan kondisi dari awal pengulangan.
Algoritmanya :
Repear
perintah
until kondisi
untuk lebih jelasnya mari kita lihat script pascal dibawah ini :
bisa kita lihat dalam FOR, akhir pengulangan sudah di spesifikasi, n disini untuk menentukan jumlah pengulangan yang di inginkan. untuk while, sebelumnya kita harus menginisialisasi terlebih dahulu nilai variabel awal sebelum masuk pembanding pada perulangan WHILE, dimana pembading harus bernilai false(salah) terlebih dahulu agar perulangan itu berjalan, i disini di inisalisasikan bernilai 0(nol) sedangkan untuk n berasarkan inputan user, dan dalam badan perulangan pun ada perintah i:= i+1; maksudnya adalah agar setiap satu kali perulangan nilai i datambahkan 1, sehingga perulangan akan berakhir ketika nilai i sama dengan n atau lebih dari nilai n. sedangkan dalam REPEAT, perulangan berakhir saat kondisi bernilai benar, dimana dala badan perulangan i juga sama ditambahkan 1x setiap kali perulangan, maka perulangan akan berakhir ketika nilai kondisi perulangan bernilai true, dalam kasus ini nilai i=n.
jika di compile akan menghasilkan :
untuk selanjutnya tergantung memilih kondisi saat dimana kapan kita menggunakan FOR,WHILE dan REPEAT.
wallahualam bishawab.
Semoga Bermanfaat :)
apa berbedaan antara manusia dan komputer ? perbedaan yang sangat sederhana tapi mencolok, ada yang tau ? hehe,
jawabnnya jika komputer memiliki tombol ENTER tapi kalo manusia memiliki tombol ENTAR, hehe,
maka dari itulah jika komputer deberi perintah ENTER maka komputer akan melakukan eksekusi sesuai dengan apa yang diperintahkan,sekalipun itu berskala besar tanpa ada rasa lelah sekalipun, berbeda dengan manusia ketika akan diberi perintah, ,maka jawabannya ENTAR,ENTAR, dan ENTAR, hehe sedikit intermezo..
jika ada perintah "saya Cinta Rosulullah" sebanyak 10000 kali ? apa yang akan anda lakukan ? ditulis secara manual kah ? mungkin 1 hari baru selesai belum lagi dengan sifat alami manusia salah satunya dengan mengeluh, bosan dan lain2, dari kasus itulah kita bisa memanfaatkan kelebihan dari komputer, dimana komputer tidak pernah bosan dan dan lelah untuk melakukan perinta dan berkali-kali. dan inilah fungsi pengulangan yang akan dibahas kali ini,yaitu suatu algoritma yang akan melakukan perintah berulang-ulang sampai kondisi akhir terpenuhi.
dalam pascal terdapat 3 kontruksi pengulangan yang dapat menjadi opsi, diantaranya
1. FOR
merupakan perintah pengulangan yang akhir pengulangan nya sudah diketahui dari awal, bisa berupa Ascending ataupun Descending.
Algoritma nya :
For variable <- awal to akhir do
perintah
end
2. WHILE
merupakan perintah pengulangan selama kondisinya bernilai benar(true), jika salah maka perulangan akan berhenti, while melakukan pemeriksaan kondisi dari awal pengulangan.
Algoritmanya :
While kondisi do
perintah
end
3. Repeat
berbeda dengan while repeat akan melakukan perulangan sampai kondisi pengulangan bernilai benar(true) dan pemeriksaan kondisi dari awal pengulangan.
Algoritmanya :
Repear
perintah
until kondisi
untuk lebih jelasnya mari kita lihat script pascal dibawah ini :
bisa kita lihat dalam FOR, akhir pengulangan sudah di spesifikasi, n disini untuk menentukan jumlah pengulangan yang di inginkan. untuk while, sebelumnya kita harus menginisialisasi terlebih dahulu nilai variabel awal sebelum masuk pembanding pada perulangan WHILE, dimana pembading harus bernilai false(salah) terlebih dahulu agar perulangan itu berjalan, i disini di inisalisasikan bernilai 0(nol) sedangkan untuk n berasarkan inputan user, dan dalam badan perulangan pun ada perintah i:= i+1; maksudnya adalah agar setiap satu kali perulangan nilai i datambahkan 1, sehingga perulangan akan berakhir ketika nilai i sama dengan n atau lebih dari nilai n. sedangkan dalam REPEAT, perulangan berakhir saat kondisi bernilai benar, dimana dala badan perulangan i juga sama ditambahkan 1x setiap kali perulangan, maka perulangan akan berakhir ketika nilai kondisi perulangan bernilai true, dalam kasus ini nilai i=n.
jika di compile akan menghasilkan :
untuk selanjutnya tergantung memilih kondisi saat dimana kapan kita menggunakan FOR,WHILE dan REPEAT.
wallahualam bishawab.
Semoga Bermanfaat :)
Tag :
PASCAL,
5. Mengenal Struktur Percabangan/Pemilihan
By : Unknownoleh : Muhammad Irobby Yusuf
Assalamualaikum
untuk tutorial sekarang, kita akan membahas struktur pemilihan dalam bahasa pascal.
apa itu struktur pemilihan ?
struktur pemilihan/percabangan merupakan suatu algoritma yang memungkinkan melakukan pernyataan (statement) jika kondisi terpenuhi atau suatu algoritma untuk memecahkan suatu masalah atau persoalan dengan mengambil keputusan diantara sekian pernyataan yang ada
dan struktur pemilihan juga berfungsi
1.Membuat suatu struktur menu.
2.Memvalidasi inputan dari user.
3.Mencegah terjadinya error.
1. STRUKTUR IF
Struktur algoritma nya :
a. if kondisi then
pernyataan
endif
b. if kondisi then
begin
pernyataan 1
pernyataan 2
end if
c. if kondisi then
pernyataan1
else
pernyataan2
endif
d. if kondisi1 then
begin
pernyataan1
pernyataan2
end
else
if kondisi2 then
pernyataan3
else
pernyataan4
endif
endif
e. jika ada kasus yang menuntut beberapa pemecahan maka kita gunakan
1. kata kunci AND : apabila semua kondisi harus terpenuhi jika salah satu tidak terpenuhi maka program tidak akan meng eksekusinya
Algoritmanya :
if kondisi A and kondisi B then
statement 1
endif
2. kata kunci OR : apabila salah satu kondisi saja terpenuhi diantara beberapa kondisi
Algoritmanya :
if kondisi A or kondisi B then
statement 1
endif
untuk lebih jelasnya, mari kita lihat script dibawah ini dalam format program pascal

dalam struktur diatas dapat dilihat fungsi percabangan if berdasarkan pilihan menu yang di inputkan
dan ingat untuk tanda penutup semicolon (titik koma ";") dalam percabangan harus disimpan percabangan paling akhir dari struktur if, karena jika dalam percabangan pertama program akan error, sama menganggap percabangan selesai dalam kondisi pertama dalam semicolon yang kita tulis.
maka jika di compile akan menghasilkan :
2. STRUKTUR CASE
struktur algoritmanya :
case expersi
nilai 1 : pernyataan 1
nilai 2 : pernyataan 2
.
.
nilai n : pernyataan n
otherwise(dalam pascal else) pernyataan m
endcase;
untuk lebih jelasnya, mari kita lihat script dibawah ini dalam format program pascal
dalam fungsi case juga dapat kata kunci AND dan OR apabila memungkinkan 2 atau lebih pemecahan.
tetapi dalam fungsi case hanya dapat meng eksekusi tipe integer dan char saja.
jika di compile maka akan menghasilkan :

secara garis besar, fungsi keduanya sama saja, tinggal pandai-pandainya kita menentukan kondisi seperti apa yang cocok untuk struktur if ataupun case.
wallahualam bishawab.
semoga bermanfaat :)
Assalamualaikum
untuk tutorial sekarang, kita akan membahas struktur pemilihan dalam bahasa pascal.
apa itu struktur pemilihan ?
struktur pemilihan/percabangan merupakan suatu algoritma yang memungkinkan melakukan pernyataan (statement) jika kondisi terpenuhi atau suatu algoritma untuk memecahkan suatu masalah atau persoalan dengan mengambil keputusan diantara sekian pernyataan yang ada
dan struktur pemilihan juga berfungsi
1.Membuat suatu struktur menu.
2.Memvalidasi inputan dari user.
3.Mencegah terjadinya error.
1. STRUKTUR IF
Struktur algoritma nya :
a. if kondisi then
pernyataan
endif
b. if kondisi then
begin
pernyataan 1
pernyataan 2
end if
c. if kondisi then
pernyataan1
else
pernyataan2
endif
d. if kondisi1 then
begin
pernyataan1
pernyataan2
end
else
if kondisi2 then
pernyataan3
else
pernyataan4
endif
endif
e. jika ada kasus yang menuntut beberapa pemecahan maka kita gunakan
1. kata kunci AND : apabila semua kondisi harus terpenuhi jika salah satu tidak terpenuhi maka program tidak akan meng eksekusinya
Algoritmanya :
if kondisi A and kondisi B then
statement 1
endif
2. kata kunci OR : apabila salah satu kondisi saja terpenuhi diantara beberapa kondisi
Algoritmanya :
if kondisi A or kondisi B then
statement 1
endif
untuk lebih jelasnya, mari kita lihat script dibawah ini dalam format program pascal
dalam struktur diatas dapat dilihat fungsi percabangan if berdasarkan pilihan menu yang di inputkan
dan ingat untuk tanda penutup semicolon (titik koma ";") dalam percabangan harus disimpan percabangan paling akhir dari struktur if, karena jika dalam percabangan pertama program akan error, sama menganggap percabangan selesai dalam kondisi pertama dalam semicolon yang kita tulis.
maka jika di compile akan menghasilkan :
2. STRUKTUR CASE
struktur algoritmanya :
case expersi
nilai 1 : pernyataan 1
nilai 2 : pernyataan 2
.
.
nilai n : pernyataan n
otherwise(dalam pascal else) pernyataan m
endcase;
untuk lebih jelasnya, mari kita lihat script dibawah ini dalam format program pascal
tetapi dalam fungsi case hanya dapat meng eksekusi tipe integer dan char saja.
jika di compile maka akan menghasilkan :
secara garis besar, fungsi keduanya sama saja, tinggal pandai-pandainya kita menentukan kondisi seperti apa yang cocok untuk struktur if ataupun case.
wallahualam bishawab.
semoga bermanfaat :)
Tag :
PASCAL,
Program Sederhana Menghitung Iterasi Jacobi Dan Dekomposisi Crout
By : UnknownOleh : Muhammad Irobby Yusuf
Assalamualaikum,
kali ini saya akan sharing tugas kuliah metode numerik membuat program untuk menghitung iterasi jacobi dan dekomposisi crout :)
coba ketikan script pascal dibawah ini :
program jacobi_crout;
uses crt;
type
mat55=array [0..5,0..5] of real;
var
iterasi:boolean;
a,l,u: mat55;
b,x,y:array [0..5] of real;
k21,k31,k41:real;
k32,k42,k43:real;
a11,a12,a13,a14:real;
a21,a22,a23,a24:real;
a31,a32,a33,a34:real;
a41,a42,a43,a44:real;
b1,b2,b3,b4 : real;
x1,x2,x3,x4:array[0..20] of real;
k,i,j,n:integer;
E1,E2,E3,E4:array[0..20]of real;
menu:integer;
procedure inisialisasi;//pemberian nilai awal dalam program
begin
iterasi:=false;
n:=4;
//inisialisasi dalam array
a[0][0]:=1;a[0][1]:=2;a[0][2]:=3;a[0][3]:=-1;
a[1][0]:=2;a[1][1]:=5;a[1][2]:=4;a[1][3]:=8;
a[2][0]:=4;a[2][1]:=2;a[2][2]:=2;a[2][3]:=1;
a[3][0]:=6;a[3][1]:=4;a[3][2]:=-1;a[3][3]:=-2;
b[0]:=10;
b[1]:=8;
b[2]:=-2;
b[3]:=4;
//inisialisasi matriks
a11:=1; a12:=2; a13:=3; a14:=-1;
a21:=2; a22:=5; a23:=4; a24:=8;
a31:=4; a32:=2; a33:=2; a34:=1;
a41:=6; a42:=4; a43:=-1;a44:=-2;
b1:=10;
b2:=8;
b3:=-2;
b4:=4;
k:=0;
x1[k]:=0;x2[k]:=0;x3[k]:=0;x4[k]:=0;
end;
procedure inisialisasi_E;//nilai awal untuk E iterasi ke-0 sampai 1
begin
E1[0]:=1;E1[1]:=1;
E2[0]:=1;E2[1]:=1;
E3[0]:=1;E3[1]:=1;
E4[0]:=1;E4[1]:=1;
end;
procedure profil; //data pribadi
begin
gotoxy(47,4);write('NIM : 10112291');
gotoxy(47,5);write('Nama : Muhammad Irobby Yusuf');
gotoxy(47,6);write('Kelas : Metnum 14');
end;
procedure kotak; //garis kotak untuk profil
begin
for i:=1 to n+1 do
begin
gotoxy(45,2+i);write('|');
end;
for i:=1 to n+1 do
begin
gotoxy(79,2+i);write('|');
end;
for i:=1 to n+29 do
begin
gotoxy(45+i,3);write('-');
end;
for i:=1 to n+29 do
begin
gotoxy(45+i,7);write('-');
end;
end;
Procedure matrikB(x2:integer); //nilai matrik B
begin
for i:=0 to n-1 do
begin
gotoxy(x2,10+2*i);write(b[i]:0:0);
end;
end;
//Procedure garis Matriks A dalam soal
procedure MA; //garis matrik B
begin
gotoxy(2,3);write(' A =');
for i:=1 to n+9 do
begin
gotoxy(8,2+i);write('|');
end;
for i:=1 to n+9 do
begin
gotoxy(27,2+i);write('|');
end;
end;
//Procedure garis Matriks B dalam soal
procedure MB; //garis matrik B
begin
gotoxy(30,3);write(' B =');
for i:=1 to n+9 do
begin
gotoxy(35,2+i);write('|');
end;
for i:=1 to n+9 do
begin
gotoxy(41,2+i);write('|');
end;
end;
procedure garis1 (x1:integer);
begin
for i:=0 to n-1 do
begin
gotoxy(x1,3+i);write('|');
end;
end;
procedure garis2 (x1:integer);
begin
for i:=0 to n-1 do
begin
gotoxy(x1,10+i);write('|');
end;
end;
procedure garisY (x1:integer); //garis untuk nilai Y
begin
for i:=0 to n-1 do
begin
gotoxy(x1,20+i);write('|');
end;
end;
procedure garisv (x1:integer);
begin
for i:=0 to n+2 do
begin
gotoxy(x1,10+i);write('|');
end;
end;
procedure soal; //soal tugas
begin
gotoxy(1,1);write(' Soal : ');
for i:=0 to n-1 do
begin
for j:=0 to n-1 do
begin
gotoxy(11+4*j,3+4*i);write(a[i][j]:0:0);
end;
writeln;
end;
for i:=0 to n-1 do
begin
gotoxy(38,3+4*i);write(b[i]:0:0);
end;
writeln;
writeln;
writeln(' Membuat Program untuk Menentukan Solusi SPL diatas');
writeln(' dengan menggunakan Metode Crout dan iterasi Metode Jacobi');
end;
procedure tampilan;
begin
kotak;
profil;
MA;
MB;
soal;
end;
procedure gauss; //menentukan U dalam metode gaus naif untuk membandingkan saja
begin
writeln (' Eliminasi Gaus untuk menentukan U (sebagai pembanding saja)');
gotoxy(2,4);write('U=');
garis1(5);
k21 := -(a21/a11);
k31 := -(a31/a11);
k41 := -(a41/a11);
for i:=0 to n-1 do
begin
//elimanasi pertama
a[1][i]:= (k21*a[0][i])+a[1][i];
a[2][i]:= (k31*a[0][i])+a[2][i];
a[3][i]:= (k41*a[0][i])+a[3][i];
gotoxy(7+4*i,3);write(a[0][i]:0:0);
gotoxy(7+4*i,4);write(a[1][i]:0:0);
gotoxy(7+4*i,5);write(a[2][i]:0:0);
gotoxy(7+4*i,6);write(a[3][i]:0:0);
end;
garis1(22);
gotoxy(24,5);write('~~');
garis1(27);
k32:= -(a[2][1]/a[1][1]);
k42:= -(a[3][1]/a[1][1]);
for i:=0 to n-1 do
begin
//eliminasi pertama
a[2][i]:= (k32*a[1][i])+a[2][i];
a[3][i]:= (k42*a[1][i])+a[3][i];
gotoxy(29+4*i,3);write(a[0][i]:0:0);
gotoxy(29+4*i,4);write(a[1][i]:0:0);
gotoxy(29+4*i,5);write(a[2][i]:0:0);
gotoxy(29+4*i,6);write(a[3][i]:0:0);
end;
garis1(44);
gotoxy(46,5);write('~~');
garis1(49);
k43:= -(a[3][2]/a[2][2]);
for i:=0 to n-1 do
begin
//eliminasi ke-3
a[3][i]:= (k43*a[2][i])+a[3][i];
a[3][2]:= 0;//nilainya -0, sekian sehingga dibulatkan menjadi 0
gotoxy(51+4*i,3);write(a[0][i]:0:0);
gotoxy(51+4*i,4);write(a[1][i]:0:0);
gotoxy(51+4*i,5);write(a[2][i]:0:0);
gotoxy(51+4*i,6);write(a[3][i]:0:0);
gotoxy(63,6);write(a[3][3]:2:4);//di replace karena Tampilan matrik sebelumnya tidak angka dibelakang koma
end ;
garis1(71);
end;
//================================METODE CROUT=======================================
procedure D_crout;
begin
//===========JAWABAN PROGRAM===============
gotoxy(2,8);write('DEKOMPOSISI LU DENGAN METODE CROUT');
inisialisasi;
//menentukan U dan L dengan metode crout
u[0][0]:=a11; u[0][1]:=a12; u[0][2]:=a13; u[0][3]:=a14; //iterasi 1
l[1][0]:=a21/a11; l[2][0]:=a31/a11; l[3][0]:=a41/a11; //iterasi 2
u[1][1]:=a22-(l[1][0]*a12); u[1][2]:=a23-(l[1][0]*a13); u[1][3]:=a24-(l[1][0]*a14); //iterasi 3
l[2][1]:=(a32-(l[2][0]*a12))/u[1][1]; l[3][1]:=(a42-(l[3][0]*a12))/u[1][1]; //iterasi 4
u[2][2]:=a33-((l[2][0]*a13)+(l[2][1]*u[1][2])); u[2][3]:=a34-((l[2][0]*a14)+(l[2][1]*u[1][3])); //iterasi 5
l[3][2]:=(a43-((l[3][0]*a13)+(l[3][1]*u[1][2])))/u[2][2]; //iterasi 6
u[3][3]:=a44 - (l[3][0]*a14)-(l[3][1]*u[1][3])-(l[3][2]*u[2][3]); //itearsi z
//===============MATRIKS U================
gotoxy(2,10);write('U=');
garis2(5);
for i:=0 to n-1 do
begin
gotoxy(7+4*i,10);write(u[0][i]:0:0);
gotoxy(7+4*i,11);write(u[1][i]:0:0);
gotoxy(7+4*i,12);write(u[2][i]:0:0);
gotoxy(7+4*i,13);write(u[3][i]:0:0);
gotoxy(19,13);write(u[3][3]:2:4);// nilai U44 di replace karena hasilnya desimal sedang matrik tidak disetting desimal
end;
garis2(27);
//================MATRIKS L================
gotoxy(29,10);write('L=');
garisv(32);
l[0][0]:=1; l[1][1]:=1; l[2][2]:=1; l[3][3]:=1;
for i:=0 to n-1 do
begin
gotoxy(34,10+2*i);write(l[i][0]:0:0);
gotoxy(38,10+2*i);write(l[i][1]:0:0);
gotoxy(42,10+2*i);write(l[i][2]:0:0);
gotoxy(42,16);write(l[i][2]:2:4); //di replace karena matrik tidak menentukan angka dibelakang koma sedang hasilnya desimal
gotoxy(49,10+2*i);write(l[i][3]:0:0);
end;
garisv(51);
gotoxy(2,15);write('Nilai U dengan Gaus dan');
gotoxy(2,16);write('metode Crout bernilai sama');
//=================MATRIKS B===============
gotoxy(53,10);write('B=');
garisv(56);
matrikB(58);
garisv(61);
//Ly = b
gotoxy(2,18);write('dari persamaan Ly = b maka : dari persamaan Ux=y maka :');
gotoxy(2,20);write('Y=');
garisY(5);
//mencari nilai y
y[0]:= b[0]/l[0][0]; //mencari nilai y1 -> y1=b1/L11
y[1]:= b[1] - l[1][0]*y[0]; //mencari nilai y2 -> y2=b2-L21*y1
y[2]:= b[2] - l[2][0]*y[0] - l[2][1]*y[1] ; //mencari nilai y3 -> y3=b3-L31*y1 - L32*y2
y[3]:= b[3] - l[3][0]*y[0] - l[3][1]*y[1] - l[3][2]*y[2]; //mencari nilai y4 -> y4=b4-L41*y1 - L42*y2 - L43*y3
//output nilai y
gotoxy(7,20);write(y[0]:2:4);
gotoxy(7,21);write(y[1]:2:4);
gotoxy(7,22);write(y[2]:2:4);
gotoxy(7,23);write(y[3]:2:4);
garisy(16);
//Ux = y
//mencari nilai x
gotoxy(42,20);write('x=');
garisY(46);
x[3]:= y[3]/u[3][3]; //x4 -> y4/u44
x[2]:= (y[2] - u[2][3]*x[3])/u[2][2]; //x3 ->(y3 - u34*x4)/u33
x[1]:= (y[1] - u[1][2]*x[2] - u[1][3]*x[3])/u[1][1]; //x2 ->(y2 - u23*x3 - u24*x4)/u22
x[0]:= (y[0] - u[0][1]*x[1] - u[0][2]*x[2] - u[0][3]*x[3])/u[0][0]; //x1 ->(y1 - u12*x2 - u13*x3 - u14*x4)/u11
//output nilai x
gotoxy(48,20);write(x[0]:2:4);
gotoxy(48,21);write(x[1]:2:4);
gotoxy(48,22);write(x[2]:2:4);
gotoxy(48,23);write(x[3]:2:4);
garisy(56);
end;
//=================================METODE JACOBI===================================
procedure header; //header soal jacobi
begin
writeln('toleransi galat relatif hampiran 10^(-6) atau E<0.000006');
writeln();
writeln('diambil tebakan awal x=[0 0 0 0]T');
writeln();
writeln(' Metode Iterasi Jacobi ');
writeln('===============================================================================');
writeln('i x1 E1 x2 E2 x3 E3 x4 E4 ');
writeln('===============================================================================');
end;
procedure M_Jacobi;
begin
inisialisasi;
gotoxy(1,2);header;
repeat
begin
gotoxy(1,k+11);write(k);//nilai iterasi
//menentukan nilai iterasi x1,x2,x3,x4
x1[k+1]:=(b1 - a12*x2[k] - a13*x3[k] - a14*x4[k])/a11;
x2[k+1]:=(b2 - a21*x1[k] - a23*x3[k] - a24*x4[k])/a22;
x3[k+1]:=(b3 - a31*x1[k] - a32*x2[k] - a34*x4[k])/a33;
x4[k+1]:=(b4 - a41*x1[k] - a42*x2[k] - a43*x3[k])/a44;
//outputkan nilai
gotoxy(4,k+11);write(x1[k]:2:4);
gotoxy(23,k+11);write(x2[k]:2:4);
gotoxy(44,k+11);write(x3[k]:2:4);
gotoxy(63,k+11);write(x4[k]:2:4);
if k>1 then
begin
//menentukan nilai E1,E2,E3,E4
E1[k]:=abs((x1[k]-x1[k-1])/x1[k]);
E2[k]:=abs((x2[k]-x2[k-1])/x2[k]);
E3[k]:=abs((x3[k]-x3[k-1])/x3[k]);
E4[k]:=abs((x4[k]-x4[k-1])/x4[k]);
//outputkan nilai
gotoxy(14,k+11);write(E1[k]:2:4);
gotoxy(34,k+11);write(E2[k]:2:4);
gotoxy(54,k+11);write(E3[k]:2:4);
gotoxy(73,k+11);write(E4[k]:2:4);
end;
k:=k+1;
end; //iterasi E dimulai dari iterasi ke 3
inisialisasi_E; //karena dari iterasi ke-0 sampai 1 E bernilai 0, maka ditentukan inisalisasi awal
if (E1[k-1]<0.000006) or (E2[k-1]<0.000006) or (E3[k-1]<0.000006) or (E4[k-1]<0.000006) then
begin
iterasi:=true;
end;
until iterasi;
writeln;
writeln;
writeln('===============================================================================');
gotoxy(2,17);write('tekan Enter untuk melanjutkan ! . .');
end;
//========================MENU====================
procedure menu_pilihan(var menu:integer);
begin
repeat
gotoxy(3,19);write('Menu Pilihan : ');
gotoxy(3,20);write('1. Metode Crout ');
gotoxy(3,21);write('2. Metode Jacobi ');
gotoxy(3,22);write('0. Keluar ');
gotoxy(3,23);write('pilihan : ');readln(menu);
until menu in[0,1,2];
end;
//program utama
begin
repeat
inisialisasi;
clrscr;
tampilan; //tampilan awal program
menu_pilihan(menu);
if (menu=1) then
begin
clrscr;
gauss; //metode eliminasi gauss --> hanya sebagai pembanding nilai matriks U saja
D_crout; //metode Dekomposisi metode Crout
readln;
end;
if (menu=2) then
begin
clrscr;
M_jacobi; //metode iterasi jacobi
readln;
end;
until (menu=0);
end.
dan setelah di compile akan menampilkan menu pilihan dan soal seperti di bawah ini :
jika user memilih menu no 1 maka akan menampilkan hasil perhitungan menggunakan dekomposisi Crout seperti dibawah ini :
dan jika memilih menu no 2 maka program akan menampilkan perhitungan menggunakan iterasi jacobi seperti gambar di bawah ini :
dan jika memilih menu no 0 maka program akan keluar.
wallahualam bishawab.
semoga bermanfaat :)
Tag :
PASCAL,
TUGAS KULIAH,
4. Mengenal Tipe Data Bag.2
By : Unknownoleh : Muhammad Irobby Yusuf
Assalamualaikum
tutorial tipe data bagian 2, merupakan lanjutan dari tutorial sebelumnya, dimana sebelumnya kita membahas tentang tipe data real dan integer, dan sekarang kita akan membahas tipe data boolean,char,dan string.
tipe boolean merupakan suatu tipe data yang hanya memiliki 2 nilai, yaitu bernilai true(benar) atau false(salah) atau dapat juga dinyatakan dengan 0 dan 1, dimana 0 bernilai false dan 1 bernilai true, tapi itu semua tergantung bagaiamana mendefinisikannya. tipe char merupakan semua huruf dari A sampai z, kemudian semua angka dari 1 sampai 9 dan semua karakter khusus ASCII. sedangkan tipe data string merupakan kumpulan dari karakter atau deret dari karakter.
coba kita lihat contoh script di bawah ini :
coba kita lihat contoh script di bawah ini :
dapat kita lihat bahwa fungsi string diatas dapat menginputkan kumpulan karakter, sedangkan tipe char disini untuk menginputkan Nilai Akhir berupa kharakter, A/B/C/D/E. dalam script di atas terdapat fungsi "upcase" dimana fungsi ini berfungsi untuk menKAPITALkan huruf/char yang telah di inputkan, baik yang berupa huruf biasa maupun huruf yang sudah KAPITAL.yang nanti nya akan menjadi sebuah pembanding dalam struktur pemilihan "IF". dimana fungsi IF disini merupakan fungsi untuk menentukan pilihan jawaban diantara banyak pilihan yang tersedia. dalam fungsi terlihat bahwa variable pintar bertipe boolean, dimana boolean sendiri hanya bernilai benar atau salah saja. jika memenuhi syarat if maka pintar bernilai true dan jika tidak maka bernilai false.
dan hasilnya akan terlihat seperti di bawah ini :
wallahualam bishawab
semoga bermanfaat :)
semoga bermanfaat :)
Tag :
PASCAL,
3. Mengenal tipe data
By : UnknownOleh : Muhammad Irobby Yusuf
Assalamualaikum Wr.Wb
baik, untuk tutorial sekarang, saya akan menjelaskan tentang tipe data di dalam bahasa pemrograman.
Apa itu Tipe data ? tipe data merupakan suatu fungsi untuk mempresentasikan suatu jenis nilai, dimana dalam pascal sendiri terdiri dari 2 tipe data, yaitu tipe data dasar dan tipe data buatan,.
untuk sekarang saya akan membahas tentang tipe data dasar, kenapa disebut tipe data dasar, karena tipe data ini hanya dapat menampung 1 nilai dari setiap variabelnya. tipe data dasar terdiri dari byte,integer,real,boolean, dan string.
adapun untuk rentang nilainya sebagai berikut :
untuk lebih jelasnya, mari kita lihat gambar script dibawah ini :
dalam contoh saya mencoba untuk membuat program untuk mencari luas segitiga, tipe data yang digunakan yaitu integer dan real, tipe data integer merupakan tipe data yang berupa bilangan bulat, sedangkan tipe data real merupakan tipe data yang berupa pecahan, oleh karena itu untuk variabel luas kita pilih tipe data real, karena untuk mencari luas segitiga dapat berupa pecahan hasilnya, sedang untuk menentukan alas dan tinggi kita pilih tipe data integer, intinya kita memesan satu variabel luas bertipe data real, alas dan tinggi bertipe data integer. yap sepandai - pandainya kita dalam menentukan/memesan tipe data yang cocok dalam program yang telah kita buat, dalam Output saya tuliskan "luas :2:3", artinya saya memesan 3 tempat dibelakang koma untuk ditampilkan, hasinya bisa dilihat dibawah ini :
semoga bermanfaat :)
wallahualam bishawab.
Assalamualaikum Wr.Wb
baik, untuk tutorial sekarang, saya akan menjelaskan tentang tipe data di dalam bahasa pemrograman.
Apa itu Tipe data ? tipe data merupakan suatu fungsi untuk mempresentasikan suatu jenis nilai, dimana dalam pascal sendiri terdiri dari 2 tipe data, yaitu tipe data dasar dan tipe data buatan,.
untuk sekarang saya akan membahas tentang tipe data dasar, kenapa disebut tipe data dasar, karena tipe data ini hanya dapat menampung 1 nilai dari setiap variabelnya. tipe data dasar terdiri dari byte,integer,real,boolean, dan string.
adapun untuk rentang nilainya sebagai berikut :
untuk lebih jelasnya, mari kita lihat gambar script dibawah ini :
dalam contoh saya mencoba untuk membuat program untuk mencari luas segitiga, tipe data yang digunakan yaitu integer dan real, tipe data integer merupakan tipe data yang berupa bilangan bulat, sedangkan tipe data real merupakan tipe data yang berupa pecahan, oleh karena itu untuk variabel luas kita pilih tipe data real, karena untuk mencari luas segitiga dapat berupa pecahan hasilnya, sedang untuk menentukan alas dan tinggi kita pilih tipe data integer, intinya kita memesan satu variabel luas bertipe data real, alas dan tinggi bertipe data integer. yap sepandai - pandainya kita dalam menentukan/memesan tipe data yang cocok dalam program yang telah kita buat, dalam Output saya tuliskan "luas :2:3", artinya saya memesan 3 tempat dibelakang koma untuk ditampilkan, hasinya bisa dilihat dibawah ini :
semoga bermanfaat :)
wallahualam bishawab.
Tag :
PASCAL,
2. Input dan Output Pascal
By : Unknownoleh : Muhammad Irobby Yusuf
berlanjut dari tutorial sebelumnya, sekarang saya akan membahas tentang, input dan output data dalam pascal, bedanya kita harus mendeklarasikan sebuah variable, untuk lebih jelasnya mari kita lihat gambar script dibawah ini :
fungsi variabel disini bersifat dinamis, dimana dia sebagai pengenal yang bisa di ubah yang memiliki tipe data, dalam artian tipe data disini dapat dirubah rubah. apa itu tipe data ? tipe data berfungsi untuk mempresentasikan suatu jenis nilai, disini kita lihat bahwa variabel nama bertipe data string, dimana string merupakan kumpulan dari karakter. selain tipe data string, dipascal kita juga mengenal tipe data lainnya seperti integer,real,double dll, dan itu akan saya bahas ditutorial selanjutnya.
kita lihat fungsi "readln(nama)", sudah saya jelaskan dalam tutorial sebelumnya bahwa fungsi read sendiri adalah untuk membaca, dan readln sendiri untuk membaca kemudian MEMINDAHKAN 1 BARIS kebawah(enter), sehingga ketika menulis fungsi readln(nama), program akan membaca apa yang kita inputkan setelah program berjalan sesuai variabel yang kita deklarasikan dengan bentuk tipe data string, dan kemudian dipanggil kembali dalam fungsi write pada output data dengan cara menulis ulang nama variabel yang di inputkan sebelumnya, seperti pada gambar di atas.
maka jika kita compiler project (ctrl+f10) akan mengahasilkan tampilan seperti dibawah ini :
semoga bermanfaat :)
wallahualam bisawab.
berlanjut dari tutorial sebelumnya, sekarang saya akan membahas tentang, input dan output data dalam pascal, bedanya kita harus mendeklarasikan sebuah variable, untuk lebih jelasnya mari kita lihat gambar script dibawah ini :
fungsi variabel disini bersifat dinamis, dimana dia sebagai pengenal yang bisa di ubah yang memiliki tipe data, dalam artian tipe data disini dapat dirubah rubah. apa itu tipe data ? tipe data berfungsi untuk mempresentasikan suatu jenis nilai, disini kita lihat bahwa variabel nama bertipe data string, dimana string merupakan kumpulan dari karakter. selain tipe data string, dipascal kita juga mengenal tipe data lainnya seperti integer,real,double dll, dan itu akan saya bahas ditutorial selanjutnya.
kita lihat fungsi "readln(nama)", sudah saya jelaskan dalam tutorial sebelumnya bahwa fungsi read sendiri adalah untuk membaca, dan readln sendiri untuk membaca kemudian MEMINDAHKAN 1 BARIS kebawah(enter), sehingga ketika menulis fungsi readln(nama), program akan membaca apa yang kita inputkan setelah program berjalan sesuai variabel yang kita deklarasikan dengan bentuk tipe data string, dan kemudian dipanggil kembali dalam fungsi write pada output data dengan cara menulis ulang nama variabel yang di inputkan sebelumnya, seperti pada gambar di atas.
maka jika kita compiler project (ctrl+f10) akan mengahasilkan tampilan seperti dibawah ini :
semoga bermanfaat :)
wallahualam bisawab.
Tag :
PASCAL,
1. Tutorial Menggunakan Dev-Pascal 1.9.2
By : Unknownoleh : Muhammad Irobby Yusuf
Berikut langkah langkah dalam Menggunakan Dev-pascal, tentunya setelah instalasi software selesai :)
1. Start - All Program - Pilih/klick Dev-pascal
2. setelah muncul jendela Dev-Pascal, maka File New project sperti di bawah ini
3. setelah muncul jendela baru kemudian pilih Console Application - > ok, lalu ketikan nama project yang akan dibuat, contoh disini "latihan 1"
8. dan otomatis akan muncul jendela baru seperti di bawah ini
Berikut langkah langkah dalam Menggunakan Dev-pascal, tentunya setelah instalasi software selesai :)
1. Start - All Program - Pilih/klick Dev-pascal
2. setelah muncul jendela Dev-Pascal, maka File New project sperti di bawah ini
3. setelah muncul jendela baru kemudian pilih Console Application - > ok, lalu ketikan nama project yang akan dibuat, contoh disini "latihan 1"
4. simpan file project tersebut di tempat yang anda inginkan
5. langkah selanjutnya yaitu simpan file unit dengan menambah huruf U dibelakang nama file agar mudah dibedakan contoh"Ulatihan 1"
6. setelah itu ketikan kode di bawah ini
program latihan;
begin
writeln('Mari Belajar Bahasa Pemrograman ! ');
readln;
end.
perintah write/writeln untuk menulis atau menampilakan apa yang kita tulis kedalam layar, write untuk menulis sedangkan writeln untuk menulis dan MENINDAHKAN 1 BARIS ke bawah (enter). begitu fungsi read/readln yakni fungsi untuk membaca sobat :)
7. compile programnya dengan mengklik Execute-Program
8. dan otomatis akan muncul jendela baru seperti di bawah ini
wallahualam bishowab, semoga bermanfaat :)
Tag :
PASCAL,