RANCANG BANGUN ALAT UKUR SUHU TUBUH, DETAK JANTUNG, DAN TEKANAN DARAH PADA MANUSIA BERBASIS ARDUINO UNO

PRINSIP KERJA ALAT:

Rancang bangun pengukuran suhu tubuh, detak jantung dan tekanan darah pada manusia baik itu perangkat keras (hardware) maupun perangkat lunak (software) telah selesai di rancang dan bekerja dengan baik. Dimana prinsip kerja dari alat ini adalah pada saat Arduino dalam keadaan aktif maka port Arduino akan terdeteksi oleh aplikasi delphi, kemudian tombol aktif sensor ditekan makan delphi akan mengirimkan sinyal dalam kode tertentu ke Arduino untuk mengaktifkan sensor, dimana angka 1 untuk suhu tubuh yang terhubung secara serial, angka 2 untuk detak jantung yaitu pulse sensor yang terhubung dengan pin A2 arduino uno, dan angka 3 untuk tekanan darah yaitu sensor MPX5700DP yang terhubung dengan pin A0 pada Arduino. Jadi saat tombol untuk mengaktifkan sensor ditekan maka sensor aktif dan mulai melakukan pengukuran kemudian nilai yang di input oleh sensor akan di kirim ke Arduino lalu diolah menjadi suhu, detak jantung dan atau tekanan darah.

Setelah nilai didapatkan Arduino akan mengirimkan ke delphi melalui komunikasi serial, lalu saat data telah diterima oleh aplikasi delphi, delphi akan melakukan parsing data untuk menentukan nilai suhu, detak jantung dan tekanan darah. Setelah itu berdasarkan nilai yang diperoleh delphi akan menetukan nilai normal atau tiidak normal berdasarkan beberapa parameter yaitu tinggi badan, jenis kelamin, berat badan dan umur, akan tetapi dikarenakan Sebagian parameter minim pengaruh terhadap nilai normal maka dalam penentuannya dugunakan umur untuk mempertimbangkan apakah nilai yang diperoleh dari hasil pengukuran normal atau tidak.  

Rangkaian alat:

1.Rangkaian sensor mlx90614 dengan arduino uno


Prinsip kerja dari sensor MLX90614 ini untuk mendeteksi radiasi inframerah yang memiliki panjang gelombang 5,5 μm hingga 14 μm. Langkah perancangan sensor yaitu dengan menghubungkan Arduino uno dengan sensor MLX90614 yang memiliki 4 buah pin yaitu Vin, GND, SCL, SDA. Pin Vin dihubungkan dengan pin 5V pada Arduino uno, pin GND dihubungkan ke GND pada Arduino uno, pin SCL dihubungkan ke A5 pada Arduino uno, dan pin SDA dihubungkan dengan pin A4 Arduino Nano. Rangkaian berfungsi untuk memonitori perubahan suhu yang terdeteksi berdasarkan jarak objek dari sensor. Untuk mengetahui rangkaian secara garis besar dapat dilihat pada gambar diatas.


2. Rangkaian pulse sensor dengan arduino uno

Detak jantung manusia bisa diukur melalui denyut nadi. Denyut nadi terjadi sebagai respon terhadap detak jantung manusia, berdasarkan berapa kali pembuluh darah bersih (arteri) berkontraksi dalam satuan menit. Pengukuran denyut nadi sama dengan pengukuran detak jantung manusia. Secara manual, detak jantung manusia bisa diukur dengan cara menempatkan ujung telunjuk dan jari tengah di sisi telapak pergelangan tangan.

            Dari rangkaian sensor detak jantung, pin sinyal detak jantung dihubungkan dengan pin A1 pada Arduino uno, dan GND dan VCC sensor dihubungkan dengan GND dan VCC pada Arduino nano. Untuk mengetahui rangkaian secara garis besar dapat dilihat pada gambar diatas. 

3. Rangkaian sensor mpx5700dp dengan arduino uno 

