Sabtu, 19 Januari 2019

FC 2

package com.example.siswanto.splashscreenawal;
//nox_adb.exe connect 127.0.0.1:62001
import java.util.Timer;
import java.util.TimerTask;

import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.os.Handler.Callback;
import java.util.Calendar;

import android.media.MediaPlayer;
import android.app.Activity;
import android.app.AlertDialog;

import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.TextView;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;

public class Diagnosa extends Activity {
    int ER=0;
    String masterPola="";
    String sudah="";
    String sudahNo="";
    String dataIndex="";
    String pilYes="";
    String pilYes2="";

    int ike=0;
    int index=0;
    int indexke=0;
    int jp=9;
    int jg=23;

    int[]jumG;
    double[]arBobot;

    String[]arPenyakit;
    String[]arSolusi;
    String[]arPenyebab;
    int[]arGB;
    String[]arRelasi;
    String[]arGejala;
    String[]arInit;

    String pola="";
    RadioButton radA, radB;
    // String sNama = "", sUsia = "", sJk = "";
    int ke = 0,jumsoal=0;
    int jd = 10;


    ImageView imgGambar;
    TextView txtTanya, txtTanyake;

    int gb=R.drawable.tipsbnr;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.soal_layout);


        txtTanya = (TextView) findViewById(R.id.txtTanya);
        txtTanyake = (TextView) findViewById(R.id.txtTanyaKe);
        imgGambar = (ImageView) findViewById(R.id.myGambar);

        radA = (RadioButton) findViewById(R.id.radA);
        radA.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                pilYes=pilYes+dataIndex;
                pilYes2=pilYes2+arGejala[ike]+"#";

                ke = ke + 1;
                indexke=indexke+1;
                if (indexke >= jumsoal) {
                    if(ER>0){
                        none();
                    }
                    else{
                        selesai();
                    }
                } else {
                    lihat();
                }
            }
        });

        radB = (RadioButton) findViewById(R.id.radB);
        radB.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                sudahNo=sudahNo+dataIndex;
                ke = ke + 1;
                index=index+1;//pindah Pohon
                indexke=0;
                if (index >= jp) {
                    none();
                } else {
                    String polanext=arRelasi[index];
                    masterPola=polanext;
                    int p1=sudah.length();
                    int p2=polanext.length();
                    int p3=sudahNo.length();

                    ER=0;
                    char[]ars=sudahNo.toCharArray();
                    for(int m=0;m<p3;m++){
                        String ch=String.valueOf(ars[m]);
                        if(masterPola.indexOf(ch)>=0){
                            ER=ER+1;
                        }
                    }


                    if (ER >0) {
                        index=index+1;//terus ke pohon berikutnyaaa
                        indexke=0;
                        if (index >= jp) {
                            //none();
                        }
                        else{
                            polanext=arRelasi[index];
                            masterPola=polanext;
                        }
                    }



                    if (index >= jp) {
                        none();
                    }
                    else{
                        char[]arn=sudah.toCharArray();
                        for(int m=0;m<p1;m++){
                            String ch=String.valueOf(arn[m]);
                            if(polanext.indexOf(ch)>=0){
                                polanext=polanext.replaceAll(ch, "");
                            }

                            pola=polanext;
                            lihat();
                        }//else
                    }
                }
            }
        });
        loaddata();


        pola=arRelasi[index];
        masterPola=pola;
        lihat();

    }


    void loaddata(){
        jp=10;
        jg=26;
        arPenyakit=new String[jp];
        arPenyebab=new String[jp];
        arSolusi=new String[jp];
        arRelasi=new String[jp];


        arGejala=new String[jg];
        arGB=new int[jg];
        arGejala[0]="Gejala serangan pada tanaman yang terserang, kuncupnya mengeluarkan bau busuk";
        arGejala[1]="Gejala serangan daun berwarna kecoklatan";
        arGejala[2]="Gejala serangan memperlihatkan batang pada ketinggian sekitar 2 m di atas tanah membusuk dan berwarna coklat keabuan";
        arGejala[3]="Gejala serangan pada daun yang terserang akan berwarna hijau pucat";
        arGejala[4]="Gejala serangan tandan buah membusuk";
        arGejala[5]="Gejala serangan pertumbuhan tanaman terlihat tidak normal, daun menguning, keragaan tanaman tidak segar";
        arGejala[6]="Gejala serangan daun terdapat bercak-bercak coklat diujung dan tepi daun";
        arGejala[7]="Gejala serangan terdapat bercak-bercak pada daun dengan bentuk melonjong warna kuning dan di bagian dalamnya berwarna coklat";
        arGejala[8]="Gejala serangan daun bagian tengah sobek";
        arGejala[9]="Gejala serangan adanya miselium bewarna putih diantara buah masak atau pangkal pelepah daun";
        arGejala[10]="Gejala serangan seluruh tajuk menjadi kekuningan dan pucat karena kekurangan zat hara dan air ";
        arGejala[11]="Gejala serangan banyak daun yang membengkok ke bawah di tengah pelepahnya";
        arGejala[12]="Gejala serangan seluruh tandan buah telah terserang jamur";
        arGejala[13]="Gejala serangan daun tua yang mengering sengkleh";
        arGejala[14]="Gejala serangan tanaman akan mati dalam waktu 6 –12 bulan setelah timbul gejala";
        arGejala[15]="Gejala serangan terbentuk buah cendawan dari pangkal batang";
        arGejala[16]="Gejala serangan kelayuan menyeluruh seperti kurang air dan hara";
        arGejala[17]="Gejala serangan benang-benang jamur yang berwarna putih mengkilat meluas di permukaan tandan buah";
        arGejala[18]="Gejala serangan kuncup membusuk dan mudah dicabut";
        arGejala[19]="Gejala serangan jaringan pada kuncup membusuk";
        arGejala[20]="Gejala serangan warna daun yang terbawah berubah dan selanjutnya akan mati";
        arGejala[21]="Gejala serangan terinfeksi mengeluarkan getah pada daun yang tua";
        arGejala[22]="Gejala serangan pelepah daun bagian bawah patah";
        arGejala[23]="Gejala serangan bercak coklat dikelilingi warna kuning dan terlihat sebagai pembatas antara daun yang sehat dengan daun yang tidak sehat/terserang penyakit";
        arGejala[24]="Gejala serangan pelepah berukuran abnormal atau kecil-kecil";
        arGejala[25]="Gejala serangan akar tanaman yang sakit berwarna coklat atau kemerah-merahan dan membusuk";

        for(int i=0;i<jg;i++) {
            arGB[i] = R.drawable.tipsbnr;
        }

        arPenyakit[0]="Penyakit Busuk Titik Tumbuh";
        arPenyakit[1]="Penyakit Busuk Kuncup";
        arPenyakit[2]="Penyakit Busuk Batang Atas";
        arPenyakit[3]="Penyakit Busuk Pangkal Batang";
        arPenyakit[4]="Penyakit Busuk Kering Pangkal Batang";
        arPenyakit[5]="Penyakit Akar";
        arPenyakit[6]="Penyakit Antraknosa";
        arPenyakit[7]="Penyakit Garis Kuning";
        arPenyakit[8]="Penyakit Tajuk";
        arPenyakit[9]="Penyakit Busuk Tandan";

        arPenyebab[0]="Penyebab serangan bakteri erwinia";
        arPenyebab[1]="Penyebab serangan ini sampai saat ini masih dalam kajian dan belum menemukan penyerang yang pasti";
        arPenyebab[2]="Penyebab serangan jamur fomex noxius";
        arPenyebab[3]="Penyebab serangan jamur Ganoderma";
        arPenyebab[4]="Penyebab serangan jamur Ceratocytis paradoxa";
        arPenyebab[5]="Penyebab serangan jamur Rhizoctonia lamellifera";
        arPenyebab[6]="Penyebab serangan jamur Melanconium sp, Botryodiplodia palmarum, Glomerella cingulata";
        arPenyebab[7]="Penyebab serangan jamur Fusarium oxysporum";
        arPenyebab[8]="Penyebabnya biasanya dikarenakan menurunnya sifat genetik indukan";
        arPenyebab[9]="Penyebab serangan jamur Marasmius palmivorus";


        arSolusi[0]="pengendalian dapat mengaplikasikan bakteri yang berfungsi sebagai pemangsa bagi bakteri erwinia";
        arSolusi[1]="Pengendalian yang dilakukan masih sebatas melakukan pemotongan bagian kuncup yang terserang";
        arSolusi[2]="pengendalian penanganan dengan cara membuang bagian batang yang terserang dan menutup bekas luka dengan obat luka yang ada. Pada kondisi parah tanaman dibongkar dan dimusnahkan.";
        arSolusi[3]="pengendalian dapat melakukan aplikasi dengan menggunakan bahan yang mengandung Tricodherma ( produk CustomBio ), dapat disemprotkan kebagian yang terserang dan penyemprotan pada tanah sekeliling tanaman pokok secara melingkar";
        arSolusi[4]="pengendalian untuk tanaman yang sudah terserang secara hebat dengan melakukan pembongkaran dan pemusnahan dengan cara dibakar";
        arSolusi[5]="pengendalian dimulai sejak awal kegiatan di dalam pesemaian dengan mempersiapkan media yang tidak terkontaminasi jamur, drainase yang baik agar tidak terjadi kekeringan yang ekstrim pada tanaman";
        arSolusi[6]="pengendalian sejak awal mulai dari pemindahan bibit, dimana seluruh media tanah bibit disertakan, jarak tanam, penyiraman dan pemupukan yang dilakukan secara teratur dan berimbang, aplikasi Captan 0.2 % atau Cuman 0.1 %";
        arSolusi[7]="pengendalian melakukan proses inokulasi pada bibit dan tanaman muda, atau dengan melakukan aplikasi bahan yang mengandung Tricodherma & Bacillus ( produk CustomBio )";
        arSolusi[8]="pengendalian dimulai sejak awal terutama melakukan seleksi indukan yang bersifat karier penyakit ini, sehingga akan didapatkan bibit yang mempunyai sifat-sifat yang sehat.";
        arSolusi[9]="pengendalian dengan menjaga sanitasi kebun terutama pada musim penghujan, aplikasi difolatan 0.2 %, melakukan penyerbukan buatan atau kastrasi";

        arRelasi[0]="ABS";
        arRelasi[1]="BGT";
        arRelasi[2]="CIO";
        arRelasi[3]="DKP";
        arRelasi[4]="ENOPQW";
        arRelasi[5]="FPZ";
        arRelasi[6]="GTX";
        arRelasi[7]="FHN";
        arRelasi[8]="ILY";
        arRelasi[9]="JMR";


String abj="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
char[]ar=abj.toCharArray();
int pj=ar.length;

        for(int i=0;i<pj;i++) {
            String ch=String.valueOf(ar[i]);//A B C D ...
            for(int j=0;j<jp;j++) {
                String relasi=arRelasi[j];//ABC

            }//j
        } //for

    }

    int getIndex(String ch){
        int id=0;
        if(ch.equals("A")){id=0;}
        else if(ch.equals("B")){id=1;}
        else if(ch.equals("C")){id=2;}
        else if(ch.equals("D")){id=3;}
        else if(ch.equals("E")){id=4;}
        else if(ch.equals("F")){id=5;}
        else if(ch.equals("G")){id=6;}
        else if(ch.equals("H")){id=7;}
        else if(ch.equals("I")){id=8;}
        else if(ch.equals("J")){id=9;}
        else if(ch.equals("K")){id=10;}
        else if(ch.equals("L")){id=11;}
        else if(ch.equals("M")){id=12;}
        else if(ch.equals("N")){id=13;}
        else if(ch.equals("O")){id=14;}
        else if(ch.equals("P")){id=15;}
        else if(ch.equals("Q")){id=16;}
        else if(ch.equals("R")){id=17;}
        else if(ch.equals("S")){id=18;}
        else if(ch.equals("T")){id=19;}
        else if(ch.equals("U")){id=20;}
        else if(ch.equals("V")){id=21;}
        else if(ch.equals("W")){id=22;}
        else if(ch.equals("X")){id=23;}
        return id;
    }
    void lihat() {//ABCLUV
        radA.setChecked(false);
        radB.setChecked(false);

        jumsoal=pola.length();
        dataIndex=pola.substring(indexke,indexke+1);
        sudah=sudah+dataIndex;

        ike=getIndex(dataIndex);
        txtTanya.setText((ke + 1) + "." + arGejala[ike]);
        radA.setText("Ya, Saya Mengalami");
        radB.setText("Tidak, Saya  Tidak Mengalami");
        txtTanyake.setText("");
        txtTanyake.setText("#Pertanyaan ke " + (ke + 1) + "#Group:" +index+"#Pola:"+arRelasi[index]+"/Replace:"+ pola+ " "+arPenyakit[index]+"#Y:"+pilYes+"#N:"+sudahNo);

        if(ke%6==0){gb=R.drawable.tipsbnr;}
        else if(ke%6==1){gb=R.drawable.tipsbnr;}
        else if(ke%6==2){gb=R.drawable.tipsbnr;}
        else if(ke%6==3){gb=R.drawable.tipsbnr;}
        else if(ke%6==4){gb=R.drawable.tipsbnr;}
        else if(ke%6==5){gb=R.drawable.tipsbnr;}

        imgGambar.setImageResource(gb);

    }

    public void selesai() {
        new AlertDialog.Builder(this).setTitle("Hasil Analisa Kerusakan")
                .setMessage("Kelapa Sawit Terdiagnosa "+arPenyakit[index])
                .setNeutralButton("Hasil", new OnClickListener() {
                    public void onClick(DialogInterface dlg, int sumthin) {

                        Calendar cal = Calendar.getInstance();
                        int jam = cal.get(Calendar.HOUR);
                        int menit = cal.get(Calendar.MINUTE);
                        int detik = cal.get(Calendar.SECOND);

                        int tgl = cal.get(Calendar.DATE);
                        int bln = cal.get(Calendar.MONTH)+1;
                        int thn = cal.get(Calendar.YEAR);

                        String stgl = String.valueOf(tgl) + "-"
                                + String.valueOf(bln) + "-"
                                + String.valueOf(thn);
                        String sjam = String.valueOf(jam) + ":"
                                + String.valueOf(menit) + ":"
                                + String.valueOf(detik);

                        Intent i = new Intent(Diagnosa.this,Hasil.class);
                        i.putExtra("hasil", arPenyakit[index]);
                        i.putExtra("solusi", arSolusi[index]);
                        i.putExtra("penyebab", arPenyebab[index]);
                        i.putExtra("gb", gb);
                        i.putExtra("keterangan",stgl+ " " + sjam+ "\n"+ "Forward Chaining");
                        startActivity(i);
                        finish();


                    }
                }).show();
    }

    public void none() {
        new AlertDialog.Builder(this).setTitle("Hasil Analisa Penyakit")
                .setMessage("Kelapa Sawit Gagal Terdiagnosa ")
                .setNeutralButton("Hasil", new OnClickListener() {
                    public void onClick(DialogInterface dlg, int sumthin) {
                        finish();

                    }
                }).show();
    }
    public void keluarYN() {
        AlertDialog.Builder ad = new AlertDialog.Builder(Diagnosa.this);
        ad.setMessage("Apakah anda yakin ingin kembali?");

        ad.setPositiveButton("YA", new OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {

                finish();

            }
        });

        ad.setNegativeButton("TIDAK", new OnClickListener() {
            public void onClick(DialogInterface arg0, int arg1) {
            }
        });

        ad.show();
    }

    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            keluarYN();
            ;

            return true;
        }
        return super.onKeyDown(keyCode, event);
    }

}

+++++++++++++++++++++++++++++++++++++++++++++


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="50dip"
        android:background="#999999" >

        <TableLayout
            android:id="@+id/TableLayout01"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="#fff" >
 <ImageView
                    android:id="@+id/myGambar"
                    android:layout_width="250dp"
                    android:layout_height="250dp"
                    android:layout_centerHorizontal="true"
                    android:src="@drawable/tipsbnr" />
         

            <TableRow
                android:id="@+id/TableRow00"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" >

                <TextView
                    android:id="@+id/txtTanya"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="1.Apakah Anda mengalami gejala Pusing2" />
            </TableRow>

            <RadioGroup
                android:id="@+id/RadioGroup01"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" >

                <RadioButton
                    android:id="@+id/radA"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Ya"
                    android:textColor="#000" >
                </RadioButton>

                <RadioButton
                    android:id="@+id/radB"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Tidak"
                    android:textColor="#000" >
                </RadioButton>

         
            </RadioGroup>

             <TableRow
                android:id="@+id/TableRow02"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" >

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="" />
            </TableRow>
           
              <TableRow
                android:id="@+id/TableRow02s"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" >

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="" />
            </TableRow>
           
             
            <TableRow
                android:id="@+id/TableRow02a"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" >

                <TextView
                    android:id="@+id/txtTanyaKe"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Pertanyaan ke-1" />
            </TableRow>
        </TableLayout>
    </ScrollView>

</RelativeLayout>

Tidak ada komentar:

Posting Komentar