Category Archives: Program open source

Last updated by at .

Belajar Scilab: operasi matrik

Isi materi ini ditujukan untuk berbagi ilmu pengetahuan kepada semua pengunjung blog ini.
Silakan digunakan untuk kepentingan proses pembelajaran untuk mencerdaskan bangsa ini dengan tidak lupa menyebutkan sumbernya.
Namun yang harus dihidari adalah: mengambil isi dengan mengakui sebagai haknya, mengambil isi untuk tujuan komersialisasi.
Semua tergantung kepada hati-nurani, jika terjadi saya berkewajiban mengingatkan para plagiator. Biasakan sesuatunya terlahir dari tangan anda, itu menunjukkan bahwa anda ada dan anda diberi hidayah sebagai ciptaanNya yang paling mulia untuk memberikan manfaat di dunia ini. Biasakanlah memberikan manfaat kepada orang lain, dan jangan membiasakan memanfaatkan orang lain.

Sebagai kelanjutan yang telah diposting disini, selanjutnya adalah bagaimana pengoperasikan matrik yang sering digunakan dalam metode komputasi.

Sebelumnya mendefinisikan data matrik orde 3×4 dengan variabel M diisi nilai acak:

-->M=rand(3,4)
 M  =

    0.0485566    0.3911574    0.4829179    0.1205996
    0.6723950    0.8300317    0.2232865    0.2855364
    0.2017173    0.5878720    0.8400886    0.8607515 

Medifinisakan matrik variabel N, orde 4×3:

-->N=[3 1 5; 3.2 3.7 6; 9 1 2; 2.3 5.6 6.5]
 N  =

    3.     1.     5.
    3.2    3.7    6.
    9.     1.     2.
    2.3    5.6    6.5  

Operasi perkalian

Perlu diingat, jumlah kolom pengali harus sama jumlah baris yang dikalikan:

-->MN=M*N
 MN  =

    6.0210139    2.6541146    4.3394607
    7.3395985    5.5658025    10.644725
    12.026868    8.0371405    11.81088

Hasil perkalian menghasilkan matrik orde 3×3 di variabel MN.

Penjumlahan Matrik

Variabel M dan MN akan dijumlahkan, namun orde M=3×4 sedangkan MN=3×3. Matrik MN yang akan dijumlahkan adalah baris 1..3 dengan menggunakan operasi M(1:3,1:3).

-->M*MN
    !--error 10
Inconsistent multiplication.

-->M
 M  =

    0.0485566    0.3911574    0.4829179    0.1205996
    0.6723950    0.8300317    0.2232865    0.2855364
    0.2017173    0.5878720    0.8400886    0.8607515  

-->M(1:3,1:3)
 ans  =

    0.0485566    0.3911574    0.4829179
    0.6723950    0.8300317    0.2232865
    0.2017173    0.5878720    0.8400886  

-->P=M(1:3,1:3)+MN
 P  =

    6.0695706    3.045272     4.8223786
    8.0119935    6.3958342    10.868011
    12.228585    8.6250125    12.650969  

Perintah pertama M*MN terdapat pesan kesalahan karena ordenya tidak cocok. Kedua melihat isi matrik M, dan ketiga melihat isi matrik M baris 1 sampai 3. Terakhir P diisi dengan hasil penjumlahan matrim M baris 1 sampai 3 dengan matrik MN.

Matrik Transpose

Untuk memperoleh matrik transpose, menggunakan matlab sangat mudah dilakukan. Berikut ini hasil matrik transpose dari matrik P disimpan dalam P1.

-->P1=P'
 P1  =

    6.0695706    8.0119935    12.228585
    3.045272     6.3958342    8.6250125
    4.8223786    10.868011    12.650969  

Matrik Inverse

Selanjutnya P2 disini dengan matrik inverse P1, perintahnya sebagai berikut:

-->P2=inv(P1)
 P2  =

    0.4988561  - 1.2270212    0.3543420
  - 0.1193309  - 0.6930515    0.5878464
  - 0.0876441    1.0631006  - 0.5610236 

Pembagian Matrik

Berikutnya pembagian matrik antara P1 dan P2, hasilnya disimpan di P3.

-->P3=P1/P2
 P3  =

    120.20925    232.77314    298.02925
    79.553624    159.04213    201.51828
    123.37358    245.63773    312.75461  

Pangkat

Berikut ini P4 diisi dengan matrik P3 dipangkat 2.

-->P4=P3^2
 P4  =

    69737.146    138209.45    175943.94
    47077.49     93312.837    118784.97
    72957.671    144609.13    184084.87  

Juga dapat dilakukan P3 dipangkat dengan sebuah operasi lainnya, seperti berikut ini.

-->P3^sin(0.7*%pi)
 ans  =

    36.58        67.906238    87.765825
    23.336135    47.486817    59.493362
    36.231832    72.66662     92.731514  

to be continue

Posted in Program open source, scilab | Tagged , , | Leave a comment

Belajar Scilab: pengantar matrik

Isi materi ini ditujukan untuk berbagi ilmu pengetahuan kepada semua pengunjung blog ini.
Silakan digunakan untuk kepentingan proses pembelajaran untuk mencerdaskan bangsa ini dengan tidak lupa menyebutkan sumbernya.
Namun yang harus dihidari adalah: mengambil isi dengan mengakui sebagai haknya, mengambil isi untuk tujuan komersialisasi.
Semua tergantung kepada hati-nurani, jika terjadi saya berkewajiban mengingatkan para plagiator. Biasakan sesuatunya terlahir dari tangan anda, itu menunjukkan bahwa anda ada dan anda diberi hidayah sebagai ciptaanNya yang paling mulia untuk memberikan manfaat di dunia ini. Biasakanlah memberikan manfaat kepada orang lain, dan jangan membiasakan memanfaatkan orang lain.

Dalam scilab matrik merupakan variabel array yang memiliki jumlah baris dan kolom sesuai dengan kebutuhan. Perlakuan matrik dalam scilab sangatlah mudah. Disini akan dijelaskan dasar-dasar bagaimana memperlakukan matrik dalam scilab.

Ada beberapa cara untuk memasukkan nilai dalam variabel matrik yaitu:

  1. Pisahkan setiap elemen baris matrik dengan spasi atau koma (,)
  2. Pisahkan setiap elemen baris matrik denga karakter titik koma (;)
  3. Letakkan seluruh elemen matik dalam sepasang kurung persegi ([])

Misalkan akan memberi nilai dalam matrik persegi orde 3×3 dan dimasukkan dalam variabel M:

-->M=[2 12 3; 1 2 8; 5 16 11]
 M  =

    2.    12.    3.
    1.    2.     8.
    5.    16.    11. 

Atau dapat anda masukkan dengan cara:

-->M=[2,12,3; 1,2,8; 5,16,11]
 M  =

    2.    12.    3.
    1.    2.     8.
    5.    16.    11.  

Menghitung jumlah Dalam matrik persegi mungkin ingin menghitung jumlah elemen kolom dan jumlah elemen baris dan jumlah elemen diagonal. Hal ini dapat dilakukan dengan cara:

-->sum(M,'c')
 ans  =

    17.
    11.
    32.  

-->sum(M,'r')
 ans  =

    8.    30.    22.
 

Jumlah diagonal utama, mudah dilakukan dengan menggunakan fungsi ‘diag’:

-->diag(M)
 ans  =

    2.
    2.
    11. 

Mengisi matrik dengan nilai random

-->MR=rand(3,3)
 MR  =

    0.2615761    0.5253563    0.2256303
    0.4993494    0.5376230    0.6274093
    0.2638578    0.1199926    0.7608433

-->sum(MR,'c')
 ans  =

    1.0125628
    1.6643817
    1.1446937  

-->sum(MR,'r')
 ans  =

    1.0247834    1.1829718    1.6138829  

Menambah baris matrik

Untuk menambah baris matrik yaitu dengan menambah elemen baris dengan kolom yang sama dari matrik yang akan ditambahkan. Matrik yang lama dimasukkan kembali ke elemen matrik deng ditambahkan karakter ;, karena akan menambahkan baris.

-->M
 M  =

    2.    12.    3.
    1.    2.     8.
    5.    16.    11.  

-->M=[M; 34 10 33]
 M  =

    2.     12.    3.
    1.     2.     8.
    5.     16.    11.
    34.    10.    33.  

Subscript

Setiap elemen dalam matrik ditandai dengan subscript nomer baris dan kolom, cara penulisannya adalah: M(b,k), dengan menuliskan nama matrik diikuti dengan , didalam kurung ().

Berikut ini salah satu contoh untuk menghitung jumlah diagonal yang lain (elemen kanan atas ke kiri bawah),  dengan  menggunakan subscript matrik:

-->M(1,3)+M(2,2)+M(3,1)
 ans  =

    10.  

Menghapus baris matrik

Untuk menghapus matrik baris terakhir yaitu dengan cara:

-->M
 M  =

    2.     12.    3.
    1.     2.     8.
    5.     16.    11.
    34.    10.    33.  

-->M=[M(1:3,1:3)]
 M  =

    2.    12.    3.
    1.    2.     8.
    5.    16.    11.  

Cara diatas dengan menggunakan operator semi-kolon (:) seperti yang dijelaskan dibawah.

Cara lain dimungkinkan untuk mengakses elemen dalam matrik menggunakan indek tunggal. Sekarang matrik M telah menjadi matrik orde 4×3. Sehingga M(1) = M(1,1), M(2) = M(2,1), M(3) = M(3,1), M(4) = M(4,1), M(5) = M(1,2), M(6) = M(2,2), dan seterusnya.

Sebuah cara cerdas untuk mendapatkan jumlah diagonal yang lain adalah dari matrik M, dengan menggunakan fungsi mtlb_fliplr , di mana mtlb singkatan Matlab. Berikut ini ini adalah untuk flip matriks kiri ke kanan (lr):

-->M
 M  =

    2.    12.    3.
    1.    2.     8.
    5.    16.    11.  

-->ML=mtlb_fliplr(M)
 ML  =

    3.     12.    2.
    8.     2.     1.
    11.    16.    5.  

-->MD=diag(ML)
 MD  =

    3.
    2.
    5.  

-->sum(MD,'r')
 ans  =

    10. 

Cara singkat dari cara diatas adalah:

-->sum(diag(mtlb_fliplr(M)))
 ans  =

    10. 

 Operator Kolon

Operator kolon (:) memegang peranan penting dalam scilab. Ekpresi 1:12 menghasilkan matrik baris dengan elemen 1,2,3,4…12.

-->1:12
 ans  =

    1.    2.    3.    4.    5.    6.    7.    8.    9.    10.    11.    12.  

Untuk menghasilkan elemen mulai 20 sampai 4 dengan petambahan nilai menurun 2, dapat dituliskan sebagai berikut:

-->20:-2:4
 ans  =

    20.    18.    16.    14.    12.    10.    8.    6.    4.  

Dengan menggunakan operator kolon inipun, dapat mengambil elemen matrik tertentu. Sebagai contoh, untuk mengambil baris kedua saja:

-->M
 M  =

    2.    12.    3.
    1.    2.     8.
    5.    16.    11.  

-->M(2,:)
 ans  =

    1.    2.    8. 

Berikut ini contoh untuk mengambil baris 1 dan 3 saja.

-->M([1,3],:)
 ans  =

    2.    12.    3.
    5.    16.    11.  

Contoh lagi untuk mengambil elemen acak, hasilnya menjadi matrik 1 baris.

-->[M(2,1) M(3,3) M(1,2)]
 ans  =

    1.    11.    12.  

Sama dengan diatas namun hasilnya sebagai matrik kolom.

-->[M(2,1); M(3,3); M(1,2)]
 ans  =

    1.
    11.
    12.

Operator $ adalah nilai terbesar indek matrik, ini berguna untuk mendapatkan entri terakhir dari vektor atau matrik. Berikut ini contoh untuk mengakses semua elemen kolom terakhir kecuali kolom terakhir dari baris terakhir, kita ketik:

-->M
 M  =

    2.    12.    3.
    1.    2.     8.
    5.    16.    11.  

-->M(1:$-1,$)
 ans  =

    3.
    8.  
Posted in Program open source, scilab | Tagged , , | Leave a comment

Belajar Scilab: membaca file microsoft excel (cara 3)

Isi materi ini ditujukan untuk berbagi ilmu pengetahuan kepada semua pengunjung blog ini.
Silakan digunakan untuk kepentingan proses pembelajaran untuk mencerdaskan bangsa ini dengan tidak lupa menyebutkan sumbernya.
Namun yang harus dihidari adalah: mengambil isi dengan mengakui sebagai haknya, mengambil isi untuk tujuan komersialisasi.
Semua tergantung kepada hati-nurani, jika terjadi saya berkewajiban mengingatkan para plagiator. Biasakan sesuatunya terlahir dari tangan anda, itu menunjukkan bahwa anda ada dan anda diberi hidayah sebagai ciptaanNya yang paling mulia untuk memberikan manfaat di dunia ini. Biasakanlah memberikan manfaat kepada orang lain, dan jangan membiasakan memanfaatkan orang lain.

Posting yang saya tulis disini dan yang ditulis disini, merupakan cara membaca data dalam bentuk format microsoft excel dengan ektensi .xls. Selain itu microsoft excel juga dapat membaca dalam bentuk format yang berektensi .csv dari singkatan comma separated value. Format ini sebenarnya adalah format text, dimana setiap satu record data dipisahkan dengan karakter koma antara masing-masing fieldnya. Sedangkan untuk record berikutnya dituliskan di baris berikutnya atau dipisahkan dengan karakter .

