Matematika Dengan Pemrograman Logika Menggunakan Matlab

25
Totok Ari Wibowo 0751001 Makalah Matematika Teknik 1 TEKNIK ELEKTRO UMBY Matematika Dengan Pemrograman Logika Menggunakan Matlab 1. PENDAHULUAN Ilmu komputer secara umum diartikan sebagai ilmu yang mempelajari baik tentang komputasi , perangkat keras (hardware) maupun perangkat lunak (software). Ilmu komputer mencakup beragam topik yang berkaitan dengan komputer , mulai dari analisa abstrak algoritma sampai subyek yang lebih konkret seperti bahasa pemrograman , perangkat lunak , termasuk perangkat keras . Sebagai suatu disiplin ilmu, Ilmu Komputer lebih menekankan pada pemrograman komputer , dan rekayasa perangkat lunak (software), sementara teknik komputer lebih cenderung berkaitan dengan hal-hal seperti perangkat keras komputer (hardware). Namun demikian, kedua istilah tersebut sering disalah-artikan oleh banyak orang. Ilmu Komputer mempelajari apa yang bisa dilakukan oleh beberapa program, dan apa yang tidak (komputabilitas dan intelegensia buatan ), bagaimana program itu harus mengevaluasi suatu hasil (algoritma ), bagaimana program harus menyimpan dan mengambil bit tertentu dari suatu informasi (struktur data ), dan bagaimana program dan pengguna berkomunikasi (antarmuka pengguna dan bahasa pemrograman ). Ilmu komputer berakar dari elektronika , matematika dan linguistik . Dalam tiga dekade terakhir dari abad 20 , ilmu komputer telah menjadi suatu disiplin ilmu baru dan telah mengembangkan metode dan istilah sendiri. Dalam matematika dan komputasi , algoritma merupakan kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir. Masalah tersebut dapat berupa apa saja, dengan catatan untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi awal yang memenuhi kriteria, dalam hal ini berbeda dengan heuristik . Algoritma sering mempunyai langkah pengulangan (iterasi ) atau memerlukan keputusan (logika Boolean dan perbandingan ) sampai tugasnya selesai. Desain dan analisis algoritma adalah suatu cabang khusus dalam ilmu komputer yang mempelajari karakteristik dan performa dari suatu algoritma dalam menyelesaikan masalah, terlepas dari implementasi algoritma tersebut. Dalam cabang disiplin ini algoritma dipelajari secara abstrak, terlepas dari sistem komputer atau bahasa pemrograman yang digunakan. Algoritma yang berbeda dapat diterapkan pada suatu masalah dengan kriteria yang sama. Kompleksitas dari suatu algoritma merupakan ukuran seberapa banyak komputasi yang dibutuhkan algoritma tersebut untuk menyelesaikan masalah. Secara informal, algoritma

Transcript of Matematika Dengan Pemrograman Logika Menggunakan Matlab

Page 1: Matematika Dengan Pemrograman Logika Menggunakan Matlab

Totok Ari Wibowo 0751001

Makalah Matematika Teknik 1

TEKNIK ELEKTRO UMBY

Matematika Dengan Pemrograman Logika Menggunakan Matlab

1. PENDAHULUAN

Ilmu komputer secara umum diartikan sebagai ilmu yang mempelajari baik tentang

komputasi, perangkat keras (hardware) maupun perangkat lunak (software). Ilmu komputer

mencakup beragam topik yang berkaitan dengan komputer, mulai dari analisa abstrak

algoritma sampai subyek yang lebih konkret seperti bahasa pemrograman, perangkat lunak,

termasuk perangkat keras. Sebagai suatu disiplin ilmu, Ilmu Komputer lebih menekankan

pada pemrograman komputer, dan rekayasa perangkat lunak (software), sementara teknik

komputer lebih cenderung berkaitan dengan hal-hal seperti perangkat keras komputer

(hardware). Namun demikian, kedua istilah tersebut sering disalah-artikan oleh banyak

orang. Ilmu Komputer mempelajari apa yang bisa dilakukan oleh beberapa program, dan apa

yang tidak (komputabilitas dan intelegensia buatan), bagaimana program itu harus

mengevaluasi suatu hasil (algoritma), bagaimana program harus menyimpan dan mengambil

bit tertentu dari suatu informasi (struktur data), dan bagaimana program dan pengguna

berkomunikasi (antarmuka pengguna dan bahasa pemrograman).

Ilmu komputer berakar dari elektronika, matematika dan linguistik. Dalam tiga dekade

terakhir dari abad 20, ilmu komputer telah menjadi suatu disiplin ilmu baru dan telah

mengembangkan metode dan istilah sendiri. Dalam matematika dan komputasi, algoritma

merupakan kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini

dapat diterjemahkan secara bertahap dari awal hingga akhir. Masalah tersebut dapat berupa

apa saja, dengan catatan untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi

sebelum menjalankan algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi

awal yang memenuhi kriteria, dalam hal ini berbeda dengan heuristik. Algoritma sering

mempunyai langkah pengulangan (iterasi) atau memerlukan keputusan (logika Boolean dan

perbandingan) sampai tugasnya selesai. Desain dan analisis algoritma adalah suatu cabang

khusus dalam ilmu komputer yang mempelajari karakteristik dan performa dari suatu

algoritma dalam menyelesaikan masalah, terlepas dari implementasi algoritma tersebut.

Dalam cabang disiplin ini algoritma dipelajari secara abstrak, terlepas dari sistem komputer

