Rabu, 11 Juni 2014

PENGGUNAAN LARIK PADA MATLAB

MENGGUNAKAN LARIK
Pada berkas- M di atas, nilai x diidi melalui keyboard ketika berkas -M dijalankan. Kemunculan tulisan Positif atau Negatif ditentukan oleh ekspresi
                X  >=  0
Rounded Rectangle: >>  tesif  
Masukkan sebuah bilangan :  5  
Positif
>>  tesif  
Masukkan sebuah bilangan :  -5 
Negatif
>>

Contoh pengeksekusian berkas-M :






 Gambar 3.9 hasil Eksekusi tesif.m

3.3 Pernyataan if Bersarang
      Kedua bentuk if yang telah dibahas hanya bias menangani dua kemungkinan.
Bagaimanan halnya kalau ada tiga kemungkinan atau lebih? Salah satu solusinya adalah dengan meletakkan pernyataan if di dalam pernyataan if, atau dikenal dengan sebutanif bersarang (nested if).
    Contoh berikut memberikan gambaran tentang penyelesaian persamaan

                ax 2+ bx + c = 0

Persamaan tersebut mempunyai solusi berupa tiga kemungkinan, yaitu :
1.       X1 dan x2 berupa bilangan real yang berbeda jika b2 – 4ac berupa bilangan positif (lebih besar daripada 0).
2.       X1 dan X2 berupa bilangan real yang sama jika b2 – 4ac berupa bilangan nol.
3.       X 1 dan X2 berupa bilangan kompleks jika b2 – 4ac berupa bilangan negatif.

Secara umum, nilai x dan x dihitung dengan menggunakan rumus :

                                -B +
                X 1=



Berkas-M berikut menunjukkan solusi untuk persoalan di atas.

Text Box: Berkas-M  :  akar.m 



% Berkas :  akar.m

disp (‘menghitung akar persamaan axˆ2 + bx + c = 0’ )
a = input (‘a =  ‘) ;
b = input (‘b = ‘) ;
c = input (‘c = ‘) ;
d = bˆ2 – 4 * a * c ;