Jika anda memiliki file dengan ektensi .xls, melalui microsoft excel dapat di simpan sebagai file dengan ektensi .csv, kemudian datanya dapat dibaca oleh scilab melalui cara yang akan dibahas disini. Agar dapat dibandingkan dengan posting sebelumnya, digunakan file excel yang sama seperti berikut ini.

Setelah disimpan dalam format dengan ektensi .csv, akan diperoleh file format text sebagai berikut:

0.2113249,0.5608486,0.3076091,0.5015342,0.2806498,Bambang Siswoyo,Pria
0.7560439,0.6623569,0.9329616,0.4368588,0.1280058,Ekoyanto Pudjiono,Pria
0.0002211,0.7263507,0.2146008,0.2693125,0.7783129,Nurhidayat,Pria
0.3303271,0.1985144,0.312642,0.6325745,0.211903,Ana Safitri,Wanita
0.6653811,0.5442573,0.3616361,0.4051954,0.1121355,Wijono,Pria
0.6283918,0.2320748,0.2922267,0.9184708,0.6856896,Masruri,Pria
0.8497452,0.2312237,0.5664249,0.0437334,0.1531217,Mochammad Rusli,Pria
0.685731,0.2164633,0.4826472,0.4818509,0.6970851,Ive Emaliana,Wanita
0.8782165,0.8833888,0.3321719,0.2639556,0.8415518,Ari Wahjudi,Pria
0.068374,0.6525135,0.5935095,0.4148104,0.4062025,M. Aswin,Pria

Fungsi yang akan digunakan untuk membaca file dengan format csv dalam scilab adalah:

read_csv() — write_csv()

Dengan fungsi diatas  data dapat saling dipertukarkan antara excel dan scilab sesuai dengan kebutuhan.

Berikut ini bagaimana file text dengan format csv dibaca dengan scilab:

-->-->sh=read_csv("d:/data_scilab/data1.csv")
 sh  =

!0.2113249 0.5608486 0.3076091 0.5015342  0.2806498  Bambang Siswoyo  Pria  !
!                                                                           !
!0.7560439 0.6623569 0.9329616 0.4368588  0.1280058 Ekoyanto Pudjiono Pria  !
!                                                                           !
!0.0002211 0.7263507 0.2146008 0.2693125  0.7783129 Nurhidayat        Pria  !
!                                                                           !
!0.3303271 0.1985144 0.312642  0.6325745 0.211903  Ana Safitri        Wanita!
!                                                                           !
!0.6653811 0.5442573 0.3616361 0.4051954 0.1121355 Wijono             Pria  !
!                                                                           !
!0.6283918 0.2320748 0.2922267 0.9184708 0.6856896 Masruri            Pria  !
!                                                                           !
!0.8497452 0.2312237 0.5664249 0.0437334 0.1531217 Mochammad Rusli    Pria  !
!                                                                           !
!0.685731  0.2164633 0.4826472 0.4818509 0.6970851 Ive Emaliana       Wanita!
!                                                                           !
!0.8782165 0.8833888 0.3321719 0.2639556 0.8415518 Ari Wahjudi        Pria  !
!                                                                           !
!0.068374  0.6525135 0.5935095 0.4148104 0.4062025 M. Aswin           Pria  !

Dengan perintah diatas seluruh data dalam format csv, disimpan dalam matrik divariabel sh sesuai dengan ukuran yang sama jika dibaca dengan microsoft excel.

Selanjutnya jika anda ingin menyimpannya kembali kedalam format .csv, digunakan fungsi write_csv(). Agar terdapat perubahan data, saya akan menambahkan satu data lagi dengan menggunakan scilab

Karena variabel sh adalah cell, jadi penambahan data diperlakukan sebagai cell dengan perintah berikut ini:

-->sh(11,1:7)=['0.62772' '0.92882' '0.2333' '0.827726' '0.366353'
   'Joko Suwarto Utomo' 'Pria']
 sh  =

!0.2113249 0.5608486 0.3076091 0.5015342  0.2806498  Bambang Siswoyo  Pria  !
!                                                                           !
!0.7560439 0.6623569 0.9329616 0.4368588  0.1280058 Ekoyanto Pudjiono Pria  !
!                                                                           !
!0.0002211 0.7263507 0.2146008 0.2693125  0.7783129 Nurhidayat        Pria  !
!                                                                           !
!0.3303271 0.1985144 0.312642  0.6325745 0.211903  Ana Safitri        Wanita!
!                                                                           !
!0.6653811 0.5442573 0.3616361 0.4051954 0.1121355 Wijono             Pria  !
!                                                                           !
!0.6283918 0.2320748 0.2922267 0.9184708 0.6856896 Masruri            Pria  !
!                                                                           !
!0.8497452 0.2312237 0.5664249 0.0437334 0.1531217 Mochammad Rusli    Pria  !
!                                                                           !
!0.685731  0.2164633 0.4826472 0.4818509 0.6970851 Ive Emaliana       Wanita!
!                                                                           !
!0.8782165 0.8833888 0.3321719 0.2639556 0.8415518 Ari Wahjudi        Pria  !
!                                                                           !
!0.068374  0.6525135 0.5935095 0.4148104 0.4062025 M. Aswin           Pria  !
!                                                                           !
!0.62772   0.92882   0.2333    0.827726  0.366353  Joko Suwarto Utomo Pria  !

Selanjutnya data tersebut dapat disimpan kembali kedalam format csv dengan nama file data2.csv dengan perintah sebagai berikut:

write_csv(sh, "d:/data_scilab/data2.csv", ",")

Parameter pertama adalah nama variabel dari cell (sh), kedua adalah direktori dan nama file, ketiga adalah separatornya adalah karakter koma. Setelah dibaca oleh microsoft excel akan nampak sebagai berikut:

Sekian mudah-mudahan bermanfaat.

Posted in Program open source, scilab | Tagged , , | 7 Comments

Belajar Scilab: membaca file microsoft excel (cara 2)

Isi materi ini ditujukan untuk berbagi ilmu pengetahuan kepada semua pengunjung blog ini.
Silakan digunakan untuk kepentingan proses pembelajaran untuk mencerdaskan bangsa ini dengan tidak lupa menyebutkan sumbernya.
Namun yang harus dihidari adalah: mengambil isi dengan mengakui sebagai haknya, mengambil isi untuk tujuan komersialisasi.
Semua tergantung kepada hati-nurani, jika terjadi saya berkewajiban mengingatkan para plagiator. Biasakan sesuatunya terlahir dari tangan anda, itu menunjukkan bahwa anda ada dan anda diberi hidayah sebagai ciptaanNya yang paling mulia untuk memberikan manfaat di dunia ini. Biasakanlah memberikan manfaat kepada orang lain, dan jangan membiasakan memanfaatkan orang lain.

Seperti yang telah diposting disini, sekarang akan dijelaskan cara yang lainnya dengan menggunakan fungsi:

readxls()

Adapun data file microsoft excel, menggunakan file excel yang sama dengan sebelumnya agar dapat dibandingkan dengan cara sebelumnya. Data tersebut sebagai berikut:

Untuk membaca data file excel digunakan perintah sebagai berikut:

-->sheets = readxls("d:/data_scilab/data1.xls");

-->typeof(sheets)
 ans  =

 xls   

-->s1 = sheets(1);

-->s1
 s1  =

!0.2113249 0.5608486 0.3076091 0.5015342 0.2806498 Bambang Siswoyo    Pria    !
!                                                                             !
!0.7560439 0.6623569 0.9329616 0.4368588 0.1280058 Ekoyanto Pudjiono  Pria    !
!                                                                             !
!0.0002211 0.7263507 0.2146008 0.2693125 0.7783129 Nurhidayat         Pria    !
!                                                                             !
!0.3303271 0.1985144 0.312642  0.6325745 0.211903  Ana Safitri        Wanita  !
!                                                                             !
!0.6653811 0.5442573 0.3616361 0.4051954 0.1121355 Wijono             Pria    !
!                                                                             !
!0.6283918 0.2320748 0.2922267 0.9184708 0.6856896  Masruri           Pria    !
!                                                                             !
!0.8497452 0.2312237 0.5664249 0.0437334 0.1531217  Mochammad Rusli   Pria    !
!                                                                             !
!0.685731  0.2164633 0.4826472 0.4818509 0.6970851  Ive Emaliana      Wanita  !
!                                                                             !
!0.8782165 0.8833888 0.3321719 0.2639556 0.8415518  Ari Wahjudi       Pria    !
!                                                                             !
!0.068374  0.6525135 0.5935095 0.4148104 0.4062025  M. Aswin          Pria    !

-->s1.value()
 ans  =

    0.2113249    0.5608486    0.3076091    0.5015342    0.2806498    Nan   Nan
    0.7560439    0.6623569    0.9329616    0.4368588    0.1280058    Nan   Nan
    0.0002211    0.7263507    0.2146008    0.2693125    0.7783129    Nan   Nan
    0.3303271    0.1985144    0.312642     0.6325745    0.211903     Nan   Nan
    0.6653811    0.5442573    0.3616361    0.4051954    0.1121355    Nan   Nan
    0.6283918    0.2320748    0.2922267    0.9184708    0.6856896    Nan   Nan
    0.8497452    0.2312237    0.5664249    0.0437334    0.1531217    Nan   Nan
    0.685731     0.2164633    0.4826472    0.4818509    0.6970851    Nan   Nan
    0.8782165    0.8833888    0.3321719    0.2639556    0.8415518    Nan   Nan
    0.068374     0.6525135    0.5935095    0.4148104    0.4062025    Nan   Nan 

-->s1.text()
 ans  =

!          Bambang Siswoyo    Pria    !
!                                     !
!          Ekoyanto Pudjiono  Pria    !
!                                     !
!          Nurhidayat         Pria    !
!                                     !
!          Ana Safitri        Wanita  !
!                                     !
!          Wijono             Pria    !
!                                     !
!          Masruri            Pria    !
!                                     !
!          Mochammad Rusli    Pria    !
!                                     !
!          Ive Emaliana       Wanita  !
!                                     !
!          Ari Wahjudi        Pria    !
!                                     !
!          M. Aswin           Pria    !

Variabel s1 berisi yang sama dengan data dalam file excel, sesuai dengan baris dan kolomnya. s1.value() adalah isi yang mengandung nilai numeric, sedangkan s1.text yang berisi string atau text.

Jika dibandingkan dengan cara sebelumnya, cara ini lebih mudah bagi orang awam karena tidak menggunakan index. Selain itu file langsung dibuka seketika, tanpa menggunakan fungsi xls_open(). Cara ini adalah instant, namun cara sebelumnya memiliki kelebihan yaitu memiliki informasi secara detail, sehingga pengembangan program akan lebih leluasa.

Saya sarankan kalau hanya ingin mengimport data dari excel secara cepat, hanya untuk mendapatkan datanya, sebaiknya digunakan cara ini.

Sekian mudah-mudahan berguna.

 

Posted in Program open source, scilab | Tagged , , | Leave a comment

Belajar Scilab: membaca file microsoft excel (cara 1)

Isi materi ini ditujukan untuk berbagi ilmu pengetahuan kepada semua pengunjung blog ini.
Silakan digunakan untuk kepentingan proses pembelajaran untuk mencerdaskan bangsa ini dengan tidak lupa menyebutkan sumbernya.
Namun yang harus dihidari adalah: mengambil isi dengan mengakui sebagai haknya, mengambil isi untuk tujuan komersialisasi.
Semua tergantung kepada hati-nurani, jika terjadi saya berkewajiban mengingatkan para plagiator. Biasakan sesuatunya terlahir dari tangan anda, itu menunjukkan bahwa anda ada dan anda diberi hidayah sebagai ciptaanNya yang paling mulia untuk memberikan manfaat di dunia ini. Biasakanlah memberikan manfaat kepada orang lain, dan jangan membiasakan memanfaatkan orang lain.

Jika anda memiliki data yang disimpan dalam microsoft excel 2003 atau sebelumnya, anda dapat mengimport data tersebut kedalam scilab untuk diolah dengan mudah melalui program atau secara immidiate di console scilab. Disini saya akan menjelaskan tentang perintah-perintah scilab dengan cara memanggil fungsi yang berhubungan dengan micrsoft excel.

Scilab menyediakan 3 cara membaca file microsoft excel. Disini dijelaskan cara pertam, dengan menggunakan fungsi:

xls_open() dan xls_read()

Misalkan anda memiliki data yang disimpan dengan microsoft excel dengan data sebagai berikut:

Data diatas merupakan data karangan saja, yang berhubungan dengan nama. Satu baris data terdiri dari 5 data numeric, 2 string. Data string berupa nama dan jenis kelamin. Data tersebut perlu diimport kedalam scilab utuk diolah datanya. misalnya diplot untuk masing-masing nama.

Dalam contoh hanya dilakukan secara immidiate kedalam console scilab.

 Membaca data excel dengan perintah xls_open() and xls_read()

Langkah-langkahnya adalah:

  1. Bukalah file excel dengan fungsi xls_open()
  2. Bacalah data dari file excel dengan fungsi xls_read()
  3. Tutup file excel dengan fungsi mclose()

 Perintah xls_open() selengkapnya adalah sebagai berikut:

[fd, vstr, nsh, psh] = xls_open(filename)

Perintah ini memiliki keluaran sebanya 4 parameter yaitu:

  1. fd : adalah file descriptor dari file yang dibuka untuk dibaca. Nama file yang disebut harus ada dalam direktori drive yang disebutkan, jika tidak ada maka akan dikeluarkan pesan kesalahan.
  2. vstr : adalah vektor seluruh string yang ada dalam sheet excel.
  3. nsh : adalah nama sheet dalam dokomen excel.
  4. psh : adalah vektor dari angka yang berisi sheet mulai dari awal dari file excel.

Cobalah perintah perikut:

-->[fd,vstr,nsh,psh]=xls_open("d:/data_scilab/data1.xls")
 psh  =

    11952.
 nsh  =

 data1
 vstr  =

         column 1 to 6

!Bambang Siswoyo  Nurhidayat  Ana Safitri  Ekoyanto Pudjiono  Wijono  Masruri  !

         column  7 to 12

!Mochammad Rusli  Ive Emaliana  Ari Wahjudi  M. Aswin  Pria  Wanita  !
 fd  =

    1.

Variabel fd berisi nilai 1, sebagai file descriptor. Variabel nsh berisi sesuai dengan nama sheet dalam dokumen microsoft excel yaitu data1. Sedangkan variabel vstr berisi vektor dari semua string yang ada, artinya jika ada string yang sama (Pria, Wanita), dalam variabel vst hanya satu saja.

Selanjutnya anda dapat memisahkan antara numeric dan string dari file yang telah dibuka tadi, dengan menggunakan perintah:

-->[numeric,string]=xls_read(fd,psh(1))

 string  =

    0.    0.    0.    0.    0.    1.     11.
    0.    0.    0.    0.    0.    4.     11.
    0.    0.    0.    0.    0.    2.     11.
    0.    0.    0.    0.    0.    3.     12.
    0.    0.    0.    0.    0.    5.     11.
    0.    0.    0.    0.    0.    6.     11.
    0.    0.    0.    0.    0.    7.     11.
    0.    0.    0.    0.    0.    8.     12.
    0.    0.    0.    0.    0.    9.     11.
    0.    0.    0.    0.    0.    10.    11.
 numeric  =

    0.2113249    0.5608486    0.3076091    0.5015342    0.2806498    Nan   Nan
    0.7560439    0.6623569    0.9329616    0.4368588    0.1280058    Nan   Nan
    0.0002211    0.7263507    0.2146008    0.2693125    0.7783129    Nan   Nan
    0.3303271    0.1985144    0.312642     0.6325745    0.211903     Nan   Nan
    0.6653811    0.5442573    0.3616361    0.4051954    0.1121355    Nan   Nan
    0.6283918    0.2320748    0.2922267    0.9184708    0.6856896    Nan   Nan
    0.8497452    0.2312237    0.5664249    0.0437334    0.1531217    Nan   Nan
    0.685731     0.2164633    0.4826472    0.4818509    0.6970851    Nan   Nan
    0.8782165    0.8833888    0.3321719    0.2639556    0.8415518    Nan   Nan
    0.068374     0.6525135    0.5935095    0.4148104    0.4062025    Nan   Nan

Perintah diatas menghasilkan dua variabel yaitu numeric (kiri) dan string (kanan). Ukuran matrik dari string dan numeric akan sama sesuai dengan ukuran data pada file excel, yaitu 7×10. Variabel numeric akan berisi data numeric, bila bukan maka diisi dengan “Nan” artinya selain numeric. Variabel string akan berisi numeric sebagai indek dari variabel vst yang berisi string.

Plotting Data

Sebagai contoh kasus adalah, bagaimana memplot data 3 nama kedalam satu window grafik. Setiap nama memiliki 5 data pada masing-masing baris yang bersesuaian. 3 nama pertama adalah “Bambang Siswoyo“, “Nurhidayat“, “Ana Safitri“. Masing-masing datanya ada di baris 1-3, kolom 1-5 dalam variabel numeric. Sedangkan indek nama ada dalam variabel string kolom 6 baris 1-3. Sedangkan data string ada dalam variabel vstr.

-->t=1:5
 t  =

    1.    2.    3.    4.    5.  

-->plot(t,numeric(1,1:5),'o-')

-->plot(t,numeric(2,1:5),'*-')

-->plot(t,numeric(3,1:5),'X-')

-->legend(vstr(string(1:3,6)))
 ans  =

 !--error 144
Undefined operation for the given operands.

check or define function %c_a_s for overloading.

at line     208 of function %h_p called by :
legend(vstr(string(1:3,6)))

 Hasil grafiknya sebagai berikut:

Selamat mencoba, semoga bermanfaat.

 

Posted in Program open source, scilab | Tagged , , | Leave a comment

Belajar Scilab: plot grafik 2D

Isi materi ini ditujukan untuk berbagi ilmu pengetahuan kepada semua pengunjung blog ini.
Silakan digunakan untuk kepentingan proses pembelajaran untuk mencerdaskan bangsa ini dengan tidak lupa menyebutkan sumbernya.
Namun yang harus dihidari adalah: mengambil isi dengan mengakui sebagai haknya, mengambil isi untuk tujuan komersialisasi.
Semua tergantung kepada hati-nurani, jika terjadi saya berkewajiban mengingatkan para plagiator. Biasakan sesuatunya terlahir dari tangan anda, itu menunjukkan bahwa anda ada dan anda diberi hidayah sebagai ciptaanNya yang paling mulia untuk memberikan manfaat di dunia ini. Biasakanlah memberikan manfaat kepada orang lain, dan jangan membiasakan memanfaatkan orang lain.

Dengan menggunakan Scilab mem-plot grafik 2 dimensi dapat dilakukan dengan mudah, dengan memberikan perintah-perintah dalam scilab. Sebenarnya scilab dapat melakukan berbagai macam variasi untuk mengeplot 2D dan 3D, namun dalam posting disini dijelaskan untuk 2D.

Grafik secara umum yang dapat dilakukan oleh scilab adalah: plot xy, plot kontur, plot 3D, histogram, bar chart, dll. Biasakanlah didalam belajar scilab menggunakan perintah-perintah secara manual melalui console scilab, hal ini akan membiasakan anda untuk memperkuat ingatan tentang fasilitas-fasilitas fungsi yang ada di scilab, selanjutnya akan memperkuat didalam membuat program dalam scilab.

Jalan program scilab, gunakan console, masukkan perintah-perintah berikut ini:

-->x=linspace(0,10,21)
 x  =

         column  1 to 18

    0.    0.5    1.    1.5    2.    2.5    3.    3.5    4.    4.5    5.    5.5
    6.    6.5    7.    7.5    8.    8.5    

         column 19 to 21

    9.    9.5    10. 

Perintah diatas artinya variabel x diisi dengan deret data secara linier mulai dari 0 sampai 10 dengan 21 data. Nampak bahwa data diisi dengan mulai 0 seterusnya dengan pertambahan nilai 0.5.

--> y=linspace(0,20,21) 
  y  =          
       column  1 to 18    
   0.    1.    2.    3.    4.    5.    6.    7.    8.    9.    10.     11.   
   12.   13.    14.    15.    16.    17. 

      column 19 to 21
   18.    19.    20.     

Perintah diatas sama dengan sebelumnya, yaitu variabel y diisi dengan deret data secara linier mulai 0 sampai 20 dengan 21 data, dimulai dengan 0 seterusnya dengan pertambahan nilai 0.5.

Sampai disini sudah ada data di variable x dan y masing-masing dengan 21 data, selanjutnya data tersebut akan diplot pada salib sumbu x,y. Perintah yang digunakan dengan perintah yang tersedia di matlab, sebagai berikut:

--> plot(x,y)

Perintah tersebut akan diplot sebagai berikut:

Nampak hasilnya adalah garis linier. Sarat mutlak didalam memplot dua array data adalah jumlah data haruslah sama, jika tidak scilab akan mengeluarkan pesan kesalahan. Pesan kesalahan tersebut adalah:

-->plot(x,y)
 !--error 10000
plot: Wrong size for input arguments 'X' and 'Y': Incompatible dimensions.
at line      93 of function checkXYPair called by :
at line     233 of function plot called by :
plot(x,y)

Seperti yang anda lihat grafik anda pertama dibuka dalam window 0. Jika anda menginginkan membuka window grafik sesuai yang anda suka lakukan perintah berikut:

-->xset('window',1)

Perintah diatas seakan anda mememesan dan mengarahkan ke window grafik nomer 1. Selanjutnya perintah-perintah yang berhubungan dengan grafik, akan ditujukan ke grafik 1. Oleh scilab akan dibuatkan window grafik dengan nomer 1, namun kosong isinya. Jika perintah ini diarahkan ke nomer grafik yang telah ada windownya (misal 0), maka tidak akan dibuatkan window baru, namun perintah selanjutnya akan mengarah ke nomer window grafik yang baru disebutkan.

Selanjutnya coba perintah berikut ini:

plot2d(x,y,style=3)

Perintah khusus plot 3d, sama seperti plot(x,y), namun memiliki argumen opsional yaitu argumen ke 3 “style” yang secara langsung anda bisa memilih style yang tersedia. Hasilnya sebagai berikut ini:

 Coba sendiri untuk  argumen style dengan nilai negatip. Style ini biasanya berguna untuk memberikan tampilan yang berbeda untuk setiap grafik yang ditampilkan. Selain itu dapat ditampilkan grafik dengan nilai awal tertentu untuk x dan y, seperti perintah berikut ini.

-->plot2d(x,y,style=-4,rect=[1,4,10,10])

 Perintah diatas menggunakan 4 argumen, yang terakhir mendefinisikan nilai awal sampai akhir dari x,y grafik akan diplot. Perintah diatas grafik diplot mulai x= 1 sampai 10, dan y = 4 sampai 10. Hasilnya nampak dalam gambar berikut ini.

Sekarang akan ditunjukkan bagaimana menambahkan judul, nama axis dan legend pada grafik.

-->title("Grafik omset penjualan")

-->xlabel("Hari ke:")

-->ylabel("Jumlah dalam ribuan")

Perintah diatas untuk memberikan judul, nama axis x, nama axis y. Hasilnya akan nampak sebagai berikut.

 

 Penulisan perintah diatas dapat disingkat dengan perintah berikut ini:

-->xtitle("Grafik omset penjualan","Hari ke:","Jumlah dalam ribuan")

 Perintah langsung menggunakan 3 argumen, dimulai dengan judul, nama axis x, nama axis y. Perintah ini sangat singkat penulisannya. Untuk menghapus grafik pada window sekarang bis menggunakan clf (clear figure), disamping secara langsung  dengan cara menutup window grafik.

Selanjutnya akan ditunjukkan bagaimana menampilkan duagrif dalam satu window grafik.

Fungsi grafik pertama: , sedangkan fungsi grafik yang kedua adalah: .

Grafik akan dimunculkan y1 fungsi x, y2 fungsi x. Grafik juga akan diberi judl dan label axis x dan axis y. Perintah berikut silakan anda coba sendiri.

-->x=linspace(1,10,50);

-->y1=x^2;

-->plot(x,y1,"o-")

-->y2=2*x^2;

-->plot(x,y2,"+-")

-->xtitle("Dua Grafik dalam satu window","X axis","Y axis")

 Hasilnya diperlihatkan dalam gambar berikut:

 Style untuk fungsi menggunakan argumen “o-”, sehingga ditampilkan grafik menggunakan huruf o. Sedangkan style untuk fungsi menggunakan argumen “+-”, sehingga grafik ditampilkan dengan karakter +.

Selanjutnya akan ditunjukkan bagaimana memberikan legend pada masing-masing grafik seperti perintah berikut ini:

-->legend ( " x ^ 2 " , " 2* x ^ 2 " );

Hasilnya akan nampak sebagai berikut:

 Untuk lebih jelasnya tekan icon demo:

Kemudian pilih “Graphics” => “2D and 3D plots”.

 

Ikutilah dan amatilah setiap demo yang ditampilkan dengan menekan tombol <enter>.

 Semoga bermanfaat, selamat belajar semoga sukses.

 

Posted in Program open source, scilab | Tagged , , | 2 Comments

Belajar Scilab: tanggapan waktu fungsi alih orde dua

Isi materi ini ditujukan untuk berbagi ilmu pengetahuan kepada semua pengunjung blog ini.
Silakan digunakan untuk kepentingan proses pembelajaran untuk mencerdaskan bangsa ini dengan tidak lupa menyebutkan sumbernya.
Namun yang harus dihidari adalah: mengambil isi dengan mengakui sebagai haknya, mengambil isi untuk tujuan komersialisasi.
Semua tergantung kepada hati-nurani, jika terjadi saya berkewajiban mengingatkan para plagiator. Biasakan sesuatunya terlahir dari tangan anda, itu menunjukkan bahwa anda ada dan anda diberi hidayah sebagai ciptaanNya yang paling mulia untuk memberikan manfaat di dunia ini. Biasakanlah memberikan manfaat kepada orang lain, dan jangan membiasakan memanfaatkan orang lain.

Disini saya akan menjelaskan bagaimana menggambarkan tanggapan waktu dari fungsi alih orde dua dengan menggunakan Software Scilab.

Dalam posting tentang fungsi alih orde dua, fungsi alihnya dapat dituliskan kembali sebagai berikut:

Dengan menggunakan scilab, akan digambarkan tanggapan waktu dari fungsi alih diatas dengan berbagai rasio redaman  dengan frekwensi alamiah tetap sebesar .  Besarnya dihitung mulai 0.02,  0.05, 0.3, 0.6, 0.8, 1. Sedangkan besarnya .

Listing perintah dalam console scilab sebagai berikut:

-->clear all         // membersihkan semua definisi variabel

-->s=poly(0,'s')          // mendefinisikan s sebagai variabel polynomial
 s  =

    s   

-->fn=2                   // frekwensi natural = 2Hz
 fn  =

    2.  

-->wn=2*%pi*fn            // menghitung frekwensi natural dalam rad/s
 wn  =

    12.566371  

-->// fungsi alih 1 rasio redaman = 0.02
-->h1=syslin('c',wn^2,s^2+2*0.02*wn*s+wn^2)
 h1  =

            157.91367
    -------------------------
                              2
    157.91367 + 0.5026548s + s   

-->// fungsi alih 1 rasio redaman = 0.05
-->h2=syslin('c',wn^2,s^2+2*0.05*wn*s+wn^2)
 h2  =

            157.91367
    -------------------------
                              2
    157.91367 + 1.2566371s + s   

-->// fungsi alih 1 rasio redaman = 0.3
-->h3=syslin('c',wn^2,s^2+2*0.3*wn*s+wn^2)
 h3  =

            157.91367
    -------------------------
                              2
    157.91367 + 7.5398224s + s   

-->// fungsi alih 1 rasio redaman = 0.6
-->h4=syslin('c',wn^2,s^2+2*0.6*wn*s+wn^2)
 h4  =

            157.91367
    -------------------------
                              2
    157.91367 + 15.079645s + s   

-->// fungsi alih 1 rasio redaman = 0.8
-->h5=syslin('c',wn^2,s^2+2*0.8*wn*s+wn^2)
 h5  =

            157.91367
    -------------------------
                              2
    157.91367 + 20.106193s + s   

-->// fungsi alih 1 rasio redaman = 1
-->h6=syslin('c',wn^2,s^2+2*1*wn*s+wn^2)
 h6  =

            157.91367
    -------------------------
                              2
    157.91367 + 25.132741s + s   

-->// medefinisikan t mulai 0 -- 5 detik dengan step 0.05 detik
-->t=0:0.05:5;                   

-->r1=csim('step',t,h1);   // respon waktu fungsi step fungsi alih 1

-->r2=csim('step',t,h2);   // respon waktu fungsi step fungsi alih 2

-->r3=csim('step',t,h3);   // respon waktu fungsi step fungsi alih 3

-->r4=csim('step',t,h4);   // respon waktu fungsi step fungsi alih 4

-->r5=csim('step',t,h5);   // respon waktu fungsi step fungsi alih 5

-->r6=csim('step',t,h6);   // respon waktu fungsi step fungsi alih 6

-->plot(t,r1)              // plotting respon waktu fungsi alih 1

-->plot(t,r2)              // plotting respon waktu fungsi alih 2

-->plot(t,r3)              // plotting respon waktu fungsi alih 3

-->plot(t,r4)              // plotting respon waktu fungsi alih 4

-->plot(t,r5)              // plotting respon waktu fungsi alih 5

-->plot(t,r6)              // plotting respon waktu fungsi alih 6

Hasil Grafik respon waktu

Posted in Program open source, scilab, Teori | Tagged , | 2 Comments

GIMP: program open source manipulasi gambar

 

Karena aku sudah terbiasa di dunia elektronik, dalam keseharian kalau lagi menganggur dirumah biasanya langsung ngenet, mengelana dunia lewat jalur maya. Apalagi kecepatan internet cukup lumayan cepat menggunakan USB-SmartFren, aku tambahkan antena yagi diatap genteng biar dapat sinyal EVDO dan aku arahkan ke Tlogomas. Posisiku di sengkaling tepat didepan Taman Rekreasi Sengkaling, memang tidak mendapatkan sinyal EVDO. Antena aku buat sendiri, lain kali akan aku posting disini bagaimana cara membuatnya.

Kalau lagi mengelana lewat internet, memang tanpa terasa menghabiskan waktu berjam-jam. Tapi itu tanpa terasa, apalagi disediakan secangkir kopi yang bisa tersedia secara otomatis. Apa lagi yang menyediakannya adalah mantan pacar saya, yang telah menemani hidup sampai saat ini 21th. Oleh karena itu nikmatilah hidup dengan penuh kesabaran: LOVE + love akan memperoleh cinta yang abadi.

Langsung aku akan membahas tentang software yang dapat digunakan untuk memanipulasi gambar. Aku menggunakan program yang sudah barang tetntu yang gratisan atau open source digunakan untuk memanipulasi gambar. Awalnya aku butuhkan untuk membuat background gambar menjadi transparent mengikuti background yang ada di halaman blog. Dengan background mengikuti backgroud blog, akan terlihat gambarnya menyatu dan tidak seperti tempelan. Dua foto merupakan hasil manipulasi dengan menggunakan GIMP.

Situs resmi GIMP adalah http://www.gimp.org. GIMP singkatan dari  GNU Image Manipulation Program, yang disediakan secara gratisan atau open source.

Download, selajutnya installah dalam komputer anda, kemudian jalankan.

Memanipulasi gambar dengan background transparency

  • Jalankan program
  • Buka file gambar yang akan dimanipulasi

  • Sorot Layer -> Transparency -> Add Alpha Channel

  • Pilih icon Fuzzy Select Tool

  • Klik daerah yang akan di transparency

  • Kemudian sorot Edit -> Clear atau tekan tombol del

  • Lakukan cara yang sama untuk daerah lainnya. Dan simpan dengan ektensi .png atau .gif.

Selamat mencoba semoga bermanfaat.

 

Posted in Program open source, Web | Tagged , , | 2 Comments

Belajar Scilab: sebagai kalkulator

Isi materi ini ditujukan untuk berbagi ilmu pengetahuan kepada semua pengunjung blog ini.
Silakan digunakan untuk kepentingan proses pembelajaran untuk mencerdaskan bangsa ini dengan tidak lupa menyebutkan sumbernya.
Namun yang harus dihidari adalah: mengambil isi dengan mengakui sebagai haknya, mengambil isi untuk tujuan komersialisasi.
Semua tergantung kepada hati-nurani, jika terjadi saya berkewajiban mengingatkan para plagiator. Biasakan sesuatunya terlahir dari tangan anda, itu menunjukkan bahwa anda ada dan anda diberi hidayah sebagai ciptaanNya yang paling mulia untuk memberikan manfaat di dunia ini. Biasakanlah memberikan manfaat kepada orang lain, dan jangan membiasakan memanfaatkan orang lain.

Jika anda belum mengetahui apa software Scilab silakan baca posting ini.

Agar lebih terbiasa menggunakan Scilab, terlebih dahulu mengetahui cara memberikan instruksi Scilab melalui console secara manual. Disini akan dijelaskan bagaimana memperlakukan atau menggunakan Scilab sebagai kalkulator, mulai yang sederhana sampai ke perhitungan komplek.