atau bahasa pemrograman yang digunakan. Algoritma yang berbeda dapat diterapkan pada

suatu masalah dengan kriteria yang sama.

Kompleksitas dari suatu algoritma merupakan ukuran seberapa banyak komputasi yang

dibutuhkan algoritma tersebut untuk menyelesaikan masalah. Secara informal, algoritma

Page 2: Matematika Dengan Pemrograman Logika Menggunakan Matlab

Totok Ari Wibowo 0751001

Makalah Matematika Teknik 2

TEKNIK ELEKTRO UMBY

yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki

kompleksitas yang rendah, sementara algoritma yang membutuhkan waktu lama untuk

menyelesaikan masalahnya mempunyai kompleksitas yang tinggi.

Jenis-jenis Algoritma

Terdapat beragam klasifikasi algoritma dan setiap klasifikasi mempunyai alasan

tersendiri. Salah satu cara untuk melakukan klasifikasi jenis-jenis algoritma adalah dengan

memperhatikan paradigma dan metode yang digunakan untuk mendesain algoritma tersebut.

Beberapa paradigma yang digunakan dalam menyusun suatu algoritma akan dipaparkan

dibagian ini. Masing-masing paradigma dapat digunakan dalam banyak algoritma yang

berbeda.

a. Divide and Conquer, paradigma untuk membagi suatu permasalahan besar menjadi

permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus

menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan.

Singkatnya menyelesaikan keseluruhan masalah dengan membagi masalah besar dan

kemudian memecahkan permasalahan-permasalahan kecil yang terbentuk.

b. Dynamic programming, paradigma pemrograman dinamik akan sesuai jika

