Anda di halaman 1dari 59

PRAKTIKUM I INPUT OUTPUT DATA Contoh program 1: Program Output data menggunakan MATLAB.

% output data text clc; disp('Output Text'); disp('1. Saya Belajar Fisika'); disp('2. Saya Belajar MatLab'); disp('3. Jarak tempuh GLBB'); % Output data Numeric disp(' '); disp('Output Numeric'); energy=3.784; x=27.561; y=12.34; z=23.1323; disp('Bentuk pertama '); disp(['Nilai energy = ',num2str(energy),' joule']); disp(['Nilai x = ',num2str(x)]); disp(['Nilai y = ',num2str(y)]); disp(['Nilai z = ',num2str(z)]); disp(' -------------------------------------'); disp('Bentuk kedua'); fprintf('\n Nilai energi = %6.3f',energy);disp( joule); fprintf('\n value of x = %6.3f ',x); fprintf('\n value of y = %5.3f ',y); fprintf('\n value of z = %7.4f ',z); fprintf('\n x= %6.3f y=%5.2f z=%7.4f ',x,y,z);

Contoh program 2: Program Input Output data menggunakan MATLAB.

% Input output data text clc; disp('Input data Text'); name=input('Input your name =','s'); ad=input('Input your address=','s'); hs=input('Input your high school=','s'); disp(' '); disp('Output data text'); disp(---------------------------------); disp(['Your name =',name]); disp(['Your address = ',ad]); disp(['Your high school= ',hs]);

% Input Numeric disp(' '); disp('Input Data Numeric'); disp(---------------------- ); energy=input('Energy= '); x=input('X = '); y=input('Y = '); z=input('Z = '); disp('Bentuk petama '); disp(------------------); disp(['Nilai energy = ',num2str(energy),' joule']); disp(' '); disp(['Nilai x = ',num2str(x)]); disp(['Nilai y = ',num2str(y)]); disp(['Nilai z = ',num2str(z)]); disp('Bentuk kedua'); disp('----------------'); fprintf('\n Nilai energi = %6.3f ',energy);disp( joule); fprintf('\n value of x = %6.3f ',x); fprintf('\n value of y = %5.3f ',y); fprintf('\n value of z = %7.4f ',z); fprintf('\n x= %6.3f y=%5.2f z=%7.4f ',x,y,z);

PRAKTIKUM II LOGIKA BERURUTAN Contoh Program 1: Program Untuk menghitung Luas Segitiga 1. Defenisi Masalah y Menghitung Luas segitiga y Input: data alas dan tinggi y Output: data luas. 2. Struktur data Unit /Besaran Alas Tinggi Luas Variabel a t luas Type of data Real/Numeric Real/Numeric Real/Numeric Keterangan Input data Input data Output data

3. Algorithm program Start

a, t

luas = 0.5 * a*t

luas

Stop 4. Coding in MatLab %Program komputer menghitung luas segi tiga %Input data clc; a= input(' Alas = '); t = input('Tinggi = '); %Proses luas = 0.5*a*t; %Output data fprintf('\nLuas segitiga =%8.3f ',luas);disp( m^2) 3

5. Testing and Verification Nama file program : prac2a Pengujian pertama. prac2a Alas = 20 Tinggi = 30 Luas segitiga = 300.000 m^2 Pengujian kedua prac2a Alas = 17 Tinggi = 10 Luas segitiga = 85.000 m^2 Pengujian ketiga. prac2a Alas = 10 Tinggi = 47 Luas segitiga = 235.000 m^2

Contoh Program 2: Program Untuk menghitung Energi Kinetik 1. Definisi masalah y Menentukan Energi Kinetik y Rumus: Ek = 0.5 * m*v2 y Data input: kecepatan, massa y Data output: energi kinetik. 2. Struktur Data Unit /Besaran Kecepatan Massa Energy Kinetik Variabel v m ek Type data Real/Numeric Real/Numeric Real/Numeric Keterangan Input data Input data Output data

3. Algorithm program Start

v, m

ke = 0.5 * m*v^2

ke

Stop 4. Coding in MatLab %Computer program for calculating Kinetic Energy %Input v=input('Kecepatan = '); m=input('Massa = '); %process ek=0.5*m*v.^2; %Output fprintf('\n Energy Kinetik =%8.2f ',ek );disp([' joule ']); Nama file program : prac2b

5. Testing and Verification Pengujian pertama prac2b Kecepatan = 10 Massa = 2.5 Energy Kinetik = 125.00 joule Pengujian kedua prac2b Kecepatan = 2.5 Massa = 15 Energy Kinetik = 46.88 joule Pengujian ketiga prac2b Kecepatan = 125 Massa = 23 Kinetic Energy=179687.50 joule

Latihan

1. Susun program komputer untuk menghitung jarak tempuh gerak lurus beraturan. 2. Susun program komputer untuk menghitung luas permukaan selinder. 3. Susun program komputer untuk menghitung Usaha 4. Susun program komputer untuk menghitung energi kinetik dan potensial pegas. 5. Susun program komputer untuk menghitung modal akhir pada perhitungan bunga majemuk. ; Ma= modal akhir; Mo=modal awal; b=bunga

dalam persen; n=periode penyimpanan.

PRAKTIKUM 3 LOGIKA PENGAMBILAN KEPUTUSAN IF...THEN


Contoh Program 1: menentukan akar-akar persamaan kuadrat. A. Problem definition y Menentukan akar-akar persamaan kuadrat. y a X2 + b X + c = 0 B. Input and output data Unit Coefficient a Coefficient b Coefficient c Akar-akar real Akar-akar kompleks Variabel a b c x1 , x2 x1k, x2k Type of data Numeric Numeric Numeric Numeric Kompleks Keterangan Input data Input data Input data Output data Output data

