Modul Kalkulus


Himpunan, Operasi Himpunan, Sistem Bilangan real, Fungsi dan Limit

Volume Bangun Ruang


Untuk meningkatkan pemahaman tentang pemograman struktur Switch-Case-End, kontruksilah program untuk menghitung volume bangun ruang dengan skrip program dengan langkah-langkah sebagai berikut.

clear all;

clc;

disp(‘========================================’);

disp(‘Program      : Volume Bangun Ruang’);

disp(‘Oleh         : Petrus Fendiyanto’);

disp(‘========================================’);

disp(‘Masukkan pilihan rumus perhitungan yang anda butuhkan’);

disp(‘1. volume balok’);

disp(‘2. volume tabung’);

disp(‘3. volume kerucut’);

disp(‘4. volume kubus’);

p=input(‘silahkan—–> ‘);

switch p

case 1

disp(‘Menghitung volume balok’);

disp(‘————————‘);

p = input(‘panjang =  ‘);

l = input(‘lebar = ‘);

t = input (‘tinggi = ‘);

v = p.*l.*t;

disp([‘Volume balok = ‘,num2str(v)]);

case 2

disp(‘Menghitung volume tabung’);

disp(‘————————‘);

r = input(‘jari-jari =  ‘);

t = input (‘tinggi = ‘);

v = pi.*r^2.*t;

disp([‘Volume tabung = ‘,num2str(v)]);

case 3

disp(‘Menghitung volume kerucut’);

disp(‘————————‘);

r = input(‘jari-jari =  ‘);

t = input (‘tinggi = ‘);

v = (pi.*r^2.*t)./3;

disp([‘Volume balok = ‘,num2str(v)]);

case 4

disp(‘Menghitung volume kubus’);

disp(‘————————‘);

s = input(‘panjang sisi =  ‘);

v = s^3;

disp([‘Volume balok = ‘,num2str(v)]);

otherwise

disp(‘Maaf Pilihan anda salah,mohon diperhatikan….!’)

end

 

Bentuk Output yang diharapkan diperoleh, misalnya untuk  Volume balok adalah sebagai berikut.

switch

Pemograman GUI Algoritma Euclidean


Prosedur kerja pembuatan program GUI Algoritma Euclidean :

1. Mambuka handles GUI yaitu suatu editor tempat membuatnya dengan cara menuliskan perintah guide pada command window MATLAB maka akan muncul kotak dialog berikut.

gui1

2. Kemudian klik OK dan akan muncul editor handles tempat membuat tampilan program sebagai berikut.

gui2

3. Kemudian pilih statistic text, sebagai berikut

gui3

4. Kemudian klik dan drag pada handles sehingga diperoleh sebagai berikut.

gui4

5. Kemudian lakukan editing statistic text tersebut dengan cara double klik pada statistic text tersebut, kemudian cari string dan tuliskan kalimat “Program Algoritma Euclidean” sebagai berikut.

gui5

6. Dengan cara yang sama memilih statistic text buat text sebagai berikut.

gui6

7. Kemudian pilih property edit dan lakukan editing pada property inspector sehingga diperoleh hasil sebagai berikut.

gui7

8. Selanjutnya pilih pushbutton dan lakukan editing sehingga diperoleh sebagai berikut.

gui8

9. Selanjutnya pilih listbox dam buat agar memperoleh tampilan sebagai berikut.

gui9

10. Selanjutnya diberikan property tambahan sehingga memperoleh GUI sebagai berikut.

gui10

11. Selanjutnya klik kanan pada tombol keluar dan pilih call back dan berikan perintah close;

12. Pada tombol hitung, buatkan skrip program dengan langkah-langkah sebagai berikut.

a=str2double(get(handles.edit1,’String’));

b=str2double(get(handles.edit2,’String’));

H=[];

if a==round(a) && b==round(b) && a>0 && b>0

if a>b

T=a;

a=b;

b=T;

end

t=[a b];

c=0;

while a~=0

c=c+1;

r=mod(b,a);

h=(b-r)/a;

h={([‘Proses ke-‘,num2str(c),’ —> ‘,num2str(b),’ = (‘,num2str(h),’)(‘,num2str(a),’) + ‘,num2str(r)])};

H=[H;h];

set(handles.listbox1,’String’,H);

pause(0.5);

b=a;

a=r;

end

h={([‘Jadi FPB (‘,num2str(t(1)),’,’,num2str(t(2)),’) = ‘,num2str(b)])};

H=[H;h];

set(handles.listbox1,’String’,H);

else

H={([‘Maaf Anda tidak dapat memproses’])};

h={([‘a dan b harus bilangan bulat positif’])};

H=[H;h];

set(handles.listbox1,’String’,H)

end

13. Kemudian simpan program Anda dan jalankan, maka akan diperoleh hasil sebagai berikut jika diberikan inputan a = 172 dan b = 134.

gui11

14. Bentuk Output yang lainnya adalah sebagai berikut.

gui12

 

Nilai Eigen


Definisi

