• Tidak ada hasil yang ditemukan

Kompter Pemograman Basic Berbasis Matrik Laboratorium

N/A
N/A
Protected

Academic year: 2018

Membagikan "Kompter Pemograman Basic Berbasis Matrik Laboratorium"

Copied!
153
0
0

Teks penuh

(1)

Ripai, S.Pd., M.Si

WebMail :ripainasir@yahoo.co.id

WebBlok :www.ripaimat.wordpress.com

BAHAN AJAR

KOMPUTER PEMOGRAMAN

BASIC

BERBASIS

MATRIK LABARATORIUM

Matematika merupakan kosep fkir atau ide rasional yang bersifat abestrak, terkontruksi dari fenomena alam sebagai upaya untuk menyelesaikan berbagai permasalahan alam kehidupan. Permasalahan kehidupan yang lebih kompleks tidak dapat diselesaikan hanya dengan metode analitik matematik.Diperlukan metode numerik dan simulasi.Untuk itu Matematika komputasi merupakan solusi bagaimana menyelesaikan permasalahan matematika dan alam kehidupan menggunakan teknologi komputer.Hal ini penting dikuasai oleh pencinta matematika agar matematika yang abestrak dapat menjadi lebih konkrit.

(2)

KATA PENGANTAR

Bismillahirrahmanirrahim.

Puji syukur kehadirat Allah SWT yang telah memberikan limpahan rahmat, taufik dan hidayah-Nya sedemikian sehingga buku bahan ajar Mahasiswa dalam mata kuliah Komputer Pemograman Basic ini dapat terselesaikan.

Bahan ajar ini disajikan dalam bentuk yang sederhana dengan pendekatan proses pembuatanprogram komputasi yang digunakan sebagai pegangan atau accuan dalam pelaksanaan perkuliahan Komputer Pemograman Basic.

Penulis menyadari bahan ajar ini masih jauh dari kesempurnan, Oleh karena itu saran dan kritik yang bersifat membangun daripembaca sangat kami harapkan guna penyempurnaan buku bahan ajar ini .

Akhirnya penulis berharap semoga buku bahan ajar ini dapat memberikan andil dalam rangka ikut mencerdaskan kehidupan bangsa sebagaimana yang diamanatkan dalam pembukaan UUD 1945.

Mataram, 2012 Penulis

(3)

SILABUS MATA KULIAH

Mata Kuliah : Komputer Pemograman Basic

SKS : 3

Kode :

Standar Kompetensi

: Mahasiswa dapat membuat program komputasi matematika untuk mensimulasikan dan menyelesaikan permasalahan matematika.

Kompetensi Dasar : 1. Mahasiswa dapat membuat suatu Algoritma program pada topik-topik matematika dan pembelajaran matematika.

2. Mahasiswa dapat membuat suatu algoritma komputasi pada topik-topik matematika dan pembelajaran matematika.

3. Mahasiswa dapat menguasai bahasa dasar komputasi matematika untuk menyelesaikan permasalahan matematika pada topik-topik kalkulus dasar, aljabar matriks, Statistika matematika, pengantar dasar matematika, matematika diskrit dan teori bilangan.

4. Mahasiswa dapat membuat pemograman dengan strukutr if, for, while dan switch

5. Mahasiswa dapat melakukan pemograman komputasi matematika berbasis GUI (grafk User InterfaceI).

Topik : 1. Pengantar Pemograman Komputer Basic

2. Algoritma Pemograman Komputasi Matematika.

(4)

4. Pemograman M-fle dengan struktur if, for, while, switch

5. Pemograman GUI dalam membuat aplikasi matematika.

2. Dapat mengetahui sasaran belajar unutk tiap pertemuan 2 1. Algoritma

Program 2. Flow Chat

3. Akumulator dan Konter

3. Dapat menjelaskan pengertian algoritma program 4. Dapat membuat algoritma program

5. Dapat menuliskan output suatu program jika flow Chat diberikan

2. Dapat mengevaluasi nilai suatu fungsi 3. Menneukan aitmatika fungsi

4. Dapat menentukan komposisi fungsi

4 Pemograman

Comand Window pada topik kalkulus Dasar

1. Dapat menentukn limit, turunan inetral suatu fungsi 2. Dapat menenukan asimtot tegak dan datar suatu fungsi 3. Dapat menentukan gradient dan garis singgung suat

kurva

4. Dapat menentukan luas daerah di bawah kurva 5 1.Pemograman

Comand Window pada topik Aljabar Matriks

1. Dapata mendefinsikan matriks 2. Dapat mengakses elemen matriks

3. Dapat menentukan invers, determinan, kofaktor suatu matriks

4. Dapat mengunakan metode invers untuk menyelesaikan SPL multi variabel

5. Dapat melakukan aritmatika matriks

6. Dapat menentukan eigen vector, value suatu matriks 7. Dapat mendefinsikan matriks graph dan menetukan

2. Dapat menentukan parameter statistic seperti rataan, modus, median, standar deviasi, varians

(5)

Prt

Topik

Intruksional

positif dan bulat negative

3. Dapat menentukan FPB dan KPK dua buah bilangan 4. Dapat melakukan komputasiuntuk memeriksa

kebenaran beradasrkan logika matematika

8 UJIAN TENGAH SEMESTER

9 Pemograman M

file dengan strukutr if

Dapat merancnag pemograman dengan struktur if untuk menyekesaikan masalah trikotoomi bilangan real, akar persamaan kuadrat dan penilaian hasil belajar

10 Pemograman

dengan strukutr for

Dapat merancang pemograman dengan strukutr for untuk mensimulasikan definisi factorial, permutasi dan limit fungsi

11 Pemograman

dengan strukiut while

Dapat merancang pemograman dengan strukutr while untuk mensimulasikan definisi pembagian dan algoritma Eucliden

12 Pemograman

dengan strkutr switch

Dapat merancang pemograman dengan struktur switch untuk megabungkan program-program komputasi yang telah dibuat sebelumnya mensimulasikan algoritma Eucliden dan factorial

14 Pemograman

GUI

Dapat membangun program unutk mensimulasikan garis singgung pada kurva dan deret mascluarin dan tayor

15 Pemograman

GUI

Dapat membangun program unutk menganalisis hasil belajar siswa .

(6)
(7)

Bismillahirrahmanirrahim.

Komputer berasal dari kata count yang bebarti menghitung. Komputer merupakan teknologi yang lahir sebagai jawaban atas tantangan berbagai permasalahan kehidupan yang membutuhkan solusi perhitungan matematis yang cepat, tepat dan benar. Leluhur komputer adalah kalkulator, akan tetapi karena kalkulator tidak bisa menyelesiikan masalah yang kompleks maka komputer diciptakan yang pada awalnya diperuntukkan khusus untuk membantu proses perhitungan matematis. Akan tetapi, saat ini komputer telah dikembangkan menjadi yang lebih luas dalam aplikasinya.

Pemograman berarti membuat suatu perencanaan perhitungan matematis menggunakan computer (komputasi matematika). Sedangkan Basic berarti dasar yang terkait dengan bahasa dasar computer untuk melakukan perhitungan matematis. Sebagai contoh bahasa dasar untuk menuliskan

(8)

-0.3103 -0.3103 0.5517 0.3448 -0.6552 0.2759 -0.0690 0.9310 -0.6552

Contoh lainnya adalah bagaimana mengambar grafk fungsi

 

x

x x

f sin . Bahasa dasar computer yang dapat diterapkan

adalah sebagai berikut:

syms x f=sin(x)/x; ezplot(f)

dengan output grafk fungsi adalah

-6 -4 -2 0 2 4 6

-0.2 0 0.2 0.4 0.6 0.8 1

x sin(x )/x

(9)

struktur for untuk mensimulasikan pengertian secara intuitif limit kanan fungsi.

syms x

f=input('f(x)= '); c=input('c = '); X=[c-10:0.25:c+10]; ezplot(f,X)

d=[c+10:-0.25:c]; n=length(d); for i=1:n hold on plot(d(i),0,'.r') hold on

plot(d(i),subs(f,d(i)),'.r') pause(0.2)

end

L=double(limit(f,c));

text(c,subs(f,c),['<--- Limit = ',num2str(L)])

Output dari eksekusi program tersebut adalah sebagai berikut

-8 -6 -4 -2 0 2 4 6 8 10 12

0 50 100 150 200

x x2

+5 x+6

<--- Limit = 20

(10)
(11)

Bismillahirrahmanirahim.