if d > 0
    disp (‘akar real dan berbeda’)
    x1 = (-b + sqrt (d) )  /  (2*a) ;
    x2 = (-b – sqrt (d) )  / ((2*a) ;

    fprintf (‘x1 = %f\n’, x1 ) ;
    fprintf (‘x2 = %f\n’, x2 ) ;
else
    if d == 0
         disp (‘akar kembar’)

         x  =  -b  /  (2  *  a) ;

         ifprintf ( ‘x1  =  x2  %f\n’, x) ;
else
         disp (‘Akar Kompleks’)

         x1  =  (-b  +  sqrt (d) )  /  (2  *  a) ;
         x2  =  (-b  +  sqrt (d) )  /  (2  *  a) ;

        ifprintf (‘x1  =  ‘ )
        disp (x1)

        ifprintf (‘x2  =  ‘ )
        disp (x2)
    end
end




































Text Box: Akhir Berkas-M 




Perhatikan bahwa pada bagian else  yang pertama terdapat if.Hal inilah yang menunjukkan bahwa if tersebut berada dalam if yang lain.

Contoh pengeksekusian berkas-M dapat dilihat pada gambar berikut.
Rounded Rectangle: >> akar  
Menghitung akar Persamaan axˆ2  +  bx  +  c  =  0
a  =  1 
b  =  4 
c  =  1 
Akar  real  dan berbeda
X1  =  -0.267949
X2  =  -3.732051
>>  akar  
Menghitung akar persamaan axˆ2  +  bx  +  c  =  0
a  =  1 
b  =  -10 
c  =  25 
Akar kembar
X1  =  x2  =  5.000000
>>  akar  
Menghitung akar persamaan axˆ2  +  bx  +  c  =  0

a  =  1 
b  =  1 
c  =  1 
Akar Kompleks
X1  =    -0.5000  +  0.8660i

X2  =    -0.5000  -  0.8660i
 




















Gambar 3.10 Hasil eksekusi akar.m
3.4   Pernyataan if..elseif
Khusus untuk menangani persoalan yang mempunyai tiga kemungkinan atau lebih,
MATLAB menyediakan strukur berbentuk seperti berikut :

            If  Ekspresi-1
                        Pernyataan_pernyataan_1
            Elseif Ekspresi_2
                        Pernyataan_pernyataan_2
                        ….
            Else
                        Pernyataan_pernyataan_n
            end




Tanda… menyatakan bahwa bagian elseif bias lebih dari sebuah. Pada bentuk di atas,
Bagian

Pernyataan_pernyataan-1
Hanya akan dijalankan kalau ekspresi_1 bernilai benar. Bagian
Pernyataan_pernyataan-2
Hanya akan dijalankan kalau ekspresi-2 bernilai benar dan ekspresi_1 bernilai salah.
Bagian

            Pernyataan_pernyataan-n
Hanya dijalankan kalau tidak ada ekspresi pada if  maupun  elseif yang bernilai benar.
Tabel 3.5 Kriteria penentuan skor
Kriteria
Skor
Nilai  ≥ 90
A
70 ≤ Nilai < 90
B
60 ≤ Nilai < 70
C
50 ≤ Nilai < 60
D
Nilai ≤ 50
E

Contoh berkas-M berikut menunjukkan cara menentukan skor A, B, C, D atau E berdasarkan kriteria pada table 3.5.
Text Box: Berkas-M  :  skor.m 



% Berkas : skor.m
Nilai  =  input (‘Nilai (0 s/d 100 ) :  ‘) ;

If nilai  >=  90
     Hasil  =  ‘A’ ;
Elseif nilai  >=  70
     Hasil  =  ‘B’ ;
Elseif nilai  >=  60
     Hasil  =  ‘C’ ;
Elseif nilai  >=  50
     Hasil  =  ‘D’ ;
else
     Hasil  =  ‘E’ ;
End
Fprintf (‘skor :  %C\n’, hasil )
    









Text Box: Akhir Berkas-MContoh pengeksekusian berkas-M skor.m dapat dilihat pada gambar berikut.

Rounded Rectangle: >> Skor  
Nilai  ( 0 s/d 100 ) : 90  
Skor  :   A
>> skor  
Nilai ( 0 s/d 100 ) : 75  
Skor  :  B
>> skor  
Nilai ( 0 s/d 100 ) : 67  
Skor   : C
>> skor  
Nilai ( 0 s/d 100 ) : 58  
Skor :  D
>> skor  
Nilai ( 0 s/d 100 ) : 25  
Skor  : E
>>
 















Gambar 3.11 Hasil eksekusi akar.m
3.5    Pernyataan Switch
Pernyataan switch sebenarnya merupakan bentuk lain dari perintah if  yang berguna
Untuk melakukan pengambilan keputusan yang melibatkan banyak alternative. Bentuk umum pernyataan ini :

Switch Ekspresi
            Case ekspr_case_1
                        Pernyataan_pernyataan_1
            Case {ekspr_case_21, ekspr_case_22, ekspr_case_23,…..}
                        Pernyataan_pernyataan_2
            ……
            Otherwise
                        Pernyataan_pernyataan_n

Pencocokan nilai ekspresi dan nilai pada ekspresi case dilakukan secara bertingkat dimulai dari yang paling atas. Jika misalnya, nilai ekspresi cocok dengan ekspr_cae_1 maka hanya Pernyataan_pernyataan_1 yang akan dijalankan. Jika tidak cocok, pencocokan dilakukan pada case berikutnya. Jika tidak ada satupun ekspresi case yang cocok dengan ekspresi Switch. Bagian Otherwisa (yaitu Pernyataan_pernyataan_n ) akan dieksekusi. Hal yang menarik, bagian ekspresi case bias melibatkan lebih dari sebuah ekspresi yang ditulis dalam tanda { }  dan antar ekspresi ditulis dengan pemisah koma.





Skrip berikut menunjukkan penggunaan Switch.
Text Box: Berkas-M  :  tesswitch.m 




%  berkas  :  tesswitch.m

St =  input ( ‘ Masukkan arah mata angin ( Inggris / Indonesia ) :  ‘,  ‘S’ ) ;

Switch Lower ( st )
            Case  {  ‘utara’,  ‘north’ )
                        disp ( ‘utara  /  North’)
Case  {  ‘Selatan’,  ‘South’ )
                        disp ( ‘selatan  /  south’)
Case  {  ‘Barat’,  ‘West’ )
                        disp ( ‘Barat  /  West’)
Case  {  ‘Timur’,  ‘East’ )
                        disp ( ‘Timur  /  East’)
Case  ‘kulon’
                        disp ( ‘Jangan pakai bahasa Jawa’ )
Otherwise
                        disp ( ‘masukkan satu kata aja ya ! ’ )
end
Text Box: Akhir Berkas-M 



                                  
Pada berkas-M di depan, lower ( st ) berfungsi untuk mengonversikan semua huruf capital menjadi huruf kecl. Dengan demikian, pemakai bias mengetikkan arah mata angin baik dalam huruf kecil maupun capital. Adapun berkas-M selalu membandingkan dalam huruf kecil.

1.      Jika lower ( st ) berupa ‘utara’ atau ‘north’ maka pernyataan
Maka pernyataan

Disp ( ‘ Utara  /  North’ )

Akan dijalankan.
2.      Jika Lower ( st ) berupa ‘selatan’ atau ‘south’maka pernyataan
Maka pernyataan

Disp ( ‘ Selatan  /  south’ )

Akan dijalankan.








3.      Jika Lower ( st ) berupa ‘barat’ atau ‘ weast’ maka pernyataan
Maka pernyataan

Disp ( ‘ Barat  / West’ )

Akan dijalankan.
4.      Jika Lower ( st )  berupa ‘timur’ atau ‘ east’ maka pernyataan
Maka pernyataan

Disp ( ‘ Timur  /  East’ )

Akan dijalankan.
5.      Jika Lower ( st )  berupa ‘kulon’ ditulis tanpa { }  karena hanya ada satu kemungkinan )
Maka pernyataan