Dalam perancangan perangkat keras untuk mengukur tekanan darah digunakan sensor MPX5700DP yang diintegrasikan dengan manset cuff, solenoid dan motor dc, dan mikrokontroler sebagai pengolah dan analisis tekakan darah. Dalam rangkaian pin sensor sinyal output dihubungkan dengan pin A0 pada Arduino uno, dan pin GND serta VCC dihubungkan dengan GND dan VCC pada Arduino uno. Untuk mengetahui rangkaian secara garis besar dapat dilihat pada gambar diatas.


4. Keseluruhan rangakain alat


Pada gambar diatas merupakan gambar rangkaian dari keseluruhan alat yang akan dibuat oleh peneliti, dimana pada rangkaian diatas semua komponen dihubungkan menjadi satu rangkaian, pada rangkaian diatas semua komponen dihubungkan dengan Arduino uno mulai dari sensor MPX5700DP, sensor MLX90614, dan pulse sensor. Mikrokontroler Arduino uno berfungsi sebagai prosesor dan pengolahan data, sensor berfungsi sebagai penginput data parameter pengukuran.


Program arduino Uno:

#include <Wire.h>
#include <Adafruit_MLX90614.h>
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
#define USE_ARDUINO_INTERRUPTS true
#include <PulseSensorPlayground.h>
PulseSensorPlayground pulseSensor; 
const int PulseWire = A2; //pin pulse sensor  
int Sensor_tekanan = A0;//pin sensor mpx5700dp 
const int LED13 = 13; //led indikator pulse sensor     
int Threshold = 550; // nilai pembanding pulse sensor
int waktu, waktu_pulsa, bpm, nilai; 
int pulsa; 
char str;
int diastole, sistole; 
int darah1, darah2, selisih; 
int insialisai = 0 ; 
int tekanan_darah;
int data_puncak = 180; //tekanan tertinggi 
int data_systole = 2; //nilai awal sistole
int data_diastole = 18; //nilai daistole
int data_detak = 2;//nilai awal detak

void setup(){ 
 Serial.begin(9600);
 Serial.println("Adafruit MLX90614 test");  
  mlx.begin();
  pulseSensor.begin();    
  pulseSensor.analogInput(PulseWire);   
  pulseSensor.blinkOnPulse(LED13);      
  pulseSensor.setThreshold(Threshold);  
 pinMode(6, OUTPUT);//pompa
 pinMode(7, OUTPUT);//selenoid
 pinMode(8, OUTPUT);//LED SUHU 
 pompa(); 
 if (insialisai > 5) { 
 Serial.println("Tensimeter ON");
 Serial.println("BPM ON"); 
 } 
 else { 
 goto ulang; 
 }    
 pompa();
 selenoid();
 delay(1000);
  }