Algoritma berasal dari kata Algorithm (Ingris) yang diambil dari kata Al-Khawarizmi (Arab) merupakan nama seorang ilmuan matematika islam Abu Musa Al-khawarizmi. Al-Khawarizmi merupakan ilmuan yang mendefnisikan bilangan hidu arab 1, 2, 3, 4, 5, 6, 7, 8, 9, 0. Dimana dalam komputer bilangan yang dioperasikan merupakan bilangan hindu arab tersebut. Disebut bilangan hidu arab, karena Al-kharizmi yang merupakan bangsa Arab mendefnisikan bilangan tersebut dari beberapa simbol yang ada pada peradaban umat Hindu dimana pada masa tersebut, Al-Khawarimi banyak berdiskusi dengan ilmuan matematika hindu.

Algoritma program adalah suatu prosedur logis yang memuat tahapan-tahapan penyelesaian suatu masalah (Suryadi, 1994). Suatu algoritma yang diuraikan secara tepat akan memerikan proses penyelesaian masalah berjalan sesuai harapan. Sebagai contoh algoritma program seseorang akan berangkat sekolah. Maka prosedur logis yang bisa diterapkan adalah sebagai berikut:

Algoritma 2.1 1. Bangun tidur 2. Pergi mandi 3. Berpakaian 4. Berkemas

2

(12)

5. Sarapan 6. Berangkat

Dari uraian algoritma di atas, merupakan urutan logis yang didasarkan atas kebiasaan seseorang berangkat sekolah. Jika step 2 ditukar posisinya dengan step ke-3., tentunya akan menjadi tidak logis sehingga urutan tersebut tidak dapat disebut sebagai suatu algoritma program. Contoh lainnya suatu algoritma program jika seseorang akan menghitung nilai dari akar-akar persamaan kuadrat sebagai berikut:

Algoritma 2.2 : Menghitung akar real persamaan kuadrat Step 1. Tentukan nilai a, b, c

Step 2. Hitung nilai dari D = b2 – 4 a c

Step 3. Periksa apakah D ≥ 0, jika benar, maka Step 4. Hitung

a D b x

2 2

,

1   

Step 5. Tulis akar persamaan sebagai x1 dan x2

Step 6. Kondisi lainnya yakni ingkaran dari step 3 yaitu D < 0 Step 8. Tulis akar-akar persamaan imajiner

Step 9. Akhiri program

(13)

Contoh:

Misalkan dimiliki persamaan kuadrat f(x) = x2 – x + 4 maka

penyelesaian akar persamaan kuadrat dengan mengunakan algoritma di atas adalah sebagai berikut:

a = 1; b = -1; c = 4

D = (-1)2 – (4)(1) (4) = 1-16 = -15

Akar persamaan kuadrat imajiner

Sesuai dengan algoritma di atas, pertama-tama nilai a = 1, b = -1 dan c = 4 didefnisikan kemudian dihitung nilai dari D = -15. Karena kondisi pada step 3 tidak terpenuhi yakni D < 0, maka step 4, 5 dan 6 diabaikan dan pengerjaan langsung loncat ke step 8. Hal ini disebabkan karena step step 8 merupakan pengerjaan selanjutnya jika step 3 tidak terpenuhi dan step 7 terpenuhi.

Contoh

Buatlah algoritma program untuk mengimplementasikan sifat trikotomi bilangan real.

Solusi:

Sifat trikotomi bilangan real menyatakan bahwa, jika x dan y adalah sembarang bilangan real, maka terdapat 3 kemungkinan hubungan yang terjadi anatar x dan y, yaitu x = y, x > y dan x < y. Untuk itu bentuk algoritma yang dapat kita terapkan adalah sebagai berikut:

Algoritma 2.3. Trikotomi Bilangan Real

Step 1. Defnisikan sembarang bilangan real, sebut sebagai x dan y Step 2. Periksa apakah x = y, jika benar

(14)

Step 4. Jika step 2 salah, periksa apakah x > y, jika benar Step 5. Tulis “ x lebih besar dari y”

Step 5. Kondisi lainnya, yakni step 2 dan 4 salah Step 6. Tulis “ x kurang dari y”

Step 6. Akhiri Program

Algoritma di atas merupakan suatu urutan pengerjaan logis dan insyaAllah akan menjamin output hasil pengerjaan sesuai dengan sifat trikotomi bilangan real sebagaimana yang terdapat dalam kalkulus maupun analisis real.Misalkan pada step 1 didefnisikan x = 5 dan y = 6 maka pengerjaan berdasarkan algoritma di atas adalah dilakukan pemeriksaan apakah x = y sebagaimana pada step 2, karena bernilai salah maka step 3 di abaikan dan program akan loncat ke step 4 dan memeriksa apakah x> y, dan diperoleh kenyataan x>y bernilai salah, program meloncati step 5 dan mengerjakan step 7. Hal ini disebabkan karena step 7 berada di bawah kontrol step 6. Jika algoritma tersebut diterapkan dalam pemograman komputer, maka akan diperoleh hasil sebagai berikut:

x = 5; y = 6;

x lebih kecil dari y

TOPIK DISKUSI

Tentukan output program berikut jika di berikan nilai Tugas/U1 = 45; Mid/U2 = 76 dan UAS/U3 = 70.

Algoritma 2.4. Konversi nilai Step 1. Masukkan nilai U1, U2 dan U3

(15)

Step 4. Tulis “ Nilai Akhir = NA dengan grade A Step 5. Jika tidak, seleksi apakah NA >= 65, jika benar Step 6. Tulis “ Nilai akhir = NA dengan grade B” Step 7. Jika tidak, seleksi apakah NA >=55, jika benar

Step 8. Tulis “Nilai Akhir = NA dengan grade C” Step 9. Jika tidak, seleksi apakah NA>=40, jika benar

Step 10. Tulis “ Nilai Akhir = NA dengan grade D”

Step 11. Dalam kondisi lainnya tulis “ Nilai akhir = NA dengan grade E”

Flow Chat

Flow Chat adalah suatu diagaram alur yang menggambarkan suatu algoritma program. Dalam fow chat digunakan simbol-simbol sebagai berikut:

(16)

Gambar 1.1 Flow Chat Program penentuan akar persamaan Contoh

Kontruksilah bentuk fow chat dari lagoritma trikotomi bilangan real.

Solusi:

(17)

Gambar 1.2 Flow Chat Trikotomi bilangan real

Contoh:

Buatlah fow chat untuk jumlah 10 bilangan asli pertama

Solusi:

(18)

sebagai bilangan Asli tersebut, bukan berarti ada bilangan tidak asli atau palsu. Akan tetapi didasari dari kenyataan bahwa dalam peradaban manusia dibidang sosial dan budaya, himpunan bilangan {1, 2, 3, . . .} merupakan himpunan bilangan yang pertama kali dirumuskan atau dikenal manusia. Konsep asli disini sejalan dengan pemahaman pernyataan suku sasak asli, yang berarti bahwa leluhur orang tersebut adalah orang yang pertama kali mendiami atau tinggal dan mengembangkan budaya dan social di bumi Lombok Nusa tenggara Barat.

Operasi biner merupakan operasi yang dilakukan dengan mengoperasikan dua buah bilangan. Misalkan dalam penjumlahan bilangan asli tersebut, setiap kita akan melakukan operasi biner untuk dapat menentukan dengan proses 1 + 2 = 3, kemudian 3 + 3 = 6, kemudian 6 + 4 = 10, 10 + 5 = 15 dan seterusnya. Selanjutnya Akumulator merupakan variabel yang nilainya terus bertambah sesuai dengan banykanya proses pengulangan dari proses yang berlangsung Misalnya seorang anak yang menabung sisa uang jajan sekolahnya, maka tabungannya tersebut dinamakan akumulator. Konter adalah akumulator yang penambahan nilainya tetap satu. Misalnya seorang pengangkut pasir yang memasukkan kerikil pada suatu kaleng untuk mengetahui banyaknya kali mengangkut pasir, maka kaleng tersebut dinamakan konter.

(19)

J = Variabel akumulator sebagai tempat menyimpan hasil penjumlahan biner i = Variabel konter sebagai pengalamatan elemen himpunan bilangan Asli

Flow Chat di pada gambar 1.3 merupakan suatu prosedur logis penyelesaian jumlah 10 bilangan asli berdasarkan konsep operasi biner sebagaimana biasanya seseorang melakukan proses penjumlahan. Jika disimulasikan, maka proses perhitungan dan perubahan nilai variabel adalah sebagai berikut:

Gambar 1.3 Flow Chat program menghitung 10 bilangan asli pertama

A = 1 J = 0

(20)

A≠ 10

A = A + 1 = 1 + 1 = 2 J = J + A = 1 + 2 = 3

A≠ 10

A = A + 1 = 2 + 1 = 3 J = J + A = 3 + 3 = 6

A≠ 10

A = A + 1 = 3 + 1 = 4 J = J + A = 6 + 4 = 10

