• Tidak ada hasil yang ditemukan

a. Hasil Aplikasi

“Aplikasi Penerapan Metode Forward Dan Backward Chainning Untuk Diagnosis Penyakit Sistem Pencernaan Berbasis Android” merupakan aplikasi yang dijalankan pada sistem operasi android yang minimal request seri android 4.0 “kit-kat”, aplikasi berekstensi “.apk” berupa file yang dapat dijalankan di setiap device yang menggunakan operasi android. Aplikasi langsung bisa dijalankan di setiap perangkat android namun mengharuskan terhubung dengan internet dikarenakan database terkoneksi dengan database online.

Adapun Langkah-langkah dalam menggunakan aplikasi ini sebagai berikut:

1. Setelah semua persyaratan diatas dipenuhi. Selanjutnya menginstal aplikasi dengan cara “pilih file sp_pencernaan.apk” dengan icon sebagai berikut.

Gambar 14. Icon Aplikasi

2. Selanjutnya setelah selesai instalasi aplikasi, saat awal menjalankan aplikasi akan ada splash aplikasi dengan tampilan berikut:

44

Gambar 15. Splash opening buka aplikasi

Setelah splash muncul akan langsung diarahkan ke form login aplikasi yang mengharuskan pengguna untuk melakukan login terlebih dahulu sebelum aplikasi dapat diakses. Seperti gambar berikut:

Gambar 16. Halaman Login Aplikasi

Pengguna atau user bisa melakukan login untuk masuk ke dalam menu utama aplikasi, namun jika belum memiliki akun untuk login dapat melakukan pendaftaran dengan klik button “daftar”.

45

3. Menu daftar akan mengarahkan pengguna untuk pengisian form pendaftaran seperti “username” dan "password” calon pengguna aplikasi. Seperti gambar berikut:

Gambar 17. Halaman daftar aplikasi

Setelah mengisi form yang diperlukan, user dapat memilih button daftar untuk mengirimkan data ke database pengguna aplikasi. Setelah pendaftaran berhasil, user akan diarahkan kembali ke halaman login aplikasi untuk memberikan akses login masuk ke dalam aplikasi. Untuk masuk ke aplikasi, user harus menggunakan “username” dan “password” yang benar. Seperti gambar dibawah ini:

46

Gambar 18. Proses login aplikasi

4. Setelah melakukan proses login, pengguna akan diarahkan ke menu utama aplikasi, seperti gambar berikut ini:

Gambar 19. Tampilan utama pengguna aplikasi

47

Pada menu ini terdapat beberapa pilihan button yang dapat user akses, diantaranya “proses diagnosis” yang mana ini akan mengarahkan kepada diagnosis penyakit dengan menggunakan metode forward chaining sebagai basis pengetahuannya. Selanjutnya button “diagnosis menurut dugaan penyakit” adalah button akses untuk menjalankan proses diagnosis dengan metode backward chaining yang mana pengguna atau user sudah menduga sebelumnya penyakit yang diderita dan ingin memastikan dengan melakukan diagnosis penyakit. Setelah itu terdapat “riwayat penyakit” yang mengarahkan pengguna untuk dapat menampilkan hasi riwayat diagnosis penyakit yang pernah dilakukan oleh user sebelumnya. Button “daftar penyakit” merupakan akses button untuk melihat list/daftar penyakit yang dapat di diagnosis dengan menggunakan aplikasi ini. Yang terakhir ada button “logout” yang akan membawa user untuk keluar dari aplikasi dan kembali ke halaman login aplikasi.

5. User dapat melakukan proses diagnosis dengan memilih button “proses diagnosis” untuk menjalankan diagnosis dengan metode forward chaining.

Setelah memilih, aplikasi akan mengarahkan user ke menu layout diagnosis penyakit seperti gambar berikut :

48

Gambar 20. Proses diagnosis forward chaning pada aplikasi

