• Tidak ada hasil yang ditemukan

Aplikasi Logika Fuzzy Dalam Penentuan Kepuasan Pasien Rawat Inap (Studi Kasus RSU Herna Medan)

N/A
N/A
Protected

Academic year: 2019

Membagikan "Aplikasi Logika Fuzzy Dalam Penentuan Kepuasan Pasien Rawat Inap (Studi Kasus RSU Herna Medan)"

Copied!
23
0
0

Teks penuh

(1)
(2)
(3)
(4)

Lampiran II

KUESIONER KEPUASAN PASIEN RAWAT INAP

RUMAH SAKIT UMUM HERNA MEDAN

Pasien Kami yang terhormat,

1. Kami mohon kiranya Bapak/Ibu/Saudara dapat meluangkan waktu untuk menjawab pertanyaan-pertanyaan yang kami ajukan. Semua keterangan yang disampaikan, kami gunakan untuk kepentingan perbaikan mutu pelayanan di rumah sakit.

2. Kami menjamin kerahasiaan Bapak/Ibu/Saudara dalam pengisian kuesioner ini.

3. Untuk mengisinya, cukup memberikan tanda centang (√) pada salah satu pernyataan yang ada. 4. Atas kesediaan Bapak/Ibu/Saudara, kami ucapkan terima kasih.

A. Informasi Umum/Informasi Pasien

Ruang Perawatan : ………

Jenis Kelamin : ………

Umur : ………

Tanggal Perawatan : ….-….-2012 s/d ….-….-2012

Sumber Biaya : Biaya Pribadi

Biaya Tempat Kerja

Asuransi

Biaya Pemerintah

Lainnya, ……….

Apakah anda baru pertama kali di rawat pada rumah sakit ini

Ya tidak

Petunjuk Untuk mengisi pertanyaan

1

. Kategori 1: sangat tidak baik/ sangat tidak memuaskan

2. Kategori 2: tidak baik/ tidak memuaskan

3. Kategori 3: cukup baik/ cukup memuaskan

4. Kategori 4: baik/ memuaskan

5. Kategori 5: sangat baik/ sangat memuaskan

B.

Instrumen

B.1

Tangibles

(bukti langsung), meliputi penampilan fisik, perlengkapan, pelayan medis, dan

sarana komunikasi

(5)

17.

Penerangan lampu pada ruang perawatan/halaman

1

2

3

4

5

ruang rawat inap diwaktu malam

18.

Kelengkapan perabotan di ruang rawat inap

1

2

3

4

5

19.

Ruang rawat inap bebas dari serangga

1

2

3

4

5

20.

Variasi menu makanan

1

2

3

4

5

21.

Kelengkapan perawatan medis sehingga tidak

perlu dikirim ke rumah sakit lain untuk melakukan

pemeriksaan tertentu

1

2

3

4

5

22.

Tersedianya tempat parkir yang cukup

1

2

3

4

5

23.

Tersedianya tempat untuk keluarga penunggu pasien

1

2

3

4

5

24.

Ruang rawat inap mudah dicari

1

2

3

4

5

25.

Dokter mudah untuk dihubungi

1

2

3

4

5

26.

Perawat mudah untuk dihubungi

1

2

3

4

5

27.

Biaya sewa ruang rawat inap terjangkau

1

2

3

4

5

28.

Biaya obat yang terjangkau

1

2

3

4

5

B.2

Reliability

(keandalan), yaitu kemampuan memberikan pelayanan yang dijanjikan

dengan segera, akurat, dan memuaskan

4.

Waktu periksa dokter di bangsal sesuai dengan jadwal

1

2

3

4

5

5.

Kecepatan perawat menanggapi panggilan bel pasien

1

2

3

4

5

6.

Kesesuaian pemberian obat dengan jadwalnya

1

2

3

4

5

B.3 Responsiveness (daya tanggap), yaitu kesediaan para dokter,perawat dan pelayan medis