A ≠ 10

A = A + 1 = 4 + 1 = 5 J = J + A = 10 + 5 = 15

A ≠ 10

A = A + 1 = 5 + 1 = 6 J = J + A = 15 + 6 = 21

A ≠ 10

A = A + 1 = 6 + 1 = 7 J = J + A = 21 + 7 = 28

A ≠ 10

A = A + 1 = 7 + 1 = 8 J = J + A = 28 + 8 = 36

A ≠ 10

(21)

A ≠ 10

A = A + 1 =9+ 1 = 10 J = J + A = 45 + 10 = 55 A = 10

Jumlah = J = 55

Contoh

(22)

Solusi dari permasalahan tersebut diberikan sebagai latihan mahasiswa dan lakukanlah simulasi dengan memilih n= 10.

Contoh:

(23)

Solusi:

Memperhatikan diagram tersebut dan x = 5, 3, 0, 6, 6, 4, 7 maka analisis output sebagai berikut:

x = 5 3 0 6 6 4 7 T = 0

n = 7 karena x(1) > x(2) benar  T = 5

x = 3 3 0 6 6 4 7 x = 3 5 0 6 6 4 7 karena x(1) > x(3) benar  T = 3;

x =0 5 0 6 6 4 7; x = 0 5 3 6 6 4 7

karena x(1) > x(4) salah  tidak ada proses

karena x(1) > x(5) salah  tidak ada proses

karena x(1) > x(6) salah  tidak ada proses

karena x(1) > x(7) salah  tidak ada proses

karena x(2) > x(3) benar  T = 5 ;

x = 0 3 3 6 6 4 7; x = 0 3 5 6 6 4 7

karena x(2) > x(4) salah  tidak ada proses

(24)

karena x(2) > x(6) salah  tidak ada proses

karena x(2) > x(7) salah  tidak ada proses

karena x(3) > x(4) salah  tidak ada proses

karena x(3) > x(5) salah  tidak ada proses

karena x(3) > x(6) benar T = 5;

x = 0 3 4 6 6 4 7; x = 0 3 4 6 6 5 7

karena x(3)> x(7) salah  tidak ada proses

karena x(4) > x(5) salah  tidak ada proses

karena x(4) > x(6) benar  T = 6;

x = 0 3 4 5 6 5 7; x = 0 3 4 5 6 6 7

karena x(5) > x(6) salah  tidak ada proses

karena x(5) > x(7) salah  tidak ada proses

(25)

menampilkan data x  x = 0 3 4 5 6 6 7

berdasarkan analisis di atas, maka jika algoritma tersebut diterapkan dalam komputer, insyaAllah output eksekusi program adalah sebagai berikut:

TUGAS 2

Buatlah suatu algoritma program dan plow chat untuk menghitung

1. Keliling dan luas semua jenis bangun datar

2. Luas permukaan dan volume semua jenis bangun ruang

(26)

Bismillahirrahmanirrahim.

Matrik Laboratorium (MATLAB) merupakan bahasa basic pemograman komputer dengan bahasa program paling tinggi, yang berarti bahwa dalam pengunaanya perististilahan bahasa basic/dasar yang digunakan paling mudah. Pemograman komputer basic berbasis MATLAB memiliki 3 ruang pemograman, yaitu Comand Windows, M File dan GUI. Pada bagian ini akan di bahas tentang pemograman pada command windows.

Comand window merupakan tempat memberikan skrip perintah dan tempat melihat output program. Contoh sebagai berikut:

3

3

Pemograman Fungsi Matematika Pada

(27)

Gambar 2.1 Tamplan command window MATLAB

Pada command window, perintah >> A=[3 4 5 6;6 5 4 8;8 9 6 5;6 8 5 4] adalah pendefnisian matriks berordo 4 x 4 dan diperoleh output sebagai berikut

A =

3 4 5 6 6 5 4 8 8 9 6 5 6 8 5 4

Yang berarti bahwa, pada komputer telah terdefnisi suatu matriks A dengan elemen-elemen sebagaimana di atas.

Selanjutnya terlihat perinta mencari invers matriks A dengan perintah inv(A) dengan ouput sebagai berikut

ans =

(28)

-0.1682 0.1028 -0.7850 1.0280 0.4299 -0.3738 0.6729 -0.7383 -0.0187 0.2336 -0.4206 0.3364

Berikut kemudian terlihat ada perintah det(A) yang berarti meminta komputer memberikan output determinan matriks A dan diperoleh hasi

>> det(A) ans = 107.0000

Berikut adalah beberapa bahasa dasar dalam pemograman fungsi matematika yang dapat di bangun pada comand window. Mahasiswa diminta mencobanya pada command window dengan cara menuliskan skrip komputasinya pada command window. Output yang diperoleh dipastikan sama dengan output pada tabel kolom output sebagaimana yang diberikan. Penjelasan konsep matematikanya disesuaikan pada kolom konsep matematika yang diberikan.

3.1 Pendefnisian Fungsi Dengan Perintah syms x

(29)

No Konsep

Matematika Perintah PadaComand Window

5 Mengambar grafk

fungsi f(x) = x2

-Menghitung nilai dari f(-3) dari

8 Menentukan titik

(30)

No Konsep

Matematika Perintah PadaComand Window

Output

9 Melukiskan posisi

titik potong fungsi

koefesien dari

fungsi polynomial

11 Menuliskan dalam

bentuk yang lebih dengan gambar grafk fungsi

In sym.subs at 155

(31)

No Konsep

Matematika Perintah PadaComand Window

Output

14 Menuliskan

keterangan grafk legend('Grafkf(x)','Grafk g(x)')

0 0. 5 1 1.5 2 2.5 3 3. 5 4 4.5 5

19 Ivers fungsi f(x)

1/f(x)

Catatan: bukan fungsi invers dari fungsi f(x)

Inv(f)

(32)

No Konsep

Matematika Perintah PadaComand Window

Output

20 Invers fungsi g(x)

1/g(x)

Catatan: bukan fungsi invers dari fungsi g(x)

Inv(g)

pretty(inv(g)) ans =1/(x^2-5*x+6)*(x-2)

21 Komposisi fungsi

gof =g(f(x)) subs(g,f)pretty(subs(g,f)) ans = ((x^2-5*x+6)^2- 5*x^2+25*x-24)/(x^2-5*x+4)

22 Komposisi fungsi

fog=f(g(x)) subs(f,g)pretty(subs(f,g)) ans =

(x^2-5*x+6)^2/(x-2)^2-5*(x^2-5*x+6)/(x-2)+6

24 Mengambar fungsi

(33)

3.2. Pendefnisian fungsi dengan perintah inline

Selain dengan perintah syms x, kita juga dapat medefnisikan fungsi dengan perintah inline. Berikut diberikan contoh penggunaanya.

NO KOSEP

KALKULUS PERINTAHCommand WindowPADA MATLAB domain fungsi pada selang

Columns 12 through 21 2.75 3.00 3.25

 Membuat judul grafk fungsi

title('Belajar membuat grafk fungsi')

(34)

NO KOSEP

KALKULUS PERINTAHCommand WindowPADA MATLAB

OUTPUT

mengambil nilai awal pencarian x0 = -1 dan x0 =

nilai h untuk x= 1 dan y =2 diberikan merupakan perintah untuk tidak

3.3 Mendefnisikan fungsi berdasarkan data Selain dengan menggunakan bentuk syms dan inline, maka teknik komptasi untuk membangun fungsi dan grafk berdasarkan suatu data yang diketahui dapat dilakukan dengan cara sebagai berikut:

NO KOSEP

(35)

NO KOSEP

KALKULUS PERINTAHCommand WindowPADA MATLAB

