0% found this document useful (0 votes)
48 views25 pages

Lampiran 2 (Coding Program)

The document contains code for a Java-based hypertension risk assessment expert system. It includes classes for the main user interface (UI_Pakar), risk calculation interface (UI_HitungResiko), fuzzy logic calculation (CFuzzy), and fuzzification of input variables (EFuzzifikasi). The code implements fuzzification of blood pressure, heart rate, age and BMI inputs, fuzzy inference using Mamdani's method to determine risk, and centroid defuzzification to produce a risk percentage output.

Uploaded by

Yurim Hatamaiya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
48 views25 pages

Lampiran 2 (Coding Program)

The document contains code for a Java-based hypertension risk assessment expert system. It includes classes for the main user interface (UI_Pakar), risk calculation interface (UI_HitungResiko), fuzzy logic calculation (CFuzzy), and fuzzification of input variables (EFuzzifikasi). The code implements fuzzification of blood pressure, heart rate, age and BMI inputs, fuzzy inference using Mamdani's method to determine risk, and centroid defuzzification to produce a risk percentage output.

Uploaded by

Yurim Hatamaiya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 25

LAMPIRAN 2

KODING PROGRAM

1. Kelas UI_Pakar
Nama File : UI_pakar.form
Keterangan
: package hypertension
import gambar.gambar5;
public class UI_Pakar extends javax.swing.JFrame {
public UI_Pakar() {
initComponents();
}
//--------------------------------------------------------------------------private void bRecordDataPasienActionPerformed(java.awt.event.ActionEvent evt)
{
new UI_RecordPasien().setVisible(true);
dispose();
}
//--------------------------------------------------------------------------private void bHitungResikoActionPerformed(java.awt.event.ActionEvent evt) {
new UI_HitungResiko().setVisible(true);
dispose();
}
//--------------------------------------------------------------------------private void bLogoutActionPerformed(java.awt.event.ActionEvent evt) {
new UI_LogIn().setVisible(true);
dispose();
}
//--------------------------------------------------------------------------private void bPerbaikanAturanActionPerformed(java.awt.event.ActionEvent evt)
{
new UI_PerbaikanAturan().setVisible(true);
dispose();
} }
2. Kelas UI_HitungResiko
Nama File : UI_HitungResiko.form
Keterangan
: package hypertension
import gambar.gambar4;
import java.awt.event.KeyEvent;
import javax.swing.JOptionPane;
public class UI_HitungResiko extends javax.swing.JFrame {
private int ResikoHipertensi;
public UI_HitungResiko() {
initComponents();
}
//--------------------------------------------------------------------------private void bKembaliActionPerformed(java.awt.event.ActionEvent evt) {
new UI_Pakar().setVisible(true);
dispose();
}
//--------------------------------------------------------------------------private void bHitungActionPerformed(java.awt.event.ActionEvent evt) {
CFuzzy proses = new CFuzzy();
float BP, HR, Age, BMI, Tinggi, Berat;
BP=Float.parseFloat(textBP.getText());
HR=Float.parseFloat(textHR.getText());
Age=Float.parseFloat(textAge.getText());
Tinggi=Float.parseFloat(textHeight.getText());
Berat=Float.parseFloat(textWeight.getText());
BMI=Berat/((Tinggi/100)*(Tinggi/100));
if(BP>=60 && BP<=300){
if(HR>=40 && HR<=220){
if(Age>=10 && Age<=100){
proses.setnilai(BP, HR, Age, BMI);
proses.HitungRisk();

B-5

ResikoHipertensi=(int)proses.getResikoHipertensiRSS();
textRiskRSS.setText(Integer.toString(ResikoHipertensi)+"%");
ResikoHipertensi=(int)proses.getResikoHipertensiMinMax();
textRiskMinMax.setText(Integer.toString(ResikoHipertensi)+"%");
proses.clearData(); }
else if (Age<10)
{ JOptionPane.showMessageDialog(null, "Umur tidak boleh kurang dari
10 tahun!");}
else
{ JOptionPane.showMessageDialog(null, "Umur tidak boleh lebih dari
100 tahun!");}
}
else if (HR<40)
{ JOptionPane.showMessageDialog(null, "Denyut Jantung tidak boleh
kurang dari 40bps!");}
else
{ JOptionPane.showMessageDialog(null, "Denyut Jantung tidak boleh lebih
dari 220bps!");}
}
else if (BP<60)
{ JOptionPane.showMessageDialog(null, "Tekanan Darah tidak boleh kurang
dari 60mmHg!");}
else
{ JOptionPane.showMessageDialog(null, "Tekanan Darah tidak boleh lebih
dari 300mmHg!");}
textBP.setText("");
textHR.setText("");
textAge.setText("");
textHeight.setText("");
textWeight.setText("");
}
//--------------------------------------------------------------------------private void textAgeKeyTyped(java.awt.event.KeyEvent evt) {
char c = evt.getKeyChar();
if (!((c >= '0') && (c <= '9') || (c == KeyEvent.VK_BACK_SPACE) || (c ==
KeyEvent.VK_DELETE))) {
getToolkit().beep();
evt.consume();
} }
//--------------------------------------------------------------------------private void textHeightKeyTyped(java.awt.event.KeyEvent evt) {
char c = evt.getKeyChar();
if (!((c >= '0') && (c <= '9') || (c == KeyEvent.VK_BACK_SPACE) || (c ==
KeyEvent.VK_DELETE))) {
getToolkit().beep();
evt.consume();
} }
//--------------------------------------------------------------------------private void textWeightKeyTyped(java.awt.event.KeyEvent evt) {
char c = evt.getKeyChar();
if (!((c >= '0') && (c <= '9') || (c == KeyEvent.VK_BACK_SPACE) || (c ==
KeyEvent.VK_DELETE))) {
getToolkit().beep();
evt.consume();
} }
//--------------------------------------------------------------------------private void textHRKeyTyped(java.awt.event.KeyEvent evt) {
char c = evt.getKeyChar();
if (!((c >= '0') && (c <= '9') || (c == KeyEvent.VK_BACK_SPACE) || (c ==
KeyEvent.VK_DELETE))) {
getToolkit().beep();
evt.consume();
} }
//--------------------------------------------------------------------------private void textBPKeyTyped(java.awt.event.KeyEvent evt) {
char c = evt.getKeyChar();
if (!((c >= '0') && (c <= '9') || (c == KeyEvent.VK_BACK_SPACE) || (c ==
KeyEvent.VK_DELETE))) {

B-6

getToolkit().beep();
evt.consume();
}} }
3. Kelas CFuzzy
Nama File : CFuzzy.java
Keterangan
: package hypertension
public class CFuzzy {
private float nilai_BP, nilai_HR, nilai_Age, nilai_BMI;
private float ResikoHipertensiRSS, ResikoHipertensiMinMax;
private float[] temp_miua = new float[4];
private float[] temp_miub = new float[4];
private float[] temp_miuc = new float[4];
private float[] temp_miud = new float[4];
private String[] temp_BP = new String[5];
private String[] temp_HR = new String[5];
private String[] temp_Age = new String[5];
private String[] temp_BMI = new String[5];
EFuzzifikasi ObjFuzzifikasi = new EFuzzifikasi();
EInferensiRSS ObjInferensiRSS = new EInferensiRSS();
EDefuzzifikasiRSS ObjDefuzzifikasiRSS = new EDefuzzifikasiRSS();
EInferensiMinMax ObjInferensiMinMax = new EInferensiMinMax();
EDefuzzifikasiMM ObjDefuzzifikasiMinMax = new EDefuzzifikasiMM();
//-------------------------------------------------------------------------------------------------------------------------void setnilai(float BP, float HR, float Age, float BMI){
nilai_BP=BP;
nilai_HR=HR;
nilai_Age=Age;
nilai_BMI=BMI;
}
//-------------------------------------------------------------------------------------------------------------------------void HitungRisk(){
int i,j,k,l;
int tempjmlh_BP, tempjmlh_HR, tempjmlh_Age, tempjmlh_BMI,
tempjmlh_miue;
String[] Risk = new String[83];
float miueL, miueM, miueH;
String[] temp_risk = new String[4];
float[] temp_miue = new float[6];
//--------------------------------------------Kelas
Fuzzifikasi---------------------------------------------ObjFuzzifikasi.SetBP(nilai_BP);
tempjmlh_BP = ObjFuzzifikasi.Getjmlh_BP();
for (i=1; i<=tempjmlh_BP; i++)
{
temp_miua[i] =
ObjFuzzifikasi.Get_BP(i);
temp_BP[i] = ObjFuzzifikasi.Get_NilaiLinguistikBP(i);
}
ObjFuzzifikasi.SetHR(nilai_HR);
tempjmlh_HR = ObjFuzzifikasi.Getjmlh_HR();
for (j=1; j<=tempjmlh_HR; j++)
{ temp_miub[j] = ObjFuzzifikasi.Get_HR(j);
temp_HR[j] =
ObjFuzzifikasi.Get_NilaiLinguistikHR(j);
}
ObjFuzzifikasi.SetAge(nilai_Age);
tempjmlh_Age = ObjFuzzifikasi.Getjmlh_Age();
for (k=1; k<=tempjmlh_Age; k++)
{ temp_miuc[k] = ObjFuzzifikasi.Get_Age(k);
temp_Age[k] =
ObjFuzzifikasi.Get_NilaiLinguistikAge(k);
}
ObjFuzzifikasi.SetBMI(nilai_BMI);
tempjmlh_BMI = ObjFuzzifikasi.Getjmlh_BMI();

B-7

for (l=1; l<=tempjmlh_BMI; l++)


{ temp_miud[l] = ObjFuzzifikasi.Get_BMI(l);
temp_BMI[l] =
}

ObjFuzzifikasi.Get_NilaiLinguistikBMI(l);
//--------------------------------------------Kelas Inferensi
RSS----------------------------------------------

int x;
for(x=1; x<=81; x++)
{ ObjInferensiRSS.Arrange(x, temp_BP, temp_HR, temp_Age, temp_BMI);
}
for (x=1; x<=81; x++)
{
ObjInferensiRSS.setBP(x, temp_miua, temp_BP);
ObjInferensiRSS.setHR(x, temp_miub, temp_HR);
ObjInferensiRSS.setAge(x, temp_miuc, temp_Age);
ObjInferensiRSS.setBMI(x, temp_miud, temp_BMI);
for(x=1; x<=81; x++)
{
ObjInferensiRSS.minimunNonzero(x);
Risk[x]=ObjInferensiRSS.getRisk(x);

ObjInferensiRSS.grouping(Risk);
miueL=ObjInferensiRSS.getmiueL();
miueM=ObjInferensiRSS.getmiueM();
miueH=ObjInferensiRSS.getmiueH();
//-------------------------------------------Kelas Defuzzifikasi
RSS--------------------------------------------ResikoHipertensiRSS=ObjDefuzzifikasiRSS.centroid(miueL, miueM, miueH);
//------------------------------------------Kelas Inferensi MinMax-------------------------------------------for(i=1; i<=tempjmlh_BP; i++){
for(j=1; j<=tempjmlh_HR; j++){
for(k=1; k<=tempjmlh_Age; k++){
for(l=1; l<=tempjmlh_BMI; l++){
ObjInferensiMinMax.Min_Risk(i, j, k, l, temp_miua, temp_miub,
temp_miuc, temp_miud);
ObjInferensiMinMax.SetRules(i,j,k,l,temp_BP, temp_HR, temp_Age,
temp_BMI);
} } } }
for(i=1; i<=tempjmlh_BP; i++){
for(j=1; j<=tempjmlh_HR; j++){
for(k=1; k<=tempjmlh_Age; k++){
for(l=1; l<=tempjmlh_BMI; l++){
ObjInferensiMinMax.Max_Risk(i, j, k, l);
} } } }
for(i=1; i<=3; i++)
{
temp_miue[i]=ObjInferensiMinMax.Getmiue_max(i);
temp_risk[i]=ObjInferensiMinMax.GetRisk_max(i);
}
tempjmlh_miue=ObjInferensiMinMax.Getjmlh_miue();
//------------------------------------------Kelas Defuzzifikasi MinMax-------------------------------------------for(i=1; i<=5; i++)
{ if(temp_miue[i]>=0)
{
ObjDefuzzifikasiMinMax.Metode_Centroid(temp_miue, tempjmlh_miue,
temp_risk);
} }
ResikoHipertensiMinMax = ObjDefuzzifikasiMinMax.GetResiko();
}

B-8

//-------------------------------------------------------------------------------------------------------------------------float getResikoHipertensiRSS()
{
return ResikoHipertensiRSS;
}
//-------------------------------------------------------------------------------------------------------------------------float getResikoHipertensiMinMax()
{ return ResikoHipertensiMinMax;
}
//-------------------------------------------------------------------------------------------------------------------------void clearData()
{ for(int i=1; i<=3; i++){
temp_miua[i]=999;
temp_miub[i]=999;
temp_miuc[i]=999;
temp_miud[i]=999;
temp_BP[i]=null;
temp_HR[i]=null;
temp_Age[i]=null;
temp_BMI[i]=null; }
}
}
4. Kelas EFuzzifikasi
Nama File : EFuzzifikasi.java
Keterangan
: package hypertension
public class EFuzzifikasi {
private float[] miua = new float[4];
private float[] miub = new float[4];
private float[] miuc = new float[4];
private float[] miud = new float[4];
private int jmlh_BP, jmlh_HR, jmlh_Age, jmlh_BMI;
private String[] NilaiLinguistik_BP = new String[3];
private String[] NilaiLinguistik_HR = new String[3];
private String[] NilaiLinguistik_Age = new String[3];
private String[] NilaiLinguistik_BMI = new String[3];
private String[] BP = new String[5];
private String[] HR = new String[5];
private String[] Age = new String[5];
private String[] BMI = new String[5];
public void SetBP(float nilai_BP) {
int i = 1;
NilaiLinguistik_BP[0] = "L";
NilaiLinguistik_BP[1] = "N";
NilaiLinguistik_BP[2] = "H";
while (i==1)
{ if (nilai_BP>=0 && nilai_BP<115)
{ if (nilai_BP>=100 && nilai_BP<115)
{
miua[i]=(115-nilai_BP)/15; }
else
{
miua[i]=1;
}
BP[i]=NilaiLinguistik_BP[0];
i++;
}
if (nilai_BP>110 && nilai_BP<135)
{ if (nilai_BP>110 && nilai_BP<=125)
{
miua[i] = (nilai_BP-110)/15; }
else
{
miua[i] = (135-nilai_BP)/10; }
BP[i]=NilaiLinguistik_BP[1];
i++;
}
if (nilai_BP>125)

B-9

{ if (nilai_BP>125 && nilai_BP<=130)


{
miua[i] = (nilai_BP-125)/5; }
else if (nilai_BP>130 && nilai_BP<=150)
{
miua[i] = 1;
}
else if (nilai_BP>150 && nilai_BP<180)
{
miua[i] = (180-nilai_BP)/30; }
else
{
miua[i] = 0;
}
BP[i]=NilaiLinguistik_BP[2];
i++;
}
jmlh_BP = i-1;
} }
//-------------------------------------------------------------------------------------------------------------------------void SetHR(float nilai_HR) {
int j = 1;
NilaiLinguistik_HR[0] = "L";
NilaiLinguistik_HR[1] = "M";
NilaiLinguistik_HR[2] = "H";
while (j==1)
{ if (nilai_HR>=0 && nilai_HR<90)
{ if (nilai_HR>=70 && nilai_HR<90)
{
miub[j]=(90-nilai_HR)/20;
}
else
{
miub[j]=1;
}
HR[j]=NilaiLinguistik_HR[0];
j++;
}
if (nilai_HR>75 && nilai_HR<115)
{ if (nilai_HR>75 && nilai_HR<=95)
{miub[j] = (nilai_HR-75)/20; }
else
{miub[j] = (115-nilai_HR)/20; }
HR[j]=NilaiLinguistik_HR[1];
j++;
}
if (nilai_HR>100)
{ if (nilai_HR>100 && nilai_HR<=115)
{
miub[j] = (nilai_HR-100)/15;
}
else
{
miub[j] = 1;
}
HR[j]=NilaiLinguistik_HR[2];
j++;
}
jmlh_HR = j-1;
} }
//-------------------------------------------------------------------------------------------------------------------------void SetAge(float nilai_Age) {
int k = 1;
NilaiLinguistik_Age[0] = "Y";
NilaiLinguistik_Age[1] = "MA";
NilaiLinguistik_Age[2] = "O";
while (k==1)
{ if (nilai_Age>=0 && nilai_Age<25)
{ if (nilai_Age>=0 && nilai_Age<=12)
{
miuc[k]=nilai_Age/12;
}
else
{
miuc[k]=(25-nilai_Age)/13;
}
Age[k]=NilaiLinguistik_Age[0];
k++;
}

B-10

if (nilai_Age>20 && nilai_Age<40)


{ if (nilai_Age>20 && nilai_Age<=30)
{
miuc[k] = (nilai_Age-20)/10;
}
else
{
miuc[k] = (40-nilai_Age)/10;
}
Age[k]=NilaiLinguistik_Age[1];
k++;
}
if (nilai_Age>35)
{ if (nilai_Age>35 && nilai_Age<=60)
{
miuc[k] = (nilai_Age-35)/25;
}
else if (nilai_Age>60 && nilai_Age<80)
{
miuc[k] = (80-nilai_Age)/20;
}
else
{
miuc[k] = 1;
}
Age[k]=NilaiLinguistik_Age[2];
k++;
}
jmlh_Age = k-1;
} }
//-------------------------------------------------------------------------------------------------------------------------void SetBMI(float nilai_BMI) {
int l = 1;
NilaiLinguistik_BMI[0] = "L";
NilaiLinguistik_BMI[1] = "M";
NilaiLinguistik_BMI[2] = "H";
while (l==1)
{ if (nilai_BMI>=0 && nilai_BMI<19)
{ if (nilai_BMI>10 && nilai_BMI<=14)
{
miud[l]=(nilai_BMI-10)/4; }
else if (nilai_BMI>14 && nilai_BMI<19)
{
miud[l]=(19-nilai_BMI)/5;
}
else
{
miud[l]=0;
}
BMI[l]=NilaiLinguistik_BMI[0];
l++;
}
if (nilai_BMI>18 && nilai_BMI<25)
{ if (nilai_BMI>18 && nilai_BMI<=22)
{
miud[l] = (nilai_BMI-18)/4; }
else
{
miud[l] = (25-nilai_BMI)/3; }
BMI[l]=NilaiLinguistik_BMI[1];
l++;
}
if (nilai_BMI>24)
{ if (nilai_BMI>24 && nilai_BMI<=28)
{
miud[l] = (nilai_BMI-24)/4; }
else if (nilai_BMI>28 && nilai_BMI<33)
{
miud[l] = (33-nilai_BMI)/5; }
else
{
miud[l] = 0;
}
BMI[l]=NilaiLinguistik_BMI[2];
l++;
}
jmlh_BMI = l-1;
} }
//-------------------------------------------------------------------------------------------------------------------------int Getjmlh_BP()
{
return jmlh_BP; }

B-11

//-------------------------------------------------------------------------------------------------------------------------int Getjmlh_HR()
{
return jmlh_HR; }
//-------------------------------------------------------------------------------------------------------------------------int Getjmlh_Age()
{
return jmlh_Age;
}
//-------------------------------------------------------------------------------------------------------------------------int Getjmlh_BMI()
{
return jmlh_BMI;
}
//-------------------------------------------------------------------------------------------------------------------------float Get_BP(int i)
{
return miua[i];
}
//-------------------------------------------------------------------------------------------------------------------------float Get_HR(int j)
{
return miub[j];
}
//-------------------------------------------------------------------------------------------------------------------------float Get_Age(int k)
{
return miuc[k]; }
//-------------------------------------------------------------------------------------------------------------------------float Get_BMI(int l)
{
return miud[l];
}
//-------------------------------------------------------------------------------------------------------------------------String Get_NilaiLinguistikBP(int i)
{ return BP[i];
}
//-------------------------------------------------------------------------------------------------------------------------String Get_NilaiLinguistikHR(int j)
{ return HR[j];
}
//-------------------------------------------------------------------------------------------------------------------------String Get_NilaiLinguistikAge(int k)
{ return Age[k];
}
//-------------------------------------------------------------------------------------------------------------------------String Get_NilaiLinguistikBMI(int l)
{ return BMI[l];
}
}
5. Kelas EInferensiRSS
Nama File : EInferensiRSS.java
Keterangan
: package hypertension
import java.awt.HeadlessException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import koneksi.EKoneksi;
public class EInferensiRSS {
private String[][] Risk = new String[6][82];
private float[] miue = new float[82];
private float[][] nilaimiue = new float[6][82];
private float[] miueLow = new float [82];
private float[] miueMedium = new float [82];
private float[] miueHigh = new float [82];
private float miueL, miueM, miueH;
void Arrange(int x, String[] BP, String[] HR, String[] Age, String[] BMI) {

B-12

ResultSet rst;
try{Statement statement = EKoneksi.getConnection().createStatement();
rst=statement.executeQuery("select * from rules where
nomor="+x+";");
while(rst.next()){
if (!rst.getString("BP").equals(BP[1]) && !
rst.getString("BP").equals(BP[2]) && !rst.getString("BP").equals(BP[3]))
{Risk[1][x]="X";
}
else
{Risk[1][x]=rst.getString("BP");
}
if (!rst.getString("HR").equals(HR[1]) && !
rst.getString("HR").equals(HR[2]) && !
rst.getString("HR").equals(HR[3]))
{Risk[2][x]="X";
}
else
{Risk[2][x]=rst.getString("HR");
}
if (!rst.getString("Age").equals(Age[1]) && !
rst.getString("Age").equals(Age[2]) && !
rst.getString("Age").equals(Age[3]))
{
Risk[3][x]="X";
}
else
{
Risk[3][x]=rst.getString("Age");

if (!rst.getString("BMI").equals(BMI[1]) && !
rst.getString("BMI").equals(BMI[2]) && !
rst.getString("BMI").equals(BMI[3]))
{Risk[4][x]="X";
}
else
{Risk[4][x]=rst.getString("BMI");
}
Risk[5][x] = rst.getString("Risk");
}
} catch(SQLException | HeadlessException e){ }
}
//-------------------------------------------------------------------------------------------------------------------------void setBP(int x, float[] miua, String[] BP) {
if (miua[3]==0 && miua[2]==0)
{ if ("L".equals(Risk[1][x]))
{ nilaimiue[1][x]=miua[1];
}
else if ("N".equals(Risk[1][x]))
{ nilaimiue[1][x]=miua[1];
}
else if ("H".equals(Risk[1][x]))
{ nilaimiue[1][x]=miua[1];
}
else
{ nilaimiue[1][x]=999; }
}
else if (miua[3]==0 && miua[2]!=0)
{ if ("L".equals(Risk[1][x]))
{ nilaimiue[1][x]=miua[1];
}
else if ("N".equals(Risk[1][x]) && "N".equals(BP[1]))
{ nilaimiue[1][x]=miua[1];
}
else if ("N".equals(Risk[1][x]) && "N".equals(BP[2]))
{ nilaimiue[1][x]=miua[2];
}
else if ("H".equals(Risk[1][x]) && "H".equals(BP[2]))
{ nilaimiue[1][x]=miua[2];
}
else
{ nilaimiue[1][x]=999; }
}
else
{ if ("L".equals(Risk[1][x]))
{ nilaimiue[1][x]=miua[1];
}

B-13

else if ("N".equals(Risk[1][x]))
{ nilaimiue[1][x]=miua[2];
else if ("H".equals(Risk[1][x]))
{ nilaimiue[1][x]=miua[3];
else
{ nilaimiue[1][x]=999; }

}
}

} }
//-------------------------------------------------------------------------------------------------------------------------void setHR(int x, float[] miub, String[] HR)
{ if (miub[3]==0 && miub[2]==0)
{ if ("L".equals(Risk[2][x]))
{ nilaimiue[2][x]=miub[1];
}
else if ("M".equals(Risk[2][x]))
{ nilaimiue[2][x]=miub[1];
}
else if ("H".equals(Risk[2][x]))
{ nilaimiue[2][x]=miub[1];
}
else
{ nilaimiue[2][x]=999; }
}
else if (miub[3]==0 && miub[2]!=0)
{ if ("L".equals(Risk[2][x]))
{ nilaimiue[2][x]=miub[1];
}
else if ("M".equals(Risk[2][x]) && "M".equals(HR[1]))
{ nilaimiue[2][x]=miub[1];
}
else if ("M".equals(Risk[2][x]) && "M".equals(HR[2]))
{ nilaimiue[2][x]=miub[2];
}
else if ("H".equals(Risk[2][x]) && "H".equals(HR[2]))
{ nilaimiue[2][x]=miub[2];
}
else
{ nilaimiue[2][x]=999; }
}
else
{ if ("L".equals(Risk[2][x]))
{ nilaimiue[2][x]=miub[1];
}
else if ("M".equals(Risk[2][x]))
{ nilaimiue[2][x]=miub[2];
}
else if ("H".equals(Risk[2][x]))
{ nilaimiue[2][x]=miub[3];
}
else
{ nilaimiue[2][x]=999; }
} }
//-------------------------------------------------------------------------------------------------------------------------void setAge(int x, float[] miuc, String[] Age)
{ if (miuc[3]==0 && miuc[2]==0)
{ if ("Y".equals(Risk[3][x]))
{ nilaimiue[3][x]=miuc[1];
}
else if ("MA".equals(Risk[3][x]))
{ nilaimiue[3][x]=miuc[1];
}
else if ("O".equals(Risk[3][x]))
{ nilaimiue[3][x]=miuc[1];
}
else
{ nilaimiue[3][x]=999; }
}
else if (miuc[3]==0 && miuc[2]!=0)
{ if ("Y".equals(Risk[3][x]))
{ nilaimiue[3][x]=miuc[1];
}
else if ("MA".equals(Risk[3][x]) && "MA".equals(Age[1]))
{ nilaimiue[3][x]=miuc[1];
}
else if ("MA".equals(Risk[3][x]) && "MA".equals(Age[2]))
{ nilaimiue[3][x]=miuc[2];
}
else if ("O".equals(Risk[3][x]) && "O".equals(Age[2]))
{ nilaimiue[3][x]=miuc[2];
}

B-14

else
{ nilaimiue[3][x]=999;

}
}
else
{ if ("Y".equals(Risk[3][x]))
{ nilaimiue[3][x]=miuc[1];
}
else if ("MA".equals(Risk[3][x]))
{ nilaimiue[3][x]=miuc[2];
}
else if ("O".equals(Risk[3][x]))
{ nilaimiue[3][x]=miuc[3];
}
else
{ nilaimiue[3][x]=999; }
} }
//-------------------------------------------------------------------------------------------------------------------------void setBMI(int x, float[] miud, String[] BMI)
{ if (miud[3]==0 && miud[2]==0)
{ if ("L".equals(Risk[4][x]))
{ nilaimiue[4][x]=miud[1];
}
else if ("M".equals(Risk[4][x]))
{ nilaimiue[4][x]=miud[1];
}
else if ("H".equals(Risk[4][x]))
{ nilaimiue[4][x]=miud[1];
}
else
{ nilaimiue[4][x]=999; }
}
else if (miud[3]==0 && miud[2]!=0)
{ if ("L".equals(Risk[4][x]))
{ nilaimiue[4][x]=miud[1];
}
else if ("M".equals(Risk[4][x]) && "M".equals(BMI[1]))
{ nilaimiue[4][x]=miud[1];
}
else if ("M".equals(Risk[4][x]) && "M".equals(BMI[2]))
{ nilaimiue[4][x]=miud[2];
}
else if ("H".equals(Risk[4][x]) && "H".equals(BMI[2]))
{ nilaimiue[4][x]=miud[2];
}
else
{ nilaimiue[4][x]=999; }
}
else
{ if ("L".equals(Risk[4][x]))
{ nilaimiue[4][x]=miud[1];
}
else if ("M".equals(Risk[4][x]))
{ nilaimiue[4][x]=miud[2];
}
else if ("H".equals(Risk[4][x]))
{ nilaimiue[4][x]=miud[3];
}
else
{ nilaimiue[4][x]=999; }
} }
//-------------------------------------------------------------------------------------------------------------------------void minimunNonzero(int x){
if (nilaimiue[1][x]!=999 || nilaimiue[2][x]!=999 || nilaimiue[3][x]!=999 ||
nilaimiue[4][x]!=999)
{ if (nilaimiue[1][x]<=nilaimiue[2][x])
{ if (nilaimiue[1][x]<=nilaimiue[3][x])
{ if (nilaimiue[1][x]<=nilaimiue[4][x])
{
miue[x]=nilaimiue[1][x];
}
else
{
miue[x]=nilaimiue[4][x];
}
}
else if (nilaimiue[1][x]>=nilaimiue[3][x])
{
if (nilaimiue[3][x]<=nilaimiue[4][x])
{
miue[x]=nilaimiue[3][x];
}

B-15

else
{
miue[x]=nilaimiue[4][x];
}
}
}
else if (nilaimiue[1][x]>=nilaimiue[2][x])
{ if (nilaimiue[2][x]<=nilaimiue[3][x])
{ if (nilaimiue[2][x]<=nilaimiue[4][x])
{
miue[x]=nilaimiue[2][x];
}
else
{
miue[x]=nilaimiue[4][x];
}
}
else if (nilaimiue[2][x]>=nilaimiue[3][x])
{ if (nilaimiue[3][x]<=nilaimiue[4][x])
{
miue[x]=nilaimiue[3][x];
}
else
{
miue[x]=nilaimiue[4][x];
}
} }}
else
{
miue[x]=0;
}
}
//-------------------------------------------------------------------------------------------------------------------------void grouping(String[] Risk){
int a=1,b=1,c=1;
for (int x=1; x<=81; x++)
{ if ("L".equals(Risk[x]))
{
miueLow[a]=miue[x];
a++;
}
else if ("M".equals(Risk[x]))
{
miueMedium[b]=miue[x];
b++;
}
else if ("H".equals(Risk[x]))
{
miueHigh[c]=miue[x];
c++;
}
}
miueL=0; miueM=0; miueH=0;
for (int i=1; i<=a; i++)
{
miueL=miueL+(miueLow[i]*miueLow[i]);
}
for (int i=1; i<=b; i++)
{
miueM=miueM+(miueMedium[i]*miueMedium[i]);
}
for (int i=1; i<=c; i++)
{
miueH=miueH+
(miueHigh[i]*miueHigh[i]);
}
miueL=(float) Math.sqrt(miueL);
miueM=(float) Math.sqrt(miueM);
miueH=(float) Math.sqrt(miueH);
}
//-------------------------------------------------------------------------------------------------------------------------String getRisk(int x)
{
return Risk[5][x];
}
//-------------------------------------------------------------------------------------------------------------------------float getmiue(int x)
{
return miue[x];
}
//-------------------------------------------------------------------------------------------------------------------------float getmiueLow(int x)
{
return miueLow[x]; }
//-------------------------------------------------------------------------------------------------------------------------float getmiueMedium(int x)
{
return miueMedium[x];
}

B-16

//-------------------------------------------------------------------------------------------------------------------------float getmiueHigh(int x)
{
return miueHigh[x]; }
//-------------------------------------------------------------------------------------------------------------------------float getmiueL()
{
return miueL;
}
//-------------------------------------------------------------------------------------------------------------------------float getmiueM()
{
return miueM;
}
//-------------------------------------------------------------------------------------------------------------------------float getmiueH()
{
return miueH;
}
}
6. Kelas EDefuzzifikasiRSS
Nama File : EDefuzzifikasiRSS.java
Keterangan
: package hypertension
public class EDefuzzifikasiRSS {
private float centerLow, centerMedium, centerHigh;
private float HypertensionRisk;
float centroid(float miueL, float miueM, float miueH){
centerLow=15;
centerMedium=(float) 41.66666667;
centerHigh=70; HypertensionRisk=((miueL*centerLow)+(miueM*centerMedium)
+(miueH*centerHigh))/(miueL+miueM+miueH);
return HypertensionRisk;
}
}
7. Kelas EInferensiMinMax
Nama file : EInferensiMinMax.java
Keterangan
: package hypertension
import java.awt.HeadlessException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import koneksi.EKoneksi;
public class EInferensiMinMax {
int jmlh_miue;
String[] NilaiLinguistik_Risk = new String[3];
String[][][][] Risk = new String[10][10][10][10];
float[][][][] miue = new float[10][10][10][10];
float[] miue_max ={-999, -999, -999, -999};
String[] Risk_max = {"X","X","X","X"};
void SetRules(int i, int j, int k, int l, String[] BP, String[] HR, String[] Age, String[]
BMI)
{
ResultSet rst;
try{
Statement statement = EKoneksi.getConnection().createStatement();
rst=statement.executeQuery("select * from rules;");
while(rst.next()){
if(rst.getString("BP").equals(BP[i]) && rst.getString("HR").equals(HR[j])
&& rst.getString("Age").equals(Age[k]) &&
rst.getString("BMI").equals(BMI[l]))
{ Risk[i][j][k][l] = rst.getString("Risk"); }
}
} catch(SQLException | HeadlessException e){

B-17

} }
//-------------------------------------------------------------------------------------------------------------------------void Min_Risk(int i, int j, int k, int l, float[] miua, float[] miub, float[] miuc,
float[] miud)
{ if (miua[i]<=miub[j] && miua[i]!=0)
{ if (miua[i]<=miuc[k])
{ if (miua[i]<=miud[l])
{
miue[i][j][k][l]=miua[i];
}
else
{
miue[i][j][k][l]=miud[l];
}
}
else if (miua[i]>=miuc[k])
{ if (miuc[k]<=miud[l])
{
miue[i][j][k][l]=miuc[k];
}
else
{
miue[i][j][k][l]=miud[l];
}
}}
else
{ if (miub[j]<=miuc[k])
{ if (miub[j]<=miud[l])
{
miue[i][j][k][l]=miub[j];
}
else
{
miue[i][j][k][l]=miud[l];
}
}
else if (miub[j]>=miuc[k])
{ if (miuc[k]<=miud[l])
{
miue[i][j][k][l]=miuc[k];
}
else
{
miue[i][j][k][l]=miud[l];
}
}}}
//-------------------------------------------------------------------------------------------------------------------------void Max_Risk(int i, int j, int k, int l)
{
NilaiLinguistik_Risk[0] = "L";
NilaiLinguistik_Risk[1] = "M";
NilaiLinguistik_Risk[2] = "H";
int n_miue=1;
if (Risk[i][j][k][l].equals(NilaiLinguistik_Risk[0]))
{Risk_max[1]=Risk[i][j][k][l];
if (miue[i][j][k][l]>=miue_max[1])
{ miue_max[1]=miue[i][j][k][l];
}
}
else if (Risk[i][j][k][l].equals(NilaiLinguistik_Risk[1]))
{Risk_max[2]=Risk[i][j][k][l];
if (miue[i][j][k][l]>=miue_max[2])
{ miue_max[2]=miue[i][j][k][l];
n_miue++;
}
}
else if (Risk[i][j][k][l].equals(NilaiLinguistik_Risk[2]))
{Risk_max[3]=Risk[i][j][k][l];
if (miue[i][j][k][l]>=miue_max[3])
{ miue_max[3]=miue[i][j][k][l];
n_miue++;
}
}
jmlh_miue=n_miue;
}
//-------------------------------------------------------------------------------------------------------------------------String GetRisk_max(int x)
{ return Risk_max[x]; }