Seteleh masuk pada menu proses diagnosis, pengguna akan diberikan pertanyaan-pertanyaan yang dibutuhkan aplikasi untuk memproses diagnosis sesuai dari gejala-gejala yang dipilih oleh user. Proses diagnosis dilakukan dengan memilih jawaban “ya” atau “tidak” berdasarkan gejala-gejala yang ditampilkan aplikasi. User diharuskan menjawab seluruh pertanyaan untuk menyelesaikan proses diagnosis penyakit.

6. Setelah seluruh pertanyaan diselesaikan, proses selanjutnya akan menampilkan hasil diagnosis penyakit, seperti gambar berikut ini:

49

Gambar 21. Tampilan hasil diagnosis metode forward chaining

Hasil diagnosis merupakan dugaan penyakit dari gejala-gejala yang telah dipilih oleh user sebelumnya dan menampilkan hasil diagnosis dalam button yang dapat di pilih untuk menampilkan informasi lengkap mengenai deskripsi dan solusi dari penyakit tersebut. Tampilan dari detail penyakit adalah sebagai berikut:

50

Gambar 22. Detail penyakit aplikasi

Detail penyakit menggunakan layout scrool_view yang menampilkan detail penyakit, deskripsi, dan solusi yang di sarankan sebagai penanganan dari penyakit.

Aplikasi tidak hanya menyediakan fasilitas diagnosis tetapi juga memberikan solusi dan deskripsi dari hasil diagnosis yang di derita pasien.

7. Menu selanjutnya yang dapat di pilih user adalah “Diagnosis Menurut Dugaan Penyakit” ini merupakan button pilihan untuk menjalankan diagnosis penyakit dengan metode backward chaining. Ciri khas dari backward chaining adalah menampilkan hasil akhir dari diagnosis terlebih dahulu sebelum melakukan proses diagnosisnya. Saat awal di pilih, user akan di arahkan menuju tampilan daftar penyakit sebagai berikut:

51

Gambar 23. Daftar penyakit diagnosis backward

Setelah masuk layout daftar penyakit, user dapat memilih penyakit yang diduga user rasakan. Setelah memilih penyakit, user akan masuk ke menu detail penyakit yang menjelaskan mengenai penyakit yang di derita, untuk melanjutkan proses diagnosis, user dapat memilih float icon yang menunjukan gambar “next” di bagian bawah layar tampilan, seperti gambar di bawah ini:

52

Gambar 24. Detail penyakit diagnosis backward

Tombol “next” tersebut untuk mengarahkan user menuju proses diagnosis dengan metode backward chaining. Setelah memilih icon tersebut, user akan diarahkan menuju tampilan proses diagnosis penyakit seperti gambar di bawah:

Gambar 25. Proses diagnosis penyakit backward chaining

Proses diagnosis sama dengan forward sebelumnya, yaitu dengan memilih jawaban “ya” atau “tidak” dari pertanyaan-pertanyaan yang di tampilkan di layar

53

gadget user. Seluruh pertanyaan harus di jawab agar proses diagnosis bisa terselesaikan dan hasil diagnosis akan di tampilkan setelah semua proses terselesaikan.

8. Selanjutnya user dapat melihat riwayat diagnosis dengan memilih button

“riwayat diagnosis” yang akan menampilkan daftar riwayat diagnosis penyakit yang pernah dilakukan oleh user, seperti gambar berikut ini:

Gambar 26. Riwayat penyakit menu utama pengguna

Pada layout ini menampilkan riwayat diagnosis yang pernah di lakukan oleh user, terdapat hasil diagnosis dan tanggal hasil diagnosis dilakukan, serta terdapat icon “trash” untuk menghapus daftar riwayat diagnosis dari pasien.

54

9. Selanjutnya user dapat memilih menu daftar penyakit untuk melihat penyakit apa saja yang terdaftar atau yang dapat terdeketi oleh aplikasi, yaitu dengan memilih button “Daftar Penyakit” yang ada di menu utama user, tampilan dari daftar penyakit sebagai berikut:

Gambar 27. Daftar penyakit menu utama pengguna

Menu diatas menampilkan daftar penyakit yang dapat di diagnosis oleh aplikasi ini. Seluruh penyakit berhubungan dengan gangguan sistem pencernaan.

