Menentukan Jenis Gejala Penyakit Berdasarkan Input Pengguna

Algoritma Penentuan Gejala Penyakit Secara Dinamis


Nama: Rizky Delfa Ramadhani
NIM: A11.2024.15687
Universitas: Universitas Dian Nuswantoro (UDINUS)
URL Blog: Eksplorasi Rizky
Tanggal: 18 Januari 2025

Latar Belakang

Dalam kehidupan sehari-hari, banyak orang mengalami gejala penyakit tetapi tidak segera mengetahui kondisi kesehatan mereka. Hal ini dapat menyebabkan keterlambatan dalam mengambil langkah penanganan yang tepat. Dengan perkembangan teknologi, kita dapat membuat program sederhana untuk membantu pengguna memahami kondisi kesehatan mereka berdasarkan gejala yang dirasakan.

Program ini ditujukan untuk memberikan solusi awal berupa diagnosa sederhana berdasarkan tiga gejala umum, yaitu:

  1. Demam
  2. Batuk
  3. Sesak Napas

Tujuan

  1. Mempermudah pengguna dalam menganalisis gejala yang mereka alami.
  2. Memberikan diagnosa awal yang sederhana untuk meningkatkan kesadaran kesehatan.
  3. Meningkatkan kemampuan pengguna dalam mengambil langkah awal sebelum mendapatkan konsultasi medis.

Problem

Bagaimana kita dapat menentukan kemungkinan penyakit berdasarkan kombinasi gejala umum seperti demam, batuk, dan sesak napas?

Detail Masalah

  • Banyak penyakit yang memiliki gejala serupa, sehingga sulit membedakan jenis penyakit hanya berdasarkan gejala secara manual.
  • Kombinasi gejala tertentu dapat menunjukkan jenis penyakit tertentu, tetapi pengguna awam mungkin tidak mengetahui hal ini.

Solusi

Program ini mengatasi masalah tersebut dengan cara:

  1. Mengumpulkan input pengguna: Pengguna diminta menjawab pertanyaan tentang tiga gejala utama.
  2. Menganalisis kombinasi gejala: Menggunakan logika pemrograman untuk menentukan kombinasi gejala.
  3. Menampilkan hasil diagnosa: Program memberikan kemungkinan penyakit berdasarkan kombinasi gejala yang dimasukkan.

Kode Program Lengkap

//      Judul    : Menentukan Jenis Gejala Penyakit // Tannggal : 16 - 10 - 2024 // Pembuat : Rizky Delfa Ramadhani // NIM : A11.2024.15687 // Tempat : Dirumah #include <iostream> #include <string> // Untuk penggunaan string using namespace std; // Kamus string gejala[3]; // Array untuk menyimpan gejala const string namaGejala[3] = {"Demam", "Batuk", "Sesak Napas"}; // Nama gejala // Deskripsi // Algoritma int main() { while(1){\ cout << "\n"; // Mengumpulkan input dari pengguna for (int i = 0; i < 3; i++) { cout << "Apakah anda mengalami " << namaGejala[i] << "? (ya/tidak): "; cin >> gejala[i]; // Menggunakan cin untuk mengumpulkan input } cout << endl; cout << "Hasil Diagnosa: " << endl; // Diagnosa berdasarkan kombinasi gejala if (gejala[0] == "ya" && gejala[1] == "ya" && gejala[2] == "ya") { cout << "Kemungkinan Anda terkena Covid-19." << endl; } else if (gejala[0] == "ya" && gejala[1] == "ya") { cout << "Kemungkinan Anda terkena Flu." << endl; } else if (gejala[0] == "ya" && gejala[2] == "ya") { cout << "Kemungkinan Anda terkena Pneumonia." << endl; } else if (gejala[1] == "ya" && gejala[2] == "ya") { cout << "Kemungkinan Anda mengalami Asma." << endl; } else if (gejala[0] == "ya") { cout << "Anda mungkin hanya demam biasa." << endl; } else if (gejala[1] == "ya") { cout << "Anda mungkin hanya mengalami batuk biasa." << endl; } else if (gejala[2] == "ya") { cout << "Kemungkinan Anda mengalami masalah pernapasan ringan." << endl; } else { cout << "Gejala tidak terdeteksi." << endl; } } return 0; }

Penjelasan Lengkap Kode

1. Header dan Namespace

#include <iostream> #include <string> // Untuk penggunaan string using namespace std;

Header digunakan untuk menyediakan fungsionalitas dasar:

  • <iostream>: Untuk input dan output (fungsi cin dan cout).
  • <string>: Untuk mendukung penggunaan tipe data string, yang memungkinkan kita menangani teks seperti "ya" atau "tidak".
  • using namespace std;: Agar kita tidak perlu menulis std:: di depan fungsi standar seperti cin dan cout.

2. Kamus dan Deklarasi Variabel