B-18

//-------------------------------------------------------------------------------------------------------------------------float Getmiue_max(int x)
{ return miue_max[x]; }
//-------------------------------------------------------------------------------------------------------------------------int Getjmlh_miue()
{
return jmlh_miue;
}
}
8. Kelas EDefuzzifikasiMM
Nama File : EDefuzzifikasiMM.java
Keterangan
: package hypertension
public class EDefuzzifikasiMM {
float[] miue_akhir = new float [13];
float[] Pembilang = new float [4];
float[] Penyebut = new float [4];
float ResikoHipertensi;
void Metode_Centroid(float[] miue_max, int jmlhn_miue, String[] Risk_max)
{
int i;
int j;
float nPembilang = 0;
float nPenyebut = 0;
String[] NilaiLinguistik_Risk = new String[3];
NilaiLinguistik_Risk[0] = "L";
NilaiLinguistik_Risk[1] = "M";
NilaiLinguistik_Risk[2] = "H";

for (i=0; i<=3; i++)


Pembilang[i]=0;
Penyebut[i]=0; }
for (i=1; i<=3; i++)
{if (Risk_max[i].equals(NilaiLinguistik_Risk[0]))
{ float[] x = {0,5,10,15,20,25,30};
for (j=0; j<7; j++)
{ if ((x[j]>=0 )&& (x[j]<=15))
{ miue_akhir[j]=x[j]/15;
if (miue_akhir[j]>=miue_max[1])
{
miue_akhir[j]=miue_max[1]; }
}
else if ((x[j]>15 )&& (x[j]<=30))
{ miue_akhir[j]=(30-x[j])/15;
if (miue_akhir[j]>=miue_max[1])
{
miue_akhir[j]=miue_max[1];

}
}
Pembilang[i] = Pembilang[i] + (x[j]*miue_akhir[j]);
Penyebut[i] = Penyebut[i] + miue_akhir[j];
}}
else if (Risk_max[i].equals(NilaiLinguistik_Risk[1]))
{ float[] x = {25,30,35,40,45,50,55,60};
for (j=0; j<8; j++)
{ if ((x[j]>=25 )&& (x[j]<=40))
{
miue_akhir[j]=(x[j]-25)/15;
if (miue_akhir[j]>=miue_max[2])
{
miue_akhir[j]=miue_max[2]; }
}
else if ((x[j]>40 )&& (x[j]<=60))
{ miue_akhir[j]=(60-x[j])/20;
if (miue_akhir[j]>=miue_max[2])
{
miue_akhir[j]=miue_max[2]; }
}

B-19

Pembilang[i] = Pembilang[i] + (x[j]*miue_akhir[j]);


Penyebut[i] = Penyebut[i] + miue_akhir[j];
} }
else if (Risk_max[i].equals(NilaiLinguistik_Risk[2]))
{ float[] x = {45,50,55,60,65,70,75,80,85,90,95,100};
for (j=0; j<12; j++)
{ if ((x[j]>=45 )&& (x[j]<=65))
{
miue_akhir[j]=(x[j]-45)/20;
if (miue_akhir[j]>=miue_max[3])
{
miue_akhir[j]=miue_max[3]; }
}
else if ((x[j]>65 )&& (x[j]<=100))
{ miue_akhir[j]=(100-x[j])/35;
if (miue_akhir[j]>=miue_max[3])
{
miue_akhir[j]=miue_max[3];
}
}
Pembilang[i] = Pembilang[i] + (x[j]*miue_akhir[j]);
Penyebut[i] = Penyebut[i] + miue_akhir[j];
}}
nPembilang = nPembilang+Pembilang[i];
nPenyebut = nPenyebut+Penyebut[i];
}
ResikoHipertensi = nPembilang/nPenyebut;
}
//-------------------------------------------------------------------------------------------------------------------------float GetResiko()
{ return ResikoHipertensi; }
}
9. Kelas UI_Login
Nama file : UI_Login.form
Keterangan
: package hypertension
import gambar.gambar5;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import javax.swing.JOptionPane;
public class UI_LogIn extends javax.swing.JFrame {
public UI_LogIn() {
initComponents();
}
//-------------------------------------------------------------------------------------------------------------------------private void bloginActionPerformed(java.awt.event.ActionEvent evt) {
Boolean passadm,pass;
Boolean admin,pakar;
CLogin clogin = new CLogin();
if("".equals(vusername.getText()) || "".equals(vpassword.getText())){
JOptionPane.showMessageDialog(null,"Semua data harus diisi!"); }
else{
admin=clogin.cekusernameadmin(vusername.getText());
pakar=clogin.cekusernamepakar(vusername.getText());
passadm=clogin.cekpasswordadmin(vpassword.getText());
pass=clogin.cekpasswordpakar(vpassword.getText());
if(admin.equals(true)){
if(passadm.equals(true)){
new UI_DaftarPasien().setVisible(true);
dispose();
}else{
JOptionPane.showMessageDialog(null,"password yang dimasukkan
salah!");
vpassword.setText("");

B-20

vpassword.requestFocus();
} }
else if(pakar.equals(true)){
if(pass.equals(true)){
new UI_Pakar().setVisible(true);
dispose();
}else{
JOptionPane.showMessageDialog(null,"password yang dimasukkan
salah!");
vpassword.setText("");
vpassword.requestFocus();
} }
else{
JOptionPane.showMessageDialog(null, "username yang dimasukkan
salah!");
vusername.setText("");
vpassword.setText("");
vusername.requestFocus();
} } }
//-------------------------------------------------------------------------------------------------------------------------private void bcancelActionPerformed(java.awt.event.ActionEvent evt) {
new UI_Pakar().setVisible(true);
dispose();
}
10. Kelas CLogin
Nama File : CLogin.java
Keterangan
: package hypertension
import java.awt.HeadlessException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import koneksi.EKoneksi;
public class CLogin {
private ResultSet res;
Boolean cekusernameadmin(String username){
String a = null;
try (Statement statement = EKoneksi.getConnection().createStatement()) {
res = statement.executeQuery("select * from accountadm where
username='"+username+"'");
while(res.next()){
a=res.getString("username");
}
} catch(SQLException | HeadlessException e){}
if(username.equals(a)){
return true;
}else{
return false;
} }
//-------------------------------------------------------------------------------------------------------------------------Boolean cekusernamepakar(String username){
//Boolean a = null;
String a = null;
try (Statement statement = EKoneksi.getConnection().createStatement()) {
res = statement.executeQuery("select * from accountpakar where
username='"+username+"'");
while(res.next()){
a=res.getString("username");
}
} catch(SQLException | HeadlessException e){}

B-21

if(username.equals(a)){
return true;
}else{
return false;
} }
//-------------------------------------------------------------------------------------------------------------------------Boolean cekpasswordadmin(String password){
String a = null;
try (Statement statement = EKoneksi.getConnection().createStatement()) {
res = statement.executeQuery("select * from accountadm where
password='"+password+"'");
while(res.next()){
a=res.getString("password");
}
} catch(SQLException | HeadlessException e){}
if(password.equals(a)){
return true;
}else{
return false;
} }
//-------------------------------------------------------------------------------------------------------------------------Boolean cekpasswordpakar(String password){
String a = null;
try (Statement statement = EKoneksi.getConnection().createStatement()) {
res = statement.executeQuery("select * from accountpakar where
password='"+password+"'");
while(res.next()){
a=res.getString("password");
}
} catch(SQLException | HeadlessException e){}
if(password.equals(a)){
return true;
}else{
return false;
} }
11. Kelas UI_PerbaikanAturan
Nama File : UI_PerbaikanAturan.form
Keterangan
: package hypertension
import gambar.gambar4;
import javax.swing.JOptionPane;
public class UI_BPerbaikanAturan extends javax.swing.JFrame {
CPerbaikanAturan Base = new CPerbaikanAturan);
public UI_PerbaikanAturan() {
initComponents();
jTable1.setModel(Base.showDB2());
}
//-------------------------------------------------------------------------------------------------------------------------private void blogoutActionPerformed(java.awt.event.ActionEvent evt) {
new UI_Pakar().setVisible(true);
dispose();
}
//-------------------------------------------------------------------------------------------------------------------------private void bsimpanActionPerformed(java.awt.event.ActionEvent evt) {
if ("- none -".equals(String.valueOf(comboBP2.getSelectedItem()))||"- none
-".equals(String.valueOf(comboHR2.getSelectedItem()))||"- none
-".equals(String.valueOf(comboAge2.getSelectedItem()))||"- none
-".equals(String.valueOf(comboBMI2.getSelectedItem()))||"- none
-".equals(String.valueOf(comboRisk2.getSelectedItem())))

B-22

{ JOptionPane.showMessageDialog(null, "Semua data harus dipilih!"); }


else
{
Base.setValues(String.valueOf(comboBP2.getSelectedItem()),
String.valueOf(comboHR2.getSelectedItem()),
String.valueOf(comboAge2.getSelectedItem()),
String.valueOf(comboBMI2.getSelectedItem()),
String.valueOf(comboRisk2.getSelectedItem()));
String a=Base.getValueBP();
String b=Base.getValueHR();
String c=Base.getValueAge();
String d=Base.getValueBMI();
String ee=Base.getValueRisk();
Base.updateRules(a,b,c,d,ee);
JOptionPane.showMessageDialog(null, "Rule berhasil di update!");
jTable1.setModel(Base.showDB2());
} }
12. Kelas CPerbaikanAturan
Nama File : CPerbaikanAturan.java
Keterangan
: package hypertension
import java.awt.HeadlessException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import koneksi.EKoneksi;
public class CPerbaikanAturan{
String BP,HR,Age,BMI,Risk;
public void setValues(String comboBP, String comboHR, String comboAge, String
comboBMI, String comboRisk)
{BP=comboBP;
HR=comboHR;
Age=comboAge;
BMI=comboBMI;
Risk=comboRisk;
}
//-------------------------------------------------------------------------------------------------------------------------public String getValueBP(){
switch (BP) {
case "Low":
return "L";
case "Normal":
return "N";
default: return "H";
}
}
//-------------------------------------------------------------------------------------------------------------------------public String getValueHR(){
switch (HR) {
case "Low":
return "L";
case "Medium":
return "M";
default: return "H"; }
}
//-------------------------------------------------------------------------------------------------------------------------public String getValueAge(){
switch (Age) {
case "Young":
return "Y";

B-23

case "Middle Age":


return "MA";
default: return "O"; }
}
//-------------------------------------------------------------------------------------------------------------------------public String getValueBMI(){
switch (BMI) {
case "Low":
return "L";
case "Medium":
return "M";
default: return "H"; }
}
//-------------------------------------------------------------------------------------------------------------------------public String getValueRisk(){
switch (Risk) {
case "Low":
return "L";
case "Medium":
return "M";
default: return "H"; }
}
//-------------------------------------------------------------------------------------------------------------------------public void updateRules(String a,String b,String c,String d,String ee){
try (Statement statement = EKoneksi.getConnection().createStatement()) {
statement.executeUpdate("update rules set Risk='"+ee+"' where
BP='"+a+"' and HR='"+b+"' and Age='"+c+"' and BMI='"+d+"';");
}catch (SQLException | HeadlessException e) {}
}
//-------------------------------------------------------------------------------------------------------------------------public TableModel showDB2(){
DefaultTableModel tabelrecord = new DefaultTableModel();
ResultSet rs;
tabelrecord.addColumn("Blood Pressure");
tabelrecord.addColumn("Heart Rate");
tabelrecord.addColumn("Age");
tabelrecord.addColumn("BMI");
tabelrecord.addColumn("Risk");
try (Statement st = EKoneksi.getConnection().createStatement()){
String SQL = "select * from rules";
rs = st.executeQuery(SQL);
while (rs.next()){
tabelrecord.addRow(new Object[]
{rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getString(5)
});
}
} catch (Exception e) {}
return tabelrecord;
} }
13. Kelas UI_Daftar
Nama File : UI_DaftarPasien.java
Keterangan
: package hypertension
public class UI_DaftarPasien extends javax.swing.JFrame {
CDaftarPasien Objdatapasien = new CDaftarPasien();
private void textIDKeyReleased(java.awt.event.KeyEvent evt) {
String id=Objdatapasien.getID(textID.getText());
if(id!=null){
Objdatapasien.cekdata(textID.getText(), textnama, comboJK, textalamat,
texttelpon);

B-24

bsimpan.setText("Update");
}
else{
bsimpan.setText("Simpan");
comboJK.setSelectedItem("- none -");
textalamat.setText("");
texttelpon.setText("");
}
}
//-------------------------------------------------------------------------------------------------------------------------private void bkembaliActionPerformed(java.awt.event.ActionEvent evt) {
new UI_LogIn().setVisible(true);
dispose();
}
//-------------------------------------------------------------------------------------------------------------------------private void bsimpanActionPerformed(java.awt.event.ActionEvent evt) {
String id;
id=Objdatapasien.getID(textID.getText());
if(id!=null){
Objdatapasien.updatedata(textID.getText(), textnama.getText(),
String.valueOf(comboJK.getSelectedItem()), textalamat.getText(),
texttelpon.getText());
}
else{
Objdatapasien.simpandata(textID.getText(), textnama.getText(),
String.valueOf(comboJK.getSelectedItem()), textalamat.getText(),
texttelpon.getText());
} }
//-------------------------------------------------------------------------------------------------------------------------private void formWindowActivated(java.awt.event.WindowEvent evt) {
int b;
b=Objdatapasien.IDpasien();
if(b<=9){
textID.setText("00"+b);
}
else if(b>=10&&b<=99){
textID.setText("0"+b);
}
else{
textID.setText(Integer.toString(b));
} }
//-------------------------------------------------------------------------------------------------------------------------private void textIDKeyTyped(java.awt.event.KeyEvent evt) {
char c = evt.getKeyChar();
String kode=textID.getText();
if (!((kode.length()<3 && c >= '0') && (c <= '9') || (c ==
KeyEvent.VK_BACK_SPACE) || (c == KeyEvent.VK_DELETE))) {
getToolkit().beep();
evt.consume();
} }
14. Kelas CDaftarPasien
Nama File : CDaftarPasien.java
Keterangan
: package hypertension
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JComboBox;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import koneksi.EKoneksi;
public class CDaftarPasien {

B-25

void cekdata(String id, JTextField textnama, JComboBox comboJK, JTextArea


textalamat, JTextField texttelpon){
ResultSet rs;
try (Statement st = EKoneksi.getConnection().createStatement()){
rs = st.executeQuery("select * from datapasien where
id_pasien='"+id+"';");
while(rs.next()){
textnama.setText(rs.getString("nama"));
textalamat.setText(rs.getString("alamat"));
comboJK.setSelectedItem(rs.getString("jeniskelamin"));
texttelpon.setText(rs.getString("telpon"));
}
} catch (Exception e) {
}
}
//-------------------------------------------------------------------------------------------------------------------------void simpandata(String id, String nama, String JK, String alamat, String telpon){
try {
Statement st = EKoneksi.getConnection().createStatement();
st.executeUpdate("INSERT INTO datapasien VALUES ('"+id+"',
'"+nama+"', '"+JK+"', '"+alamat+"', '"+telpon+"');");
} catch (Exception e) {}
}
void updatedata(String id, String nama, String JK, String alamat, String telpon){
try {
Statement st = EKoneksi.getConnection().createStatement();
st.executeUpdate("UPDATE datapasien SET nama='"+nama+"',
jeniskelamin='"+JK+"', alamat='"+alamat+"', telpon='"+telpon+"' WHERE
id_pasien='"+id+"';");
} catch (Exception e) {}
}
//-------------------------------------------------------------------------------------------------------------------------public String getID(String id_pasien){
String id = null;
ResultSet rst;
try{
Statement statement = EKoneksi.getConnection().createStatement();
rst = statement.executeQuery("select id_pasien from datapasien where
id_pasien='"+id_pasien+"'");
while(rst.next()){
id = rst.getString("id_pasien");
}
} catch(Exception e){
}
return id;
}
//-------------------------------------------------------------------------------------------------------------------------public int IDpasien(){
ResultSet rs;
int a=0;
try (Statement st = EKoneksi.getConnection().createStatement()){
rs = st.executeQuery("select id_pasien from datapasien;");
while(rs.next()){
a=Integer.parseInt(rs.getString("id_pasien"));
}
} catch (Exception e) {
}
return a+1;
} }
15. Kelas UI_RecordPasien