Disp ( ‘ Selatan  /  south’ )

Akan dijalankan.
6.      Untuk nilai yang lain (tidak cocok dengan semua case )  maka bagian pada other-wise  yakni

Disp ( ‘ Masukkan satu kata aja ya ! )

Akan dijalankan.

Contoh pengeksekusian berkas-Mtesswitch.m dapat dilihat pada gambar berikut.
Rounded Rectangle: >> tesswitch  
Masukkan arah mata angin
( Inggris / Indonesia ) : Kulon  
Jangan pakia bahasa Jawa
>> tesswitch
Masukkan arah mata angin
( Inggris / Indonesia ) : Barat Daya  
Masukkan satu kata aja ya !
>> tesswitch
Masukkan arah mata angin
( Inggris / Indonesia ) : Selatan  
Selatan / South
>>
 











Gambar 3.12  Hasil eksekusi tesswitch.m




3.6  Pernyataan While
Pernyataan While merupakan perintah yang berguna untuk menangani suatu pengulanagn. Sebagai contoh, pernyataan ini biasa digunakan untuk menampilkan tulisan ‘MATLAB’ sebanyak 10 kali atau 1000 kali. Bentuk pernyataan  :

           While Ekspresi
           Pernyataan_pernyataan
           End

Gambar 3.13 menunjukkan diagram alir pernytaan While.
Rounded Rectangle:  











           Ke pernyataan sesudah end milk while






Flowchart: Decision: ekspresi


Pernyataan_pernyataan
 
                                                                                  
                                                                                   Diagram tersebut menunjukkan
Pengulangan terhadapa bagian :

            Pernyataan_pernyataan

Dilakukan selama ekspresi pada
While bernilai benar. Gambar
tersebut juga sekaligus menun-
kkan bahwa ada kemungkinan
bagian pernyataan-pernyataan
tidak dijalankan sama sekali yaitu
kalau pertama kali ekspresi pada
While bernilai salah.

            Skrip berikut menunjukkan
Contoh unutk menampilkan tulisan
MATLAB sepuluh kali dengan meng-
Gunakan While.


Gambar 3.13 Diagram alir while

Text Box: Berkas-M  : x10.m
 



% Berkas  :  x10.m

Pencacah  =  1 ;
While  (pencacah  <  11)
         Disp (‘MATLAB’ )
         Pencacah  =  pencacah  +  1 ;

