Loop atau perulangan for pada MATLAB merupakan fundamental pemrograman berfungsi untuk mengulang suatu perintah dalam jumlah yang ditentukan pengguna berdasarkan pemenuhan fungsi ekspresi. Berikut tutorial fungsi for dan nested for pada MATLAB.
A. Fungsi for Dasar
Formulasi fungsi for pada MATLAB secara umum adalah for-end dengan sistematika sebagai berikut.
- Fungsi for diawali dengan syntax for kemudian dilanjutkan dengan variabel berjalan yang didefinisikan sebagai vektor. Pada gambar di bawah vektor k didefinisikan sebagai vektor dengan nilai f sampai t dengan beda s. Beda dapat berupa beda naik (increment) atau pun beda turun (decrement).
k = 1:2:7 Vektor k mempunyai 4 elemen yaitu 1,3,5,7. Fungsi for dengan variabel k mempunyai 4 iterasi.
- Setelah itu dilanjutkan dengan command group yang dieksekusi sebanyak jumlah entri vektor k.
- Fungsi diakhiri dengan syntax end yang mengindikasi bahwa command group berakhir.
- Nilai k dieksekusi sebagai nilai skalar, dimana setelah perulangan berakhir nilai k adalah nilai k pada saat iterasi terakhir.
Contoh Program MATLAB sederhana dengan Fungsi for
Akan dibuat program yang dapat menampilkan bilangan Fibonacci sampai suku n yang dimasukkan pengguna. Sebagaimana barisan Fibonacci dirumuskan sebagai berikut.
Fn = (Fn-1)+(Fn-2)
1, 1, 2, 3, 5, 8, 13, 21...
Berdasarkan analisis dapat kita ketahui barisan fibonacci merupakan barisan rekursif. Sehingga untuk menyelesaikan kasus ini digunakan penerapan Array Addressing pada MATLAB. Anda dapat membaca tutorial "Array Addressing Untuk Membuat dan Mengubah Matriks di MATLAB" lebih lanjut. Sehingga dapat dibuat algoritma berikut.
- Mulai
- Definisikan Variabel n dimasukkan pengguna
- Definisikan Vektor y = [1 1]
- Definisikan dan lakukan perulangan x sebanyak 3-n
- Definisikan a = x-1 dan b = x-2
- Definisikan y(x)=y(a)+y(b)
- Tampilkan Vektor y
- Selesai
Sehingga diperoleh script file berikut
%Program Barisan fibonacci
n = input('Masukkan suku ke-n = ');
y=[1 1];
for x=3:1:n
a=x-1;b=x-2;
y(x)=y(a)+y(b);
end
fprintf('Barisan fibonacci sampai suku ke-%g adalah\n',n);
fprintf('%g ',y);
fprintf('\n');
Dapat diilustrasikan ketika program fibonacci dijalankan sebagai berikut.
B. Nested for pada MATLAB
Fungsi for sederhana untuk beberapa kasus tidak dapat menyelesaikan kasus tersebut. Oleh karenanya perlu digunakan Nested for atau perulangan bersarang for pada MATLAB. Banyaknya eksekusi bergantung terhadap diagram alir yang dihasilkan, secara umum fungsi nested for mempunyai n x m iterasi dimana n merupakan jumlah entri vektor di for induk dan m jumlah entri vektor di nested for. Berikut sistematika Nested for pada MATLAB.
Contoh Program MATLAB sederhana dengan Nested for
Akan dibuat Program yang dapat menghasilkan segitiga sebanyak n input dengan nilai harus 1-9 dari pengguna. Yang dapat diilustrasikan sebagai berikut
1
2 2
3 3 3
4 4 4 4
Berdasarkan analisis dapat dibuat algoritma pemrograman terhadap kasus di atas.
- Mulai
- Definisikan Variabel n dimasukkan pengguna
- Baca n yang dimasukkan pengguna
- Jika n>0 dan n<10 eksekusi blok berikut
- Definisikan dan lakukan perulangan x sebanyak 1-n
- Definisikan dan lakukan perulangan y sebanyak n-x dengan beda turun
- Tampilkan string ' '
- Definisikan dan lakukan perulangan z sebanyak 1-x dengan beda naik
- Tampilkan variabel dan string 'x '
- Buat baris baru
- Definisikan dan lakukan perulangan y sebanyak n-x dengan beda turun
- Definisikan dan lakukan perulangan x sebanyak 1-n
- Jika n lainnya
- Tampilkan string kesalahan
- Selesai
Sehingga dapat digunakan script file berikut untuk kasus di atas.
%Program Segitiga Pada MATLAB
n = input('Masukkan Sebuah Angka 1-9 = ');
if n<10 &n>0
for x = 1:1:n
for y = n:-1:x
fprintf(' ')
end
for z = 1:1:x
fprintf ('%g ',x)
end
fprintf('\n')
end
else
fprintf('Maaf Angka Yang Anda Masukkan Salah\n');
end
Dapat diilustrasikan ketika program dijalankan sebagai berikut.
Baca juga tutorial lainnya: Daftar Isi Tutorial MATLAB
Sekian artikel Fungsi For pada MATLAB dan Nested For pada MATLAB. Nantikan artikel menarik lainnya dan mohon kesediaannya untuk share dan juga menyukai halaman Advernesia. Terima kasih…