B-26

Nama File : UI_RecordPasien.form


Keterangan
: package hypertension
public class UI_RecordPasien extends javax.swing.JFrame {
CRecordPasien Objrecord = new CRecordPasien();
private void bsemuaActionPerformed(java.awt.event.ActionEvent evt) {
jTable1.setModel(Objrecord.showAllRecord());
Objrecord.lebarKolomSemua(jTable1);
vkode.setText("");
labelnama.setText("");
}
//-------------------------------------------------------------------------------------------------------------------------private void blogoutActionPerformed(java.awt.event.ActionEvent evt) {
new UI_Pakar().setVisible(true);
dispose(); }
//-------------------------------------------------------------------------------------------------------------------------private void vkodeKeyReleased(java.awt.event.KeyEvent evt) {
String nama;
labelnama.setText("");
nama= Objrecord.getNama(vkode.getText());
if(!"".equals(nama)){
labelnama.setText(nama);
jTable1.setModel(Objrecord.showRecordbyCode(vkode.getText()));
Objrecord.lebarKolom(jTable1);
labelnama.setText(Objrecord.getNama(vkode.getText()));
}
}
//-------------------------------------------------------------------------------------------------------------------------private void vkodeKeyTyped(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
char c = evt.getKeyChar();
String kode=vkode.getText();
if (!((kode.length()<3 && c >= '0') && (c <= '9') || (c ==
KeyEvent.VK_BACK_SPACE) || (c == KeyEvent.VK_DELETE))) {
getToolkit().beep();
evt.consume();
} } }
16. Kelas CRecordPasien
Nama File : CRecordPasien.java
Keterangan
: package koneksi
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
import javax.swing.table.TableModel;
import koneksi.EKoneksi;
public class CRecordPasien {
public TableModel showAllRecord(){
DefaultTableModel tabelrecord = new DefaultTableModel();
ResultSet rs;
tabelrecord.addColumn("ID Pasien");
tabelrecord.addColumn("Tanggal");
tabelrecord.addColumn("Nama");
tabelrecord.addColumn("Tekanan Darah");
tabelrecord.addColumn("Denyut Jantung");
tabelrecord.addColumn("Umur");
tabelrecord.addColumn("Tinggi");
tabelrecord.addColumn("Berat");

B-27

tabelrecord.addColumn("Risk RSS");
tabelrecord.addColumn("Risk Min-Max");
try (Statement st = EKoneksi.getConnection().createStatement()){
rs = st.executeQuery("select r.id_pasien, tanggal, d.nama, BP, HR, Age,
Tinggi, Berat, RSSrisk, MMrisk from recorddata r, datapasien d where
r.id_pasien=d.id_pasien;");
while (rs.next()){
tabelrecord.addRow(new Object[]
{rs.getString(1),rs.getDate(2),rs.getString(3),rs.getInt(4),rs.getInt(5),rs.getInt(6),rs.
getInt(7),rs.getInt(8),rs.getFloat(9),rs.getFloat(10)});
}
} catch (Exception e) {
}
return tabelrecord;
}
//-------------------------------------------------------------------------------------------------------------------------public TableModel showRecordbyCode(String id){
DefaultTableModel tabelrecord = new DefaultTableModel();
ResultSet rs;
tabelrecord.addColumn("Tanggal");
tabelrecord.addColumn("Tekanan Darah");
tabelrecord.addColumn("Denyut Jantung");
tabelrecord.addColumn("Umur");
tabelrecord.addColumn("Tinggi");
tabelrecord.addColumn("Berat");
tabelrecord.addColumn("Risk RSS");
tabelrecord.addColumn("Risk Min-Max");
try (Statement st = EKoneksi.getConnection().createStatement()){
String SQL = "select tanggal, BP, HR, Age, Tinggi, Berat, RSSrisk, MMrisk
from recorddata r, datapasien d where r.id_pasien=d.id_pasien and
r.id_pasien='"+id+"'";
rs = st.executeQuery(SQL);
while (rs.next()){
tabelrecord.addRow(new Object[]
{rs.getDate(1),rs.getInt(2),rs.getInt(3),rs.getInt(4),rs.getInt(5),rs.getInt(6),rs.getFlo
at(7),rs.getFloat(8)});
}
} catch (Exception e) {
}
return tabelrecord;
}
//-------------------------------------------------------------------------------------------------------------------------public String getNama(String id){
String nama = null;
ResultSet rst;
try{
Statement statement = EKoneksi.getConnection().createStatement();
rst = statement.executeQuery("select nama from datapasien where
id_pasien='"+id+"'");
while(rst.next()){
nama = rst.getString("nama");
}
} catch(SQLException e){
}
return nama;
}
//-------------------------------------------------------------------------------------------------------------------------public void lebarKolomSemua(JTable jTable1){
TableColumn column;
jTable1.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);