Text Box: Akhir Berkas-MendMENGGUNAKAN LARIK
Pada berkas- M di atas, nilai x diidi melalui keyboard ketika berkas -M dijalankan. Kemunculan tulisan Positif atau Negatif ditentukan oleh ekspresi
                X  >=  0
Rounded Rectangle: >>  tesif  
Masukkan sebuah bilangan :  5  
Positif
>>  tesif  
Masukkan sebuah bilangan :  -5 
Negatif
>>

Contoh pengeksekusian berkas-M :






 Gambar 3.9 hasil Eksekusi tesif.m

3.3 Pernyataan if Bersarang
      Kedua bentuk if yang telah dibahas hanya bias menangani dua kemungkinan.
Bagaimanan halnya kalau ada tiga kemungkinan atau lebih? Salah satu solusinya adalah dengan meletakkan pernyataan if di dalam pernyataan if, atau dikenal dengan sebutanif bersarang (nested if).
    Contoh berikut memberikan gambaran tentang penyelesaian persamaan

                ax 2+ bx + c = 0

Persamaan tersebut mempunyai solusi berupa tiga kemungkinan, yaitu :
1.       X1 dan x2 berupa bilangan real yang berbeda jika b2 – 4ac berupa bilangan positif (lebih besar daripada 0).
2.       X1 dan X2 berupa bilangan real yang sama jika b2 – 4ac berupa bilangan nol.
3.       X 1 dan X2 berupa bilangan kompleks jika b2 – 4ac berupa bilangan negatif.

Secara umum, nilai x dan x dihitung dengan menggunakan rumus :

                                -B +
                X 1=



Berkas-M berikut menunjukkan solusi untuk persoalan di atas.

Text Box: Berkas-M  :  akar.m 


% Berkas :  akar.m

disp (‘menghitung akar persamaan axˆ2 + bx + c = 0’ )
a = input (‘a =  ‘) ;
b = input (‘b = ‘) ;
c = input (‘c = ‘) ;
d = bˆ2 – 4 * a * c ;






