Operasi bilangan Komplek

Januari 6, 2007 at 2:17 pm (pemprograman)

Mungkin ini sedikit tugasku yang dah aku kumpulin dan presentasikan di depan kelas…

Algoritma Operasi Bilangan Kompleks

  1. Deklarasikan setiap operasi bilangan menggunakan character mulai dari a sampai q ( a untuk operasi bilangan real sampai q untuk perintah keluar).
  2. Minta inputan dari user menentukan operasi bilangan yang akan dipilih.
  3. Cek inputan dari user jika a masuk ke no 4, jika b masuk ke no 5, jika c masuk ke no 6, jika d masuk ke no 7, jika e masuk ke no 8, jika f masuk ke no 9, jika g masuk ke no 10, jika h masuk ke no 11, jika i masuk ke no 12, jika j masuk ke no 13, jika k masuk ke no 14, jika l masuk ke no 15, jika m masuk ke no 16, jika n masuk ke no 17, jika o masuk ke no 18, jika p masuk ke no 19, jika q masuk ke no 20.
  4. Minta inputan user simpan dalam variable x1 dan y1, masukkan nilai dari x1 ke variable total. Cetak ke layer dimana x1 + y1i = total. Ke no 21.
  5. Minta inputan dari user simpan dalam variable x1 dan y1, masukkan nilai dari y1 ke variable total. Cetak ke layer dimana x1 + y1i = total. Ke no 21.
  6. Minta inputan dari user simpan dalam variable x1 dan y1. Cetak ke layer dimana x1 + y1i = x1 – y1i. Ke no 21.
  7. Minta inputan dari user simpan dalam variable x1 dan y1. Cetak ke layer dimana x1 + y1i = -x1 – y1i. Ke no 21.
  8. Minta inputan dari user simpan dalam variable x1 dan y1, buat variable total. Hitung nilai dari arctan (x1/y1), masukkan ke variable total. Cetak ke layer dimana x1 + y1i = total. Ke no 21.
  9. Minta inputan dari user simpan dalam variable x1, y1, x2, y2, buat variable xtotal. Hitung nilai dari x1 + x2 , masukkan ke variable xtotal, buat variable ytotal. Hitung nilai dari y1 + y2 , masukkan ke variable ytotal Cetak ke layer dimana ( x1 + y1i ) + ( x2 + y2 ) = xtotal + ytotal. Ke no 21.
  10. Minta inputan dari user simpan dalam variable x1, y1, x2, y2, buat variable xtotal. Hitung nilai dari x1 – x2 , masukkan ke variable xtotal, buat variable ytotal. Hitung nilai dari y1 – y2 , masukkan ke variable ytotal Cetak ke layer dimana ( x1 + y1i ) – ( x2 + y2 ) = xtotal + ytotal. Ke no 21.
  11. Minta inputan dari user simpan dalam variable x1, y1, x2, y2, buat variable xtotal. Hitung nilai dari (x1 * x2 – y1 * y2), masukkan ke variable xtotal, buat variable ytotal. Hitung nilai dari (y1 * x2 + x1 * y2), masukkan ke variable ytotal Cetak ke layer dimana ( x1 + y1i ) * ( x2 + y2 ) = xtotal + ytotal. Ke no 21.
  12. Minta inputan dari user simpan dalam variable x1, y1, x2, y2, buat variable xtotal. Hitung nilai dari (x1 * x2 + y1 * y2) / (sqr (x2) + sqr (y2)), masukkan ke variable xtotal, buat variable ytotal. Hitung nilai dari (y1 * x2 – x1 * y2) / (sqr (x2) + sqr (y2)), masukkan ke variable ytotal Cetak ke layer dimana ( x1 + y1i ) / ( x2 + y2 ) = xtotal + ytotal. Ke no 21.
  13. Minta inputan dari user simpan dalam variable x1 dan y1, buat variable total. Hitung nilai dari sqrt ( sqr(x1) + sqr(y1) ), masukkan ke variable total. Cetak ke layer dimana x1 + y1i = total. Ke no 21.
  14. Minta inputan dari user simpan dalam variable x1, y1, n, buat variable xtotal. Hitung nilai dari (exp (n) + ln (sqrt (sqr(x1) + sqr (y1)))) * (cos (n * arctan (y1 / x1))) masukkan ke variable xtotal, buat variable ytotal. Hitung nilai dari (exp (n) + ln (sqrt (sqr(x1) + sqr (y1)))) * (sin (n * arctan (y1 / x1))), masukkan ke variable ytotal Cetak ke layer dimana ( x1 + y1i ) n = xtotal + ytotal. Ke no 21.
  15. Minta inputan dari user simpan dalam variable x1, y1, buat variable xtotal. Hitung nilai dari sqrt (sqrt (sqr(x1) + sqr (y1)) * cos (arctan (y1/x1) / 2)) masukkan ke variable xtotal, buat variable ytotal. Hitung nilai dari sqrt (sqrt (sqr(x1) + sqr (y1)) * sin (arctan (y1/x1) / 2)), masukkan ke variable ytotal Cetak ke layer dimana ( x1 + y1i ) n = xtotal + ytotal. Ke no 21.
  16. Minta inputan dari user simpan dalam variable x1 dan y1, buat variable xtotal. Hitung nilai dari exp (x1) * cos (y1), masukkan ke variable xtotal, buat variable ytotal. Hitung nilai dari exp (x1) * sin (y1), masukkan ke variable ytotal. Cetak ke layer dimana x1 + y1i = xtotal + ytotal. Ke no 21.
  17. Minta inputan dari user simpan dalam variable x1 dan y1, buat variable total. Hitung nilai dari exp (x1-y1) + exp (y1-x1) / 2, masukkan ke variable total. Cetak ke layer dimana x1 + y1i = total. Ke no 21.
  18. Minta inputan dari user simpan dalam variable x1 dan y1, buat variable total. Hitung nilai dari exp (x1+y1) – exp (-y1-x1) / 2, masukkan ke variable total. Cetak ke layer dimana x1 + y1i = total. Ke no 21.
  19. Minta inputan dari user simpan dalam variable x1 dan y1, buat variable total. Hitung nilai dari ln(sqrt (sqr(x1) + sqr(y1))) + y1/x1, masukkan ke variable total. Cetak ke layer dimana x1 + y1i = total. Ke no 21.
  20. Keluar dari program.
  21. Minta inputan user simpan dalam variable pilih, jika bernilai char ‘Y’, ke no 2, jika tidak ke no 20.