title('Latihan membuat

grafk') 2 4 6 8 10 12 14 16

domain fungs i

R

Lat ihan membuat grafik

4 Melukiskan

grafk dalam bentuk batang garis

Lat ihan membuat grafik

5 Mengambar

grafk f pada

domain x

dengan bentuk diagram

(36)

Apabila dalam fungsi polynomial, diketahui koefesien fungsinya, maka kita dapat mendefnisikan persaman fungsi dan mengambar grafk

serata teknik komputasi matematika lainnya dengan cara

sebagai berikut:

NO KOSEP

KALKULUS PERINTAHCommand WindowPADA MATLAB

f(0) polyval(f,0) ans =6

3 Mengambar

akar persamaan dari f(x)

3.4 Mendefnisikan Fungsi Trigonometri

Pendefnisian fungsi trigonometri dapat dilakukan dengan cara sebagai berikut:

Tabel 2.5 Komputasi fungsi trigonometri NO KOSEP

KALKULUS PERINTAHCommand WindowPADA MATLAB

OUTPUT

1 Mendefnisikan

(37)

NO KOSEP

KALKULUS PERINTAHCommand WindowPADA MATLAB

OUTPUT

4 Mengambar

contoh grfaik fungsi sinus

sinus syms x yexpand(sin(x+y)) ans =cos(x)*sin(y) +

cos(y)*sin(x)

7 Bentuk selisih

sinus expand(sin(x-y)) ans =cos(y)*sin(x)

-cos(x)*sin(y)

8 Bentuk jumlah

kosinus expand(cos(x+y)) ans = cos(x)*cos(y) -

sin(x)*sin(y)

9 Bentuk selisih

sinus expand(cos(x-y)) ans=cos(x)*cos(y) +

sin(x)*sin(y)

10 Bentuk jumlah

tangent pretty(expand(tan(x+y)))

11 Bentuk selisih

tangent pretty(expand(tan(x-y)))

12 Bentuk

perkalian scalar expand([sin(2*x),cos(2*y)]) ans = [ 2*cos(x)*sin(x), cos(y)^2 - sin(y)^2]

13 Bentuk

sederhana dari sin x2 + cos x2

simplify(sin(x)^2 +

cos(x)^2) ans=1

Dengan cara yang sama, dapat dikontruksi untuk fungsi-fungsi trigonometri lainnya. Berikut diberikan tabel perintah dasar pendefnisian fungsi

(38)

No Fungsi Deskripsi Pendefnisian komputasi

1 acos Inves kosinus acos (x)

2 acosh Invers hiperbola

kosinus

acosh(x)

3 acot Invers kotangen acot(x)

4 acoth Invers hiperbola

kotangen

acoth(x)

5 acsc Invers Kosekan acsc(x)

6 acsch Invers hiperbola

kosekan

acsch(x)

7 asec Invers Sekan asec(x)

8 asech Invers hiperbola sekan asech(x)

9 asin Invers Sinus asin(x)

10 asinh Invers hiperbila sinus asinh(x)

11 atan Invers hiperbola

tangent

atan(x)

12 atanh Inver hiperbola tangent atanh(x)

13 cos Kosinus cos(x)

14 cosh Kosinus hiperbola cosh(x)

15 cot Kotangen cot(x)

16 coth Kotangen hiperbola coth(x)

17 csc Kosekan csc(x)

18 csch Kosekan hiperbola csch(x)

19 sec Sekan sec(x)

20 sech Sekan hiperbola sech(x)

21 sin Sinus sin(x)

22 sinh Sinus hiperbola sinh(x)

23 tan Tangent tan(x)

24 tanh Tangent hiperbola tanh(x)

TUGAS 2

Kerjakan intruksi berikut ini dengan benar, dan dikumpulkan pada pertemuan berikutnya!

Intruksi:

(39)

2. Buatlah data fungsi sekurang-kurangnya 3 dengan banyaknya data minimal 30 dan lakukan komptasi sebagaimana pada kegiatan 1.3

3. Batlah minimal 5 buah fungsi polynomial yang diketahui koefesien fungsinya dan lakukan komputasi sebagaimana pada kegiatan 2.4

4. Buatlah minimal 3 buah fungsi untuk masing-masing dari 24 jenis fungsi trigonometri sebagaimana yang terdapat pada tabel sebelumnya kemudiab lakukan komputasi untuk menentukan grafk, dan mengevaluasi suatu nilai tertentu.

Bismillahirrahmanirraim.

Pada pertemuan sebelumnya, telah di bahas pemograman command windows untuk mendefnisikan fungsi matematika. Setiap mahasiswa harus dapat memastikan dirinya bahwa materi sebelumnya tersebut telah tuntas di kuasai. Pada pertemuan kali ini akan dibahasa tentang bagaimana pemograman komputasi untuk kalkulus dasar pada comad window. Perkualiahan ini diselenggarakan dengan asumsi mahasiswa telah menguasai konsep kalkulus dasar yang meliputi, limit fungsi, Asismtot kurva, Maksimum dan minimum fungsi, diperensial dan garis singgung pada kurva serta integral dan luas daerah di bahwah kurva. Bagi mahasiswa

4

(40)

yang belum tuntas materi tersebut, diharapkan untuk belajar individu atau berdiskusi dengan mahasiswa lainnya.

4.1 Pemograman Limit Fungsi

NO KOSEP

MATEMATIKA MATEMATIKA KOMPUTASI OUTPUT

(41)

NO KOSEP

MATEMATIKA MATEMATIKA KOMPUTASI OUTPUT )

4.2 Menentukan Asimtot Kurva

NO KOSEP

MATEMATIKA MATEMATIKA KOMPUTASI OUTPUT

1 Defnisikan

(42)

NO KOSEP

MATEMATIKA MATEMATIKA KOMPUTASI OUTPUT

Horizontal kurva

4 Menentukan

asimtot vertical kurva

x=solve(f2) x =

-1/2+1/2*13^(1/2) -1/2-1/2*13^(1/2)

5 Mengambar

garis asimtot horizontal

hold on

plot([-2*pi 2*pi], [3 3],'g')

6 Mengambar

garis asimtoto Vertikal

MATEMATIKA MATEMATIKA KOMPUTASI OUTPUT

1 Defnisikanfungs

pertama dari f df=dif(f) df =

(6*x+6)/(x^2+x-3)-(3*x^2+6*x-1)/ (x^2+x-3)^2*(2*x+1)

(43)

NO KOSEP

MATEMATIKA MATEMATIKA KOMPUTASI OUTPUT

sederhana dari

df -(3*x^2+16*x+17)/(x^2+x-3)^2

koordinat titik ekstrik

Menuliskan keterangan posisi Minimum Lokal

MATEMATIKA MATEMATIKA KOMPUTASI OUTPUT

1 Defnisikan x

nilai limit((sin(x+h)-sin(x))/h,h,0) ans =cos(x)

(44)

NO KOSEP

MATEMATIKA MATEMATIKA KOMPUTASI OUTPUT

5 Turunan

pertama dari fungsi f dan sebut hasilnya sebagai fungsi df

minimum fungsi fmin=subs(f,x) fmin = -0.2500

10 Menentukan

garis singgung kurva pada titik (1.5,f(1.5)) dan disebut sebagai g

garis singgung kerva f(x) pada

fungsi inplisit x2

+ y2=4

11 Turunan inplisit

dari x2+y2=4

terhadap x

dif(h,x) ans =

2*x

(45)

NO KOSEP

MATEMATIKA MATEMATIKA KOMPUTASI OUTPUT

dari x2+y2=4

terhadap y 2*y

4.5 Pemograman Integral Fungsi dan Luas Daerah di Bawah Kurva

NO KOSEP

MATEMATIKA MATEMATIKA KOMPUTASI OUTPUT

1 Pendefnisian

fungsi f(x)=x2

-5x+6

syms x

f=x^2-5*x+6 f =x^2-5*x+6

2 Integrat fungsi

f(x) int(f) ans =1/3*x^3-5/2*x^2+6*x

3 Mendefnsikan

hasil integral dari f sebagai fungsi dalam g

g=int(f) g =

1/3*x^3-5/2*x^2+6*x

4 Menuliskan

dalam bentuk

yang lebih

bagus formula fungsi g

domain fungsi pada interval 0≤x≤5 dengan

(46)

NO KOSEP

MATEMATIKA MATEMATIKA KOMPUTASI OUTPUT -0.1875 0 0.3125

s(int(f,2,3))+int(f,3,5)) L =9.5000

11 Menuliskan

keterangan luas daerah pada

12  Menuliskan

keterangan

title('Grafk fungsi f(x) = x^2-5x+6') Simulas i luas di bawah k urva

10 Mendefnsikan

(47)

NO KOSEP

MATEMATIKA MATEMATIKA KOMPUTASI OUTPUT

x2+y2=4

terhadap x

12 Integral dari

fungsi fungsi inplisit x2+y2=4

terhadap y

int(f,y)

pretty(int(f,y)) ans =x^2*y+1/3*y^3-4*y

TUGAS 4

Intruksi tugas individu 4

1. Mahasiswa membuat makalah terkait a. Limit fungsi

b. Asimtot horizontal dan vertical c. Nilai maksimum dan minimum fungsi

d. Diferensial dan garis singgung pada kurva serta e. Integral dan luas di bawah kurva

f. Integral dan Volume benda putar

(48)

Bismillahirrahmanirrahim.

Matriks merupakan susunan data yang disajikan dalam bentuk baris dan kolom. Dalam bernagai bidang keilmuan, konsep matriks umumnya selalu dipergunakan. Seperti tabulasi data, jadwal kegiatan, graph, system persamaan linier dan lain sebagainya. Matematika sebagai konsep fkir, memberikan berbagai metode ilmiah yang rasional untuk memudahkan penyelesaian masalah kehidupan dengan matriks. Matlab sebagai pemograman dengan bahasa dasar berbasis matriks, memberikan berbagai teknik komputasi. Berikut diberikan teknik komputasi Matriks dengan Matlab. Mahasiswa diharapkan sudah memiliki pengetahuan dasar-dasar matriks sebagaimana yang diuraikan dalam aljabar linie dan mata kuliah lainnya.

5.1 Operasi Uner (tunggal) pada Matriks

N

O MATEMATIKKOSEP A

KOMPUTASI

MATEMATIKA OUTPUT

1 Pendefnisian

matriks dalam bentuk satu baris

A=[13 54 23 78 21] A =

13 54 23 78 21

2 Transpose

Matriks A A' ans = 13

54 23 78 21

3 Pendefnisian

matriks B=[13;45;63;78;98;76] B = 13

5

5

Pemograman Matrik Pada Comand Window

(49)
(50)

N

inver matriks C

(51)

N

O MATEMATIKKOSEP A

KOMPUTASI

MATEMATIKA OUTPUT

eigen value dan vector eigen dari matriks C

22 Menyimpan

eigen value dan vector

eigen ke

dalam bentuk excel

xlswrite('Coba simpan',[v u])

23 Melihat hasil

simpanan tersebut

24 Mengambil

data matriks dari excel untuk

dimasukkan

ke dalam

(52)

N

(53)

N diagonal dari matriks C

3 9 7

5.2 Operasi Biner Pada Matriks

NO KOSEP

MATEMATIKA MATEMATIKA KOMPUTASI OUTPUT

1 Mendefnisikan

perkalian skalar konstanta

hasil perkalian sklar dua buah

hasil perkalian

(54)

NO KOSEP

MATEMATIKA MATEMATIKA KOMPUTASI OUTPUT

7 Mengabungkan

matriks A dan B berdasarkan

matriks A dan B berdasarkan metode invers matriks

(55)

NO KOSEP

MATEMATIKA MATEMATIKA KOMPUTASI OUTPUT

14 Bentuk matriks

dekomposisi LU dari matriks A

15 Memeriksa L*U L*U ans =

9 -1 2 -1 8 -5 2 -5 7

16 Memeriksa P*A P*A ans =

9 -1 2 -1 8 -5 2 -5 7

17 Menuliskan

(56)

NO KOSEP

MATEMATIKA MATEMATIKA KOMPUTASI OUTPUT

18 Membuat

gambar graph berarah dari titik asal ke titik tujuan

view(biograph(G, [],'ShowWeights','o n'))

19 Menuliskan

(57)

NO KOSEP

MATEMATIKA MATEMATIKA KOMPUTASI OUTPUT

[ 4, 9*y^2, 2*cos(z)]

[ y, -2*y, 5]

22 Mensubtitusikan

nilai y=0 Jxy=subs(Jx,0) Jxy =[ 0, -3, 3*z^2]

[ 4, 0, 2*cos(z)]

[ 0, 0, 5]

23 Mensubtirusikan

nilai dari z=0 Jxyz=subs(Jxy,0) Jxyz = 0 -3 0

4 0 2 0 0 5

TUGAS 5

Intruksi Tugas

1. Buatlah suatu matriks dari Koefesien SPL dengan minimal 50 Variabel pada excel kemudian :

a. Masukkan data tersebut ke dalam matlab b. Tentukan Determina dan inversnya c. Tentukan Solusi SPL

d. Simpan Hasilnya ke dalam Matlab

2. Cari contoh kasus suatu graph berarah kemudian a. Defnisikan matriks graph berarah tersebut b. Tentukan Matriks lintasan terpendek

(58)

Bismillahirrahmanirrahim

Data merupakan kumpulan dari fakta-fakta kejadian yang tercatat, dan suatu ukuran yang menyatakan karakteristik dari data disebut statistic. Misalnya dimiliki fakta kejadian hasil tes belajar x = [56 30 25 67 97 56 78 45 67 90], maka suatu bilangan yang dapat dipakai untuk menyatakan wakil dari data tersebut adalah 61,1 yang selanjutnya disebut dengan rataan data x. Rataan ini merupakan statistic dari data x. Terdapat banyak jenis statistic yang dapat dikaji dari data tersebut. Beberapa teknik komputasi yang dapat digunakan untuk menentukan parameter statistika akan diuraikan di bawah ini. Mahasiswa dituntut untuk dapat menguasai konsep dasar teori statistika tersebut. Karena tanpa memahami konsep dasar dengan benar, maka roh komputasinya tidak akan dirasakan oleh mahasiswa dan tentunya hal tersebut menjadi tidak dapat dimengerti. Oleh karena itu, mahasiswa dituntut untuk memiliki penguasaan awal yang baik tentang statistic. Berdiskusi, dengan teman dan dosen serta banyak membaca buku adalah alternative solusi yang baik.

4.1. Bahasa Dasar Komputasi Statistika Matematika

NO KOSEP

MATEMATIKA MATEMATIKA KOMPUTASI OUTPUT

1.

1 Mendefnisikandata x=[56 30 25 67 97 5678 45 67 90] x = 56 30 25 67 97

6

6

Pemograman Statistika Matematika Pada

Comand Window MATLAB

(59)

NO KOSEP

MATEMATIKA MATEMATIKA KOMPUTASI OUTPUT

56 78 45 67 90

5. Varians var(x) ans =

562.3222

5 Menghitung nilaidari

2

6 Mengambarkurva normal

(60)

NO KOSEP

MATEMATIKA MATEMATIKA KOMPUTASI OUTPUT

11.

9 Menggambar luasgrafk di bawah

kurva normal

pada domain

0≤x≤2 dengan domain simulasi dari -5≤x≤5

Menentukan nilai Z sehingga luas di bawah ujung kiri kurva normal baku 2.5%

Z=norminv(0.025) Z =

-1.96

13.

11

(61)

NO KOSEP

MATEMATIKA MATEMATIKA KOMPUTASI OUTPUT

dengan µ = 7.25,

2.578964960253331 e-009

23.