untuk membantu para pasien dan memberikan perhatian yang tepat

1.

Sikap perilaku dokter saat melakukan pemeriksaan rutin 1

2

3

4

5

2.

Pelayanan petugas ruang rawat inap yang sopan

dan ramah

1

2

3

4

5

3.

Sikap dan perilaku petugas pada saat memberikan

pelayanan di fasilitas penunjang medis

1

2

3

4

5

(6)

B.4

Assurance (jaminan), merupakan kemampuan dari dokter, perawat dan pelayan

kesehatan lainnya untuk memberikan keyakinan kepada pasien.

1.

Kesungguhan dokter dalam menangani penyakit pasien

1

2

3

4

5

2.

Ketelitian dokter dalam memeriksa pasien

1

2

3

4

5

3.

Dokter menjelaskan pengobatan yang akan dilakukan

1

2

3

4

5

4.

Kemanjuran/ketepatan terapi yang diberikan dokter

1

2

3

4

5

5.

Penjelasan dokter tentang makanan makanan

1

2

3

4

5

6.

Tanggapan dan jawaban dokter atas keluhan pasien

1

2

3

4

5

7.

Kebijaksanaan dokter/ Pengalaman dokter

1

2

3

4

5

8.

Keterampilan perawat dalam memberikan pelayanan

medis ke pasien

1

2

3

4

5

9.

Keterampilan petugas medis lain dalam memberikan

pelayanan kesehatan

1

2

3

4

5

B.5

Emphaty (empati), mencakup kepedulian serta perhatian individual kepada para Pasien

3.

Sikap perawat dan dokter menanggapi pertanyaan

1

2

3

4

5

keluarga pasien dan pengunjung/tamu pasien

4.

Kesediaan perawat untuk menolong pasien duduk,

berdiri dan berjalan

1

2

3

4

5

(7)

Lampiran : III

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls,comobj, Grids, ComCtrls, ExtCtrls, Buttons;

type

TForm1 = class(TForm) OpenDialog1: TOpenDialog; PageControl1: TPageControl; TabSheet1: TTabSheet;

SaveDialog1: TSaveDialog; Label6: TLabel;

procedure Button1Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure Button2Click(Sender: TObject); procedure TabSheet1Show(Sender: TObject); procedure Button3Click(Sender: TObject); procedure FormCreate(Sender: TObject); private

{ Private declarations } public

{ Public declarations }

procedure baca_tab(SheetIndex:integer);

end;

var

Form1: TForm1; Xlapp1, Sheet:Variant ;

i, MaxRow, MaxCol,X, Y:integer ; dtTmp,str:string;

row : TListItem;

Str:=trim(Edit1.Text);

XLApp1 := createoleobject('excel.application'); XLApp1.Workbooks.open(Str) ;

Sheet := XLApp1.WorkSheets[SheetIndex] ; MaxRow := Sheet.Usedrange.EntireRow.count ; MaxCol := sheet.Usedrange.EntireColumn.count; //ListView1.Columns.Clear;

for i:=1 to MaxCol do begin

//ListView1.Columns.Add.Caption:=sheet.cells.ite m[1,i].value;

form2.sg.Cells[i-1,0] := sheet.cells.item[1,i].value; end;

for x:=2 to MaxRow do begin

//row:=ListView1.Items.add; //row.Caption:=sheet.cells.item[x,1]; for y:=2 to MaxCol do

begin

//row.SubItems.Add(''); //dtTmp:=sheet.cells.item[x,y];

//ListView1.Items[x-2].SubItems.Strings[y-2]:=dtTmp;

procedure TForm1.Button1Click(Sender: TObject); begin

if OpenDialog1.Execute then begin

Edit1.Text:=OpenDialog1.FileName; baca_tab(1);

end; end;

procedure TForm1.Button4Click(Sender: TObject); begin

(8)

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Action:=CaFree; end;