program OperasiBilanganKompleks;
uses
wincrt;
label
awal ;
var
x1, x2, y1, y2, xtot, ytot, total, n : real;
pilih : char;

procedure real;
begin
writeln (‘Bil.Kompleks’);
write (‘X : ‘);
readln (x1);
write (‘Y : ‘);
readln (y1);
total := x1;
writeln (#13,’Bil.Real dari bil.Kompleks adalah :’);
writeln (‘Re (Z) = Re (‘,x1:0:2,’+’,y1:0:2,’i) = ‘,total:0:2);
end;

procedure imajiner;
begin
writeln (‘Bil.Kompleks’);
write (‘X : ‘);
readln (x1);
write (‘Y : ‘);
readln (y1);
total := y1;
writeln (#13,’Bil.Imajiner dari bil.Kompleks adalah :’);
writeln (‘Im (Z) = Im (‘,x1:0:2,’+’,y1:0:2,’i) = ‘,total:0:2);
end;

procedure konjungsi;
begin
writeln (‘Bil.Kompleks’);
write (‘X : ‘);
readln (x1);
write (‘Y : ‘);
readln (y1);
writeln (#13,’Hasil perhitungan konjugasi bilangan kompleks adalah :’);
writeln (‘Konjugasi Z = Konjugasi (‘,x1:0:2,’+’,y1:0:2,’i) = ‘,x1:0:2,’ – ‘,y1:0:2,’ i’);
end;

procedure invers;
begin
writeln (‘Bilangan kompleks’);
write (‘X : ‘);
readln (x1);
write (‘Y : ‘);
readln (y1);
writeln (#13,’Hasil perhitungan invers bilangan kompleks adalah :’);
writeln (‘Invers Z = Invers (‘,x1:0:2,’+’,y1:0:2,’i) = -‘,x1:0:2,’ – ‘,y1:0:2,’ i’);
end;

procedure fase;
begin
writeln (‘Bilangan kompleks’);
write (‘X : ‘);
readln (x1);
write (‘Y : ‘);
readln (y1);
total := arctan (y1 / x1);
writeln (#13,’Hasil perhitungan fase bilangan kompleks adalah :’);
writeln (‘Fase (Z) = Fase (‘,x1:0:2,’+’,y1:0:2,’i) = ‘,total:0:2);
end;

procedure jumlah;
begin
writeln (‘Bilangan kompleks ke-1’);
write (‘X : ‘);
readln (x1);
write (‘Y : ‘);
readln (y1);
writeln (‘Bilangan kompleks ke-2’);
write (‘X : ‘);
readln (x2);
write (‘Y : ‘);
readln (y2);
xtot := x1 + x2;
ytot := y1 + y2;
writeln (#13,’Hasil penjumlahan bilangan kompleks adalah :’);
writeln (‘Z1 + Z2 = (‘,x1:0:2,’+’,y1:0:2,’i) + (‘,x2:0:2,’+’,y2:0:2,’i) = ‘,xtot:0:2,’ + ‘,ytot:0:2,’ i’);
end;

procedure kurang;
begin
writeln (‘Bilangan kompleks ke-1’);
write (‘X : ‘);
readln (x1);
write (‘Y : ‘);
readln (y1);
writeln (‘Bilangan kompleks ke-2’);
write (‘X : ‘);
readln (x2);
write (‘Y : ‘);
readln (y2);
xtot := x1 – x2;
ytot := y1 – y2;
writeln (#13,’Hasil pengurangan bilangan kompleks adalah :’);
writeln (‘Z1 – Z2 = (‘,x1:0:2,’+’,y1:0:2,’i) – (‘,x2:0:2,’+’,y2:0:2,’i) = ‘,xtot:0:2,’ + ‘,ytot:0:2,’ i’);
end;

procedure kali;
begin
writeln (‘Bilangan kompleks ke-1’);
write (‘X : ‘);
readln (x1);
write (‘Y : ‘);
readln (y1);
writeln (‘Bilangan kompleks ke-2’);
write (‘X : ‘);
readln (x2);
write (‘Y : ‘);
readln (y2);
xtot := (x1 * x2 – y1 * y2);
ytot := (y1 * x2 + x1 * y2);
writeln (#13,’Hasil perkalian bilangan kompleks adalah :’);
writeln (‘Z1 * Z2 = (‘,x1:0:2,’+’,y1:0:2,’i) * (‘,x2:0:2,’+’,y2:0:2,’i) = ‘,xtot:0:2,’ + ‘,ytot:0:2,’ i’);
end;

procedure bagi;
begin
writeln (‘Bilangan kompleks ke-1’);
write (‘X : ‘);
readln (x1);
write (‘Y : ‘);
readln (y1);
writeln (‘Bilangan kompleks ke-2’);
write (‘X : ‘);
readln (x2);
write (‘Y : ‘);
readln (y2);
xtot := (x1 * x2 + y1 * y2) / (sqr (x2) + sqr (y2));
ytot := (y1 * x2 – x1 * y2) / (sqr (x2) + sqr (y2));
writeln (#13,’Hasil pembagian bilangan kompleks adalah :’);
writeln (‘Z1 / Z2 = (‘,x1:0:2,’+’,y1:0:2,’i) / (‘,x2:0:2,’+’,y2:0:2,’i) = ‘,xtot:0:2,’ + ‘,ytot:0:2,’ i’);
end;

procedure absolut;
begin
writeln (‘Bilangan kompleks’);
write (‘X : ‘);
readln (x1);
write (‘Y : ‘);
readln (y1);
total := sqrt ( sqr(x1) + sqr(y1) );
writeln (#13,’Hasil perhitungan harga mutlak bilangan kompleks adalah :’);
writeln (‘|Z| = |’,x1:0:2,’+’,y1:0:2,’i| = ‘,total:0:2,’ i’);
end;

procedure pangkat;
begin
writeln (‘Bilangan kompleks’);
write (‘X : ‘);
readln (x1);
write (‘Y : ‘);
readln (y1);
write (‘Pangkat bilangan kompleks (n): ‘);
readln (n);
xtot := (exp (n) + ln (sqrt (sqr(x1) + sqr (y1)))) * (cos (n * arctan (y1 / x1)));
ytot := (exp (n) + ln (sqrt (sqr(x1) + sqr (y1)))) * (sin (n * arctan (y1 / x1)));
writeln (#13,’Hasil perhitungan pangkat bilangan kompleks adalah :’);
writeln (‘Z^n = (‘,x1:0:2,’+’,y1:0:2,’i)^n = ‘,xtot:0:2,’ + ‘,ytot:0:2,’ i’);
end;

procedure akar;
begin
writeln (‘Bilangan kompleks’);
write (‘X : ‘);
readln (x1);
write (‘Y : ‘);
readln (y1);
xtot := sqrt (sqrt (sqr(x1) + sqr (y1)) * cos (arctan (y1/x1) / 2));
ytot := sqrt (sqrt (sqr(x1) + sqr (y1)) * sin (arctan (y1/x1) / 2));
writeln (#13,’Hasil perhitungan akar bilangan kompleks adalah :’);
writeln (‘Z^n = (‘,x1:0:2,’+’,y1:0:2,’i)^n = ‘,xtot:0:2,’ + ‘,ytot:0:2,’ i’);
end;

procedure eksponen;
begin
writeln (‘Bilangan kompleks’);
write (‘X : ‘);
readln (x1);
write (‘Y : ‘);
readln (y1);
xtot := exp (x1) * cos (y1);
ytot := exp (x1) * sin (y1);
writeln (#13,’Hasil perhitungan eksponen bilangan kompleks adalah :’);
writeln (‘exp Z = exp (‘,x1:0:2,’+’,y1:0:2,’i) = ‘,xtot:0:2,’ + ‘,ytot:0:2,’ i’);
end;

procedure cos;
begin
writeln (‘Bilangan kompleks’);
write (‘X : ‘);
readln (x1);
write (‘Y : ‘);
readln (y1);
total := exp (x1-y1) + exp (y1-x1) / 2;
writeln (#13,’Hasil perhitungan fungsi cos bilangan kompleks adalah :’);
writeln (‘cos Z = cos (‘,x1:0:2,’+’,y1:0:2,’i) = ‘,total:0:2);
writeln (#13,’NB : Maaf Pak, kalau programnya salah’);
writeln (‘ Ini di luar batas kemampuan kami’);
end;

procedure sin;
begin
writeln (‘Bilangan kompleks’);
write (‘X : ‘);
readln (x1);
write (‘Y : ‘);
readln (y1);
total := exp (x1+y1) – exp (-y1-x1) / 2;
writeln (#13,’Hasil perhitungan fungsi sin bilangan kompleks adalah :’);
writeln (‘sin Z = sin (‘,x1:0:2,’+’,y1:0:2,’i) = ‘,total:0:2);
writeln (#13,’NB : Maaf Pak, kalau programnya salah’);
writeln (‘ Ini di luar batas kemampuan kami’);
end;

procedure logaritma;
begin
writeln (‘Bilangan kompleks’);
write (‘X : ‘);
readln (x1);
write (‘Y : ‘);
readln (y1);
total := ln(sqrt (sqr(x1) + sqr(y1))) + y1/x1;
writeln (#13,’Hasil perhitungan logaritma bilangan kompleks adalah :’);
writeln (‘ln Z = ln (‘,x1:0:2,’+’,y1:0:2,’i) = ‘,total:0:2);
end;

{******* Main Program *******}
begin
awal:
clrscr;
writeln (‘+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+’);
writeln (‘***************** PROGRAM *******************’);
writeln (‘***************** RUSLAN *******************’);
writeln (‘+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+’);
writeln (#13,’a. Real (Z)’);
writeln (‘b. Imajiner (Z)’);
writeln (‘c. Konjungsi’);
writeln (‘d. Invers (Negatif)’);
writeln (‘e. Fase’);
writeln (‘f. Penjumlahan’);
writeln (‘g. Pengurangan’);
writeln (‘h. Perkalian’);
writeln (‘i. Pembagian’);
writeln (‘j. Absolut (Harga Mutlak)’);
writeln (‘k. Pangkat’);
writeln (‘l. Akar’);
writeln (‘m. Eksponen’);
writeln (‘n. Fungsi Cos’);
writeln (‘o. Fungsi Sin’);
writeln (‘p. Logaritma’);
writeln (‘q. Keluar’);
write (#13,’Pilihan : ‘);
readln (pilih);
clrscr;
case upcase(pilih) of
‘A’ : real;
‘B’ : imajiner;
‘C’ : konjungsi;
‘D’ : invers;
‘E’ : fase;
‘F’ : jumlah;
‘G’ : kurang;
‘H’ : kali;
‘I’ : bagi;
‘J’ : absolut;
‘K’ : pangkat;
‘L’ : akar;
‘M’ : eksponen;
‘N’ : cos;
‘O’ : sin;
‘P’ : logaritma;
‘Q’ : exit;
end;
writeln (#13,’Coba lagi ? ‘);
write (‘Pilihan anda (Ya / Tidak) : ‘);
readln (pilih);
if upcase(pilih)=’Y’ then goto awal
else begin;
end;
end.

3 Komentar

  1. chester said,

    klu boleh aku tanyalisting program yang kamu tulis di aplikasikan k program apa.

  2. sLb said,

    boz klu yg bwd c++ ada g?

  3. เกมส์ said,

    Hey, you have a great blog here! I’m definitely going to bookmark you! Thank you for your info.And this is เกมส์ site/blog. It pretty much covers ###เกมส์## related stuff.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: