DAFTAR PUSTAKA [1]
Gunawan, Bangbang. Aplikasi Logika Fuzzi Ddalam Mengatur Aliran Nutrisi
Pada Sistem Hidroponik NFT; Institut Teknologi Bandung, Bandung, 2005. [2]
Wibisono, Sandy. NFT Hydroponic Nutrition Teleoperation System Using
Netburner Networking Development Kit (NNDK) And Microcontroller; Institut Teknologi Bandung, Bandung, 2007. [3]
Amelia, Sari. Kontrol Nutrisi untuk Hidroponik NFT Tumbuhan Tomat
Dengan Metoda Fuzzy Logic Kontrol; Seminar Instrumentasi Berbasis Fisika, Institut Teknologi Bandung, Bandung, 2006. [4]
Lingga, Pinus. Hidroponik, Bercocok Tanam Tanpa Tanah; Penebar Swadaya, Jakarta, 2005
[5]
Hochmuth, George & Hochmuth, Robert, Nutrient Solution Formulation for
Hydropocic (Perlite, Rockwool, NFT) Tomatoes in Florida; University of Florida, Institut of Food and Agricultural Sciences. Florida, 2001. [6]
Hochmuth, George. Fertilizer Management for Greenhouse Vegetables –
Florida Greenhouse Vegetable Production Handbook, Vol 3; University of Florida, Institut of Food and Agricultural Sciences. Florida, 2001. [7]
Hengky. Aplikasi Logika fuzzi dalam Pengontrolan Suhu Berdasarkan pada
Aliran Udara Panas; Institut Teknologi Bandung, Bandung, 2004. [8]
McNeill, F.M & Thro, E. Logika fuzzi; AP Professional, Boston,1994
[9]
Matlab “The Language of Technical Computing” Version 7.0.0.19920. Logika fuzzi Toolbox Tutorial, The MathWorks, Inc. Software License Booklet, 2004.
[10]
Passino, Yurkovich. Fuzzi Control; Addison Wesley, California, 1998
[11]
Hust, Jerome. Update of thermal conductivity and electrical resistivity of
electrolytic iron, tungsten, and stainless steel. Gaithersburg: US Dept of Commerce, 1984: 4.1.
61
R RIWAYAT T HIDUP
Penulis dilahirkan d dii kota Banduung, pada hari Kamis, 1 Agustus 19985 dengan berat 3.8 Kg. K Pada um mur 2 tahunn penulis piindah ke koota Palembanng
dan
m menghabiska an
10
tahhun
berikutnyya di kota pempek terrsebut denggan sekolah di SD Perssit Kartika III.2 Chanddra Penulis dengn budidaya tomatnya t
U 12 taahun penuliis kembali ke Kirana. Umur kota Banndung dimaana melanjuutkan studi di
S SLTP Negerri 35 (1997--2000) dan SMU S Negerri 1 (2000-2003). Tahunn 2003 penuulis m melanjutkan n kuliah di Departemen D n Fisika ITB B. Selang 2 tahun berikkutnya penuulis b bergabung bersama b Laaboratorium Fisika Insttrumentasi dengan konnsentrasi paada b bidang otom matik kontroll untuk kasuss fluida. P Pada masa kecilnya, peenulis adalaah individu yang sangatt nakal, benngal, dan suulit d diatur. Berk kelahi dan berantam b hinngga babak belur menjjadi makanaan sehari-haari. P Pada masa SMU penuliis yang mem miliki inisial Asep Marrley pernah tergabung t d dan m menjadi pan nglima peraang divisi djuanda d 93 dalam gengg bermotor MoonЯakeeR. P Penulis jugaa beberapa kali bermaasalah dengaan kepolisiaan hingga berujung b paada p penahanan selama s beberrapa malam maupun haari. Penulis yang y sangat lantang dalaam m melanggar peraturan p dibbuktikan deengan hanyaa dua kali mengikuti m uppacara bendeera s selama SMU Unya dan deengan vokall menyatakaan banyak ketidaksukaa k annya terhaddap d doktrinasi kurikulum k yaang sekolah berikan. Keebanggaannyya adalah saaat lulus SM MU d dengan men ndapatkan niilai PPKn seebesar 5 dann mendengarrkan ocehan pihak sekollah y yang marah mendengarkkan dan meliihat sikap arrogan, dan keeras kepala penulis. p P Pada masa kuliah, k penuulis telah malang melinntang dalam mencicipi merah m birunnya p pengalaman dalam bidaang akadem mik dan kem mahasiswaan. Tiga tahunn penulis akktif
62
sebagai assisten di berbagai laboratorium di ITB baik sebagai peneliti, pengajar, maupun, pengganti dosen. Pengalaman akademik juga dihiasi dengan prestasi meyakinkan menyelesaikan 164 SKS (lebih banyak 20 SKS dari batas normal kredit kelulusan) dengan IPK sangat memuaskan (3.43) dan beberapa kali mendapatkan penghargaan The Dean’s List for Academic Performance. Selain itu penulis juga aktif mengikuti berbagai seminar dan konferensi nasional maupun internasional. Publikasi ilmiah yang pernah dihasilkan adalah mengenai Fiber Optics yang dipresentasikan di ITS pada tahun 2005. Kegiantan akademik penulis yang sangat padat juga penulis imbangi dengan kegiatan kemahasiswaan dengan menjadi presiden maupun
chairaman di beberapa organisasi dan acara kampus. Penulis juga aktif dalam kegiatan luar kampus yang salah satunya berhasil menjadi The Best 50th of The
Scholar Indonesia 2008. Dalam pengalaman kerja penulis menghabiskan pengalaman dua bulan pada tengah tahun 2006 di PT Pertamina UP VI Balongan, Indonesia. Penulis sangat tertarik dalam bidang sains & teknologi, bisnis, budaya dan peradaban, olahraga, juga pecinta musik klasik karya Bach, Mozart, Vivaldi dan lain sebagainya. Di waktu luang penulis selalu menyempatkan untuk menyalurkan hobbinya dalam bermain biola, tinju, fitness, jogging, travelling, maupun hanya sekedar baca buku. Penulis yang fasih lima bahasa ini adalah entrepreneur sejati. Saat ini penulis sukses mendirikan perusahaan dalam bidang Indonesian Traditional Handicraft yang diberi nama Eternal. Visi entrepreneur-nya adalah membangun banyak imperium bisnis besar berskala internasional yang berkontribusi bagi kesejahtraan bangsa, negara, dan dunia.
Contact Person: Alamats: Tubagus Ismail Dalam 28, Bandung, West Java, Indonesia.
E-Mail:
[email protected],
[email protected] Situs Pribadi: http://www.eternal.co.id/yusuf
Phone: (+62)22 2504670, Cell Phone: (+62)81 320 227935, (+62)22 915 17881
63
LAMPIRAN 1 ALGORTIMA PENGONTROLAN LOGIKA FUZZI
Gambar Lampiran (G.L) 1.1 Algoritma Logika fuzzi
64
Algoritma pengontrolan fuzzi yang digambarkan pada gambar lampiran 1 diatas merupakan penjabaran lebih mendetil dari Diagram Aliran Data level 1 proses 2 (logika fuzzi) di halaman 39. Pada algoritma ini kasus model logika fuzzi yang diambil adalah model variabel input besar volume dengan output besar bukaan (gambar fuzzi terlihat pada halaman 48).
Bagian awal menjelaskan bahwa proses pertama dari evaluasi fuzzi adalah fuzzifikasi dimana semua nilai domain nilai besaran volume dijadikan acuan untuk dianalisa secara inferensi mamadani. Proses analisa yang menghasilkan nilai-nilai di setiap titik himpunannya akan dipetakan sesuai dengan aturan yang telah dibuat sebelumnya. Hasil pemetaan dari berbagai aturan menghasilkan nilai output. Nilai output yang berkisar pada angka 0-1 tersebut kemudian ditarik nilai pastinya.
65
LAMPIRAN 2 KALIBRASI KECEPATAN ALIRAN (KASUS: TABUNG 2) Tujuan pengujian ini adalah untuk menghitung kecepatan aliran dari turunnya larutan pada tabung yang diamati Pengujian untuk tabung 2 dilakukan dengan pemberian input 25 step (gerakan motor steper), 35 Step, 45 Step, 55 Step, dan 65 Step.
Grafik Kecepatan Aliran Larutan Tabung 2 800 700
Volume (ml)
600
25 Step
500
35 Step
400
45 Step
300
55 Step 65 Step
200 100 0 0
10
20
30
40
Waktu (detik)
G.L 2.1 Grafik Kecepatan Aliran Larutan Tabung 2
Pengukuran pertama dilakukan untuk gerakan 25 step dengan memberikan 500 ml larutan pada tabung. Nilai linearitas dari percobaan ini adalah y=-13,18x + 492,63 dengan nilai R2 adalah 0,9989. Kecepatan aliran larutan adalah 13,179638 ml/s, dengan Standard Deviasi Rata-Rata adalah 0,747420. Pengukuran kedua adalah gerakan 35 step yang dilakukan dengan memberikan 500 ml larutan pada tabung. Nilai linearitas dari percobaan ini adalah y=-19,659x +
66
502,71 dengan nilai R2 adalah 0,9994. Kecepatan aliran larutan adalah 19,658928 ml/s, dengan Standard Deviasi Rata-Rata adalah 0,894519. Pengukuran ketiga untuk gerakan 45 step, dilakukan dengan memberikan 750 ml larutan pada tabung. Nilai linearitas dari pengukuran ini adalah y= -24,314x + 757,08 dengan nilai R2 adalah 0,9995. Kecepatan aliran larutan adalah 24,31411531 ml/s, dengan Standard Deviasi Rata-Rata adalah 0,746195. Pengukuran keempat adalah gerakan 55 step dilakukan dengan memberikan 750 ml larutan pada tabung. Nilai linearitas dari pengukuran ini adalah y= -27,164x + 770,1 dengan nilai R2 adalah 0,9983. Kecepatan aliran larutan adalah 27,164385 ml/s, dengan Standard Deviasi Rata-Rata adalah 0,595097. Dan, pengukuran terakhir dilakukan untuk gerakan 65 step dengan memberikan 750 ml larutan pada tabung. Nilai linearitas dari pengukuran ini adalah y=-28,742x + 757.33 dengan nilai R2 adalah 0,9977. Kecepatan aliran larutan adalah 28,74215 ml/s, dengan Standard Deviasi Rata-Rata adalah 0,543188.
67
LAMPIRAN 3 DATA PENGARUH JUMLAH STEP TABUNG TERHADAP KECEPATAN ALIRAN DAN STANDAR DEVIASINYA
Tabung 2
Tabung 4
Tabung 5
Jumlah Kec Aliran Jumlah Kec Aliran Jumlah Kec Aliran S-Deviasi S-Deviasi S-Deviasi Step (ml/s) Step (ml/s) Step (ml/s) 25 35 45 55 65
13.179638 19.65893 24.31412 27.16439 28.74215
0.74742 0.894519 0.746195 0.595097 0.543188
15 20 25 30 35
16.49022 21.56751 27.56232 28.38531 41.84503
0.64699 0.50559 0.873568 0.573863 0.861388
25 35 45 55 65
0.942497 1.038036 8.17487 1.323941 13.70286 0.837019 27.56232 1.1411571 0.78632 33.8461
Tabel Lampiran (T.L) 3.1 Data Pengaruh Jumlah Step Tabung Terhadap Kecepatan Aliran dan Standar Deviasinya
Karakteristik dari tiga tabung yang digunakan, yaitu tabung dua, empat dan lima memberikan output kecepatan aliran yang berbeda untuk setiap stepnya. Hal tersebut antara lain dikarenakan oleh dimensi tabung maupun valve yang antara satu dan lainnya berbeda, dan kekuatan dari masing-masing motor stepper yang berbeda pula dalam menggerakan setiap langkah putarannya. Tabung dua merupakan tabung yang dalam keadaan idle tetap mengeluarkan alirannya. Hal ini dikarenakan tidak menutupnya valve meskupun dalam keadaan step 0. Kondisi yang demikianlah yang menyebabkan standard deviasi pada jumlah step kurang dari 45 cukup besar. Sebaliknya pada tabung lima terjadi penurunan larutan yang tidak terlalu drastis meskipun jumlah putaran step telah mencapai angka 45 step. Bahkan pada step 25, kecepatan aliran masih dalam rentang 1 ml/detik. Dari ketiga tabung yang digunakan, hanya tabung empat yang pada pengalirannya stabil. Pada jumlah step 35, valve telah dapat membuka sebesar 100%, sehingga didapatkan kecepatan aliran maksimum. Dibandingkan dengan tabung lainnya, pada tabung empat didapatkan nilai standard deviasi yang kecil
68
LAMPIRAN 4 KALIBRASI JUMLAH STEP FUZZI TERHADAP KECEPATAN ALIRAN TABUNG Pada lampiran dua telah diuraikan bahwa terdapat perbedaan pengaruh bukaan stepper terhadap kecepatan aliran dari masing-masing tabung. Maka dari itulah perlu adanya suatu fungsi yang dapat memetakan nilai dari jumlah step fuzzi yang dikeluarkan oleh pengontrol fuzzi terahadap jumlah step fuzzi yang dikeluarkan oleh motor stepper.
Kec Aliran Tabung (ml/detik)
Kalibrasi Bukaan Step Fuzzy Terhadap Kecepatan Aliran Tabung
45 40 35 30 25 20 15 10 5 0 0
20
40
60
80
100
120
140
Step Fuzzy
G.L 4.1 Kalibrasi Bukaan Step Fuzzi Terhadap Kecepatan Aliran Tabung
\
Tabel dihalaman berikutnya memperlihatkan data untuk step fuzzi terhadap kecepatan aliran dan step sistem motor stepper. Terlihat bahwa terdapat nilai yang sama dari step fuzzi untuk nilai yang berbeda atuapun sebaliknya untuk step sistem motor stepper. Hal ini dikarenkana, baik pada step fuzzi maupun step sistem terjadi pembulatan angka (rounding). Kondisi inilah yang menyebabkan ketidakpresian dan ketidakakuratan dalam perhitungan dan evaluasi fuzzi ketika dipenerapankan pada sistem hardware.
69
Tabung 2 Tabung 4 Tabung 5 Step FuzziKec AliranStep Sistem Step FuzziKec AliranStep Sistem Step Fuzzi Kec Aliran Step Sistem 0 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72 75 78 81 84 87 90 93 96 99 102 105 108 111 114 117 120
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
0 2 5 7 9 12 14 17 19 22 24 26 29 31 34 36 39 41 44 46 48 51 53 56 58 61 63 65 68 70
0 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72 75 78 81 84 87 90 93 96 99 102 105 108 111 114 117 120
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
3 4 5 6 7 7 8 9 10 11 11 12 13 14 15 15 16 17 18 18 19 20 21 22 22 23 24 25 26 26 27 28 29 30 30 31 32 33 34 34 35
0 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72 75 78 81 84 87 90 93 96 99 102 105 108 111 114 117 120
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
26 27 28 29 30 31 33 34 35 36 37 38 39 41 42 43 44 45 46 47 49 50 51 52 53 54 56 57 58 59 60 61 62 64 65 66 67 68 69 70 72
T.L 4.1 Data Step Fuzzi, Kecepatan Aliran, dan Step Sistem Motor Stepper
70
LAMPIRAN 5 PROGRAM PADA ANTARMUKA MIKROPROCESSOR #include
#include <stdio.h> sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit sbit
P1_0 P1_1 P2_0 P2_1 P2_2 P2_3 P2_4 P2_5 P2_6 P2_7 fan
= = = = = = = = = = =
P1^0; P1^1; P2^0; P2^1; P2^2; P2^3; P2^4; P2^5; P2^6; P2^7; P0^1;
void void void char void void void void void void void
init_serial(); kirimchar(char datanya); kirimteks(char *teks); terimachar(); latch(int no); gerak(int m); mili_sec (int n); sec (int m); bukaan_stepper(unsigned char x); bukaan_stepper2(unsigned char x); baca_adc ();
// Start - Main Function void main() { int j, n; // Menyimpan input data dari komputer /* inputDariKomputer[0] berisi data stepper inputDariKomputer[1] berisi data stepper inputDariKomputer[2] berisi data stepper inputDariKomputer[3] berisi data stepper */ unsigned char inputDariKomputer[4];
katup terakhir tabung 2 tabung 4 tabung 5
71
*/ unsigned char inputDariKomputer[4]; unsigned char inputStepperFuzzy; P3 = 0; fan = 1; INT1 = 1; RXD = TXD = 1; init_serial(); // infinite iteration while (1 == 1) { // Menerima data input dari komputer for(int iterasi = 0; iterasi < 4; iterasi++) { inputDariKomputer[iterasi] = terimachar(); } // Mengirim kembali data yang diterima ke komputer for(int iterasi = 0; iterasi < 4; iterasi++) { kirimchar(inputDariKomputer[iterasi]); } // ---------------// Kontrol tabung 2 // ---------------inputStepperFuzzy = inputDariKomputer[1]; while (inputStepperFuzzy != 0) { // latch tabung 2 latch(1); // lama stepper digerakkan bukaan_stepper(inputStepperFuzzy); // delay mili_sec(100); // cek parameter baca_adc(); // delay mili_sec(500);
72
inputStepperFuzzy = terimachar(); } // ---------------// Kontrol tabung 4 // ---------------inputStepperFuzzy = inputDariKomputer[2]; while (inputStepperFuzzy != 0) { // latch tabung 4 latch(3); // lama stepper digerakkan bukaan_stepper2(inputStepperFuzzy); // delay mili_sec(100); // cek parameter baca_adc(); // delay mili_sec(500); inputStepperFuzzy = terimachar(); } // ---------------// Kontrol tabung 5 // ---------------inputStepperFuzzy = inputDariKomputer[3]; while (inputStepperFuzzy != 0) { // latch tabung 5 latch(4); // lama stepper digerakkan bukaan_stepper(inputStepperFuzzy); // delay mili_sec(100); // delay mili_sec(500); inputStepperFuzzy = terimachar(); }
73
fan = 0; sec(25); fan = 1; latch(5); //aktif motor stepper no 9 bukaan_stepper(inputDariKomputer[0]); //alirakan larutan ke growing bed } } // End - Main Function void init_serial() { TMOD = 0x20; PCON = 128; SCON = 0x50; TH1 = 0xFA; // TL1 = 0xFA; TR1 = 1; } //--------------//Kirim Char //--------------void kirimchar(char datanya) { SBUF = datanya; while(!TI) { ; } TI = 0; } //--------------//Kirim Teks //--------------void kirimteks(char *teks) { char i = 0; while(teks[i] != 0) { kirimchar(teks[i]); i++; } }
74
//--------------//Terima Char //--------------char terimachar() { unsigned char t; while(RI == 0) { ; } RI = 0; t = SBUF; return(t); } //---------//End //---------void latch(int no) { P2 = 0; P1 = 0; switch(no) { case 0 case 1 case 2 case 3 case 4 case 5 case 6 case 7 case 8 case 9
: P2_0 = 1; // cairan break; : P2_1 = 1; // cairan break; : P2_2 = 1; // cairan break; : P2_3 = 1; // cairan break; : P2_4 = 1; // cairan break; : P2_5 = 1; // cairan break; : P2_6 = 1; // cairan break; : P2_7 = 1; // cairan break; : P1_0 = 1; // cairan break; : P1_1 = 1; // cairan 10 break;
1 2 3 4 5 6 7 8 9
} }
75
//------------//End //------------//-------------//Gerak Stepper //-------------// arah = 1 ----> buka // arah = 0 ----> tutup void gerak(int m) { int i; unsigned char datanya[4] = {32, 16, 8, 4}; unsigned char datanya2[4] = {4, 8, 16, 32}; if (m == 1) { for(i = 0; i <= 3; i++) { P0 = datanya[i]; mili_sec(3); } } if (m == 0) { for(i = 0; i <= 3; i++) { P0 = datanya2[i]; mili_sec(3); } } if(m == 3) { for(i=0;i<=3;i++) { P0 = datanya[i]; mili_sec(10); } } if(m == 4) { for(i=0;i<=3;i++) {
76
P0 = datanya2[i]; mili_sec(10); } } } //------------------//Delay //-------------------
void mili_sec (int n) { int i, j; n x 1 ms
// delay
for(i = 1; i <= n; i++) { for(j = 1; j <= 1000; j++) { ; } } } void sec (int m) { int i, j, k; for(i = 1; i <= m; i++) { for(j = 1; j <= 1000; j++) { for(k = 1; k <= 1000; k++) { ; } } } } //----------------//Bukaan Stepper //----------------void bukaan_stepper(unsigned char x) { i i
77
int i; unsigned char x2, m; x2 = x; m = 5; for(i = 1; i <= x2; i++) { gerak(1); mili_sec(10); } //sec(25);// 25%bukaan sec(m); //50%bukaan for(i = 1; i <= x2; i++) { gerak(0); mili_sec(10); } } void bukaan_stepper2(unsigned char x) { int i; unsigned char x2, m; x2 = x; m = 5; for(i = 1; i <= x2; i++) { gerak(3); mili_sec(10); } //sec(25);// 25%bukaan sec(m); //50%bukaan for(i = 1; i <= x2; i++) { gerak(4); mili_sec(10); } } //-------//baca adc //--------
78
void baca_adc() { int i, n, z, k; unsigned int a, c; unsigned char b; INT1 = 0; c = 0; for (n = 0; n <= 78; n++) { a = 0; for (i = 0; i <= 255; i++) { WR = 1; WR = 0; while(INT0 == 1) { z = 1; } while(INT0 == 0) { k = 2; } RD = 1; b = P1; RD = 0; a = a + b; } a = a / 256; c = c + a; } c = c / 79; INT1 = 1; kirimchar(c); b = terimachar(); while(c != b) { kirimchar(c); b = terimachar(); }
79
LAMPIRAN 6 PROGRAM PADA ANTARMUKA MATLAB clear; clc; s = serial('COM1'); set(s,'BaudRate',9600); fopen(s); x=[90 30 30 30]; for n=1:1:4 fwrite(s,x(1,n)); end A = fread(s,4) tabung2(1,1) = 50; tabung2(2,1) = 30; x = 1; y = 2; while x ~= 0 pause(10); z(2) = GetSerialData('COM1',9600,1); fwrite(s,z(2)); z(3) = GetSerialData('COM1',9600,1); while z(2)~= z(3) fwrite(s,z(3)); z(3) = GetSerialData('COM1',9600,1); end z(2)=z(3); z(2)=(1/11)*z(2); z(2)=1008.7313*(z(2))-540.98528 if z(2)>=480 && z(2)<=520 x=0; else x=readfis('Marchiella8'); x=evalfis(z(2),x); x=round(x); end
80
fwrite(s,x); tabung2(1,y) = z(2); tabung2(2,y) = x; y = y + 1; volumeSebelum=z(2); end plot(y,z(2)) tabung4(1,1) = 50; tabung4(2,1) = 30; x2 = 1; y2 = 2; while x2 ~= 0 pause(10); z(3) = GetSerialData('COM1',9600,1); fwrite(s,z(3)); z(4) = GetSerialData('COM1',9600,1); while z(3)~= z(4) fwrite(s,z(4)); z(4) = GetSerialData('COM1',9600,1); end z(3)=z(4); z(3)=(1/11)*z(3); z(3)=1008.7313*(z(3))-540.98528 volumeSebelum1=z(3); z(3)=z(3)-volumeSebelum; if z(3)>=480 && z(3)<=520 x2=0; else x2=readfis('Marchiella8'); x2=evalfis(z(3),x2); x2=round(x2); end fwrite(s,x2); tabung4(1,y2) = z(3); tabung4(2,y2) = x2; y2 = y2 + 1; end plot(y2,z(3)) tabung5(1,1) = 50;
81
tabung5(2,1) = 30; x3 = 1; y3 = 2; while x3 ~= 0 pause(10); z(4) = GetSerialData('COM1',9600,1); fwrite(s,z(4)); z(4) = GetSerialData('COM1',9600,1); while z(4)~= z(5) fwrite(s,z(5)); z(4) = GetSerialData('COM1',9600,1); end z(4)=z(5); z(4)=(1/11)*z(4); z(4)=1008.7313*(z(4))-540.98528 z(4)=z(4)-volumeSebelum1; if z(4)>=480 && z(4)<=520 x3=0; else x3=readfis('Marchiella8'); x3=evalfis(z(2),x); x3=round(x); end fwrite(s,x3); tabung5(1,y3) = z(4); tabung5(2,y3) = x3; y3 = y3 + 1; end plot(y3,z(4)) fclose(s) delete(s) clear s
82