digunakan pada suatu masalah yang mengandung sub-struktur yang optimal (, dan

mengandung beberapa bagian permasalahan yang tumpang tindih . Paradigma ini

sekilas terlihat mirip dengan paradigma Divide and Conquer, sama-sama mencoba

untuk membagi permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara

intrinsik ada perbedaan dari karakter permasalahan yang dihadapi.

c. Metode serakah. Sebuah algoritma serakah mirip dengan sebuah Pemrograman

dinamik, bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap;

dan menggunakan pilihan "serakah" apa yang dilihat terbaik pada saat itu.

2. PEMROGRAMAN MENGGUNAKAN MATLAB

Matlab dikembangkan sebagai bahasa pemrogrman sekaligus alat visualisasi yang

menawarkan banyak kemampuan untuk menyelesaikan berbagai kasus yang berhubungan

langsung dengan matematika, rekayasa teknik, fisika, statistika, komputasi dan modeling.

Matlab dibangun dari bahasa induknya yaitu bahasa C, namun tidak dapat dikatakan

sebagai varian dari C, karena dalam sintak maupun cara kerjanya sama sekali berbeda

dengan C. Namun dengan hubungan langsungnya terhadap C, Matlab memiliki

kelebihan-kelebihan bahasa C bahkan mampu berjalan pada semua platform Sistem

Page 3: Matematika Dengan Pemrograman Logika Menggunakan Matlab

Totok Ari Wibowo 0751001

Makalah Matematika Teknik 3

TEKNIK ELEKTRO UMBY

Operasi tanpa mengalami perubahan sintak sama sekali. Matlab merupakan singkatan dari

Matric Laboratory, yakni merupakan bahasa

pemrograman haig perpomace, bahasa pemrograman level tinggi yang khususnya untuk

komputasi teknis. Bahasa ini mengintegrasikan kemampuan komputasi, visualisasi dan

pemrograman dalam sebuah lingkungan yang tunggal dan mudah digunakan.

2.1. Konsep Algoritma

Algoritma merupakan pondasi yang harus dikuasai oleh setiap mahasiswa yang ingin

menyelesaikan suatu masalah secara berstruktur, efektif, dan efisien, teristimewa lagi bagi

mahasiswa yang ingin menyusun program komputer untuk menyelesaikan suatu

persoalan. Konsep dan dasar-dasar penyusunan algoritma akan dibahas di bawah ini.

Definisi

Algoritma:

1. Teknik penyusunan langkah-langkah penyelesaian masalah dalam bentuk kalimat

dengan jumlah kata terbatas, tetapi tersusun secara logis dan sistematis.

2. Suatu prosedur yang jelas untuk menyelesaikan suatu persoalan dengan

menggunakan langkah-langkah tertentu dan terbatas jumlahnya.

3. Algoritma adalah sekelompok aturan untuk menyelesaikan perhitungan yang

dilakukan oleh tangan atau mesin.

4. Algoritma adalah langkah demi langkah sebuh prosedur berhingga yang

dibutuhkan untuk menghasilkan sebuh penyelesaian

5. Algoritma adalah langkah –langkah perhitungan yang mentransformasikan dari

nilai masukan menjadi keluaran

6. Algoritma adalah urutan operasi yang dilakukan terhadap data yang terorganisir

dalam struktur data

7. Algoritma adalah sebuah program abstrak yang dapat dieksekusi secara fisik oleh

mesin

8. Algoritma adalah sebuah model perhitungan yang dilakukan oleh computer

2.2. Ciri Algoritma

Donald E. Knuth, seorang penulis beberapa buku algoritma abad XX, menyatakan

bahwa ada beberapa ciri algoritma, yaitu:

Page 4: Matematika Dengan Pemrograman Logika Menggunakan Matlab

Totok Ari Wibowo 0751001

Makalah Matematika Teknik 4

TEKNIK ELEKTRO UMBY

a. Algoritma mempunyai awal dan akhir. Suatu algoritma harus berhenti setelah

mengerjakan serangkaian tugas atau dengan kata lain suatu algoritma memiliki

langkah yang terbatas.

b. Setiap langkah harus didefinisikan dengan tepat sehingga tidak memiliki arti ganda

(not ambiguous).

c. Memiliki masukan (input) atau kondisi awal.

d. Memiliki keluaran (output) atau kondisi akhir.

e. Algoritma harus efektif; bila diikuti benar-benar akan menyelesaikan persoalan.

Algoritma bisa ditemukan dalam kehidupan sehari-hari, misalnya sebagai berikut:

2.3. Sifat Algoritma

Berdasarkan ciri algoritma yang dipaparkan oleh Donald Knuth dan definisi

Algoritma maka dapat disimpulkan sifat utama suatu algoritma, yaitu sebagai berikut:

a. input: Suatu algoritma memiliki input atau kondisi awal sebelum algoritma

dilaksanakan dan bisa berupa nilai-nilai pengubah yang diambil dari himpunan

khusus.

b. output: Suatu algoritma akan menghasilkan output setelah dilaksanakan, atau

algoritma akan mengubah kondisi awal menjadi kondisi akhir, di mana nilai output

diperoleh dari nilai input yang telah diproses melalui algoritma.

c. definiteness: Langkah-langkah yang dituliskan dalam algoritma terdefinisidengan

jelas sehingga mudah dilaksanakan oleh pengguna algoritma.

d. finiteness: Suatu algoritma harus memberi kondisi akhir atau output setelah

melakukan sejumlah langkah yang terbatas jumlahnya untuk setiap kondisi awal atau

input yang diberikan.

e. effectiveness: Setiap langkah dalam algoritma bisa dilaksanakan dalam suatu selang

waktu tertentu sehingga pada akhimya memberi solusi sesuai yang diharapkan.

Page 5: Matematika Dengan Pemrograman Logika Menggunakan Matlab

Totok Ari Wibowo 0751001

Makalah Matematika Teknik 5

TEKNIK ELEKTRO UMBY

f. generality: Langkah-langkah algoritma berlaku untuk setiap himpunan input yang

sesuai dengan persoalan yang akan diberikan, tidak hanya untuk himpunan

tertentu.

Agar bentuk algoritma dan proses penyusunannya dapat mulai dipahami maka

berikut ini akan diuraikan proses pembuatan algoritma mulai bentuk yang menggunakan

bahasa sehari-hari, disusul penjelasan format algoritma yang dapat dijadikan acuan, dan

beberapa contoh pembuatan algoritma yang mengikuti format tersebut.

Contoh : Susun algoritma untuk mencari angka terbesar (maksimum) dari suatu

Kumpulan bilangan bulat yang terbatas jumlahnya.

Solusi:

1. Anggaplah angka pertama dalam kumpulan tersebut adalah yang terbesar

(maksimum).

2. Bandingkan angka maksimum ini dengan angka berikutnya dalam kumpulan. Bila

angka berikut tersebut lebih besar maka jadikanlah maksimum.

3. Ulangi langkah 2 ini sehingga tidak ada lagi angka yang tersisa dalam himpunan.

4. Hentikan pembandingan setelah semua angka selesai dibandingkan sehingga angka

terbesar dalam himpunan tersebut adalah angka maksimum terakhir.

Solusi tersebut dalam bentuk simbol instruksi adalah sebagai berikut :

andaikan N = banyaknya angka dalam himpunan

index = 1

maksimum = angka(index)

selama index < N , lakukan:

o index = index + 1

o bila angka(index) > maksimum maka maksimum = angka (index)

o ulangi lagi untuk index berikutnya

angka terbesar dalam himpunan adalah maksimum terakhir.

Struktur Algoritma

2.4. Struktur Algoritma

Agar algoritma dapat ditulis lebih teratur maka sebaiknya dibagi ke dalam

beberapa bagian. Salah satu struktur yang sering dijadikan patokan adalah berikut:

Page 6: Matematika Dengan Pemrograman Logika Menggunakan Matlab

Totok Ari Wibowo 0751001

Makalah Matematika Teknik 6

TEKNIK ELEKTRO UMBY

Bagian Kepala (Header): memuat nama algoritma serta informasi atau keterangan

tentang algoritma yang ditulis.

Bagian Deklarasi/Definisi Variabel: memuat definisi tentang nama variabel, nama

tetapan, nama prosedur, nama fungsi, tipe data yang akan digunakan dalam

algoritma.

o Bagian Deskripsi /Rincian Langkah: memuat langkah-langkah penyelesaian

masalah, termasuk beberapa perintah seperti baca data, tampilkan, ulangi, yang

mengubah data input menjadi output, dan sebagainya

3. KONSEP DASAR MATLAB

3.1. Fungsi Matematika Umum

Fungsi matematika umum dalam MATLAB terdiri atas fungsi trigonometri, fungsi

eksponensial, fungsi berkait bilangan kompleks serta fungsi pembulatan dan sisa. Pada sub

bagian berikut akan diuraikan fungsi-fungsi tersebut lengkap dengan syntax-nya dalam

MATLAB. (note: tanda “ “ menunjukkan syntaxnya dan “x” adalah bilangan

konstan).

3.1.1. Fungsi Trigonometri

Fungsi dasar trigonometri terdiri atas sinus, cosinus dan tangen. Fungsi tersebut

dikembangkan menjadi secan, cosecan dan cotangen. Lebih lanjut fungsi-fungsi

trigonometri dapat dikembangkan menjadi bentuk hiperbolik. Operasi yang dapat

dilakukan pada fungsi tersebut adalah pencarian nilai dan invers (Arcus disingkatArc). Dalam

MATLAB, setiap fungsi trigonometri mempunyai syntax tersendiri. Fungsi trigonometri

lengkap dengan syntaxnya akan diperlihatkan pads uraian berikut:

Fungsi sinus

Sinus x sin (x) : Arc sinus x asin (x)

Sinus hiperbolik x sinh (x) : Arc sinus hiperbolik x asinh (x)

Fungsi cosinus

Cosinus x cos (x) : Arc cosinus x acos (x)

Cosinus hiperbolik x cosh (x) : Arc cosinus hiperbollk x acosh (x)

Fungsi Tangen

Tangen x tan (x): rc tangen x atan (x)

Tangen hiperbolik x tanh (x): Arc tangen hiperbolik x atanh (x)

Page 7: Matematika Dengan Pemrograman Logika Menggunakan Matlab

Totok Ari Wibowo 0751001

Makalah Matematika Teknik 7

TEKNIK ELEKTRO UMBY

Fungsi Secan

Secan x sec (x): Arc secan x asec (x)

Secan hiperbolik x sech (x) : Arc secan hiperbolik asech (x)

Fungsi Cosecan

Cosecan x csc (x) : Arc cosecan x acsc (x)

Cosecan hiperbolik x csch (x) :Arc cosecan hiperbolik x acsch (x)

Fungsi Cotangen

Cotangen x cot (x) : Arc Cotangen x acot (x)

Cotangen hiperbolik x coth (x) : Arc cotan hiperbolik x acoth (x)

3.1.2. Fungsi eksponensial

Fungsi eksponensial secara matematis mempunyai beberapa bentuk. Pada uraian berikut

akan diperlihatkan beberapa fungsi eksponensial lengkap dengan syntax-nya.

Eksponensial : exp (x) , fungsi ini digunakan untuk mencari nilai e x ,

dengan e adalah bilangan natural (e=2,718281824459... ).

Logaritma berbasis bilangan natural (e) log x atau In x log (x), fungsi ini

digunakan untuk mencari nilai logaritma berbasis e x

Logaritma berbasis bilangan konstan, misal y log x’

1ogy (x) , fungsi ini digunakan untuk mencari nilai logaritma berbasis y. Jadi,

logaritma berbasis 10 tidak seperti biasanya yaitu ditulis dengan log x saja, tetapi

dianggap sebagai bilangan y. Jadi, dalam MATLAB 1og x di tul is log10 (x).

Akar pangkat dua: sqrt (x), fungsi ini berguna untuk mencari akar pangkat

dua dari x.

3.1.3. Fungsi yang berkait bilangan kompleks

Fungsi yang berkait bilangan kompleks, dalam MATLAB dituliskan dengan

penambahan "i" atau"j" dibelakang bilangan pokok. Bilangan kompleks dapat

dinyatakan dalam bentuk real atau sebaliknya. Pada uraian berikut diperlihatkan

beberapa fungsi eksponensial lengkap dengan syntax-nya.

Nilai mutlak: , digunakan untuk mencari nilai mutlak bilangan x

atau -x

Page 8: Matematika Dengan Pemrograman Logika Menggunakan Matlab

Totok Ari Wibowo 0751001

Makalah Matematika Teknik 8

TEKNIK ELEKTRO UMBY

Nilai riff , digunakan untuk mengambil nilai real dari bilangan

kompleks

Nilai imajiner , digunakan untuk mengambil nilai

imajiner dari ix atau jx bilangan kompleks.

Fungsi pembulatan dan sisa menuliskan bilangan rill dalam bentuk bilangan bulat

positif atau negatif.

3.1.4. Pembulatan menuju integer terdekat: round (x), fungsi ini digunakan

Fungsi pembulatan dan sisa dalam MATLAB, digunakan untuk

untuk membulatkan x ke nilai integer terdekat.

Misal :

round (3.84) menghasilkan 4 dan round (-3.84) menghasilkan -4

round (0.52) menghasilkan 1 dan round (-0.52) menghasilkan -1

Pendekatan menuju nol : → fix (x), fungsi ini digunakan untuk membulatkan

x ke nilai yang lebih dekat 0.

Misal:

fix (3.84) menghasilkan 3 dan fix (-3. 84) menghasilkan -3

fix (5.32) menghasilkan 5 dan fix (-5.32) menghasilkan – 5

fix (0.52) menghasilkan 0 dan fix (-0.52) menghasilkan 0

Pembulatan menuju -∞ : → flor (x), fungsi ini digunakan untuk membulatkan x

ke nilai yang lebih mendekati -∞.

Misal:

flor (3.84) menghasilkan 3 dan f lor(-3.84) menghasilkan -4

flor (5.32) menghasilkan 5 dan flor (-5.32) menghasilkan -5

flor (0.52) menghasilkan 0 dan f lor (-0.52) menghasilkan -1

Pembulatan menuju +∞ : → ceil (x), fungsi ini digunakan untuk membulatkan

x ke nilai yang lebih dekat +∞.

Misal:

ceil (3.84) menghasilkan 4 clan ceil (-3.84) menghasilkan -4

ceil (5.32) menghasilkan 5 clan ceil (-5.32)menghasilkan -5

ceil (0.52) menghasilkan 4 clan ceil (-0.52) menghasilkan 0

Page 9: Matematika Dengan Pemrograman Logika Menggunakan Matlab

Totok Ari Wibowo 0751001

Makalah Matematika Teknik 9

TEKNIK ELEKTRO UMBY

Sisa setelah pembagian: → rem (x, y), fungsi ini digunakan untuk mengambil sisa

dari x/y dengan tanda yang sama dengan x.

Misal:

rem (15.2) menghasilkan 1 clan rem (-15.2)menghasilkan -1

rem (-13.5) menghasilkan - 3 dan rem (13.5) menghasilkan 3

3.2. Operator Logika dan Relasional

Pengaturan alur program memungkinkan pengguna untuk mengulangi perhitungan

secara berulang-ulang ataupun memilih serta memutuskan kondisi-kondisi yang

sesuai/diinginkan.

Digunakan untuk menjawab pertanyaan dengan jawaban benar atau salah

Untuk mengontrol urutan eksekusi

Hasilnya memuat 1 (benar) atau 0 (salah)

Relasi Deskripsi

& AND (dan)

| OR (atau)

~ NOT (negasi)

Relasi Deskripsi

< Kurang dari

> Lebih dari

<= Kurang dari atau sama dengan

>= Lebih dari atau sama dengan

== Sama dengan

~= Tidak sama dengan

Page 10: Matematika Dengan Pemrograman Logika Menggunakan Matlab

Totok Ari Wibowo 0751001

Makalah Matematika Teknik 10

TEKNIK ELEKTRO UMBY

Beberapa penggunaan operator aritmatika antara dua operand (A dan B) ditunjukkan pada

tabel berikut ini :

Beberapa fungsi matematika lainnya yang dapat kita gunakan untuk operasi matematika

antara lain sebagai berikut:

abs(x) : fungsi untuk menghasilkan nilai absolut dari x

sign(x) : fungsi untuk menghasilkan nilai -1 jika x<0, 0 jika x=0 dan 1 jika x>1

exp(x) : untuk menghasilkan nilai eksponensian natural,

log(x) : untuk menghasilkan nilai logaritma natural x, ln x

log10(x) : untuk menghasilkan nilai logaritma dengan basis 10, x

sqrt(x) : untuk menghasilkan akar dari nilai x,

rem(x,y) : untuk menghasilkan nilai modulus (sisa pembagian) x terhadap y

3.3. Statement if

Statement if akan mengeksekusi sekumpulan instruksi apabila suatu kondisi yang

diisyaratkan bemilai benar. Statement if diakhiri dengan end. Jika ada kondisi yang

berlawanan (false), statement if dapat diikuti dengan statement else atau elseif.

Contoh :

x=input('Masukan bilangan bulat x=')

if rem(x,2)==0

x=' == GENAP==’

else

x=' == GANJIL =='

end

Contoh ini akan mengidentifikasi sifat bilangan X, apakah termasuk bilangan ganjil

atau genap.

Page 11: Matematika Dengan Pemrograman Logika Menggunakan Matlab

Totok Ari Wibowo 0751001

Makalah Matematika Teknik 11

TEKNIK ELEKTRO UMBY

3.4. Statement switch

Statement switch akan mengeksekusi sekumpulan instruksi didasarkan pada nilai

dari suatu ekspresi atau variabel. Statement switch diikuti dengan case dan otherwise

untuk menunjukan suatu group dalam looping. Statement ini diakhiri dengan end.

Contoh :

c l e a r ;

X= input ('masukkan bilangan bulat X=');

Y= input (‘masukkan pembagi Y=' ) ;

Sisa = rem(X,Y)

swi tch Si sa

case 1 0

Nilai Sisa = 'A'

case 11

Nilai sisa = 'B'

Case 12

Nilai sisa = 'C '

case 13

Nilai sisa ='D'

case 14

Nilai sisa ='E'

Other wise

Nilai Sisa = int2str ( s i s a ) % konversi integer ke string end;

Contoh ini mengambil sisa pembagi dari X/Y kemudian dikelompokkan dalam bentuk

abjad. Jika program tersebut dijalankan, pada Command Window akan tampil 6

kemungkinan, yaitu:

Jika Sisa=10, maka Nilaisisa=A

Jika Sisa=11, maka Nilaisisa=B

Jika Sisa=12, maka Nilaisisa=C

Jika Sisa=13, maka Nilaisisa=D

Jika Sisa=14, maka Nilaisisa=E

Jika Sisa=bilangan lain, Nilaisisa=Sisa

Page 12: Matematika Dengan Pemrograman Logika Menggunakan Matlab

Totok Ari Wibowo 0751001

Makalah Matematika Teknik 12

TEKNIK ELEKTRO UMBY

3.5. Statement for

Statement for digunakan untuk mengulang sekumpulan instruksi hingga n kali (notasi n

adalah bilangan integer yang telah diidentifikasi sebelumnya). Statement for diakhiri

dengan end.

Contoh :

X=rand(50,1)

Xmax=realmin

for i=1:50

if X(i)>Xmax

Xmax=X(i)

end;

end;

Contoh ini memperagakan cara mencad nilai terbesar dari array x. Nilai tersebut akan

disimpan dalam variabel x

3.6. Statement while

Statement while mengerjakan sekelompok perintah yang diulang secara tidak

terbatas. Statement while diakhiri dengan end. Perintah antara loop while dan end

dieksekusi berulang kali selama semua elemen dalam ekspresi bernilai benar.

Contoh :

hitungan=0; x =1:

while (1+ x)>l

x = x/2

hitungan=hitungan+l

end

Contoh ini memperagakan cara menghitung nilai terkecil yang dapat ditambah pada 1

sedemikian hingga hasilnya lebih besar dari dengan menggunakan presisi hingga. Selama

(1 +X) > 1 benar, perintah yang terdapat dalam loop while akan dikerjakan terus menerus.

Karena X terus menerus dibagi 2, maka X semakin kecil hingga didapat suatu kondisi

yang unik, yaitu penambahan X pada 1 tidak mendapatkan hasil yang lebih besar dari 1

menurut hitungan komputasi. Jika kondisi tersebut terpenuhi, maka loop while berhenti

bekerja atau kondisi (1+X)> 1 bernilai salah. Kondisi tersebut dicapai pada hitungan ke-

53.

Page 13: Matematika Dengan Pemrograman Logika Menggunakan Matlab

Totok Ari Wibowo 0751001

Makalah Matematika Teknik 13

TEKNIK ELEKTRO UMBY

4. APLIKASI LOGIKA MATEMATIKA MATLAB

4.1. Window-window pada MATLAB

Ada beberapa macam window yang tersedia dalam MATLAB, yang dapat dijelaskan

sebagai berikut:

4.1.1. MATLAB Command window/editor

MATLAB Command window/editor merupakan window yang dibuka pertama kali setiap kali

MATLAB dijalankan

pada window di atas dapat dilakukan akses-akses ke command- command MATLAB dengan

cara mengetikkan barisan-barisan ekpresi MATLAB, seperti mengakses help window dan

lain-lainnya.

Jika perintah-perintah yang sudah diketikkan dan hasil yang ditampilkan pada layar

command window akan disimpan maka dapat dilakukan dengan menggunkan command

diary. Sebagai contoh jika ingin disimpan output

m =

1 2 3

5 2 1

direktori c:\backup dengan nama file mydata.txt, maka dapat dilakukan dengan mengetikan :

» m=[1 2 3;5 2 1]

m =

1 2 3

5 2 1

» diary 'c:\backup\mydata.txt'

dan jika ingin menutup file ini maka ketikkan

Page 14: Matematika Dengan Pemrograman Logika Menggunakan Matlab

Totok Ari Wibowo 0751001

Makalah Matematika Teknik 14

TEKNIK ELEKTRO UMBY

» diary off

4.1.2. MATLAB Editor/Debugger (Editor M-File/Pencarian Kesalahan)

Window ini merupakan tool yang disediakan oleh Matlab 5 keatas. Berfungsi sebagai

editor script Matlab (M-file). Walaupun sebenarnya script ini untuk pemrograman Matlab

dapat saja menggunakan editor yang lain seperi notepad, wordpad bahkan word. Untuk

mengakses window m-file ini dapat dilakukan dengan cara :

1. Memilih File kemudian pilih New

2. Pilih m-file, maka MATLAB akan menampilkan editor window :

selain dengan cara di atas untuk menampilkan editor M-

File ini dapat juga dilakukan dengan :

>> edit

Bahasan tentang m-file akan dibahas pada bab selanjutnya.

4.1.3. Figure Windows

Window ini adalah hasil visualisasi dari script Matlab. Namun Matlab memberi

kemudahan bagi programer untuk mengedit window ini sekaligus memberikan program

khusus untuk itu. Sehingga window ini selain berfungsi sebagai visualisasi output dapat juga

sekaligus menjadi media input yang interaktif.

Contoh :

>> x=0:2:360;

>> y=sin(x*pi/180);

>> plot(x,y)

Page 15: Matematika Dengan Pemrograman Logika Menggunakan Matlab

Totok Ari Wibowo 0751001

Makalah Matematika Teknik 15

TEKNIK ELEKTRO UMBY

hasil yang diperoleh adalah :

4.2. Pengaturan alur program

4.2.1. Loop for

Loop for memungkinkan sekelompok perintah diulang sebanyak suatu jumlah yang tetap.

Bentuk umum:

for loopvariable = loopexpression

perintah-perintah

end

Loopvariable merpakan nama variabel yang diberikan, sedangkan loopexpression biasanya

memiliki bentuk n:m atau n:i:m. Perintah-perintah di antara baris for dan end dikerjakan

berulang-ulang dari nilai awal n sampai nilai akhir m, dengan increment (langkah) sebesar

i.

Perhitungan bilangan kuadrat dari himpunan bilangan bulat dari 1 sampai 5

>> for n = 1:5

x(n) = n^2

end

x =

Page 16: Matematika Dengan Pemrograman Logika Menggunakan Matlab

Totok Ari Wibowo 0751001

Makalah Matematika Teknik 16

TEKNIK ELEKTRO UMBY

1

x =

1 4

x =

1 4 9

x =

1 4 9 16

x =

4 9 16 25

Perhatikanlah hasil keluaran yang terbentuk bila tanda ditambahkan tanda (;) pada

perintah di antara for-end

Bandingkan bila penulisan perintah perhitungan x(n) = n^2 ditulis x = n^2.

Operasi perkalian 2 buah vector

>> x = [1 2 3];

>> y = [4 5 6];

>> sum = 0;

>> for i = 1:3

sum = sum + x(i)*y(i)

end

sum =

4

sum =

14

sum =

32

Page 17: Matematika Dengan Pemrograman Logika Menggunakan Matlab

Totok Ari Wibowo 0751001

Makalah Matematika Teknik 17

TEKNIK ELEKTRO UMBY

4.2.2. Loop while

Bentuk umum:

while while_expression

perintah-perintah

end

While_expression merupakan bentuk hubungan e1•e2 dimana e1 dan e2 merupakan

ekspresi aritmatika biasa dan • merupakan operator relasi yang didefinisikan sebagai

berikut:

> lebih besar >= lebih besar atau sama dengan

< lebih kecil <= lebih kecil atau sama dengan

== sama -= tidak sama

Perintah-perintah di antara baris while dan end dikerjakan berulang kali selama hubungan

e1•e2 dalam ekspresi terpenuhi.

>> n = 1;

>> x = 0;

>> while x < 20

x(n) = n^2;

n = n+1;

end

>> x

x =

1 4 9 16 2

4.2.3. If-Statement

Bentuk umum:

if if_ekspresi

perintah-perintah

end

If_ekspresi juga mengikuti bentuk hubungan e1•e2. Perintah-perintah di antara baris if dan

end dikerjakan jika semua elemen di dalam ekspresi benar.

Contoh permasalahan

Sebuah toko yang menjual buah-buahan menetapkan akan memberikan potongan harga

sebesar 20% bila pelanggannya membeli apel lebih dari 10.

clc

Page 18: Matematika Dengan Pemrograman Logika Menggunakan Matlab

Totok Ari Wibowo 0751001

Makalah Matematika Teknik 18

TEKNIK ELEKTRO UMBY

apel = input('Apel yang dibeli = ');

bayar = apel * 1000;

if apel > 5

bayar = (1-20/100)*bayar;

end

disp(['Jumlah yang harus dibayar = Rp ', num2str(bayar)])

Running Program:

Apel yang dibeli = 5

Jumlah yang harus dibayar = Rp 5000

Apel yang dibeli = 10

Jumlah yang harus dibayar = Rp 8000

if-else-end

Pada kasus dengan dua pilihan, konstruksi if-else-end adalah:

if if_ekspresi

perintah dikerjakan jika benar

else

perintah dikerjakan jika salah

end

Contoh permasalahan

Penentuan kelulusan seorang siswa berdasarkan dua buah ujian yang diikutinya. Ditetapkan

bahwa siswa yang lulus harus memiliki nilai rata-rata minimal 60.

clc

nama = input('Nama Siswa = ', 's');

N1 = input('Nilai Ujian 1 = ');

N2 = input('Nilai Ujian 2 = ');

NR = (N1+N2)/2;

if NR > 60

ket = 'lulus';

else

ket = 'gagal';

end

disp(' ')

disp(['Nama = ', nama])

Page 19: Matematika Dengan Pemrograman Logika Menggunakan Matlab

Totok Ari Wibowo 0751001

Makalah Matematika Teknik 19

TEKNIK ELEKTRO UMBY

disp(['Nilai rata-rata = ', num2str(NR)])

disp(['Hasil akhir = ', ket])

Running Program

Nama Siswa = A

Nilai Ujian 1 = 60

Nilai Ujian 2 = 70

Nama = A

Nilai rata-rata = 65

Hasil akhir = lulus

Jika terdapat 3 atau lebih pilihan, konstruksi if-else-end mengambil bentuk:

if if_ekspresi1

perintah dikerjakan jika if_ekspresi1 benar

elseif if_ekspresi2

perintah dikerjakan jika if_ekspresi2 benar

elseif if_ekspresi3

perintah dikerjakan jika if_ekspresi3 benar

elseif if_ekspresi4

perintah dikerjakan jika if_ekspresi4 benar

elseif ……

.

.

else

perintah dikerjakan jika tidak ada if_ekspresi yang benar

end

4.2.4. Switch-case-otherwise

Bentuk umum:

switch ekspresi

case ekspresi1

perintah-perintah

case ekspresi2

perintah-perintah

case ….

.

Page 20: Matematika Dengan Pemrograman Logika Menggunakan Matlab

Totok Ari Wibowo 0751001

Makalah Matematika Teknik 20

TEKNIK ELEKTRO UMBY

otherwise

perintah-perintah

end

contoh aplikasi

clc

disp('1. Metoda Substitusi Berurut')

disp('2. Metoda Newton-Raphson')

disp('3. Metoda Tali Busur')

n = input('Metoda yang dipilih = ');

switch n

case (1), disp('Metoda Substitusi Berurut')

case (2), disp('Metoda Newton-Raphson')

case (3), disp('Metoda Tali Busur')

otherwise

disp('Metoda tidak termasuk dalam daftar')

end

4.3. Berpikir secara matrix

Banyak hal bisa diselesaikan secara lebih sederhana bila penyelesaian yang dibuat

didasarkan kepada bentuk matriks. Dapat diasumsikan bahwa didalam matlab setiap data

akan disimpan dalam bentuk matriks. Dalam membuat suatu data matriks pada matlab, setiap

isi data harus dimulai dari kurung siku ‘[‘ dan diakhiri dengan kurung siku tutup ‘]’. Untuk

membuat variabel dengan data yang terdiri beberapa baris, gunakan tanda ‘titik koma’ (;)

untuk memisahkan data tiap barisnya.

Contoh pembuatan data matriks pada matlab:

>> DataMatriks = [1 2 3;4 5 6]

DataMatriks =

1 2 3

4 5 6

Matlab menyediakan beberapa fungsi yang dapat kita gunakan untuk menghasilkan bentuk-

bentuk matriks yang diinginkan. Fungsi-fungsi tersebut antara lain:

• zeros : untuk membuat matriks yang semua datanya bernilai 0

• ones : matriks yang semua datanya bernilai 1

• rand : matriks dengan data random dengan menggunakan distribusi uniform

Page 21: Matematika Dengan Pemrograman Logika Menggunakan Matlab

Totok Ari Wibowo 0751001

Makalah Matematika Teknik 21

TEKNIK ELEKTRO UMBY

• randn : matris dengan data random dengan menggunakan distribusi normal

• eye : untuk menghasilkan matriks identitas

contoh penggunaan fungsi-fungsi diatas:

>> a = zeros(2,3)

a =

0 0 0

0 0 0

>> b = ones(1,3)

b =

1 1 1

>> c = rand(2,2)

c =

0.9501 0.6068

0.2311 0.4860

>> d = rand (1,4)

d =

0.8214 0.4447 0.6154 0.7919

>> e = eye(3,3)

e =

1 0 0

0 1 0

0 0 1

Page 22: Matematika Dengan Pemrograman Logika Menggunakan Matlab

Totok Ari Wibowo 0751001

Makalah Matematika Teknik 22

TEKNIK ELEKTRO UMBY

Untuk memanggil isi dari suatu data matriks, gunakan tanda kurung ‘()’ dengan isi indeks

dari data yang akan dipanggil. Contoh penggunaan :

>> c(2,2)

ans =

0.4860

Untuk pemanggilan data berurutan seperti a(1,2,3) dapat disingkat dengan

menggunakan tanda titik dua ‘:’ sehingga menjadi a(1:2). Penggunaan tanda titik dua ‘:’ juga

dapat digunakan untuk memanggil data matriks perbaris atau perkolom.

Contoh penggunaan:

c(2:5) = memanggil data matrik baris 2 sampai baris 5

a(1,:) = memanggil data matriks pada baris pertama

b(:,3) = memanggil data matris pada kolom ketiga

Contoh aplikasi pembagian pada matlab menggunakan logika. .

Pada Matlab dibentuk empat m-file sebagai berikut:

evalgint.m

function y=evalgint(A)

y = A(1)^2 + A(2)^2;

%dengan A : matriks ukuran 1 x 2

multgint.m

function [a,b]=multgint(A,B)

a1 = A(1)+A(2)*i;

a2 = B(1)+B(2)*i;

a = real(a1*a2);

b = imag(a1*a2);

%dengan A dan B : matriks ukuran 1 x 2

Page 23: Matematika Dengan Pemrograman Logika Menggunakan Matlab

Totok Ari Wibowo 0751001

Makalah Matematika Teknik 23

TEKNIK ELEKTRO UMBY

subrat.m

function [x1,x2]=subrat(a,b)

c = ceil(abs(a)/b);

if ((c*b-abs(a))/b <= 1/2)

x1 = c;

x2 = abs(a)-c*b;

else

x1 = c-1;

x2 = abs(a)-x1*b;

end;

if (a < 0)

x1 = -x1;

x2 = -x2;

end;

%dengan a dan b : bilangan bulat, b tidak 0, b positif

divalggint.m

function [P,R]=divalggint(A,B)

P = zeros(1,2);

R = zeros(1,2);

v1 = evalgint(A);

v2 = evalgint(B);

if (v1 < v2)

P(1) = 0;

P(2) = 0;

R(1) = A(1);

R(2) = A(2);

else

d = evalgint(B);

c1 = A(1)*B(1) + A(2)*B(2);

Page 24: Matematika Dengan Pemrograman Logika Menggunakan Matlab

Totok Ari Wibowo 0751001

Makalah Matematika Teknik 24

TEKNIK ELEKTRO UMBY

c2 = A(2)*B(1) - A(1)*B(2);

[e1 e2] = subrat(c1,d);

[e3 e4] = subrat(c2,d);

P(1) = e1;

P(2) = e3;

[r1 r2] = multgint(B,[e2 e4]);

R(1) = r1/d;

R(2) = r2/d;

end;

%dengan A dan B : matriks ukuran 1 x 2

Pada program ini, Gaussian Integer dinyatakan sebagai matriks berukuran 1 x 2, misalkan a +

bi ϵ Z [i] maka matriks yang dimaksud adalah [ a b ] .

Fungsi evalgint digunakan sebagai fungsi evaluasi v , yaitu evalgint ([a b]) = a2 + b2

Fungsi multgint digunakan sebagai fungsi untuk menghitung perkalian x,y dengan x,y ∈ Z[i],

yaitu multgint ([a b], [c d]) = [(ac – bd) (bc + ad)].

Fungsi divalggint digunakan untuk mencari nilai p,r ∈ Z [i] yang memenuhi a = bp + r

dengan r = 0 atau v ( r ) < v ( y ).

Contoh penggunaan program

>> evalgint([3 -1])

ans =

10

Artinya, mencari nilai

>> [m1,m2]=multgint([-4 2],[3 -1])

m1 =

Page 25: Matematika Dengan Pemrograman Logika Menggunakan Matlab

Totok Ari Wibowo 0751001

Makalah Matematika Teknik 25

TEKNIK ELEKTRO UMBY

-10

m2 =

10

Artinya, menghtung perkalian ( -4 + 2i ) dengan ( 3 – 1 ), yaitu (-4 + 2i ) ( 3 – I )

=

>> [a,b]=subrat(3,4)

a =

1

b =

-1

Artinya,

>> [P, R] = divalggint([-5 -1],[3 -1])

P =

-2 -1

R =

2 0

Artinya, (-5 + I ) = ( 3 – i ) ( -2 – i ) + 2