Jika A adalah matriks n × n, maka vektor tak nol x di dalam R(n) dinamakan vektor eigen dari A jika Ax adalah kelipatan skalar dari x, yaitu:

                  Ax = λ x

Untuk skalar  λ . Skalar λ disebut nilai eigen dari A dan x dikatakan vektor eigen yang bersesuaian dengan λ. Masalah untuk mencari vektor x ∈  R(n), x ≠ 0 dan λ adalah bilangan real yang memenuhi persamaan  Ax = λx, disebut masalah nilai eigen.

Menghitung Nilai Eigen

Untuk mencari nilai eigen matriks A yang berukuran n × n maka kita menuliskannya kembali sebagai

                 Ax = λ x

atau

                (A – λI) x = 0

Dan persamaan di atas akan mempunyai penyelesaian jika

                 |A – λI| = 0

Persamaan di atas disebut sebagai persamaan karakteristik A. Mencari nilai eigen berarti menghitung determinan tersebut sehingga diperoleh nilai-nilai λ.

Berikut disajikan program MATLAB untuk menghitung nilai eigen dari suatu matriks A yang berukuran n × n

% Polinomial Karakteristik dan Nilai Eigen

clc;

clear all;

A=input(‘Mariks A = ‘);

clc;

disp(‘Matriks A =’);

disp(A);

dA=det(A);

[ba,ka]=size(A);

syms L;

for j=1:ka

for i=1:ba

C=A-L*eye(ba);

end

end

disp(C);

disp(‘polinomial karakteristik matriks A=’);

disp(det(C));

disp(‘nilai eigen matriks A=’);

disp(eig(A));

Hasil output dari pogram di atas

Matriks A =
1     2     3
3     2     4
5     6     4

[ 1 – L,     2,     3]
[     3, 2 – L,     4]
[     5,     6, 4 – L]

polinomial karakteristik matriks A=

– L^3 + 7*L^2 + 31*L + 24

nilai eigen matriks A=

   10.2521

   -1.0755

   -2.1766

Kombinasi


Membangun algoritma komputasi untuk menentukan nilai Kombinasi

Teori : rCn = n! / (n – r)! r!

Kontruksilah program Kombinasi berdasarkan algoritma berikut.

Algoritma program Kombinasi:

Step 1. Definiskan n

Step 2. Definiskan r

Step 3. Hitung nilai (n – r), misal sebut sebagai m

Step 4. Hitung nilai dari n!

Step 5. Hitung nilai dari r!

Step 6. Hitung nilai dari m!

Step 7. Hitung nilai C = n  / (m* r)

Step 8. Cetak nilai dari C

Konversilah bahasa tersebut ke dalam bahasa Matlab, untuk mendapatkan output sebagai berikut

n = 5

r = 3

C(5,3) = 10

Setelah itu, lakukan penyempurnaan program untuk mensimulasikan proses perolehan nilai P(5,3) = 10.

download program file kombinasi

Bentuk output dari program tersebut adalah

n = 5

r = 2

5! = (5) (4) (3) (2) (1)

3! = (3) (2) (1)

2! = (2) (1)

C(5,2) = 120 / (6 * 2) = 10

Algoritma Program Permutasi


Membangun algoritma komputasi untuk menentukan nilai permutasi

Teori : rPn = n! / (n – r)!

Kontruksilah program Permutasi berdasarkan algoritma berikut.

Algoritma program Permutasi:

Step 1. Definiskan n

Step 2. Definiskan r

Step 3. Hitung nilai (n – r), misal sebut sebagai m

Step 4. Hitung nilai dari n!

Step 5. Hitung nilai dari m!

Step 6. Hitung nilai P = (n / m)!

Step 7. Cetak nilai P

Konversilah bahasa tersebut ke dalam bahasa Matlab, untuk mendapatkan output sebagai berikut

n = 5

r = 3

P(5,3) = 20

Setelah itu, lakukan penyempurnaan program untuk mensimulasikan proses perolehan nilai P(5,3) = 20 sebagai berikut

Step 1.          n = input (‘n = ‘);

Step 2.          r = input(‘r = ‘);

Step 3.          if n>1 & round (n) == n & r > 1 & round(r) ==r

Step 4.                 s = [n   r] ;

Step 5.                 m = n – r;

Step 6.                 t = [num2str(n),’ ! = ( ‘,num2str(n) , ‘ ) ‘] ;

Step 7.                 for i = n – 1 : -1 : 1

Step 8.                         h = [ ‘ ( ‘ ,num2str(i), ‘ ) ‘ ] ;

Step 9.                         t = [t     h] ;

Step 10.                       n = n * i;

Step 11.               end

Step 12.               disp( [ t ‘ = ‘, num2str(n) ] ) ;

Step 13.                t = [ num2str(m) , ‘ ! = ( ‘,num2str(m) , ‘ ) ‘ ];

Step 14.                 for i = m – 1 : -1 : 1

Step 15.                       h = [ ‘ ( ‘ ,num2str(i), ‘ ) ‘ ] ;

Step 16.                       t = [t     h] ;

Step 17.                       m = m * i;

Step 18.                end