2 Menghitung P(

2

0.99999999959040

24.

8.27721918366601 P =

(62)

NO KOSEP

MATEMATIKA MATEMATIKA KOMPUTASI OUTPUT

Normal dengan

6.14116262013930 z2 =

8.27721918366601 P =

4.095982442109403 e-010

26.

2 Mengambarkurva distribusi Chi-Kuadrat pada domain

kuadarat pada domain 0≤chi≤8

(63)

NO KOSEP

MATEMATIKA MATEMATIKA KOMPUTASI OUTPUT

sehingga luas dibawah kurva ujung kanan 5% 31.

2 Menentukan nilaichi (chi tabel) sehingga luas dibawah kurva ujung kiri 5%

chi2inv(0.05,5) ans =

1.1455

32.

3 Menentukan nilaiz (z table) sehingga luas dibawah kurva

ujung kanan

5/2%

norminv(0.975,0,1) ans =

1.9600

33. Menentukan nilai

t table dengan dk = 41 sehingga

34. Menentukan nilai

f table dengan

Selanjuntanya, untuk mensimulasikan defnisi beberapa distribusi peluang data, maupun kumulatif peluang seperti, distribusi normal, distribusi student, distribusi fhiser, distribusi chi-kuadrat, distribusi binomial, distribusi hipergeometris, distribusi geometris, distribusi poissen dan lainnya. Perintah yang diberikan adalah

>> disttool

(64)

TUGAS

Intruksi Tugas

1. Buat suatu data minimal terdiri dari 150 fakta

2. Lakukan komputasi sebagaimana uraian pada table diskusi tersebut di atas

3. Buatkan laporan dengan menyertai teori statistika dan bentuk komputasi serta out[utnya.

(65)

Bismillahirrahmanirrahim

Pada bagian ini, akan diuraikan beberapa bahasa dasar komputasi untuk topic-topik khusus matematika yang umumnya digunakan dalam penyelesaian matematik.

6.1 Matematika Diskrit

NO KOSEP

MATEMATIKA MATEMATIKA KOMPUTASI OUTPUT

1.

bulat terkecil yang nilainya ≥

3 Pembulatanbilangan round(3.9) ans = 4

round(3.3) ans =

3

7

(66)

NO KOSEP

MATEMATIKA MATEMATIKA KOMPUTASI OUTPUT

6. Menggambar

grafk fungsi round

bersamaan dengan grfaik fungsi foor dan ceiling dengan warna hitam

bilangan Asli dan 0! = 1

3 Memeriksaapakah 11

(67)

NO KOSEP

MATEMATIKA MATEMATIKA KOMPUTASI OUTPUT

15. Segitiga pascal

untuk 6

tingkatan

pascal(6)

6.2 Pengantar Dasar Matematika

NO KOSEP

MATEMATIKA MATEMATIKA KOMPUTASI OUTPUT 1. maka terdapat empat

3. Konjungsi p dan

(68)

NO KOSEP

MATEMATIKA MATEMATIKA KOMPUTASI OUTPUT

4. Disjungsi (p

atau q) p|q ans = 1

1 1 0

or(p,q) ans =

1 1 1 0

KEGIATAN PENGEMBANGAN

1. Dosen dan Mahasiswa berdiskusi membahas sejumlah topic-topik bahasan sebelumnya yang masih kurang dimengerti mahasiswa.

2. Dosen dan mahasiswa berdiskusi membahas mater-materi tugas yang belum di pahami atau belum tuntas oleh mahasiswa.

(69)

Bismillahirrahmanirrahim.

Uji Kompetensi I bertujuan untuk mengukur tingkat penguasaan bahasa dasar komputasi dengan Matlab sebagaimana yang telah diuraikan pada 3 pertemuan berikutnya. Adapaun kisi-kisi uji kompetensi diberikan sebagai berikut sebagai dasar unutuk mempersiapkan diri dan mengukur kemampuan mahasiswa sendiri dalam mempersiapkan diri mengikuti uji kompetensi I.

Kisi-Kisi Soal Uji Kompetensi

NO Indikator Keterang

an 1 Mahasiswa dapat mendefnisikan fungsi

dengan perintah syms x, inline dan berdasarkan data.

2 Mahasiswa dapat mengevaluasi nilai suatu fungsi dan mengambar grafknya

3 Mahasiswa dapat menentukan limit, turunan dan integral suatu fungsi

4 Mahasiswa dapat memberikan perintah komputasi untuk menentukan asimtoto vertical dan horizontal.

5 Mahasiswa dapat menentukan garis singgung pada kurva

6 Mahasiswa dapat menenukan fungsi komposisis

8

(70)

7 Mahasiswa dapat mengarsir daerah di bawah suatu fungsi

8 Mahasiswa dapat menentukan luas daerah di bawah kurva

9 Mahasiswa dapat mendefnsiikan suatu matriks

10 Mahasiswa dapat menyelesaikan SPL dengan metode Invers Matriks

11 Mahasiswa dapat mengakses elemen matriks

12 Mahasiswa dapat melakukan perhitungan aritmatik matriks

13 Mahasiswa dapat menentukan mean, standar deviasi, varianms suatu data 14 Mahasiswa dapat menentukan nilai t

table, chi-tabel, f table, z table dan f table

15 Mahasiswa dapat mnuliskan perintah untuk menentukan lintasan terpendek suatu graph

Contoh Soal Ujian Tengah Semester

N O

SOAL JAWABAN

Fungsi f(x) = x2 - 5x + 6 dan g(x) = 3x -2 diberikan

untuk menyelesaaikan soal nomor 1 sampai dengan nomor 12

1 Tuliskan perintah untuk mendefinisikan f(x) dan g(x) pada Matlab

2 Tuliskan perintah untuk mendapatkan nilai f(3) + 2g(-1)

(71)

N O

SOAL JAWABAN

10 dengan x0.1

4 Tuliskan perintah untuk mendapatkan (gof)(x)

5 Tuliskan perintah untuk mendapatkan dx df

6 Tentukan output dari perintah berikut limit(f,x,2)

7 Tuliskan output dari pretty(subs(subs(f,g)))

8 Tuliskan perintah untuk mendapatkan nilai dari

3

0

) (x dx f L

9 Tuliskan perintah untuk mendapatkan kemiringan garis singgung pada kurva f(x) pada titik x = 2

10 Tuliskan perintah untuk mendapatkan nilai x sehingga f(x) = 0

11 Tuliskan perintah agar diperoleh output

-10 -8 -6 -4 -2 0 2 4 6 8 10

0 20 40 60 80 100 120 140 160

x

x2 - 5 x + 6

(72)

N O

SOAL JAWABAN

koordinat (-6,f(-6))

13 Tuliskan perintah untuk mendapatkan nilai dari f(1) + f’(1) + F(1) dimana f’ = turunan f(x) dan F = integral f(x)

Matriks berikut digunakan untuk menjawab soal nomor 13-16

14 Tuliskan perintah untuk menentukan a). Ordo matriks B

b). determinan Matriks A c). invers dari matriks A d). A x B

e). Transpose matriks B

15 Jika diketahui suatu graph berarah sebagai berikut:

(73)

Bismillahirrahmnirrahim.

Dalam bahasa inggris, if berarti jika yang dalam bahasa pemograman komputer digunakan untuk mengontrol suatu kondisi. Sintak dasar struktur if adalah sebagai berikut:

if eksperi logika perintah

elseif eksperi logika perintah

else

perintah end

Logika yang digunakan disini adalah sebagai berikut:

Simbol Makna Logika

== Sama dengan

<= Kurang dari atau sama dengan

>= Lebih dari atau sama dengan

< Kurang dari

> Lebih besar dari

& Dan (konjungsi)

| Atau (Disjungsi)

~ Tidak (Negasi)

~= Tidak sama dengan

Contoh:

9

9

Pemograman Struktur

if-elseif-else-end

(74)

Buatlah algoritma komputasi menggunakan bahasa MatLab untuk mensimulasikan sifat Trikotomi[1,4] Bilangan Real pada algoritma 1.2 di atas

Solusi:

Bersesuaian dengan algoritma program 1.2 di atas, maka kontruksi algoritma program dengan bahasa Matlab adalah sebagai berikut:

St ep

Comand

1 x=input('x = '); 2 y=input('y = '); 3 if x==y

4 disp('x lebih besar dari y') 5 elseif x>y

6 disp('x kurang dari y ') 7 else

8 disp('x lebih besar dari y') 9 end

Jika program ini di jalankan, maka diperoleh hasil eksekusi atau output program adalah sebagai berikut:

x = 4 y = 6

x kurang dari y >> trikotomi x = 6

y = 4

x lebih besar dari y >> trikotomi x = 4

(75)

x sama dengan y >> trikotomi x = -4

y = 6

x kurang dari y >> trikotomi x = 5

y = -8

x lebih besar dari y

Jika menghendaki output program, tertulis tidak sebagai x dan y, tetapi langsung bilangannya, maka printah disp sebagaimana pada step 4, 6 dan 8 sebagai berikut:

St ep

Comand

1 x=input('x = ');

2 y=input('y = ');

3 if x==y

4 disp([num2str(x),' sama dengan ', num2str(y)])

5 elseif x>y

6 disp([num2str(x),' lebih besar dari ', num2str(y)])

7 else

8 disp([num2str(x),' kurang dari ', num2str(y)])

9 end

Output programnya adalah sebagai berikut:

x = 5 y = 7

5 kurang dari 7 >> trikotomi x = 7

y = 5

(76)

x = 8 y = 8

8 sama dengan 8

penulisan disp('x kurang dari y ') berarti bahwa, komputer diperintahkan unutk menulis (disp = display) suatu kata-kata atau string yang tertulis diantara tanda petik. Penulisan ini dapat disempurnakan dengan disp([num2str(x),' sama dengan

',

num2str(y)]). num2str(x) terbaca sebagai numerik to string yang berarti bahwa dilakukan konversi dari x yang berekstensi numeric pada imputan diubah menjadi string. Hal ini dilakukan karena penulisan disp merupakan suatu perintah unutk menuliskan suatu ekstensi data string atau kata-kata.

Contoh:

Buatlah algoritma komputasiuntuk menentukan akar-akar persamaan kuadrat sebagaimana algoritma program di atas.

Solusi:

Berdasarkan algoritma program tersebut di atas, maka dikontruksi algoritma komputasi sebagai berikut:

Ste p

Comand

1 a=input('a = ');

2 b=input('b = ');

(77)

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

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

6 if D>=0