C. Algorithm program 1. 2. Start Input data Input a Input b Input c 3. Process d= b^2 4*a*c If d> 0 then x1=(-b + sqrt(d))/(2*a); x2=(-b - sqrt(d))/(2*a); elseif d=0 x1=(-b)/(2*a); x2=x1; else x1k=(-b + sqrt(d))/(2*a); x2k=(-b - sqrt(d))/(2*a); end if 6. Output data if d>0 then write ('Nilai x1 tidak sama x2 dan real'); write(x1); write(x2); elseif d=0 write('Nilai x1 = x2 dan real'); write(x1); write (x2);

else write('Nilai x1 <> x2 dan kompleks '); write(x1k); write(x2k); end if 5. Stop D. Coding in Matlab. %Input a=input('Coef a= '); b=input('Coef b= '); c=input('Coef c= '); %Process d=b^2 - 4*a*c; if d>0 x1=(-b + sqrt(d))/(2*a); x2=(-b - sqrt(d))/(2*a); elseif d==0 x1=(-b)/(2*a); x2=x1; else x1k=(-b + sqrt(d))/(2*a); x2k=(-b - sqrt(d))/(2*a); end %Output if d>0 disp('value X1 <> X2 and real'); fprintf('\n x1 =%5.2f ',x1); fprintf('\n x2 =%5.2f ',x2); elseif d==0 disp('value X1 = X2 and real'); fprintf('\n x1 =X2=%5.2f ',x1); else disp('value X1 <> X2 and complex'); fprintf('x1 = ');disp(x1k); fprintf('x2 = ');disp(x2k); end

Nama file program prac3a 7. Testing and Verification. Pengujian pertama prac3a Coef a= 1 Coef b= 7

Coef c= 12 value X1 <> X2 and real x1 =-3.00 x2 =-4.00 Pengujian kedua prac3a Coef a= 1 Coef b= -6 Coef c= 9 value X1 = X2 and real x1 =X2= 3.00 pengujan ketiga prac3a Coef a= 5 Coef b= 3 Coef c= 2 value X1 <> X2 and complex x1 = -0.3000 + 0.5568i x2 = -0.3000 - 0.5568i

Contoh Program 2: Konversi nilai angka mejadi nilai huruf A. Defenisi Masalah y Konversi Data skor ke Nilai Huruf. y Number Score Nilai huruf 1 90 - 100 A (Sangat kompeten) 2 80 - 89 B (Kompeten ) 3 70 - 79 C (Cukup kompeten) 4 0- 69 E (Tidak kompeten) B. Struktur Data Unit Nama Skor Nilai huruf Variabel nm sk nh Type of data Text Numeric Text Keterangan Input data Input data Output data

C. Algorithm program 1. 2. Start Input data Input nm Input sk Process if sk>=90 then nh='A (sangat kompeten )'; elseif sk>=80 then nh='B (Kompeten )'; elseif sk>=70 then nh='C (Cukup kompeten)'; else nh='E (Tidak kompeten )'; end if 4. Output data Write (nm); Write (sk); Write(nh);

3.

5. Stop

10

D. Coding In MatLab %Input skor sk=input(' Input Skor anda = '); nm=input(' Input nama anda =','s'); %Process if sk>=90 nh='A (Sangat kompeten )'; elseif sk>=80 nh ='B (Kompeten )'; elseif sk>=70 nh='C (Cukup kompeten )'; else nh ='E (Tidak kompeten )'; end %Output disp(['Nama anda = ',nm]); fprintf('\n Skor ujian anda = %8.2f',sk); disp([' Hasil =',nh]);

E. Testing and Verification 1st Testing prac3b Input Skor Anda = 68 Input Nama Anda =Syarifuddin Nama = Syarifuddin Skor ujian Anda = 68.00 Hasil =E (Tidak Kompeten) 2nd Testing prac3b Input Skor anda = 75 Input Nama anda =Andina Nama = Andina Skor Ujian Anda = 75.00 Hasil =C (Cukup Kompeten) 3rd Testing prac3b Input Skor anda = 85 Input Nama anda =Budi Nama = Budi Skor ujian Anda = 85.00 Hasil =B (Kompeten)

11

4th Testing prac3b Input Skor anda = 90 Input Nama anda =Tatang Nama = Tatang Skor ujian anda = 90.00 Hasil =A (Sangat Kompeten )

Exercises

1. Construct computer program for determining magnitude of P from formula as c follows: P ! a  b 2  bd 2. Construct computer program for determining magnitude of P from formula as c a follows: P ! b 2   bd d 3. Construct computer program for determining magnitude of P from formula as follows: P ! a  b 2  c - d

12

PRAKTIKUM 4 LOGIKA PENGAMBILAN KEPUTUSAN SWITCH


Contoh Program : Penentuan gaji berdasar golongan. A. Defenisi Masalah y Penentuan gaji berdasar golongan. Golongan 1 2 3 4 B. Struktur Data Unit Nama Golongan Gaji Variabel nm gol gaji Type of data Text Numeric Numeric Keterangan Input data Input data Output data Gaji 2.500.000 3.500.000 4.500.000 5.500.000

C. Algorithm program 1. 2. Start Input data Input nm Input gol Process Case gol Case 1 Gaji= 2500000; Case 2 Gaji =3500000; Case 3 Gaji =4500000; Case 4 Gaji =5500000; end 5. Output data Write (nm); Write (gol); Write(gaji);