Step 19.               disp( [ t ‘ = ‘, num2str(m) ] ) ;

Step 20.              disp( [ ‘ P ( ‘, num2str(s(1)) , ‘ , ‘ , num2str(s(2)) , ‘ ) = ‘ , num2str(s(1)) , ‘ ! / (  ‘ ,

Step 21.               num2str(s(1)) , ‘ – ‘ , num2str(r) , ‘ ) ! = ‘ ,num2str((s(1)) , ‘ ! ( ‘

Step 22.              num2str(s(1) – s(2)) , ) ! = ‘ , num2str(n/m) ] )

Step 23.              end

Bentuk Output dari program tersebut adalah sebagai berikut:

n = 5

r = 2

5! = (5) (4) (3) (2) (1) = 120

3! = (3) (2) (1) = 6

P(5,2) = 5! / (5 – 2)! = 5! / 3! = 20

 

permutasi2

Komputasi Menentukan Akar-Akar Persamaan Kuadrat


Algoritma komputasi untuk menentukan akar-akar persamaan kuadrat

clc;

clear all;

disp(‘- – – – – – – – – – – – – – – – – – – – – – – – – -‘)

disp(‘Program : Rumus abc Pers. Kuadrat’)

disp(‘Oleh        : Petrus Fendiyanto            ‘)

disp(‘- – – – – – – – – – – – – – – – – – – – – – – – – -‘)

a = input (‘a = ‘);

b = input (‘b = ‘);

c = input (‘c = ‘);

D = b^2 – 4 * a * c;

x(1) = (-b + sqrt(D)) / 2 * a;

x(2) = (-b – sqrt(D)) / 2 * a;

if D>= 0

disp([‘Akar bil. Real = ‘,num2str(x)]

else

disp([‘Akar bil. Kompleks = ‘,num2str(x)])

end

Jika program tersebut di jalankan, maka akan diperoleh hasil sebagai berikut:

akar

Jika ingin menggambar grafiknya, maka skrip program komputasinya di tambah setelah proses menghitung akar-akar persamaan sebagai berikut:

clc;

clear all;

disp(‘- – – – – – – – – – – – – – – – – – – – – – – – – -‘)

disp(‘Program : Rumus abc Pers. Kuadrat’)

disp(‘Oleh        : Petrus Fendiyanto            ‘)

disp(‘- – – – – – – – – – – – – – – – – – – – – – – – – -‘)

a = input (‘a = ‘);

b = input (‘b = ‘);

c = input (‘c = ‘);

D = b^2 – 4 * a * c;

x(1) = (-b + sqrt(D)) / 2 * a;

x(2) = (-b – sqrt(D)) / 2 * a;

if D>= 0

disp([‘Akar bil. Real = ‘,num2str(x)]

else

disp([‘Akar bil. Kompleks = ‘,num2str(x)])

end

X = [x(1) – 5 : 0.1 : x(2) + 5];

f = a. * (X.^2) + b. * X + c;

plot(X,f)

xlabel(‘Domain fungsi’)

ylabel(‘Range fungsi’)

title([‘f(x) = ‘, num2str(a) ,’ x^2 + ‘, num2str(b) ,’ x + ‘, num2str(c)])

text(mean(X), mean(f), [‘Akar = ‘, num2str(x)])

 

Penjelasan:

X = [x(1) – 5 : 0.1 : x(2) + 5] pada skrip program tersebut merupakan perintah membangun domain fungsi pada interval [x(1) – 5   x(2) + 5] dengan rentang 0.1.

f = a. * (X.^2) + b. * X + c merupakan perintah menetukan range dari fungsi f(x) = ax^2 + bx + c.

plot(X,f) merupakan perintah menggambar grafik dengan domain X dan range f.

xlabel(‘Domain fungsi’) berfungsi untuk menuliskan judul pada absis (sumbu x) grafik fungsi dengan kata-kata “Domain fungsi”

ylabel(‘Range fungsi’) berfungsi untuk menuliskan judul pada ordinat (sumbu y) grafik fungsi dengan kata-kata “Range fungsi”

title([‘f(x) = ‘, num2str(a) ,’ x^2 + ‘, num2str(b) ,’ x + ‘, num2str(c)]) berfungsi untuk menuliskan judul dari grafik, dengan menuliskan bentuk fungsi grafik kuadrat dengan mengambil koefisien a, b, dan c.

text(mean(X), mean(f), [‘Akar = ‘, num2str(x)]) merupakan perintah untuk menuliskan akar-akar persamaan pada grafik fungsi pada koordinat di tengah sumbu x dan sumbu y.

Pembaca harus dapat memahami bahasa penulisan atau kode program, karena kesalahan titik saja akan membuat eksekusi program error. Penulisan kata-kata atau string ditulis dalam tanda petik, sedangkan bilangan dikonversi dahulu menjadi string dengan perintah num2str. Tanda kurung siku “[ ]” digunakan jika dalam penulisan string atau kata-kata akan memuat bilangan yang terkonversi dengan num2str tersebut. Jika program tersebut dijalankan maka akan diperoleh hasil sebagai berikut:

akar

grafik