Komputasi Teknik untuk Solusi bagi Jakarta:
Perancangan
Ergonomisme Filter Portable Bertenaga Manusia untuk Lokasi Bencana Banjir
Terisolir
Disusun
oleh: Ihsan Ahmad Zulkarnain
Email:
ihsan.a.zulkarnain@gmail.com
Abstraksi
Pengadaan
air bersih bagi korban bencana banjir di lokasi yang terisolir, khususnya
daerah rawan bencana di Jakarta, sangatlah penting untuk menjaga kesehatan dan
kebersihan para korban bencana. Berangkat dari latar belakang itu, tim PKM-KC
dari Teknik Industri berinisiatif untuk merancang alat filter portable
bertenaga manusia agar penggunaannya dapat menjangkau daerah yang terisolir,
yakni daerah bencana dimana listrik terputus dan lokasi tidak dapat dijangkau
oleh truk penyuling air bersih. Perancangan alat filter portable tersebut harus
dianalisa terlebih dahulu mengenai beban tekanannya agar tetap ergonomis untuk
menghasilkan laju produksi air bersih yang cukup. Komputasi Teknik adalah
solusinya. Dengan komputasi teknik, dinamika aliran melalui media berpori
(filter) dapat dilakukan dengan bantuan perangkat lunak CFDSOF. Pola jatuh
tekanan terhadap aliran dan ukuran-mesh juga dapat direpresentasikan ke dalam
persamaan dengan membuat program metode least square dengan penyelesaian sistem
persamaan linear metode Gauss Jordan.
Keywords:
Filter portable, jatuh tekanan, aliran media berpori
Latar Belakang
Pentingnya air
dalam kehidupan manusia adalah mutlak. Air merupakan sumber kehidupan. Bumi
tempat manusia tinggal, 2/3 komponennya adalah air. 70% komposisi tubuh manusia
sendiri tersusun dari air. Air juga merupakan kebutuhan dasar manusia. PBB
memperkirakan bahwa setiap orang membutuhkan 20-50 liter per hari untuk minum
dan pekerjaan harian seperti memasak dan mencuci.
Dalam kondisi
teraktual, Indonesia masih berhadapan dengan musim kemarau yang berkepanjangan
dan musim hujan dengan curah hujan tinggi. Pada musim kemarau sumber air yang
dapat diandalkan oleh masyarakat adalah sumber-sumber air primer seperti air
tanah dan air sungai. Namun, air tersebut cenderung keruh. Di lain sisi, pada musim
hujan air berlimpah, tetapi juga dalam keadaan keruh dan tidak laik guna.
Sebagai contoh
kasus adalah kekeringan yang terjadi di Jogjakarta. Dikutip dari antaranews.com,
sebanyak 2.096 warga Sleman, Jogjakarta terancam kekurangan air bersih. Air
yang tersedia tidak laik pakai, sebagai solusi pemerintah setempat menyediakan
9 – 10 tangki. Namun hal tersebut belum juga cukup.
Di sisi lain,
curah hujan yang tinggi tidak menjadi “obat” bagi masalah kekeringan yang
terjadi hampir di seluruh wilayah di Indonesia. Curah hujan yang tinggi justru
menjadi masalah baru. Pasalnya, air hujan yang turun tidak mampu diserap oleh
tanah dengan baik seiring dengan berkurangnya lahan resapan air di Indonesia
terlebih di kota-kota besar seperti Jakarta.
Ketidaktersediaan
air baku saat musim kemarau dan banjir biasanya diatasi pemerintah dengan
mengirim tangki-tangki air yang kemudian dibagikan ke masyarakat. Ada pula
orang-orang yang menjual air keliling menggunakan jerigen. Namun, hal tersebut
tidak efektif dan tidak menjangkau ke semua penduduk.
Dikutip dari
portal berita Media Indonesia online (www.mediaindonesia.com)
yang ditulis pada 22 Juni 2012 lalu, sebanyak 18 kecamatan di Kabupaten Gunungkidul,
DI Yogyakarta, rawan kekeringan saat musim kemarau. Kepala Dinas Sosial, Tenaga
Kerja, dan Transmigrasi (Dinsoskertrans) Kabupaten Gunungkidul Dwi Warna
Nugraha mengatakan akan mengajukan permohonan mengedrop bantuan air ke semua
kecamatan seperti tahun 2011 lalu.
Dikutip dari artikel
pada portal berita www.metrotvnews.com, pada bulan Juli 2012 terjadi banjir
bandang di Sumatra Barat yang mengakibatkan krisis air bersih, utamanya di
daerah Padang. Akibatnya, ratusan warga berebut air bersih yang disupalai
donatur. Setiap harinya, dua mobil tangki air bersihkan dibagi-bagikan secara
gartis kepada masyarakat. Sumber air itu sendiri diperoleh dari bawah Gunung
Talang, Kabupaten Solok yang letaknya jauh dari kota Padang.
Berangkat dari
latar belakang tersebut, tim Program Kreatifitas Mahasiswa – Karya Cipta
(PKM-KC) dari Teknik Industri berinisiatif untuk menciptakan sebuah filter
portable yang dapat menjangkau daerah terisolir dan hanya bertenagakan manusia
untuk pengoperasiannya.
Dalam
perancangan karya ciptanya, tim PKM-KC yang beranggotakan dua orang mahasiswa
Teknik Industri, satu orang mahasiswa Fakultas Kesehatan Masyarakat, dan satu
orang mahasiswa Fakultas Ilmu Budaya ini kemudian mencoba berkonsultasi kepada
mahasiswa-mahasiswa dari Teknik Mesin yang dapat membantu mereka membuat
simulasi untuk memperkirakan performa dari rancangan mereka terlebih dahulu
sebelum akhirnya mereka membuat prototipe dari produk mereka. Setelah
berkonsultasi ke beberapa mahasiswa dan dosen Teknik Mesin, akhirnya mereka
mendapat rekomendasi untuk berkonsultasi kepada saya. Berhubung saya juga
sedang mempersiapkan konsep tugas besar mata kuliah komputasi teknik, maka saya
sangat antusias untuk membantu mereka dan menjadikan permasalahan “Perancangan
Ergonomisme Filter Portable Bertenaga Manusia untuk Lokasi Bencana Banjir
Terisolir” ini sebagai topik dari tugas besar saya untuk mata kuliah komputasi
teknik.
Deskripsi Permasalahan
Permasalahan
yang ingin diangkat pada tugas besar mata kuliah komputasi teknik ini adalah
simulasi performa rancangan produk filter portable seperti pada gambar 1.
Gambar 1. Gambar rancangan produk
filter portable.
(a) adalah
bagian masuk aliran air yang masih kotor, (b) adalah bagian keluar aliran air
yang telah disaring, (c) adalah pompa tangan manual untuk memompakan air dengan
tenaga manusia, (d) adalah filter pertama dengan ukuran mesh-filter yang
relatif lebih besar sebagai media penyaring tingkat pertama, dan (e) adalah
filter kedua dengan ukuran mesh-filter yang relatif lebih kecil sebagai media
penyaring tingkat kedua.
Untuk membuat
simulasi performa ini, hal-hal yang harus dipertimbangkan antara lain:
1. Besar
jatuh tekanan akibat aliran melalui mesh filter yang divariasikan ukuran
mesh-nya.
2. Batas
ergonomisme berdasarkan standar kerja, kecepatan, dan gaya lengan manusia mengoperasikan
pompa tangan manual untuk produk filter portable ini.
Adapun dari
ketiga permasalahan tersebut, keluaran yang ingin dihasilkan dari pembuatan
simulasi ini adalah berupa spesifikasi performa produk filter portable, yakni
laju produksi volume air bersih per menit, untuk berbagai variasi kombinasi
ukuran mesh filter.
Metode
Sesuai dengan
beberapa hal yang harus dipertimbangkan dalam permasalahan ini, maka metode
penyelesaiannya pun dilakukan bertahap sesuai dengan hal-hal tersebut.
Pertama, untuk
mengestimasi besarnya jatuh tekanan akibat aliran melalui mesh-filter, maka
akan dilakukan pemodelan aliran berdasarkan dinamika fluida komputasional
dengan memanfaatkan perangkat lunak CFDSOF sesuai dengan dimensi dari filter
dan juga rumah filternya.
Gambar 2. Tampilan perangkat lunak
dinamika fluida komputasional CFDSOF
Jatuh tekanan
yang dihasilkan adalah fungsi dari kecepatan aliran yang dihasilkan oleh pompa.
Oleh karena itu, perlu juga dihitung besar kecepatan aliran air yang dihasilkan
pompa tangan manual tersebut berdasarkan kecepatan putaran yang dioperasikan
oleh pengguna.
Kemudian, hasil
kalkulasi kecepatan putaran pompa, kecepatan aliran, dan tekanan itu digunakan
untuk menghitung beban gaya dan kerja yang harus ditanggung oleh pengguna yang mengoperasikan
produk filter portable ini. Dengan mempertimbangkan faktor ergonomis, maka akan
dihasilkan spesifikasi performa produksi air bersih oleh filter portable
tersebut.
Landasan Teori dan Studi Literatur
Dinamika aliran melalui media berpori
Pada dinamika
aliran melalui media berpori, landasan teori yang paling sering digunakan
adalah hukum Darcy mengenai aliran melalui media berpori. Walaupun hukum Darcy pertama
kali ditentukan berdasarkan hasil eksperimen oleh Darcy, namun sebenarnya hukum
Darcy adalah penurunan dari hukum kekekalan momentum, yakni persamaan
Navier-Stokes melalui homogenisasi.
Gambar
3. Diagram skematik Hukum Darcy untuk analisa dinamika aliran melalui media
berpori
Hukum Darcy
adalah hubungan proporsional sederhana antara laju aliran melalui media
berpori, viskositas fluida, dan jatuh tekanan sepanjang jarak yang dilalui.
Hukum Darcy dapat direpresentasikan dalam gambar 3 dan persamaan berikut,
Dimana, Q
adalah laju aliran volumetrik (m3/s), k adalah konduktivitas aliran
pada media berpori (fungsi dari permeabilitas) (m2), A adalah luas
penampang aliran (m2), µ adalah viskositas dinamik fluida (Pa.s), dP
adalah jatuh tekanan (Pa), dan dx adalah jarak yang dilalui aliran pada media
berpori (m).
Ergonomisme tangan manusia
Ukuran
ergonomisme tangan manusia dalam memberikan gaya itu tergantung pada posisi
tangan terhadap pundak seperti pada gambar 4.
Gambar
4. Posisi tangan memberikan gaya terhadap pundak
Pada setiap
posisinya, gaya maksimum yang dapat diberikan oleh manusia terangkum pada tabel
1.
Tabel 1.
Ergonomisme gaya tangan manusia
Sudut A
|
% jangkauan
|
sudut B
|
Tipe
|
Gaya
|
|
[lbF]
|
[N]
|
||||
30
|
100
|
0
|
Dorong
|
28
|
125
|
0
|
Tarik
|
23
|
102
|
||
60
|
Dorong
|
35
|
156
|
||
60
|
Tarik
|
33
|
147
|
||
50
|
0
|
Dorong
|
20
|
89
|
|
0
|
Tarik
|
19
|
85
|
||
60
|
Dorong
|
25
|
111
|
||
60
|
Tarik
|
28
|
125
|
||
0
|
100
|
0
|
Dorong
|
30
|
133
|
0
|
Tarik
|
25
|
111
|
||
60
|
Dorong
|
38
|
169
|
||
60
|
Tarik
|
33
|
147
|
||
50
|
30
|
Dorong
|
25
|
111
|
|
30
|
Tarik
|
25
|
111
|
||
60
|
Dorong
|
32
|
142
|
||
60
|
Tarik
|
33
|
147
|
||
-30
|
100
|
0
|
Dorong
|
27
|
120
|
0
|
Tarik
|
29
|
129
|
||
60
|
Dorong
|
33
|
147
|
||
60
|
Tarik
|
39
|
173
|
||
50
|
0
|
Dorong
|
27
|
120
|
|
0
|
Tarik
|
25
|
111
|
||
60
|
Dorong
|
34
|
151
|
||
60
|
Tarik
|
36
|
160
|
Model Komputasi dan Simulasi
Pembuatan simulasi aliran dengan CFDSOF
Pertama, buat
pemodelan terlebih dahulu dari sistem filter portable ini. Saya memberi batasan
aliran yang disimulasikan adalah aliran pada housing filter seperti pada gambar
5 dan 6.
Gambar
5. Gambar rinci housing filter portable
Gambar
6. Gambar potongan housing filter portable
Dengan rancangan seperti gambar tersebut, dibuatlah model
grid yang disederhanakan menjadi 2 dimensi dengan memanfaatkan boundary layer
jenis axis-symmetry (lihat gambar 7).
Gambar
7. Boundary layers axis-symmetry
Sehingga penyederhanaan gridnya menjadi domain seperti pada
gambar 8 dan gambar 9.
Gambar
8. Setting input domain
Gambar
9. Susunan grid pada CFDSOF
Kemudian, kondisi sempadan yang diset antara lain kecepatan
masuk inlet divariasikan sebesar: 0,0242 m/s (setara 5 liter/menit) 0,0484 m/s
(setara 10 liter/menit), dan 0,0726 m/s setara (15 liter/menit); dan
permeabilitas media berpori (kuadrat dari ukuran mesh filter) divariasikan
sebesar: 1 x 10-12 m2 (untuk ukuran mesh 1 µm) 9 x 10-12 m2 (untuk
ukuran mesh 3 µm),
dan 2,5 x 10-11 m2 (untuk ukuran mesh 5 µm)
Hasil simulasi pada CFDSOF tersebut kemudian akan dibuatkan
regresinya dalam bentuk persamaan:
Dimana, adalah jatuh tekanan [mbar], Q adalah laju
aliran volumetrik [m3/s], dan X adalah ukuran mesh [µm]
Hasil dan Pembahasan / Analisis
Hasil Simulasi CFD
Berikut ini adalah kilasan-kilasan
hasil simulasi dinamika aliran melalui media berpori dengan memanfaatkan
perangkat lunak CFDSOF.
Gambar
10. Plot residu iterasi
Pada gambar 10,
ditunjukkan bahwa simulasi berlangsung konvergen hingga 10-4 satuan,
kecuali tekanan. Residu tekanan yang masih cukup tinggi, antara 10-2
sampai dengan 10-1 satuan ini dikarenakan besarnya jatuh tekanan
yang cukup tinggi pada simulasi (hingga puluhan ribu Pascal). Oleh karena itu,
residu tekanan dengan nilai tersebut masih dapat dikatakan konvergen juga.
Gambar
11. Vektor besar kecepatan aliran (tampak cermin)
Gambar
12. Kontur besar kecepatan aliran (tampak cermin)
Gambar
13. Kontur fungsi aliran - Stream
function (tampak cermin)
Pada gambar 11,
12, dan 13, ditunjukkan bahwa kecepatan aliran ketika melalui filter hampir
seragam. Hal ini dikarenakan besarnya jatuh tekanan ketika melalui filter
sangat besar (lihat gambar 14), sehingga aliran cenderung mengalir ke bawah
terlebih dahulu, baru kemudian menembus filter dengan kecepatan yang hampir
seragam searah radial.
Jatuh tekanan
yang terjadi pun didominasi oleh jatuh tekanan yang diakibatkan aliran melalui
media berpori (hingga 557 mbar) seperti yang ditunjukkan dalam kontur tekanan
statik relatif pada gambar 14 dan profil tekanan pada gambar 15. Tampak bahwa tekanan menurun sangat drastis
ketika aliran melalui filter.
Gambar
14. Kontur tekanan statik relatif (tampak cermin)
Gambar
15. Profil tekanan statik relatif (tampak cermin)
Hasil-hasil tersebut adalah hasil
dinamika aliran untuk kondisi sempadan aliran masuk 0,0484 m/s (setara
10 liter/menit) dan permeabilitas media berpori (kuadrat dari ukuran mesh
filter) divariasikan sebesar: 1 x 10-12 m2 (untuk ukuran
mesh 1 µm).
Sedangkan untuk kondisi sempadan lainnya, berikut ini adalah
perbandingan hasilnya.
Gambar
15. Profil tekanan statik relatif dengan variasi kecepatan inlet (dari kiri ke
kanan): 0,0242 m/s, 0,0484 m/s, dan 0,0726 m/s) pada filter ukurun 1 µm dengan
permeabilitas 1 x 10-12 m2
Gambar
16. Profil tekanan statik relatif dengan variasi kecepatan inlet pada filter
ukurun 3 µm dengan permeabilitas filter 9
x 10-12 m2
Gambar
17. Profil tekanan statik relatif dengan variasi kecepatan inlet pada filter
ukurun 5 µm dengan permeabilitas filter 25
x 10-12 m2
Pada gambar 15, 16, dan 17, ditunjukkan
bahwa jatuh tekanan menaik relatif terhadap kenaikan kecepatan aliran. Dan
ditunjukkan juga bahwa jatuh tekanan menurun seiring dengan kenaikan ukuran
mesh-filter. Hasil jatuh tekanan pada setiap kondisi dirangkum pada tabel 2
berikut.
Tabel 2. Hasil jatuh tekanan dengan
variasi debit dan ukuran mesh-filter.
kecepatan
aliran [m/s]
|
Debit
[lt/menit]
|
Jatuh
tekanan [mbar]
|
||
Ukuran
Mesh-filter
|
||||
1
µm
|
3
µm
|
5
µm
|
||
0.0242
|
5
|
279
|
31
|
11.2
|
0.0484
|
10
|
557
|
62
|
22.4
|
0.0726
|
15
|
836
|
93
|
33.5
|
Hasil tersebut
kemudian diregresi untuk mendapatkan persamaan sebagai berikut,
Dimana, adalah jatuh tekanan [mbar], Q adalah laju
aliran volumetrik [m3/s], dan X adalah ukuran mesh [µm]
Untku melakukan
regresi pangkat tersebut, maka kedua ruas persamaan diberi logaritma basis 10,
sehingga persamaan menjadi:
Sehingga
persamaan tersebut diregresi dengan menggunakan metode least square error,
yakni dengan menyelesaikan sistem persamaan berikut:
Sistem
persamaan tersebut dapat diselesaikan dengan menggunakan metode Gauss-Jordan. Sehingga,
penyelesaian sistem persamaan linear tersebut dapat diselesaikan dengan membuat
script programming sebagai berikut:
Script Gauss
Jordan:
function y=gaussjordan_by_ihsan(B)
for m=1:size(B,1) //row
if
B(m,m)==0
for
p = 1:size(B,1)
if
B(p,m)~=0
temp=B(m,:);
B(m,:)=B(p,:);
B(p,:)=temp;
disp(B);
break;
end
end
end
B(m,:)=B(m,:)./B(m,m);
disp(B);
for
ma=m+1:size(B,1)
B(ma,:)=B(ma,:)-(B(ma,m)./B(m,m)).*B(m,:);
disp(B);
end
end
for m=1:size(B,1) //row
for
n=m+1:size(B,1)
B(m,:)=B(m,:)-(B(m,n)./B(n,n)).*B(n,:);
disp(B);
end
end
y=B(:,size(B,2));
endfunction
|
Script Sistem
Persamaan Linear:
function y=lin_equa_sys_by_ihsan() a=input('jumlah variabel bebas = ')
tampil='';
for p = 1:a
if p==a then
tampil=tampil+' a'+string(p)+'.x'+string(p);
break;
end
tampil=tampil+' a'+string(p)+'.x'+string(p)+' +';
end
tampil=tampil+ ' = y';
mprintf(tampil+'\n');
for m = 1:a //row
mprintf('persamaan ke-%d', m)
for n = 1:a //column
A(m,n)=input('masukkan nilai koefisien a'+string(n)+' = ');
end
A(m,a+1)=input('masukkan nilai y = ')
end
mprintf('\n');
for m=1:a
tampila='';
for n = 1:a
if n==a then
tampila=tampila+string(A(m,n))+'.x'+string(n);
break;
end
tampila=tampila+string(A(m,n))+'.x'+string(n)+' +';
end
tampila=tampila+ ' = '+string(A(m,a+1));
mprintf(tampila+'\n');
end
y=gaussjordan_by_ihsan(A);
endfunction
|
Script regresi
pangkat:
function y=powerfit_by_ihsan() Q=input('masukkan data Q = ');
X=input('masukkan data X = ');
dP=input('masukkan data dP = ');
n=length(dP);
logQ=log10(Q);
logX=log10(X);
logdP=log10(dP);
A(1,1)=n;
A(1,2)=sum(logQ);
A(1,3)=sum(logX);
A(2,1)=sum(logQ);
A(2,2)=sum(logQ.*logQ);
A(2,3)=sum(logQ.*logX);
A(3,1)=sum(logX);
A(3,2)=sum(logX.*logQ);
A(3,3)=sum(logX.*logX);
B(1,1)=sum(logdP);
B(2,1)=sum(logdP.*logQ);
B(3,1)=sum(logdP.*logX);
Hasil=gaussjordan_by_ihsan([A,B]);
a=10.^Hasil(1);
b=Hasil(2);
c=Hasil(3);
y=[a;b;c];
endfunction
|
Demonstrasi:
-->powerfit_by_ihsan()
masukkan data
Q = Q
masukkan data
X = X
masukkan data
dP = dP
1. 0.9583538 0.3920304 1.921157
8.6251838 8.6152491 3.3813344 16.919177
3.5282738 3.3813344 2.1486113 5.249069
1. 0.9583538 0.3920304 1.921157
0. 0.3492719 4.441D-16 0.3488445
3.5282738 3.3813344 2.1486113 5.249069
1.
0.9583538 0.3920304 1.921157
0.
0.3492719 4.441D-16 0.3488445
0.
0. 0.7654206 - 1.5292989
1.
0.9583538 0.3920304 1.921157
0.
1. 1.271D-15 0.9987765
0.
0. 0.7654206 - 1.5292989
1.
0.9583538 0.3920304 1.921157
0.
1. 1.271D-15 0.9987765
0.
0. 0.7654206 - 1.5292989
1.
0.9583538 0.3920304 1.921157
0.
1. 1.271D-15 0.9987765
0.
0. 1. - 1.9979849
1.
0. 0.3920304 0.9639758
0.
1. 1.271D-15 0.9987765
0.
0. 1. - 1.9979849
1.
0. 0. 1.7472467
0.
1. 1.271D-15 0.9987765
0.
0. 1. - 1.9979849
1.
0. 0. 1.7472467
0.
1. 0. 0.9987765
0.
0. 1. - 1.9979849
ans =
55.878747
0.9987765
- 1.9979849
|
Sehingga,
didapatkan persamaan hasil regresi,
Dimana, adalah jatuh tekanan [mbar], Q adalah laju
aliran volumetrik [liter/menit], dan X adalah ukuran mesh [µm].
Penutup
Kesimpulan
Jatuh tekanan
aliran melalui media berpori untuk rancangan produk filter portable tersebut
direpresentasikan dalam persamaan berikut
Saran
Pada simulasi CFD yang dilakukan, ada sedikit kekeliruan
dalam membuat setting boundary layer axis symmetry. Untuk hasil komputasi yang
lebih akurat, maka sebaiknya diperbaiki setting boundary layer axis symmetry
tersebut agar hasil komputasi memang menunjukkan keseragaman searah tangensial.
Daftar Pustaka
Rietsch. 2010.
An Introduction to Scilab from a Matlab User’s Point of View.
Zimmerman, R.
W. 2002. Flow in Porous Media.
Lampiran
Mini Task
Task
1: Factorial
Script:
function [y]=factorial_by_ihsan()
ulang =
1;
while ulang
== 1
n=input('masukkan nilai
faktorial yang ingin anda hitung -->')
y=1;
for
i=1:n
if
i == 1 then
mprintf('loop ke-%d , %d!',i,
i)
else
mprintf('loop ke-%d , %d!
= %d! x %d',i, i, i-1, i)
end
y=y*i;
mprintf(' = %3.0f\n', y);
end
ulangkah=input('hitung lagi?
(y/n) default:y -->','string');
if
ulangkah ==
'n'
ulang
= 0;
end
end
endfunction
|
Demonstration:
-->exec('C:\Users\IHSAN
AHMAD Z\Documents\Scilab\factorial_by_ihsan.sci', -1)
-->factorial_by_ihsan
masukkan nilai faktorial yang
ingin anda hitung -->7
loop ke-1 , 1! = 1
loop ke-2 , 2! = 1! x 2 = 2
loop ke-3 , 3! = 2! x 3 = 6
loop ke-4 , 4! = 3! x 4 = 24
loop ke-5 , 5! = 4! x 5 = 120
loop ke-6 , 6! = 5! x 6 = 720
loop ke-7 , 7! = 6! x 7 = 5040
hitung lagi? (y/n) default:y
-->n
ans =
5040.
|
Task
2: Distance Measurement
Script:
function Rmin=distance_by_ihsan() clear;
A=zeros(input('masukkan jumlah titik lokasi = '),2);
for m = 1:size(A,1)
A(m,1)=input('masukkan koordinat-x lokasi titik ke-'+string(m)+' = ');
A(m,2)=input('masukkan koordinat-y lokasi titik ke-'+string(m)+' = ');
end
b=input('tentukan titik lokasi terdekat dengan titik ke-');
xmin=min(A(:,1));
ymin=min(A(:,2));
xmax=max(A(:,1));
ymax=max(A(:,2));
axesmin=min([xmin,ymin])-max([xmax-xmin,ymax-ymin])*0.2;
axesmax=max([xmax,ymax])+max([xmax-xmin,ymax-ymin])*0.2;
disp(A);
figure(1);
clf();
plot(A(:,1),A(:,2),'gd');
plot(A(b,1),A(b,2),'rx');
a=gca()
a.parent.figure_size=[400,400];
a.isoview="on"
a.data_bounds=[axesmin,axesmin;axesmax,axesmax];
R=zeros(size(A));
for m=1:b-1
R(m,1)=((A(m,1)-A(b,1))^2+(A(m,2)-A(b,2))^2)^0.5;
end
R(b,1)=[%nan];
for m=b+1:size(A,1)
R(m,1)=((A(m,1)-A(b,1))^2+(A(m,2)-A(b,2))^2)^0.5;
end
Rmin=min(R(:,1));
for m=1:size(R,1)
if R(m,1)==Rmin
titikke=m;
end
end
plot(A(titikke,1),A(titikke,2),'bx');
mprintf('titik terdekat dengan titik ke-%d adalah titik ke-%d\n',b,titikke);
mprintf('dengan besar jarak %4.2f satuan jarak\n',Rmin);
endfunction
|
Demonstration:
-->exec('C:\Users\IHSAN
AHMAD Z\Documents\Scilab\distance_by_ihsan.sci', -1)
-->distance_by_ihsan
masukkan jumlah titik lokasi =
4
masukkan koordinat-x lokasi
titik ke-1 = 1
masukkan koordinat-y lokasi
titik ke-1 = 3
masukkan koordinat-x lokasi
titik ke-2 = 2
masukkan koordinat-y lokasi
titik ke-2 = 2
masukkan koordinat-x lokasi
titik ke-3 = 3
masukkan koordinat-y lokasi
titik ke-3 = 1
masukkan koordinat-x lokasi
titik ke-4 = 3
masukkan koordinat-y lokasi
titik ke-4 = 5
tentukan titik lokasi terdekat
dengan titik ke-2
1.
3.
2.
2.
3.
1.
3.
5.
titik terdekat dengan titik
ke-2 adalah titik ke-3
dengan besar jarak 1.41 satuan
jarak
ans =
1.4142136
|
Task
3: Determinant
Script:
function deter=determinant_by_ihsan(A) if size(A,1) ~= size(A,2)
return;
end
if size(A,1)==2
deter=A(1,1)*A(2,2)-A(1,2)*A(2,1);
else
for p = 1:size(A,2)
for m = 2:size(A,1)
na=0;
for n = 1:size(A,2)
if n ~=p
na=na+1;
B(m-1,na)=A(m,n);
end
end
end
if size(B,1)==2
minorB(p)=B(1,1)*B(2,2)-B(1,2)*B(2,1);
else
minorB(p)=advdeta(B);
end
detB(p)=(-1)^(1+p)*A(1,p)*minorB(p);
end
end
deter=sum(detB);
endfunction
|
Demonstration:
-->A=[1 2 3; 3 4 5; 6 7 9]
A =
1.
2. 3.
3.
4. 5.
6.
7. 9.
-->exec('C:\Users\IHSAN
AHMAD Z\Documents\Scilab\determinant_by_ihsan.sci', -1)
Warning : redefining function:
determinant_by_ihsan . Use
funcprot(0) to avoid this message
-->determinant_by_ihsan(A)
ans =
- 2.
-->det(A)
ans =
- 2.
|
Task
4: Gauss-Jordan
Script:
function y=gaussjordan_by_ihsan(B) for m=1:size(B,1) //row
if B(m,m)==0
for p = 1:size(B,1)
if B(p,m)~=0
temp=B(m,:);
B(m,:)=B(p,:);
B(p,:)=temp;
disp(B);
break;
end
end
end
B(m,:)=B(m,:)./B(m,m);
disp(B);
for ma=m+1:size(B,1)
B(ma,:)=B(ma,:)-(B(ma,m)./B(m,m)).*B(m,:);
disp(B);
end
end
for m=1:size(B,1) //row
for n=m+1:size(B,1)
B(m,:)=B(m,:)-(B(m,n)./B(n,n)).*B(n,:);
disp(B);
end
end
y=B(:,size(B,2));
endfunction
|
Demonstration:
-->A
A =
1.
2. 3.
3.
4. 5.
6.
7. 9.
-->Y
Y =
1.
3.
4.
-->B=[A,Y]
B =
1.
2. 3. 1.
3.
4. 5. 3.
6.
7. 9. 4.
-->exec('C:\Users\IHSAN
AHMAD Z\Documents\Scilab\gaussjordan_by_ihsan.sci', -1)
Warning : redefining function:
gaussjordan_by_ihsan . Use
funcprot(0) to avoid this message
-->gaussjordan_by_ihsan(B)
1.
2. 3. 1.
3.
4. 5. 3.
6.
7. 9. 4.
1.
2. 3. 1.
0.
- 2. - 4. 0.
6.
7. 9. 4.
1.
2. 3. 1.
0.
- 2. - 4. 0.
0.
- 5. - 9. - 2.
1.
2. 3. 1.
0.
1. 2. 0.
0.
- 5. - 9. - 2.
1.
2. 3. 1.
0.
1. 2. 0.
0.
0. 1. - 2.
1.
2. 3. 1.
0.
1. 2. 0.
0.
0. 1. - 2.
1.
0. - 1. 1.
0.
1. 2. 0.
0.
0. 1. - 2.
1.
0. 0. - 1.
0.
1. 2. 0.
0.
0. 1. - 2.
1. 0.
0. - 1.
0.
1. 0. 4.
0. 0. 1.
- 2.
ans =
1.
0. 0. - 1.
0.
1. 0. 4.
0.
0. 1. - 2.
-->inv(A)*Y
ans =
- 1.
4.
- 2.
|
Task
5: Linear Equations System
Script:
function y=lin_equa_sys_by_ihsan() a=input('jumlah variabel bebas = ')
tampil='';
for p = 1:a
if p==a then
tampil=tampil+' a'+string(p)+'.x'+string(p);
break;
end
tampil=tampil+' a'+string(p)+'.x'+string(p)+' +';
end
tampil=tampil+ ' = y';
mprintf(tampil+'\n');
for m = 1:a //row
mprintf('persamaan ke-%d', m)
for n = 1:a //column
A(m,n)=input('masukkan nilai koefisien a'+string(n)+' = ');
end
A(m,a+1)=input('masukkan nilai y = ')
end
mprintf('\n');
for m=1:a
tampila='';
for n = 1:a
if n==a then
tampila=tampila+string(A(m,n))+'.x'+string(n);
break;
end
tampila=tampila+string(A(m,n))+'.x'+string(n)+' +';
end
tampila=tampila+ ' = '+string(A(m,a+1));
mprintf(tampila+'\n');
end
y=gaussjordan_by_ihsan(A);
endfunction
|
Demonstration:
-->exec('C:\Users\IHSAN
AHMAD Z\Documents\Scilab\gaussjordan_by_ihsan.sci', -1)
Warning : redefining function:
gaussjordan_by_ihsan . Use
funcprot(0) to avoid this message
-->exec('C:\Users\IHSAN
AHMAD Z\Documents\Scilab\lin_equa_sys_by_ihsan.sci', -1)
Warning : redefining function:
lin_equa_sys_by_ihsan . Use
funcprot(0) to avoid this message
-->lin_equa_sys_by_ihsan
jumlah variabel bebas = 2
a1.x1 + a2.x2 = y
persamaan ke-1
masukkan nilai koefisien a1 =
1
masukkan nilai koefisien a2 =
2
masukkan nilai y = 3
persamaan ke-2
masukkan nilai koefisien a1 =
3
masukkan nilai koefisien a2 =
4
masukkan nilai y = 5
1.x1 +2.x2 = 3
3.x1 +4.x2 = 5
1.
2. 3.
3.
4. 5.
1.
2. 3.
0.
- 2. - 4.
1.
2. 3.
0.
1. 2.
1.
0. - 1.
0.
1. 2.
ans =
- 1.
2.
|
JOIN NOW !!!
Dan Dapatkan Bonus yang menggiurkan dari dewalotto.club
Dengan Modal 20.000 anda dapat bermain banyak Games 1 ID
BURUAN DAFTAR!
dewa-lotto.name
dewa-lotto.cc
dewa-lotto.vip