procedure TForm1.Button2Click(Sender: TObject); begin

PageControl1.ActivePageIndex:=0; end;

procedure TForm1.TabSheet1Show(Sender: TObject);

begin Edit1.Clear; end;

procedure TForm1.Button3Click(Sender: TObject); begin

form2.Show; end;

procedure TForm1.FormCreate(Sender: TObject); begin

PageControl1.ActivePageIndex:=0; end;

(9)

unit Unit2;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, ExtCtrls, StdCtrls;

type

procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private

uses Unit1, Unit3, Unit5;

{$R *.dfm}

procedure TForm2.FormCreate(Sender: TObject); var i1 : integer;

begin

sg.ColWidths[0] := 70; //sg2.ColWidths [0] := 70; sg.ColCount :=39; for i1 := 1 to 38 do sg.ColWidths[i1]:=30;

end;

procedure TForm2.Button1Click(Sender: TObject); var i,j,n: integer;

r : array[1..20] of string;

//edit1.Text := inttostr(maxcol); //edit2.Text := inttostr(maxrow); {sg2.Cells[0,0] := 'N. RUANGAN'; sg2.Cells[1,0] := 'X1';

sg2.Cells[2,0] := 'X2'; sg2.Cells[3,0] := 'X3'; sg2.Cells[4,0] := 'X4'; sg2.Cells[5,0] := 'X5'; }

{sg2.Cells[6,0] := 'MAX-X1'; sg2.Cells[7,0] := 'MAX-X2'; sg2.Cells[8,0] := 'MAX-X3'; sg2.Cells[9,0] := 'MAX-X4'; sg2.Cells[10,0] := 'MAX-X5';

sg2.Cells[11,0] := 'MIN-X1'; sg2.Cells[12,0] := 'MIN-X2'; sg2.Cells[13,0] := 'MIN-X3'; sg2.Cells[14,0] := 'MAX-X4'; sg2.Cells[15,0] := 'MAX-X5';}

{for i := 1 to 15 do sg2.ColWidths[i] := 30; }

(10)

kx4:=100;

//memo1.Lines.Add(ruang); R[J] := RUANG;

FORM3.SG1.Cells[0,J]:= RUANG;

FORM3.sg1.Cells[1,j]:= copy(floattostr((x1/(n-1))),1,5);

FORM3.sg1.Cells[2,j]:= copy(floattostr((x2/(n-1))),1,5);

FORM3.sg1.Cells[3,j]:= copy(floattostr((x3/(n-1))),1,5);

FORM3.sg1.Cells[4,j]:= copy(floattostr((x4/(n-1))),1,5);

FORM3.sg1.Cells[5,j]:= copy(floattostr((x5/(n-1))),1,4);

R[J] := RUANG;

FORM3.SG2.Cells[0,J]:= RUANG;

FORM3.sg2.Cells[1,j]:= copy(floattostr((x1/(n-1))),1,5);

FORM3.sg2.Cells[2,j]:= copy(floattostr((x2/(n-1))),1,5);

FORM3.sg2.Cells[3,j]:= copy(floattostr((x3/(n-1))),1,5);

FORM3.sg2.Cells[4,j]:= copy(floattostr((x4/(n-1))),1,5);

FORM3.sg2.Cells[5,j]:= copy(floattostr((x5/(n-1))),1,4);

ruang:= sg.Cells[0,i]; rg:= sg.Cells[0,i]; J:= J+1;

end;

form5.edit1.text := inttostr(i-1); FORM5.Edit12.Text := INTTOSTR(J-1);

label7.Caption := COPY(FLOATTOSTR(bx1),1,6); label8.Caption := COPY(FLOATTOSTR(kx1),1,6); label9.Caption := COPY(FLOATTOSTR(bx2),1,6); label10.Caption := COPY(FLOATTOSTR(kx2),1,6); label11.Caption := COPY(FLOATTOSTR(bx3),1,6); label12.Caption := COPY(FLOATTOSTR(kx3),1,6); label13.Caption := COPY(FLOATTOSTR(bx4),1,6); label14.Caption := COPY(FLOATTOSTR(kx4),1,6); label15.Caption := COPY(FLOATTOSTR(bx5),1,6); label16.Caption := COPY(FLOATTOSTR(kx5),1,6);

(11)

FORM3.LBX2.Caption := COPY(FLOATTOSTR(bx2),1,6); FORM3.KBX2.Caption := COPY(FLOATTOSTR(kx2),1,6); FORM3.LBX3.Caption := COPY(FLOATTOSTR(bx3),1,6); FORM3.KBX3.Caption := COPY(FLOATTOSTR(kx3),1,6); FORM3.LBX4.Caption := COPY(FLOATTOSTR(bx4),1,6); FORM3.KBX4.Caption := COPY(FLOATTOSTR(kx4),1,6); FORM3.LBX5.Caption := COPY(FLOATTOSTR(bx5),1,6); FORM3.KBX5.Caption := COPY(FLOATTOSTR(kx5),1,6);

end;

procedure TForm2.Button2Click(Sender: TObject); begin

form3.show; end;

(12)

unit Unit3;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls,Unit2, TeeProcs, TeEngine, Chart, ExtCtrls, Grids,

Series, Buttons, ActnMan, ActnColorMaps;

type

procedure BitBtn1Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button2Click(Sender: TObject); private

uses Unit4, Unit5;

{$R *.dfm}

(13)

kecil := kcl4;

if (kecil > kcl5) and (kcl5>= 0) then kecil := kcl5;

kcl := kecil; end;

procedure gbrchart(ch :tchart; nmax,nmin : REAL;

Ch.BottomAxis.SetMinMax(nmin-2,nmax+2); Ch.LeftAxis.SetMinMax(-0.25,1.25);//Mengatur min dan max pd sb y

Ch.LeftAxis.Increment := 0.5; ch.Legend.Visible:=false; ch.Title.Text.Clear;

ch.Title.Font.Color := clred; ch.Title.Text.Insert(0,judul); nint := (nmax-nmin)/4;

Ch.BottomAxis.Increment := nint; nx[1]:= nmin;

procedure gbrchart1(ch :tchart; nmax,nmin : REAL;

Ch.BottomAxis.SetMinMax(nmin-2,nmax+2); Ch.LeftAxis.SetMinMax(-0.25,1.25);//Mengatur min dan max pd sb y

Ch.LeftAxis.Increment := 0.5; ch.Legend.Visible:=false; ch.Title.Text.Clear;

ch.Title.Font.Color := clred; ch.Title.Font.Size:=12; ch.Title.Text.Insert(0,judul); nint := (nmax-nmin)/4;

Ch.BottomAxis.Increment := nint; nx[1]:= nmin;

else if (x <= (nx[4]+nint/2)) and (x>nx[4]) then dt := 2* sqr((x-nx[4])/(nx[5]-nx[4]))

else if (x <= nx[5]) and (x > (nx[4]+ nint/2)) then dt :=1-2* sqr((nx[5]-x)/(nx[5]-nx[4]))

(14)

dt :=1;

ch.Series[0].AddXY(x,dt,'',clblue); x := x+0.25;

end; end;

procedure segitiga ( NMAX,NMIN : REAL; N : REAL;

sg.Cells[5*kol+3,brs] :=copy(floattostr(dt),1,5);

if (n < x[3])or (n>=x[5]) then

(15)

else if (N >= X[1]) AND (N <X[1]+ INTERVAL/2)

nilai : array[1..5,1..5] of real; x1,x2,x3,x4,x5 : array[1..2] of string; nx1,nx2,nx3,nx4,nx5 : array[1..2] of real;

nmf1,nmf2,nmf3,nmf4,nmf5 : array[1..2] of real; I : INTEGER;

R1,R2,R3,R4,R5 : BYTE;

RULE : ARRAY[1..32] OF STRING; Z : ARRAY[1..32] OF REAL; predikat : array[1..32] of real; mf : array[1..5] of real; J : BYTE;

zhitung,predhitung : real; kepuasan,RATA : real ; begin

(16)

nx1[1]:= nilai[1,4];

//mencari nilai RELIABILITY if sg.Cells[11,I] <> '0' then

//mencari nilai RESPONSIVE if sg.Cells[16,I] <> '0' then

(17)

end

//mencari nilai EMPHTY if sg.Cells[26,I] <> '0' then floattostr(predikat[j])+ ' '

+floattostr(mf[1]) );

FORM4.Memo1.Lines.Add(FLOATTOSTR(Z[J]));

(18)

zhitung := zhitung+predikat[j]; end;

kepuasan := (predhitung/zhitung); if mem = form4.memo1 then BEGIN

form5.SG5.CELLS[0,I] :=SG.CELLS[0,I]; form5.SG5.CELLS[1,I] :=SG.CELLS[1,I]; form5.SG5.CELLS[2,I] :=SG.CELLS[2,I]; form5.SG5.CELLS[3,I] :=SG.CELLS[3,I]; form5.SG5.CELLS[4,I] :=SG.CELLS[4,I]; form5.SG5.CELLS[5,I] :=SG.CELLS[5,I];

{RATA := 100/70*STRTOFLOAT(SG.CELLS[1,I])+ 100/15*STRTOFLOAT(SG.CELLS[2,I])+

procedure TForm3.BitBtn1Click(Sender: TObject); var

minx1,minx2,minx3,minx4,minx5 : real; max1,max2,max3,max4,max5 : real;

interval1,interval2,interval3,interval4,interval5 : real;

x1,x2,x3,x4,x5: array[1..6] of real; n1,n2,n3,n4,n5: real;

ruang : string; jlh,i :integer;

begin

max1 := strtofloat(lbx1.Caption); max2 := strtofloat(lbx2.Caption); max3 := strtofloat(lbx3.Caption); max4 := strtofloat(lbx4.Caption); max5 := strtofloat(lbx5.Caption);

minx1 := strtofloat(kbx1.Caption ); minx2 := strtofloat(kbx2.Caption ); minx3 := strtofloat(kbx3.Caption ); minx4 := strtofloat(kbx4.Caption ); minx5 := strtofloat(kbx5.Caption );

interval1 := (max1-minx1)/4; interval2 := (max2-minx2)/4; interval3 := (max3-minx3)/4; interval4 := (max4-minx4)/4; interval5 := (max5-minx5)/4;

form5.Edit2.Text := lbx1.Caption; form5.Edit4.Text := lbx2.Caption; form5.Edit6.Text := lbx3.Caption; form5.Edit8.Text := lbx4.Caption; form5.Edit10.Text := lbx5.Caption; form5.Edit3.Text := kbx1.Caption ; form5.Edit5.Text := kbx2.Caption ; form5.Edit7.Text := kbx3.Caption ; form5.Edit9.Text := kbx4.Caption ; form5.Edit11.Text := kbx5.Caption ;

x1[1] := minx1; i:= 2;

while i<= 5 do begin

x1[i] := x1[i-1]+interval1; i:= i+1;

x2[i] := x2[i-1]+interval2; i:= i+1;

x3[i] := x3[i-1]+interval3; i:= i+1;

end;

(19)

while i<= 5 do begin

x4[i] := x4[i-1]+interval4; i:= i+1;

x5[i] := x5[i-1]+interval5; i:= i+1;

ruang := sg1.Cells [0,1]; i:=1;

while ruang <>'' do begin

n1 := strtofloat(sg1.Cells[1,i]); n2 := strtofloat(sg1.Cells[2,i]); n3 := strtofloat(sg1.Cells[3,i]); n4 := strtofloat(sg1.Cells[4,i]); n5 := strtofloat(sg1.Cells[5,i]);

// derajat keanggotaan dengan dengan kurva segitiga

segitiga(max1,minx1,n1,1,i,sg1); segitiga(max2,minx2,n2,2,i,sg1); segitiga(max3,minx3,n3,3,i,sg1); segitiga(max4,minx4,n4,4,i,sg1); segitiga(max5,minx5,n5,5,i,sg1);

//derajat keanggotaan dengan kombinasi sigmoid dan bell

//di simpan pada string grid 2 sigmoid(max1,minx1,n1,1,i,sg2); sigmoid(max2,minx2,n2,2,i,sg2); sigmoid(max3,minx3,n3,3,i,sg2); sigmoid(max4,minx4,n4,4,i,sg2); sigmoid(max5,minx5,n5,5,i,sg2);

//counter i:= i+1;

ruang := sg1.Cells [0,i]; end;

//edit1.Text := inttostr(i);

end;

procedure TForm3.Button1Click(Sender: TObject); begin

halt; end;

procedure TForm3.FormCreate(Sender: TObject); var a: integer;

begin

for a:= 1 to 5 do begin

sg1.ColWidths[a] :=35; sg2.ColWidths[a] :=35; end;

for a:= 6 to 30 do begin

sg1.ColWidths[a] :=45; sg2.ColWidths[a] :=45; end; SG1.Cells[6,0] :='µX1 STB'; SG1.Cells[7,0] :='µX1 TB'; SG1.Cells[8,0] :='µX1 CB'; SG1.Cells[9,0] :='µX1 B'; SG1.Cells[10,0] :='µX1 SB';

SG1.Cells[11,0] :='µX2 STB'; SG1.Cells[12,0] :='µX2 TB'; SG1.Cells[13,0] :='µX2 CB'; SG1.Cells[14,0] :='µX2 B'; SG1.Cells[15,0] :='µX2 SB';

SG1.Cells[16,0] :='µX3 STB'; SG1.Cells[17,0] :='µX3 TB'; SG1.Cells[18,0] :='µX3 CB'; SG1.Cells[19,0] :='µX3 B'; SG1.Cells[20,0] :='µX3 SB';

SG1.Cells[21,0] :='µX4 STB'; SG1.Cells[22,0] :='µX4 TB'; SG1.Cells[23,0] :='µX4 CB'; SG1.Cells[24,0] :='µX4 B'; SG1.Cells[25,0] :='µX4 SB';

(20)

SG1.Cells[30,0] :='µX5 SB'; SG2.Cells[6,0] :='µX1 STB'; SG2.Cells[7,0] :='µX1 TB'; SG2.Cells[8,0] :='µX1 CB'; SG2.Cells[9,0] :='µX1 B'; SG2.Cells[10,0] :='µX1 SB';

SG2.Cells[11,0] :='µX2 STB'; SG2.Cells[12,0] :='µX2 TB'; SG2.Cells[13,0] :='µX2 CB'; SG2.Cells[14,0] :='µX2 B'; SG2.Cells[15,0] :='µX2 SB';

SG2.Cells[16,0] :='µX3 STB'; SG2.Cells[17,0] :='µX3 TB'; SG2.Cells[18,0] :='µX3 CB'; SG2.Cells[19,0] :='µX3 B'; SG2.Cells[20,0] :='µX3 SB';

SG2.Cells[21,0] :='µX4 STB'; SG2.Cells[22,0] :='µX4 TB'; SG2.Cells[23,0] :='µX4 CB'; SG2.Cells[24,0] :='µX4 B'; SG2.Cells[25,0] :='µX4 SB';

SG2.Cells[26,0] :='µX5 STB'; SG2.Cells[27,0] :='µX5 TB'; SG2.Cells[28,0] :='µX5 CB'; SG2.Cells[29,0] :='µX5 B'; SG2.Cells[30,0] :='µX5 SB'; end;

procedure TForm3.Button3Click(Sender: TObject); begin

FORM5.Show; end;

procedure TForm3.Button2Click(Sender: TObject); begin

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ComCtrls, Grids, StdCtrls, ExtCtrls, TeeProcs, TeEngine, Chart,

Series;

(21)

max,min :real; JLH :INTEGER; implementation

{$R *.dfm}

procedure gbrchart(ch :tchart; nmax,nmin : REAL;

Ch.BottomAxis.SetMinMax(nmin-2,nmax+2); Ch.LeftAxis.SetMinMax(-0.25,1.25);//Mengatur min dan max pd sb y

Ch.LeftAxis.Increment := 0.5; ch.Legend.Visible:=false; ch.Title.Text.Clear;

ch.Title.Font.Color := clred; ch.Title.Text.Insert(0,judul); nint := (nmax-nmin)/3;

Ch.BottomAxis.Increment := nint; nx[1]:= nmin;

procedure TForm5.FormCreate(Sender: TObject); begin

SG5.Cells [0,0] :='RUANGAN'; SG5.Cells [1,0] :='X1'; SG5.Cells [2,0] :='x2'; SG5.Cells [3,0] :='x3'; SG5.Cells [4,0] :='x4'; SG5.Cells [5,0] :='x5';

SG5.Cells [6,0] :='RATA-RATA'; SG5.Cells [7,0] :='SEGITIGA'; SG5.Cells [8,0] :='SIGMOID'; sg5.Font.Size :=10;

sg5.ColWidths[0] :=100;

end;

procedure bacadatA(sg :TStringGrid; mem :tmemo;

XSG1,XSG2,XSG3,XSG4 : REAL; X,mf :REAL;

kp1,kp2,kp3 : string; begin

//MENCARI JUMLAH MINIMUN PADA RATA-RATA I := 1;

MINR := STRTOFLOAT(SG.Cells[6,I]); MAXR := STRTOFLOAT(SG.Cells[6,I]); WHILE (I <= JLH) DO

BEGIN

IF MINR > STRTOFLOAT(SG.Cells[6,I]) THEN MINR := STRTOFLOAT(SG.Cells[6,I]); IF MAXR < STRTOFLOAT(SG.Cells[6,I]) THEN MAXR := STRTOFLOAT(SG.Cells[6,I]); I:= I+1;

END;

//MENCARI INTERVAL DARI NILAI SEGITIGA I := 1;

MINS := STRTOFLOAT(SG.Cells[7,I]); MAXS := STRTOFLOAT(SG.Cells[7,I]); WHILE (I <= JLH) DO

(22)

IF MINS > STRTOFLOAT(SG.Cells[7,I]) THEN MINS := STRTOFLOAT(SG.Cells[7,I]); IF MAXS < STRTOFLOAT(SG.Cells[7,I]) THEN MAXS := STRTOFLOAT(SG.Cells[7,I]); I:= I+1;

END;

gbrchart(gbr,maxs,mins,'KEPUASAN');

INT2 := (MAXS-MINS)/3; X1 := MINS;

X2 := X1 + INT2; X3 := X2 + INT2; X4 := X3 + INT2;

//MENCARI INTERVAL DARI NILAI SIGMOID I := 1;

MINSG := STRTOFLOAT(SG.Cells[8,I]); MAXSG := STRTOFLOAT(SG.Cells[8,I]); WHILE (I <= JLH) DO

BEGIN

IF MINSG > STRTOFLOAT(SG.Cells[8,I]) THEN MINSG := STRTOFLOAT(SG.Cells[8,I]); IF MAXSG < STRTOFLOAT(SG.Cells[8,I]) THEN MAXSG := STRTOFLOAT(SG.Cells[8,I]); I:= I+1;

END;

INT3 := (MAXSG-MINSG)/3; XSG1 := MINSG;

XSG2 := XSG1 + INT3; XSG3 := XSG2 + INT3; XSG4 := XSG3 + INT3;

//MENCARI NILAI KEPUASAN PASIEN; I:=1;

WHILE I <= JLH DO BEGIN

mem.Lines.Add(sg.Cells[0,i]); mem.Lines.Add(' ');

mem.Lines.Add('Dengan perhitungan Rata-rata'); X := STRTOFLOAT(SG.Cells[6,I]);

IF X >= 75 THEN

//dengan segitigs

mem.Lines.Add('Nilai Segitiga '); X := STRTOFLOAT(SG.Cells[7,I]); if x <= x1 then keanggotaan '+ COPY(floattostr(mf),1,5));

if (x <= x1) or ( x > x3) then keanggotaan '+ COPY(floattostr(mf),1,5));

if (x <= x2) or ( x > x4) then keanggotaan '+ COPY(floattostr(mf),1,5)); if (x <= x3) then keanggotaan '+ COPY(floattostr(mf),1,5)); MEM.Lines.Add(' ');

// kurva sigmoid

mem.Lines.Add('Nilai sigmoid '); X := STRTOFLOAT(SG.Cells[8,I]); if x <= x1 then keanggotaan '+ COPY(floattostr(mf),1,5));

if (x <= x1) or ( x > x3) then mf :=0

(23)

mf := (x3-x)/(x3-x2);

if mf <> 0 then

mem.Lines.Add(' Cukup dengan derajat keanggotaan '+ COPY(floattostr(mf),1,5));

if (x <= x2) or ( x > x4) then mf :=0

else if x <= x3 then mf := (x-x2)/(x3-x2) else

mf := (X4-x)/(x4-x3);

if mf <> 0 then

mem.Lines.Add(' BAIK dengan derajat keanggotaan '+ COPY(floattostr(mf),1,5)); if (x <= x3) then

mf :=0

else if x <= x4 then mf := (x-x3)/(x4-x3) else

mf := 1;

if mf <> 0 then

mem.Lines.Add(' SANGAT BAIK dengan derajat keanggotaan '+ COPY(floattostr(mf),1,5)); MEM.Lines.Add(' ');

i:=i+1; END;

MEM.Lines.SaveToFile('HASIL.TXT'); end;

procedure TForm5.Button1Click(Sender: TObject); begin

JLH := STRTOINT(EDIT12.Text ); BACADATA(SG5,memo1,GBR1); end;

Referensi

Dokumen terkait

Sehingga pertanyaan Tuhan Yesus yang disampaikan kepada Petrus saat di Kaisaria Filipi bila juga ditanyakan kepada kita “tetapi apa katamu, siapakah Aku ini “ (Mati

bahwa Rancangan Peraturan Daerah tentang Anggaran Pendapatan dan Belanja Daerah (APBD) yang diajukan sebagaimana dimaksud dalam huruf a, merupakan perwujudan dari

Tujuan yang ingin dicapai dalam penelitian ini adalah untuk mendeskripsikan cara meningkatkan kemampuan berbicara anak usia 4-5 tahun melalui metode karya wisata

Some translation of English preposition about involves loss and gain information which the translation of the sentence in the source language does not explain in

Untuk Pengujian rangkaian, dapat dengan cara membuat program menghidupkan dua led yang hidup dan padam secara bergantian, seperti flip-flop Contoh Program flip-flop

Kemampuan yang dituntut pada seorang guru tidaklah sekedar tugas dan kewajiban sebagai pendidik atau pengajar yang menyajikan materi didepan kelas, akan tetapi

Menyelenggarakan pendidikan agrobisnis perikanan (sosial ekonomi perikanan) melalui suasana akademik yang kondusif menuju standarisasi internasional yang berjiwa

Sebagaimana diketahui bahwa al-Ghazâlî juga tetap mempercayai akal dalam mengetahui sesuatu, akan tetapi kebenaran yang diperoleh bukan melalui susunan kata-kata dialektis dan