Tuesday, March 26, 2013

Perulangan dan Percabangan di Matlab


Control statement

               Seperti halnya bahasa pemrograman pada umumnya, kta bisa mengendalikan arah program dengan berbagai cara, berupa percabangan arah program berdasarkan kondisi tertentu, ataupun loop ( perulangan ) ketika kita melakukan iterasi.
¤ Statement if….ifelse….else….end
Merupakan statement untuk percabangan program berdasarkan satu/beberapa kondisi tertentu. Sintak yang digunakan pada MATLAB meliputi :

matlab11
matlab12
matlab13
Selain itu, dimungkinkan pula membuat pernyataan if di dalam pernyataan yang lain (disebut nested-if), misalkan :
matlab14


¤ Statement switch ….case
Sebagai alternatif dari statement if…elseif…else…end, kita bisa menggunakan statement switch. Sintaknya ialah :
matlab15
¤ Statement for…end
Statement ini digunakan untuk loop/perhitungan berulang. Sintak yg digunakan dalam MATLAB ialah :
matlab16
Adapun sintaks yang digunakan untuk membatasi loop mirip dengan yang kita pakai untuk membuat deret. Misalakan untuk menampilkan bilangan kelipatan 3 dari 30 sampai 100.
matlab17
Hasilnya ialah :
matlab18
Sementara untuk nilai inkremen  = 1, cukup dituliskan nilai awal dan akhir. Misalkan untuk mendaftar bilangan bulat dari -10 hingga 10 dan menyimpannya dalam satu vektor.
matlab19
Menghasilkan :
matlab20
Atau untuk memplot kurva parabola:
matlab21
dengan berbagai nilai parameter A, yaitu 0,5 , 1 , 1,5 , dan 2.
Dalam hal ini indeks vektor A kita iterasi dari 1 hingga indeks terakhir.

matlab22
Menghasilkan :
matlab23
Perhatikan bahwa setiap selesai satu loop, variable (dalam contoh diatas adalah i) akan otomatis mengalami inkremen. Demikian seterusnya hingga nilai_akhir ( yaitu lenght (A) ) tercapai dan program dilanjutkan ke baris selanjutnya.
¤ Statement while…end
Alternatif dari sintaks loop ialah berikut ini.

matlab24

Misalkan untuk memplot fungsi kuadrat

matlab25
dengan berbagai nilai parameter B.
matlab26
Menghasilkan :
matlab27
¤ Statement break dan return
ketika kita sudah berada dalam satu loop, kita bisa keluar dengan break tanpa menunggu nilai_akhir tercapai, atau tanpa menunggu kondisi loop tidak dipenuhi lagi. Sementara return digunakan untuk keluar dari fungsi yang sedang berjalan. Berikut ini adalah sedikit gambaran dalam kasus penentuan apakah suatu bilangan bersifat prima atau tidak.
Algoritma yang akan digunakan ialah sebagai berikut :
• Userr memasukkan satu bilangan bulat positif N sebagai argument input.
• Apabbila N bukan bilangan bulat positif, maka perhitungan tidak dilanjutkan, dan digunakan return untuk keluar.
N kita coba-coba bagi dengan 2,3,4,5,….dst. dengan loop. Apabila satu waktu ditemukan N habis terbagi, berrati N bukan bilangan prima. Selanjutnya kita langsung keluar loop dengan break dan menampilkan hasilnya di layar.
• Apabila N tidak perrnah habis dibagi oleh 2,3,4,…, N/2 (sampai loop selesai), maka N pasti bilangan prima. Selanjutnya kita tampilkan dilayar dan progam selesai.
• Untuk mengetahui apakah N habis terbagi atau tidak, kita bisa menggunakan fungsi rem(N,Pembagi).

matlab28
Simpanlah fungsi di atas dengan nama apakah_prima.m di dalam direkori Matlab\work.
Kita coba alankan fungsi di atas pada command window.
matlab29
Perlu di ingat bahwa fungsi apakah_prima.m di atas tidak memiliki arguman keluaran, karena hasil perhitungan langsung kita tampilkkan di layar menggunakan disp, sehingga hasil tersebut tidak bisa disimpan dalam variable.
¤ Statement Continue
Statement continue digunakan untuk memaksa program untuk langsung menuju iterasi berikutnya dari suatu loop, tanpa mengeksekusi command yang masih ada di bawahnnya.
Sebagai contoh kita akan membuat fungsi untuk mengumpulkan billangan tak nol dari suatu vektor.
matlab30

No comments:

Post a Comment