Running terlebih dahulu scilab pada komputer anda sampai keluar prompt pada console:

–>

-->a=3.4
 a  =
    3.4  

-->b=2;

-->c=-2.34
 c  =
  - 2.34

Perintah diatas maksudnya adalah:

  1. a=3.4
    variabel a diisi dengan nilai 3.4
  2. b=2;
    variabel b diisi dengan nilai 2, isi nilai tidak ditampilkan karena diakhiri dengan ;
  3. c=-2.34
    variabel c diisi dengan nilai 2.34

Dalam scilab disebelah kiri adalah nama variabel yang didefinisikan sendiri oleh anda, namun scilab membedakan antara huruf besar dan huruf kecil. Penamaan variabel harus diawali dengan huruf, selanjutnya bisa kombinasi karakter lainnya, silakan coba sendiri agar lebih meyakinkan. Setelah variabel a, b dan c diisi dengan nilai, seterusnya tetap ada sampai isinya diubah atau dibersihkan.

Dari variabel a, b dan c diatas akan diperlakukan secara numerik sebagai berikut:

-->w=a+b+c         // instruksi 1
 w  =
    3.06  

-->z=a/b+sqrt(c)   // instruksi 2
 z  =
    1.7 + 1.5297059i  

-->p=w/z          // instruksi 3
 p  =
    0.9946463 - 0.8950095i  

-->sqrt(p)       // instruksi 4
 ans  =
    1.0799747 - 0.4143660i

-->sin(a)+cos(b)+tan(c)     // instruksi 5
 ans  =
    0.3612371 

Pada setiap akhir perintah diatas disisipkan ‘//’ berfungsi kalau anda ingin memberikan catatan, ini sama dengan gaya pemrograman bahasa C.

  • Intruksi 1 diatas sama dengan fungsi matematika biasa yaitu menjumlahkan isi dari variabel a, b dan c, hasilnya disimpan di variabel w.
  • Intruksi 2, variabel z diisi dengan hasil bagi a dan b ditambah dengan akar kwadrat c, menghasilkan bilangan komplek karena nilai c adalah negatip.
  • Intruksi 3 variabel p merupakan hasil pembagian bilangan komplek yaitu w/z, z adalah bilangan komplek. Dengan Scilab operasi bilangan komplek akan menjadi lebih mudah dihitung.
  • Intruksi 4, perintah secara immidiate (seketika) yaitu tanpa ada variabel perantara. Biasanya diletakkan dalam buffer scilab, dengan nama ans (answer). Untuk melihat isi dari jawaban sekarang, langsung pada console ketik ans. Dapat juga ans dilibatkan dalam perhitungan.
  • Intruksi 5, perintah ini juga dilakukan secara seketika tanpa variabel perantara. Operasi trigonometri, isi variabel a, b dan c dalam bentuk radian, bukan dalam bentuk derajat.

 Menghapus definisi variabel

 Untuk menghapus salah satu variabel yang telah didefinisikan oleh scilab gunakan perintah:

-->clear a
-->clear b
-->clear c

Intruksi clear diikuti dengan nama variabel yang akan dihapus. Untuk menghapus semua variabel dalam scilab gunakan intruksi:

-->clear all

Memberi nilai kedalam variabel matrik

Misal kita meginginkan sebagai variabel t untuk penyebutan waktu akan diisi dengan nilai: 0, 1, 2, 3, 4. Ini adalah sebuah matrik baris, cara memberikan perintah adalah:

-->-->t=[0 1 2 3 4]
 t  =

    0.    1.    2.    3.    4.  

Isi variabel t adalah matrik 1 baris 4 kolom. Namun kalau nilai perubahan deretnya telah diketahui, dapat dilakukan perintah secara sederhana yaitu:

-->t=0:0.1:2*%pi
 t  =

         column  1 to 17

    0.    0.1    0.2    0.3    0.4    0.5    0.6    0.7    0.8    0.9
    1.    1.1    1.2    1.3    1.4    1.5    1.6  

         column 18 to 34

    1.7    1.8    1.9    2.    2.1    2.2    2.3    2.4    2.5    2.6
    2.7    2.8    2.9    3.    3.1    3.2    3.3  

         column 35 to 51

    3.4    3.5    3.6    3.7    3.8    3.9    4.    4.1    4.2    4.3
    4.4    4.5    4.6    4.7    4.8    4.9    5.  

         column 52 to 63

    5.1    5.2    5.3    5.4    5.5    5.6    5.7    5.8    5.9    6.
    6.1    6.2  

Disini t diisi dengan nilai mulai 0 sampai 2xpi atau 360 derajat dengan pertambahan nilai 0.1.

Dalam scilab nilai pi sudah didefinisikan, namun dalam penggunaannya harus didahului dengan karakter “%”, artinya variabel yang didefinisikan scilab. Selanjutnya dicoba menggunakan fungsi sin dengan nilai masukan sesuai dengan nilai yang ada pada variabel t.

-->s=sin(t)
 s  =

         column 1 to 9

    0.    0.0998334    0.1986693    0.2955202    0.3894183    0.4794255
    0.5646425    0.6442177    0.7173561  

         column 10 to 18

    0.7833269    0.8414710    0.8912074    0.9320391    0.9635582    0.9854497
    0.9974950    0.9995736    0.9916648  

         column 19 to 27

    0.9738476    0.9463001    0.9092974    0.8632094    0.8084964    0.7457052
    0.6754632    0.5984721    0.5155014  

         column 28 to 36

    0.4273799    0.3349882    0.2392493    0.1411200    0.0415807  - 0.0583741
    - 0.1577457  - 0.2555411  - 0.3507832

         column 37 to 45

  - 0.4425204  - 0.5298361  - 0.6118579  - 0.6877662  - 0.7568025  - 0.8182771
  - 0.8715758  - 0.9161659  - 0.9516021  

         column 46 to 54

  - 0.9775301  - 0.993691  - 0.9999233  - 0.9961646  - 0.9824526  - 0.9589243
  - 0.9258147  - 0.8834547  - 0.8322674  

         column 55 to 63

  - 0.7727645  - 0.7055403  - 0.6312666  - 0.5506855  - 0.4646022  - 0.3738767
  - 0.2794155  - 0.1821625  - 0.0830894  

Seluruh nilai di t, dihitung nilai sin dan disimpan dalam variabel s. Isi s adalah hasil semua perhitungan sin.

Bagai mana cara menggambarnya atau plot ?

Gunakan perintah berikut:

-->plot(t,w)

Secara otomatis akan menghasilkan gambar seperti berikut ini:

Sekian dulu posting kali ini ya, tentunya akan dilanjutkan pada posting lainnya.

Semoga bermanfaat bagi pengunjung situs ini.

Referensi

Introduction to Scilab

Download


Scilab for Dummy

Download

 

 

Posted in Program open source, scilab | Tagged , | Leave a comment