Halaman

Rabu, 19 Oktober 2011

Fuzzy Logika (Menghitung Rumus AC)

Menghitung Rumus AC menggunakan NetBeans

Masukan Coding sebagai berikut untuk memasukan rumus suhu.
 1 
 2 package fuzzylogica;
 3 
 4 /**
 5  *
 6  * @author blue
 7  */
 8 public class rumus_suhu {
 9 
10     double data_suhu;
11     double tegangan_rendah = 0;
12     double tegangan_sedang = 33;
13     double tegangan_agaktinggi = 67;
14     double tegangan_tinggi = 100;
15 
16          int suhuA =0;
17         int suhuB =0;
18         int suhuC =0;
19         int suhuD =0;
20         int suhuE =0;
21 
22     public rumus_suhu(double input_suhu,int batasA,
int batasB,int batasC,int batasD,int batasE){
23 
24     data_suhu=input_suhu;
25     suhuA=batasA;
26     suhuB=batasB;
27     suhuC=batasC;
28     suhuD=batasD;
29     suhuE=batasE;
30     }
31 
32     rumus_suhu(String nilai_suhu) {
33         throw new UnsupportedOperationException
("Not yet implemented");
34     }
35 
36     
37      
38     public  double dingin(){
39             if((data_suhu>=suhuA)&&(data_suhu<=suhuB)){
40                 return (1);
41             }
42             else if((data_suhu>suhuB)&&(data_suhu<=suhuC)){
43                 return (data_suhu - suhuC ) / -4.0;
44             }
45             else{
46                 return 0;
47             }
48         }
49 
50         public double sedang(){
51             if((data_suhu>suhuC)&&(data_suhu<suhuD)){
52                 return (data_suhu - suhuD) / -5.0 ;
53             }
54             else if((data_suhu>suhuB)&&(data_suhu<=suhuC)){
55                 return (data_suhu - suhuB) / 4.0;
56             }
57             else{
58                 return 0;
59             }
60         }
61 
62         public double hangat(){
63             if((data_suhu>suhuC && data_suhu<=suhuD)){
64               return (data_suhu - suhuC) / 5.0;
65                      
66             }
67             else if((data_suhu>suhuD && data_suhu<suhuE)){
68           return (data_suhu - suhuE) / (suhuD - suhuE);
69                       }
70             else{
71                 return 0;
72             }
73 
74         }
75 
76      public double panas(){
77             if((data_suhu>suhuD)&&(data_suhu<=suhuE)){
78                 return (data_suhu - suhuD) / 5.0;
79             }
80             else if((data_suhu>suhuE)){
81                 return (1);
82             }
83             else{
84                 return 0;
85             }
86         }
87 public double COG (){
88     return dingin()*tegangan_tinggi+sedang()
*tegangan_agaktinggi+hangat()*tegangan_sedang
 
89 +panas()*tegangan_rendah/(dingin()+sedang()+hangat()+panas());
90 
91 }
92 
93 }
Masukan Coding untuk menjalankan rumus yang telah dibuat sebelumnya dab ini beda kelas dari yang atas tadi.
 
 1 
 2 package fuzzylogica;
 3 
 4 import java.io.BufferedReader;
 5 import java.io.IOException;
 6 import java.io.InputStreamReader;
 7 
 8 
 9 public class FuzzyLogicEkse {
10 
11     public static void main(String args[]){
12 BufferedReader dataIn = new BufferedReader 
(new InputStreamReader(System.in));
13         double nilai_suhu =0;
14         int suhuA =0;
15         int suhuB =0;
16         int suhuC =0;
17         int suhuD =0;
18         int suhuE =0;
19 
20         try {
21         System.out.println("Masukan Nilai Suhu  : ");
22         nilai_suhu = Double.valueOf(dataIn.readLine()) ;
23 
24     System.out.println("Masukan Batas A : ");
25     suhuA = Integer.valueOf(dataIn.readLine());
26 
27     System.out.println("Masukan Batas B : ");
28     suhuB = Integer.valueOf(dataIn.readLine());
29     
30     System.out.println("Masukan Batas C : ");
31     suhuC = Integer.valueOf(dataIn.readLine());
32     
33     System.out.println("Masukan Batas D : ");
34     suhuD = Integer.valueOf(dataIn.readLine());
35     
36     System.out.println("Masukan Batas E : ");
37     suhuE = Integer.valueOf(dataIn.readLine());
38     
39     rumus_suhu suhu = new rumus_suhu
(nilai_suhu,suhuA,suhuB,suhuC,suhuD,suhuE);
40 
41 
42      
43      System.out.println ("***********************");
44      System.out.println("Hasil Besaran Fuzzy");
45      System.out.println ("***********************");
46      System.out.println("Suhu:" +nilai_suhu + " C");
47      System.out.println("Dingin: " + suhu.dingin());
48      System.out.println("Sedang: " + suhu.sedang());
49      System.out.println("Hangat: " + suhu.hangat());
50      System.out.println("Panas: " + suhu.panas());
51      System.out.println("COG: " + suhu.COG()+ " Volt");
52 
53         }catch (IOException a){
54                 System.out.println("Error!");
55 
56 
57     }
58 
59 }
60 }
Hasil Outputnya sebagai berikut.
 Sekian. Selamat Mencoba... Hidup Adalah Perjuangan...!!!

Tidak ada komentar:

Posting Komentar