User dapat memilih penyakit untuk melihat detail dari setiap penyakit yang terdaftar.

10. Selanjutnya terdapat button “logout” sebagai akses bagi user untuk melakukan aktivitas keluar dari menu utama user. Saat button logout di pilih, akan muncul

55

jendela konfirmasi perintah logout dari aplikasi. Sepeti terlihat pada gambar berikut ini:

Gambar 28. Logout aplikasi

Akan ada jendela konfirmasi bertulisan “Anda yakin mau logout?” sebagai triger dari aktivitas pengguna saat melakukan logout dari aplikasi.

11. Selanjutnya pengelolaan data gejala, data penyakit dan data rule diagnosis dapat di aksen pada menu utama Admin dengan melakukan proses login Admin pada menu login utama dengan memasukkan username “Admin” dan password

“Admin”akan memberikan akses Admin kepada user. User Admin nantinya disebut sebagai “Admin” dalam penulisan ini. Melihat tampilan menu utama Admin ada pada gambar berikut ini:

56

Gambar 29, Halaman utama Admin

Pada menu utama Admin, user Admin dapat melihat empat button yang masing-masingnya memiliki fungsi yang berbeda.

12. Button dengan tulisan “Data Gejala” merupakan activity Admin untuk melakukan proses tambah, edit dan hapus data dari gejala penyakit pada aplikasi ini. Untuk melihat data gejala, Admin dapat memilih button data gejala, setelah memilih, Admin akan di arahkan menuju data gejala aplikasi seperti gambar berikut ini:

57

Gambar 30. Data Gelaja Admin

Pada layout ini akan disuguhkan dengan list/daftar dari seluruh gejala yang ada pada aplikasi sistem pakar diagnosis pencernaan ini. Data gejala di urutkan sesuai kode gejala dimulai dari inisialisasi G01 hingga G19 yang saat ini sudah terdata pada aplikasi.

13. Untuk menambahkan gejala, Admin dapat memilih float icon tambah pada sudut kiri bawah aplikasi. Icon tersebut berguna untuk membawa Admin pada input atau tambah penyakit. Berikut tampilan dari menu tambah gejala sebagai berikut:

58

Gambar 31. Tambah gejala Admin

Pada menu ini terdapat dua edit_text sebagai inputan dari kode_gejala dan nama_gejala dari gejala penyakit yang akan di tambahkan pada aplikasi. Proses simpan data harus melengkapi seluruh keperluan data dengan mengisi kode gejala dan nama gejala, setelah kebutuhan data terlengkapi Admin dapat memilih button simpan untuk melakukan proses simpan data gejala.

14. Selanjutnya menghapus data gejala. Admin dapat menghapus daftar gejala penyakit yang terdaftar pada aplikasi dengan memilih nama gejala, setelah nama gejala terseleksi aplikasi akan menapilkan detail gejala penyakit, terdapat icon trash atau tempat sampah pada pojok kiri atas aplikasi untuk melakukan proses hapus data gejala. Sebelum data di hapus, akan muncul jendela konfirmasi hapus data dengan memberikan opsional “ya, hapus” untuk melakukan hapus data gejala dan “tidak” untuk mengurungkan niat menghapus data gejala. Seperti gambar di bawah ini:

59

Gambar 32. Hapus gejala Admin

15. Button dengan tulisan “Data Penyakit” merupakan activity Admin untuk melakukan proses tambah dan hapus data dari penyakit pada aplikasi ini. Untuk melihat data penyakit, Admin dapat memilih button data penyakit, setelah memilih, Admin akan di arahkan menuju data penyakit aplikasi seperti gambar berikut ini:

60

Gambar 33. Daftar data penyakit Admin

Pada layout ini akan menampilkan list/daftar dari seluruh data penyakit yang ada pada aplikasi sistem pakar diagnosis pencernaan ini. Data penyakit di urutkan sesuai kode penyakit dimulai dari inisialisasi P01 hingga P10 yang saat ini sudah terdata pada aplikasi.

