Category Archives: Sistem Kontrol

Berhubungan dengan sistem kontrol

Last updated by at .

Scilab Code for Control Systems Theory and Applications

Ebook ini merupakan kumpulan-kumpulan contoh perintah dalam program scilab yang berhubungan sistem kontrol. Sangat berguna jika anda berekperimen dibidang sistem kontrol dan aplikasinya, karena banyak perintah yang harus dihapalkan.

Download

 

Posted in Ebook Scilab | Tagged , | Leave a comment

Regression analysis with scilab

Download

Posted in Ebook Scilab | Tagged , | Leave a comment

Signal Processing With Scilab

Bila anda ingin belajar bagaimana memproses sinyal dengan menggunakan program scilab open source gunakanlah buku ini sebagai acuan.

Download

Posted in Ebook Scilab | Tagged | 1 Comment

Motor DC: model state space

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 dihindari 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 posting sebelumnya tentang fungsi alih motor dc, diturunkan dengan menggunakan transformasi lapace diperoleh sebuah fungsi alih fungsi s. Kali ini adalah motor dc dengan model state space, kumparan medan diberi tegangan tetap atau merupakan magnet permanen. Model ini bisa digunakan dengan menggunakan pengaturan arus kumparan jangkar.

Motor dc sering diaplikasikan kedalam speed control atau servo control dengan tegangan tetap pada kumparan medan atau magnet permanen. Sebuah motor dc dengan poros dihubungkan dengan roda gila atau beban inersia, rangkaian setara elektriknya diperlihatkan dalam gambar berikut ini.

Dalam gambar diatas, dapat kita asumsikan nilai-nilai parameter yang berhubungan dengan motor tersebut. COntoh parameter-parameter berikut  diperoleh dari pengukuran:

  • Momen inersia motor adalah
  • Rasio redaman dari sistem mekanik
  • Konstanta electromotive force
  • Resistansi elektrik
  • Induktansi elektrik
  • Masukan (V): sumber tegangan dc
  • Keluaran posisi poros motor
  • Rotor dan poros motor diasumsikan kaku

Besarnya Torsi motor berhubungan dengan arus jangkar i dengan faktor konstan Kt, emf balik berhubungan langsung dengan kecepatan rotasi poros motor, secara matematika dapat dituliskan sebagai berikut:

Dalam satuan SI, Kt (konstanta jangkar), samadengan Ke (konstanta motor). Dari persamamaan diatas dapat diteulis kembali persamaannya dengan menerapkan hukum newton dan dikombinasikan dengan hukum kirchhoff.

 

Fungsi alih

Dengan menggunakan transformasi laplace dari persamaan model diatas dapat dekspresikan dengan menggunakan bentuk s:

Dengan mengeliminasi I(s), akan didapatkan fungsi alih dimana kecepatan rotasi sebagai keluaran dan tegangan sebagai masukan. Fungsi alihnya akan menjadi:

State Space

Dalam bentuk state space, persamaan diatas dapat diekpresikan dengan memilih kecepatan rotasi dan arus elektrik sebagai variabel state dan tegangan sebagai masukan. Keluaran dipilih kecepatan rotasi.

Persyaratan disain

Pertama, sebagai kompensasi motor hanya dapat berputar pada 0.1 radian/sec dengan masukan tegangan sebesar 1 Volt (akan didemontrasikan ketika respon openloop disimulasi). Persyaratan secara dasar sebuah motor harus dapat berputar sesuai dengan permintaan kecepatan, steady state error dari kecepatan motor harus lebih kecil dari 1%. Persyaratan unjuk kerja lainnya, motor harus memiliki akselerasi untuk mencapai steady state sesegera mungkin saat motor dihidupkan. Pada kasus ini diinginkan agar settling time adalah 2 detik. Jika terlalu cepat akan  peralatan, diinginkan memiliki overshoot lebih kecil dari 5%.

Jika disimulasi dengan referensi masukan sebuah masukan unit step, kecepatan keluaran motor seharusnya:

  • Settling time lebih kecil dari 2 detik
  • Overshoot lebih kecil dari 5%
  • Error steady state lebih kecil 1%

Selanjutnya respon waktu dari fungsi alih motor tersebut diatas akan diuji dengan menggunakan program scilab. Parameter-parameter yang digunakan seperti yang tertera diatas.

Fungsi Alih

-->clear all

-->s=poly(0,'s')
 s  =

    s   

-->J=0.01;

-->b=0.1;

-->K=0.01;

-->R=1;

-->L=0.5;

-->t=0:0.05:5;

-->num=K
 num  =

    0.01  

-->den=(J*s+b)*(L*s+R)+K^2
 den  =

                           2
    0.1001 + 0.06s + 0.005s   

-->h=syslin('c',num,den)
 h  =

             0.01
    ----------------------
                           2
    0.1001 + 0.06s + 0.005s  

-->r=csim('step',t,h);

-->plot (t,r)

 Hasil respon waktunya diperlihatkan dalam gambar berikut ini:

Dari plotting diatas terlihat bahwa ketika tegangan 1 Volt diberikan kepada sistem, motor hanya dapat mencapai kecepatan maksimal sekitar 0.1 radian/s. Juga motor steady state tidak dicapai dalam 3 detik, ini dibawah kriteria yang diminta dalam disain yaitu 2 detik.

Coba kita uji bagaimana jika motor diberi tegangan 220V, maka hasilnya akan menjadi:

 

State Space

-->J=0.01;

-->b=0.1;

-->K=0.01;  

-->R=1;

-->L=0.5;

-->A=[-b/J K/J; -K/L -R/L]
 A  =

  - 10.     1.
  - 0.02  - 2.  

-->B=[0; 1/L]
 B  =

    0.
    2.  

-->C=[1 0]
 C  =

    1.    0.  

-->D=0;

-->s1=syslin('domain',A,B,C,D);

-->t=0:0.05:5;

-->r=csim('step',t,s1);

-->plot (t,r)

 Hasil unjuk kerja respon waktunya sama dengan grafik diatas.

Posted in scilab, Sistem Kontrol, Teori | Tagged , | 3 Comments

Motor DC: fungsi alih

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 dihindari 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 implementasinya, sistem kontrol banyak menggunakan motor dc sebagai aktuator seperti halnya pada aplikasi speed kontrol, servo kontrol atau kontrol posisi. Dalam perancangan untuk menganalisa performa atau unjuk kerja sistem, pada perancangan sistem kontrol konvensional harus diketahui dahulu fungsi alih plant. Dengan demikian dapat ditentukan bagaimana kontroler dapat direncanakan dan diimplementasikan kedalam sistem.
Dalam posting ini, akan dijelaskan bagaimana menentukan fungsi alih dari motor DC.

Model elektrik motor DC

Dalam gambar diatas, merepresentasikan motor DC dibebani dengan sebuah beban inersia (inertial load). Tegangan diberikan kepada kumparan medan (field) dan jangkar (armature) dari motor direpresentasikan dengan Vf dan Va. Resistansi dan induktansi kumparan medan dan jangkar dari motor direpresentasikan dengan Rf, Lf, Ra dan La.

Torsi dibangkitkan oleh motor bergantung secara proporsional terhadap if dan ia yaitu arus dalam kumparan medan dan jangkar dari motor. Hubungan antara Torsi motor (Tm) dengan if dan ia secara matematik dapat dituliskan sebagai berikut:

 Pengontrolan Arus Kumparan Medan

Pada motor dc dengan pengontrolan arus kumparan medan, arus kumparan jangkar ia dibuat konstan, dan arus dari kumparan medan diberikan melalui tegangan kumparan medan Vf. Pada kasus ini, torsi motor akan meningkat secara linier dengan arus kumparan medan. Secara matematika dapat dituliskan:

Dengan transformasi laplace dari kedua sisi pad persamaan ini memberikan fungsi alih dari masukan srus menghasilkan torsi.

Pada sisi kumparan medan motor, hubungan antara tegangan dan arus secara matematik dapat dituliskan menjadi:

Fungsi alih dari masukan tegangan menghasilkan arus dalam kumparan medan, dapat ditemukan dengan transformasi laplace pada kedua sisi persamaan:

Persamaan tersebut menhasilkan persamaan sistem orde satu. Selanjutnya fungsi alih dari masukan tegangan menghasilkan torsi pada motor, dapat diperoleh dengan mengkombinasikan rumus (2) dan rumus (3), menjadi:

Persamaan diatas menghasilkan persamaan orde satu, artinya masukan tegangan bentuk step pada kumparan medan akan menghasilkan torsi motor naik secara eksponensial.

Selanjutnya, keluaran torsi motor akan diberikan kepada beban inersia. Sebuah persamaan yang menggambarkan gerak rotasi
beban inersia dapat ditemukan dengan  menjumlahkan momen-momen. Dalam gambar di kiri, merupakan penggambaran beban inersia berputar kebalikan arah jarum jam menghasilkan Tm, kemudian terdapat sebagai gaya lawannya.

atau dapat dituliskan menjadi:

Selanjutnya fungsi alih dari masukan torsi motor ke perubahan kecepatan rotasi adalah:

Persamaan (5) diatas menghasilkan sistem orde satu. Dengan mengkombinasikan persamaan (4) dan (5), akan diperoleh fungsi alih sebagai masukan tegangan kumparan medan terhadap perubahan kecepatan:

Persamaan diatas menghasilkan persamaan orde dua.

Karena , fungsi alih dari tegangan masukan kumparan medan terhadap perubahan posisi rotasi menjadi:

 Persamaan diatas menghasilkan persamaan sistem orde tiga.

Pengontrolan arus kumparan jangkar

Pada pengontrolan arus kumparan jangkar motor, arus kumparan medan if ditahan konstant, dan arus kumparan jangkar dikontrol melalui tegangan Va. Pada kasus ini, torsi motor yang dihasilkan linier terhadap arus kumparan jangkar. Dan selanjutnya dapat ditulis sebagai berikut:

Fungsi alih dari masukan arus kumparan jangkar menghasilkan torsi motor adalah:

Hubungan antara tegangan/arus pada sisi kumparan jangkar motor adalah:

Dimana Vb merepresentasikan “EMF balik” diinduksi oleh putaran dari kumparan jangkar dalam medan magnet. EMF balik Vb secara proporsional terhadap kecepatan , dimana , dengan transformasi laplace pada persamaan (9) menjadi:

 

atau menjadi:

Seperti sebelumnya, fungsi alih dari masukan torsi motor terhadap perubahan kecepatan rotasi adalah:

Persamaan (8), (11) dan (12) secara bersama-sama dapat direpresentasikan diagram blok loop tertutup (closed loop) seperti berikut ini:

Penyelesaian dari blok diagram diatas, memberikan fungsi alih sebagai masukan tegangan kumparan jangkar menghasilkan perubahan kecepatan:

Fungsi alih sebagai masukan tegangan kumparan jangkar menghasilkan perubahan posisi sudut ditemukan dengan mengalikan persamaan (13)  oleh 1/s.

 

Posted in Sistem Kontrol, Teori | Tagged , | 2 Comments

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

Sistem orde dua: fungsi alih

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.

Fungsi alih sebuah sistem kontrol merupakan perwujudan karakter keluaran terhadap masukan. Pemodelan sistem Massa-Pegas-Damper seperti yang diposting disini, merupakan inspirasi dari fungsi alih orde dua secara ideal. Kebanyakan sistem loop-tertutup dan sensor didisain sebagai sistem orde dua untuk analisis yang teliti.

Fungsi alih (Transfer Function) orde dua secara ideal dapat dituliskan sebagai berikut:

Dimana: adalah besarnya penguatan dari sistem, adalah frekwensi alamiah dari sistem dan adalah rasio redaman (damping rasio) dari sistem.

Catatan

Sensor secara tipikal didisain secara linier yang diketahui penguatannya (biasanya K =  1), rasio redaman (damping ratio) sebesar:

dan bandwidth () besarnya paling sedikit 10x dari bandwidth sistem loop-tertutup.

 Pada frekwensi rendah relatif terhadap wn akan menjadi:

Pada frekwensi tinggi relatif terhadap wn akan menjadi:

Dobel integrator   akan mengarah ke 40db/dekade (dalam hal magnitude) pada frekwensi tinggi.

Rasio Redaman (Damping Ratio)

Gambar 1: Magnitude Bode dari fungsi alih orde dua secara ideal

 

Gambar 2: Fasa Bode dari fungsi alih orde dua secara idea

Rasio redaman (damping ratio) berasal dari sistem massa-pegas-peredam seperti yang diposting disini.  Dalam fungsi alih orde 2 secara ideal rasio redaman dapat memberikan efek yang sangat berpengaruh pada respon sistem.

 Catatan:

Frekwensi alamiah yang ditunjukkan dalam gambar adalah  dalam Hz, begitu juga dalam persamaan 1adalah dalam rad/s Konversi antara dua parameter adalah: .

Gambar 1 menunjukkan bahwa peak magnitude dari fungsi alih tergantung kepada  dan . Mengatur penguatan sistem secara keseluruhan adalah sangat sederhana, juga parameter K tidak begitu dipentingkan. Namun, tidak ada cara untuk mengkompensasi atau menyesuaikan   dalam sistem nyata. Gambar 2 menunjukkan ketergantungan pergeseran fasa pada dengan . Jelas bawah dengan paling kecil, pergerakan fasa 0 sampai -180 derajat sangatlah cepat sekali.

Catatan:

Ketika pemodelan  sistem mencocokkan dengan data fasa yang terukur, jalan yang terbaik adalah mencocokkan dibandingkan dengan magnitude. Pengukuran akan terjadi pada titik dikrit dan akan melewatkan puncak magnitude yang sebenarnya. Pecocokan kemiringan pergeseran fasa akan memberikan yang terbaik dengan mencocokkan dengan .

Puncak Magnitude (Peak Magnitude)

Puncak Magnitude merupakan fungsi . Hubungan ini adalah sebagai berikut:

Gambar 3: Bode Plot memberikan detail besarnya puncak magnitude

 

 

Frekwensi puncak (Peak Frequency)

Frekwensi dari puncak magnitude tidak sama dengan . Walaupun dan sangat dekat hubungannya. Hubungan antara dan sebagai berikut:

 

 

 

 

 

 

 

Posted in scilab, Teori | Tagged , | Leave a comment

Sistem orde dua: model

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 komesialisasi.
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 sistem kontrol seringkali fungsi alih sistem closed-loop didekati menjadi sistem orde dua. Karena sistem orde dua mudah dianalisis dan mudah pemodelannya. Dalam sistem oder dua pemodelannya dapat didekati secara pemodelan mekanik seperti berikut ini:

Sebuah massa (m) dicantolkan ke pegas (spring) dan peredam (damper). F adalah gaya luar yang diberikan pada massa. Dalam contoh tidak dimasukkan, karena gaya F itu berada pada massa yang tergantung percepatannya atau x”.
Besarnya gaya F akan bergantung dengan jarak pergerakan kekiri yaitu x.
Kalau massa bergerak, maka gaya tergantung kepada percepatan massa itu sendiri.
Pemodelan tersebut dapat dijelaskan sebagai berikut:
  1. Jika massa m dibuat bergerak kekiri sejauh x dengan percepatan tertentu (x”), maka terdapat total gaya yang diberikan kepada massa tersebut.
  2. Total gaya akan dilawan dengan pegas (spring) dan peredam (damper)
  3. Dalam keadaan setimbang total gaya antara point 1 dan 2 adalah sama

Dengan memperlakukan massa sebagai benda bebas dan menerapkan hukum kedua Newton, total gaya pada massa adalah:

Dimana:

 adalah percepatan massa (m/s2)
   adalah jarak pergeseran massa (m) relatif terhadap titik referensi awal

 Gaya lawan total adalah gaya yang diakibatkan oleh pegas (spring – Fs) dan gaya yang diakibatkan oleh peredam (damper – Fd) dengan tanda negatip:

Persamaan di atas jika digabungkan akan membentuk persamaan gerak, sebuah orde dua persamaan diferensial perpindahan x sebagai fungsi waktu t (dalam detik).

 

Jika disusun kembali akan diperoleh:

Selanjutnya untuk menyederhanakan persamaan, kita definisikan:

Parameter pertama adalah disebut frekuensi alamiah dari sistem (undamped-tidak teredam) .

Parameter kedua adalah disebut rasio redaman. Frekuensi alami merupakan frekuensi sudut, dinyatakan dalam rad/s. Rasio redaman adalah besaran tak memiliki satuan.

 Setelah disubtitusi persamaan diferensialnya menjadi:

Dalam sistem kontrol fungsi alih didekati dengan persamaan orde 2, dimana variabel yang digunakan adalah s sebagai pengganti diferensial. Dengan pendekatan orde dua ini, sistem mudah dirancang dengan menentukan penguatan, frekwensi alamiah dan rasio redaman. Selain itu parameter kontrol dapat dihitung seperti: Peak Magnitude, Peak Frequency, Time Overshoot, Overshoot Magnitude.

 

Posted in Sistem Kontrol, Teori | Tagged , | Leave a comment

Scilab for Dummy

Download

 

Posted in Ebook Scilab | Tagged | Leave a comment

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

Introduction to scilab

Buku ini bisa dijadikan sebagai pengantar untuk pemula belajar SCILAB. Buku ini asli dari pembuat program SCILAB yang bersifat open source.

Gunakan buku ini sebagai pegangan pertama untuk mengoperasikan Scilab secara dasar.

Selamat belajar.

Download

Posted in Ebook Scilab | Tagged | Leave a comment

Modelling and Simulation in Scilab/Scicos

Download

 

Posted in Ebook Scilab | Tagged | Leave a comment

SCILAB: matlab open source

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.

Selamat tinggal MATLAB, selamat datang SCILAB

Kalangan Perguruan Tinggi di luar negeri, terutama eropa, selalu mencitrakan dirinya sebagai pemrakarsa software berbasis open source. Biasanya pemunculannya sebagai alternatif dari software yang bersifat komersial.

Anda masih ingat software MATLAB, yang begitu mahal harganya sebagai alat bantu yang biasa digunakan oleh engineering. Namun juga lahir yang memiliki fungsi sama namun open source alias gratis, yang diberi nama SCILAB. Merupakan software “Free Open Source for Numerical Computation”, memungkinkan anda melakukan operasi komputasi secara programming, simulasi, pemodelan bahkan embedding software.

Lebih lanjut tentang software ini kunjungi situs resminya di: http://www.scilab.org

Sebelum menginstall software ini silakan download dulu disini. Untuk platform os yang lainnya silakan download di situs resminya. Kebetulan saya menginstall di sistem operasi Windows XP. Kemudian install di komputer anda, saya tidak akan menjelaskan cara installnya, karena sangat mudah dilakukan walaupun tanpa panduan.

Saya menyarankan agar saat menginstalasi komputer anda terhubung dengan jaringan internet, karena bila ada kekurangan file yang harus diinstall, akan secara otomatis didownload dari situs resminya.

Tanpa basa-basi langsung saja coba untuk menghitung:

Masih ingat yang namanya polynomial, kalau sampai pangkat 2 seh bisa ngitung kan diajari di SMP/SMA. Tapi kita coba dengan menggunakan SCILAB, pasti tambah mudah.

Saat dirunning pertama kali akan muncul yang namanya pompt: –>