if d > 0
    disp (‘akar real dan berbeda’)
    x1 = (-b + sqrt (d) )  /  (2*a) ;
    x2 = (-b – sqrt (d) )  / ((2*a) ;

    fprintf (‘x1 = %f\n’, x1 ) ;
    fprintf (‘x2 = %f\n’, x2 ) ;
else
    if d == 0
         disp (‘akar kembar’)

         x  =  -b  /  (2  *  a) ;

         ifprintf ( ‘x1  =  x2  %f\n’, x) ;
else
         disp (‘Akar Kompleks’)

         x1  =  (-b  +  sqrt (d) )  /  (2  *  a) ;
         x2  =  (-b  +  sqrt (d) )  /  (2  *  a) ;

        ifprintf (‘x1  =  ‘ )
        disp (x1)

        ifprintf (‘x2  =  ‘ )
        disp (x2)
    end
end




































Text Box: Akhir Berkas-M 



Perhatikan bahwa pada bagian else  yang pertama terdapat if.Hal inilah yang menunjukkan bahwa if tersebut berada dalam if yang lain.

Contoh pengeksekusian berkas-M dapat dilihat pada gambar berikut.
Rounded Rectangle: >> akar  
Menghitung akar Persamaan axˆ2  +  bx  +  c  =  0
a  =  1 
b  =  4 
c  =  1 
Akar  real  dan berbeda
X1  =  -0.267949
X2  =  -3.732051
>>  akar  
Menghitung akar persamaan axˆ2  +  bx  +  c  =  0
a  =  1 
b  =  -10 
c  =  25 
Akar kembar
X1  =  x2  =  5.000000
>>  akar  
Menghitung akar persamaan axˆ2  +  bx  +  c  =  0

a  =  1 
b  =  1 
c  =  1 
Akar Kompleks
X1  =    -0.5000  +  0.8660i

X2  =    -0.5000  -  0.8660i
 



















Gambar 3.10 Hasil eksekusi akar.m
3.4   Pernyataan if..elseif
Khusus untuk menangani persoalan yang mempunyai tiga kemungkinan atau lebih,
MATLAB menyediakan strukur berbentuk seperti berikut :

            If  Ekspresi-1
                        Pernyataan_pernyataan_1
            Elseif Ekspresi_2
                        Pernyataan_pernyataan_2
                        ….
            Else
                        Pernyataan_pernyataan_n
            end




Tanda… menyatakan bahwa bagian elseif bias lebih dari sebuah. Pada bentuk di atas,
Bagian

Pernyataan_pernyataan-1
Hanya akan dijalankan kalau ekspresi_1 bernilai benar. Bagian
Pernyataan_pernyataan-2
Hanya akan dijalankan kalau ekspresi-2 bernilai benar dan ekspresi_1 bernilai salah.
Bagian

            Pernyataan_pernyataan-n
Hanya dijalankan kalau tidak ada ekspresi pada if  maupun  elseif yang bernilai benar.
Tabel 3.5 Kriteria penentuan skor
Kriteria
Skor
Nilai  ≥ 90
A
70 ≤ Nilai < 90
B
60 ≤ Nilai < 70
C
50 ≤ Nilai < 60
D
Nilai ≤ 50
E

Contoh berkas-M berikut menunjukkan cara menentukan skor A, B, C, D atau E berdasarkan kriteria pada table 3.5.
Text Box: Berkas-M  :  skor.m 


% Berkas : skor.m
Nilai  =  input (‘Nilai (0 s/d 100 ) :  ‘) ;

If nilai  >=  90
     Hasil  =  ‘A’ ;
Elseif nilai  >=  70
     Hasil  =  ‘B’ ;
Elseif nilai  >=  60
     Hasil  =  ‘C’ ;
Elseif nilai  >=  50
     Hasil  =  ‘D’ ;
else
     Hasil  =  ‘E’ ;
End
Fprintf (‘skor :  %C\n’, hasil )
    









Text Box: Akhir Berkas-MContoh pengeksekusian berkas-M skor.m dapat dilihat pada gambar berikut.

Rounded Rectangle: >> Skor  
Nilai  ( 0 s/d 100 ) : 90  
Skor  :   A
>> skor  
Nilai ( 0 s/d 100 ) : 75  
Skor  :  B
>> skor  
Nilai ( 0 s/d 100 ) : 67  
Skor   : C
>> skor  
Nilai ( 0 s/d 100 ) : 58  
Skor :  D
>> skor  
Nilai ( 0 s/d 100 ) : 25  
Skor  : E
>>
 














Gambar 3.11 Hasil eksekusi akar.m
3.5    Pernyataan Switch
Pernyataan switch sebenarnya merupakan bentuk lain dari perintah if  yang berguna
Untuk melakukan pengambilan keputusan yang melibatkan banyak alternative. Bentuk umum pernyataan ini :

Switch Ekspresi
            Case ekspr_case_1
                        Pernyataan_pernyataan_1
            Case {ekspr_case_21, ekspr_case_22, ekspr_case_23,…..}
                        Pernyataan_pernyataan_2
            ……
            Otherwise
                        Pernyataan_pernyataan_n

Pencocokan nilai ekspresi dan nilai pada ekspresi case dilakukan secara bertingkat dimulai dari yang paling atas. Jika misalnya, nilai ekspresi cocok dengan ekspr_cae_1 maka hanya Pernyataan_pernyataan_1 yang akan dijalankan. Jika tidak cocok, pencocokan dilakukan pada case berikutnya. Jika tidak ada satupun ekspresi case yang cocok dengan ekspresi Switch. Bagian Otherwisa (yaitu Pernyataan_pernyataan_n ) akan dieksekusi. Hal yang menarik, bagian ekspresi case bias melibatkan lebih dari sebuah ekspresi yang ditulis dalam tanda { }  dan antar ekspresi ditulis dengan pemisah koma.





Skrip berikut menunjukkan penggunaan Switch.
Text Box: Berkas-M  :  tesswitch.m 



%  berkas  :  tesswitch.m

St =  input ( ‘ Masukkan arah mata angin ( Inggris / Indonesia ) :  ‘,  ‘S’ ) ;

Switch Lower ( st )
            Case  {  ‘utara’,  ‘north’ )
                        disp ( ‘utara  /  North’)
Case  {  ‘Selatan’,  ‘South’ )
                        disp ( ‘selatan  /  south’)
Case  {  ‘Barat’,  ‘West’ )
                        disp ( ‘Barat  /  West’)
Case  {  ‘Timur’,  ‘East’ )
                        disp ( ‘Timur  /  East’)
Case  ‘kulon’
                        disp ( ‘Jangan pakai bahasa Jawa’ )
Otherwise
                        disp ( ‘masukkan satu kata aja ya ! ’ )
end
Text Box: Akhir Berkas-M 


                                  
Pada berkas-M di depan, lower ( st ) berfungsi untuk mengonversikan semua huruf capital menjadi huruf kecl. Dengan demikian, pemakai bias mengetikkan arah mata angin baik dalam huruf kecil maupun capital. Adapun berkas-M selalu membandingkan dalam huruf kecil.

1.      Jika lower ( st ) berupa ‘utara’ atau ‘north’ maka pernyataan
Maka pernyataan

Disp ( ‘ Utara  /  North’ )

Akan dijalankan.
2.      Jika Lower ( st ) berupa ‘selatan’ atau ‘south’maka pernyataan
Maka pernyataan

Disp ( ‘ Selatan  /  south’ )

Akan dijalankan.








3.      Jika Lower ( st ) berupa ‘barat’ atau ‘ weast’ maka pernyataan
Maka pernyataan

Disp ( ‘ Barat  / West’ )

Akan dijalankan.
4.      Jika Lower ( st )  berupa ‘timur’ atau ‘ east’ maka pernyataan
Maka pernyataan

Disp ( ‘ Timur  /  East’ )

Akan dijalankan.
5.      Jika Lower ( st )  berupa ‘kulon’ ditulis tanpa { }  karena hanya ada satu kemungkinan )
Maka pernyataan