3.

13

5. Stop

D. Coding In MatLab %Input skor nm=input(' Input nama anda =','s'); gol =input(' Golongan anda = '); %Process switch gol case 1 gaji= 2500000; case 2 gaji =3500000; case 3 gaji =4500000; case 4 gaji =5500000; end %Output disp(['Nama anda = ',nm]); fprintf('\n Golongan anda =%4.0f',gol); fprintf(\n Gaji anda = Rp %9.2f);

E. Testing and Verification 1st Testing Input Nama Anda = Ali Input Golongan Anda = 1 Nama anda = Ali Golongan anda = 1 Gaji anda = Rp 2500000.00 2nd Testing Input Nama Anda = Badu Input Golongan Anda = 2 Nama anda = Badu Golongan anda = 2 Gaji anda = Rp 3500000.00 3rd Testing

14

Input Nama Anda = Syarif Input Golongan Anda = 3 Nama anda = Syarif Golongan anda = 3 Gaji anda = Rp 4500000.00

Latihan 1. Rancanglah program komputer menu dengan pilihan menu sebagai berikut: a. Pilihan=1, program akan menghitung luas segitiga b. Pilihan=2, program akan menghitung luas persegi panjang. c. Pilihan=3, pogram akan menghitung luas trapesium. d. Pilihan=4, program selesai. 2. Rancanglah program komputer menu dengan pilihan menu sebagai berikut: a. Pilihan=1, program akan menghitung usaha b. Pilihan=2, program akan menghitung energi kinetik. c. Pilihan=3, pogram akan menghitung energi potensial pegas. d. Pilihan=4, program selesai.

15

5th PRACTICE

FOR LOOPS AND WHILE LOOPS

ALGORITHM AND PROGRAMMING

PHYSICS EDUCATION FMIPA UNIMED MEDAN 2010


16

PRAKTIKUM 5 LOGIKA PERULANGAN FOR Contoh Program 1: Menentukan suku-suku dan jumlah deret. A. Defenisi masalah y Menentukan suku-suku deret. y Menentukan total suku-suku deret B. Struktur Data Unit Suku awal Beda Banyak suku suku Total Variabel a b n s total Type of data Numeric Numeric Numeric Numeric Numeric Keterangan Input data Input data Input data Output data Output data

C. Algorithm program 1. 2. Start Input data Input a Input b Input n 3. Process total=0; s=a; for k= 1:n total=total+s; cetak(s) s=s+d end 4 Output data cetak(total)

5. Stop D. Coding %Deret Aritmatika %Input a=input('Suku awal ='); b=input('Beda suku ='); n=input('Banyak suku ='); %Process disp('Suku-suku deret '); total=0; s=a; 17

for k= 1:n total=total+s; disp(['Suku ',num2str(k),'= ',num2str(s)]); s=s+d; end %Output disp(['Total = ',num2str(total)]);

E. Testing and Verification 1st Testing Suku awal =5 Beda suku = 4 Banyak suku =5 Suku 1= 5 Suku 2= 9 Suku 3= 13 Suku 4= 17 Suku 5= 21 Total = 65 2nd Testing Suku awal =6 Beda suku =-3 Banyak suku =5 Suku 1= 6 Suku 2= 3 Suku 3= 0 Suku 4= -3 Suku 5= -6 Total = 0 3rd Testing Suku awal =10 Beda suku =0 Banyak suku =5

Suku 1= 10 Suku 2= 10 Suku 3= 10 Suku 4= 10 Suku 5= 10 Total = 50

18

Latihan 1. Rancang program komputer untuk menampilkan suku deret dan jumlah total suku deret ke n untuk deret: 3, 5, 8, 12, 17,... 2. Rancang program komputer untuk menampilkan suku deret dan jumlah total suku deret ke n untuk deret: 4, 7, 17, 20, 30, 33,... 3. Rancang program komputer untuk menampilkan nilai variasi kecepatan dan energi kinetik Ek= m v2 dalam bentuk tabel. Jika diketahui: massa konstan, jumlah variasi n, interval kecepatan d, dan kecepatan awal v =0. 4. Rancang program komputer untuk menampilkan variasi nilai periode waktu, modal awal, besar bunga, dan modal akhir dalam bentuk tabel. Jika diketahui rumus bunga majemuk: M = Mo (1 + i)n. M= modal akhir ; Mo=modal awal, i=bunga tiap periode dalam pesen, dan n=periode.

19

PRAKTIKUM 6 LOGIKA PERULANGAN WHILE Contoh Program 1: A. Defenisi masalah y Menentukan variasi kecepatan gerak lurus berubah beraturan dengan variasi waktu. B. Struktur Data Unit Kecepatan awal Percepatan Lama pengamatan Interval waktu Waktu Kecepatan C. Algorithm program 1. 2. Start Input data Input vo Input a Input lp Input d 3. Process and output t=0; while t <= lp v=vo+ a*t; cetak (k,t,v) t=t+d; end 4. Stop D. Coding %Tabel Kecepatan glbb %Input clc; vo =input('Kecepatan awal ='); a =input('Percepatan ='); lp =input ('Lama pengamatan ='); d =input ('Interval waktu = '); %Process disp('Nomor Waktu Kecepatan '); disp(---------------------------------------); t=0; 20 Variabel vo a lp d t v Type of data Numeric Numeric Numeric Numeric Numeric Numeric Keterangan Input data Input data Input data Input data Output data Output data

k=1; while t<=lp v=vo+ a*t; fprintf('\n %4.0f %8.2f %8.2f ',k,t,v); t=t+d; k=k+1; end