7 disp(['Akar Bil. Real = ',num2str(x')])

8 else

9 disp(['Akar Bil. Kompleks =',num2str(x')])

10 end

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

>> akarkuadrat a = 1

b = 5 c = 6

Akar Bil. Real = -3 -2 >> akarkuadrat

a = 5 b = 1 c = 6

Akar Bil. Kompleks =-0.1-1.0909i -0.1+1.0909i >>a = 1

b = -4 c = 3

Akar persamaan = {1 3}

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

St ep

Comand

(78)

5 x(1)=(-b+sqrt(D))/2*a; x(2) =( -b-sqrt(D))/2*a; 6 if D>=0

7 disp(['Akar Bil. Real = ',num2str(x')]) 8 else

9 disp(['Akar Bil. Kompleks =',num2str(x')]) 10 end

11 X=[x(1)-5:0.1:x(2)+5]; 12 f=a.*(X.^2)+b.*X+c; 13 plot(X,f)

14 xlabel('Domain fungsi') 15 ylabel('Range fungsi')

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

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

X=[x(1)-5:0.1:x(2)+5] pada skrip program tersebut

merupakan perintah membangun domain fungsi pada interval

[x1-5 x2+5] dengan ∆x = 0.1. f=a.*(X.^2)+b.*X+c

merupakan perintah menentukan range dari fungsi f(x) = ax2 + bx + c. plot(X,f) merupakan perintah menggambar grafk

dengan domain X dan range f.xlabel('Domain fungsi')

berfungsi untuk menuliskan judul pada absis (sumbu x) grafk

fungsi dengan kata-kata “domain fungsi”, sedangkan

ylabel('Range fungsi')berfungsi untuk menuliskan judul pada

ordinat (sumbu y) dengan kata-kata “Range Fungsi”.

(79)

',num2str(c)]) berfungsi untuk menuliskan judul dari grafk,

dengan menuliskan bentuk fungsi grafk kuadrat dengan

mengambil koefesian a, b, dan c. text(mean(X),mean(f),

['Akar = ',num2str(x')]) merupakan perintah untuk

menuliskan akar-akar persamaan pada grafk fungsi pada

koordinat di tengah sumbu x dan tengah 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 diulis dalam tanda petik,

sedangkan bilangan untuk dikonversi dulu menjadi string

dengan perintah num2str. Tanda kurung siku “[]”digunakan

jika dalam penulisan string atau kata-kata akan memuat

bilangan yang terkonversikan dengan num2str tersebut. Jika

program tersebut dijalankan maka akan diperoleh hasil

sebagai berikut:

>> akarkuadrat a = 1

b = 5 c = 6

(80)

-8 -6 -4 -2 0 2 4 -5

0 5 10 15 20 25 30

Domain fungsi

R

a

n

g

e

f

u

n

g

s

i

f(x) = 1x2 + 5x + 6

Ak ar = -3 -2

TUGAS

Intuksi tugas!

1. Buatlah program untuk menghitung nilai Akhir siswa berdasarkan nilai tugas, mid dan semester dengan bobot masing-masing 15%, 35% dan 50%

(81)
(82)

Bismillahirrahmanirrahim.

Dalam penyelesaian masalah matematika terdapat banyak kasusyang membutuhkan proses perhitungan berulang. Misalnya dalam menghitung nilai

n!yang terdefinisi sebagai perkalian bilangan asli dari 1 sampai dengan n. Secara matematis hal tersebut ditulis sebagai n! = n x (n-1) x (n-2) x … x 2 x 1. Lebih lanjut n! digunakan sebagai dasar untuk menghitung nilai permutasi dan kombinasi dimana dalam penerapannya untuk menentukan banyaknya titik sampel dalam suatu pengamatan data statistik peluang. Dalam kasus tersebut, parameter berhentinya proses perhitungan ditentukan dari banyaknya proses pengulangan. Misalnya untuk mendapatkan perhitungan 5!dilakukan proses pengulangan sebanyak 4 kali, yaitu 5 x 4 = 20, 20 x 3 = 60, 60 x 2 = 120 dan 120 x 1 = 120, sehingga 5! =120. Dalam bahasa pemograman komputer, apabila parameter berhentinya proses pengulangan ditentukan dari banyaknya proses pengulangan, maka bahasa program yang dapat digunakan adalah

struktur for dengan struktur

for i=awal: akhir perintah end

Berikut dalam kegiatan di bawah ini, diberikan petunjuk algoritma komputasi untuk membangun bahasa pemograman perhitungan nilai faktorial, permutasi, kombinasi serta barisan dan deret Fibonacci dengan inputan bilangan asli menggunakan struktur for.

1

0

1

0

Pemograman Dengan Struktur

for-end

(83)

10.1 Pemograman Faktorial

Membangun algoritma komputasi untuk mensimulasikan definisi factorial dalam pembelajaran matematika dasar..

Teori: n! = n x (n-1) x (n-2) x … x 2 x 1 dengan n bilangan asli dan 0!=1. Algoritma Program

Step 1:Masukan nilai n

Step 2: Untuk i = (n-1), (n-2), … , 3, 2, 1 Step 3: Hitung nilai n = n x i

Step 4: Akhiri Step 2 Step 5: Cetak nilai n

Bersesuain dengan tiap step di atas, berikut bahasa Matlab yang dapat dibangun

Step Comand

1 n=input('n = '); 2 for i=n-1:-1:1 3 n=n*i

4 end

5 disp(['n! = ',num2str(n)])

(84)

Setelah muncul permintaan inputan pada comad windows di atas, anda kemudian memasukkan bilangan yang hendak dicari nilai faktorialnnya, misalnya akan dihitung nilai dari 5!, maka inputan n= 5 diberikan dan diperoleh hasil sebagai berikut.

Setelah itu kemudian enter dan akan diperoleh hasil sebagai berikut

n = 5 n = 20 n = 60 n = 120 n = 120 n! = 120

Mula-mula n bernilai 5, kemudian n diganti dengan n yang baru dengan nilai dari hasil perkalian 5 x 4 = 20, Selanjutnya n =20 diganti dengan n yang baru yang diperoleh dari hasil kali antara 20 x 3 = 60. Begitu seterusnya hingga nilai terakhir n = 120 x 1 = 120. Jika proses perhitungan tidak ingin di tampilkan, maka pada ujung step ke-3 anta akhiri dengan tanda titi koma (;), maka akan diperoleh eksekusi program sebagai berikut:

(85)

Berikut diberikan ilustrasi bentuk kesalahannya dari program sebelumnya >> faktorial

n = 5.5 n ! = 324.8438 >>faktorial n = -6 n ! = -6 >> faktorial n = 0 n ! = 0

Oleh karena itu perlu dilakukan penyempurnaan program dengan memberikan kontrol ntuk n dengan ketetntuan bahwa n harus bilangan bulat positif dan 0! = 1 sebagai berikut:

Step Comand

1 n=input('n = '); 2 if n>0&round(n)==n 3 for i=n-1:-1:1 4 n=n*i; 5 end

6 disp(['n ! = ',num2str(n)])

7 elseif n==0

8 disp('0! = 1') 9 else

10 disp('Maaf tidak terdefinisi'); 11 end

Hasil eksekusi dari program tersebut adalah sebagai berikut: >> faktorial

(86)

n = 5 n ! = 120 >> faktorial n = -5

Maaf tidak terdefinisi >> faktorial

n = 5.5

Maaf tidak terdefini

Dari eksekusi program tersebut, terlihat bahwa ouput komputasi yang diberikan telah sesuai dengan definisi factorial. Penyempurnaan program lebih lanjut yang harus dilakukan adalah Bagaimana agar output dapat memberikan simulasi proses perhitungan. Hal ini penting untuk mahasiswa calon guru agar roh matematika tidak hilang dalam mengajarkan kepada peserat didik. Bentuk simulasi yang yang dapat didesain adalah sebagai berikut.

Gambar 7.1 Desain system program simulasi definisi factorial Bentuk komputasi yang dapat dibangun agar dapat menghasilkan output tersebut berdasarkan inputan yang diberikan adalah sebagai berikut:

Step Comand

1 disp('Program: Simulasi Definisi Faktorial')

2 disp('---' )

(87)

4 if n>0&round(n)==n

5 t=['Jadi ',num2str(n),'!=',num2str(n)]; 6 for i=n-1:-1:1

7 h=['x',num2str(i)]; 8 t=[t h];

9 s=n; 10 n=n*i;

11 disp([num2str(s),'x',num2str(i),'= ',num2str(n)])

12 end

13 disp([t '=',num2str(n)]);

14 elseif n==0

15 disp('0! = 1') 16 else

17 disp('Maaf tidak terdefinisi'); 18 end

Output Eksekusi program tersebut adalah sebagai berikut: Program : Simulasi Definisi Faktorial

---n = 5

5x4=20 20x3=60 60x2=120 120x1=120

Jadi 5!=5x4x3x2x1=120

Dengan demikian, program tersebut dapat digunakan untuk simulasi dalam pembelajaran tentang factorial kepada peserat didik sehingga memungkinkan kajian matematika tersebut lebih konkrit.

Pemograman Simulasi Pengertian Limit Fungsi

(88)

Teori Matematika :

lim berate bahwa, apabila x mendekati c dari

kanan, maka f(x) akan mendekati nilai L.

Algoritma Program:

Step 1. Definisikan fungsi f(x) Step 2. Inputkan nilai c Step 3. Buat domain fungsi d Step 4. Gambar grafik fungsi f(x)

Step 5. Muai dari nilai batas atas domain,sampai batas bawah domain Step 6. Gambar titik domain dan titik f(x)

Step 7. Berikan jeda Step 8. Akhiri loop step 5 Step 9 Tuliskan nilai limit

Algoritma Komputasi Limit Kanan fungsi Step Comand

1 clc;

2 clear all;

(89)

n',d(i),subs(f,d(i))); 20 end

21 L=double(limit(f,c));

22 text(c,subs(f,c),['<--- Limit = ',num2str(L)])

Output dari eksekusi program tersebut adalah f(x)= x^2+5*x+6

(90)
(91)

-6 -4 -2 0 2 4 6 8 10 12 0

50 100 150 200 250

x x2 + 5 x + 6

<--- Limit = 30

Gambar 7.2 Output simulasi defnisi limit kanan fungsi TOPIK DISKUSI MAHASISWA

Topik 1: Membangun algoritma komputasi untuk menentukan nilai permutasi

Teori: ( )!

!

r n

n Pnr

 

Kontruksilah program Kombinasi berdasarkan algoritma berikut: Algoritma program Permutasi

Step 1. Definisikan n

Step 2. Definisikan r

Step 3. Hitung nilai n-r, misal sebut sebagai m

Step 4 Hitung nilai dari n! Step 5. Hitung nilai dari m! Step 10. Hitung nilai P=(n/m) Step 11. Cetak nilai P

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

(92)

P(5,3)=20

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

Ste

p Comand

1 n=input('n = ');

2 r=input('r = ');

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

4 s=[n r];m=n-r;

5 t=[num2str(n),'! = (',num2str(n),')'];

6 for i=n-1:-1:1

7 h=['(',num2str(i),')'];

8 t=[t h];

9 n=n*i;

10 end

11 disp([t ' = ',num2str(n)]);

12 t=[num2str(m),'! = (',num2str(m),')'];

13 for i=m-1:-1:1

14 h=['(',num2str(i),')'];

15 t=[t h];

16 m=m*i;

17 end

18 disp([t ' = ',num2str(m)]);

19

disp(['P(',num2str(s(1)),',',num2str(s(2)),')= ',num2str(s(1)),'!/(',...

20 num2str(s(1)),'-',num2str(r),')! =',num2str(s(1)),'!/(',...

21 num2str(s(1)-s(2)),')!=',num2str(n/m)])

22 end

Bentuk output dari program tersebut adalah sebagai beikut: n = 5

r = 2

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

(93)

Topik 2: Membuat program untuk menghitung nilai suatu Combinasi

Teori: ( )! !

! r r n

n Cr

n

 

Algoritma program: Step 1: Definisikan n

Step 2. Definisikan nilai r

Step 3: Hitung nilai dari n-r, misal sebut sebagai m

Step 4: Hitung nilai dari n! Step 5: Hitung nilai dari r! Step 6: Hitung nilai m!,

Step 7: Hitung nilai dari C=n/(m.*r); Step 8: Cetak nilai dari C

Setelah algortima tersebut dikonversi ke dalam bahasa matlab, maka dapatkan output program sebagai berikut

n=5 r=2 C(5,2)=10.

Dan kontruksi penyempurnaan program agar memperoleh output sebagai berikut:

n=5 r=2

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

C(5,2)=5!/3!2!=120/(6x2)=120/(6x2)=10 TUGAS 7

(94)

1. Buatlah algoritma program dalam bahasa Matlab untuk membentuk dan menghitung (a). Barisan dan deret aritmatika, (b) Barisan dan deret geometri d an (c) Barisan dan deret Fibonacci.

(95)

Bismillahirrahmanirrahim

Struktur while merupakan perintah pengulangan dengan parameter berhenti pengulangan berdasarkan suatu kriteria logika, tidak berdasarkan banyaknya kali pengulangan sebagaimana pada struktur for. Berikut diberikan contoh aplikasinya pada program simulasi pengurangan bilangan bulat dan Algoritma Eucliden.

11.1 Pemograman komputasi untuk

mensimulasikan defnisi pembagian

Definisi pembagian: Pembagian adalah pengurang berulang hingga mengasilkan sisa 0 atau kurang dari pembagi.

Sebagai contoh

10:2 artinya bahwa berapa kali kita melakukan proses pengurangan bilangan 10 oleh 2 hingga sisanya 0 atau kurang dari 2. Solusi dari permasalahn ini ada;ah sebagai berikut

Proses ke-1  10-2 = 8 Proses ke-2  8-2=6 Proses ke-3  6-2=4 Proses ke-4  4-2=2 Proses ke-5  2-2=0 Jadi terjadi 5 kali proses,

Untuk membangun algoritma komputasinya, mula-mula dikontruksi dengan algoritma dasarnya sebagai berikut:

1

1

1

1

Pemograman Dengan Struktur

while-and

(96)

Ste

p Command 1 a=input('a = '); 2 b=input('b = '); 3 while b>=a 4 b=b-a

5 end

6 a=input('a = ');

Program tersebut, mula-mula di awali dengan inputan bilangan bulat a dan b dengan ketentuan b>a. Kemudian dilakukan pemeriksaan kondisi oleh perintah while. Perintah while b>a dalam bahasa sehari-hari adalah, “ulangi terus perintah b=b-a jika b>a”. Jika diberikan nilai a=2 dan b=10, maka computer akan bekerja sebagai berikut:

a = 2 b = 10 b = 8 b = 6 b = 4 b = 2 a = 0

(97)

Kondisi ini dicapai setelah proses perhitungan di lakukan hingga 5 kali perulangan. Banyaknya perulangan ini merupakan nilai dari pembagian sebagaimana defnisinya. Untuk mengetahui nilai tersebut, perlu dibuatkan variabel akumulator yang mecatat banyaknya proses perulangan. Misalkan variabel terbut adalah c, maka kita perlu defnisikan c=0 sebelum muai proses perintah while dan menambahkan setiap kali proses while dengan c=c+1 yang berarti proses pencatatan tiap kali proses pengurangan. Bentuk penyempurnaan programnya adalah sebagai berikut:

Ste p

Comand

1 a=input('a = '); 2 b=input('b = ');

3 c=0;

4 while b>=a 5 c=c+1 6 b=b-a

7 end

Output dari eksekusi program tersebut adalah sebagai berikut:

(98)

c = 3 b = 4 c = 4 b = 2 c = 5 b = 0

Terlihat bahwa, nilai c yang terakhir adalah c=5 yang berarati bawah proses dilaksanakan hingga 5 kali. Hal ini berarti bahwa 10:2 = 5. Agar output komputasi memperlihatkan proses pengurangan secara baik sehingga defnisi pembagian tersebut menjadi jelas, maka perlu dikembangkan penyempurnaan program agar diperoleh output sebagai berikut

Proses ke-1  10-2 = 8 Proses ke-2  8-2=6 Proses ke-3  6-2=4 Proses ke-4  4-2=2 Proses ke-5  2-2=0 Jadi 10:2 = 5

Bentuk penyempurnaan yang dapat diberikan sebagai berikut:

Ste

p Comand

1. clc; 2. clear all;

(99)

Ste

p Comand

4. disp('---') 5. a=input('a = ');

6. b=input('b = ');

7. if a==round(a)&b==round(b)&b>a 8. s=b;

9. c=0; 10. while b>a 11. c=c+1; 12. t=b; 13. b=b-a;

14. disp(['Proses ke-',num2str(c),'--> ',num2str(t),' - ',... 15. num2str(a),' = ',num2str(b)])

16. end

17. disp(['Jadi ',num2str(s),':',num2str(a),'=',num2str(c),... 18. ' dengan sisa ',num2str(b)])

19. else

20. disp('Maaf, tidak diprogramkan') 21. end

11.1 Pemograman komputasi untuk

mensimulasikan defn

Jika program tersebut dieksekusi, maka diperoleh sebagai berikut:

Program : Simulasi defnisi pembagian ---a = 2

b = 10

Proses ke-1--> 10 - 2 = 8 Proses ke-2--> 8 - 2 = 6 Proses ke-3--> 6 - 2 = 4 Proses ke-4--> 4 - 2 = 2 Proses ke-5--> 2 - 2 = 0 Jadi 10:2=5 dengan sisa 0

Diskusikanlah dengan teman-teman anda, beberapa penambahan dari step program tersebut.

Gambar

Gambar  1.1 Flow Chat Program penentuan akar persamaan
Gambar 1.2  Flow Chat Trikotomi bilangan real
Gambar 1.3 Flow Chat program menghitung 10 bilangan
Gambar 2.1 Tamplan command window MATLAB
+7

Referensi

Dokumen terkait