B-28

column = jTable1.getColumn("ID Pasien");


column.setPreferredWidth(80);
column = jTable1.getColumn("Tanggal");
column.setPreferredWidth(75);
column = jTable1.getColumn("Nama");
column.setPreferredWidth(125);
column = jTable1.getColumn("Tekanan Darah");
column.setPreferredWidth(100);
column = jTable1.getColumn("Denyut Jantung");
column.setPreferredWidth(100);
column = jTable1.getColumn("Umur");
column.setPreferredWidth(55);
column = jTable1.getColumn("Tinggi");
column.setPreferredWidth(55);
column = jTable1.getColumn("Berat");
column.setPreferredWidth(55);
column = jTable1.getColumn("Risk RSS");
column.setPreferredWidth(95);
column = jTable1.getColumn("Risk Min-Max");
column.setPreferredWidth(100);
}
//-------------------------------------------------------------------------------------------------------------------------public void lebarKolom(JTable jTable1){
TableColumn column;
jTable1.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);
column = jTable1.getColumn("Tanggal");
column.setPreferredWidth(120);
column = jTable1.getColumn("Tekanan Darah");
column.setPreferredWidth(120);
column = jTable1.getColumn("Denyut Jantung");
column.setPreferredWidth(120);
column = jTable1.getColumn("Umur");
column.setPreferredWidth(85);
column = jTable1.getColumn("Tinggi");
column.setPreferredWidth(90);
column = jTable1.getColumn("Berat");
column.setPreferredWidth(85);
column = jTable1.getColumn("Risk RSS");
column.setPreferredWidth(110);
column = jTable1.getColumn("Risk Min-Max");
column.setPreferredWidth(110);
} }
17. Kelas EKoneksi
Nama File : EKoneksi.java
Keterangan
: package koneksi
import com.mysql.jdbc.Driver;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class EKoneksi {
private static Connection koneksi;
public static Connection getConnection() throws SQLException{
if(koneksi == null){
Driver driver = new Driver();
koneksi =
DriverManager.getConnection("jdbc:mysql://localhost:3306/hypertension","ro
ot","root");
}
return koneksi;
} }

B-29

You might also like