void loop() { 
  digitalWrite(8, LOW);
  if(Serial.available()>0)
{
 str = Serial.read();
 if(str == '1'){
   digitalWrite(8, HIGH);
   suhu();
}
 if(str == '2'){
   jantung();
    }
if(str == '3'){
  pompa_manset();
   }
  } 
}
void pompa_manset(){ 
 bpm = 0; 
  Serial.println("Memompa...");
mati();
 delay(500); 
 bool a = 1; 
 while (a == true) { 
 Sensor_tekanan = analogRead(A0); 
 Serial.println(Sensor_tekanan);
 konversi(); 
 if (tekanan_darah > data_puncak) {
  pompa();  
  pengukuran();
 a = false; 
    } 
  } 
}
 void pengukuran() { 
 delay(300); 
 int kunci = 3, kunci2 = 1, kunci_diastole = 0; 
 data_diastole = 18; 
 Serial.print("Calculating...");
 bool a = true; 
 while (a == true) { 
 Sensor_tekanan = analogRead(A0);
 konversi();  
 darah1 = Sensor_tekanan; 
 if (darah1 > darah2) { 
 selisih = darah1 - darah2; 
 if (kunci2 == 1) { 
 if (selisih >= data_systole) { 
 if (selisih < 6) { 
 sistole = tekanan_darah; 
 kunci = 1; 
 kunci2 = 2; 
      } 
    } 
 } 
 if (kunci == 1) { 
 if (selisih >= data_detak) { 
 kunci_diastole = 0; 
 bpm++; 
 Serial.println("+");
 Serial.print("gpm : "); 
 Serial.println(bpm); 
 Serial.print("nilai : ");
 Serial.println(nilai); 
 } 
 } 
 //LEtak program....... 
 if (kunci == 1) { 
 if (selisih <= 1) { 
 if (Sensor_tekanan <= 63) { 
 kunci_diastole++; 
 data_diastole = 15; 
 } 
 } 
 if (Sensor_tekanan < 50) { 
 diastole = sistole - 40 + selisih; 
 goto skip; 
 } 
 if (kunci_diastole >= data_diastole) { 
 diastole = tekanan_darah; 
skip:  
 waktu = nilai / 10; 
 waktu_pulsa = 60 / waktu; 
 pulsa = bpm * waktu_pulsa; 
 pompa();
 selenoid();
 nilai = 0; 
 bpm = 0; 
  kirim_data();
 a = false;
  } 
 } 
 if (kunci == 1) { 
 nilai++; 
 } 
 delay(100); 
 } 
 darah2 = darah1; 
 Serial.println(tekanan_darah);
 Serial.println(" "); 
 }
}
void kirim_data() { 
 String keterangan, keterangan2; 
 if (sistole > 130) { 
 if (diastole > 80) { 
 keterangan = "Naik / "; 
  } 
 } 
 else if (sistole < 90) { 
 if (diastole < 60) { 
 keterangan = "Turun / "; 
  } 
 } 
 else { 
 keterangan = "Normal / ";
 } 
 if (pulsa > 60) { 
 if (pulsa <= 100) { 
 keterangan2 = "Normal"; 
  } 
 } 
 else if (pulsa <= 60) { 
 keterangan2 = "Tidak Normal"; 
 } 
 else { 
 keterangan2 = "Tidak Teratur"; 
 } 
 Serial.println( String(sistole) + "c");
 delay(2000);
 Serial.println( String(diastole) + "d");
 delay(2000);
 Serial.println ( String(pulsa)+ "b");
 pompa();
 selenoid(); 
void konversi() { 
 tekanan_darah =((Sensor_tekanan - 44.8)/0.17);
}  
void mati_pompa() { 
 digitalWrite(6, LOW); 
}
void pompa() { 
 digitalWrite(6, HIGH); 
 insialisai = 6; 
void selenoid() { 
 digitalWrite(7, HIGH); 
void matsel() { 
 digitalWrite(7, LOW); 
}
void mati() { 
 digitalWrite(6, LOW); 
 digitalWrite(7, LOW); 
}
void suhu(){
   Serial.println(String((mlx.readObjectTempC()-0.239)/0.9171)+ "a"); 
   delay(500);
}
void jantung(){
int myBPM = pulseSensor.getBeatsPerMinute();  
if (pulseSensor.sawStartOfBeat()) {                                   
 Serial.println(String (((myBPM+ 0.1653)/1.0314) + "b");                 
  delay(20); 
  } 
}

PROGRAM APLIKASI DELPHI 7:

PROGRAM UNTUK FORM 1 BIODATA DIRI:

unit Unitta;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

uses Unitta2;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.edit1.Text := edit1.Text;
Form2.edit2.Text := edit2.Text;
Form2.edit3.Text := edit3.Text;
Form2.edit4.Text := edit4.Text;
Form2.edit5.Text := edit5.Text;
Form2.ShowModal;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 close;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
edit1.clear;
edit2.Clear;
edit3.Clear;
edit4.Clear;
edit5.Clear;
end;

end.

PROGRAM UNTUK FORM 2 TAMPILAN DATA:

unit Unitta2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, ExtCtrls,StrUtils, CPort, jpeg;

type
  TForm2 = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    TabSheet4: TTabSheet;
    TabSheet5: TTabSheet;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Data: TMemo;
    Label6: TLabel;
    Edit7: TEdit;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Edit8: TEdit;
    Edit9: TEdit;
    Label10: TLabel;
    Button6: TButton;
    ComPort1: TComPort;
    Timer1: TTimer;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Image1: TImage;
    Label18: TLabel;
    Timer2: TTimer;
    Edit6: TEdit;
    Edit13: TEdit;
    Edit14: TEdit;
    Edit15: TEdit;
    Edit16: TEdit;
    Label19: TLabel;
    Edit10: TEdit;
    Edit12: TEdit;
    Label22: TLabel;
    Label23: TLabel;
    Label24: TLabel;
    GroupBox1: TGroupBox;
    Label11: TLabel;
    Edit11: TEdit;
    Edit17: TEdit;
    Label20: TLabel;
    GroupBox2: TGroupBox;
    Button12: TButton;
    Button13: TButton;
    Button14: TButton;
    Panel3: TPanel;
    Label1: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Label5: TLabel;
    Label4: TLabel;
    Label3: TLabel;
    Label2: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure ComPort1RxChar(Sender: TObject; Count: Integer);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure DataChange(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure Edit8Change(Sender: TObject);
    procedure Edit6Change(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure Button11Click(Sender: TObject);
    procedure Button12Click(Sender: TObject);
    procedure Button13Click(Sender: TObject);
    procedure Button14Click(Sender: TObject);
    procedure Edit14Change(Sender: TObject);
    procedure Edit15Change(Sender: TObject);
    procedure Edit16Change(Sender: TObject);
    procedure Edit10Change(Sender: TObject);
    procedure Edit12Change(Sender: TObject);
    procedure Edit13Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
begin
 Comport1.ShowSetupDialog;
end;

procedure TForm2.Button2Click(Sender: TObject);
begin
comport1.Connected:=true;
timer1.Enabled:=true;
timer2.Enabled:=true;
end;

procedure TForm2.FormCreate(Sender: TObject);
begin
  ThousandSeparator:=',';
  DecimalSeparator:='.';
end;

procedure TForm2.ComPort1RxChar(Sender: TObject; Count: Integer);
var
buff:string;
begin
comport1.ReadStr(buff,count);
Data.Text:= Data.Text+buff;
end;

procedure TForm2.Button3Click(Sender: TObject);
begin
comport1.Connected:=false;
end;

procedure TForm2.Button4Click(Sender: TObject);
begin
  Data.Text:='';
end;

procedure TForm2.Button6Click(Sender: TObject);
begin
close;
end;

procedure TForm2.DataChange(Sender: TObject);
var ruang:double;
kulit,tulang,pesek:integer;
    rin,kin,lin,tin:string;
begin
  rin:=Data.Lines[Data.Lines.count-1];
  kin:=Data.Lines[Data.Lines.count-1];
  lin:=Data.Lines[Data.Lines.count-1];
  tin:=Data.Lines[Data.Lines.count-1];

  if rightstr(rin,1)= 'a' then
     begin
     edit13.Text:=leftstr(rin,length(rin)-1);
     ruang:=strtofloat(edit13.text);
     end;
  if rightstr(kin,1)='b' then
     begin
     edit14.Text:=leftstr(kin,length(kin)-1);
     kulit:=strtoint(edit14.text);
     end;
     if rightstr(lin,1)='c' then
     begin
     edit15.Text:=leftstr(lin,length(lin)-1);
     tulang:=strtoint(edit15.text);
     end;
if rightstr(tin,1)='d' then
     begin
     edit16.Text:=leftstr(tin,length(tin)-1);
     pesek:=strtoint(edit16.text);
     end;
end;

procedure TForm2.Timer2Timer(Sender: TObject);
begin
label13.Caption:='Hari/Tanggal: '+ FormatdateTime('d/mm/yyyy',Date);
label14.Caption:='Waktu: '+ FormatDateTime('hh:nn:ss',Time);
end;

procedure TForm2.Edit8Change(Sender: TObject);
var dj, uj:integer;
   hj:string;
begin
   dj:=strtoint(edit8.Text);
   uj:=strtoint (edit3.Text);
   if( dj >= 65) and (dj <= 100) and (uj>=6) and (uj<=11) then
      hj:= 'Normal'
       else
   if (dj >= 101) and (uj>=6) and (uj<=11) then
      hj:='Tinggi'
  else
   if (dj <= 64)  and (uj>=6) and (uj<=11) then
      hj:='Rendah'
      else

       if( dj >= 60) and (dj <= 90) and (uj>=12) and (uj<=18) then
      hj:= 'Normal'
       else
   if (dj >= 91) and (uj>=12) and (uj<=18) then
      hj:='Tinggi'
  else
   if (dj <= 59) and(uj>=12) and (uj<=18) then
      hj:='Rendah'
        else
      if( dj >= 60) and (dj <= 100) and (uj>=20) then
      hj:= 'Normal'
       else
   if (dj >= 101)and (uj>=20)  then
      hj:='Tinggi'
  else
   if (dj <= 59) and (uj>=20)  then
      hj:='Rendah';

   edit9.Text:=hj;
end;
procedure TForm2.Edit6Change(Sender: TObject);
  var  ut:integer;
   ht:string;
   st:double;
begin
   st:=strtofloat(edit6.Text);
   ut:=strtoint (edit3.Text);
       if(st >= 36.3) and (st <= 37.7) and (ut<=10) then
      ht:= ' Normal'
       else
       if (st >= 37.8) and (ut<=10) then
           ht:= 'Suhu Tinggi'
           else
       if(st <= 36.2) and (ut<=10) then
           ht:= 'Suhu Rendah'
         else
            if(st >= 36.1) and (st <= 37.7) and (ut>=11) and (ut<=19) then
      ht:= ' Normal'
       else
       if (st >= 37.8) and (ut>=11) and (ut<=19) then
           ht:= 'Suhu Tinggi'
           else
       if(st <= 36) and (ut>=11) and (ut<=19) then
           ht:= 'Suhu Rendah'
           else
       if(st >= 36.1) and (st <= 39.34) and (ut>=20) then
      ht:= ' Normal'
       else
       if (st >= 39.35) and (ut>=20)  then
           ht:= 'Suhu Tinggi'
           else
       if(st <= 36) and (ut>=20)then
           ht:= 'Suhu Rendah';
   edit7.Text:=ht;
end;

procedure TForm2.Button7Click(Sender: TObject);
begin
ComPort1.WriteStr('2');
end;

procedure TForm2.Button8Click(Sender: TObject);
begin
ComPort1.WriteStr('3');
end;

procedure TForm2.Button9Click(Sender: TObject);
begin
ComPort1.WriteStr('4');
end;

procedure TForm2.Button10Click(Sender: TObject);
begin
ComPort1.WriteStr('5');
end;

procedure TForm2.Button11Click(Sender: TObject);
begin
ComPort1.WriteStr('6');
end;

procedure TForm2.Button12Click(Sender: TObject);
begin
ComPort1.WriteStr('1');
end;
procedure TForm2.Button13Click(Sender: TObject);
begin
ComPort1.WriteStr('2');
end;
procedure TForm2.Button14Click(Sender: TObject);
begin
ComPort1.WriteStr('3');

end;

procedure TForm2.Edit14Change(Sender: TObject);
begin
  edit8.Text := edit14.Text;
end;

procedure TForm2.Edit15Change(Sender: TObject);
begin
edit10.Text := edit15.Text;
end;

procedure TForm2.Edit16Change(Sender: TObject);
begin
edit12.Text := edit16.Text;
end;

procedure TForm2.Edit10Change(Sender: TObject);
var s, us:integer;
    hs:string;
begin
s:=strtoint(edit10.Text);
us:= strtoint(edit3.Text);

   if( s >= 90) and (s <= 120) and (us>=14) and (us<=18) then
      hs:= 'Normal'
   else
   if( s >= 120) and (s <= 130) and (us>=14) and (us<=18) then
      hs:='Hampir Tinggi'
  else
   if( s >= 80) and (s <= 90) and (us>=14) and (us<=18) then
      hs:='Hampir rendah'
       else
   if (s >= 131) and (us>=14) and (us<=18) then
      hs:='Tinggi'
  else
   if (s <= 79) and(us>=14) and (us<=18) then
      hs:='Rendah'
      else
      if( s >= 95) and (s <= 135) and (us>=19) and (us<=40) then
      hs:= 'Normal'
   else
   if( s >= 136) and (s <= 140) and (us>=19) and (us<=40)then
      hs:='Hampir tinggi'
  else
   if( s >=90 ) and (s <= 94) and (us>=19) and (us<=40)then
      hs:='Hampir rendah'
       else
   if (s >= 141) and (us>=19) and (us<=40) then
      hs:='Tinggi'
  else
   if (s <= 89) and (us>=19) and (us<=40) then
      hs:='Rendah'
      else
      if( s >= 110) and (s <= 145) and (us>=41) and (us<=60) then
      hs:= 'Normal'
   else
   if( s >= 146) and (s <= 149) and (us>=41) and (us<=60)then
      hs:='Hampir tinggi'
  else
   if( s >=100 ) and (s <= 109) and (us>=41) and (us<=60)then
      hs:='Hampir rendah'
       else
   if (s >= 150) and (us>=41) and (us<=60)then
      hs:='Tinggi'
  else
   if (s <= 99) and (us>=41) and (us<=60)then
      hs:='Rendah'
          else
     if( s >= 95) and (s <= 145)  and (us>=61) then
      hs:= 'Normal'
   else
   if( s >= 146) and (s <= 149)  and (us>=61)then
      hs:='Hampir tinggi'
  else
   if( s >=90 ) and (s <= 94)  and (us>=61)then
      hs:='Hampir rendah'
       else
   if (s >= 150)  and (us>=61)then
      hs:='Tinggi'
  else
   if (s <= 90) and (us>=61) then
      hs:='Rendah'  ;
 edit11.Text:= hs;
end;

procedure TForm2.Edit12Change(Sender: TObject);
var d, ud:integer;
    hd:string;
begin
d:=strtoint(edit12.Text);
ud:= strtoint(edit3.Text);
    if( d >= 50) and (d <= 80) and (ud>=14) and (ud<=18) then
      hd:= 'Normal'
   else
   if( d >= 45) and (d <= 49) and (ud>=14) and (ud<=18) then
      hd:='Hampir Rendah'
  else
   if( d >= 81) and (d <= 85) and (ud>=14) and (ud<=18) then
      hd:='Hampir Tinggi'
       else
   if (d >= 86) and (ud>=14) and (ud<=18) then
      hd:='Tinggi'
  else
   if (d <= 44) and(ud>=14) and (ud<=18) then
      hd:='Rendah'
      else
      if( d >= 60) and (d <= 80) and (ud>=19) and (ud<=40) then
      hd:= 'Normal'
   else
   if( d >= 81) and (d <= 85) and (ud>=19) and (ud<=40)then
      hd:='Hampir tinggi'
  else
   if( d >=55 ) and (d <= 59) and (ud>=19) and (ud<=40)then
      hd:='Hampir rendah'
       else
   if (d >= 86) and (ud>=19) and (ud<=40) then
      hd:='Tinggi'
  else
   if (d <= 54) and (ud>=19) and (ud<=40) then
      hd:='Rendah'
      else
      if( d >= 70) and (d <= 90) and (ud>=41) and (ud<=60) then
      hd:= 'Normal'
   else
   if( d >= 91) and (d <= 95) and (ud>=41) and (ud<=60)then
      hd:='Hampir tinggi'
  else
   if( d >=65 ) and (d <= 69) and (ud>=41) and (ud<=60)then
      hd:='Hampir rendah'
       else
   if (d >= 96) and (ud>=41) and (ud<=60)then
      hd:='Tinggi'
  else
   if (d <= 64) and (ud>=41) and (ud<=60)then
      hd:='Rendah'
          else
     if( d >= 70) and (d <= 90)  and (ud>=61) then
      hd:= 'Normal'
   else
   if( d >= 91) and (d <= 95)  and (ud>=61)then
      hd:='Hampir tinggi'
  else
   if( d >=65 ) and (d <= 69)  and (ud>=61)then
      hd:='Hampir rendah'
       else
   if (d >= 96)  and (ud>=61)then
      hd:='Tinggi'
  else
   if (d <= 64) and (ud>=61) then
      hd:='Rendah'  ;
 edit17.Text:= hd;
end;

procedure TForm2.Edit13Change(Sender: TObject);
begin
edit6.Text:= edit13.Text;
end;

end.


GAMBAR ALAT DAN DATA HASIL PENGUKURAN: 


























Komentar