Sabtu, 04 Desember 2010

LISTING PEMROGRAMAN WITH DO


With..Do adalah perintah untuk memasukkan sekelompok data kedalam sebuah variable. Pada umumnya perintah ini digunakan untuk memasukkan data – data kedalam sebuah file bertipe (type file).
Contoh program:
Uses wincrt;
Type
  Saya = record
  Nama : string [15];
  Umur : byte;
  Alamat : string [20];
End;

Var  DataSaya : saya;
Begin
  Clrscr ;
  With DataSaya do
  Begin
    Write ('ketik nama:');readln ( nama );
    Write ('ketik umur:');readln (umur );
    Write ('ketik alamat:');readln (alamat );
    Clrscr;
    Writeln ('selanjutnya data yang sudah dapat');
    Writeln ('disimpan kedalam sebuah record ');
    Writeln;
    Writeln ('nama :',nama);
    Writeln ('umur :',umur);
    Writeln ('alamat :',alamat);
    Readln;
    End;
End.


Pada perkuliahan Aljabar Linear, ada sebuah penyelesaian matriks dengan menggunakan GJE. Perhitungannya cukup rumit, butuh ketelitian. Karena seringnya saya ceroboh dalam menghitung. Akhirnya saya putuskan untuk membuat programnya saja. Daripada susah-susah ngitung, mending buat programnya. Jadi tinggal masukin matriksnya aja lalu enter dan muncul hasilnya, kan cara menghitungnya dan jalan rumusnya dah ngerti. Haha!!
Setelah dibuat, ternyata cukup panjang juga. Hanya saja untuk kunci iterasi-nya udah aku tentuin di x11(iterasi ke-1) dan x22(iterasi ke-2). Berikut penggalan programnya :
Bagian untuk input nilai persamaan :
writeln('Sistem Persamaan Linear 2 x 2');
writeln('Perhatian : Program ini mengambil kunci iterasi 1 pada x1 y1');
writeln;
writeln('Untuk persamaan yang pertama : ');
writeln;
write('Masukan Nilai x1 : ');readln(x11);
write('Masukan Nilai x2 : ');readln(x21);
write('Masukan Nilai y1 : ');readln(y11);
writeln;
writeln('Untuk persamaan yang kedua : ');
writeln;
write('Masukan Nilai x1 : ');readln(x12);
write('Masukan Nilai x2 : ');readln(x22);
write('Masukan Nilai y2 : ');readln(y22);





Bagian perhitungan :
{iterasi 1}
key1:=1/x11; y1x2:=(x21/x11)*-1; y1:=(y11/x11)*-1;
y2x1:=x12/x11; y2x2:=x22*((x12-x21)/x11); y2:=y22*((x12-y11)/x11);
{iterasi 2}
x1y1:=key1*((y1x2-y2x1)/y2x2); x2y1:=y1x2/y2x2; i2y1:=y1*((y1x2-y2)/y2x2);
x1y2:=(y2x1/y2x2)*-1; key2:=1/y2x2; i2y2:=(y2/y2x2)*-1;
Penampil Hasil :
writeln;
writeln('Hasil iterasi 1');
writeln('| | y1 | x2 | |');
writeln('| x1 | ',key1:1:2,' | ',y1x2:1:2,' | ',y1:1:2,' |');
writeln('| y2 | ',y2x1:1:2,' | ',y2x2:1:2,' | ',y2:1:2,' |');
writeln;
writeln('Hasil iterasi 2');
writeln('| | y1 | y2 | |');
writeln('| x1 | ',x1y1:1:2,' | ',x2y1:1:2,' | ',i2y1:1:2,' |');
writeln('| x2 | ',x1y2:1:2,' | ',key2:1:2,' | ',i2y2:1:2,' |');
writeln;
writeln;
writeln('HP:{',i2y1:1:2,',',i2y2:1:2,'}');
Program ini masih saya kembangkan, sekarang sudah nyampe di perhitungan untuk ordo 3×3. Tapi untuk penentuan kunci iterasi masih sama seperti pada program diatas. Program GJE untuk ordo 3×3 tidak saya tampilkan karena masih banyak kelemahan pada program tersebut.

Tidak ada komentar: