Sunday, May 2, 2010

Servo dan servomechanism

Beberapa hari yang lalu kami sempat bingung dengan istilah ini. Teman teman di bengkel robotika sering menggunakan istilah servo untuk servomotor atau motor servo. Intinya, ya motor listrik yang menggunakan servomechanism. Penggunaan kata servo yang merujuk pada servo motor ini sempat membuatku bingung.
jadi sebenarnya istilah servo sendiri merujuk pada mekanisme kerja sebuah motor. Sebuah motor listrik disebut sevo motor jika dia dilengkapi dengan sistem kontrol loop tertutup.

Monday, April 26, 2010

testing from windows live

to wow…. it’s just great… i mean, quite helpful, that u don’t have to log in to blogspot directly,instead you only need to turn on the windows live  and do your blogging… it’s rally nice… LOL wat a dumb… i never tried it before… never like it, until found out that its rewally easy… ehehehehe.. (that’s lol in bahasa Indonesia).

anyway, talking about blogging, my fren has just got a new spirit, that he has moved from his old blog to a new one… such a transition, i found it better than the old one. then, no doubt to say that hes got a new spirit in blogging… ahahaha… congratulation, Azam Bahtiar…

Friday, March 12, 2010

program Determinan matrik dengan reduksi baris (MATLAB)

Berikut program untuk mencari determinan matrik dengan reduksi baris. yang hampir serupa dengan program invers pada postingan sebelumnya.
karena memakai metode yang sama, maka secara umum algoritmanya hampir sama. dan juga belum bisa untuk mendeteksi matrik singular. untuk bisa mendeteksi matrik singular perlu ditambahkan kondisi-kondisi yang menentukan matrik singular.

clear all;
clc;
disp('program determinan matrik menggunakan reduksi baris')
disp('oleh Nadzor')
awal=input('masukkan matrik :"[....]"');
s=size(awal);
disp('matrik yang Anda Masukkan adalah berikut:')
awal
determinan=1;
for h=1:s
d=awal(1,:);
if awal(1,1)==0
awal(1,:)=awal(h+1,:);
awal(h+1,:)=d;
disp('terjadi penukaran baris')
determinan=-1
else
awal=awal;
end;
end;
for k=1:s
f=awal(k,k);
a=1/f*[awal(k,:)];
determinan=determinan*f;
for n=1:s
if n>k
awal(n,:)=[awal(n,:)]-a.*awal(n,k);
else
awal(n,:)=a;
end;
end;
a
determinan
end;

invers matrik reduksi baris dengan MATLAB

Contoh program sederhana invers matrik dengan metode reduksi baris ecelon menggunakan MATLAB,

Program ini akan melakukan reduksi baris yang meliputi: Pertukaran baris atau pertukaran vector bila anda lebih suka menyebut matrik barisnya sebagai vector. Ini berujuan untuk mendapatkan vector pertama leading 1 . operasi pengurangan atau penjumahan antar vector yang intinya untuk menghasilkan sebuah matrik Identitas dari matrik asal yang Anda inputkan.

sebuah matrik identitas dibangkitkan, sebagai ganti dari bentuk augmented dari matrik input. Dan dilakukan operasi yang sama persis dengan matrik inputan untuk vector-vektor yang bersesuaian. Pada ahir iterasi, yaitu saat matrik awal menjadi identitas, maka matrik hasil adalah invers dari matrik awal yang kita inputkan. Ini bias kita cek dengan code ‘inv(nama matrik)’ pada command window MATLAB.

Program ini masih sangat sederhana kemampuannya. Karena dia tidak bisa mengidentifikasi matrik yang berisi vector-vektor nonlinearly independent. Seperti kita tahu sebuah matrik agar mempunyai invers maka harus berisi vector-vektor yg tak bisa dinyatakan dengan vector lainnya dalam matrik tersebut dengan perbandingan bilangan bulat,’integer’, atau yang biasa disebut dengan vector linearly independent. Karena itu program ini akan terus nylonong saja kalo kita beri makanan vector-vector yang diantaranya bukan linearly independent.

Selain itu, skrip-nya juga bisa diperpendek jika Anda tahu lebih banyak bahasa pemrograman MATLAB. Setidaknya, sebagai bahan latihan untuk memahami algoritmanya.

berikut kodenya:

clear all;

clc;

disp('program invers matrik menggunakan reduksi baris')

disp('oleh Nadzor')

awal=input('masukkan matrik :"[....]" ');

s=size(awal);

hasil=eye(s);

disp('matrik yang Anda Masukkan adalah berikut:')

awal

for h=1:s

d=awal(1,:);

p=hasil(1,:);

if awal(1,1)==0

awal(1,:)=awal(h+1,:);

awal(h+1,:)=d;

hasil(1,:)=hasil(h+1,:);

hasil(h+1,:)=p;

disp('terjadi penukaran baris')

else

awal=awal;

end;

end;

for k=1:s

f=awal(k,k);

a=1/f*[awal(k,:)];

b=1/f*[hasil(k,:)];

for n=1:s

if n~=k

g=awal(n,k);

awal(n,:)=[awal(n,:)]-a.*awal(n,k);

hasil(n,:)=[hasil(n,:)]-[b.*g];

else

awal(n,:)=a;

hasil(n,:)=b;

end;

end;

awal

hasil

end;