L.1-1
LAMPIRAN Lampiran 1
Format Data Pengamatan Cluster Sampling Single Stage
Format Data Pengamatan Cluster Sampling Single Stage – Equal Size Cluster i
Banyaknya elemen dalam cluster
terpilih ke –i
( mi )
Nilai karakteristik populasi ( yi )
1
m1
y1
2
m2
y2
:
:
:
:
:
:
n
mn
yn
Total
n
n
∑ mi
∑y
i =1
Dalam Equal Size m1 = m2 =
….
i =1
i
= mn sehingga total adalah nxm.
Format data pengamatan diatas digunakan sebagai panduan untuk memasukan data input pada program aplikasi. Pembuatan format diatas dilakukan pada waktu pengolahan data mentah hasil observasi.
Keterangan: mi = banyaknya unit terpilih dalam cluster ke-i
yi = total dari semua nilai pengamatan karakteristik dalam cluster ke-i
L.1-2 Format Data Pengamatan Cluster Sampling Single Stage – Un Equal Size Cluster i
Nilai karakteristik populasi
Banyaknya elemen dalam cluster
terpilih ke –i
( mi )
( yi )
1
m1
y1
2
m2
y2
:
:
:
:
:
:
n
mn
yn
Total
n
n
∑ mi
∑y
i =1
Dalam Un Equal Size m1 ≠m2 ≠
i =1
….
≠mn
i
.
Format data pengamatan diatas digunakan sebagai panduan untuk memasukan data input pada program aplikasi. Pembuatan format diatas dilakukan pada waktu pengolahan data mentah hasil observasi.
Keterangan: mi = banyaknya unit terpilih dalam cluster ke-i
yi = total dari semua nilai pengamatan karakteristik dalam cluster ke-i
L.1-3 Format Data Pengamatan Cluster Sampling Single Stage – Penduga proporsi Cluster i
Nilai proporsi populasi
Banyaknya elemen dalam cluster
terpilih ke –i
( mi )
( ai )
1
m1
a1
2
m2
a2
:
:
:
:
:
:
n
mn
an
Total
n
n
∑ mi
∑a i =1
i =1
i
Format data pengamatan diatas digunakan sebagai panduan untuk memasukan data input pada program aplikasi. Pembuatan format diatas dilakukan pada waktu pengolahan data mentah hasil observasi.
Keterangan: mi ai
= =
banyaknya unit terpilih dalam cluster ke-i total
banyaknya
karakteristik
elemen
yang
dalam
diobservasi
pengamatan dalam cluster ke-i
cluster atau
ke-i nilai
yang
memiliki
proporsi
nilai
L.1-4 Lampiran 2
Format Data Pengamatan Cluster Sampling Two Stages
Format Data Pengamatan Cluster Sampling Two Stages cluster
Mi
yij
mi
i
1
2
..
..
mi
yi
yi
1
M1
m1
y11
y12
..
..
y1mi
y1
y1
2
M2
m2
y 21
y 22
..
..
y2 mi
y2
y2
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
n
Mn
mn
y n1
yn2
..
..
y nmi
yn
yn
Total
∑M
n
i =1
n
i
∑m i =1
n
i
∑y i =1
n
i
∑y i =1
i
Format data pengamatan diatas digunakan sebagai panduan untuk memasukan data input pada program aplikasi. Pembuatan format diatas dilakukan pada waktu pengolahan data mentah hasil observasi.
Keterangan: Mi = banyaknya unit dalam cluster ke-I populasi mi = banyaknya unit terpilih dalam cluster ke-i
yij = nilai pengamatan ke-j dalam sampel dari cluster ke-i yi =
1 mi
mi
∑y j =1
ij
= nilai rata-rata sampel untuk cluster ke –i.
L.1-5 Format Data Pengamatan Cluster Sampling Two Stages - Penduga Proporsi cluster
Mi
mi
i
aij 1
2
..
..
ai
ai
pi
1
M1
m1
a11
a12
..
..
a1mi
a1
p1
2
M2
m2
a21
a22
..
..
a 2 mi
a2
p2
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
n
Mn
mn
an1
an2
..
..
a nmi
an
pn
Total
n
∑Mi i =1
n
n
∑ mi
∑ ai i =1
i =1
n
∑p i =1
i
Format data pengamatan diatas digunakan sebagai panduan untuk memasukan data input pada program aplikasi. Pembuatan format diatas dilakukan pada waktu pengolahan data mentah hasil observasi.
Keterangan: Mi
= banyaknya unit dalam cluster ke-i populasi
mi
= banyaknya unit terpilih dalam cluster ke-i
ai
= banyaknya elemen dalam sampel yang ditarik dari cluster ke-i yang memiliki karakteristik tertentu yang diobservasi
pi
=
proporsi
dari
elemen-elemen
dalam
sampel
yang
ditarik
dari
cluster ke-i yang memiliki karakteristik tertentu yang diobservasi
L.1-6 Lampiran 3 Kode Program unit kenal; procedure TFkenal.FormCreate(Sender: TObject); var kotak1,kotak2,kotak3,kotak4,kotak5: HRGN; begin kotak1:=CreateRectRgn(30,30,Fkenal.Width-10,Fkenal.Height-10); kotak2:=CreateRectRgn(30,30,100,100); kotak3:=CreateRectRgn(470,300,570,370); kotak4:=CreateRectRgn(30,300,100,370); kotak5:=CreateRectRgn(470,30,570,100); CombineRgn(kotak1,kotak1,kotak2,RGN_DIFF); CombineRgn(kotak1,kotak1,kotak3,RGN_DIFF); CombineRgn(kotak1,kotak1,kotak4,RGN_DIFF); CombineRgn(kotak1,kotak1,kotak5,RGN_DIFF); SetWindowRgn(handle,kotak1,true); DeleteObject(kotak1); DeleteObject(kotak2); DeleteObject(kotak3); DeleteObject(kotak4); DeleteObject(kotak5); next.BevelWidth:=4; next.Color:=clBlue; end; procedure TFkenal.nextMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin next.BevelInner := bvLowered; next.BevelOuter:=bvLowered; next.Color:=clNavy; next.Font.Color := clSkyBlue; end; procedure TFkenal.nextMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin next.BevelInner:=bvNone; next.BevelOuter:=bvRaised; next.Color:=clBlue; next.Font.Color:=clWhite; end; procedure TFkenal.nextClick(Sender: TObject); begin fkenal.Hide; futama.Show; end;
L.1-7 unit Utama; procedure TFutama.FormCreate(Sender: TObject); begin StatusBarutama.Panels.Items[1].Text:='Tanggal :' + FormatDateTime('dddd, dd mmmm yyyy',Now ); StatusBarutama.Panels.Items[3].Text:='Merry Magdalena '; timer1.Enabled:=True; StatusBarutama.Panels.Items[0].Text:='Pengolahan Data - Cluster Samping'; exit.BevelWidth:=4; exit.Color:=clBlue; info1.Caption := '1. Program dapat digunakan untuk data yang telah diketahui ' +#13+ ' bahwa bentuk populasi sudah terbentuk kerangka sampelnya yaitu data berkluster.'; info2.Caption := '2. Program digunakan untuk menguji 1 nilai karakteristik parameter populasi' +#13+ ' dan data yang digunakan adalah data kuantitatif. ' ; info3.Caption := '3. Metode SRS yang dipakai adalah sistem without replacement. ' ; info4.Caption := '4. Didalam tahap Multistages hanya dibatasi dengan 2 tahap saja.' ; info5.Caption := '5. Program aplikasi dapat digunakan untuk pendugaan nilai parameter populasi. '; end; procedure TFutama.Timer1Timer(Sender: TObject); begin StatusBarutama.Panels.Items[2].Text:=timetostr(time); end; procedure TFutama.exitClick(Sender: TObject); begin Application.Terminate; end; procedure TFutama.EqualSize1Click(Sender: TObject); begin Futama.Hide; FsingleEQUAL.Show; end; procedure TFutama.EqualSize2Click(Sender: TObject); begin Futama.Hide; FsingleUNequal.Show; end; procedure TFutama.info1Click(Sender: TObject); begin info:=''; label3.Visible:=true; info := ' User HARUS sudah Menetapkan kluster-kluster yang sesuai dari populasi itu,'+#13 + ' kemudian mendaftaran semua kluster yang telah ditetapkan itu kedalam kerangka penarikan contoh (sampling frame).'; memo_info.Caption:=info; end;
L.1-8 procedure TFutama.info2Click(Sender: TObject); begin info:=''; label3.Visible:=true; info := ' User dapat menggunakan Program aplikasi untuk membantu mengoptimalkan pengolahan data sampel berkluster '+#13 + ' dari 1 data informasi yang tersedia dari sampel terpilih untuk menduga parameter populasi seperti rata-rata populasi, '+#13 + ' total populasi, ragam populasi, galat baku, batas galat dan selang kepercayaan +#13+#13 + ' 1 data informasi berupa total keseluruhan elemen dalam kluster terpilih.'; memo_info.Caption:=info; end; procedure TFutama.info3Click(Sender: TObject); begin info:=''; label3.Visible:=true; info := ' Metode SRS (Simple Random Sampling) adalah salah satu metode penarikan sampel yang digunakan, '+#13 +' untuk memilih sampel dari populasi dengan cara sedemikian rupa sehingga setiap anggota populasi '+#13 +' mempunyai peluang yang sama besar untuk diambil sebagai sampel. '+#13+#13 +' Penarikan sampel tanpa pengembalian (Without Replacement), umum dipakai pada populasi acak tak terbatas,'+#13 +' artinya penarikan sampel dilakukan dengan tidak mengembalikan kembali individu yang telah terambil '+#13 +' sebagai sampel ke dalam kerangka sampel. '; memo_info.Caption:=info; end; procedure TFutama.info4Click(Sender: TObject); begin info:=''; label3.Visible:=true; info:= ' Pengolahan Data Cluster Sampling - Multi Stages, hanya untuk kasus Two Stages saja. '+#13 +' Dimana penarikan sampel dan subsampelnya dilakukan dua tahap. '; memo_info.Caption:=info; end; procedure TFutama.info5Click(Sender: TObject); begin info:=''; label3.Visible:=true; info:= ' Pengolahan Data dapat menghitung pendugaan terhadap nilai parameter populasi, seperti :'+#13 +' nilai rata-rata, nilai total, dan nilai proporsi'+#13 +' Dan data yang tersedia di dalam sampling frame harus LENGKAP'; memo_info.Caption:=info; end; procedure TFutama.woStages1Click(Sender: TObject); begin ftwostages.Show; futama.Hide; end;
L.1-9 procedure TFutama.About1Click(Sender: TObject); begin fabout.show; futama.Hide; end; procedure TFutama.SRS1Click(Sender: TObject); begin fsrs.show; futama.Hide; end; end.
L.1-10 unit SRS; procedure TfSRS.FormCreate(Sender: TObject); begin StatusBarutama.Panels.Items[1].Text:='Tanggal :' + FormatDateTime('dddd, dd mmmm yyyy',Now ); StatusBarutama.Panels.Items[3].Text:='Merry Magdalena '; timer1.Enabled:=True; StatusBarutama.Panels.Items[0].Text:='Pengolahan Data - Cluster Samping'; exit.BevelWidth:=4; exit.Color:=clBlue; bantuan.Caption := ''+#13+#13+'Alokasi Sampel - SRS'; end; procedure TfSRS.Timer1Timer(Sender: TObject); begin StatusBarutama.Panels.Items[2].Text:=timetostr(time); end; procedure TfSRS.exitClick(Sender: TObject); begin Application.Terminate; end; procedure TfSRS.backUTAMAClick(Sender: TObject); begin fSRS.Hide; futama.Show; end; procedure TfSRS.lanjutSRS1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin lanjutSRS1.BevelInner := bvLowered; lanjutSRS1.BevelOuter:=bvLowered; lanjutSRS1.Color:=clNavy; lanjutSRS1.Font.Color := clYellow; end; procedure TfSRS.lanjutSRS1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin lanjutSRS1.BevelInner:=bvNone; lanjutSRS1.BevelOuter:=bvRaised; lanjutSRS1.Color:=clBlue; lanjutSRS1.Font.Color:=clWhite; end; procedure TfSRS.lanjutSRS1Click(Sender: TObject); begin fsrs_tahap_1.show; fsrs.Hide; end; end.
L.1-11 unit SRS_tahap1; //-------------save ke file ------------------procedure TfSRS_tahap_1.saveToFile(Sender:Tobject); var e,f,g:integer; filee:TIniFile ; begin mysave.Filter:='reset files (*.INI)|*.INI'; g:=strtoint(np.Text); if mysave.Execute then begin if RightStr(mysave.FileName,4)='.ini' then filee:=TIniFile.Create(mysave.filename) else filee :=TIniFile.Create(mysave.FileName+'.ini'); filee.WriteString('General','Nama',judul.Text); filee.WriteString('General','Np',np.Text); for e:=1 to g do begin for f:=1 to 2 do filee.WriteString('General','Data'+IntToStr(e)+IntToStr(f),input_data.C ells[f,e]); end; end; end; //procedure read from file------------procedure TfSRS_tahap_1.readFile(Sender:TObject); var e,f,g:integer; xfilee:TIniFile ; begin myopen.Filter:='reset files (*.ini)|*.ini'; if myopen.Execute then begin xfilee:=TIniFile.Create(myopen.FileName ); judul.Text:=xfilee.ReadString('General','Nama','fail'); np.Text:= xfilee.ReadString('General','Np','0'); g:= strtoint(np.Text); input_data.RowCount:= g+1; for e:=1 to g do begin for f:=1 to 2 do begin input_data.Cells[f,e]:=''; input_data.Cells[0,e]:= IntToStr(e); input_data.Cells[f,e]:=xfilee.ReadString('General','Data'+IntToStr(e)+I ntToStr(f),'0'); end; end; end; end; procedure TfSRS_tahap_1.FormCreate(Sender: TObject); begin PageControl.ActivePage:=tahap1;
L.1-12 input_data.ColCount :=3; input_data.RowCount:= 2; input_data.Cells[0,0]:= 'KLUSTER ke-i'; input_data.Cells[1,0]:= 'mi'; input_data.Cells[2,0]:= 'yi'; input_data.Cells[0,1]:='1'; input_data.ColWidths[1]:=45; input_data.ColWidths[2]:=100; StatusBarutama.Panels.Items[1].Text:='Tanggal :' + FormatDateTime('dddd, dd mmmm yyyy',Now ); StatusBarutama.Panels.Items[3].Text:='Merry Magdalena '; timer1.Enabled:=True; StatusBarutama.Panels.Items[0].Text:='Pengolahan Data - Cluster Samping'; exit.BevelWidth:=4; exit.Color:=clBlue; bantu := 'Selamat Datang ke Cluster Sampling - SRS' +#13 +#13 +'Baru : Pengolahan data baru' +#13 +#13 +'Buka : Ambil data yang pernah disimpan' +#13 +#13 +'Simpan : Menyimpan data' +#13 +#13 +'Banyaknya kluster dalam populasi = N' +#13 +#13 +'Banyaknya kluster terpilih = n' +#13 +#13 +'Banyaknya unit dalam kluster terpilih = mi' +#13 +#13 +'Total dari semua pengamatan dlm kluster ke-i =yi' ; bantuan.Caption := bantu; end; procedure TfSRS_tahap_1.Timer1Timer(Sender: TObject); begin StatusBarutama.Panels.Items[2].Text:=timetostr(time); end; procedure TfSRS_tahap_1.exitClick(Sender: TObject); begin application.Terminate; end; procedure TfSRS_tahap_1.backUTAMAClick(Sender: TObject); var a : integer; begin a:= MessageDlg('Data tidak akan diproses, Yakin akan ke Menu Utama SRS?',mtConfirmation,mbOKCancel,0); if a = mrCancel then fsrs_tahap_1.Show else begin Fsrs.show; Fsrs_tahap_1.Hide; end; end; procedure TfSRS_tahap_1.isi_dataClick(Sender: TObject); var i,l: integer; begin if strlen(pchar(judul.Text))=0 then ShowMessage( '> Judul tidak boleh kosong' ) else
L.1-13 if strlen(pchar(np.Text))= 0 then ShowMessage( '> Jumlah Kluster dlm populasi tidak boleh kosong') else begin l:=StrToInt(np.Text); input_data.ColCount :=3; input_data.RowCount:= l+1; for i:=1 to (l+1) do begin input_data.Cells[0,i]:= IntToStr(i); input_data.Cells[1,i]:= ''; input_data.Cells[2,i]:= ''; input_data.Enabled:=true; end end end; procedure TfSRS_tahap_1.input_dataClick(Sender: TObject); var InputString : string; c,d :integer; begin c:=input_data.Col; d:=input_data.Row; if c=1 then begin InputString:= InputBox('Masukkan data', 'Data Kolom mi'+' Baris ke '+inttostr(d), ''); input_data.Cells [c,d]:=InputString; end else begin InputString:= InputBox('Masukkan data', 'Data Kolom yi'+' Baris ke '+inttostr(d), ''); input_data.Cells [c,d]:=InputString; end end; procedure TfSRS_tahap_1.bukaClick(Sender: TObject); begin tahap1.Show; ReadFile(sender); input_data.Enabled:=true; end; procedure TfSRS_tahap_1.simpanClick(Sender: TObject); var a,i,j :integer; salah :string; begin tahap1.Show; a:=input_data.RowCount-1; salah:=''; if strlen(pchar(judul.Text))=0 then salah :=salah+'> Judul tidak boleh kosong' +#13; if strlen(pchar(np.Text))= 0 then salah :=salah+'> Jumlah Kluster dlm populasi tidak boleh kosong' +#13;
L.1-14 for i:=1 to a do begin for j :=1 to 2 do begin if strlen(pchar(input_data.Cells[j,i]))=0 then salah:=salah+ 'Input ['+inttostr(j)+','+inttostr(i)+'] kosong'+#13; end; end; if salah='' then saveToFile(sender) else begin showmessage(salah+'Data HARUS LENGKAP'); end; end; procedure TfSRS_tahap_1.baruClick(Sender: TObject); var e,g : integer; begin tahap1.Show; isi_data.Visible:=true; judul.Text:=''; np.Text:=''; g := input_data.RowCount; for e:=1 to g do begin input_data.Cells[1,e]:= ''; input_data.Cells[2,e]:= ''; end; end; procedure TfSRS_tahap_1.FormShow(Sender: TObject); begin PageControl.ActivePage:=tahap1; end; procedure TfSRS_tahap_1.ltabelClick(Sender: TObject); begin tahap1.Hide; tahap2.Show; end; procedure TfSRS_tahap_1.lanjut_1Click(Sender: TObject); var n_1,j,k, nppp:integer; h :array[1..1000] of integer; sama:Boolean; begin Randomize; n_1:= StrToInt(nn1.Text); nppp:=StrToInt(np.Text); if n_1>nppp then ShowMessage('Besar Sampel yang yang dimasukkan harus lebih kecil dari besar populasi!!') else begin hasil.ColCount:=3; hasil.RowCount:=n_1+1;
L.1-15 for j:=1 to n_1 do begin repeat sama:=False; h[j]:= random(nppp)+1; for k:= j-1 downto 1 do begin if h[j] = h[k] then sama:=true; end; until not sama; hasil.Cells[0,j]:= inttostr(h[j]); hasil.Cells[1,j]:= input_data.Cells[1,h[j]]; hasil.Cells[2,j]:= input_data.Cells[2,h[j]]; end; end; end; procedure TfSRS_tahap_1.Tahap2Show(Sender: TObject); begin hasil.Cells[0,0]:= 'KLUSTER ke-i'; hasil.Cells[1,0]:= 'mi'; hasil.Cells[2,0]:= 'yi'; hasil.ColWidths[1]:=45; hasil.ColWidths[2]:=100; end; procedure TfSRS_tahap_1.simpan_1Click(Sender: TObject); var e,f,g:integer; filee:TIniFile ; begin mysave.Filter:='reset files (*.INI)|*.INI'; g:=strtoint(nn1.Text); if mysave.Execute then begin if RightStr(mysave.FileName,4)='.ini' then filee:=TIniFile.Create(mysave.filename) else filee :=TIniFile.Create(mysave.FileName+'.ini'); filee.WriteString('General','Nama',judul.Text); filee.WriteString('General','N',nn1.Text); filee.WriteString('General','Np',np.Text); for e:=1 to g do begin for f:=1 to 2 do filee.WriteString('General','Data'+IntToStr(e)+IntToStr(f),input_data.C ells[f,e]); end; end; end; end.
L.1-16 unit singleEQUAL; procedure TFsingleEQUAL.FormCreate(Sender: TObject); begin StatusBarutama.Panels.Items[1].Text:='Tanggal :' + FormatDateTime('dddd, dd mmmm yyyy',Now ); StatusBarutama.Panels.Items[3].Text:='Merry Magdalena timer1.Enabled:=True; StatusBarutama.Panels.Items[0].Text:='Pengolahan Data - Cluster Samping'; exit.BevelWidth:=4; exit.Color:=clBlue; bantuan.Caption := ''+ #13+#13 +'Single Stage Equal Size' +#13 +#13 +'Jumlah unit dalam kluster yang terpilih'+#13 + 'SAMA BESAR ukurannya '; end; procedure TFsingleEQUAL.Timer1Timer(Sender: TObject); begin StatusBarutama.Panels.Items[2].Text:=timetostr(time); end; procedure TFsingleEQUAL.exitClick(Sender: TObject); begin Application.Terminate; end; procedure TFsingleEQUAL.backUTAMAClick(Sender: TObject); begin FsingleEqual.Hide; futama.Show; end; procedure TFsingleEQUAL.lanjutEQUAL1Click(Sender: TObject); begin Fsingleequal.Hide; Fsingleequal_tahap_1.Show; end; end.
';
L.1-17 unit singleEQUAL_tahap_1; //-------------save ke file ------------------procedure TFsingleEQUAL_tahap_1.saveToFile(Sender:Tobject); var e,f,g:integer; filee:TIniFile ; begin mysave.Filter:='reset files (*.INI)|*.INI'; g:=strtoint(n.Text); if mysave.Execute then begin if RightStr(mysave.FileName,4)='.ini' then filee:=TIniFile.Create(mysave.filename) else filee :=TIniFile.Create(mysave.FileName+'.ini'); filee.WriteString('General','Nama',judul.Text); filee.WriteString('General','N',n.Text); filee.WriteString('General','Np',np.Text); filee.WriteString('General','MMi',mmi.Text); for e:=1 to g do begin for f:=1 to 2 do filee.WriteString('General','Data'+IntToStr(e)+IntToStr(f),input_data.C ells[f,e]); end; end; end; //procedure read from file------------procedure TFsingleEQUAL_tahap_1.readFile(Sender:TObject); var e,f,g:integer; xfilee:TIniFile ; begin myopen.Filter:='reset files (*.ini)|*.ini'; if myopen.Execute then begin xfilee:=TIniFile.Create(myopen.FileName ); judul.Text:=xfilee.ReadString('General','Nama','fail'); n.Text:= xfilee.ReadString('General','N','0'); np.Text:= xfilee.ReadString('General','Np','0'); mmi.Text:= xfilee.ReadString('General','MMi','0'); g:= strtoint(n.Text); input_data.RowCount:= g+1; for e:=1 to g do begin for f:=1 to 2 do begin input_data.Cells[f,e]:=''; input_data.Cells[0,e]:= IntToStr(e); input_data.Cells[f,e]:= xfilee.ReadString('General','Data'+IntToStr(e)+IntToStr(f),'0'); end; end; end; end;
L.1-18 procedure TFsingleEQUAL_tahap_1.FormCreate(Sender: TObject); begin PageControl.ActivePage:=tahap1; QuickRep1.Visible:=false; QuickRep2.Visible:=false; input_data.ColCount :=3; input_data.RowCount:= 2; input_data.Cells[0,0]:= 'KLUSTER ke-i'; input_data.Cells[1,0]:= 'mi'; input_data.Cells[2,0]:= 'yi'; input_data.Cells[0,1]:='1'; input_data.ColWidths[1]:=45; input_data.ColWidths[2]:=100; StatusBarutama.Panels.Items[1].Text:='Tanggal :' + FormatDateTime('dddd, dd mmmm yyyy',Now ); StatusBarutama.Panels.Items[3].Text:='Merry Magdalena '; timer1.Enabled:=True; StatusBarutama.Panels.Items[0].Text:='Pengolahan Data - Cluster Samping'; exit.BevelWidth:=4; exit.Color:=clBlue; bantu := 'Selamat Datang ke Cluster Sampling - Equal Size' +#13 +#13 +'Baru : Pengolahan data baru' +#13 +#13 +'Buka : Ambil data yang pernah disimpan' +#13 +#13 +'Simpan : Menyimpan data' +#13 +#13 +'Banyaknya kluster dalam populasi = N' +#13 +#13 +'Banyaknya kluster terpilih = n' +#13 +#13 +'Banyaknya unit dalam kluster terpilih = mi' +#13 +#13 +'Banyaknya elemen dalam kluster terpilih = M' +#13 +#13 +'Total dari semua pengamatan dlm kluster ke-i = yi'; bantuan.Caption := bantu; end; procedure TFsingleEQUAL_tahap_1.Timer1Timer(Sender: TObject); begin StatusBarutama.Panels.Items[2].Text:=timetostr(time); end; procedure TFsingleEQUAL_tahap_1.exitClick(Sender: TObject); begin application.Terminate; end; procedure TFsingleEQUAL_tahap_1.backUTAMAClick(Sender: TObject); var a : integer; begin a:= MessageDlg('Data tidak akan diproses, Yakin akan ke Menu utama "Equal Size"?',mtConfirmation,mbOKCancel,0); if a = mrCancel then Fsingleequal_tahap_1.Show else begin Fsingleequal.Show; Fsingleequal_tahap_1.Hide; end; end;
L.1-19 procedure TFsingleEQUAL_tahap_1.isi_dataClick(Sender: TObject); var i,k,l,o: integer; begin if strlen(pchar(judul.Text))=0 then ShowMessage( '> Judul tidak boleh kosong' ) else if strlen(pchar(np.Text))= 0 then ShowMessage( '> Jumlah Kluster dlm populasi tidak boleh kosong') else if strlen(pchar(n.Text))=0 then ShowMessage('> Jumlah Kluster terpilih tidak boleh kosong') else if strlen(pchar(mmi.Text))=0 then ShowMessage('> Jumlah unit dalam setiap kluster terpilih tidak boleh kosong') else begin k:=StrToInt(n.Text); l:=StrToInt(np.Text); o:=StrToInt(mmi.Text); if(k>l) then ShowMessage('> Kluster terpilih harus lebih kecil dari kluster populasi') else begin input_data.ColCount :=3; input_data.RowCount:= k+1; for i:=1 to (k+1) do begin input_data.Cells[0,i]:= IntToStr(i); input_data.Cells[1,i]:= IntToStr (o); input_data.Cells[2,i]:= ''; input_data.Enabled:=true; end; end; end; end; procedure TFsingleEQUAL_tahap_1.input_dataClick(Sender: TObject); var InputString : string; c,d :integer; begin c:=input_data.Col; d:=input_data.Row; if c=1 then begin InputString:= InputBox('Masukkan data', 'Data Kolom mi'+' Baris ke '+inttostr(d), ''); input_data.Cells [c,d]:=InputString; end else begin InputString:= InputBox('Masukkan data', 'Data Kolom yi'+' Baris ke '+inttostr(d), ''); input_data.Cells [c,d]:=InputString; end end;
L.1-20 procedure TFsingleEQUAL_tahap_1.bukaClick(Sender: TObject); begin tahap1.Show; ReadFile(sender); input_data.Enabled:=true; end; procedure TFsingleEQUAL_tahap_1.simpanClick(Sender: TObject); var a,i,j :integer; salah :string; begin tahap1.Show; a:=input_data.RowCount-1; salah:=''; if strlen(pchar(judul.Text))=0 then salah :=salah+'> Judul tidak boleh kosong' +#13; if strlen(pchar(np.Text))= 0 then salah :=salah+'> Jumlah Kluster dlm populasi tidak boleh kosong' +#13; if strlen(pchar(n.Text))=0 then salah :=salah+'> Jumlah Kluster terpilih tidak boleh kosong' +#13; if strlen(pchar(mmi.Text))=0 then salah :=salah+'> Jumlah unit dalam setiap kluster terpilih tidak boleh kosong' +#13; for i:=1 to a do begin for j :=1 to 2 do begin if strlen(pchar(input_data.Cells[j,i]))=0 then salah:=salah+ 'Input ['+inttostr(j)+','+inttostr(i)+'] kosong'+#13; end; end; if salah='' then saveToFile(sender) else begin showmessage(salah+'Data HARUS LENGKAP'); end; end; procedure TFsingleEQUAL_tahap_1.baruClick(Sender: TObject); var e,g : integer; begin tahap1.Show; isi_data.Visible:=true; judul.Text:=''; n.Text:=''; np.Text:=''; mmi.Text:=''; g := input_data.RowCount; for e:=1 to g+1 do begin input_data.Cells[1,e]:= ''; input_data.Cells[2,e]:= ''; end; end;
L.1-21 procedure TFsingleEQUAL_tahap_1.lanjutunEQUAL2Click(Sender: TObject); var nn,nnp,i,baris :integer; begin nn:=strtoint(n.Text); nnp :=strtoint(np.Text); tahap1.Hide; tahap2.Show; panel5.Visible:=true; panel6.Visible:=false; //inisialisasi u1:=0; tot1:=0; tot2:=0; rata:=0; tot11:=0; tot12:=0; tot121:=0; tot13:=0; temp:=0; temp1:=0; temp11:=0; temp12:=0; sp1:=0; sp2:=0; sp11:=0; sp12:=0; baris :=input_data.RowCount-1; for i:=1 to baris do begin tot1:= tot1+ StrToFloat(input_data.Cells[1,i]); tot2:= tot2+ StrToFloat(input_data.Cells[2,i]); end; rata:= rata+(tot2/tot1); rata:=roundto(rata,-3); tot121:=tot121+(tot1/nn); tot121:=roundto(tot121,-3); for i:=1 to baris do begin tot12:= tot12+ (StrToFloat(input_data.Cells[1,i])*StrToFloat(input_data.Cells[1,i])); tot11:= tot11+ (StrToFloat(input_data.Cells[2,i])*StrToFloat(input_data.Cells[2,i])); tot13:= tot13+ (StrToFloat(input_data.Cells[1,i])*StrToFloat(input_data.Cells[2,i])); end; temp:=temp+(tot11-(2*rata*tot13)+(rata*rata*tot12)); u1:=u1+temp; temp:=((Nnp-nn)/Nnp)*(1/(nn*tot121*tot121))*(temp/(nn-1)); temp1:=temp1+(sqrt(temp)); temp:=roundto(temp,-4); temp1:=roundto(temp1,-3); temp11:=temp11+(1.96*temp1); temp12:=temp12+(2.575*temp1); temp11:=roundto(temp11,-3); temp12:=roundto(temp12,-3); sp1:=sp1+(rata-temp11);
L.1-22 sp2:=sp2+(rata+temp11); sp1:=roundto(sp1,-3); sp2:=roundto(sp2,-3); sp11:=sp11+(rata-temp12); sp12:=sp12+(rata+temp12); sp11:=roundto(sp11,-3); sp12:=roundto(sp12,-3); hasil1.Cells[1,1]:=FormatFloat('#,##0.000',tot1); hasil1.Cells[2,1]:=FormatFloat('#,##0.000',tot2); hasil2.Cells[1,1]:=FormatFloat('#,##0.000',rata); hasil2.Cells[1,2]:=FormatFloat('#,##0.0000',temp); hasil2.Cells[1,3]:=FormatFloat('#,##0.000',temp1); hasil3.Cells[1,1]:=FormatFloat('#,##0.000',temp11); hasil3.Cells[2,1]:=FormatFloat('#,##0.000',temp12); hasil3.Cells[1,2]:='['+FormatFloat('#,##0.000',sp1)+';'+FormatFloat('#, ##0.000',sp2)+']'; hasil3.Cells[2,2]:='['+FormatFloat('#,##0.00',sp11)+';'+FormatFloat('#, ##0.00',sp12)+']'; ket := ''+#13 + ' 1.> Rata-rata populasi diperkirakan sebesar ' + hasil2.Cells[1,1]+' .'+#13 +#13 + ' 2.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa penyimpangan yang terjadi atas '+ #13 + ' pendugaan no.1 akan lebih kecil dari '+hasil3.Cells[1,1]+' .'+#13+#13 + ' 3.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa penyimpangan yang terjadi atas '+ #13 + ' pendugaan no.1 akan lebih kecil dari '+hasil3.Cells[2,1]+' .'+#13 +#13 + ' 4.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa selang nilai '+ hasil3.Cells[1,2]+ #13 + ' akan mencakup rata-rata yang sesungguhnya dari populasi. '+#13 +#13 + ' 5.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa selang nilai '+ hasil3.Cells[2,2] + #13 + ' akan mencakup rata-rata yang sesungguhnya dari populasi. '+#13 +#13 ; KETERangan.Caption:=ket; end; procedure TFsingleEQUAL_tahap_1.tahap2Show(Sender: TObject); begin hasil1.Cells[1,0]:= 'mi'; hasil1.Cells[2,0]:= 'yi'; hasil1.Cells[0,1]:= 'Total'; hasil2.Cells[1,0]:= 'Hasil'; hasil2.Cells[0,1]:= 'Rata-rata'; hasil2.Cells[0,2]:= 'Ragam'; hasil2.Cells[0,3]:= 'Galat Baku'; hasil3.Cells[0,0]:= 'Alpha'; hasil3.Cells[1,0]:= ' 5%'; hasil3.Cells[2,0]:= '1%'; hasil3.Cells[0,1]:= 'Batas Galat'; hasil3.Cells[0,2]:= 'Selang kepercayaan'; end; procedure TFsingleEQUAL_tahap_1.FormShow(Sender: TObject); begin
L.1-23 PageControl.ActivePage:=tahap1; end; procedure TFsingleEQUAL_tahap_1.cetak1Click(Sender: TObject); begin QRjudul.Caption:='PENGOLAHAN DATA "Cluster Sampling Single Stage Equal Size"'; QR1.Caption:= judul.Text; QR2.Caption:= np.Text; QR3.Caption:= n.Text; with hasil1 do begin QR4.Caption:= hasil1.Cells[1,1]; QR5.Caption:= hasil1.Cells[2,1]; end; with hasil2 do begin QR6.Caption:= hasil2.Cells[1,1]; QR7.Caption:= hasil2.Cells[1,2]; QR8.Caption:= hasil2.Cells[1,3]; end; with hasil3 do begin QR9.Caption:= hasil3.Cells[1,1]; QR10.Caption:= hasil3.Cells[1,2];; QR11.Caption:= hasil3.Cells[2,1]; QR12.Caption:= hasil3.Cells[2,2];; end; QRMemo1.Lines.Clear; QRMemo1.Lines.Add(' 1.> Rata-rata populasi diperkirakan sebesar '+ QR6.Caption ); QRMemo1.Lines.Add(''); QRMemo1.Lines.Add(' 2.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa penyimpangan yang terjadi atas'); QRMemo1.Lines.Add(' pendugaan no.1 akan lebih kecil dari '+ QR9.Caption+' .'); QRMemo1.Lines.Add(''); QRMemo1.Lines.Add(' 3.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa selang nilai '+ QR10.Caption); QRMemo1.Lines.Add(' akan mencakup rata-rata yang sesungguhnya dari populasi. '); QRMemo1.Lines.Add(''); QRMemo1.Lines.Add(' 4.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa penyimpangan yang terjadi atas'); QRMemo1.Lines.Add(' pendugaan no.1 akan lebih kecil dari '+ QR11.Caption+'.'); QRMemo1.Lines.Add(''); QRMemo1.Lines.Add(' 5.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa selang nilai '+ QR12.Caption); QRMemo1.Lines.Add(' akan mencakup rata-rata yang sesungguhnya dari populasi. '); QRMemo1.Lines.Add(''); QRMemo1.Show; QuickRep1.Preview; end;
L.1-24 procedure TFsingleEQUAL_tahap_1.totalClick(Sender: TObject); begin panel6.Visible:=true; panel5.Visible:=false; tahap2.Hide; tahap3.Show; end; procedure TFsingleEQUAL_tahap_1.yaClick(Sender: TObject); begin hitung.Visible:=true; label10.Visible:=true; m.Visible:=true; Label11.Caption:= 'Hasil Pendugaan Nilai Total Populasi dengan M diketahui'; hasil4.Cells[1,1]:=''; hasil4.Cells[1,2]:=''; hasil4.Cells[1,3]:=''; hasil5.Cells[1,1]:=''; hasil5.Cells[2,1]:=''; hasil5.Cells[1,2]:=''; hasil5.Cells[2,2]:=''; end; procedure TFsingleEQUAL_tahap_1.tahap3Show(Sender: TObject); begin hasil4.Cells[1,0]:= 'Hasil'; hasil4.Cells[0,1]:= 'Nilai Total'; hasil4.Cells[0,2]:= 'Ragam'; hasil4.Cells[0,3]:= 'Galat Baku'; hasil5.Cells[0,0]:= 'Alpha'; hasil5.Cells[1,0]:= ' 5%'; hasil5.Cells[2,0]:= '1%'; hasil5.Cells[0,1]:= 'Batas Galat'; hasil5.Cells[0,2]:= 'Selang kepercayaan'; end; procedure TFsingleEQUAL_tahap_1.hitungClick(Sender: TObject); var mm :Extended; y1: string; begin cetak2.Visible:=true; mm:=StrToFloat(m.Text); temp2:=0; sp3:=0; temp3:=0; sp4:=0; temp4:=0; temp5:=0; temp6:=0; sp31:=0; sp41:=0; temp2:=temp2+ (mm*rata); temp2:=roundto(temp2,-3); temp3:=temp3+(mm*mm*temp); temp3:=roundto(temp3,-3);
L.1-25 temp4:=temp4+(sqrt(temp3)); temp4:=roundto(temp4,-3); temp5:=temp5+(1.96*temp4); temp6:=temp6+(2.575*temp4); temp5:=roundto(temp5,-3); temp6:=roundto(temp6,-3); sp3:=sp3+(temp2-temp5); sp4:=sp4+(temp2+temp5); sp3:=roundto(sp3,-3); sp4:=roundto(sp4,-3); sp31:=sp31+(temp2-temp6); sp41:=sp41+(temp2+temp6); sp31:=roundto(sp31,-3); sp41:=roundto(sp41,-3); y1:=''; y1:=y1+FormatFloat('0',temp2); hasil4.Cells[1,1]:=FormatFloat('#,##0.000',temp2); hasil4.Cells[1,2]:=FormatFloat('#,##0.000',temp3); hasil4.Cells[1,3]:=FormatFloat('#,##0.000',temp4); hasil5.Cells[1,1]:=FormatFloat('#,##0.000',temp5); hasil5.Cells[2,1]:=FormatFloat('#,##0.000',temp6); hasil5.Cells[1,2]:='['+FormatFloat('#,##0.000',sp3)+' ; '+FormatFloat('#,##0.000',sp4)+']'; hasil5.Cells[2,2]:='['+FormatFloat('#,##0.000',sp31)+' ; '+FormatFloat('#,##0.000',sp41)+']'; ket1 := ''+#13 + ' 1.> Total populasi diperkirakan sebesar ' + hasil4.Cells[1,1]+' . Dibulatkan menjadi = '+y1+' .'+#13 +#13 + ' 2.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa penyimpangan yang terjadi atas '+ #13 + ' pendugaan no.1 akan lebih kecil dari '+hasil5.Cells[1,1]+' .'+#13+#13 + ' 3.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa penyimpangan yang terjadi atas '+ #13 + ' pendugaan no.1 akan lebih kecil dari '+hasil5.Cells[2,1]+' .'+#13 +#13 + ' 4.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa selang nilai '+ hasil5.Cells[1,2]+ #13 + ' akan mencakup total seluruh elemen dari populasi. '+#13 +#13 + ' 5.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa selang nilai '+ hasil5.Cells[2,2] + #13 + ' akan mencakup total seluruh elemen dari populasi. '+#13 +#13 ; KEt2.Caption:=ket1; end; procedure TFsingleEQUAL_tahap_1.tidakClick(Sender: TObject); var nn,nnp :integer; y1 :string; begin m.Text:=''; cetak2.Visible:=true; nn:=StrToInt(n.Text); nnp:=StrToInt(np.Text); Label11.Caption:= 'Hasil Pendugaan Nilai Total Populasi dengan M tidak diketahui'; temp2:=0;
L.1-26 sp3:=0; temp3:=0; sp4:=0; temp4:=0; temp5:=0; temp6:=0; temp7:=0; sp31:=0; sp41:=0; label10.Visible:=false; m.Visible:=false; hitung.Visible:=false; hasil4.Cells[1,1]:=''; hasil4.Cells[1,2]:=''; hasil4.Cells[1,3]:=''; hasil5.Cells[1,1]:=''; hasil5.Cells[2,1]:=''; hasil5.Cells[1,2]:=''; hasil5.Cells[2,2]:=''; temp2:=temp2+ ((nnp*tot2)/nn); temp2:=roundto(temp2,-3); temp3:=temp3+((nnp-nn)/nnp); temp3:=roundto(temp3,-3); temp4:=temp4+(tot11-((tot2*tot2)/nn)); temp4:=((nnp*nnp*temp3*temp4)/(nn*(nn-1))); temp4:=roundto(temp4,-3); temp5:=temp5+(sqrt(temp4)); temp5:=roundto(temp5,-3); temp6:=temp6+(1.96*temp5); temp7:=temp7+(2.575*temp5); temp6:=roundto(temp6,-3); temp7:=roundto(temp7,-3); sp3:=sp3+(temp2-temp6); sp4:=sp4+(temp2+temp6); sp3:=roundto(sp3,-3); sp4:=roundto(sp4,-3); sp31:=sp31+(temp2-temp7); sp41:=sp41+(temp2+temp7); sp31:=roundto(sp31,-3); sp41:=roundto(sp41,-3); y1:=''; y1:=y1+FormatFloat('0',temp2); hasil4.Cells[1,1]:=FormatFloat('#,##0.000',temp2); hasil4.Cells[1,2]:=FormatFloat('#,##0.000',temp4); hasil4.Cells[1,3]:=FormatFloat('#,##0.000',temp5); hasil5.Cells[1,1]:=FormatFloat('#,##0.000',temp6); hasil5.Cells[2,1]:=FormatFloat('#,##0.000',temp7); hasil5.Cells[1,2]:='['+FormatFloat('#,##0.000',sp3)+' ; '+FormatFloat('#,##0.000',sp4)+']'; hasil5.Cells[2,2]:='['+FormatFloat('#,##0.000',sp31)+' ; '+FormatFloat('#,##0.000',sp41)+']'; ket3 := ''+#13 + '1.> Total populasi diperkirakan sebesar ' + hasil4.Cells[1,1]+' . Dibulatkan menjadi = '+y1+' .'+#13 +#13 + ' 2.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa penyimpangan yang terjadi atas '+ #13
L.1-27 + ' pendugaan no.1 akan lebih kecil dari '+hasil5.Cells[1,1]+' .'+#13+#13 + ' 3.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa penyimpangan yang terjadi atas '+ #13 + ' pendugaan no.1 akan lebih kecil dari '+hasil5.Cells[2,1]+' .'+#13 +#13 + ' 4.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa selang nilai '+ hasil5.Cells[1,2]+ #13 + ' akan mencakup total seluruh elemen dari populasi. '+#13 +#13 + ' 5.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa selang nilai '+ hasil5.Cells[2,2] + #13 + ' akan mencakup total seluruh elemen dari populasi. '+#13 +#13 ; KEt2.Caption:=ket3; end; procedure TFsingleEQUAL_tahap_1.cetak2Click(Sender: TObject); begin QRjudul2.Caption:='PENGOLAHAN DATA "Cluster Sampling Single Stage Equal Size"'; QR13.Caption:= judul.Text; QR14.Caption:= np.Text; QR15.Caption:= n.Text; with hasil1 do begin QR16.Caption:= hasil1.Cells[1,1]; QR17.Caption:= hasil1.Cells[2,1]; end; with hasil2 do begin QR18.Caption:= hasil2.Cells[1,1]; QR19.Caption:= hasil2.Cells[1,2]; QR20.Caption:= hasil2.Cells[1,3]; end; with hasil3 do begin QR21.Caption:= hasil3.Cells[1,1]; QR22.Caption:= hasil3.Cells[1,2];; QR23.Caption:= hasil3.Cells[2,1]; QR24.Caption:= hasil3.Cells[2,2];; end; if strlen(pchar(m.Text))= 0 then QR25.Caption:= ' tidak diketahui ' else QR25.Caption:= m.Text; with hasil4 do begin QR26.Caption:= hasil4.Cells[1,1]; QR27.Caption:= hasil4.Cells[1,2]; QR28.Caption:= hasil4.Cells[1,3]; end; with hasil5 do begin QR29.Caption:= hasil5.Cells[1,1]; QR30.Caption:= hasil5.Cells[1,2];; QR31.Caption:= hasil5.Cells[2,1]; QR32.Caption:= hasil5.Cells[2,2];; end;
L.1-28 QRMemo2.Lines.Clear; QRMemo2.Lines.Add(' 1.> Rata-rata populasi diperkirakan sebesar '+ QR18.Caption ); QRMemo2.Lines.Add(''); QRMemo2.Lines.Add(' 2.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa penyimpangan yang terjadi atas'); QRMemo2.Lines.Add(' pendugaan no.1 akan lebih kecil dari '+ QR21.Caption+' .'); QRMemo2.Lines.Add(''); QRMemo2.Lines.Add(' 3.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa selang nilai '+ QR22.Caption); QRMemo2.Lines.Add(' akan mencakup rata-rata yang sesungguhnya dari populasi. '); QRMemo2.Lines.Add(''); QRMemo2.Lines.Add(' 4.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa penyimpangan yang terjadi atas'); QRMemo2.Lines.Add(' pendugaan no.1 akan lebih kecil dari '+ QR23.Caption+'.'); QRMemo2.Lines.Add(''); QRMemo2.Lines.Add(' 5.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa selang nilai '+ QR24.Caption); QRMemo2.Lines.Add(' akan mencakup rata-rata yang sesungguhnya dari populasi. '); QRMemo2.Lines.Add(''); QRMemo2.Show; QRMemo3.Lines.Clear; QRMemo3.Lines.Add(' 1.> Total populasi diperkirakan sebesar '+ QR26.Caption ); QRMemo3.Lines.Add(''); QRMemo3.Lines.Add(' 2.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa penyimpangan yang terjadi atas'); QRMemo3.Lines.Add(' pendugaan no.1 akan lebih kecil dari '+ QR29.Caption+' .'); QRMemo3.Lines.Add(''); QRMemo3.Lines.Add(' 3.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa selang nilai '+ QR30.Caption); QRMemo3.Lines.Add(' akan mencakup rata-rata yang sesungguhnya dari populasi. '); QRMemo3.Lines.Add(''); QRMemo3.Lines.Add(' 4.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa penyimpangan yang terjadi atas'); QRMemo3.Lines.Add(' pendugaan no.1 akan lebih kecil dari '+ QR31.Caption+'.'); QRMemo3.Lines.Add(''); QRMemo3.Lines.Add(' 5.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa selang nilai '+ QR32.Caption); QRMemo3.Lines.Add(' akan mencakup rata-rata yang sesungguhnya dari populasi. '); QRMemo3.Lines.Add(''); QRMemo3.Show; QuickRep2.Preview; end; procedure TFsingleEQUAL_tahap_1.ukuranClick(Sender: TObject); begin panel5.Visible:=true; panel6.Visible:=false;
L.1-29 tahap3.Hide; tahap4.Show; end; procedure TFsingleEQUAL_tahap_1.hitung2Click(Sender: TObject); var info :string; u4,z,gg :extended; nnnp,nnn :integer; begin z:=0; u2:=0; u3:=0; u4:=0; gg:=StrToFloat(g.Text); nnnp:=StrToInt(Np.Text); nnn:=strtoint(n.Text); if A95.Checked=true then begin z:= z+1.96; info := ' Jika ingin melakukan survei dimasa yang akan datang dengan ketentuan : '+#13 + ' 1.> Galat tidak boleh menyimpang lebih besar dari ' +G.Text +#13 + ' Dengan Taraf kepercayaan 95 %. Dan ' +#13 + ' 2.> Ukuran Kluster dalam populasi sebesar '+Np.Text+' kluster'+#13 end; if A99.Checked=true then z:= z+2.575; begin info := ' Jika ingin melakukan survei dimasa yang akan datang dengan ketentuan : '+#13 + ' 1.> Galat tidak boleh menyimpang lebih besar dari ' +G.Text +#13 + ' Dengan Taraf kepercayaan 99 %. Dan ' +#13 + ' 2.> Ukuran Kluster dalam populasi sebesar '+Np.Text+'kluster'+#13; end; u2:=u2+(u1/(nnn-1)); u2:=roundto(u2,-3); u3:=u3+((nnnp*z*z*u2)/((nnnp*gg*gg*tot121*tot121)+(z*z*u2))); u3:=roundto(u3,-3); u4:=u4+u3; u4:=roundto(u4,0); nn1.Caption:=FormatFloat('#,##0.000',u3); ket4.Caption:=info +#13+ ' Maka Ukuran Sampel Kluster yang harus terpilih sebanyak ' + nn1.Caption+' kluster' +#13 +' dibulatkan menjadi =' +FloatToStr(u4)+' Kluster'; end; end.
L.1-30 unit singleUNequal; procedure TFsingleUNequal.FormCreate(Sender: TObject); begin StatusBarutama.Panels.Items[1].Text:='Tanggal :' + FormatDateTime('dddd, dd mmmm yyyy',Now ); StatusBarutama.Panels.Items[3].Text:='Merry Magdalena '; timer1.Enabled:=True; StatusBarutama.Panels.Items[0].Text:='Pengolahan Data - Cluster Samping'; exit.BevelWidth:=4; exit.Color:=clBlue; bantuan.Caption := ''+ #13+#13 +'Single Stage Un-Equal Size' +#13 +#13 +'Jumlah unit dalam kluster yang terpilih'+#13 + 'TIDAK SAMA BESAR ukurannya '; end; procedure TFsingleUNequal.Timer1Timer(Sender: TObject); begin StatusBarutama.Panels.Items[2].Text:=timetostr(time); end; procedure TFsingleUNequal.exitClick(Sender: TObject); begin application.Terminate; end; procedure TFsingleUNequal.backUTAMAClick(Sender: TObject); begin FsingleUNequal.Hide; futama.Show; end; procedure TFsingleUNequal.lanjutunEQUAL1Click(Sender: TObject); var a: integer; begin a:= MessageDlg(' Jika Ingin Melakukan Pendugaan Proporsi Pilih "YES", Jika ingin melakukan pendugaan "Rata-rata dan Total" pilih "No"',mtConfirmation,mbYesNoCancel,0 ); if a = mrCancel then fsingleUNequal.Show else begin if a= mrYes then begin FsingleUNequal_proporsi.Show; FsingleUNequal.Hide; end else begin FsingleUNEQUAL_tahap_1.Show; FsingleUNequal.Hide; end; end; end; end.
L.1-31 unit singleUNequal_tahap_1; //-------------save ke file ------------------procedure TFsingleUNequal_tahap_1.saveToFile(Sender:Tobject); var e,f,g:integer; filee:TIniFile ; begin mysave.Filter:='reset files (*.INI)|*.INI'; g:=strtoint(n.Text); if mysave.Execute then begin if RightStr(mysave.FileName,4)='.ini' then filee:=TIniFile.Create(mysave.filename) else filee :=TIniFile.Create(mysave.FileName+'.ini'); filee.WriteString('General','Nama',judul.Text); filee.WriteString('General','N',n.Text); filee.WriteString('General','Np',np.Text); for e:=1 to g do begin for f:=1 to 2 do filee.WriteString('General','Data'+IntToStr(e)+IntToStr(f),input_data.C ells[f,e]); end; end; end; //procedure read from file------------procedure TfsingleUNequal_tahap_1.readFile(Sender:TObject); var e,f,g:integer; xfilee:TIniFile ; begin myopen.Filter:='reset files (*.ini)|*.ini'; if myopen.Execute then begin xfilee:=TIniFile.Create(myopen.FileName ); judul.Text:=xfilee.ReadString('General','Nama','fail'); n.Text:= xfilee.ReadString('General','N','0'); np.Text:= xfilee.ReadString('General','Np','0'); g:= strtoint(n.Text); input_data.RowCount:= g+1; for e:=1 to g do begin for f:=1 to 2 do begin input_data.Cells[f,e]:=''; input_data.Cells[0,e]:= IntToStr(e); input_data.Cells[f,e]:= xfilee.ReadString('General','Data'+IntToStr(e)+IntToStr(f),'0'); end; end; end; end;
L.1-32 procedure TFsingleUNequal_tahap_1.FormCreate(Sender: TObject); begin PageControl.ActivePage:=tahap1; QuickRep1.Visible:=false; QuickRep2.Visible:=false; input_data.ColCount :=3; input_data.RowCount:= 2; input_data.Cells[0,0]:= 'KLUSTER ke-i'; input_data.Cells[1,0]:= 'mi'; input_data.Cells[2,0]:= 'yi'; input_data.Cells[0,1]:='1'; input_data.ColWidths[1]:=45; input_data.ColWidths[2]:=100; StatusBarutama.Panels.Items[1].Text:='Tanggal :' + FormatDateTime('dddd, dd mmmm yyyy',Now ); StatusBarutama.Panels.Items[3].Text:='Merry Magdalena '; timer1.Enabled:=True; StatusBarutama.Panels.Items[0].Text:='Pengolahan Data - Cluster Samping'; bantu := 'Selamat Datang ke Cluster Sampling - UnEqual Size' +#13 +#13 +'Baru : Pengolahan data baru' +#13 +#13 +'Buka : Ambil data yang pernah disimpan' +#13 +#13 +'Simpan : Menyimpan data' +#13 +#13 +'Banyaknya kluster dalam populasi = N' +#13 +#13 +'Banyaknya kluster terpilih = n' +#13 +#13 +'Banyaknya unit dalam kluster terpilih = mi' +#13 +#13 +'Banyaknya elemen dalam kluster terpilih = M' +#13 +#13 +'Total dari semua pengamatan dlm kluster ke-i =yi' ; bantuan.Caption := bantu; end; procedure TFsingleUNequal_tahap_1.Timer1Timer(Sender: TObject); begin StatusBarutama.Panels.Items[2].Text:=timetostr(time); end; procedure TFsingleUNequal_tahap_1.exitClick(Sender: TObject); begin application.Terminate; end; procedure TFsingleUNequal_tahap_1.backUTAMAClick(Sender: TObject); var a : integer; begin a:= MessageDlg('Data tidak akan diproses, Yakin akan ke Menu utama "Un Equal Size"? ',mtConfirmation,mbOKCancel,0); if a = mrCancel then FsingleUNequal_tahap_1.Show else begin FsingleUNequal.Show; FsingleUNequal_tahap_1.Hide; end; end; procedure TFsingleUNequal_tahap_1.isi_dataClick(Sender: TObject); var i,k,l: integer; begin
L.1-33 if strlen(pchar(judul.Text))=0 then ShowMessage( '> Judul tidak boleh kosong' ) else if strlen(pchar(np.Text))= 0 then ShowMessage( '> Jumlah Kluster dlm populasi tidak boleh kosong') else if strlen(pchar(n.Text))=0 then ShowMessage('> Jumlah Kluster terpilih tidak boleh kosong') else begin k:=StrToInt(n.Text); l:=StrToInt(np.Text); if(k>l) then ShowMessage('> Kluster terpilih harus lebih kecil dari kluster populasi') else begin input_data.ColCount :=3; input_data.RowCount:= k+1; for i:=1 to (k+1) do begin input_data.Cells[0,i]:= IntToStr(i); input_data.Cells[1,i]:= ''; input_data.Cells[2,i]:= ''; input_data.Enabled:=true; end end end end; procedure TFsingleUNequal_tahap_1.input_dataClick(Sender: TObject); var InputString : string; c,d :integer; begin c:=input_data.Col; d:=input_data.Row; if c=1 then begin InputString:= InputBox('Masukkan data', 'Data Kolom mi'+' Baris ke '+inttostr(d), ''); input_data.Cells [c,d]:=InputString; end else begin InputString:= InputBox('Masukkan data', 'Data Kolom yi'+' Baris ke '+inttostr(d), ''); input_data.Cells [c,d]:=InputString; end end; procedure TFsingleUNequal_tahap_1.bukaClick(Sender: TObject); begin tahap1.Show; ReadFile(sender); input_data.Enabled:=true; end;
L.1-34 procedure TFsingleUNequal_tahap_1.simpanClick(Sender: TObject); var a,i,j :integer; salah :string; begin tahap1.Show; a:=input_data.RowCount-1; salah:=''; if strlen(pchar(judul.Text))=0 then salah :=salah+'> Judul tidak boleh kosong' +#13; if strlen(pchar(np.Text))= 0 then salah :=salah+'> Jumlah Kluster dlm populasi tidak boleh kosong' +#13; if strlen(pchar(n.Text))=0 then salah :=salah+'> Jumlah Kluster terpilih tidak boleh kosong' +#13; for i:=1 to a do begin for j :=1 to 2 do begin if strlen(pchar(input_data.Cells[j,i]))=0 then salah:=salah+ 'Input ['+inttostr(j)+','+inttostr(i)+'] kosong'+#13; end; end; if salah='' then saveToFile(sender) else begin showmessage(salah+'Data HARUS LENGKAP'); end; end; procedure TFsingleUNequal_tahap_1.baruClick(Sender: TObject); var e,g : integer; begin tahap1.Show; isi_data.Visible:=true; judul.Text:=''; n.Text:=''; np.Text:=''; g := input_data.RowCount; for e:=1 to g+1 do begin input_data.Cells[1,e]:= ''; input_data.Cells[2,e]:= ''; end; end; procedure TFsingleUNequal_tahap_1.lanjutunEQUAL2Click(Sender: TObject); var nn,nnp,i,baris :integer; begin panel5.Visible:=true; panel6.Visible:=false; nn:=strtoint(n.Text); nnp :=strtoint(np.Text); tahap1.Hide; tahap2.Show; u1:=0;
L.1-35 tot1:=0; tot2:=0; rata:=0; tot11:=0; tot12:=0; tot121:=0; tot13:=0; temp:=0; temp1:=0; temp11:=0; temp12:=0; sp1:=0; sp2:=0; sp11:=0; sp12:=0; baris :=input_data.RowCount-1; for i:=1 to baris do begin tot1:= tot1+ StrToFloat(input_data.Cells[1,i]); tot2:= tot2+ StrToFloat(input_data.Cells[2,i]); end; rata:= rata+(tot2/tot1); rata:=roundto(rata,-2); tot121:=tot121+(tot1/nn); tot121:=roundto(tot121,-2); for i:=1 to baris do begin tot12:= tot12+ (StrToFloat(input_data.Cells[1,i])*StrToFloat(input_data.Cells[1,i])); tot11:= tot11+ (StrToFloat(input_data.Cells[2,i])*StrToFloat(input_data.Cells[2,i])); tot13:= tot13+ (StrToFloat(input_data.Cells[1,i])*StrToFloat(input_data.Cells[2,i])); end; temp:=temp+(tot11-(2*rata*tot13)+(rata*rata*tot12)); u1:=u1+temp; u1:=roundto(u1,-2); temp:=((Nnp-nn)/Nnp)*(1/(nn*tot121*tot121))*(temp/(nn-1)); temp1:=temp1+(sqrt(temp)); temp:=roundto(temp,-2); temp1:=roundto(temp1,-2); temp11:=temp11+(1.96*temp1); temp12:=temp12+(2.575*temp1); temp11:=roundto(temp11,-2); temp12:=roundto(temp12,-2); sp1:=sp1+(rata-temp11); sp2:=sp2+(rata+temp11); sp1:=roundto(sp1,-2); sp2:=roundto(sp2,-2); sp11:=sp11+(rata-temp12); sp12:=sp12+(rata+temp12); sp11:=roundto(sp11,-2); sp12:=roundto(sp12,-2); hasil1.Cells[1,1]:=FormatFloat('#,##0.00',tot1); hasil1.Cells[2,1]:=FormatFloat('#,##0.00',tot2); hasil2.Cells[1,1]:=FormatFloat('#,##0.00',rata); hasil2.Cells[1,2]:=FormatFloat('#,##0.00',temp);
L.1-36 hasil2.Cells[1,3]:=FormatFloat('#,##0.00',temp1); hasil3.Cells[1,1]:=FormatFloat('#,##0.00',temp11); hasil3.Cells[2,1]:=FormatFloat('#,##0.00',temp12); hasil3.Cells[1,2]:='['+FormatFloat('#,##0.00',sp1)+' ; '+FormatFloat('#,##0.00',sp2)+']'; hasil3.Cells[2,2]:='['+FormatFloat('#,##0.00',sp11)+' ; '+FormatFloat('#,##0.00',sp12)+']'; ket := ''+#13 + ' 1.> Rata-rata populasi diperkirakan sebesar ' + hasil2.Cells[1,1]+' .'+#13 +#13 + ' 2.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa penyimpangan yang terjadi atas '+ #13 + ' pendugaan no.1 akan lebih kecil dari '+hasil3.Cells[1,1]+' .'+#13+#13 + ' 3.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa penyimpangan yang terjadi atas '+ #13 + ' pendugaan no.1 akan lebih kecil dari '+hasil3.Cells[2,1]+' .'+#13 +#13 + ' 4.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa selang nilai '+ hasil3.Cells[1,2]+ #13 + 'akan mencakup rata-rata yang sesungguhnya dari populasi.'+#13 +#13 + ' 5.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa selang nilai '+ hasil3.Cells[2,2] + #13 +'akan mencakup rata-rata yang sesungguhnya dari populasi.'+#13 +#13; KETERangan.Caption:=ket; end; procedure TFsingleUNequal_tahap_1.tahap2Show(Sender: TObject); begin hasil1.Cells[1,0]:= 'mi'; hasil1.Cells[2,0]:= 'yi'; hasil1.Cells[0,1]:= 'Total'; hasil2.Cells[1,0]:= 'Hasil'; hasil2.Cells[0,1]:= 'Rata-rata'; hasil2.Cells[0,2]:= 'Ragam'; hasil2.Cells[0,3]:= 'Galat Baku'; hasil3.Cells[0,0]:= 'Alpha'; hasil3.Cells[1,0]:= ' 5%'; hasil3.Cells[2,0]:= '1%'; hasil3.Cells[0,1]:= 'Batas Galat'; hasil3.Cells[0,2]:= 'Selang kepercayaan'; end; procedure TFsingleUNequal_tahap_1.FormShow(Sender: TObject); begin PageControl.ActivePage:=tahap1; end; procedure TFsingleUNequal_tahap_1.cetak1Click(Sender: TObject); begin QRjudul.Caption:='PENGOLAHAN DATA "Cluster Sampling Single Stage UnEqual Size"'; QR1.Caption:= judul.Text; QR2.Caption:= np.Text; QR3.Caption:= n.Text; with hasil1 do begin QR4.Caption:= hasil1.Cells[1,1]; QR5.Caption:= hasil1.Cells[2,1];
L.1-37 end; with hasil2 do begin QR6.Caption:= hasil2.Cells[1,1]; QR7.Caption:= hasil2.Cells[1,2]; QR8.Caption:= hasil2.Cells[1,3]; end; with hasil3 do begin QR9.Caption:= hasil3.Cells[1,1]; QR10.Caption:= hasil3.Cells[1,2];; QR11.Caption:= hasil3.Cells[2,1]; QR12.Caption:= hasil3.Cells[2,2];; end; QRMemo1.Lines.Clear; QRMemo1.Lines.Add(' 1.> Rata-rata populasi diperkirakan sebesar '+ QR6.Caption ); QRMemo1.Lines.Add(''); QRMemo1.Lines.Add(' 2.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa penyimpangan yang terjadi atas'); QRMemo1.Lines.Add('pendugaan no.1 akan lebih kecil dari'+ QR9.Caption+' .'); QRMemo1.Lines.Add(''); QRMemo1.Lines.Add(' 3.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa selang nilai '+ QR10.Caption); QRMemo1.Lines.Add(' akan mencakup rata-rata yang sesungguhnya dari populasi. '); QRMemo1.Lines.Add(''); QRMemo1.Lines.Add(' 4.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa penyimpangan yang terjadi atas'); QRMemo1.Lines.Add(' pendugaan no.1 akan lebih kecil dari '+ QR11.Caption+'.'); QRMemo1.Lines.Add(''); QRMemo1.Lines.Add(' 5.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa selang nilai '+ QR12.Caption); QRMemo1.Lines.Add(' akan mencakup rata-rata yang sesungguhnya dari populasi. '); QRMemo1.Lines.Add(''); QRMemo1.Show; QuickRep1.Preview; end; procedure TFsingleUNequal_tahap_1.totalClick(Sender: TObject); begin tahap2.Hide; tahap3.Show; panel6.Visible:=true; panel5.Visible:=false; end; procedure TFsingleUNequal_tahap_1.yaClick(Sender: TObject); begin hitung.Visible:=true; label10.Visible:=true; m.Visible:=true; Label11.Caption:= 'Hasil Pendugaan Nilai Total Populasi dengan M diketahui';
L.1-38 hasil4.Cells[1,1]:=''; hasil4.Cells[1,2]:=''; hasil4.Cells[1,3]:=''; hasil5.Cells[1,1]:=''; hasil5.Cells[2,1]:=''; hasil5.Cells[1,2]:=''; hasil5.Cells[2,2]:=''; end; procedure TFsingleUNequal_tahap_1.tahap3Show(Sender: TObject); begin hasil4.Cells[1,0]:= 'Hasil'; hasil4.Cells[0,1]:= 'Nilai Total'; hasil4.Cells[0,2]:= 'Ragam'; hasil4.Cells[0,3]:= 'Galat Baku'; hasil5.Cells[0,0]:= 'Alpha'; hasil5.Cells[1,0]:= ' 5%'; hasil5.Cells[2,0]:= '1%'; hasil5.Cells[0,1]:= 'Batas Galat'; hasil5.Cells[0,2]:= 'Selang kepercayaan'; end; procedure TFsingleUNequal_tahap_1.hitungClick(Sender: TObject); var mm :Extended; y1 :string; begin cetak2.Visible:=true; mm:=StrToFloat(m.Text); temp2:=0; sp3:=0; temp3:=0; sp4:=0; temp4:=0; temp5:=0; temp6:=0; sp31:=0; sp41:=0; temp2:=temp2+ (mm*rata); temp2:=roundto(temp2,-2); temp3:=temp3+(mm*mm*temp); temp3:=roundto(temp3,-2); temp4:=temp4+(sqrt(temp3)); temp4:=roundto(temp4,-2); temp5:=temp5+(1.96*temp4); temp6:=temp6+(2.575*temp4); temp5:=roundto(temp5,-2); temp6:=roundto(temp6,-2); sp3:=sp3+(temp2-temp5); sp4:=sp4+(temp2+temp5); sp3:=roundto(sp3,-2); sp4:=roundto(sp4,-2); sp31:=sp31+(temp2-temp6); sp41:=sp41+(temp2+temp6); sp31:=roundto(sp31,-2); sp41:=roundto(sp41,-2); y1:='';
L.1-39 y1:=y1+FormatFloat('0',temp2); hasil4.Cells[1,1]:=FormatFloat('#,##0.00',temp2); hasil4.Cells[1,2]:=FormatFloat('#,##0.00',temp3); hasil4.Cells[1,3]:=FormatFloat('#,##0.00',temp4); hasil5.Cells[1,1]:=FormatFloat('#,##0.00',temp5); hasil5.Cells[2,1]:=FormatFloat('#,##0.00',temp6); hasil5.Cells[1,2]:='['+FormatFloat('#,##0.00',sp3)+' ; '+FormatFloat('#,##0.00',sp4)+']'; hasil5.Cells[2,2]:='['+FormatFloat('#,##0.00',sp31)+' ; '+FormatFloat('#,##0.00',sp41)+']'; ket1 := ''+#13 + ' 1.> Total populasi diperkirakan sebesar ' + hasil4.Cells[1,1]+' . Dibulatkan menjadi = '+y1+' .'+#13 +#13 + ' 2.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa penyimpangan yang terjadi atas '+ #13 + ' pendugaan no.1 akan lebih kecil dari '+hasil5.Cells[1,1]+' .'+#13+#13 + ' 3.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa penyimpangan yang terjadi atas '+ #13 + ' pendugaan no.1 akan lebih kecil dari '+hasil5.Cells[2,1]+' .'+#13 +#13 + ' 4.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa selang nilai '+ hasil5.Cells[1,2]+ #13 + ' akan mencakup total seluruh elemen dari populasi. '+#13 +#13 + ' 5.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa selang nilai '+ hasil5.Cells[2,2] + #13 + 'akan mencakup total seluruh elemen dari populasi. '+#13 +#13 ; KEt2.Caption:=ket1; end; procedure TFsingleUNequal_tahap_1.tidakClick(Sender: TObject); var nn,nnp :integer; y1:string; begin m.Text:=''; cetak2.Visible:=true; nn:=StrToInt(n.Text); nnp:=StrToInt(np.Text); Label11.Caption:= 'Hasil Pendugaan Nilai Total Populasi dengan M tidak diketahui'; temp2:=0; sp3:=0; temp3:=0; sp4:=0; temp4:=0; temp5:=0; temp6:=0; temp7:=0; sp31:=0; sp41:=0; label10.Visible:=false; m.Visible:=false; hitung.Visible:=false; hasil4.Cells[1,1]:=''; hasil4.Cells[1,2]:=''; hasil4.Cells[1,3]:=''; hasil5.Cells[1,1]:=''; hasil5.Cells[2,1]:=''; hasil5.Cells[1,2]:='';
L.1-40 hasil5.Cells[2,2]:=''; temp2:=temp2+ ((nnp*tot2)/nn); temp2:=roundto(temp2,-2); temp3:=temp3+((nnp-nn)/nnp); temp3:=roundto(temp3,-2); temp4:=temp4+(tot11-((tot2*tot2)/nn)); temp4:=((nnp*nnp*temp3*temp4)/(nn*(nn-1))); temp4:=roundto(temp4,-2); temp5:=temp5+(sqrt(temp4)); temp5:=roundto(temp5,-2); temp6:=temp6+(1.96*temp5); temp7:=temp7+(2.575*temp5); temp6:=roundto(temp6,-2); temp7:=roundto(temp7,-2); sp3:=sp3+(temp2-temp6); sp4:=sp4+(temp2+temp6); sp3:=roundto(sp3,-2); sp4:=roundto(sp4,-2); sp31:=sp31+(temp2-temp7); sp41:=sp41+(temp2+temp7); sp31:=roundto(sp31,-2); sp41:=roundto(sp41,-2); y1:=''; y1:=y1+FormatFloat('0',temp2); hasil4.Cells[1,1]:=FormatFloat('#,##0.00',temp2); hasil4.Cells[1,2]:=FormatFloat('#,##0.00',temp4); hasil4.Cells[1,3]:=FormatFloat('#,##0.00',temp5); hasil5.Cells[1,1]:=FormatFloat('#,##0.00',temp6); hasil5.Cells[2,1]:=FormatFloat('#,##0.00',temp7); hasil5.Cells[1,2]:='['+FormatFloat('#,##0.00',sp3)+' ; '+FormatFloat('#,##0.00',sp4)+']'; hasil5.Cells[2,2]:='['+FormatFloat('#,##0.00',sp31)+' ; '+FormatFloat('#,##0.00',sp41)+']'; ket3 := ''+#13 + ' 1.> Total populasi diperkirakan sebesar ' + hasil4.Cells[1,1]+'. Dibulatkan menjadi = '+y1+' .'+#13 +#13 + ' 2.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa penyimpangan yang terjadi atas '+ #13 + ' pendugaan no.1 akan lebih kecil dari '+hasil5.Cells[1,1]+' .'+#13+#13 + ' 3.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa penyimpangan yang terjadi atas '+ #13 + ' pendugaan no.1 akan lebih kecil dari '+hasil5.Cells[2,1]+' .'+#13 +#13 + ' 4.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa selang nilai '+ hasil5.Cells[1,2]+ #13 + ' akan mencakup total seluruh elemen dari populasi. '+#13 +#13 + ' 5.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa selang nilai '+ hasil5.Cells[2,2] + #13 + 'akan mencakup total seluruh elemen dari populasi. '+#13 +#13 ; KEt2.Caption:=ket3; end; procedure TFsingleUNequal_tahap_1.cetak2Click(Sender: TObject); begin QRjudul2.Caption:='PENGOLAHAN DATA "Cluster Sampling Single Stage UnEqual Size"';
L.1-41 QR13.Caption:= judul.Text; QR14.Caption:= np.Text; QR15.Caption:= n.Text; with hasil1 do begin QR16.Caption:= hasil1.Cells[1,1]; QR17.Caption:= hasil1.Cells[2,1]; end; with hasil2 do begin QR18.Caption:= hasil2.Cells[1,1]; QR19.Caption:= hasil2.Cells[1,2]; QR20.Caption:= hasil2.Cells[1,3]; end; with hasil3 do begin QR21.Caption:= hasil3.Cells[1,1]; QR22.Caption:= hasil3.Cells[1,2];; QR23.Caption:= hasil3.Cells[2,1]; QR24.Caption:= hasil3.Cells[2,2];; end; if strlen(pchar(m.Text))= 0 then QR25.Caption:= ' tidak diketahui ' else QR25.Caption:= m.Text; with hasil4 do begin QR26.Caption:= hasil4.Cells[1,1]; QR27.Caption:= hasil4.Cells[1,2]; QR28.Caption:= hasil4.Cells[1,3]; end; with hasil5 do begin QR29.Caption:= hasil5.Cells[1,1]; QR30.Caption:= hasil5.Cells[1,2];; QR31.Caption:= hasil5.Cells[2,1]; QR32.Caption:= hasil5.Cells[2,2];; end; QRMemo2.Lines.Clear; QRMemo2.Lines.Add(' 1.> Rata-rata populasi diperkirakan sebesar '+ QR18.Caption ); QRMemo2.Lines.Add(''); QRMemo2.Lines.Add(' 2.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa penyimpangan yang terjadi atas'); QRMemo2.Lines.Add(' pendugaan no.1 akan lebih kecil dari '+ QR21.Caption+' .'); QRMemo2.Lines.Add(''); QRMemo2.Lines.Add(' 3.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa selang nilai '+ QR22.Caption); QRMemo2.Lines.Add(' akan mencakup rata-rata yang sesungguhnya dari populasi. '); QRMemo2.Lines.Add(''); QRMemo2.Lines.Add(' 4.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa penyimpangan yang terjadi atas'); QRMemo2.Lines.Add(' pendugaan no.1 akan lebih kecil dari '+ QR23.Caption+'.'); QRMemo2.Lines.Add('');
L.1-42 QRMemo2.Lines.Add(' 5.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa selang nilai '+ QR24.Caption); QRMemo2.Lines.Add(' akan mencakup rata-rata yang sesungguhnya dari populasi. '); QRMemo2.Lines.Add(''); QRMemo2.Show; QRMemo3.Lines.Clear; QRMemo3.Lines.Add(' 1.> Total populasi diperkirakan sebesar '+ QR26.Caption ); QRMemo3.Lines.Add(''); QRMemo3.Lines.Add(' 2.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa penyimpangan yang terjadi atas'); QRMemo3.Lines.Add(' pendugaan no.1 akan lebih kecil dari '+ QR29.Caption+' .'); QRMemo3.Lines.Add(''); QRMemo3.Lines.Add(' 3.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa selang nilai '+ QR30.Caption); QRMemo3.Lines.Add(' akan mencakup rata-rata yang sesungguhnya dari populasi. '); QRMemo3.Lines.Add(''); QRMemo3.Lines.Add(' 4.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa penyimpangan yang terjadi atas'); QRMemo3.Lines.Add(' pendugaan no.1 akan lebih kecil dari '+ QR31.Caption+'.'); QRMemo3.Lines.Add(''); QRMemo3.Lines.Add(' 5.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa selang nilai '+ QR32.Caption); QRMemo3.Lines.Add(' akan mencakup rata-rata yang sesungguhnya dari populasi. '); QRMemo3.Lines.Add(''); QRMemo3.Show; QuickRep2.Preview; end; procedure TFsingleUNequal_tahap_1.hitung2Click(Sender: TObject); var info :string; z,u4,gg :extended; nnnp,nnn :integer; begin z:=0; u2:=0; u3:=0; u4:=0; gg:=StrToFloat(g.Text); nnnp:=StrToInt(Np.Text); nnn:=strtoint(n.Text); if A95.Checked=true then begin z:= z+1.96; info := ' Jika ingin melakukan survei dimasa yang akan datang dengan ketentuan : '+#13 + ' 1.> Galat tidak boleh menyimpang lebih besar dari ' +G.Text +#13 + ' Dengan Taraf kepercayaan 95 %. Dan ' +#13 + ' 2.> Ukuran Kluster dalam populasi sebesar '+Np.Text+' kluster'+#13 end;
L.1-43 if A99.Checked=true then z:= z+2.575; begin info := ' Jika ingin melakukan survei dimasa yang akan datang dengan ketentuan : '+#13 +'1.> Galat tidak boleh menyimpang lebih besar dari ' +G.Text +#13 +'Dengan Taraf kepercayaan 99 %. Dan ' +#13 +'2.> Ukuran Kluster dalam populasi sebesar '+Np.Text+' kluster'+#13; end; u2:=u2+(u1/(nnn-1)); u2:=roundto(u2,-3); u3:=u3+((nnnp*z*z*u2)/((nnnp*gg*gg*tot121*tot121)+(z*z*u2))); u3:=roundto(u3,-3); nn1.Caption:=FormatFloat('#,##0.000',u3); u4:=u4+u3; u4:=roundto(u4,0); ket4.Caption:=info +#13+ ' Maka Ukuran Sampel Kluster yang harus terpilih sebanyak ' + nn1.Caption+' kluster' +#13 +' dibulatkan menjadi =' +FloatToStr(u4)+' Kluster'; end; procedure TFsingleUNequal_tahap_1.ukuranClick(Sender: TObject); begin panel5.Visible:=true; panel6.Visible:=false; tahap4.Show; tahap3.Hide; end; end.
L.1-44 unit singleUNequal_proporsi; procedure TFsingleUNequal_proporsi.saveToFile(Sender:Tobject); var e,f,g:integer; filee:TIniFile ; begin mysave.Filter:='reset files (*.INI)|*.INI'; g:=strtoint(n.Text); if mysave.Execute then begin if RightStr(mysave.FileName,4)='.ini' then filee:=TIniFile.Create(mysave.filename) else filee :=TIniFile.Create(mysave.FileName+'.ini'); filee.WriteString('General','Nama',judul.Text); filee.WriteString('General','N',n.Text); filee.WriteString('General','Np',np.Text); for e:=1 to g do begin for f:=1 to 2 do filee.WriteString('General','Data'+IntToStr(e)+IntToStr(f),input_data.C ells[f,e]); end; end; end; //procedure read from file------------procedure TFsingleUNequal_proporsi.readFile(Sender:TObject); var e,f,g:integer; xfilee:TIniFile ; begin myopen.Filter:='reset files (*.ini)|*.ini'; if myopen.Execute then begin xfilee:=TIniFile.Create(myopen.FileName ); judul.Text:=xfilee.ReadString('General','Nama','fail'); n.Text:= xfilee.ReadString('General','N','0'); np.Text:= xfilee.ReadString('General','Np','0'); g:= strtoint(n.Text); input_data.RowCount:= g+1; for e:=1 to g do begin for f:=1 to 2 do begin input_data.Cells[f,e]:=''; input_data.Cells[0,e]:= IntToStr(e); input_data.Cells[f,e]:= xfilee.ReadString('General','Data'+IntToStr(e)+IntToStr(f),'0'); end; end; end; end; procedure TFsingleUNequal_proporsi.FormCreate(Sender: TObject); begin PageControl.ActivePage:=tahap1;
L.1-45 QuickRep1.Visible:=false; input_data.ColCount :=3; input_data.RowCount:= 2; input_data.Cells[0,0]:= 'KLUSTER ke-i'; input_data.Cells[1,0]:= 'mi'; input_data.Cells[2,0]:= 'yi'; input_data.Cells[0,1]:='1'; input_data.ColWidths[1]:=45; input_data.ColWidths[2]:=100; StatusBarutama.Panels.Items[1].Text:='Tanggal :' + FormatDateTime('dddd, dd mmmm yyyy',Now ); StatusBarutama.Panels.Items[3].Text:='Merry Magdalena '; timer1.Enabled:=True; StatusBarutama.Panels.Items[0].Text:='Pengolahan Data - Cluster Samping'; exit.BevelWidth:=4; exit.Color:=clBlue; bantu := 'Selamat Datang ke Cluster Sampling - UnEqual Size' +#13 +#13 +'Baru : Pengolahan data baru' +#13 +#13 +'Buka : Ambil data yang pernah disimpan' +#13 +#13 +'Simpan : Menyimpan data' +#13 +#13 +'N = Banyaknya kluster dalam populasi' +#13 +#13 +'n = Banyaknya kluster terpilih' +#13 +#13 +'mi = Banyaknya unit dalam kluster terpilih = mi' +#13 +#13 +'M = Banyaknya elemen dalam kluster terpilih = M' +#13 +#13 +'ai = Total dari banyaknya elemen dalam cluster ke-i ' +#13 +#13 +' yang memiliki karakteristik yang dipelajari. '; bantuan.Caption := bantu; end; procedure TFsingleUNequal_proporsi.Timer1Timer(Sender: TObject); begin StatusBarutama.Panels.Items[2].Text:=timetostr(time); end; procedure TFsingleUNequal_proporsi.exitClick(Sender: TObject); begin application.Terminate; end; procedure TFsingleUNequal_proporsi.backUTAMAClick(Sender: TObject); var a : integer; begin a:= MessageDlg('Data tidak akan diproses, Yakin akan ke Menu utama "Un Equal Size"? ',mtConfirmation,mbOKCancel,0); if a = mrCancel then FsingleUNequal_tahap_1.Show else begin FsingleUNequal.Show; FsingleUNequal_tahap_1.Hide; end; end; procedure TFsingleUNequal_proporsi.isi_dataClick(Sender: TObject); var i,k,l: integer; begin
L.1-46 if strlen(pchar(judul.Text))=0 then ShowMessage( '> Judul tidak boleh kosong' ) else if strlen(pchar(np.Text))= 0 then ShowMessage( '> Jumlah Kluster dlm populasi tidak boleh kosong') else if strlen(pchar(n.Text))=0 then ShowMessage('> Jumlah Kluster terpilih tidak boleh kosong') else begin k:=StrToInt(n.Text); l:=StrToInt(np.Text); if(k>l) then ShowMessage('> Kluster terpilih harus lebih kecil dari kluster populasi') else begin input_data.ColCount :=3; input_data.RowCount:= k+1; for i:=1 to (k+1) do begin input_data.Cells[0,i]:= IntToStr(i); input_data.Cells[1,i]:= ''; input_data.Cells[2,i]:= ''; input_data.Enabled:=true; end end end end; procedure TFsingleUNequal_proporsi.input_dataClick(Sender: TObject); var InputString : string; c,d :integer; begin c:=input_data.Col; d:=input_data.Row; if c=1 then begin InputString:= InputBox('Masukkan data', 'Data Kolom mi'+' Baris ke '+inttostr(d), ''); input_data.Cells [c,d]:=InputString; end else begin InputString:= InputBox('Masukkan data', 'Data Kolom yi'+' Baris ke '+inttostr(d), ''); input_data.Cells [c,d]:=InputString; end end; procedure TFsingleUNequal_proporsi.bukaClick(Sender: TObject); begin tahap1.Show; ReadFile(sender); input_data.Enabled:=true; end;
L.1-47 procedure TFsingleUNequal_proporsi.simpanClick(Sender: TObject); var a,i,j :integer; salah :string; begin tahap1.Show; a:=input_data.RowCount-1; salah:=''; if strlen(pchar(judul.Text))=0 then salah :=salah+'> Judul tidak boleh kosong' +#13; if strlen(pchar(np.Text))= 0 then salah :=salah+'> Jumlah Kluster dlm populasi tidak boleh kosong' +#13; if strlen(pchar(n.Text))=0 then salah :=salah+'> Jumlah Kluster terpilih tidak boleh kosong' +#13; for i:=1 to a do begin for j :=1 to 2 do begin if strlen(pchar(input_data.Cells[j,i]))=0 then salah:=salah+ 'Input ['+inttostr(j)+','+inttostr(i)+'] kosong'+#13; end; end; if salah='' then saveToFile(sender) else begin showmessage(salah+'Data HARUS LENGKAP'); end; end; procedure TFsingleUNequal_proporsi.baruClick(Sender: TObject); var e,g : integer; begin tahap1.Show; isi_data.Visible:=true; judul.Text:=''; n.Text:=''; np.Text:=''; g := input_data.RowCount; for e:=1 to g+1 do begin input_data.Cells[1,e]:= ''; input_data.Cells[2,e]:= ''; end; end; procedure TFsingleUNequal_proporsi.lanjutunEQUAL2Click(Sender: TObject); var nn,nnp,i,baris :integer; begin panel5.Visible:=true; nn:=strtoint(n.Text); nnp :=strtoint(np.Text); tahap1.Hide; tahap2.Show; u1:=0; tot1:=0;
L.1-48 tot2:=0; rata:=0; tot11:=0; tot12:=0; tot121:=0; tot13:=0; temp:=0; temp1:=0; temp11:=0; temp12:=0; sp1:=0; sp2:=0; sp11:=0; sp12:=0; baris :=input_data.RowCount-1; for i:=1 to baris do begin tot1:= tot1+ StrToFloat(input_data.Cells[1,i]); tot2:= tot2+ StrToFloat(input_data.Cells[2,i]); end; rata:= rata+(tot2/tot1); rata:=roundto(rata,-2); tot121:=tot121+(tot1/nn); tot121:=roundto(tot121,-2); for i:=1 to baris do begin tot12:= tot12+ (StrToFloat(input_data.Cells[1,i])*StrToFloat(input_data.Cells[1,i])); tot11:= tot11+ (StrToFloat(input_data.Cells[2,i])*StrToFloat(input_data.Cells[2,i])); tot13:= tot13+ (StrToFloat(input_data.Cells[1,i])*StrToFloat(input_data.Cells[2,i])); end; temp:=temp+(tot11-(2*rata*tot13)+(rata*rata*tot12)); u1:=u1+temp; u1:=roundto(u1,-2); temp:=((Nnp-nn)/Nnp)*(1/(nn*tot121*tot121))*(temp/(nn-1)); temp1:=temp1+(sqrt(temp)); temp:=roundto(temp,-5); temp1:=roundto(temp1,-2); temp11:=temp11+(1.96*temp1); temp12:=temp12+(2.575*temp1); temp11:=roundto(temp11,-2); temp12:=roundto(temp12,-2); sp1:=sp1+(rata-temp11); sp2:=sp2+(rata+temp11); sp1:=roundto(sp1,-2); sp2:=roundto(sp2,-2); sp11:=sp11+(rata-temp12); sp12:=sp12+(rata+temp12); sp11:=roundto(sp11,-2); sp12:=roundto(sp12,-2); hasil1.Cells[1,1]:=FormatFloat('#,##0.00',tot1); hasil1.Cells[2,1]:=FormatFloat('#,##0.00',tot2); hasil2.Cells[1,1]:=FormatFloat('#,##0.00',rata); hasil2.Cells[1,2]:=FormatFloat('#,##0.00000',temp); hasil2.Cells[1,3]:=FormatFloat('#,##0.00',temp1);
L.1-49 hasil3.Cells[1,1]:=FormatFloat('#,##0.00',temp11); hasil3.Cells[2,1]:=FormatFloat('#,##0.00',temp12); hasil3.Cells[1,2]:='['+FormatFloat('#,##0.00',sp1)+' ; '+FormatFloat('#,##0.00',sp2)+']'; hasil3.Cells[2,2]:='['+FormatFloat('#,##0.00',sp11)+' ; '+FormatFloat('#,##0.00',sp12)+']'; ket := ''+#13 + '1.> Proporsi populasi diperkirakan sebesar ' + hasil2.Cells[1,1]+' .'+#13 +#13 + '2.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa penyimpangan yang terjadi atas '+ #13 + ' pendugaan no.1 akan lebih kecil dari '+hasil3.Cells[1,1]+' .'+#13+#13 + '3.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa penyimpangan yang terjadi atas '+ #13 +'pendugaan no.1 akan lebih kecil dari '+hasil3.Cells[2,1]+'.'+#13 +#13 +'4.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa selang nilai '+ hasil3.Cells[1,2]+ #13 +'akan mencakup proporsi yang sesungguhnya dari populasi. '+#13 +#13 +'5.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa selang nilai '+ hasil3.Cells[2,2] + #13 +'akan mencakup proporsi yang sesungguhnya dari populasi. '+#13 +#13 ; temp:=roundto(temp,-2); KETERangan.Caption:=ket; end; procedure TFsingleUNequal_proporsi.tahap2Show(Sender: TObject); begin hasil1.Cells[1,0]:= 'mi'; hasil1.Cells[2,0]:= 'yi'; hasil1.Cells[0,1]:= 'Total'; hasil2.Cells[1,0]:= 'Hasil'; hasil2.Cells[0,1]:= 'Rata-rata'; hasil2.Cells[0,2]:= 'Ragam'; hasil2.Cells[0,3]:= 'Galat Baku'; hasil3.Cells[0,0]:= 'Alpha'; hasil3.Cells[1,0]:= ' 5%'; hasil3.Cells[2,0]:= '1%'; hasil3.Cells[0,1]:= 'Batas Galat'; hasil3.Cells[0,2]:= 'Selang kepercayaan'; end; procedure TFsingleUNequal_proporsi.FormShow(Sender: TObject); begin PageControl.ActivePage:=tahap1; end; procedure TFsingleUNequal_proporsi.cetak1Click(Sender: TObject); begin QRjudul.Caption:='PENGOLAHAN DATA "Cluster Sampling Single Stage UnEqual Size"'; QR1.Caption:= judul.Text; QR2.Caption:= np.Text; QR3.Caption:= n.Text; with hasil1 do begin QR4.Caption:= hasil1.Cells[1,1];
L.1-50 QR5.Caption:= hasil1.Cells[2,1]; end; with hasil2 do begin QR6.Caption:= hasil2.Cells[1,1]; QR7.Caption:= hasil2.Cells[1,2]; QR8.Caption:= hasil2.Cells[1,3]; end; with hasil3 do begin QR9.Caption:= hasil3.Cells[1,1]; QR10.Caption:= hasil3.Cells[1,2];; QR11.Caption:= hasil3.Cells[2,1]; QR12.Caption:= hasil3.Cells[2,2];; end; QRMemo1.Lines.Clear; QRMemo1.Lines.Add(' 1.> Proporsi populasi diperkirakan sebesar '+ QR6.Caption ); QRMemo1.Lines.Add(''); QRMemo1.Lines.Add(' 2.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa penyimpangan yang terjadi atas'); QRMemo1.Lines.Add(' pendugaan no.1 akan lebih kecil dari '+ QR9.Caption+' .'); QRMemo1.Lines.Add(''); QRMemo1.Lines.Add(' 3.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa selang nilai '+ QR10.Caption); QRMemo1.Lines.Add(' akan mencakup Proporsi yang sesungguhnya dari populasi. '); QRMemo1.Lines.Add(''); QRMemo1.Lines.Add(' 4.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa penyimpangan yang terjadi atas'); QRMemo1.Lines.Add(' pendugaan no.1 akan lebih kecil dari '+ QR11.Caption+'.'); QRMemo1.Lines.Add(''); QRMemo1.Lines.Add(' 5.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa selang nilai '+ QR12.Caption); QRMemo1.Lines.Add(' akan mencakup Proporsi yang sesungguhnya dari populasi. '); QRMemo1.Lines.Add(''); QRMemo1.Show; QuickRep1.Preview; end; procedure TFsingleUNequal_proporsi.totalClick(Sender: TObject); begin tahap2.Hide; tahap3.Show; panel5.Visible:=false; end; procedure TFsingleUNequal_proporsi.hitung2Click(Sender: TObject); var info :string; z,u4,gg :extended; nnnp,nnn :integer; begin z:=0; u2:=0;
L.1-51 u3:=0; u4:=0; gg:=StrToFloat(g.Text); nnnp:=StrToInt(Np.Text); nnn:=strtoint(n.Text); if A95.Checked=true then begin z:= z+1.96; info := ' Jika ingin melakukan survei dimasa yang akan datang dengan ketentuan : '+#13 +' 1.> Galat tidak boleh menyimpang lebih besar dari ' +G.Text +#13 +' Dengan Taraf kepercayaan 95 %. Dan ' +#13 +' 2.> Ukuran Kluster dalam populasi sebesar '+Np.Text+' kluster'+#13 end; if A99.Checked=true then begin z:= z+2.575; info := ' Jika ingin melakukan survei dimasa yang akan datang dengan ketentuan : '+#13 + ' 1.> Galat tidak boleh menyimpang lebih besar dari ' +G.Text +#13 + ' Dengan Taraf kepercayaan 99 %. Dan ' +#13 + ' 2.> Ukuran Kluster dalam populasi sebesar '+Np.Text+' kluster'+#13; end; u2:=u2+(u1/(nnn-1)); u2:=roundto(u2,-3); u3:=u3+((nnnp*z*z*u2)/((nnnp*gg*gg*tot121*tot121)+(z*z*u2))); u3:=roundto(u3,-3); nn1.Caption:=FormatFloat('#,##0.000',u3); u4:=u4+u3; u4:=roundto(u4,0); ket4.Caption:=info +#13+ ' Maka Ukuran Sampel Kluster yang harus terpilih sebanyak ' + nn1.Caption+' kluster' +#13 +' dibulatkan menjadi =' +FloatToStr(u4)+' Kluster'; end; end.
L.1-52 unit twoSTAGES; procedure TFtwoSTAGES.FormCreate(Sender: TObject); begin StatusBarutama.Panels.Items[1].Text:='Tanggal :' + FormatDateTime('dddd, dd mmmm yyyy',Now ); StatusBarutama.Panels.Items[3].Text:='Merry Magdalena timer1.Enabled:=True; StatusBarutama.Panels.Items[0].Text:='Pengolahan Data - Cluster Samping'; exit.BevelWidth:=4; exit.Color:=clBlue; end;
';
procedure TFtwoSTAGES.Timer1Timer(Sender: TObject); begin StatusBarutama.Panels.Items[2].Text:=timetostr(time); end; procedure TFtwoSTAGES.exitClick(Sender: TObject); begin Application.Terminate; end; procedure TFtwoSTAGES.backUTAMAClick(Sender: TObject); begin FtwoSTAGES.Hide; futama.Show; end; procedure TFtwoSTAGES.lanjutEQUAL1Click(Sender: TObject); var a,b: integer; begin a:= MessageDlg(' Total seluruh Elemen Dalam Populasi (M) diketahui?',mtConfirmation,mbYesNoCancel,0 ); if a = mrCancel then FtwoSTAGES.Show else begin if a= mrYes then begin FtwoSTAGES_tahap_1.show; FtwoSTAGES.Hide; end else begin b:= MessageDlg(' Jika Ingin Melakukan Pendugaan Proporsi Pilih "YES", Jika ingin melakukan pendugaan "Rata-rata" pilih"No"',mtConfirmation,mbYesNoCancel,0); if b = mrCancel then FtwoSTAGES.Show else begin if b= mrYes then begin FtwoSTAGES_tanpa_m_proporsi.show; FtwoSTAGES.Hide;
L.1-53 end else begin ftwostages_tanpa_m.show; FtwoSTAGES.Hide; end; end; end; end; end; end.
L.1-54 unit twoSTAGES_tahap1; //-------------save ke file ------------------procedure TFtwoSTAGES_tahap_1.saveToFile(Sender:Tobject); var e,f,g,k:integer; h: array[1..100] of integer; filee:TIniFile ; begin mysave.Filter:='reset files (*.INI)|*.INI'; g:=strtoint(n.Text); if mysave.Execute then begin if RightStr(mysave.FileName,4)='.ini' then filee:=TIniFile.Create(mysave.filename) else filee :=TIniFile.Create(mysave.FileName+'.ini'); filee.WriteString('General','Nama',judul.Text); filee.WriteString('General','N',n.Text); filee.WriteString('General','Np',np.Text); filee.WriteString('General','Mp',mp.Text); for e:=1 to g do //g -> n = banyaknya baris begin for f:=1 to 2 do filee.WriteString('General','Data'+IntToStr(e)+IntToStr(f),input_data.C ells[f,e]); end; for e:=1 to g do begin k:=0; h[e]:=StrToInt(input_data.Cells[2,e]); k:=k+h[e]; for f:=1 to k do filee.WriteString('General','y'+IntToStr(e)+IntToStr(f),FloatToStr(inpu t[e,f])); end; end; end; //procedure read from file------------procedure TFtwoSTAGES_tahap_1.readFile(Sender:TObject); var e,f,g,k:integer; h: array[1..100] of integer; b: string; xfilee:TIniFile ; begin myopen.Filter:='reset files (*.ini)|*.ini'; if myopen.Execute then begin xfilee:=TIniFile.Create(myopen.FileName ); judul.Text:=xfilee.ReadString('General','Nama','fail'); n.Text:= xfilee.ReadString('General','N','0'); np.Text:= xfilee.ReadString('General','Np','0'); mp.Text:= xfilee.ReadString('General','Mp','0'); g:= strtoint(n.Text); input_data.RowCount:= g+1;
L.1-55 for e:=1 to g do begin for f:=1 to 2 do begin input_data.Cells[f,e]:=''; input_data.Cells[0,e]:= IntToStr(e); input_data.Cells[f,e]:= xfilee.ReadString('General','Data'+IntToStr(e)+IntToStr(f),'0'); end; end; for e:=1 to g do begin k:=0; h[e]:=StrToInt(input_data.Cells[2,e]); k:=k+h[e]; b:=''; for f:=1 to k do begin input[e,f]:=strtofloat(xfilee.ReadString('General','y'+IntToStr(e)+IntT oStr(f),'0')); b:= b+FloatToStr(input[e,f]) +' ;'; end; input_data.Cells[3,e]:=b; end; end; end; procedure TFtwoSTAGES_tahap_1.FormCreate(Sender: TObject); begin input_data.EditorMode:=true; PageControl.ActivePage:=tahap1; QuickRep1.Visible:=false; QuickRep2.Visible:=false; input_data.ColCount :=4; input_data.RowCount:= 2; input_data.Cells[0,0]:= 'KLUSTER ke-i'; input_data.Cells[1,0]:= 'Mi'; input_data.Cells[2,0]:= 'mi'; input_data.Cells[3,0]:= 'yij'; input_data.Cells[0,1]:='1'; input_data.ColWidths[1]:=45; input_data.ColWidths[2]:=45; input_data.ColWidths[3]:=200; StatusBarutama.Panels.Items[1].Text:='Tanggal :' + FormatDateTime('dddd, dd mmmm yyyy',Now ); StatusBarutama.Panels.Items[3].Text:='Merry Magdalena timer1.Enabled:=True; StatusBarutama.Panels.Items[0].Text:='Pengolahan Data - Cluster Samping'; exit.BevelWidth:=4; exit.Color:=clBlue; bantu := 'Selamat Datang ke Cluster Sampling - Two Stages' +#13 +#13 +'Baru : Pengolahan data baru' +#13 +#13 +'Buka : Ambil data yang pernah disimpan' +#13 +#13 +'Simpan : Menyimpan data' +#13 +#13 +'Banyaknya kluster dalam populasi = N' +#13 +#13 +'Banyaknya kluster terpilih = n'
';
L.1-56 +#13 +#13 +'Banyaknya elemen kluster ke-i = Mi' +#13 +#13 +'Banyaknya unit dalam kluster terpilih = mi' +#13 +#13 +'Total seluruh elemen kluster populasi = M' +#13 +#13 +'Total dari semua pengamatan dlm kluster ke-i = yi' +#13 +#13 +'Nilai pengamatan ke-j dlm sampel kluster ke-i = yij' bantuan.Caption := bantu; end;
;
procedure TFtwoSTAGES_tahap_1.Timer1Timer(Sender: TObject); begin StatusBarutama.Panels.Items[2].Text:=timetostr(time); end; procedure TFtwoSTAGES_tahap_1.exitClick(Sender: TObject); begin application.Terminate; end; procedure TFtwoSTAGES_tahap_1.backUTAMAClick(Sender: TObject); var a : integer; begin a:= MessageDlg('Data tidak akan diproses, Yakin akan ke Menu Utama Two Stages?',mtConfirmation,mbOKCancel,0); if a = mrCancel then FtwoSTAGES_tahap_1.Show else begin Ftwostages.Show; Ftwostages_tahap_1.Hide; end; end; end; procedure TFtwoSTAGES_tahap_1.isi_dataClick(Sender: TObject); var i,k,l: integer; begin if strlen(pchar(judul.Text))=0 then ShowMessage( '> Judul tidak boleh kosong' ) else if strlen(pchar(np.Text))= 0 then ShowMessage( '> Jumlah Kluster dlm populasi tidak boleh kosong') else if strlen(pchar(n.Text))=0 then ShowMessage('> Jumlah Kluster terpilih tidak boleh kosong') else if strlen(pchar(Mp.Text))=0 then ShowMessage('> Total seluruh elemen kluster populasi tidak boleh kosong') else begin k:=StrToInt(n.Text); l:=StrToInt(np.Text); if(k>l) then ShowMessage('> Kluster terpilih harus lebih kecil dari kluster populasi') else begin
L.1-57 input_data.ColCount :=4; input_data.RowCount:= k+1; for i:=1 to (k+1) do begin input_data.Cells[0,i]:= IntToStr(i); input_data.Cells[1,i]:= ''; input_data.Cells[2,i]:= ''; input_data.Cells[3,i]:= ''; input_data.Enabled:=true; end end end end; procedure TFtwoSTAGES_tahap_1.bukaClick(Sender: TObject); begin tahap1.Show; ReadFile(sender); input_data.Enabled:=true; end; procedure TFtwoSTAGES_tahap_1.simpanClick(Sender: TObject); var a,i,j:integer; salah :string; begin tahap1.Show; a:=input_data.RowCount-1; salah:=''; if strlen(pchar(judul.Text))=0 then salah :=salah+'> Judul tidak boleh kosong' +#13; if strlen(pchar(np.Text))= 0 then salah :=salah+'> Jumlah Kluster dlm populasi tidak boleh kosong' +#13; if strlen(pchar(n.Text))=0 then salah :=salah+'> Jumlah Kluster terpilih tidak boleh kosong' +#13; if strlen(pchar(mp.Text))=0 then salah :=salah+'> Total seluruh elemen kluster populasi tidak boleh kosong' +#13; for i:=1 to a do begin for j :=1 to 3 do begin if strlen(pchar(input_data.Cells[j,i]))=0 then salah:=salah+ 'Input ['+inttostr(j)+','+inttostr(i)+'] kosong'+#13 end; end; if salah='' then saveToFile(sender) else begin showmessage(salah+'Data HARUS LENGKAP'); end; end; procedure TFtwoSTAGES_tahap_1.baruClick(Sender: TObject); var e,g : integer; begin tahap1.Show; isi_data.Visible:=true;
L.1-58 judul.Text:=''; n.Text:=''; np.Text:=''; mp.Text:=''; g := input_data.RowCount; for e:=1 to g+1 do begin input_data.Cells[1,e]:= ''; input_data.Cells[2,e]:= ''; input_data.Cells[3,e]:= ''; end; end; procedure TFtwoSTAGES_tahap_1.lanjut_2Click(Sender: TObject); var t_n: extended; begin tabel_perhitungan.Hide; tahap2.Show; panel5.Visible:=true; panel6.Visible:=false; rata:=0; t_1:=0; t_ragam:=0; t_m_bar_y:=0; t_m_bar:=0; t_n:=0; t_simpangan:=0; t_bg_1:=0; t_bg_2:=0; sp1:=0; sp2:=0; sp11:=0; sp12:=0; rata:= rata+((strtofloat(np.Text)*temp_mi_yi1)/(strtofloat(mp.Text )*strtofloat(n.Text ))); t_m_bar:= t_m_bar+( strtofloat(mp.Text)/strtofloat(np.Text)); t_m_bar_y:= t_m_bar_y+(t_m_bar*rata); t_1:=t_1+((temp_mi_yi_kuad1(2*t_m_bar*rata*temp_mi_yi1)+(strtofloat(n.Text)*t_m_bar_y*t_m_bar_y))/ (strtofloat(n.Text)-1)); t_n:=t_n+ ((StrToFloat(np.Text)StrToFloat(n.Text))/StrToFloat(np.Text)); t_ragam:=t_ragam+(((t_n*t_1)/(StrToFloat(n.Text)*t_m_bar*t_m_bar))+(tem p_semua1/(StrToFloat(n.Text)*StrToFloat(Np.Text)*t_m_bar*t_m_bar))); t_simpangan:=t_simpangan+(sqrt(t_ragam)); t_bg_1:=t_bg_1+(1.96*t_simpangan); t_bg_2:=t_bg_2+(2.575*t_simpangan); sp1:=sp1+(rata-t_bg_1); sp2:=sp2+(rata+t_bg_1); sp11:=sp11+(rata-t_bg_2); sp12:=sp12+(rata+t_bg_2); hasil2.Cells[1,1]:= FormatFloat('#,##0.0000',rata); hasil2.Cells[1,2]:= FormatFloat('#,##0.0000',t_ragam); hasil2.Cells[1,3]:=FormatFloat('#,##0.0000',t_simpangan); hasil3.Cells[1,1]:=FormatFloat('#,##0.0000',t_bg_1); hasil3.Cells[2,1]:=FormatFloat('#,##0.0000',t_bg_2);
L.1-59 hasil3.Cells[1,2]:='['+FormatFloat('#,##0.0000',sp1)+' ; '+FormatFloat('#,##0.0000',sp2)+']'; hasil3.Cells[2,2]:='['+FormatFloat('#,##0.0000',sp11)+' ; '+FormatFloat('#,##0.0000',sp12)+']'; ket := ''+#13 + ' 1.> Rata-rata populasi diperkirakan sebesar ' + hasil2.Cells[1,1]+' .'+#13 +#13 + ' 2.> Dengan menggunakan taraf kepercayaan 95% diyakini penyimpangan yang terjadi atas '+ #13 + ' pendugaan no.1 akan lebih kecil dari '+hasil3.Cells[1,1]+' .'+#13+#13 + ' 3.> Dengan menggunakan taraf kepercayaan 99% diyakini penyimpangan yang terjadi atas '+ #13 + ' pendugaan no.1 akan lebih kecil dari '+hasil3.Cells[2,1]+' .'+#13 +#13 + ' 4.> Dengan menggunakan taraf kepercayaan 95% diyakini selang nilai '+ hasil3.Cells[1,2]+ #13 + ' akan mencakup rata-rata yang sesungguhnya dari populasi. '+#13 +#13 + ' 5.> Dengan menggunakan taraf kepercayaan 99% diyakini selang nilai '+ hasil3.Cells[2,2] + #13 + ' akan mencakup rata-rata yang sesungguhnya dari populasi. '+#13 +#13 ; KETERangan.Caption:=ket; end;
bahwa
bahwa
bahwa
bahwa
procedure TFtwoSTAGES_tahap_1.tahap2Show(Sender: TObject); begin hasil2.Cells[1,0]:= 'Hasil'; hasil2.Cells[0,1]:= 'Rata-rata'; hasil2.Cells[0,2]:= 'Ragam'; hasil2.Cells[0,3]:= 'Galat Baku'; hasil3.Cells[0,0]:= 'Alpha'; hasil3.Cells[1,0]:= ' 5%'; hasil3.Cells[2,0]:= '1%'; hasil3.Cells[0,1]:= 'Batas Galat'; hasil3.Cells[0,2]:= 'Selang kepercayaan'; end; procedure TFtwoSTAGES_tahap_1.FormShow(Sender: TObject); begin PageControl.ActivePage:=tahap1; end; procedure TFtwoSTAGES_tahap_1.cetak1Click(Sender: TObject); begin QRjudul.Caption:='PENGOLAHAN DATA "Cluster Sampling - Two Stages"'; QR1.Caption:= judul.Text; QR2.Caption:= np.Text; QR3.Caption:= n.Text; qr4.Caption:= mp.Text; WITH tabel1 do begin Q1.Caption:= tabel1.Cells[1,1]; Q2.Caption:= tabel1.Cells[2,1]; Q3.Caption:= tabel1.Cells[4,1]; Q4.Caption:= tabel1.Cells[5,1];
L.1-60 Q5.Caption:= tabel1.Cells[6,1]; Q6.Caption:= tabel1.Cells[7,1]; Q7.Caption:= tabel1.Cells[8,1]; Q8.Caption:= tabel1.Cells[9,1]; end; with hasil2 do begin QR6.Caption:= hasil2.Cells[1,1]; QR7.Caption:= hasil2.Cells[1,2]; QR8.Caption:= hasil2.Cells[1,3]; end; with hasil3 do begin QR9.Caption:= hasil3.Cells[1,1]; QR10.Caption:= hasil3.Cells[1,2];; QR11.Caption:= hasil3.Cells[2,1]; QR12.Caption:= hasil3.Cells[2,2];; end; QRMemo1.Lines.Clear; QRMemo1.Lines.Add(' 1.> Rata-rata populasi diperkirakan sebesar '+ QR6.Caption ); QRMemo1.Lines.Add(''); QRMemo1.Lines.Add(' 2.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa penyimpangan yang terjadi atas'); QRMemo1.Lines.Add(' pendugaan no.1 akan lebih kecil dari '+ QR9.Caption+' .'); QRMemo1.Lines.Add(''); QRMemo1.Lines.Add(' 3.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa selang nilai '+ QR10.Caption); QRMemo1.Lines.Add(' akan mencakup rata-rata yang sesungguhnya dari populasi. '); QRMemo1.Lines.Add(''); QRMemo1.Lines.Add(' 4.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa penyimpangan yang terjadi atas'); QRMemo1.Lines.Add(' pendugaan no.1 akan lebih kecil dari '+ QR11.Caption+'.'); QRMemo1.Lines.Add(''); QRMemo1.Lines.Add(' 5.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa selang nilai '+ QR12.Caption); QRMemo1.Lines.Add(' akan mencakup rata-rata yang sesungguhnya dari populasi. '); QRMemo1.Lines.Add(''); QRMemo1.Show; QuickRep1.Preview; end; procedure TFtwoSTAGES_tahap_1.totalClick(Sender: TObject); var y1: string; begin tahap2.Hide; tahap3.Show; panel6.Visible:=true; panel5.Visible:=false; total_y:=0; ragam_total:=0; simpangan_total:=0; bg_1_total:=0;
L.1-61 bg_2_total:=0; sp_1_total:=0; sp_2_total:=0; sp_11_total:=0; sp_12_total:=0; rata:=roundto(rata,-2); total_y:=total_y+(StrToFloat(mp.Text)*rata); t_ragam:=roundto(t_ragam,-4); ragam_total:=ragam_total+(StrToFloat(Mp.Text)*StrToFloat(Mp.Text)*t_rag am); simpangan_total:=simpangan_total+(sqrt(ragam_total)); ragam_total:=roundto(ragam_total,-2); simpangan_total:=roundto(simpangan_total,-2); bg_1_total:=bg_1_total+(1.96*simpangan_total); bg_2_total:=bg_2_total+(2.575*simpangan_total); sp_1_total:=sp_1_total+(total_y-bg_1_total); sp_2_total:=sp_2_total+(total_y+bg_1_total); sp_11_total:=sp_11_total+(total_y-bg_2_total); sp_12_total:=sp_12_total+(total_y+bg_2_total); y1:=''; y1:=y1+FormatFloat('0',total_y); hasil4.Cells[1,1]:= FormatFloat('#,##0.00',total_y); hasil4.Cells[1,2]:= FormatFloat('#,##0.00',ragam_total); hasil4.Cells[1,3]:=FormatFloat('#,##0.0000',simpangan_total); hasil5.Cells[1,1]:=FormatFloat('#,##0.0000',bg_1_total); hasil5.Cells[2,1]:=FormatFloat('#,##0.0000',bg_2_total); hasil5.Cells[1,2]:='['+FormatFloat('#,##0.0000',sp_1_total)+' ; '+FormatFloat('#,##0.0000',sp_2_total)+']'; hasil5.Cells[2,2]:='['+FormatFloat('#,##0.0000',sp_11_total)+' ; '+FormatFloat('#,##0.0000',sp_2_total)+']'; ket1 := ''+#13 + ' 1.> Total populasi diperkirakan sebesar ' + hasil4.Cells[1,1]+' . Dibulatkan menjadi = '+y1+' .' +#13 +#13 + ' 2.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa penyimpangan yang terjadi atas '+ #13 + ' pendugaan no.1 akan lebih kecil dari '+hasil5.Cells[1,1]+' .'+#13+#13 + ' 3.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa penyimpangan yang terjadi atas '+ #13 + ' pendugaan no.1 akan lebih kecil dari '+hasil5.Cells[2,1]+' .'+#13 +#13 + ' 4.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa selang nilai '+ hasil5.Cells[1,2]+ #13 + ' akan mencakup rata-rata yang sesungguhnya dari populasi. '+#13 +#13 + ' 5.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa selang nilai '+ hasil5.Cells[2,2] + #13 + ' akan mencakup rata-rata yang sesungguhnya dari populasi. '+#13 +#13 ; KET2.Caption:=ket1; end; procedure TFtwoSTAGES_tahap_1.tahap3Show(Sender: TObject); begin hasil4.Cells[1,0]:= 'Hasil'; hasil4.Cells[0,1]:= 'Nilai Total'; hasil4.Cells[0,2]:= 'Ragam';
L.1-62 hasil4.Cells[0,3]:= hasil5.Cells[0,0]:= hasil5.Cells[1,0]:= hasil5.Cells[2,0]:= hasil5.Cells[0,1]:= hasil5.Cells[0,2]:= end;
'Galat Baku'; 'Alpha'; ' 5%'; '1%'; 'Batas Galat'; 'Selang kepercayaan';
procedure TFtwoSTAGES_tahap_1.cetak2Click(Sender: TObject); begin QRjudul2.Caption:='PENGOLAHAN DATA "Cluster Sampling Two Stages"'; QR13.Caption:= judul.Text; QR14.Caption:= np.Text; QR15.Caption:= n.Text; QR25.Caption:=mp.Text; WITH TABEL1 DO BEGIN Q11.Caption:= tabel1.Cells[1,1]; Q12.Caption:= tabel1.Cells[2,1]; Q13.Caption:= tabel1.Cells[4,1]; Q14.Caption:= tabel1.Cells[5,1]; Q15.Caption:= tabel1.Cells[6,1]; Q16.Caption:= tabel1.Cells[7,1]; Q17.Caption:= tabel1.Cells[8,1]; Q18.Caption:= tabel1.Cells[9,1]; END; with hasil2 do begin QR18.Caption:= hasil2.Cells[1,1]; QR19.Caption:= hasil2.Cells[1,2]; QR20.Caption:= hasil2.Cells[1,3]; end; with hasil3 do begin QR21.Caption:= hasil3.Cells[1,1]; QR22.Caption:= hasil3.Cells[1,2];; QR23.Caption:= hasil3.Cells[2,1]; QR24.Caption:= hasil3.Cells[2,2];; end; with hasil4 do begin QR26.Caption:= hasil4.Cells[1,1]; QR27.Caption:= hasil4.Cells[1,2]; QR28.Caption:= hasil4.Cells[1,3]; end; with hasil5 do begin QR29.Caption:= hasil5.Cells[1,1]; QR30.Caption:= hasil5.Cells[1,2];; QR31.Caption:= hasil5.Cells[2,1]; QR32.Caption:= hasil5.Cells[2,2];; end; QRMemo2.Lines.Clear; QRMemo2.Lines.Add(' 1.> Rata-rata populasi diperkirakan sebesar '+QR18.Caption ); QRMemo2.Lines.Add('');
L.1-63 QRMemo2.Lines.Add(' 2.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa penyimpangan yang terjadi atas'); QRMemo2.Lines.Add(' pendugaan no.1 akan lebih kecil dari '+ QR21.Caption+' .'); QRMemo2.Lines.Add(''); QRMemo2.Lines.Add(' 3.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa selang nilai '+ QR22.Caption); QRMemo2.Lines.Add(' akan mencakup rata-rata yang sesungguhnya populasi. '); QRMemo2.Lines.Add(''); QRMemo2.Lines.Add(' 4.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa penyimpangan yang terjadi atas'); QRMemo2.Lines.Add(' pendugaan no.1 akan lebih kecil dari '+ QR23.Caption+'.'); QRMemo2.Lines.Add(''); QRMemo2.Lines.Add(' 5.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa selang nilai '+ QR24.Caption); QRMemo2.Lines.Add(' akan mencakup rata-rata yang sesungguhnya populasi. '); QRMemo2.Lines.Add(''); QRMemo2.Show; QRMemo3.Lines.Clear; QRMemo3.Lines.Add(' 1.> Total populasi diperkirakan sebesar '+ QR26.Caption ); QRMemo3.Lines.Add(''); QRMemo3.Lines.Add(' 2.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa penyimpangan yang terjadi atas'); QRMemo3.Lines.Add(' pendugaan no.1 akan lebih kecil dari '+ QR29.Caption+' .'); QRMemo3.Lines.Add(''); QRMemo3.Lines.Add(' 3.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa selang nilai '+ QR30.Caption); QRMemo3.Lines.Add(' akan mencakup rata-rata yang sesungguhnya populasi. '); QRMemo3.Lines.Add(''); QRMemo3.Lines.Add(' 4.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa penyimpangan yang terjadi atas'); QRMemo3.Lines.Add(' pendugaan no.1 akan lebih kecil dari '+ QR31.Caption+'.'); QRMemo3.Lines.Add(''); QRMemo3.Lines.Add(' 5.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa selang nilai '+ QR32.Caption); QRMemo3.Lines.Add(' akan mencakup rata-rata yang sesungguhnya populasi. '); QRMemo3.Lines.Add(''); QRMemo3.Show; QuickRep2.Preview; end; procedure TFtwoSTAGES_tahap_1.input_dataDblClick(Sender: TObject); var isi,j,kolom,baris : integer; a1,b:string; begin baris:=input_data.Row; kolom:=input_data.Col; b:=''; if kolom = 2 then
dari
dari
dari
dari
L.1-64 begin isi:=StrToInt(input_data.Cells[kolom,baris]); if MessageDlg('Akan mengisi data?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin for j:=1 to isi do begin a1:=''; a1:= InputBox('Masukkan data -> yij','Masukkan Data baris ke'+ inttostr(baris)+' data ke ['+IntTostr(j)+']',''); input[baris,j]:=strtofloat(a1); b:=b+a1+';'; end; input_data.Cells[3,baris]:=b; end; end; end; procedure TFtwoSTAGES_tahap_1.tabel_perhitunganShow(Sender: TObject); begin tabel.Cells[0,0]:= 'i'; tabel.Cells[1,0]:= 'Mi'; tabel.Cells[2,0]:= 'mi'; tabel.Cells[3,0]:= 'yij'; tabel.Cells[4,0]:= 'yi'; tabel.Cells[5,0]:= 'rata-rata yi'; tabel.Cells[6,0]:= 'ragam yi'; tabel.Cells[7,0]:= 'mi*yi_bar '; tabel.Cells[8,0]:= '(mi*yi_bar)^2'; tabel.Cells[9,0]:= 'c'; tabel.ColWidths[0]:= 25; tabel.ColWidths[1]:= 45; tabel.ColWidths[2]:= 45; tabel.ColWidths[3]:= 120; tabel1.Cells[0,1]:= 'Total'; tabel1.Cells[1,0]:= 'Mi'; tabel1.Cells[2,0]:= 'mi'; tabel1.Cells[4,0]:= 'yi'; tabel1.Cells[5,0]:= 'rata-rata yi'; tabel1.Cells[6,0]:= 'ragam yi'; tabel1.Cells[7,0]:= 'mi*yi_bar '; tabel1.Cells[8,0]:= '(mi*yi_bar)^2'; tabel1.Cells[9,0]:= 'c'; tabel1.ColWidths[0]:= 35; tabel1.ColWidths[1]:= 45; tabel1.ColWidths[2]:= 45; tabel1.ColWidths[3]:= 5; end; procedure TFtwoSTAGES_tahap_1.ltabelClick(Sender: TObject); var i,j,k,kol,bar:integer; h: array[1..100] of integer; temp_yi,temp_yi_1,temp_yi_bar, temp_si,temp_mi_yi,temp_mi_yi_kuad,temp_semua :Extended; begin tahap1.Hide; tabel_perhitungan.Show;
L.1-65 panel5.Visible:=true; panel6.Visible:=false; kol:=input_data.ColCount-1; bar:=input_data.RowCount-1; tabel.RowCount:= input_data.RowCount; temp_yi1:=0; temp_yi_bar1:=0; //rata-rata yi temp_si1:=0; //si^2 => ragam yi temp_mi_yi1:=0; //mi*yi_bar temp_mi_yi_kuad1:=0; //(mi*yi_bar)^2 temp_semua1:=0; temp_M:=0; temp_mi:=0; for i:=1 to bar do begin for j :=1 to kol do tabel.Cells[j,i]:= input_data.Cells[j,i]; tabel.Cells[0,i]:= IntToStr(i); end; for i:=1 to bar do begin temp_yi:=0; temp_yi_1:=0; //untuk nampung yi kuadrad temp_yi_bar:=0; //rata-rata yi temp_si:=0; //si^2 => ragam yi temp_mi_yi:=0; //mi*yi_bar temp_mi_yi_kuad:=0; //(mi*yi_bar)^2 temp_semua:=0; k:=0; h[i]:=StrToInt(input_data.Cells[2,i]); k:=k+h[i]; for j:=1 to k do begin temp_yi:= temp_yi+input[i,j]; temp_yi_1:=temp_yi_1+(input[i,j]*input[i,j]); end; temp_yi_bar:=temp_yi_bar+(temp_yi/StrToint(tabel.Cells[2,i])); temp_si:=temp_si+(((StrToint(tabel.Cells[2,i])*temp_yi_1)(temp_yi*temp_yi))/(StrToint(tabel.Cells[2,i])*(StrToint(tabel.Cells[2, i])-1))); temp_si1:= temp_si1+ temp_si; temp_yi:=roundto(temp_yi,-2); temp_yi_bar:=roundto(temp_yi_bar,-2); temp_mi_yi:=temp_mi_yi+(strtoint(tabel.Cells[1,i])*temp_yi_bar); temp_mi_yi:=roundto(temp_mi_yi,-2); temp_mi_yi_kuad:=temp_mi_yi_kuad+(temp_mi_yi*temp_mi_yi); temp_mi_yi_kuad:=roundto(temp_mi_yi_kuad,-2); tabel.Cells[4,i]:=FormatFloat('#,##0.00',temp_yi); tabel.Cells[5,i]:=FormatFloat('#,##0.00',temp_yi_bar); tabel.Cells[6,i]:=FormatFloat('#,##0.00',temp_si); tabel.Cells[7,i]:=FormatFloat('#,##0.00',temp_mi_yi); tabel.Cells[8,i]:=FormatFloat('#,##0.00',temp_mi_yi_kuad); temp_semua := temp_semua+((StrToInt(tabel.Cells[1,i])*((StrToInt(tabel.Cells[1,i])StrToInt(tabel.Cells[2,i]))*strtofloat(tabel.Cells[6,i])))/StrToInt(tab el.Cells[2,i])); temp_semua :=roundto(temp_semua,-2);
L.1-66 tabel.Cells[9,i]:=FormatFloat('#,##0.00',temp_semua); temp_M:=temp_M+ StrToFloat(tabel.Cells[1,i]); temp_mi:=temp_mi+ StrToFloat(tabel.Cells[2,i]); temp_yi1:=temp_yi1+temp_yi; temp_yi_bar1:=temp_yi_bar1+temp_yi_bar; temp_mi_yi1:=temp_mi_yi1+temp_mi_yi; temp_mi_yi_kuad1:=temp_mi_yi_kuad1+temp_mi_yi_kuad; temp_semua1:=temp_semua1+temp_semua; temp_yi1 :=roundto( temp_yi1,-2); temp_yi_bar1 :=roundto(temp_yi_bar1,-2); temp_mi_yi1 :=roundto(temp_mi_yi1,-2); temp_mi_yi_kuad1 :=roundto(temp_mi_yi_kuad1,-2); temp_semua1 :=roundto(temp_semua1,-2); end; tabel1.Cells[1,1]:=FormatFloat('#,##0.00',temp_M); tabel1.Cells[2,1]:=FormatFloat('#,##0.00',temp_mi); tabel1.Cells[4,1]:=FormatFloat('#,##0.00',temp_yi1); tabel1.Cells[5,1]:=FormatFloat('#,##0.00',temp_yi_bar1); tabel1.Cells[6,1]:=FormatFloat('#,##0.00',temp_si1); tabel1.Cells[7,1]:=FormatFloat('#,##0.00',temp_mi_yi1); tabel1.Cells[8,1]:=FormatFloat('#,##0.00',temp_mi_yi_kuad1); tabel1.Cells[9,1]:=FormatFloat('#,##0.00',temp_semua1); end; procedure TFtwoSTAGES_tahap_1.Panel4Click(Sender: TObject); var i,bar:integer; temp_yi_bar, temp_si,temp_mi_yi,temp_mi_yi_kuad,temp_semua :Extended; begin bar:=input_data.RowCount-1; temp_yi_bar1:=0; //rata-rata yi temp_si1:=0; //si^2 => ragam yi temp_mi_yi1:=0; //mi*yi_bar temp_mi_yi_kuad1:=0; //(mi*yi_bar)^2 temp_semua1:=0; temp_M:=0; temp_mi:=0; for i:=1 to bar do begin temp_yi_bar:=0; //rata-rata yi temp_si:=0; //si^2 => ragam yi temp_mi_yi:=0; //mi*yi_bar temp_mi_yi_kuad:=0; //(mi*yi_bar)^2 temp_semua:=0; temp_yi_bar:=temp_yi_bar+strtofloat(tabel.Cells[5,i]); temp_si:=temp_si+ strtofloat(tabel.Cells[6,i]); temp_si1:= temp_si1+ temp_si; temp_yi_bar:=roundto(temp_yi_bar,-2); temp_mi_yi:=temp_mi_yi+(strtoint(tabel.Cells[1,i])*temp_yi_bar); temp_mi_yi:=roundto(temp_mi_yi,-2); temp_mi_yi_kuad:=temp_mi_yi_kuad+(temp_mi_yi*temp_mi_yi); temp_mi_yi_kuad:=roundto(temp_mi_yi_kuad,-2); tabel.Cells[7,i]:=FormatFloat('#,##0.00',temp_mi_yi); tabel.Cells[8,i]:=FormatFloat('#,##0.00',temp_mi_yi_kuad); temp_semua := temp_semua+((StrToInt(tabel.Cells[1,i])*((StrToInt(tabel.Cells[1,i])-
L.1-67 StrToInt(tabel.Cells[2,i]))*strtofloat(tabel.Cells[6,i])))/StrToInt(tab el.Cells[2,i])); temp_semua :=roundto(temp_semua,-2); tabel.Cells[9,i]:=FormatFloat('#,##0.00',temp_semua); temp_M:=temp_M+ StrToFloat(tabel.Cells[1,i]); temp_mi:=temp_mi+ StrToFloat(tabel.Cells[2,i]); temp_yi_bar1:=temp_yi_bar1+temp_yi_bar; temp_mi_yi1:=temp_mi_yi1+temp_mi_yi; temp_mi_yi_kuad1:=temp_mi_yi_kuad1+temp_mi_yi_kuad; temp_semua1:=temp_semua1+temp_semua; temp_yi1 :=roundto( temp_yi1,-2); temp_yi_bar1 :=roundto(temp_yi_bar1,-2); temp_mi_yi1 :=roundto(temp_mi_yi1,-2); temp_mi_yi_kuad1 :=roundto(temp_mi_yi_kuad1,-2); temp_semua1 :=roundto(temp_semua1,-2); end; tabel1.Cells[1,1]:=FormatFloat('#,##0.00',temp_M); tabel1.Cells[2,1]:=FormatFloat('#,##0.00',temp_mi); tabel1.Cells[5,1]:=FormatFloat('#,##0.00',temp_yi_bar1); tabel1.Cells[6,1]:=FormatFloat('#,##0.00',temp_si1); tabel1.Cells[7,1]:=FormatFloat('#,##0.00',temp_mi_yi1); tabel1.Cells[8,1]:=FormatFloat('#,##0.00',temp_mi_yi_kuad1); tabel1.Cells[9,1]:=FormatFloat('#,##0.00',temp_semua1); end; end.
L.1-68 unit twoSTAGES_tanpa_M; //-------------save ke file ------------------procedure TFtwoSTAGES_tanpa_M.saveToFile(Sender:Tobject); var e,f,g,k:integer; h: array[1..100] of integer; filee:TIniFile ; begin mysave.Filter:='reset files (*.INI)|*.INI'; g:=strtoint(n.Text); if mysave.Execute then begin if RightStr(mysave.FileName,4)='.ini' then filee:=TIniFile.Create(mysave.filename) else filee :=TIniFile.Create(mysave.FileName+'.ini'); filee.WriteString('General','Nama',judul.Text); filee.WriteString('General','N',n.Text); filee.WriteString('General','Np',np.Text); for e:=1 to g do //g -> n = banyaknya baris begin for f:=1 to 2 do filee.WriteString('General','Data'+IntToStr(e)+IntToStr(f),input_data.C ells[f,e]); end; for e:=1 to g do begin k:=0; h[e]:=StrToInt(input_data.Cells[2,e]); k:=k+h[e]; for f:=1 to k do filee.WriteString('General','y'+IntToStr(e)+IntToStr(f),FloatToStr(inpu t[e,f])); end; end; end; //procedure read from file------------procedure TFtwoSTAGES_tanpa_M.readFile(Sender:TObject); var e,f,g,k:integer; h: array[1..100] of integer; b: string; xfilee:TIniFile ; begin myopen.Filter:='reset files (*.ini)|*.ini'; if myopen.Execute then begin xfilee:=TIniFile.Create(myopen.FileName ); judul.Text:=xfilee.ReadString('General','Nama','fail'); n.Text:= xfilee.ReadString('General','N','0'); np.Text:= xfilee.ReadString('General','Np','0'); g:= strtoint(n.Text); input_data.RowCount:= g+1; for e:=1 to g do begin
L.1-69 for f:=1 to 2 do begin input_data.Cells[f,e]:=''; input_data.Cells[0,e]:= IntToStr(e); input_data.Cells[f,e]:= xfilee.ReadString('General','Data'+IntToStr(e)+IntToStr(f),'0'); end; end; for e:=1 to g do begin k:=0; h[e]:=StrToInt(input_data.Cells[2,e]); k:=k+h[e]; b:=''; for f:=1 to k do begin input[e,f]:=strtofloat(xfilee.ReadString('General','y'+IntToStr(e)+IntT oStr(f),'0')); b:= b+FloatToStr(input[e,f]) +' ;'; end; input_data.Cells[3,e]:=b; end; end; end;
procedure TFtwoSTAGES_tanpa_M.FormCreate(Sender: TObject); begin input_data.EditorMode:=true; PageControl.ActivePage:=tahap1; QuickRep1.Visible:=false; input_data.ColCount :=4; input_data.RowCount:= 2; input_data.Cells[0,0]:= 'KLUSTER ke-i'; input_data.Cells[1,0]:= 'Mi'; input_data.Cells[2,0]:= 'mi'; input_data.Cells[3,0]:= 'yij'; input_data.Cells[0,1]:='1'; input_data.ColWidths[1]:=45; input_data.ColWidths[2]:=45; input_data.ColWidths[3]:=200; StatusBarutama.Panels.Items[1].Text:='Tanggal :' + FormatDateTime('dddd, dd mmmm yyyy',Now ); StatusBarutama.Panels.Items[3].Text:='Merry Magdalena timer1.Enabled:=True; StatusBarutama.Panels.Items[0].Text:='Pengolahan Data - Cluster Samping'; exit.BevelWidth:=4; exit.Color:=clBlue; bantu := 'Selamat Datang ke Cluster Sampling - Two Stages' +#13 +#13 +'Baru : Pengolahan data baru' +#13 +#13 +'Buka : Ambil data yang pernah disimpan' +#13 +#13 +'Simpan : Menyimpan data' +#13 +#13 +'Banyaknya kluster dalam populasi = N' +#13 +#13 +'Banyaknya kluster terpilih = n' +#13 +#13 +'Banyaknya elemen kluster ke-i = Mi' +#13 +#13 +'Banyaknya unit dalam kluster terpilih = mi'
';
L.1-70 +#13 +#13 +'Total seluruh elemen kluster populasi = M' +#13 +#13 +'Total dari semua pengamatan dlm kluster ke-i = yi' +#13 +#13 +'Nilai pengamatan ke-j dlm sampel kluster ke-i = yij' ; bantuan.Caption := bantu; end; procedure TFtwoSTAGES_tanpa_M.Timer1Timer(Sender: TObject); begin StatusBarutama.Panels.Items[2].Text:=timetostr(time); end; procedure TFtwoSTAGES_tanpa_M.exitClick(Sender: TObject); begin application.Terminate; end; procedure TFtwoSTAGES_tanpa_M.backUTAMAClick(Sender: TObject); var a : integer; begin a:= MessageDlg('Data tidak akan diproses, Yakin akan ke Menu Utama Two Stages?',mtConfirmation,mbOKCancel,0); if a = mrCancel then FtwoSTAGES_tanpa_M.Show else begin Ftwostages.Show; FtwoSTAGES_tanpa_M.Hide; end; end; procedure TFtwoSTAGES_tanpa_M.isi_dataClick(Sender: TObject); var i,k,l: integer; begin if strlen(pchar(judul.Text))=0 then ShowMessage( '> Judul tidak boleh kosong' ) else if strlen(pchar(np.Text))= 0 then ShowMessage( '> Jumlah Kluster dlm populasi tidak boleh kosong') else if strlen(pchar(n.Text))=0 then ShowMessage('> Jumlah Kluster terpilih tidak boleh kosong') else begin k:=StrToInt(n.Text); l:=StrToInt(np.Text); if(k>l) then ShowMessage('> Kluster terpilih harus lebih kecil dari kluster populasi') else begin input_data.ColCount :=4; input_data.RowCount:= k+1; for i:=1 to (k+1) do begin input_data.Cells[0,i]:= IntToStr(i); input_data.Cells[1,i]:= ''; input_data.Cells[2,i]:= '';
L.1-71 input_data.Cells[3,i]:= ''; input_data.Enabled:=true; end end end end; procedure TFtwoSTAGES_tanpa_M.bukaClick(Sender: TObject); begin tahap1.Show; ReadFile(sender); input_data.Enabled:=true; end; procedure TFtwoSTAGES_tanpa_M.simpanClick(Sender: TObject); var a,i,j:integer; salah :string; begin tahap1.Show; a:=input_data.RowCount-1; salah:=''; if strlen(pchar(judul.Text))=0 then salah :=salah+'> Judul tidak boleh kosong' +#13; if strlen(pchar(np.Text))= 0 then salah :=salah+'> Jumlah Kluster dlm populasi tidak boleh kosong' +#13; if strlen(pchar(n.Text))=0 then salah :=salah+'> Jumlah Kluster terpilih tidak boleh kosong' +#13; for i:=1 to a do begin for j :=1 to 3 do begin if strlen(pchar(input_data.Cells[j,i]))=0 then salah:=salah+ 'Input ['+inttostr(j)+','+inttostr(i)+'] kosong'+#13 end; end; if salah='' then saveToFile(sender) else begin showmessage(salah+'Data HARUS LENGKAP'); end; end; procedure TFtwoSTAGES_tanpa_M.baruClick(Sender: TObject); var e,g : integer; begin tahap1.Show; isi_data.Visible:=true; judul.Text:=''; n.Text:=''; np.Text:=''; g := input_data.RowCount; for e:=1 to g+1 do begin input_data.Cells[1,e]:= ''; input_data.Cells[2,e]:= ''; input_data.Cells[3,e]:= '';
L.1-72 end; end; procedure TFtwoSTAGES_tanpa_M.lanjut_2Click(Sender: TObject); var t_m: extended; begin tabel_perhitungan.Hide; tahap2.Show; rata:=0; t_1:=0; t_ragam:=0; t_m:=0; t_simpangan:=0; t_bg_1:=0; t_bg_2:=0; sp1:=0; sp2:=0; sp11:=0; sp12:=0; rata:= rata+(temp_mi_yi1/temp_M); rata:=roundto(rata,-2); temp_mi_yi_kuad1:=roundto(temp_mi_yi_kuad1,-2); temp_semua1:=roundto(temp_semua1,-2); temp_mi_kuad1:=roundto(temp_mi_kuad1,-2); t_1:=t_1+((temp_mi_yi_kuad1(2*rata*temp_semua1)+(rata*rata*temp_mi_kuad1))/(strtofloat(n.Text)1)); t_1:= roundto(t_1,-2); t_m:=t_m+ (temp_M/StrToFloat(n.Text)); t_m:=roundto(t_m,-2); temp_si1:=roundto(temp_si1,-2); t_ragam:=t_ragam+((((StrToFloat(np.Text)StrToFloat(n.Text))*t_1)/(StrToFloat(n.Text)*t_m*t_m*StrToFloat(np.Text )))+(temp_c1/(StrToFloat(n.Text)*StrToFloat(Np.Text)*t_m*t_m))); t_ragam:=roundto(t_ragam,-4); t_simpangan:=t_simpangan+(sqrt(t_ragam)); t_bg_1:=t_bg_1+(1.96*t_simpangan); t_bg_2:=t_bg_2+(2.575*t_simpangan); sp1:=sp1+(rata-t_bg_1); sp2:=sp2+(rata+t_bg_1); sp11:=sp11+(rata-t_bg_2); sp12:=sp12+(rata+t_bg_2); hasil2.Cells[1,1]:= FormatFloat('#,##0.00',rata); hasil2.Cells[1,2]:= FormatFloat('#,##0.0000',t_ragam); hasil2.Cells[1,3]:=FormatFloat('#,##0.0000',t_simpangan); hasil3.Cells[1,1]:=FormatFloat('#,##0.0000',t_bg_1); hasil3.Cells[2,1]:=FormatFloat('#,##0.0000',t_bg_2); hasil3.Cells[1,2]:='['+FormatFloat('#,##0.0000',sp1)+' ; '+FormatFloat('#,##0.0000',sp2)+']'; hasil3.Cells[2,2]:='['+FormatFloat('#,##0.0000',sp11)+' ; '+FormatFloat('#,##0.0000',sp12)+']'; ket := ''+#13 + ' 1.> Rata-rata populasi diperkirakan sebesar ' + hasil2.Cells[1,1]+' .'+#13 +#13 + ' 2.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa penyimpangan yang terjadi atas '+ #13
L.1-73 + ' pendugaan no.1 akan lebih kecil dari '+hasil3.Cells[1,1]+' .'+#13+#13 + ' 3.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa penyimpangan yang terjadi atas '+ #13 + ' pendugaan no.1 akan lebih kecil dari '+hasil3.Cells[2,1]+' .'+#13 +#13 + ' 4.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa selang nilai '+ hasil3.Cells[1,2]+ #13 + ' akan mencakup rata-rata yang sesungguhnya dari populasi. '+#13 +#13 + ' 5.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa selang nilai '+ hasil3.Cells[2,2] + #13 + ' akan mencakup rata-rata yang sesungguhnya dari populasi. '+#13 +#13 ; KETERangan.Caption:=ket; end; procedure TFtwoSTAGES_tanpa_M.tahap2Show(Sender: TObject); begin hasil2.Cells[1,0]:= 'Hasil'; hasil2.Cells[0,1]:= 'Rata-rata'; hasil2.Cells[0,2]:= 'Ragam'; hasil2.Cells[0,3]:= 'Galat Baku'; hasil3.Cells[0,0]:= 'Alpha'; hasil3.Cells[1,0]:= ' 5%'; hasil3.Cells[2,0]:= '1%'; hasil3.Cells[0,1]:= 'Batas Galat'; hasil3.Cells[0,2]:= 'Selang kepercayaan'; end; procedure TFtwoSTAGES_tanpa_M.FormShow(Sender: TObject); begin PageControl.ActivePage:=tahap1; end; procedure TFtwoSTAGES_tanpa_M.cetak1Click(Sender: TObject); begin QRjudul.Caption:='PENGOLAHAN DATA "Cluster Sampling - Two Stages"'; QR1.Caption:= judul.Text; QR2.Caption:= np.Text; QR3.Caption:= n.Text; WITH TABEL1 DO BEGIN Q1.Caption:= tabel1.Cells[1,1]; Q2.Caption:= tabel1.Cells[2,1]; Q3.Caption:= tabel1.Cells[4,1]; Q4.Caption:= tabel1.Cells[5,1]; Q5.Caption:= tabel1.Cells[6,1]; Q6.Caption:= tabel1.Cells[7,1]; Q7.Caption:= tabel1.Cells[8,1]; Q8.Caption:= tabel1.Cells[9,1]; Q9.Caption:= tabel1.Cells[10,1]; Q10.Caption:= tabel1.Cells[11,1]; END; with hasil2 do begin QR6.Caption:= hasil2.Cells[1,1];
L.1-74 QR7.Caption:= hasil2.Cells[1,2]; QR8.Caption:= hasil2.Cells[1,3]; end; with hasil3 do begin QR9.Caption:= hasil3.Cells[1,1]; QR10.Caption:= hasil3.Cells[1,2];; QR11.Caption:= hasil3.Cells[2,1]; QR12.Caption:= hasil3.Cells[2,2];; end; QRMemo1.Lines.Clear; QRMemo1.Lines.Add(' 1.> Rata-rata populasi diperkirakan sebesar '+ QR6.Caption ); QRMemo1.Lines.Add(''); QRMemo1.Lines.Add(' 2.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa penyimpangan yang terjadi atas'); QRMemo1.Lines.Add(' pendugaan no.1 akan lebih kecil dari '+ QR9.Caption+' .'); QRMemo1.Lines.Add(''); QRMemo1.Lines.Add(' 3.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa selang nilai '+ QR10.Caption); QRMemo1.Lines.Add(' akan mencakup rata-rata yang sesungguhnya dari populasi. '); QRMemo1.Lines.Add(''); QRMemo1.Lines.Add(' 4.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa penyimpangan yang terjadi atas'); QRMemo1.Lines.Add(' pendugaan no.1 akan lebih kecil dari '+ QR11.Caption+'.'); QRMemo1.Lines.Add(''); QRMemo1.Lines.Add(' 5.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa selang nilai '+ QR12.Caption); QRMemo1.Lines.Add(' akan mencakup rata-rata yang sesungguhnya dari populasi. '); QRMemo1.Lines.Add(''); QRMemo1.Show; QuickRep1.Preview; end; procedure TFtwoSTAGES_tanpa_M.input_dataDblClick(Sender: TObject); var isi,j,kolom,baris : integer; a1,b:string; begin baris:=input_data.Row; kolom:=input_data.Col; b:=''; if kolom = 2 then begin isi:=StrToInt(input_data.Cells[kolom,baris]); if MessageDlg('Akan mengisi data?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin for j:=1 to isi do begin a1:=''; a1:= InputBox('Masukkan data -> yij','Masukkan Data baris ke'+ inttostr(baris)+' data ke ['+IntTostr(j)+']',''); input[baris,j]:=strtofloat(a1); b:=b+a1+';';
L.1-75 end; input_data.Cells[3,baris]:=b; end; end; end; procedure TFtwoSTAGES_tanpa_M.tabel_perhitunganShow(Sender: TObject); begin tabel.Cells[0,0]:= 'i'; tabel.Cells[1,0]:= 'Mi'; tabel.Cells[2,0]:= 'mi'; tabel.Cells[3,0]:= 'yij'; tabel.Cells[4,0]:= 'yi'; tabel.Cells[5,0]:= 'rata-rata yi'; tabel.Cells[6,0]:= 'ragam yi'; tabel.Cells[7,0]:= 'mi*yi_bar '; tabel.Cells[8,0]:= '(mi*yi_bar)^2'; tabel.Cells[9,0]:= '(mi^2)*yi_bar'; tabel.Cells[10,0]:= 'Mi^2'; tabel.Cells[11,0]:= 'c'; tabel.ColWidths[0]:= 25; tabel.ColWidths[1]:= 45; tabel.ColWidths[2]:= 45; tabel.ColWidths[3]:= 120; tabel1.Cells[0,1]:= 'Total'; tabel1.Cells[1,0]:= 'Mi'; tabel1.Cells[2,0]:= 'mi'; tabel1.Cells[4,0]:= 'yi'; tabel1.Cells[5,0]:= 'rata-rata yi'; tabel1.Cells[6,0]:= 'ragam yi'; tabel1.Cells[7,0]:= 'mi*yi_bar '; tabel1.Cells[8,0]:= '(mi*yi_bar)^2'; tabel1.Cells[9,0]:= '(mi^2)*yi_bar'; tabel1.Cells[10,0]:= 'Mi^2'; tabel1.Cells[11,0]:= 'c'; tabel1.ColWidths[0]:= 35; tabel1.ColWidths[1]:= 45; tabel1.ColWidths[2]:= 45; tabel1.ColWidths[3]:= 5; end; procedure TFtwoSTAGES_tanpa_M.ltabelClick(Sender: TObject); var i,j,k,kol,bar:integer; h: array[1..100] of integer; temp_c,temp_mi_kuad,temp_yi,temp_yi_1,temp_yi_bar, temp_si,temp_mi_yi,temp_mi_yi_kuad,temp_semua :Extended; begin tahap1.Hide; tabel_perhitungan.Show; kol:=input_data.ColCount-1; bar:=input_data.RowCount-1; tabel.RowCount:= input_data.RowCount; temp_yi1:=0; temp_yi_bar1:=0; //rata-rata yi temp_si1:=0; //si^2 => ragam yi temp_mi_yi1:=0; //mi*yi_bar temp_mi_yi_kuad1:=0; //(mi*yi_bar)^2
L.1-76 temp_semua1:=0; temp_M:=0; temp_mi:=0; temp_c1:=0; temp_mi_kuad1:=0; for i:=1 to bar do begin for j :=1 to kol do tabel.Cells[j,i]:= input_data.Cells[j,i]; tabel.Cells[0,i]:= IntToStr(i); end; for i:=1 to bar do begin temp_yi:=0; temp_yi_1:=0; //untuk nampung yi kuadrad temp_yi_bar:=0; //rata-rata yi temp_si:=0; //si^2 => ragam yi temp_mi_yi:=0; //mi*yi_bar temp_mi_yi_kuad:=0; //(mi*yi_bar)^2 temp_semua:=0; temp_mi_kuad:=0; temp_c:=0; k:=0; h[i]:=StrToInt(input_data.Cells[2,i]); k:=k+h[i]; for j:=1 to k do begin temp_yi:= temp_yi+(input[i,j]); temp_yi_1:=temp_yi_1+(input[i,j]*input[i,j]); end; temp_yi_bar:=temp_yi_bar+(temp_yi/StrToint(tabel.Cells[2,i])); temp_si:=temp_si+(((StrToint(tabel.Cells[2,i])*temp_yi_1)(temp_yi*temp_yi))/(StrToint(tabel.Cells[2,i])*(StrToint(tabel.Cells[2, i])-1))); temp_yi:=roundto(temp_yi,-2); temp_yi_bar:=roundto(temp_yi_bar,-2); temp_mi_yi:=temp_mi_yi+(strtoint(tabel.Cells[1,i])*temp_yi_bar); temp_mi_yi:=roundto(temp_mi_yi,-2); //mencari (mi*yi_bar)^2 temp_mi_yi_kuad:=temp_mi_yi_kuad+(temp_mi_yi*temp_mi_yi); temp_mi_yi_kuad:=roundto(temp_mi_yi_kuad,-2); temp_semua:=temp_semua+ (strtoint(tabel.Cells[1,i])*strtoint(tabel.Cells[1,i])*temp_yi_bar); temp_mi_kuad:=temp_mi_kuad + ( strtoint(tabel.Cells[1,i])*strtoint(tabel.Cells[1,i])); tabel.Cells[4,i]:=FormatFloat('#,##0.00',temp_yi); tabel.Cells[5,i]:=FormatFloat('#,##0.00',temp_yi_bar); tabel.Cells[6,i]:=FormatFloat('#,##0.00',temp_si); tabel.Cells[7,i]:=FormatFloat('#,##0.00',temp_mi_yi); tabel.Cells[8,i]:=FormatFloat('#,##0.00',temp_mi_yi_kuad); tabel.Cells[9,i]:=FormatFloat('#,##0.00',temp_semua); tabel.Cells[10,i]:=FormatFloat('#,##0.00',temp_mi_kuad); temp_c:=temp_c+((StrToInt(tabel.Cells[1,i])*((StrToInt(tabel.Cells[1,i] )-StrToInt(tabel.Cells[2,i]))*strtofloat(tabel.Cells[6,i]))) /StrToInt(tabel.Cells[2,i])); tabel.Cells[11,i]:=FormatFloat('#,##0.00', temp_c);
L.1-77 temp_M:=temp_M + StrToFloat(tabel.Cells[1,i]); temp_mi:=temp_mi+ StrToFloat(tabel.Cells[2,i]); temp_yi1:=temp_yi1+temp_yi; temp_yi_bar1:=temp_yi_bar1+temp_yi_bar; temp_c1:=temp_c1+temp_c; temp_mi_yi1:=temp_mi_yi1+temp_mi_yi; temp_mi_yi_kuad1:=temp_mi_yi_kuad1+temp_mi_yi_kuad; temp_semua1:=temp_semua1+temp_semua; temp_mi_kuad1:=temp_mi_kuad1+temp_mi_kuad; temp_si1:= temp_si1+ temp_si; temp_yi1 :=roundto( temp_yi1,-2); temp_yi_bar1 :=roundto(temp_yi_bar1,-2); temp_mi_yi1 :=roundto(temp_mi_yi1,-2); temp_mi_yi_kuad1 :=roundto(temp_mi_yi_kuad1,-2); temp_semua1 :=roundto(temp_semua1,-2); temp_mi_kuad1:= roundto(temp_mi_kuad1,-2); end; tabel1.Cells[1,1]:=FormatFloat('#,##0.00',temp_M); tabel1.Cells[2,1]:=FormatFloat('#,##0.00',temp_mi); tabel1.Cells[4,1]:=FormatFloat('#,##0.00',temp_yi1); tabel1.Cells[5,1]:=FormatFloat('#,##0.00',temp_yi_bar1); tabel1.Cells[6,1]:=FormatFloat('#,##0.00',temp_si1); tabel1.Cells[7,1]:=FormatFloat('#,##0.00',temp_mi_yi1); tabel1.Cells[8,1]:=FormatFloat('#,##0.00',temp_mi_yi_kuad1); tabel1.Cells[9,1]:=FormatFloat('#,##0.00',temp_semua1); tabel1.Cells[10,1]:=FormatFloat('#,##0.00', temp_mi_kuad1); tabel1.Cells[11,1]:=FormatFloat('#,##0.00', temp_c1); end; procedure TFtwoSTAGES_tanpa_M.Panel4Click(Sender: TObject); var i,bar:integer; temp_c,temp_mi_kuad,temp_yi_bar, temp_si,temp_mi_yi,temp_mi_yi_kuad,temp_semua :Extended; begin bar:=input_data.RowCount-1; temp_yi_bar1:=0; //rata-rata yi temp_si1:=0; //si^2 => ragam yi temp_mi_yi1:=0; //mi*yi_bar temp_mi_yi_kuad1:=0; //(mi*yi_bar)^2 temp_semua1:=0; temp_M:=0; temp_mi:=0; temp_c1:=0; for i:=1 to bar do begin temp_yi_bar:=0; //rata-rata yi temp_si:=0; //si^2 => ragam yi temp_mi_yi:=0; //mi*yi_bar temp_mi_yi_kuad:=0; //(mi*yi_bar)^2 temp_semua:=0; temp_mi_kuad:=0; temp_c:=0; temp_yi_bar:=temp_yi_bar+strtofloat(tabel.Cells[5,i]); temp_mi_yi:=temp_mi_yi+(strtoint(tabel.Cells[1,i])*temp_yi_bar); temp_mi_yi:=roundto(temp_mi_yi,-2); temp_mi_yi_kuad:=temp_mi_yi_kuad+(temp_mi_yi*temp_mi_yi); temp_mi_yi_kuad:=roundto(temp_mi_yi_kuad,-2);
L.1-78 temp_si:=temp_si+strtofloat(tabel.Cells[6,i]); temp_semua:=temp_semua+ (strtoint(tabel.Cells[1,i])*strtoint(tabel.Cells[1,i])*temp_yi_bar); temp_mi_kuad:=temp_mi_kuad + ( strtoint(tabel.Cells[1,i])*strtoint(tabel.Cells[1,i])); temp_c:=temp_c+((StrToInt(tabel.Cells[1,i])*((StrToInt(tabel.Cells[1,i] )StrToInt(tabel.Cells[2,i]))*strtofloat(tabel.Cells[6,i])))/StrToInt(tab el.Cells[2,i])); tabel.Cells[7,i]:=FormatFloat('#,##0.00',temp_mi_yi); tabel.Cells[8,i]:=FormatFloat('#,##0.00',temp_mi_yi_kuad); tabel.Cells[9,i]:=FormatFloat('#,##0.00',temp_semua); tabel.Cells[10,i]:=FormatFloat('#,##0.00',temp_mi_kuad); tabel.Cells[11,i]:=FormatFloat('#,##0.00', temp_c); temp_M:=temp_M + StrToFloat(tabel.Cells[1,i]); temp_mi:=temp_mi+ StrToFloat(tabel.Cells[2,i]); temp_yi_bar1:=temp_yi_bar1+temp_yi_bar; temp_c1:=temp_c1+temp_c; temp_mi_yi1:=temp_mi_yi1+temp_mi_yi; temp_mi_yi_kuad1:=temp_mi_yi_kuad1+temp_mi_yi_kuad; temp_semua1:=temp_semua1+temp_semua; temp_mi_kuad1:=temp_mi_kuad1+temp_mi_kuad; temp_si1:= temp_si1+ temp_si; temp_yi1 :=roundto( temp_yi1,-2); temp_yi_bar1 :=roundto(temp_yi_bar1,-2); temp_mi_yi1 :=roundto(temp_mi_yi1,-2); temp_mi_yi_kuad1 :=roundto(temp_mi_yi_kuad1,-2); temp_semua1 :=roundto(temp_semua1,-2); temp_mi_kuad1:= roundto(temp_mi_kuad1,-2); end; tabel1.Cells[1,1]:=FormatFloat('#,##0.00',temp_M); tabel1.Cells[2,1]:=FormatFloat('#,##0.00',temp_mi); tabel1.Cells[5,1]:=FormatFloat('#,##0.00',temp_yi_bar1); tabel1.Cells[6,1]:=FormatFloat('#,##0.00',temp_si1); tabel1.Cells[7,1]:=FormatFloat('#,##0.00',temp_mi_yi1); tabel1.Cells[8,1]:=FormatFloat('#,##0.00',temp_mi_yi_kuad1); tabel1.Cells[9,1]:=FormatFloat('#,##0.00',temp_semua1); tabel1.Cells[10,1]:=FormatFloat('#,##0.00', temp_mi_kuad1); tabel1.Cells[11,1]:=FormatFloat('#,##0.00', temp_c1); end; end.
L.1-79 unit twoSTAGES_tanpa_M_proporsi; //-------------save ke file ------------------procedure TFtwoSTAGES_tanpa_M_proporsi.saveToFile(Sender:Tobject); var e,f,g,k:integer; h: array[1..100] of integer; filee:TIniFile ; begin mysave.Filter:='reset files (*.INI)|*.INI'; g:=strtoint(n.Text); if mysave.Execute then begin if RightStr(mysave.FileName,4)='.ini' then filee:=TIniFile.Create(mysave.filename) else filee :=TIniFile.Create(mysave.FileName+'.ini'); filee.WriteString('General','Nama',judul.Text); filee.WriteString('General','N',n.Text); filee.WriteString('General','Np',np.Text); for e:=1 to g do //g -> n = banyaknya baris begin for f:=1 to 2 do filee.WriteString('General','Data'+IntToStr(e)+IntToStr(f),input_data.C ells[f,e]); end; for e:=1 to g do begin k:=0; h[e]:=StrToInt(input_data.Cells[2,e]); k:=k+h[e]; for f:=1 to k do filee.WriteString('General','y'+IntToStr(e)+IntToStr(f),FloatToStr(inpu t[e,f])); end; end; end; //procedure read from file------------procedure TFtwoSTAGES_tanpa_M_proporsi.readFile(Sender:TObject); var e,f,g,k:integer; h: array[1..100] of integer; b: string; xfilee:TIniFile ; begin myopen.Filter:='reset files (*.ini)|*.ini'; if myopen.Execute then begin xfilee:=TIniFile.Create(myopen.FileName ); judul.Text:=xfilee.ReadString('General','Nama','fail'); n.Text:= xfilee.ReadString('General','N','0'); np.Text:= xfilee.ReadString('General','Np','0'); g:= strtoint(n.Text); input_data.RowCount:= g+1; for e:=1 to g do
L.1-80 begin for f:=1 to 2 do begin input_data.Cells[f,e]:=''; input_data.Cells[0,e]:= IntToStr(e); input_data.Cells[f,e]:= xfilee.ReadString('General','Data'+IntToStr(e)+IntToStr(f),'0'); end; end; for e:=1 to g do begin k:=0; h[e]:=StrToInt(input_data.Cells[2,e]); k:=k+h[e]; b:=''; for f:=1 to k do begin input[e,f]:=strtofloat(xfilee.ReadString('General','y'+IntToStr(e)+IntT oStr(f),'0')); b:= b+FloatToStr(input[e,f]) +' ;'; end; input_data.Cells[3,e]:=b; end; end; end; procedure TFtwoSTAGES_tanpa_M_proporsi.FormCreate(Sender: TObject); begin input_data.EditorMode:=true; PageControl.ActivePage:=tahap1; QuickRep1.Visible:=false; input_data.ColCount :=4; input_data.RowCount:= 2; input_data.Cells[0,0]:= 'KLUSTER ke-i'; input_data.Cells[1,0]:= 'Mi'; input_data.Cells[2,0]:= 'mi'; input_data.Cells[3,0]:= 'aij'; input_data.Cells[0,1]:='1'; input_data.ColWidths[1]:=45; input_data.ColWidths[2]:=45; input_data.ColWidths[3]:=200; StatusBarutama.Panels.Items[1].Text:='Tanggal :' + FormatDateTime('dddd, dd mmmm yyyy',Now ); StatusBarutama.Panels.Items[3].Text:='Merry Magdalena '; timer1.Enabled:=True; StatusBarutama.Panels.Items[0].Text:='Pengolahan Data - Cluster Samping'; exit.BevelWidth:=4; exit.Color:=clBlue; bantu := 'Selamat Datang ke Cluster Sampling - Two Stages' +#13 +#13 +'Baru : Pengolahan data baru' +#13 +#13 +'Buka : Ambil data yang pernah disimpan' +#13 +#13 +'Simpan : Menyimpan data' +#13 +#13 +'Banyaknya kluster dalam populasi = N' +#13 +#13 +'Banyaknya kluster terpilih = n' +#13 +#13 +'Banyaknya elemen kluster ke-i = Mi' +#13 +#13 +'Banyaknya unit dalam kluster terpilih = mi'
L.1-81 +#13 +#13 +'Total seluruh elemen kluster populasi = M' +#13 +#13 +'ai = Total dari banyaknya elemen dalam cluster ke-i ' +#13 +#13 +' yang memiliki karakteristik yang dipelajari. '; bantuan.Caption := bantu; end; procedure TFtwoSTAGES_tanpa_M_proporsi.Timer1Timer(Sender: TObject); begin StatusBarutama.Panels.Items[2].Text:=timetostr(time); end; procedure TFtwoSTAGES_tanpa_M_proporsi.exitClick(Sender: TObject); begin application.Terminate; end; procedure TFtwoSTAGES_tanpa_M_proporsi.backUTAMAClick(Sender: TObject); var a : integer; begin a:= MessageDlg('Data tidak akan diproses, Yakin akan ke Menu Utama Two Stages?',mtConfirmation,mbOKCancel,0); if a = mrCancel then FtwoSTAGES_tanpa_M.Show else begin Ftwostages.Show; FtwoSTAGES_tanpa_M.Hide; end; end; procedure TFtwoSTAGES_tanpa_M_proporsi.isi_dataClick(Sender: TObject); var i,k,l: integer; begin if strlen(pchar(judul.Text))=0 then ShowMessage( '> Judul tidak boleh kosong' ) else if strlen(pchar(np.Text))= 0 then ShowMessage( '> Jumlah Kluster dlm populasi tidak boleh kosong') else if strlen(pchar(n.Text))=0 then ShowMessage('> Jumlah Kluster terpilih tidak boleh kosong') else begin k:=StrToInt(n.Text); l:=StrToInt(np.Text); if(k>l) then ShowMessage('> Kluster terpilih harus lebih kecil dari kluster populasi') else begin input_data.ColCount :=4; input_data.RowCount:= k+1; for i:=1 to (k+1) do begin input_data.Cells[0,i]:= IntToStr(i); input_data.Cells[1,i]:= ''; input_data.Cells[2,i]:= '';
L.1-82 input_data.Cells[3,i]:= ''; input_data.Enabled:=true; end end end end; procedure TFtwoSTAGES_tanpa_M_proporsi.bukaClick(Sender: TObject); begin tahap1.Show; ReadFile(sender); input_data.Enabled:=true; end; procedure TFtwoSTAGES_tanpa_M_proporsi.simpanClick(Sender: TObject); var a,i,j:integer; salah :string; begin tahap1.Show; a:=input_data.RowCount-1; salah:=''; if strlen(pchar(judul.Text))=0 then salah :=salah+'> Judul tidak boleh kosong' +#13; if strlen(pchar(np.Text))= 0 then salah :=salah+'> Jumlah Kluster dlm populasi tidak boleh kosong' +#13; if strlen(pchar(n.Text))=0 then salah :=salah+'> Jumlah Kluster terpilih tidak boleh kosong' +#13; for i:=1 to a do begin for j :=1 to 3 do begin if strlen(pchar(input_data.Cells[j,i]))=0 then salah:=salah+ 'Input ['+inttostr(j)+','+inttostr(i)+'] kosong'+#13 end; end; if salah='' then saveToFile(sender) else begin showmessage(salah+'Data HARUS LENGKAP'); end; end; procedure TFtwoSTAGES_tanpa_M_proporsi.baruClick(Sender: TObject); var e,g : integer; begin tahap1.Show; isi_data.Visible:=true; judul.Text:=''; n.Text:=''; np.Text:=''; g := input_data.RowCount; for e:=1 to g+1 do begin input_data.Cells[1,e]:= ''; input_data.Cells[2,e]:= '';
L.1-83 input_data.Cells[3,e]:= ''; end; end; procedure TFtwoSTAGES_tanpa_M_proporsi.lanjut_2Click(Sender: TObject); var t_m: extended; begin tabel_perhitungan.Hide; tahap2.Show; rata:=0; t_1:=0; t_ragam:=0; t_m:=0; t_simpangan:=0; t_bg_1:=0; t_bg_2:=0; sp1:=0; sp2:=0; sp11:=0; sp12:=0; rata:= rata+(temp_mi_yi1/temp_M); rata:=roundto(rata,-2); temp_mi_yi_kuad1:=roundto(temp_mi_yi_kuad1,-2); temp_semua1:=roundto(temp_semua1,-2); temp_mi_kuad1:=roundto(temp_mi_kuad1,-2); t_1:=t_1+((temp_mi_yi_kuad1(2*rata*temp_semua1)+(rata*rata*temp_mi_kuad1))/(strtofloat(n.Text)1)); t_1:= roundto(t_1,-2); t_m:=t_m+ (temp_M/StrToFloat(n.Text)); t_m:=roundto(t_m,-2); temp_si1:=roundto(temp_si1,-2); t_ragam:=t_ragam+((((StrToFloat(np.Text)StrToFloat(n.Text))*t_1)/(StrToFloat(n.Text)*t_m*t_m*StrToFloat(np.Text )))+(temp_c1/(StrToFloat(n.Text)*StrToFloat(Np.Text)*t_m*t_m))); t_ragam:=roundto(t_ragam,-4); t_simpangan:=t_simpangan+(sqrt(t_ragam)); t_bg_1:=t_bg_1+(1.96*t_simpangan); t_bg_2:=t_bg_2+(2.575*t_simpangan); sp1:=sp1+(rata-t_bg_1); sp2:=sp2+(rata+t_bg_1); sp11:=sp11+(rata-t_bg_2); sp12:=sp12+(rata+t_bg_2); hasil2.Cells[1,1]:= FormatFloat('#,##0.00',rata); hasil2.Cells[1,2]:= FormatFloat('#,##0.0000',t_ragam); hasil2.Cells[1,3]:=FormatFloat('#,##0.0000',t_simpangan); hasil3.Cells[1,1]:=FormatFloat('#,##0.0000',t_bg_1); hasil3.Cells[2,1]:=FormatFloat('#,##0.0000',t_bg_2); hasil3.Cells[1,2]:='['+FormatFloat('#,##0.0000',sp1)+' ; '+FormatFloat('#,##0.0000',sp2)+']'; hasil3.Cells[2,2]:='['+FormatFloat('#,##0.0000',sp11)+' ; '+FormatFloat('#,##0.0000',sp12)+']'; ket := ''+#13 + ' 1.> Rata-rata populasi diperkirakan sebesar ' + hasil2.Cells[1,1]+' .'+#13 +#13 + ' 2.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa penyimpangan yang terjadi atas '+ #13
L.1-84 + ' pendugaan no.1 akan lebih kecil dari '+hasil3.Cells[1,1]+' .'+#13+#13 + ' 3.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa penyimpangan yang terjadi atas '+ #13 + ' pendugaan no.1 akan lebih kecil dari '+hasil3.Cells[2,1]+' .'+#13 +#13 + ' 4.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa selang nilai '+ hasil3.Cells[1,2]+ #13 + ' akan mencakup rata-rata yang sesungguhnya dari populasi. '+#13 +#13 + ' 5.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa selang nilai '+ hasil3.Cells[2,2] + #13 + ' akan mencakup rata-rata yang sesungguhnya dari populasi. '+#13 +#13 ; KETERangan.Caption:=ket; end; procedure TFtwoSTAGES_tanpa_M_proporsi.tahap2Show(Sender: TObject); begin hasil2.Cells[1,0]:= 'Hasil'; hasil2.Cells[0,1]:= 'Proporsi'; hasil2.Cells[0,2]:= 'Ragam'; hasil2.Cells[0,3]:= 'Galat Baku'; hasil3.Cells[0,0]:= 'Alpha'; hasil3.Cells[1,0]:= ' 5%'; hasil3.Cells[2,0]:= '1%'; hasil3.Cells[0,1]:= 'Batas Galat'; hasil3.Cells[0,2]:= 'Selang kepercayaan'; end; procedure TFtwoSTAGES_tanpa_M_proporsi.FormShow(Sender: TObject); begin PageControl.ActivePage:=tahap1; end; procedure TFtwoSTAGES_tanpa_M_proporsi.cetak1Click(Sender: TObject); begin QRjudul.Caption:='PENGOLAHAN DATA "Cluster Sampling - Two Stages"'; QR1.Caption:= judul.Text; QR2.Caption:= np.Text; QR3.Caption:= n.Text; WITH TABEL1 DO BEGIN Q1.Caption:= tabel1.Cells[1,1]; Q2.Caption:= tabel1.Cells[2,1]; Q3.Caption:= tabel1.Cells[4,1]; Q4.Caption:= tabel1.Cells[5,1]; Q5.Caption:= tabel1.Cells[6,1]; Q8.Caption:= tabel1.Cells[9,1]; Q9.Caption:= tabel1.Cells[10,1]; END; with hasil2 do begin QR6.Caption:= hasil2.Cells[1,1]; QR7.Caption:= hasil2.Cells[1,2]; QR8.Caption:= hasil2.Cells[1,3]; end;
L.1-85 with hasil3 do begin QR9.Caption:= hasil3.Cells[1,1]; QR10.Caption:= hasil3.Cells[1,2];; QR11.Caption:= hasil3.Cells[2,1]; QR12.Caption:= hasil3.Cells[2,2];; end; QRMemo1.Lines.Clear; QRMemo1.Lines.Add(' 1.> Proporsi populasi diperkirakan sebesar '+ QR6.Caption ); QRMemo1.Lines.Add(''); QRMemo1.Lines.Add(' 2.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa penyimpangan yang terjadi atas'); QRMemo1.Lines.Add(' pendugaan no.1 akan lebih kecil dari '+ QR9.Caption+' .'); QRMemo1.Lines.Add(''); QRMemo1.Lines.Add(' 3.> Dengan menggunakan taraf kepercayaan 95% diyakini bahwa selang nilai '+ QR10.Caption); QRMemo1.Lines.Add(' akan mencakup Proporsi yang sesungguhnya dari populasi. '); QRMemo1.Lines.Add(''); QRMemo1.Lines.Add(' 4.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa penyimpangan yang terjadi atas'); QRMemo1.Lines.Add(' pendugaan no.1 akan lebih kecil dari '+ QR11.Caption+'.'); QRMemo1.Lines.Add(''); QRMemo1.Lines.Add(' 5.> Dengan menggunakan taraf kepercayaan 99% diyakini bahwa selang nilai '+ QR12.Caption); QRMemo1.Lines.Add(' akan mencakup Proporsi yang sesungguhnya dari populasi. '); QRMemo1.Lines.Add(''); QRMemo1.Show; QuickRep1.Preview; end; procedure TFtwoSTAGES_tanpa_M_proporsi.input_dataDblClick(Sender: TObject); var isi,j,kolom,baris : integer; a1,b:string; begin baris:=input_data.Row; kolom:=input_data.Col; b:=''; if kolom = 2 then begin isi:=StrToInt(input_data.Cells[kolom,baris]); if MessageDlg('Akan mengisi data?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin for j:=1 to isi do begin a1:=''; a1:= InputBox('Masukkan data -> aij','Masukkan Data baris ke'+ inttostr(baris)+' data ke ['+IntTostr(j)+']',''); input[baris,j]:=strtofloat(a1); b:=b+a1+';'; end;
L.1-86 input_data.Cells[3,baris]:=b; end; end; end; procedure TFtwoSTAGES_tanpa_M_proporsi.tabel_perhitunganShow(Sender: TObject); begin tabel.Cells[0,0]:= 'i'; tabel.Cells[1,0]:= 'Mi'; tabel.Cells[2,0]:= 'mi'; tabel.Cells[3,0]:= 'aij'; tabel.Cells[4,0]:= 'ai'; tabel.Cells[5,0]:= 'rata-rata ai'; tabel.Cells[6,0]:= 'ragam ai'; tabel.Cells[7,0]:= 'mi*ai_bar '; tabel.Cells[8,0]:= '(mi*ai_bar)^2'; tabel.Cells[9,0]:= '(mi^2)*ai_bar'; tabel.Cells[10,0]:= 'Mi^2'; tabel.Cells[11,0]:= 'c'; tabel.ColWidths[0]:= 25; tabel.ColWidths[1]:= 45; tabel.ColWidths[2]:= 45; tabel.ColWidths[3]:= 120; tabel1.Cells[0,1]:= 'Total'; tabel1.Cells[1,0]:= 'Mi'; tabel1.Cells[2,0]:= 'mi'; tabel1.Cells[4,0]:= 'yi'; tabel1.Cells[5,0]:= 'rata-rata ai'; tabel1.Cells[6,0]:= 'ragam ai'; tabel1.Cells[7,0]:= 'mi*ai_bar '; tabel1.Cells[8,0]:= '(mi*ai_bar)^2'; tabel1.Cells[9,0]:= '(mi^2)*ai_bar'; tabel1.Cells[10,0]:= 'Mi^2'; tabel1.Cells[11,0]:= 'c'; tabel1.ColWidths[0]:= 35; tabel1.ColWidths[1]:= 45; tabel1.ColWidths[2]:= 45; tabel1.ColWidths[3]:= 5; end; procedure TFtwoSTAGES_tanpa_M_proporsi.ltabelClick(Sender: TObject); var i,j,k,kol,bar:integer; h: array[1..100] of integer; temp_c,temp_mi_kuad,temp_yi,temp_yi_1,temp_yi_bar, temp_si,temp_mi_yi,temp_mi_yi_kuad,temp_semua :Extended; begin tahap1.Hide; tabel_perhitungan.Show; kol:=input_data.ColCount-1; bar:=input_data.RowCount-1; tabel.RowCount:= input_data.RowCount; temp_yi1:=0; temp_yi_bar1:=0; temp_si1:=0;
//rata-rata yi //si^2 => ragam yi
L.1-87 temp_mi_yi1:=0; //mi*yi_bar temp_mi_yi_kuad1:=0; //(mi*yi_bar)^2 temp_semua1:=0; temp_M:=0; temp_mi:=0; temp_c1:=0; temp_mi_kuad1:=0; for i:=1 to bar do begin for j :=1 to kol do tabel.Cells[j,i]:= input_data.Cells[j,i]; tabel.Cells[0,i]:= IntToStr(i); end; for i:=1 to bar do begin temp_yi:=0; temp_yi_1:=0; //untuk nampung yi kuadrad temp_yi_bar:=0; //rata-rata yi temp_si:=0; //si^2 => ragam yi temp_mi_yi:=0; //mi*yi_bar temp_mi_yi_kuad:=0; //(mi*yi_bar)^2 temp_semua:=0; temp_mi_kuad:=0; temp_c:=0; k:=0; h[i]:=StrToInt(input_data.Cells[2,i]); k:=k+h[i]; for j:=1 to k do begin temp_yi:= temp_yi+(input[i,j]); temp_yi_1:=temp_yi_1+(input[i,j]*input[i,j]); end; temp_yi_bar:=temp_yi_bar+(temp_yi/StrToint(tabel.Cells[2,i])); temp_si:=temp_si+(((StrToint(tabel.Cells[2,i])*temp_yi_1)(temp_yi*temp_yi))/(StrToint(tabel.Cells[2,i])*(StrToint(tabel.Cells[2, i])-1))); temp_yi:=roundto(temp_yi,-2); temp_yi_bar:=roundto(temp_yi_bar,-2); temp_mi_yi:=temp_mi_yi+(strtoint(tabel.Cells[1,i])*temp_yi_bar); temp_mi_yi:=roundto(temp_mi_yi,-2); temp_mi_yi_kuad:=temp_mi_yi_kuad+(temp_mi_yi*temp_mi_yi); temp_mi_yi_kuad:=roundto(temp_mi_yi_kuad,-2); temp_semua:=temp_semua+ (strtoint(tabel.Cells[1,i])*strtoint(tabel.Cells[1,i])*temp_yi_bar); temp_mi_kuad:=temp_mi_kuad + ( strtoint(tabel.Cells[1,i])*strtoint(tabel.Cells[1,i])); tabel.Cells[4,i]:=FormatFloat('#,##0.00',temp_yi); tabel.Cells[5,i]:=FormatFloat('#,##0.00',temp_yi_bar); tabel.Cells[6,i]:=FormatFloat('#,##0.00',temp_si); tabel.Cells[7,i]:=FormatFloat('#,##0.00',temp_mi_yi); tabel.Cells[8,i]:=FormatFloat('#,##0.00',temp_mi_yi_kuad); tabel.Cells[9,i]:=FormatFloat('#,##0.00',temp_semua); tabel.Cells[10,i]:=FormatFloat('#,##0.00',temp_mi_kuad); temp_c:=temp_c+((StrToInt(tabel.Cells[1,i])*((StrToInt(tabel.Cells[1,i] )StrToInt(tabel.Cells[2,i]))*strtofloat(tabel.Cells[6,i])))/StrToInt(tab el.Cells[2,i]));
L.1-88 tabel.Cells[11,i]:=FormatFloat('#,##0.00', temp_c); temp_M:=temp_M + StrToFloat(tabel.Cells[1,i]); temp_mi:=temp_mi+ StrToFloat(tabel.Cells[2,i]); temp_yi1:=temp_yi1+temp_yi; temp_yi_bar1:=temp_yi_bar1+temp_yi_bar; temp_c1:=temp_c1+temp_c; temp_mi_yi1:=temp_mi_yi1+temp_mi_yi; temp_mi_yi_kuad1:=temp_mi_yi_kuad1+temp_mi_yi_kuad; temp_semua1:=temp_semua1+temp_semua; temp_mi_kuad1:=temp_mi_kuad1+temp_mi_kuad; temp_si1:= temp_si1+ temp_si; temp_yi1 :=roundto( temp_yi1,-2); temp_yi_bar1 :=roundto(temp_yi_bar1,-2); temp_mi_yi1 :=roundto(temp_mi_yi1,-2); temp_mi_yi_kuad1 :=roundto(temp_mi_yi_kuad1,-2); temp_semua1 :=roundto(temp_semua1,-2); temp_mi_kuad1:= roundto(temp_mi_kuad1,-2); end; tabel1.Cells[1,1]:=FormatFloat('#,##0.00',temp_M); tabel1.Cells[2,1]:=FormatFloat('#,##0.00',temp_mi); tabel1.Cells[4,1]:=FormatFloat('#,##0.00',temp_yi1); tabel1.Cells[5,1]:=FormatFloat('#,##0.00',temp_yi_bar1); tabel1.Cells[6,1]:=FormatFloat('#,##0.00',temp_si1); tabel1.Cells[7,1]:=FormatFloat('#,##0.00',temp_mi_yi1); tabel1.Cells[8,1]:=FormatFloat('#,##0.00',temp_mi_yi_kuad1); tabel1.Cells[9,1]:=FormatFloat('#,##0.00',temp_semua1); tabel1.Cells[10,1]:=FormatFloat('#,##0.00', temp_mi_kuad1); tabel1.Cells[11,1]:=FormatFloat('#,##0.00', temp_c1); end; procedure TFtwoSTAGES_tanpa_M_proporsi.Panel4Click(Sender: TObject); var i,bar:integer; temp_c,temp_mi_kuad,temp_yi_bar, temp_si,temp_mi_yi,temp_mi_yi_kuad,temp_semua :Extended; begin label11.Visible:=true; bar:=input_data.RowCount-1; temp_yi_bar1:=0; //rata-rata yi temp_si1:=0; //si^2 => ragam yi temp_mi_yi1:=0; //mi*yi_bar temp_mi_yi_kuad1:=0; //(mi*yi_bar)^2 temp_semua1:=0; temp_M:=0; temp_mi:=0; temp_c1:=0; for i:=1 to bar do begin temp_yi_bar:=0; //rata-rata yi temp_si:=0; //si^2 => ragam yi temp_mi_yi:=0; //mi*yi_bar temp_mi_yi_kuad:=0; //(mi*yi_bar)^2 temp_semua:=0; temp_mi_kuad:=0; temp_c:=0; temp_yi_bar:=temp_yi_bar+strtofloat(tabel.Cells[5,i]); temp_mi_yi:=temp_mi_yi+(strtoint(tabel.Cells[1,i])*temp_yi_bar);
L.1-89 temp_mi_yi:=roundto(temp_mi_yi,-2); temp_mi_yi_kuad:=temp_mi_yi_kuad+(temp_mi_yi*temp_mi_yi); temp_mi_yi_kuad:=roundto(temp_mi_yi_kuad,-2); temp_si:=temp_si+strtofloat(tabel.Cells[6,i]); temp_semua:=temp_semua+ (strtoint(tabel.Cells[1,i])*strtoint(tabel.Cells[1,i])*temp_yi_bar); temp_mi_kuad:=temp_mi_kuad + ( strtoint(tabel.Cells[1,i])*strtoint(tabel.Cells[1,i])); temp_c:=temp_c+((StrToInt(tabel.Cells[1,i])*((StrToInt(tabel.Cells[1,i] )StrToInt(tabel.Cells[2,i]))*strtofloat(tabel.Cells[6,i])))/StrToInt(tab el.Cells[2,i])); tabel.Cells[7,i]:=FormatFloat('#,##0.00',temp_mi_yi); tabel.Cells[8,i]:=FormatFloat('#,##0.00',temp_mi_yi_kuad); tabel.Cells[9,i]:=FormatFloat('#,##0.00',temp_semua); tabel.Cells[10,i]:=FormatFloat('#,##0.00',temp_mi_kuad); tabel.Cells[11,i]:=FormatFloat('#,##0.00', temp_c); temp_M:=temp_M + StrToFloat(tabel.Cells[1,i]); temp_mi:=temp_mi+ StrToFloat(tabel.Cells[2,i]); temp_yi_bar1:=temp_yi_bar1+temp_yi_bar; temp_c1:=temp_c1+temp_c; temp_mi_yi1:=temp_mi_yi1+temp_mi_yi; temp_mi_yi_kuad1:=temp_mi_yi_kuad1+temp_mi_yi_kuad; temp_semua1:=temp_semua1+temp_semua; temp_mi_kuad1:=temp_mi_kuad1+temp_mi_kuad; temp_si1:= temp_si1+ temp_si; temp_yi1 :=roundto( temp_yi1,-2); temp_yi_bar1 :=roundto(temp_yi_bar1,-2); temp_mi_yi1 :=roundto(temp_mi_yi1,-2); temp_mi_yi_kuad1 :=roundto(temp_mi_yi_kuad1,-2); temp_semua1 :=roundto(temp_semua1,-2); temp_mi_kuad1:= roundto(temp_mi_kuad1,-2); end; tabel1.Cells[1,1]:=FormatFloat('#,##0.00',temp_M); tabel1.Cells[2,1]:=FormatFloat('#,##0.00',temp_mi); tabel1.Cells[5,1]:=FormatFloat('#,##0.00',temp_yi_bar1); tabel1.Cells[6,1]:=FormatFloat('#,##0.00',temp_si1); tabel1.Cells[7,1]:=FormatFloat('#,##0.00',temp_mi_yi1); tabel1.Cells[8,1]:=FormatFloat('#,##0.00',temp_mi_yi_kuad1); tabel1.Cells[9,1]:=FormatFloat('#,##0.00',temp_semua1); tabel1.Cells[10,1]:=FormatFloat('#,##0.00', temp_mi_kuad1); tabel1.Cells[11,1]:=FormatFloat('#,##0.00', temp_c1); end; end.
L.1-90 unit about; procedure TFabout.FormCreate(Sender: TObject); var kotak1,kotak2,kotak3,kotak4,kotak5: HRGN; begin kotak1:=CreateRectRgn(30,30,Fkenal.Width-10,Fkenal.Height-10); kotak2:=CreateRectRgn(30,30,100,100); kotak3:=CreateRectRgn(470,300,570,370); kotak4:=CreateRectRgn(30,300,100,370); kotak5:=CreateRectRgn(470,30,570,100); CombineRgn(kotak1,kotak1,kotak2,RGN_DIFF); CombineRgn(kotak1,kotak1,kotak3,RGN_DIFF); CombineRgn(kotak1,kotak1,kotak4,RGN_DIFF); CombineRgn(kotak1,kotak1,kotak5,RGN_DIFF); SetWindowRgn(handle,kotak1,true); DeleteObject(kotak1); DeleteObject(kotak2); DeleteObject(kotak3); DeleteObject(kotak4); DeleteObject(kotak5); back.BevelWidth:=4; back.Color:=clBlue; end; procedure TFabout.backClick(Sender: TObject); begin fabout.Hide; futama.Show; end; end.
L.1-91 Lampiran 4 Manual Book Penggunaan Program Aplikasi
Sebelum
program
penginstalasian
aplikasi
program.
dijalankan,
Tujuan
proses
harus
dilakukan
instalasi
adalah
adalah untuk
menginstal program aplikasi ke dalam komputer sehingga program dapat berjalan dengan semestinya. Proses instalasi dapat dilakukan dengan mengklik
icon
‘Pcluster.exe’
terdapat
didalam
CD-ROM
dan
mengikuti
petunjuk penginstalasian lebih lanjut. Setelah proses penginstalasian selesai maka program dapat digunakan.
Agar dapat menjalankan program aplikasi secara optimal, berikut ini adalah proses penginstalasian: 1. Pada CD-ROM, Pilih folder \Program Skripsi\Cluster. 2. Salin folder \\Cluster ke dalam hard disk sehingga akan terbentuk folder \\Cluster pada hard disk. 3. Masuk kedalam folder tersebut, jalankan ‘Pcluster.exe’. 4. Untuk
simulasi
dan
pengujian
program
aplikasi,
disertakan
beberapa file cluster contoh. File tersebut akan otomatis ada ketika proses no. 2 dilakukan .
Cara kerja tiap layar pada perancangan program aplikasi, dapat dilihat pada pembahasan BAB 4, pada tahap implementasi program aplikasi (p73).