Dari prompt itulah kita biasa memberikan perintah kepada SCILAB.

Mendefinisikan polynomial

Misal terdapat persamaan: F1 = 9 . X3 + 2,3 X2 + 7 . X + 9

Coba hitung secara manual berapa akar-akarnya, dengan cara seperti yang diajarkan di matakuliah matematika. Pasti puyeng tujuh keliling.

Dengan SCILAB yah gak puyeng.

  1. Mendefinisikan variabel x sebagai variabel polynomial
    –> x = poly(0,’x’)
  2. Definisikan F1 = 9 . X3 + 2,3  . X2 + 7 . X + 9
    –> F1 = 9*x^3+2.3*x^2+7*x+9 (case sensitive, huruf kecil dan besar berbeda)
  3. Hitung akar-akarnya
    akar = roots(F1)

Inilah rekaman dalam console scilab

Startup execution:
  loading initial environment

-->x=poly(0,'x')
 x  =

    x   

-->f1=9+7*x+2.3*x^2+9*x^3
 f1  =

                 2    3
    9 + 7x + 2.3x + 9x   

-->roots(f1)
 ans  =

    0.2785544 + 1.0737447i
    0.2785544 - 1.0737447i
  - 0.8126644

So pasti anda akan puyeng tujuh keliling, karena akarnya adalah:

  • akar 1 =  0.2785544 + 1.0737447i
  • akar 2 =  0.2785544 – 1.0737447i
  • akar 3 =  – 0.8126644

Dua akarnya adalah bilangan komplek, yang tidak mungkin dilakukan dengan menghitung hanya berbekal teori-teori diperkuliahan. Inilah karya orang yang rela memeras akal-pikirannya untuk digunakan secara luas dengan secara gratisan, ini termasuk ibadah.

Jadi posisi SCILAB harus diletakkan sebagai tool atau alat bantu untuk perhitungan, sehingga kita dapat memikirkan tentang hal lainnya yang memiliki tingkat kesulitan yang lebih tinggi.

Mencari persamaan polinomial dengan memasukkan akar-akarnya

Kalau anda memiliki akar-akar polynomial, dan ingin mengetahui persamaannya, SCILAB bisa melakukan hal yang terbalik. Misal anda memiliki akar-akar polynomial: 1.2, -4, 18, 8

-->x=poly(0,'x')
 x  =

    x   

-->akar=[1.2 -4 18 8]
 akar  =

    1.2  - 4.    18.    8.  

-->F2=poly(akar,"x","roots")
 F2  =

                        2       3   4
  - 691.2 + 528x + 66.4x - 23.2x + x

Yang ini seh, mudah dilakukan, tinggal dihitung berdasarkan: (x – 1,2)(x+4)(x-18)(x-8).

Tapi……..opo yoh iso cepet marih tha, yaoh iso salah itung.

Kita sebagai dosen jangan anti-pati dengan adanya software ini, justru harus memperkuat dan memperbaiki proses pembelajaran kepada anak didik kita agar lebih maju, dan harus disesuaikan dengan perkembangan jaman. Kita yang harus mengikuti jaman bukan kita yang dimakan jaman, karena jaman adalah kita-kita semua yang menentukannya.

Menurut saya matakuliah matematika diperkuliahan khususnya engineering harus dirombak, agar bisa diarahkan menjadi matakuliah aplikasi yang bisa diterapkan untuk menyelesaikan permasalahan engineering. Jadi bukan hanya menyelesaikan secara umum, namun secara aplikasi dengan menggunakan sarana program yang sudah semakin maju.

Untuk itu diperlukan seorang dosen yang piawai didalam menyesuaikan proses pembelajarannya sesuai dengan perkembangan jaman. Inilah tuntutan seorang dosen diabad yang modern ini.

Sekian….akan dilanjut lagi di posting lainnya.

Referensi

Introduction to Scilab

Download


Modelling and Simulation in Scilab/Scicos

Download

 

 

Posted in scilab | Tagged , , | Leave a comment