E. Testing and Verification 1st testing Kecepatan awal =10 Percepatan =2 Lama pengamatan =4 Interval waktu = 0.5 Nomor Waktu Kecepatan --------------------------------1 2 3 4 5 6 7 8 9 0.00 0.50 1.00 1.50 2.00 2.50 3.00 3.50 4.00 10.00 11.00 12.00 13.00 14.00 15.00 16.00 17.00 18.00

2nd Testing Kecepatan awal =20 Percepatan =-2 Lama pengamatan =3 Interval waktu = 0.4 Nomor Waktu Kecepatan --------------------------------1 2 3 4 5 6 7 8 0.00 0.40 0.80 1.20 1.60 2.00 2.40 2.80 20.00 19.20 18.40 17.60 16.80 16.00 15.20 14.40

3rd Testing

21

Kecepatan awal =2.8 Percepatan =1.5 Lama pengamatan =6 Interval waktu = 1 Nomor Waktu Kecepatan --------------------------------1 2 3 4 5 6 7 0.00 1.00 2.00 3.00 4.00 5.00 6.00 2.80 4.30 5.80 7.30 8.80 10.30 11.80

22

Contoh Program 2 A. Problem definition y Mengulang Esekusi progam komputer

B. Input and output data Unit Jawab Program Variabel jb Type of data Text Keterangan Input data The computer program that will execute

C. Algorithm program 1. 2. Start Input data Input ans 3. Process and output jb=y while (jb=y) or (jb=Y) do Computer program end 4. Stop D. Coding %Deret Aritmatik jb='y'; while (jb=='y')|(jb=='Y') clc; a=input('Suku awal ='); b=input('Beda suku ='); n=input('Banyak suku ='); disp('Suku-suku deret '); total=0; s=a; for k= 1:n total=total+s; disp(['Suku ',num2str(k),'= ',num2str(s)]); s=s+d; end %Output disp(['Total = ',num2str(total)]); jb=input('Dilanjutkan ? y/n = ','s'); end

23

E. Testing and Verification 1st Testing Suku awal =3 Beda suku =3 Banyak suku =4 Suku-suku deret Suku 1= 3 Suku 2= 4 Suku 3= 5 Suku 4= 6 Total = 18 Dilanjutkan ? y/n = 2nd Testing Suku awal =4 Beda suku =12 Banyak suku =5 Suku-suku deret Suku 1= 4 Suku 2= 5 Suku 3= 6 Suku 4= 7 Suku 5= 8 Total = 30 Dilanjutkan ? y/n =

Latihan 1. Rancang program komputer untuk menampilkan variasi nilai x dan y dalam bentuk tabel dari rumus : y = a x3 + bx. Diketahui : a, b: konstant; interval x: d, batas x: x1 sampai x2. 2. Rancang progam komputer untuk menampilkan variasi jarak tempuh glbb dalam bentuk tabel. Jika diketahui: lama pengamatan t dan interval waktu d, percepatan a, dan kecepatan awal vo

24

PRAKTIKUM 7 FUNGSI

Contoh Program 1: Program Untuk menghitung Energi Kinetik dengan fungsi. Fungsi Energi kinetik function energi=ek(m,v) energi=0.5*m*v^2; Fungsi ini akan direkam dengan nama file: ek

1. Definisi masalah y Menentukan Energi Kinetik y Rumus: Ek = 0.5 * m*v2 y Data input: kecepatan, massa y Data output: energi kinetik. 2. Struktur Data Unit /Besaran Kecepatan Massa Energy Kinetik Variabel v m ek Type data Real/Numeric Real/Numeric Real/Numeric Keterangan Input data Input data Output data

3. Algorithm program Start

v, m

Fungsi ek

ke

Stop 4. Coding in MatLab

25

%Computer program for calculating Kinetic Energy %Input Clc; v=input('Kecepatan = '); m=input('Massa = '); %process energi =ek(m,v); %Output fprintf('\n Energy Kinetik =%8.2f ',energi );disp([' joule ']); Nama file program : prac2b 5. Testing and Verification Pengujian pertama prac2b Kecepatan = 10 Massa = 2.5 Energy Kinetik = 125.00 joule Pengujian kedua prac2b Kecepatan = 2.5 Massa = 15 Energy Kinetik = 46.88 joule Pengujian ketiga prac2b Kecepatan = 125 Massa = 23 Kinetic Energy=179687.50 joule

26

Contoh Program 2: Menghitung akar-akar persamaan kuadrat. Fungsi menghitung akar-akar persamaan kuadrat. function [x1,x2]=akar(a,b,c); x1=(-b+sqrt(b^2-4*a*c))/(2*a); x2=(-b-sqrt(b^2-4*a*c))/(2*a); fungsi ini direkam dengan nama file: akar.

A. Problem definition y Menentukan akar-akar persamaan kuadrat. y a X2 + b X + c = 0 B. Input and output data Unit Coefficient a Coefficient b Coefficient c Akar-akar real Akar-akar kompleks Variabel a b c x1 , x2 x1k, x2k Type of data Numeric Numeric Numeric Numeric Kompleks Keterangan Input data Input data Input data Output data Output data

C. Algorithm program 1. 2. Start Input data Input a Input b Input c 3. Process d= b^2 4*a*c If d> 0 then [x1,x2]=akar(a,b,c); elseif d=0 [x1,x2]=akar(a,b,c); else [x1k,x2k]=akar(a,b,c); end if 8. Output data if d>0 then write ('Nilai x1 <> x2 dan real'); write(x1); write(x2); elseif d=0 write('Nilai x1 = x2 dan real'); write(x1); write (x2); 27

