cara membuat source code kalkulator sistem persamaan linear tiga variabel
Cara Mengarang code program aplikasi bagi pemula.!!-Ini adalah artikel lanjutan dari calculator dolinear yg pernah saya update tahun kemarin, yang merupakan aplikasi pertama saya sebagai programer pascal & delphi sewaktu kelas 1 smk...
Untuk kali ini dholys akan berikan tutorial Menciptakan code Program aplikasi Menggunakan Bahasa Delphi /pascal bagi pemula yang ingin bermain dengan delphi dan logika matematika.
Dolinear calculator buatan saya adalah calculator SPL3V pertama yang menggunakan bahasa delphi dan merupakan calculator pertama yg dibuat berextensi* .exe, hahah.... tapi...!!
tapi pemrograman saya masih jelek wkwkw,w,,w,....maklum saja saya bukan anak kuliahan,,hanya siswa smk TKJ, karna itu para delphier master yg lagi baca mohon dimaklumi ea,, namanya juga usaha...!!
disini in ITsystemID saya meggunakan bahasa delphi,buat kamu yang make bahasa lain silahkan sesuaikan dengan bahasa anda,karna saya jelaskan alur penciptaan codeya..
ok langsung aja..
A.MASALAH YANG AKAN DIPECAHKAN
Untuk masalah/persoalan yg ingin dholys pecahkan adalah cara menghitung soal Sistem Persamaan Liner 3Variabel dengan cepat.Bentuk umum dari sistem persamaan linear 3 peubah adalah sebagai berikut:
a1x + b1y + c1z = d1
a2x + b2y + c2z = d2
a3x + b3y + c3z = d3
dengan a1,b1,c1,d1, a2,b2,c2,d2, a3,b3,c3,d3
adalah bilangan real.
Nilai-nilai x,y,z yang memenuhi ketiga persamaan diatas disebut penyelesaian dari sistem persamaan linear 3 variabel.untuk lebih memaham SPL3V perhatikan contoh berikut:
note:"contoh ini akan terus kita gunakan hingga akhir ebook ini,mohon diperhatikan dengan baik karna
logika berpikir saya mungkin berbeda dengan anda "
contoh:
(1) 2x - y + z = 5
x - 2y + 3z = 9
x + 3y + z = 0
Penyelesaian
Dari pers(1) dan pers(2),eleminasi (x/y/z)
contoh:
(1) 2x - y + z = 5
x - 2y + 3z = 9
x + 3y + z = 0
Penyelesaian
Dari pers(1) dan pers(2),eleminasi (x/y/z)
2x - y + z = 5 |X 3| 6x - 3y + 3z = 15
x – 2y + 3z = 9 |X 1| x - 2y + 3z = 9
_______________________-
5x - y = 6 .......... Pers ke(4)
(2) Dari pers(1) dan pers(3), (bisa juga menggunakan pers(2) dan pers(3)selama salah satu pers belum
pernah di eliminasi)
Dari pers(1) dan pers(2),eleminasi (x/y/z),(tips: cari yang paling cepat dihilangkan)
2x - y + z = 5
x + 3y + z = 0
________ - x - 4y = 5 ...........Pers ke(5)
(3)Dari pers(4) dan pers (5)
(eleminasi x/y/z) atau (eleminasi x/y/z)
5x - y = 6 |X 4| 20x - 4y = 24 5x - y = 6 |X 1| 5x - y = 6
(3)Dari pers(4) dan pers (5)
(eleminasi x/y/z) atau (eleminasi x/y/z)
5x - y = 6 |X 4| 20x - 4y = 24 5x - y = 6 |X 1| 5x - y = 6
x - 4y = 5 |X 1| x - 4y = 5 x - 4y = 5 |X 5| 5x - 20y = 25
________________ - _______ -
________________ - _______ -
19x = 19 19y = -19
x = 19/19 y = -19 / 19
x = 1 y=-1
x = 19/19 y = -19 / 19
x = 1 y=-1
note:"pilih salah satu saja jangan pakai keduanya,namun untuk calculator dolinear SPL3V
menggunakan eliminasi x saja,kecuali anda inginkan code program yang lebih kompleks
dan lebih singkat ^_^,artikel ini berdasarkan calculator dolinear"
(4) terserah sih mau eleminasi yang mana karna kedua nya hasilnya benar,
nah langkah berikutnya:
subtitusi nilai variabel x yang didapat ke pers (4) atau pers (5), kenapa tidak kepers 1/2 atau 3 saja?
itu karena jika variabel x disubtitusi kepers-pers tersebut maka kita tidak akan menemukan nilai variabel
berikutnya(z).malah kita akan menciptakan persamaan baru yakni PL2V lagi.
terkecuali lagi anda men-subtitusi var x dan var y sekaligus kepers 1,2 dan 3 maka anda akan mene
mukan nilai var z.
contoh: pers 1
2x - y + z =5
2(1)-(-1) +z =5
2+1+z =5
3 + z =5
z=5-3 (3 berpindah tempat ,artinya dikali -1 /tanda berubah)
z=2
kembali lagi ke alur soal kita setelah no3,
(subtitusi nilai var y yang didapat ke pers(4) atau pers(5)) " ingat.! di no 3 kita make eliminasi x bukan eliminasi y"
x - 4y = 5
x - 4(-1) = 5
x + 4 = 5
x = 5 -4
x = 1
(5) subtitusi nilai var x dan var y kepers 1/2/3
(usahakan selalu yang paling mudah disubtitusi antara pers1/2 atau 3)
2x - y + z = 5
2(1) - ( -1) + z = 5
2 + 1 + z = 5
3 + z =5
z=5 - 3
z=2
nah sekarang nilai variabel-variabelnya sudah didapat x,y,z (1,-1,2)
B. Menciptakan Code program dari data yang didapat
OK.sebelum anda masuk ke pembahasan berikutnya ada baiknya anda memahami SPL dengan baik karna akan dapat memudahkan anda dalam menciptakan code.
Soal kita kali ini akan saya ganti dengan yang baru biar lebih paham,silahkan kerjakan soal berikut seperti bagian A diatas.
Hahah…jangan males!, klo anda gak ngerti cara diatas gimana mau ngerti bagian ini.yg penting kerjakan soal ini berdasarkan cara diatas kalau bisa penyelesaiannya sama persis ea.
1x – 2y + 1z = 0
3x + 1y - 1z =5
1x – 3y - 2z =-15
HP-nya nanti akan ketemu HP{2,3,4}
Tips cepat memahami code berikut:
1.buka kedua code (CODE 1 dan CODE2) di dua jendela berbeda,focuskan monitor anda ke code 1 dan
code2 tadi
2.Baca baris pertama code 1>> baca baris pertama code 2,begitu seterusnya hingga setiap baris selesai
anda baca
CODE 1(Masukkan proses perhitungan SPL3V diatas disini)
procedure TForm1.hitungClick(Sender: TObject);
var
// deklarasikan identifier-identifier yang anda buat disini
sax,sbx,scx,say,sby,scy,saz,sbz,scz,spers1,spers2,spers3,
a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,
aa,bb,cc,dd,ee,ff,gg,hh,ii,jj,kk,ll,mm,nn,oo,pp,qq,rr,ss,tt,uu,
aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj,
a1,a2,a3,b1,b2,b3,b4,b5:Real;
sima,simb,simc,simd,sime,simf:real; //untuk nilai operator
begin
{untuk sesi ini kita kasih nilai =1,nantinya berguna jika anda menambahkan tombol
tambah atau kurang}
sima:=1;
simb:=1;
simc:=1;
simd:=1;
sime:=1;
simf:=1;
// sumber Input data,sesuaikan dengan sumberinput data kamu
sax := 1; //mengubah text string milik Tedit menjadi type real
sbx := 3;
scx := 1;
say := -2;
sby := 1;
scy := -3;
saz := 1;
sbz := -1;
scz := -2;
spers1:= 0;
spers2:= 5;
spers3:= -15;
{Proses Perhitungan SPL3V,untuk penjelasan code segera di tambahkan,namun jika
anda mengikuti tips saya sebelumnya anda pasti mudah mengerti}
a := 1*-1; //hasil = -1
b := -1 / 1; //hasil = -1
c := -1*-2; //hasil = 2
d := -1*1; //hasil = -1
e := -1*0; //hasil = 0
f := -1/-1; //hasil = 1
g := 1*1; //hasil = 1
h := 1*3; //hasil =3
i := 1*5; //hasil =5
j := 1*2; //hasil =2
k := 1*1; //hasil =1
l := 1*1*-1; //hasil = -1
m := 3*-1*-1; //hasil = 3
n := -1*-1; //hasil =1
o := (3+1)*-1; //hasil = -4
p := 1*-1*-1; //hasil =1
q := 2*-1; //hasil = -2
r := (1+(-2))*-1; //hasil =1
s := 5*-1*-1; //hasil = 5
t := 0*-1; //hasil =0
u := (5+0)*-1; //hasil = -5
v := 1*-1; //hasil = -1
aa := 1*-2; //hasil = -2
bb := -2/1; //hasil = -2
cc := -2*-2; //hasil =4
dd := -2*1; //hasil = -2
ee := -2*0; //hasil = 0
ff := -2/-2; //hasil =1
gg := 1*-3; //hasil =-3
hh := 1*1; //hasil =1
ii := 1*-15; //hasil =-15
jj := 1*4; //hasil = 4
kk := 1*-3; //hasil =-3
ll := 1*1*-1; //hasil =-1
mm := 1*-1*-1; //hasil =1
nn := -2*-1; //hasil =2
oo := (1+2)*-1; //hasil =-3
pp := -3*-1*-1; //hasil =-3
qq := 4*-1; //hasil =-4
rr := (-3+(-4))*-1; //hasil =7
ss := -15*-1*-1; //hasil =-15
tt := 0*-1; //hasil =0
uu := (-15+0)*-1; //hasil =15
aaa := -4*-3; //hasil =12
bbb := 12/-4; //hasil =-3
ccc := -3*1; //hasil =-3
ddd := -3*-5; //hasil =15
eee := 12/-3; //hasil =-4
fff := -4*7; //hasil =-28
ggg := -4*15; //hasil =-60
hhh := -3-(-28); //hasil =25
iii := 15-(-60); //hasil =75
jjj :=75/25; //hasil = 3,nilai variable Y ditemukan
a1 := 3*7; //hasil =21
a2 := 15-21; //hasil =-6
a3 := -6/-3; //hasil =2, nilai variable X ditemukan
b1 := -1*2; //hasil =-2
b2 := 2*3; //hasil =6
b3 := -2+6; //hasil =4
b4 := 0-4; //hasil =-4
b5 := -4/-1; //hasil =4, nilai variable Z ditemukan
//Tampilkan nilai yang sudah ditemukan
nilaix.Text:=2;
nilaiy.Text:=3;
nilaiz.Text:=4;
end;
CODE2 (Ganti angka-angka diatas menjadi identifier,Code program yang sudah jadi)
procedure TForm1.hitungClick(Sender: TObject);
var
// deklarasikan identifier-identifier yang anda buat disini
sax,sbx,scx,say,sby,scy,saz,sbz,scz,spers1,spers2,spers3,
a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,
aa,bb,cc,dd,ee,ff,gg,hh,ii,jj,kk,ll,mm,nn,oo,pp,qq,rr,ss,tt,uu,
aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj,
a1,a2,a3,b1,b2,b3,b4,b5:Real;
sima,simb,simc,simd,sime,simf:real; //untuk nilai operator
begin
{untuk sesi ini kita kasih nilai =1,nantinya berguna jika anda menambahkan tombol
tambah atau kurang}
tambah atau kurang}
sima:=1;
simb:=1;
simc:=1;
simd:=1;
sime:=1;
simf:=1;
// sumber Input data,sesuaikan dengan sumberinput data kamu
sax := strtofloat(ax.Text); //mengubah text string milik Tedit menjadi type real
sbx := strtofloat(bx.text);
scx := strtofloat(cx.text);
say := strtofloat(ay.text);
sby := strtofloat(by.Text);
scy := strtofloat(cy.Text);
saz := strtofloat(az.Text);
sbz := strtofloat(bz.Text);
scz := strtofloat(cz.text);
spers1:= strtofloat(pers1.text);
spers2:= strtofloat(pers2.text);
spers3:= strtofloat(pers3.text);
{Proses Perhitungan SPL3V,untuk penjelasan code segera di tambahkan,namun jika
anda mengikuti tips saya sebelumnya anda pasti mudah mengerti}
anda mengikuti tips saya sebelumnya anda pasti mudah mengerti}
a := saz*sbz;
b := a/saz;
c := b*say;
d := b*sax;
e := b*spers1;
f := a/sbz;
g := f*sby;
h := f*sbx;
i := f*spers2;
j := sima*c;
k := simc*g;
l := simb*simd*-1;
m := h*l*-1;
n := d*-1;
o := (m+n)*-1;
p := k*l*-1;
q := j*-1;
r := (p+q)*-1;
s := i*l*-1;
t := e*-1;
u := (s+t)*-1;
v := simb*a;
aa := saz*scz;
bb := aa/saz;
cc := bb*say;
dd := bb*sax;
ee := bb*spers1;
ff := aa/scz;
gg := ff*scy;
hh := ff*scx;
ii := ff*spers3;
jj := sima*cc;
kk := sime*gg;
ll := simb*simf*-1;
mm := hh*ll*-1;
nn := dd*-1;
oo := (mm+nn)*-1;
pp := kk*ll*-1;
qq := jj*-1;
rr := (pp+qq)*-1;
ss := ii*ll*-1;
tt := ee*-1;
uu := (ss+tt)*-1;
aaa := o*oo;
bbb := aaa/o;
ccc := bbb*r;
ddd := bbb*u;
eee := aaa/oo;
fff := eee*rr;
ggg := eee*uu;
hhh := ccc-fff;
iii := ddd-ggg;
jjj := iii/hhh;
a1 := jjj*rr;
a2 := uu-a1;
a3 := a2/oo;
b1 := d*a3;
b2 := j*jjj;
b3 := b1+b2;
b4 := e-b3;
b5 := b4/v;
//Tampilkan nilai yang sudah ditemukan
nilaix.Text:=floattostr(a3);
nilaiy.Text:=floattostr(jjj);
nilaiz.Text:=floattostr(b5);
end;
Penjelasan:
1.untuk sima sampai simf,adalah variabel milik Tbutton operator tambah dan operator
kurang,variabel ini berguna jika nantinya anda menambahkan tombol operasi pada
aplikasi andaseperti Dolinear

Itu action sript yg digunakan yg mana ya kak? Saya tertarik memasukkan kalkulator spltv di media saya mohon bantuannya ya
BalasHapustolong bisa kasih unjuk hasil kalkulatornya ga ka?
BalasHapus