Disp ( ‘ Selatan  /  south’ )

Akan dijalankan.
6.      Untuk nilai yang lain (tidak cocok dengan semua case )  maka bagian pada other-wise  yakni

Disp ( ‘ Masukkan satu kata aja ya ! )

Akan dijalankan.

Contoh pengeksekusian berkas-Mtesswitch.m dapat dilihat pada gambar berikut.
Rounded Rectangle: >> tesswitch  
Masukkan arah mata angin
( Inggris / Indonesia ) : Kulon  
Jangan pakia bahasa Jawa
>> tesswitch
Masukkan arah mata angin
( Inggris / Indonesia ) : Barat Daya  
Masukkan satu kata aja ya !
>> tesswitch
Masukkan arah mata angin
( Inggris / Indonesia ) : Selatan  
Selatan / South
>>
 










Gambar 3.12  Hasil eksekusi tesswitch.m




3.6  Pernyataan While
Pernyataan While merupakan perintah yang berguna untuk menangani suatu pengulanagn. Sebagai contoh, pernyataan ini biasa digunakan untuk menampilkan tulisan ‘MATLAB’ sebanyak 10 kali atau 1000 kali. Bentuk pernyataan  :

           While Ekspresi
           Pernyataan_pernyataan
           End

Gambar 3.13 menunjukkan diagram alir pernytaan While.
Rounded Rectangle:  











           Ke pernyataan sesudah end milk while






Flowchart: Decision: ekspresi


Pernyataan_pernyataan
 
                                                                                  
                                                                                   Diagram tersebut menunjukkan
Pengulangan terhadapa bagian :

            Pernyataan_pernyataan

Dilakukan selama ekspresi pada
While bernilai benar. Gambar
tersebut juga sekaligus menun-
kkan bahwa ada kemungkinan
bagian pernyataan-pernyataan
tidak dijalankan sama sekali yaitu
kalau pertama kali ekspresi pada
While bernilai salah.

            Skrip berikut menunjukkan
Contoh unutk menampilkan tulisan
MATLAB sepuluh kali dengan meng-
Gunakan While.


Gambar 3.13 Diagram alir while

Text Box: Berkas-M  : x10.m
 


% Berkas  :  x10.m

Pencacah  =  1 ;
While  (pencacah  <  11)
         Disp (‘MATLAB’ )
         Pencacah  =  pencacah  +  1 ;
Text Box: Akhir Berkas-M
end 

Tidak ada komentar:

Posting Komentar