else write('Nilai x1 <> x2 dan kompleks '); write(x1k); write(x2k); end if 5. Stop D. Coding in Matlab. %Input clc; a=input('Coef a= '); b=input('Coef b= '); c=input('Coef c= '); %Process d=b.^2 - 4*a*c; if d>0 [x1,x2]=akar(a,b,c); elseif d==0 [x1,x2]=akar(a,b,c); else [x1k,x2k]=akar(a,b,c); end %Output if d>0 disp('value X1 <> X2 and real'); fprintf('\n x1 =%5.2f ',x1); fprintf('\n x2 =%5.2f ',x2); elseif d==0 disp('value X1 = X2 and real'); fprintf('\n x1 =X2=%5.2f ',x1); else disp('value X1 <> X2 and complex'); fprintf('x1 = ');disp(x1k); fprintf('x2 = ');disp(x2k); end

Nama file program prac3a 9. Testing and Verification. Pengujian pertama prac3a Coef a= 1 Coef b= 7 Coef c= 12 value X1 <> X2 and real

28

x1 =-3.00 x2 =-4.00 Pengujian kedua prac3a Coef a= 1 Coef b= -6 Coef c= 9 value X1 = X2 and real x1 =X2= 3.00 pengujan ketiga prac3a Coef a= 5 Coef b= 3 Coef c= 2 value X1 <> X2 and complex x1 = -0.3000 + 0.5568i x2 = -0.3000 - 0.5568i

Latihan

1. Susun program komputer dengan menggunakan fungsi untuk menghitung jarak tempuh gerak lurus beraturan. 2. Susun program komputer dengan menggunakan fungsi untuk menghitung luas permukaan selinder. 3. Susun program komputer dengan menggunakan fungsi untuk menghitung energi kinetik dan potensial pegas. 4. Susun program komputer dengan menggunakan fungsi untuk menghitung rumus c berikut: P ! a  b 2  bd 5. Susun program komputer dengan menggunakan fungsi untuk menghitung rumus c a berikut:: P ! b 2   bd d

29

PRAKTIKUM 8 ARRAY DIMENSI SATU CONTOH PROGRAM 1. A. Defenisi masalah y Menentukan : total , rata-rata dan standard deviasi n data. B. Strutur data Unit Banyak data Data Total Rata2 Standar deviasi Variabel n d total av ds Type of data Numeric Numeric Numeric Numeric Numeric Keterangan Input data Input data Output data Output data Output data

C. Algorithm program 1. 2. Start Input data Input n for k=1:n input d(k) end 3. Process total=0; for k=1:n total=total+d(k); end av=total/n; totalav=0; for k=1:n totalav=totalav+(d(k)-av)^2; end ds=sqrt(totalav/(n-1)); 4. Output data Write(total) Write (av) Write(ds) 5. Stop D. Coding

%Deviation standard Value


%Input clc; n=input('Banyak data =');

30

for k=1:n fprintf('Data:%3.0f',k); d(k)=input(' Input data= '); end %Process total=0; for k=1:n total=total+d(k); end av=total/n; totalav=0; for k=1:n totalav=totalav+(d(k)-av)^2; end ds=sqrt(totalav/(n-1)); %Output fprintf('\n Total = %8.2f',total); fprintf('\n Average = %8.2f\n',av); fprintf('\n deviation standard = %8.2f\n',ds);

E. Testing and Verification 1st Testing Number of data =5 Data: 1 Input data= 10 Data: 2 Input data= 20 Data: 3 Input data= 30 Data: 4 Input data= 40 Data: 5 Input data= 20 Total = 120.00 Average = 24.00 deviation standard = 2nd Testing Number of data =4 Data: 1 Input data= 10 Data: 2 Input data= 10 Data: 3 Input data= 10 Data: 4 Input data= 10 Total = 40.00 Average = 10.00 deviation standard = 0.00 11.40

31

3rd Testing Number of data =6 Data: 1 Input data= -10 Data: 2 Input data= 30 Data: 3 Input data= -40 Data: 4 Input data= 20 Data: 5 Input data= 80 Data: 6 Input data= -30 Total = 50.00 Average = 8.33 deviation standard = 44.46

Latihan

1. Rancang program komputer untuk menentukan nilai P dari rumusan berikut: P ! X i  X i2  X 2. Rancang program komputer untuk menentukan nilai P dari rumusan berikut: P ! X iYi  ( X i  Y ) 3. Rancang program komputer untuk menentukan nilai P dari rumusan berikut: P ! (X iYi )2  Yi  Y

32

PRAKTIKUM 9 ARRAY DIMENSI 2 (MATRIKS) CONTOH 1: A. Defenisi masalah. y Menjumlah dan mengalikan matriks. B. Struktur data Unit Matriks a Matriks b Penjumlahan Perkalian Variabel a b c=a+b d=a*b Type of data Numeric/matriks Numeric/matriks Numeric /matriks Numeric /matriks Keterangan Input data Input data Output data Output data

C. Algorithm program 1. 2. Start Input data Baca( a) Baca (b) 3. Process c=a+b d=a*b 4. Tampil a b c d 5. Stop