string gejala[3]; // Array untuk menyimpan gejala const string namaGejala[3] = {"Demam", "Batuk", "Sesak Napas"}; // Nama gejala
  • Array gejala[3]: Menyimpan jawaban pengguna ("ya" atau "tidak") untuk setiap gejala.
  • Array namaGejala[3]: Berisi nama gejala yang akan ditanyakan kepada pengguna, berupa konstanta karena tidak akan diubah selama program berjalan.

3. Fungsi Utama dan Input Pengguna

for (int i = 0; i < 3; i++) { cout << "Apakah anda mengalami " << namaGejala[i] << "? (ya/tidak): "; cin >> gejala[i]; // Menggunakan cin untuk mengumpulkan input }
  • Loop for: Mengulangi proses input tiga kali, masing-masing untuk satu gejala.
  • cout dan cin: Berfungsi untuk menampilkan pertanyaan kepada pengguna dan menerima jawaban mereka.

4. Logika Diagnosa (Bagian Utama)

Logika diagnosa menggunakan kondisi if-else untuk menentukan hasil berdasarkan kombinasi gejala.

Kasus Semua Gejala
if (gejala[0] == "ya" && gejala[1] == "ya" && gejala[2] == "ya") { cout << "Kemungkinan Anda terkena Covid-19." << endl; }

Jika pengguna menjawab "ya" untuk semua gejala (demam, batuk, sesak napas), maka kemungkinan besar ia terkena Covid-19.

Kasus Kombinasi Dua Gejala
else if (gejala[0] == "ya" && gejala[1] == "ya") { cout << "Kemungkinan Anda terkena Flu." << endl; } else if (gejala[0] == "ya" && gejala[2] == "ya") { cout << "Kemungkinan Anda terkena Pneumonia." << endl; } else if (gejala[1] == "ya" && gejala[2] == "ya") { cout << "Kemungkinan Anda mengalami Asma." << endl; }

Program memeriksa kombinasi dua gejala dan memberikan diagnosa yang sesuai:

  • Demam + Batuk: Flu.
  • Demam + Sesak Napas: Pneumonia.
  • Batuk + Sesak Napas: Asma.
Kasus Satu Gejala
else if (gejala[0] == "ya") { cout << "Anda mungkin hanya demam biasa." << endl; } else if (gejala[1] == "ya") { cout << "Anda mungkin hanya mengalami batuk biasa." << endl; } else if (gejala[2] == "ya") { cout << "Kemungkinan Anda mengalami masalah pernapasan ringan." << endl; }

Jika hanya satu gejala yang dirasakan, program memberikan diagnosa sederhana:

  • Demam saja: Demam biasa.
  • Batuk saja: Batuk biasa.
  • Sesak napas saja: Masalah pernapasan ringan.
Kasus Tidak Ada Gejala
else { cout << "Gejala tidak terdeteksi." << endl; }

Jika tidak ada gejala yang dirasakan, program menyatakan bahwa tidak ada gejala yang terdeteksi.


Contoh Kasus

1. Kasus Semua Gejala

Input:

Demam? (ya/tidak): ya Batuk? (ya/tidak): ya Sesak Napas? (ya/tidak): ya

Output:

Kemungkinan Anda terkena Covid-19.

2. Kasus Kombinasi Dua Gejala

Input:

Demam? (ya/tidak): ya Batuk? (ya/tidak): ya Sesak Napas? (ya/tidak): tidak

Output:

Kemungkinan Anda terkena Flu.

3. Kasus Tanpa Gejala

Input:

Demam? (ya/tidak): tidak Batuk? (ya/tidak): tidak Sesak Napas? (ya/tidak): tidak

Output:

Gejala tidak terdeteksi.

Kesimpulan

Program ini adalah alat bantu sederhana untuk memberikan diagnosa awal berdasarkan gejala yang dirasakan pengguna. Dengan menggunakan input sederhana, program dapat menganalisis kombinasi gejala dan memberikan hasil yang relevan.

Manfaat Program

  1. Memudahkan pengguna untuk memahami kondisi kesehatan mereka.
  2. Meningkatkan kesadaran kesehatan dengan cara yang cepat dan sederhana.

Pengembangan Lebih Lanjut

  1. Menambahkan lebih banyak gejala untuk meningkatkan akurasi diagnosa.
  2. Mengintegrasikan rekomendasi medis seperti langkah awal yang harus dilakukan.
  3. Memanfaatkan teknologi AI untuk analisis gejala yang lebih kompleks.

Dengan program ini, pengguna mendapatkan gambaran awal tentang kondisi kesehatan mereka, meskipun hasilnya tidak menggantikan pemeriksaan medis profesional.

Komentar

Postingan populer dari blog ini

TUGAS TABUNG DAN JAM

Dokumentasi Beberapa Dari Penjelasan Bahasa Pemrograman C++.