16. Untuk menambahkan data penyakit, Admin dapat memilih float icon tambah pada sudut kiri bawah aplikasi. Icon tersebut berguna untuk membawa Admin pada input atau tambah penyakit. Berikut tampilan dari menu tambah penyakit sebagai berikut:

61

Gambar 34. Tambah data penyakit Admin

Pada menu ini terdapat empat edit_text sebagai inputan dari kode_penyakit, nama_penyakit, deskripsi dan solusi dari penyakit yang akan di tambahkan pada aplikasi. Proses simpan data harus melengkapi seluruh keperluan data dengan mengisi kode penyakit, nama penyakit, deskripsi dan solusi penyakit, setelah kebutuhan data terlengkapi Admin dapat memilih button simpan untuk melakukan proses simpan data penyakit.

17. Selanjutnya menghapus data penyakit. Admin dapat menghapus daftar gejala penyakit yang terdaftar pada aplikasi dengan memilih nama penyakit, setelah nama penyakit terseleksi aplikasi akan menapilkan detail penyakit, terdapat icon trash atau tempat sampah pada pojok kiri atas aplikasi untuk melakukan proses hapus data penyakit. Sebelum data di hapus, akan muncul jendela

62

konfirmasi hapus data dengan memberikan opsional “ya, hapus” untuk melakukan hapus data penyakit dan “tidak” untuk mengurungkan niat menghapus data gejala. Seperti gambar di bawah ini:

Gambar 35. Hapus data penyakit Admin

18. Button dengan tulisan “Data Aturan” merupakan activity Admin untuk melakukan proses edit data aturan dari penyakit pada aplikasi ini. Untuk melihat data aturan, Admin dapat memilih button data aturan, setelah memilih, Admin akan di arahkan menuju data aturan aplikasi seperti gambar berikut ini:

63

Gambar 36. Data aturan Admin

Pada layout ini akan menampilkan list/daftar dari seluruh data aturan diagnosis yang ada pada aplikasi sistem pakar diagnosis pencernaan ini. Data aturan di urutkan sesuai nama penyakit.

19. Untuk melakukan edit aturan diagnosis, Admin dapat memilih nama penyakit yang akan di atur rule/aturan dari penyakit sesua gejala dari penyakit, setelah penyakit di pilih, halaman tampilan akan menuju ke detail aturan yang menampilkan nama penyakit dan list daftar gejala penyakit.

64

Gambar 37. Detail aturan Admin

20. Untuk mengatur ulang aturan dari diagnosis penyakit baik dengan metode forward maupun backward chaining Admin dapat melakukan edit aturan dengan memilih button “atur ulang gejala”, setelah itu aplikasi akan menampilkan layout atur ulang gejala yang memberikan akses kepada Admin untuk memilih/mencentang data gejala apa saja yang berhubungan dengan penyakit yang di seleksi sebelumnya, setelah selesai memilih gejala dan sudah tercentang, Admin dapat menyimpan aturan gejala dengan memilih button simpan. Otomatis aturan diagnosis langsung tersimpan pada database. Berikut tampilan dari menu pengaturan aturan penyakit sebagai berikut:

65

Gambar 38. Atur ulang aturan Admin b. Pengujian Sistem dan Uji Coba

Pengujian merupakan bagian penting dalam pembangunan sebuah perangkat lunak, pengujian ditujukan untuk menemukan kesalahan-kesalahan pada sistem dan memastikan sistem yang dibangun telah sesuai dengan apa yang dirancang sebelumnya.

Pengujian dilakukan untuk menjamin kualitas dan mengetahui kelemahan dari perangkat lunak. Pengujian bertujuan menjamin kualitas dari perangkut lunak, yaitu wujud konkrit kajian pokok dari spesifikasi analisis, perancangan dan pengkodean perangkat lunak itu sendiri. Dalam pengujian sistem ini, pengujian dilakukan dengan cara black box testing, tahap pengujian ini memfokuskan pada kebutulan fungsional dari program. Dengan pengujian ini maka dapat diketahui jika

66

terjadi kesalahan secara fungsional dari aplikasi. Pengujian dilakukan oleh dosen STMIK Palangka Raya ibu Lili Rusdiana M. Kom,. Berikut sistem pengujian black box aplikasi sistem pakar diagnosis penyakit pencernaan pada manusia dapat dilihat pada tabel berikut:

1. Pengujian Buka Aplikasi

Pengujian Skenario uji Hasil yang diharapkan

Tabel 14. Uji Buka Aplikasi 2. Pengujian daftar user

Pengujian Skenario uji Hasil yang diharapkan

Tabel 15. Uji Daftar Pengguna

67 3. Pengujian login aplikasi

Pengujian Skenario uji Hasil yang diharapkan

Tabel 16. Uji Login Aplikasi 4. Pengujian proses diagnosis Forward Chaining

Pengujian Skenario uji Hasil yang diharapkan

Tabel 17. Uji Diagnosis Forward

68

5. Pengujian proses diagnosis Backward Chaining Pengujian Skenario uji Hasil yang

diharapkan

Tabel 18. Uji Diagnosis Backward 6. Pengujian riwayat diagnosis

Pengujian Skenario uji Hasil yang diharapkan

Tabel 19. Uji Riwayat Diagnosis Penyakit 7. Pengujian daftar penyakit

Pengujian Skenario uji Hasil yang diharapkan

69 Tabel 20. Uji Daftar Penyakit 8. Pengujian logout

Pengujian Skenario uji Hasil yang diharapkan

Tabel 21. Uji Logout Aplikasi 9. Pengujian login Admin

Pengujian Skenario uji Hasil yang diharapkan

Tabel 22. Uji Login Admin 10. Pengujian tambah dan hapus data gejala

Pengujian Skenario uji Hasil yang diharapkan

Hasil pengujian

70

Tabel 23. Uji tambah dan hapus data gejala 11. Pengujian tambah dan hapus data penyakit

Pengujian Skenario uji Hasil yang diharapkan

Tabel 24. Uji tmbah dan hapus data penyakit

71

12. Pengujian atur ulang data aturan diagnosis

Pengujian Skenario uji Hasil yang diharapkan

Tabel 25. Uji edit data aturan

Selain blackbox testing yang sudah dilaksanakan, selanjutnya dilakukan tahap uji coba fungsionalitas. Percobaan dilakukan terhadap 5 jenis smartphone android dengan spesifikasi sebagai berikut:

Nama dan Tipe Smartphone

Tipe

Android Ukuran Layar Memory

Samsung S9+ Android 10 1440 X 2960 pixels 6 GB RAM Tabel 26. Daftar Smartphone Uji Coba

Dari pengujian tersebut, aplikasi diagnosa penyakit sistem pencernaan berbasis android dapat berjalan dengan baik pada smartphone dengan spesifikasi seperti pada Tabel 26 diatas.

72 4.2 Pembahasan

a. Pembahasan Listing Program

Dalam pembahasan listing program akan dijelaskan mengenai kode program yang ada pada android studio, database, sublime text beserta penjelasannya. Listing program yang penulis bahas adalah mengenai struktur data, koneksi dan kode pengimputan data ke database, menampilkan data, menghapus data pada database.

1. Source code utama form aturan pada sublime text

Pada gambar dibawah ini merupakan source code form penyakit, list data penyakit, tambah dan hapus data penyakit dari database menggunakan aplikasi sublime text.

Gambar 39. Get aturan php

73

Gambar 40. Get daftar aturan php

Gambar 41. Update aturan php

Gambar diatas merupakan syntax koneksi antar database dalam Bahasa pemrograman php melalui aplikasi sublime text.

2. Source code utama proses diagnosis pada sublime text

74

Pada gambar dibawah ini merupakan source code mendapatakan hasil diagnosis penyakit.

Gambar 42. Hasil diagnosis php

Gambar 43. Hasil Diagnosis php

3. Source code utama diagnosis metode forward chaining pada android studio Source code ini merupakan integrasi antara layout

“activity_diagnosis_forward” dan java class ”DiagnosisForwardActivity”. Java

75

class “DiagnosisForwardActivity” memuat perintah agar layout berfungsi dengan semestinya

package com.sistempakarpencernaan;

public class DiagnosisForwardActivity extends AppCompatActivity {

private ProgressDialog pDialog;

private static final String url =

"https://1755201003.000webhostapp.com/get_daftar_gejala.php";

private ArrayList<HashMap<String, String>> list;

private ArrayList<String> hasil;

private TextView text_pertanyaan;

private int counter;

private final int REQUEST_CODE = 1234;

@Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.activity_diagnosis_forward);

setTitle("Diagnosis Forward Chaining");

getData();

text_pertanyaan = findViewById(R.id.text_pertanyaan);

Button btn_ya = findViewById(R.id.btn_ya);

Button btn_tidak = findViewById(R.id.btn_tidak);

btn_ya.setOnClickListener(view -> {

private void showPertanyaan(int index) { if (index >= list.size()) {

Intent intent = new Intent(getApplicationContext(), DiagnosisForwardHasilActivity.class);

intent.putExtra("hasil", android.text.TextUtils.join("#", hasil));

startActivityForResult(intent, REQUEST_CODE);

76

protected void onActivityResult(int requestCode, int resultCode, Intent intent) {

super.onActivityResult(requestCode, resultCode, intent);

if (requestCode == REQUEST_CODE) { getData();

} }

private void displayLoader() {

pDialog = new ProgressDialog(DiagnosisForwardActivity.this);

pDialog.setMessage("Sedang diproses...");

pDialog.setIndeterminate(false);

JsonObjectRequest jsArrayRequest = new JsonObjectRequest (Request.Method.POST, url, null, response -> {

Toast.makeText(DiagnosisForwardActivity.this, "Tidak ada data gejala", Toast.LENGTH_SHORT).show();

77

MySingleton.getInstance(this).addToRequestQueue(jsArrayRequest);

}

@Override

public boolean onOptionsItemSelected(@NonNull MenuItem item) { if (item.getItemId() == android.R.id.home) {

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

Gambar 44. Source code diagnosis metode forward chaining

78

4. Source code utama diagnosis metode backward chaining pada android studio Berbeda dengan forward yang melihat hasil diagnosis di akhir activity.

Source code ini merupakan integrasi antara layout

“activity_diagnosis_backward_penyakit” dan java class

”DiagnosisForwardPenyakit”. Java class “DiagnosisForwardActivity” memuat perintah agar layout berfungsi dengan semestinya

package com.sistempakarpencernaan;

public class DiagnosisBackwardPenyakit extends AppCompatActivity {

private ProgressDialog pDialog;

private static final String url =

"https://1755201003.000webhostapp.com/get_daftar_penyakit.php";

private ListView lv;

private SimpleAdapter adapter;

@Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.diagnosis_backward_penyakit);

setTitle("Daftar Penyakit");

lv = findViewById(R.id.list_penyakit);

getData();

}

private void displayLoader() {

pDialog = new ProgressDialog(DiagnosisBackwardPenyakit.this);

pDialog.setMessage("Sedang diproses...");

pDialog.setIndeterminate(false);

JsonObjectRequest jsArrayRequest = new JsonObjectRequest (Request.Method.POST, url, null, response -> {

79 itemClickListener = (parent, container, position, id) -> { LinearLayout linearLayout =

80

MySingleton.getInstance(this).addToRequestQueue(jsArrayRequest);

}

@Override

public boolean onOptionsItemSelected(@NonNull MenuItem item) { if (item.getItemId() == android.R.id.home) {

Gambar 45. Source code diagnosis metode backward chaining

Setelah daftar penyakit di tampilkan, proses selanjutnya akan memuat halaman detail penyakit dan button untuk melanjutkan activity ke diagnosis.

package com.sistempakarpencernaan;

public class DiagnosisBackwardPenyakitDetail extends AppCompatActivity {

private ProgressDialog pDialog;

private static final String url =

"https://1755201003.000webhostapp.com/get_penyakit.php";

private TextView tv_nama_penyakit;

private TextView tv_deskripsi;

private TextView tv_solusi;

private String id_penyakit;

@Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.diagnosis_backward_penyakit_detail);

setTitle("Detail Penyakit");

FloatingActionButton fab = findViewById(R.id.fab1);

fab.setOnClickListener(view -> { Intent intent = new

Intent(DiagnosisBackwardPenyakitDetail.this, DiagnosisBackwardActivity.class);

81

tv_nama_penyakit = findViewById(R.id.tv_nama_penyakit);

tv_deskripsi = findViewById(R.id.tv_deskripsi);

tv_solusi = findViewById(R.id.tv_solusi);

getPenyakit();

}

@Override

public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId();

JsonObjectRequest jsArrayRequest = new JsonObjectRequest (Request.Method.POST, url, request, response -> {

82

MySingleton.getInstance(this).addToRequestQueue(jsArrayRequest);

}

private void displayLoader() { pDialog = new

ProgressDialog(DiagnosisBackwardPenyakitDetail.this);

pDialog.setMessage("Sedang diproses...");

pDialog.setIndeterminate(false);

pDialog.setCancelable(false);

pDialog.show();

} }

Gambar 46. Source code diagnosis metode backward chaining

melanjutkan activity backward masuk pada pertanyaan terkait gejala yang di rasakan pengguna.

package com.sistempakarpencernaan;

public class DiagnosisBackwardActivity extends AppCompatActivity {

private ProgressDialog pDialog;

private static final String url =

"https://1755201003.000webhostapp.com/get_daftar_gejala.php";

private ArrayList<HashMap<String, String>> list;

private ArrayList<String> hasil;

private TextView text_pertanyaan;

private int counter;

private final int REQUEST_CODE = 1234;

@Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.activity_diagnosis_backward);

setTitle("Diagnosis Backward Chaining");

getData();

text_pertanyaan = findViewById(R.id.text_pertanyaan);

Button btn_ya = findViewById(R.id.btn_ya);

Button btn_tidak = findViewById(R.id.btn_tidak);

btn_ya.setOnClickListener(view -> {

HashMap<String, String> item = list.get(counter);

83

private void showPertanyaan(int index) { if (index >= list.size()) {

Intent intent = new Intent(getApplicationContext(), DiagnosisForwardHasilActivity.class);

intent.putExtra("hasil", android.text.TextUtils.join("#", hasil));

protected void onActivityResult(int requestCode, int resultCode, Intent intent) {

super.onActivityResult(requestCode, resultCode, intent);

if (requestCode == REQUEST_CODE) { getData();

} }

private void displayLoader() {

pDialog = new ProgressDialog(DiagnosisBackwardActivity.this);

pDialog.setMessage("Sedang diproses...");

pDialog.setIndeterminate(false);

JsonObjectRequest jsArrayRequest = new JsonObjectRequest (Request.Method.POST, url, null, response -> { pDialog.dismiss();

try {

if (response.getInt("status") == 0) { JSONArray jsonArray =

84

Toast.makeText(DiagnosisBackwardActivity.this, "Tidak ada data gejala", Toast.LENGTH_SHORT).show();

MySingleton.getInstance(this).addToRequestQueue(jsArrayRequest);

}

@Override

public boolean onOptionsItemSelected(@NonNull MenuItem item) { if (item.getItemId() == android.R.id.home) {

85

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

Gambar 47. Source code diagnosis metode backward chaining

Dan melanjutkan activity untuk menampilkan hasil dari proses diagnosis penyakit dengan metode backward chaning.

package com.sistempakarpencernaan;

public class DiagnosisBackwardHasilActivity extends AppCompatActivity {

private ProgressDialog pDialog;

private static final String url =

"https://1755201003.000webhostapp.com/get_hasil_backward.php";

private String hasil;

private Button btn_penyakit;

@Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.activity_diagnosis_backward_hasil);

setTitle("Hasil Diagnosis");

Bundle extras = getIntent().getExtras();

if (extras != null) {

hasil = extras.getString("hasil");

}

btn_penyakit = findViewById(R.id.btn_penyakit);

getHasilDiagnosis();

getHasilDiagnosis();

Dokumen terkait