D. Coding %Input data Matriks clc; a=input('Input elemen matriks a ='); b=input('Input elemen matriks b=); %proses; c=a+b; d=a*b; %output disp('Matriks a'); a disp(Matriks b); b disp('Matriks c = a+b '); c disp(Matriks d= a*b); 33

E. Testing and Verification Input elemen matriks a =[3 5 6;7 8 9;3 4 8] Input elemen matriks b=[2 3 5;4 6 9;2 3 1] Matriks a a= 3 7 3 5 8 4 6 9 8

Matriks b b= 2 4 2 3 6 3 5 9 1

Matriks c = a+b c= 5 11 5 8 11 14 18 7 9

Matriks d= a*b d= 38 64 38 57 66 96 116 57 59

34

CONTOH 2: A. Defenisi masalah. y Menentukan: invers, determinan, dan transpose matriks. B. Struktur data Unit Matriks a Matriks b (invers a) Matriks c (determinan a) Matriks d (Transpose a) C. Algorithm program 1. Start 2. Input data y 3. Process y y y 4. Tampil y y y y 4. Stop Variabel a b=invers(a) c=det(a) d= a Type of data Numeric/matriks Numeric/matriks Numeric /matriks Numeric /matriks Keterangan Input data Output data Output data Output data

Baca( a) b=invers(a); c=det(a); d=a; a b c d

D. Coding %Input data Matriks clc; a=input(Input elemen matriks a =); %proses; b=inv(a); c=det(a); d=a; %output disp(Matriks a); a disp(b= Invers a); b disp(c= determinan a ); c disp(d= Transpose a ); d

35

E. Testing and Verification Testing ke 1 Input elemen matriks a =[4 5;7 8] Matriks a a= 4 7 5 8

b= Invers a b= -2.6667 1.6667 2.3333 -1.3333 c= determinan a c= -3 d= Transpose a d= 4 8 7

Testing ke 2 Input elemen matriks a =[7 8 9;3 4 5;2 7 8] Matriks a a= 7 3 2 8 4 7 9 5 8

b= Invers a b= 0.1875 0.0625 -0.2500

36

0.8750 -2.3750 0.5000 -0.8125 2.0625 -0.2500 c= determinan a c= -16 d= Transpose a d= 7 8 9 3 4 5 2 7 8

CONTOH 3 A. Defenisi Masalah y Penyelesaian sistem persamaan linear. B. Input and output data Unit Elemen matriks m x m sistem persamaan linear Elemen matriks kolom sistem persamaan linear Elemen matriks kolom yang nilainya belum diketahui C. Algorithm program 1. 2. Start Input data y Baca matriks (a) y Baca matriks (b) Proses y x=a\b; Output y a y b y x Stop Variabel a b x Type of data Numeric /matriks Numeric/matriks Numeric/matriks Keterangan Input data Input data Output data

3. 4.

5.

37

D. Coding clc; disp('Aljabar Linear dan matriks: Ax = b'); a=input('Input elemen Matriks a= '); b=input('Input elemen Matriks b=); %Proses x=a\b; %Output disp('Elemen matriks a '); a disp(Elemen matriks b ); b disp(Elemen matriks x atau hasil ); x E. Testing dan Verifikasi Aljabar Linear dan matriks: Ax = b Input elemen Matriks a= [1 1 1;2 3 1;4 1 4] Input elemen Matriks b=[9;17;27] Elemen matriks a a= 1 2 4 1 3 1 1 1 4

Elemen matriks b b= 9 17 27 Elemen matriks x atau hasil x= 2.0000 3.0000 4.0000

38

Latihan

1. Rancang program komputer untuk menentukan hasil rumusan berikut: C=A* inv(A). 2. Rancang program komputer untuk menentukan hasil rumusan berikut: C = P*Q*R. 3. Rancang program komputer untuk menentukan hasil rumusan berikut: C=(P*Q)+R. 4. Selesaikan sistem persamaan berikut dengan contoh program 3. X1 + 7X2 - 3X3 =-51 4X1- 4X2 + 9X3 =61 12 X1 X2 + 3X3=8 5. Selesaikan sistem persamaan berikut dengan contoh program 3. -6X1 + 12X3 = 60 4X1- X2 - X3 = -2 6X1 + 8X2 = 44

39

PRAKTIKUM 10 GRAFIK DUA DIMENSI (I) Contoh 1: A. Defenisi Masalah y Grapik y = A sin(x). B. Struktur data Unit Amplitudo Jumlah periode Simpangan Sudut Graphics Variabel a n y x Type of data Numeric Numeric Numeric Numeric (radian) Keterangan Input data Input data Input data Input data Output data

C. Algorithm program 1. 2. Start Input data Input a, n

3. Process x=0:0.01:2*pi*n; y=a*sin(x); 4. Output Plot(x,y) 5. Stop 4. Stop

D. Coding %graphic y= a sin(x) %input n=input('Jumlah Periode : '); a=input('Amplitudo = '); %process x=0:0.01:2*pi*n; y=a*sin(x); %output plot(x,y,b) xlabel('x axis');ylabel('y axis'); title('y= A sin x'); grid on; E. Testing and Verification prac7a 40

Number of periode: 2 Amplitude = 12

Contoh 2: A. Defenisi Masalah y Graphics y1 = a sin(3x) and y2=b cos (5x) pada sumbu yang sama. B. Input and output data Unit Amplitude 1 Amplitudo 2 Lama pengamatan Simpangan1 Simpangan 2 Simpangan 3 t Graphics Variabel a b n y1 y2 y=y1+y2 waktu Type of data Numeric Numeric Numerik Numeric Numeric Numeric Numeric Keterangan Input data Input data Input data Output data Output data Output data Output data Output data

C. Algorithm program 1. 2. Start Input data

41

Input a,b,t 4. Process t=0:0.01:n; y1=a*sin(3*t); y2=b *cos(5*t); 5. Output Plot(t,y1,t,y2) 6. Stop D. Coding %graphic 1.y= a sin(3t) %graphic 2.y= b cos(5t) %input clc; a=input('Amplitudo a = '); b=input ('Amplitudo b = '); n=input(Lama pengamatan=); %process t=0:0.01:n; y1=a*sin(3*t); y2=b*cos(5*t); y=y1+y2; %output plot(t,y1,'b',t,y2,'r',t,y,k) xlabel(' waktu ');ylabel(' simpangan'); title('y1= A sin(3t); y2= b cos(5t) '); grid on; E. Testing and Verification Testing Amplitudo a = 3 Amplitudo b = 5 Lama pengamatan =5

42

y 1= A s in(3t); y 2= b c os (5t) 8 6 4 2 s im pangan 0 -2 -4 -6 -8

0.5

1.5

2.5 wak tu

3.5

4.5

Latihan 1. Rancang program komputer untuk menggambar grafik y vs x dari persamaan : y = a x2 + b x + c. 2. Rancang program komputer untuk menggambar grafik d vs t dari persamaan: d = vo t + a t2 3. Rancang program komputer untuk menggambar grafik x vs y atau kurve Lissajous, yaitu paduan getaran harmonis saling tegak lurus. x= A sin (p t) dan y=B sin(q t). Dalam hal ini : p, q frekuensi, t=waktu. 4. Rancang program komputer untuk menggambar grafik lintasan peluru. 5. Rancang program komputer untuk menggambar grafik interferensi gelombang dalam dua dimensi.

43

PRAKTIKUM 11 GRAFIK DUA DIMENSI (II) Contoh 1: A. Defenisi masalah y Grafik y = A sin(x) dan y = A cos(x) pada 2 jendela mendatar . B. Input and output data Unit Amplitudo Jumlah periode Simpangan Sudut Graphics Variabel a n y x Type of data Numeric Numeric Numeric Numeric (radian) Keterangan Input data Input data Input data Input data Output data

C. Algorithm program 1. 2. Start Input data Input a, n

3. Process x=0:0.01:2*pi*n; y1=a*sin(x); y2=a*cos(x); 4. Output subplot(2,1,1); plot(x,y1); subplot(2,1,2); plot(x,y2); 5. Stop

D. Coding %graphic 1.y= a sin(x) %graphic 2.y= a cos(x) %input n=input('Number of periode: '); a=input('Amplitude = '); %process x=0:0.01:2*pi*n; y1=a*sin(x); y2=a*cos(x); %output subplot(2,1,1);plot(x,y1,'b'); xlabel('x axis');ylabel('y axis'); title('y= A sin x'); 44

grid on; subplot(2,1,2);plot(x,y2,'r'); xlabel('x axis');ylabel('y axis'); title('y= A cos x'); grid on;

E. Testing and Verification Jumlah priode: 3 Amplitudo = 15

45

Contoh 2: A. Problem definition y Graphics y = A tan(x) and y = A (sin(x))^2 pada 2 jendela tegak . B. Input and output data Unit Amplitudo Jumlah priode Simpanagan Sudut Graphics Variabel a n y x Type of data Numeric Numeric Numeric Numeric (radian) Keterangan Input data Input data Input data Input data Output data

C. Algorithm program 1. 2. Start Input data Input a, n

3. Process x=0:0.01:2*pi*n; y1=a*tan(x); y2=a*(sin(x)).^2; 4. Output subplot(1,2,1); plot(x,y1); subplot(1,2,2); plot(x,y2); 5. Stop

D. Coding %graphic 1.y= a tan(x) %graphic 2.y= a (sin(x))^2 %input n=input('Jumlah periode: '); a=input('Amplitudo = '); %process x=0:0.01:2*pi*n; y1=a*tan(x1); y2=a*(sin(x2)).^2; %output subplot(1,2,1);plot(x,y1,'b') xlabel('x axis');ylabel('y axis'); title('y= A tan x'); grid on; subplot(1,2,2);plot(x,y2,'r'); xlabel('x axis');ylabel('y axis'); title('y= A (sin x)^2'); 46

grid on;

E. Testing and Verification Jumlah periode: 3 Amplitudo = 15

47

CONTOH 3: A. Problem definition y Grafik y= A sin(x), y=A cos(x), y = A tan(x) and y = A (sin(x))^2 pada jendela 2 x 2. B. Input and output data Unit Amplitudo Jumlah periode Simpangan Sudut Graphics Variabel a n y x Type of data Numeric Numeric Numeric Numeric (radian) Keterangan Input data Input data Input data Input data Output data

C. Algorithm program 1. 2. Start Input data Input a, n 3. Process x=0:0.01:2*pi*n; y1=a*sin(x); y2=a*cos(x); y3=a*tan(x); y4=a*(sin(x)).^2; 4. Output subplot(2,2,1); plot(x,y1); subplot(2,2,2); plot(x,y2); subplot(2,2,3); plot(x,y3); subplot(2,2,4); plot(x,y4); 5. Stop D. Coding %graphic 1.y= a sin(x) %graphic 2.y= a cos(x) %graphic 3.y= a tan(x) %graphic 4.y= a (sin(x))^2 %input n=input('Number of periode: '); a=input('Amplitude = '); %process x=0:0.01:2*pi*n; y1=a*sin(x); y2=a*cos(x); y3=a*tan(x); y4=a*(sin(x)).^2; 48

%output subplot(2,2,1);plot(x,y1,'b') xlabel('x axis');ylabel('y axis'); title('y= A sin x'); grid on; subplot(2,2,2);plot(x,y2,'r'); xlabel('x axis');ylabel('y axis'); title('y= A cos x '); grid on; subplot(2,2,3);plot(x,y3,'g'); xlabel('x axis');ylabel('y axis'); title('y= A tan x '); grid on; subplot(2,2,4);plot(x,y4,'y'); xlabel('x axis');ylabel('y axis'); title('y= A (sin x)^2 '); grid on; E. Testing and Verification Jumlah priode: 3 Amplitudo = 15

49

Latihan 1. Construct computer program for drawing graphic y = a x2 + b x + c and y= a (cos(x))2 on 2 by 1 window. 2. Construct computer program for drawing graphic t vs d from function: d = vo t + a t2 and KE vs v from function KE = 0.5* m* v2 on 1 by 2 window 3. Construct computer program for drawing graphics trajectory of projectile on 2 by 2 windows. In this problem initial velocity constant, g=10 m/s2, and elevation angle difference on every windows.

50

PRAKTIKUM 12 GRAFIK TIGA DIMENSI Contoh 1: A. Defenisi Masalah y Grapik z = a sin(x) + b sin (y). B. Struktur data Unit Amplitudo Jumlah periode Simpangan Sudut Graphics Variabel a, b n z x,y Type of data Numeric Numeric Numeric Numeric (radian) Keterangan Input data Input data Input data Input data Output data

C. Algorithm program 1. 2. Start Input data Input a,b, n

5. Process x=0:0.01:2*pi*n; y=x; [x,y]=meshgrid(x,y) z= a*sin(x) + b sin(y) 6. Output surf(x,y,z) 7. Stop 4. Stop

D. Coding %graphic y= a sin(x) + b sin (y) %input clc; n=input('Jumlah Periode : '); a=input('Amplitudo 1= '); b=input('Amplitudo 2= '); %process x=0:0.3:2*pi*n; y=x; [x,y]=meshgrid(x,y); z=a*sin(x)+b*sin(y); %output colormap(gray); surf(x,y,z) 51

xlabel('x axis');ylabel('y axis');zlabel('z axis'); title('z= A sin x + B sin y'); grid on;

E. Testing and Verification Testing 1 Jumlah Periode : 2 Amplitudo 1 = 3 Amplitudo 2 = 4

52

Testing 2 Jumlah Periode : 2 Amplitudo 1 = 4 Amplitudo 2 = 0

53

Contoh 2: A. Defenisi Masalah y Grapik z = a*x^2 +b* y^2 B. Struktur data Unit Koefisien Koordinat Graphics Variabel a, b x,y,z Type of data Numeric Numeric Keterangan Input data Input data Output data

C. Algorithm program 1. 2. Start Input data Input a, b

6. Process x=-10:0.2:10; y=x; [x,y]=meshgrid(x,y) z = a*x^2 +b* y^2 8. Output surf(x,y,z) 9. Stop 4. Stop

D. Coding %input clc; disp(Grafik z = a*x^2 +b* y^2); a=input('Koefisien a = '); b=input('Koefisien b = '); %process x=-10:0.4:10; y=x; [x,y]=meshgrid(x,y); z= a*x^2 +b* y^2; %output colormap(gray); surf(x,y,z) xlabel('x axis');ylabel('y axis');zlabel('z axis'); title('z= a*x^2 +b* y^2 '); grid on;

54

E. Testing and Verification Testing 1 Grafik z = a*x^2 +b* y^2 Koefisien a = -1 Koefisien b = -1

55

Testing 2 Grafik z = a*x^2 +b* y^2 Koefisien a = -2 Koefisien b = 0

56

PRAKTIKUM 13 DIAGRAM BATANG Contoh 1: A. Defenisi Masalah y Diagram batang 2 dan 3 dimensi. B. Struktur data Unit Periode Jenis produksi Volume produksi Graphics Variabel m n z Type of data Numeric Numeric Numeric /matriks Keterangan Input data Input data Input data Output data

C. Algorithm program 1. 2. Start Input data Input m, n for j=1:m disp(['Periode ke: ',num2str(j)]); for k=1:n disp(['Jenis barang ke: ',num2str(k)]); z(j,k)=input('Volume produksi='); end end

3. Process dan Output bar(z); bar3(z); 4. Stop

D. Coding %graphic Bar 2d and 3d %input clc; m=input('Jumlah periode ='); n=input('Jenis produksi = '); disp( ); %process for j=1:m disp( ); disp(['Periode ke: ',num2str(j)]); for k=1:n disp(['Jenis barang ke: ',num2str(k)]); 57

z(j,k)=input('Volume produksi='); end end %output subplot(1,2,1); bar(z); xlabel('Priode ');ylabel('Volume '); title('Diagram batang 2D'); grid on; subplot(1,2,2);bar3(z) ylabel('Periode ');zlabel('Volume '); title('Diagram batang 3D'); grid on;

E. Testing and Verification

Jumlah priode =4 Jenis produksi = 2 Periode ke1 Produksi barang ke 1 Volume produksi=300 Produksi barang ke 2 Volume produksi=400 Periode ke2 Produksi barang ke 1 Volume produksi=340 Produksi barang ke 2 Volume produksi=450 Periode ke3 Produksi barang ke 1 Volume produksi=45 Produksi barang ke 2 Volume produksi=340 Periode ke4 Produksi barang ke 1 Volume produksi=450 Produksi barang ke 2 Volume produksi=600

58

B ar2d G raphic s 600

500 600 400 Volum e 400 200 0 200 1 2

B ar3d G raphic s

Volum e

300

3 4 100 Y ear

3 Y ear

59