panduan pengguna program bantu fpp bahasa pemrograman...
TRANSCRIPT
DAFTAR LAMPIRAN
Panduan Pengguna Program Bantu FPP
Bahasa Pemrograman untuk Program Bantu FPP
70
PANDUAN PENGGUNA FRANSIS’ PAVEMENT PROGRAM
Program Fransis’ Pavement Program merupakan program bantu yang
diperuntukkan bagi kalangan Teknik Sipil. Program bantu ini dikhususkan untuk
menghitung tebal perkerasan lentur dan tebal perkerasan kaku jalan dengan
Metode Bina Marga.
Program ini mudah di–install dan mudah dimengerti karena penggunaan
bahasa dan simbol–simbol yang sering dipakai di bidang Teknik Sipil, selain itu
memiliki menu dan tools yang sangat mudah dipahami oleh user.
Dengan adanya Panduan Pengguna ini diharapkan agar user lebih
memahami bagaimana mengoperasikan program bantu ini.
1. Install Program
Untuk meng-install Fransis’ Pavement Program cukup dengan double-click
pada ikon Set up yang terdapat pada cd program. Maka akan muncul jendela
panduan untuk meng-install program. Setelah mengikuti prosesnya, maka
program akan otomatis di-install pada direktori C:\Program File\Fransis’
Pavement Program.
Setelah program sukses di-install, maka anda bisa menjalankan program
tersebut dengan meng-click pada ikon “FPP” pada menu Start All Programs, dan
akan muncul jendela seperti pada gambar.1.
71
Gambar.1 Tampilan Awal FPP
2. Memilih Prosedur Perhitungan
Setelah tampilan form awal atau yang disebut form About muncul, pada
gambar.2, maka yang harus dilakukan user adalah meng-click pada tombol OK,
maka akan muncul form Home. Form ini menyediakan dua alternatif pilihan untuk
menghitung tebal perkerasan, yaitu Flexible untuk menghitung tebal perkerasan
lentur, dan Rigid untuk menghitung tebal perkerasan kaku. Pada form ini juga
berisi informasi tentang setting komputer yang harus digunakan.
Setelah user memilih jenis perkerasan yang akan dihitung, maka akan
muncul tombol Next. Tombol ini di-click untuk melanjutkan proses pada form
berikutnya (gambar.3).
72
Gambar.2 Tampilan Form Home
Gambar.3 Tampilan Tombol Next pada Form Home
73
3. Menghitung Tebal Perkerasan Lentur
Langkah-langkah dalam menghitung tebal perkerasan lentur ini terbagi
dalam tahapan-tahapan dalam setiap form yang tersedia:
a. Pilih jenis pavement Flexible pada form Home (gambar.4), kemudian
click tombol
Gambar.4 Memilih Jenis Pavement Flexible
b. Masukkan data-data input pada kolom yang tersedia pada form Flex Bina
Marga Calculator [1], gambar.5, sesuai dengan nama datanya, kemudian
click “OK”.
Setelah tombol itu di-click maka akan muncul tombol Next untuk
meneruskan ke form berikutnya.
74
Gambar 5 Tampilan Form Flex Bina Marga Calculator [1]
c. Pada form berikutnya, form Flex Bina Marga Calculator [2] (gambar.6),
user akan memilih jenis kendaraan dan memasukkan data beban
kendaraan dan volume kendaraan pada kolom yang tersedia. Setelah data
dimasukkan kemudian tombol LER di-click untuk
mendapatkan nilai LER. Setelah didapat nilai LER maka tombol Next
akan muncul yang akan di-click untuk melanjutkan ke form
berikutnya.
75
Gambar.6 Tampilan Form Flex Bina Marga Calculator [2]
d. Memasukkan data input curah hujan, kelandaian, jenis lapis perkerasan,
roughness, dan klasifikasi jalan pada kolom yang tersedia di form Flex
Bina Marga Calculator [3] (gambar.7). Kemudian click tombol
untuk mendapatkan nilai FR, IPo, dan IPt. Setelah itu click tombol Next
untuk melanjutkan ke form berikutnya.
76
Gambar.7 Tampilan Form Flex Bina Marga Calculator [3]
e. Pada form Flex Bina Marga Calculator [4], data yang dimasukkan
adalah jenis bahan masing-masing lapisan perkerasan, IPo, dan IPt
(gambar.8). kemudian click tombol untuk mendapatkan
nilai DDT dan ITP. Nilai ITP yang didapat akan ditampilkan pada form
berikutnya. Setelah hasil keluar maka click tombol Next.
77
Gambar.8 Tampilan Form Flex Bina Marga Calculator [4]
f. Pada from terakhir adalah form Flex Bina Marga Calculator [5] untuk
mendapatkan hasil akhir tebal perkerasan (gambar.9). Masukkan data
koefisien a pada masing-masing lapisan kemudian click untuk
mendapatkan hasil akhir yaitu tebal (d) perkerasan yang akan
ditampilkan tebal masing-masing perkerasan dan tebal total perkerasan.
Setelah hasil keluar maka akan muncul pernyataan “Perhitungan Selesai”
sebagai tanda bahwa proses perhitungan tebal perkerasan lentur telah
berakhir.
78
Gambar.9 Tampilan Form Akhir Flex Bina Marga Calculator [5]
4. Menghitung Tebal Perkerasan Kaku
Langkah-langkah menghitung tebal perkerasan kaku:
a. Pilih jenis pavement Rigid pada menu Home (gambar.10), kemudian
click tombol Next untuk melanjutkan ke form berikutnya.
79
Gambar.10 Memilih Jenis Pavement Rigid
b. Pada form Rigid NAASRA Calculator [1] masukkan data-data lebar
perkerasan, jumlah lajur, jumlah arah, peranan jalan, kuat tekan beton,
serta pertumbuhan lalu-lintas. Khusus pada pertumbuhan lalu-lintas
disediakan tiga alternatif pilihan sesuai dengan kondisi. Kemudian click
tombol untuk memproses perhitungan. Setelah nilai
didapatkan maka akan muncul tombol Next , tombol itu di-click
untuk melanjutkan ke form berikutnya.
80
Gambar.11 Tampilan Form Rigid NAASRA Calculator [1]
c. Pada form Rigid NAASRA Calculator [2], click speed-button untuk
memilih jenis kendaraan. Setelah jenis kendaraan ditentukan maka click
tombol untuk memproses perhitungan untuk mendapatkan
nilai JSKN. Setelah nilai keluar maka akan muncul tombol yang
akan di-click untuk melanjutkan pada form berikutnya.
81
Gambar.12 Tampilan Form Rigid NAASRA Calculator [2]
d. Form Rigid NAASRA Calculator [3] merupakan untuk menunjukkan
hasil dari jumlah repitisi beban sumbu kendaraan yang diperoleh dari
form berikutnya. Untuk mendapatkan nilai k, click tombol maka
akan muncul form sperti gambar.13.
82
Gambar.13 Tampilan Form Rigid NAASRA Calculator [3]
e. Untuk mendapatkan nilai k, pada form Rigid NAASRA – Korelasi CBR
dan k terdapat sebuah grafik yang berfungsi sebagai panduan mencari
nilai k. Click pada grafik y nilai CBR kemudian click tombol
untuk menggambar garis horizontal berwarna biru. Pada perpotongan
garis warna biru dan garis persamaan korelasi warna hitam di-click,
kemudian click tombol untuk menggambar garis vertikal
berwarna merah yang akan berpotongan pada garis sumbu x. Nilai pada
perpotongan garis sumbu x adalah nilai k, nilai ini dibaca kemudian
dimasukkan ke dalam kolom , seperti yang ditunjukkan
pada gambar.14. Setelah nilai k dimasukkan maka click tombol
sebagai tanda konfirmasi nilai yang dimasukkan. Kemudian click tombol
Next untuk melanjutkan ke form berikutnya.
83
Gambar.14 From Korelasi CBR dan k
f. Form yang muncul selanjutnya, gambar.15, adalah form untuk
mendapatkan tegangan yang terjadi yang diperoleh dari nomogram.
Masukkan nilai tebal rencan pada kolom yang tersedia ,
kemudian click tombol untuk menggunakan nomogram.
84
Gambar.15 Tampilan Form Rigid NAASRA Calculator [4]
g. Form nomogram yang muncul sesuai dengan kebutuhan jenis sumbu
kendaraan yang ada. Penggunaan nomogram STRT, STRG, dan STRG
sama, yaitu:
click pada grafik y untuk nilai CBR/k kemudian click tombol
untuk menggambar garis horisontal berwarna merah.
click pada grafi sumbu x untuk nilai beban sumbu, kemudian click
tombol
click pada garis warna merah sejajar dengan garis bantu yang ada pada
nomogram untuk nilai beban sumbu yang sama, kemudian click
tombol jkljkll untuk menggambar garis vertikal berwarna merah.
click pada perpotongan garis tebal pelat rencana dan garis vertikal
merah, kemudian click tombol untuk menggambar garis
horisontal berwarna biru
85
masukkan .nilai yang didapat dari perpotongan garis horisontal biru
dengan garis sumbu y kedalam kolom “tegangan yang terjadi” di
sebelah kanan atas form.
setelah semua nilai dimasukkan maka click sebagai tanda
konfirmasi, yang akan diikuti dengan munculnya tombol Next
dfa yang berfungsi untuk melanjutkan ke form berikutnya.
ulangi proses ini untuk mendapatkan semua tegangan yang terjadi,
baik itu pada nomogram STRG dan SGRG
Gambar.16 Form Nomogram STRT
86
Gambar.17 Form Nomogram STRG
Gambar.18 Form Nomogram SGRG
87
h. Setelah form nomogram selesai maka akan muncul form Rigid NAASRA
Calculator [4] yang berfungsi untuk mendapatkan total nilai fatigue dan
tebal perkerasan beton. Click tombol jlkjlkjlkjlj untuk mendapatkan
nilai d.
jika hasil dari % fatigue lebih besar dari 100 %, maka click
hjkhjkhkjhj untuk memperbesar tebal pelat dan ulangi proses (f).
Jika hasil dari % fatigue lebih kecil atau sama dengan 100 % maka
akan muncul pernyataan “Perhitungan Selesai” dan keluar hasil tebal
perekerasan kaku (d).
Gambar.19 Form Rigid NAASRA Calculator [4] untuk Mendapat Nilai d
5. Menyimpan hasil proses perhitungan
Setelah proses perhitungan selesai yang ditandai dengan pernyataan
“Perhitungan Selesai”, maka click tombol untuk menyimpan hasil proses.
File tersebut disimpan dan diberi nama serta tipe file.
88
File yang disimpan dalam format Notepad (txt), maka diberi extension txt
pada nama file. Contoh, nama file.txt
File yang disimpan dalam format MsWord (doc), maka diberi extension txt
pada nama file. Contoh, nama file.doc
6. Arti dan Fungsi Tombol Pada Program FPP
Tombol Arti Fungsi
OK
sebagai tanda konfirmasi
& masuk menu Home
HOME
untuk kembali ke menu
Home
ABOUT
untuk mengetahui
informasi judul program
pada menu About
EXIT
untuk berhenti dan keluar
dari program
CANCEL
untuk menghapus data
input pada form
CONFIRM
sebagai tanda konfirmasi
input data pada form
NEXT
untuk melanjutkan ke
form berikutnya
BACK
untuk kembali ke form
sebelumnya
PROCESS
memproses perhitungan
untuk mendapatkan hasil
GRAFIK
untuk menuju form grafik
korelasi CBR dan k
NOMOGRAM
untuk menuju form
nomogram
89
DRAW RIGHT
menggambar garis
horisontal ke arah kanan
DRAW LEFT
menggambar garis
horisontal ke arah kanan
DRAW VERTICAL
menggambar garis
vertikal
DRAW ANGLE
menggambar garis miring
ke arah kiri
THICKNESS
memperbesar tebal pelat
asumsi
SAVE
menyimpan hasil
perhitungan dalam format
*.txt atau *.doc
90
BAHASA PEMROGRAMAN UNTUK PROGRAM BANTU FPP
1. Perkerasan Lentur
unit FB5; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, jpeg, ExtCtrls; type TfrmFB5 = class(TForm) Label2: TLabel; Label8: TLabel; Label9: TLabel; Label3: TLabel; Label6: TLabel; Label12: TLabel; cbxa1: TComboBox; cbxa2: TComboBox; cbxa3: TComboBox; Label1: TLabel; Label4: TLabel; Label5: TLabel; lblLA: TLabel; lblLPA: TLabel; lblLPB: TLabel; Label10: TLabel; Label13: TLabel; lblD3: TLabel; Label14: TLabel; Label7: TLabel; lblD: TLabel; lblRounD1: TLabel; lblRounD3: TLabel; lblRounD2: TLabel; Label11: TLabel; btnD: TBitBtn; btnBack: TBitBtn; btnHome: TBitBtn; btnAbout: TBitBtn; btnExit: TBitBtn; btnCancel: TBitBtn; Label15: TLabel; Label16: TLabel; Label17: TLabel; lblCBR1: TLabel; lblCBR3: TLabel; lblCBR2: TLabel; imgSurface: TImage; lblITP1: TLabel; lblITP2: TLabel;
91
lblITP3: TLabel; lblD1: TLabel; lblD2: TLabel; lblDtbl: TLabel; imgBase: TImage; imgSubBase: TImage; imgSubGrade: TImage; Label18: TLabel; Label19: TLabel; Label20: TLabel; Label21: TLabel; Label22: TLabel; Label23: TLabel; Label24: TLabel; Label25: TLabel; Label26: TLabel; Label27: TLabel; lblFinishD: TLabel; btnSave: TBitBtn; SaveDialog1: TSaveDialog; memo1: TMemo; procedure btnBackClick(Sender: TObject); procedure btnHomeClick(Sender: TObject); procedure btnDClick(Sender: TObject); procedure btnExitClick(Sender: TObject); procedure btnAboutClick(Sender: TObject); procedure btnCancelClick(Sender: TObject); procedure resetAll(); procedure save(); procedure btnSaveClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var frmFB5: TfrmFB5; D1, D2, D3, D, Dtbl: Single; a1, a2, a3: Single; FileFlex: TextFile; now: TDateTime; implementation uses Home, FB1, FB2, FB3, FB4, Math, About; {$R *.dfm} procedure TfrmFB5.btnBackClick(Sender: TObject); begin frmFB5.Close; frmFB4.Show; end;
92
procedure TfrmFB5.btnHomeClick(Sender: TObject); begin if MessageDlg('Anda yakin ingin memulai perhitungan baru?',mtConfirmation,mbOKCancel,0)= mrOK then begin frmFB5.Close; save; resetAll; frmHome.Show; end; end; procedure TfrmFB5.resetAll(); begin frmFB1.btnCancelClick(frmFB5); frmFB2.btnCancelClick(frmFB5); frmFB3.btnCancelClick(frmFB5); frmFB4.btnCancelClick(frmFB5); frmFB5.btnCancelClick(frmFB5); end; procedure TfrmFB5.save(); begin frmFB2.cbx1.Caption:=''; end; procedure TfrmFB5.btnDClick(Sender: TObject); begin inputUser:=True; if (cbxa1.Text='') or (cbxa2.Text='') or (cbxa3.Text='') then begin MessageDlg('Input salah atau tidak lengkap', mtWarning, [mbOK],0); exit; end; a1:=StrToFloat(cbxa1.Text); a2:=StrToFloat(cbxa2.Text); a3:=StrToFloat(cbxa3.Text); D1:=ITP1/a1; lblD1.Caption:=FloatToStr(RoundTo(D1,-4)); if ITP1<6.71 then Dtbl:=5; if (ITP1>=6.71) and (ITP1<10) then Dtbl:=7.5; if ITP1>=10 then Dtbl:=10; if D1<Dtbl then D1:=Dtbl; if D1>Dtbl then D1:=Ceil(D1); lblRounD1.Caption:=FloatToStr(D1); D2:=(ITP2-(a1*D1))/a2; lblD2.Caption:=FloatToStr(RoundTo(D2,-4)); if (ITP2<3) then Dtbl:=15; if (ITP2>=3) and (ITP2<7.5) then Dtbl:=20;
93
if (ITP2>=7.5) and (ITP2<10)then begin if lblLPA.Caption='LASTON ATAS' then Dtbl:=10 else Dtbl:=20; end; if (ITP2>=10) and (ITP2<12.25)then begin if lblLPA.Caption='LASTON ATAS' then Dtbl:=15 else Dtbl:=20; end; if (ITP2>=12.25) then Dtbl:=15; if D2<Dtbl then D2:=Dtbl; if D2>Dtbl then D2:=Ceil(D2); lblRounD2.Caption:=FloatToStr(D2); D3:=(ITP3-(a1*D1)-(a2*D2))/a3; lblD3.Caption:=FloatToStr(RoundTo(D3,-4)); if D3<10 then D3:=10; if D3>10 then D3:=Ceil(D3); lblRounD3.Caption:=FloatToStr(D3); D:=D1+D2+D3; lblD.Caption:=FloatToStr(D); lblFinishD.Visible:=True; end; procedure TfrmFB5.btnExitClick(Sender: TObject); begin if MessageDlg('Anda yakin ingin keluar dari program?',mtConfirmation,mbOKCancel,0)= mrOK then Application.Terminate; end; procedure TfrmFB5.btnAboutClick(Sender: TObject); begin frmFB5.Close; frmAbout.Show; end; procedure TfrmFB5.btnCancelClick(Sender: TObject); begin cbxa1.ItemIndex:=-1; cbxa1.Text:=''; cbxa2.ItemIndex:=-1; cbxa2.Text:=''; cbxa3.ItemIndex:=-1; cbxa3.Text:=''; lblRounD1.Caption:=''; lblRounD2.Caption:=''; lblRounD3.Caption:=''; lblD.Caption:='';
94
lblFinishD.Visible:=False; end; procedure TfrmFB5.btnSaveClick(Sender: TObject); begin memo1.Lines.Add('Perhitungan Tebal Perkerasan Lentur'); memo1.Lines.Add('Tanggal :' + DateToStr(Date)); memo1.Lines.Add('Jam :' + TimeToStr(Time)); memo1.Lines.Add('-----------------------------------------------'); memo1.Lines.Add(''); memo1.Lines.Add('Umur Rencana ' + frmFB1.txtUR.Text + ' thn'); memo1.Lines.Add('Pertumbuhan lalu lintas: ' + frmFB1.txti.Text + ' %'); memo1.Lines.Add('Lebar Perkerasan: ' + frmFB1.txtLl.Text + ' m'); memo1.Lines.Add('Jumlah Lajur: ' + frmFB1.cbxJL.Text + ' lajur'); memo1.Lines.Add('Jumlah Arah: ' + strJA + ' arah'); memo1.Lines.Add(''); memo1.Lines.Add(' Kendaraan | ' + ' Berat | ' + ' Volume | ' + ' E | ' + ' C '); memo1.Lines.Add('1.1 MP | ' + frmFB2.txtB1.Text + ' ton | ' + frmFB2.txtV1.Text + ' | ' + frmFB2.lblE1.Caption + ' | ' + frmFB2.lblC1.Caption); memo1.Lines.Add('1.2 Bus | ' + frmFB2.txtB2.Text + ' ton | ' + frmFB2.txtV2.Text + ' | ' + frmFB2.lblE2.Caption + ' | ' + frmFB2.lblC2.Caption); memo1.Lines.Add('1.2 L Truk | ' + frmFB2.txtB3.Text + ' ton | ' + frmFB2.txtV3.Text + ' | ' + frmFB2.lblE3.Caption + ' | ' + frmFB2.lblC3.Caption); memo1.Lines.Add('1.2 H Truk | ' + frmFB2.txtB4.Text + ' ton | ' + frmFB2.txtV4.Text + ' | ' + frmFB2.lblE4.Caption + ' | ' + frmFB2.lblC4.Caption); memo1.Lines.Add('1.22 Truk | ' + frmFB2.txtB5.Text + ' ton | ' + frmFB2.txtV5.Text + ' | ' + frmFB2.lblE5.Caption + ' | ' + frmFB2.lblC5.Caption); memo1.Lines.Add('1.2+2.2 Truk Gandeng | ' + frmFB2.txtB6.Text + ' ton | ' + frmFB2.txtV6.Text + ' | ' + frmFB2.lblE6.Caption + ' | ' + frmFB2.lblC6.Caption); memo1.Lines.Add('1.2-2 Trailer | ' + frmFB2.txtB7.Text + ' ton | ' + frmFB2.txtV7.Text + ' | ' + frmFB2.lblE7.Caption + ' | ' + frmFB2.lblC7.Caption); memo1.Lines.Add('1.2-22 Trailer | ' + frmFB2.txtB8.Text + ' ton | ' + frmFB2.txtV8.Text + ' | ' + frmFB2.lblE8.Caption + ' | ' + frmFB2.lblC8.Caption); memo1.Lines.Add(''); memo1.Lines.Add('Sum LEP: ' + frmFB2.lblSumLEP.Caption); memo1.Lines.Add('LER: ' + frmFB2.lblLER.Caption); memo1.Lines.Add('Curah Hujan: ' + frmFB3.txtCH.Text + ' mm/thn'); memo1.Lines.Add('Kelandaian: ' + frmFB3.txtLandai.Text + ' %'); memo1.Lines.Add('Jumlah Kendaraan Berat: ' + frmFB3.lblJkb.Caption + ' %'); memo1.Lines.Add('Jenis Lapisan Perkerasan : ' + frmFB3.cbxJLP.Text); memo1.Lines.Add('Roughness : ' + frmFB3.cbxRough.Text + ' mm/km'); memo1.Lines.Add('Klasifikasi Jalan : ' + frmFB3.cbxKJ.Text); memo1.Lines.Add('FR : ' + frmFB3.lblFR.Caption); memo1.Lines.Add(''); memo1.Lines.Add('Jenis Bahan'); memo1.Lines.Add('Lapisan Atas : ' + frmFB4.cbxLA.Text + '; CBR2 : ' + frmFB4.txtCBR1.Text + ' %' + ' ; DDT2 : ' + frmFB4.lblDDT1.Caption); memo1.Lines.Add('Lapisan Pondasi Atas : ' + frmFB4.cbxLPA.Text + '; CBR3 : ' + frmFB4.txtCBR2.Text + ' %' + ' ; DDT3 : ' + frmFB4.lblDDT2.Caption); memo1.Lines.Add('Lapisan Pondasi Bawah : ' + frmFB4.cbxLPB.Text + '; CBR4 : ' + frmFB4.txtCBR3.Text + ' %' + ' ; DDT4 : ' + frmFB4.lblDDT3.Caption); memo1.Lines.Add('ITP1 : ' + frmFB5.lblITP1.Caption + ' ; a1 : ' + frmFB5.cbxa1.Text); memo1.Lines.Add('ITP2 : ' + frmFB5.lblITP2.Caption + ' ; a2 : ' + frmFB5.cbxa2.Text); memo1.Lines.Add('ITP3 : ' + frmFB5.lblITP3.Caption + ' ; a2 : ' + frmFB5.cbxa3.Text); memo1.Lines.Add('d1 : ' + frmFB5.lblRounD1.Caption + ' m');
95
memo1.Lines.Add('d2 : ' + frmFB5.lblRounD2.Caption + ' m'); memo1.Lines.Add('d3 : ' + frmFB5.lblRounD3.Caption + ' m'); memo1.Lines.Add('dtotal : ' + frmFB5.lblD.Caption + ' m'); memo1.Lines.Add(' =========end========= '); savedialog1.Execute; memo1.Lines.SaveToFile(savedialog1.FileName); end; end.
2. Perkerasan Kaku
unit RN4; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls; type TfrmRN4 = class(TForm) Label26: TLabel; Label8: TLabel; Label11: TLabel; Label18: TLabel; Label1: TLabel; Label19: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label20: TLabel; Label7: TLabel; Label21: TLabel; Label22: TLabel; Label23: TLabel; lblK1: TLabel; lblK2: TLabel; lblK3: TLabel; lblK4: TLabel; lblK5: TLabel; lblK6: TLabel; lblK7: TLabel; lblK8: TLabel; lblK9: TLabel; lblK10: TLabel; lblK11: TLabel; lblK12: TLabel; lblK13: TLabel; lblK14: TLabel; lblK15: TLabel; lblK16: TLabel;
96
lblK17: TLabel; lblK18: TLabel; lblK19: TLabel; lblK20: TLabel; lblB1: TLabel; lblB2: TLabel; lblB3: TLabel; lblB4: TLabel; lblB5: TLabel; lblB6: TLabel; lblB7: TLabel; lblB8: TLabel; lblB9: TLabel; lblB10: TLabel; lblB11: TLabel; lblB12: TLabel; lblB13: TLabel; lblB14: TLabel; lblB15: TLabel; lblB16: TLabel; lblB17: TLabel; lblB18: TLabel; lblB19: TLabel; lblB20: TLabel; lblP1: TLabel; lblP2: TLabel; lblP3: TLabel; lblP4: TLabel; lblP5: TLabel; lblP6: TLabel; lblP7: TLabel; lblP8: TLabel; lblP9: TLabel; lblP10: TLabel; lblP11: TLabel; lblP12: TLabel; lblP13: TLabel; lblP14: TLabel; lblP15: TLabel; lblP16: TLabel; lblP17: TLabel; lblP18: TLabel; lblP19: TLabel; lblP20: TLabel; lblR1: TLabel; lblR2: TLabel; lblR3: TLabel; lblR4: TLabel; lblR5: TLabel; lblR6: TLabel; lblR7: TLabel; lblR8: TLabel; lblR9: TLabel; lblR10: TLabel; lblR11: TLabel;
97
lblR12: TLabel; lblR13: TLabel; lblR14: TLabel; lblR15: TLabel; lblR16: TLabel; lblR17: TLabel; lblR18: TLabel; lblR19: TLabel; lblR20: TLabel; btnBack: TBitBtn; btnNext: TBitBtn; btnHome: TBitBtn; btn: TBitBtn; btnAbout: TBitBtn; btnExit: TBitBtn; btnCancel: TBitBtn; lblN1: TLabel; lblN2: TLabel; lblN3: TLabel; lblN4: TLabel; lblN5: TLabel; lblN6: TLabel; lblN7: TLabel; lblN8: TLabel; lblN9: TLabel; lblN10: TLabel; lblN11: TLabel; lblN12: TLabel; lblN13: TLabel; lblN14: TLabel; lblN15: TLabel; lblN16: TLabel; lblN17: TLabel; lblN18: TLabel; lblN19: TLabel; lblN20: TLabel; lblT1: TLabel; lblT2: TLabel; lblT3: TLabel; lblT4: TLabel; lblT5: TLabel; lblT6: TLabel; lblT7: TLabel; lblT8: TLabel; lblT9: TLabel; lblT10: TLabel; lblT11: TLabel; lblT12: TLabel; lblT13: TLabel; lblT14: TLabel; lblT15: TLabel; lblT16: TLabel; lblT17: TLabel; lblT18: TLabel; lblT19: TLabel;
98
lblT20: TLabel; lblF1: TLabel; lblF2: TLabel; lblF3: TLabel; lblF4: TLabel; lblF5: TLabel; lblF6: TLabel; lblF7: TLabel; lblF8: TLabel; lblF9: TLabel; lblF10: TLabel; lblF11: TLabel; lblF12: TLabel; lblF13: TLabel; lblF14: TLabel; lblF15: TLabel; lblF16: TLabel; lblF17: TLabel; lblF18: TLabel; lblF19: TLabel; lblF20: TLabel; lblJ1: TLabel; lblJ2: TLabel; lblJ3: TLabel; lblJ4: TLabel; lblJ5: TLabel; lblJ6: TLabel; lblJ7: TLabel; lblJ8: TLabel; lblJ9: TLabel; lblJ10: TLabel; lblJ11: TLabel; lblJ12: TLabel; lblJ13: TLabel; lblJ14: TLabel; lblJ15: TLabel; lblJ16: TLabel; lblJ17: TLabel; lblJ18: TLabel; lblJ19: TLabel; lblJ20: TLabel; Label97: TLabel; lblmm1: TLabel; txtTebal: TEdit; btnNomogr: TBitBtn; Label99: TLabel; lblFinishTbal: TLabel; lblTebale: TLabel; lblmm2: TLabel; Label10: TLabel; lblSumpF: TLabel; btnD: TBitBtn; lblTbal: TLabel; lblTbalAkhir: TLabel; btnSave: TBitBtn;
99
lblDowel: TLabel; lbldiameter: TLabel; lblpanjang: TLabel; lbljarak: TLabel; lblTie: TLabel; lblDow1: TLabel; lblTie1: TLabel; lblDow2: TLabel; lblTie2: TLabel; lblDow3: TLabel; lblTie3: TLabel; lblmm3: TLabel; lblmm4: TLabel; Memo2: TMemo; SaveDialog2: TSaveDialog; procedure btnHomeClick(Sender: TObject); procedure btnBackClick(Sender: TObject); procedure btnClick(Sender: TObject); procedure btnNextClick(Sender: TObject); procedure btnAboutClick(Sender: TObject); procedure btnExitClick(Sender: TObject); procedure btnNomogrClick(Sender: TObject); procedure btnCancelClick(Sender: TObject); function cariRepBban(): String; procedure btnDClick(Sender: TObject); procedure selesai(); procedure hitungLagi(); procedure btnSaveClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var frmRN4: TfrmRN4; B,E,C: Single; BS1, BS2, BS3, BS4: Single; V,VBerat,VTotal: Word; LEP: Single; SumLEP: Single; LEA: Single; LET: Single; LER: Single; JKB: Single; Wt18: Single; SK, JSK: Word; JSKN: Single; hitungPertama, hitungLagi: Boolean; sumpF: Single; FileRigid: TextFile; strFile: String; now: TDateTime; tbal: Word;
100
implementation uses Home, Math, About, RN3, RN2, RN1, STRT, STRG, SGRG; {$R *.dfm} procedure TfrmRN4.btnHomeClick(Sender: TObject); begin if MessageDlg('Anda yakin ingin memulai perhitungan baru?',mtConfirmation,mbOKCancel,0)= mrOK then begin frmRN4.Close; frmHome.Show; end; end; procedure TfrmRN4.btnBackClick(Sender: TObject); begin frmRN4.Close; frmRN3.Show; end; procedure TfrmRN4.btnClick(Sender: TObject); begin btn.Visible:=False; btnNomogr.Visible:=False; sumpF:=0; if 1<= nT then begin if (lblT1.Caption='-') then begin lblP1.Caption:='-'; lblJ1.Caption:='-'; lblF1.Caption:='-'; end else begin pT[1]:=StrToFloat(lblT1.Caption)/fr; lblP1.Caption:=FloatToStr(RoundTo(pT[1],-3)); if (pT[1]<0.51) or (pT[1]>0.85) then begin lblJ1.Caption:='-'; lblF1.Caption:='-'; end else begin p:=RoundTo(pT[1],-3); lblJ1.Caption:=cariRepBban; rB1:=StrToFloat(lblR1.Caption); rB2:=StrToFloat(lblJ1.Caption); pF:=(rB1/rB2)*100; sumpF:=sumpF+pF; lblF1.Caption:=FloatToStr(RoundTo(pF,-1));
101
end; end; end; if 2<= nT then begin if (lblT2.Caption='-') then begin lblP2.Caption:='-'; lblJ2.Caption:='-'; lblF2.Caption:='-'; end else begin pT[2]:=StrToFloat(lblT2.Caption)/fr; lblP2.Caption:=FloatToStr(RoundTo(pT[2],-3)); if (pT[2]<0.51) or (pT[2]>0.85) then begin lblJ2.Caption:='-'; lblF2.Caption:='-'; end else begin p:=RoundTo(pT[2],-3); lblJ2.Caption:=cariRepBban; rB1:=StrToFloat(lblR2.Caption); rB2:=StrToFloat(lblJ2.Caption); pF:=(rB1/rB2)*100; sumpF:=sumpF+pF; lblF2.Caption:=FloatToStr(RoundTo(pF,-1)); end; end; end; if 3<= nT then begin if (lblT3.Caption='-') then begin lblP3.Caption:='-'; lblJ3.Caption:='-'; lblF3.Caption:='-'; end else begin pT[3]:=StrToFloat(lblT3.Caption)/fr; lblP3.Caption:=FloatToStr(RoundTo(pT[3],-3)); if (pT[3]<0.51) or (pT[3]>0.85) then begin lblJ3.Caption:='-'; lblF3.Caption:='-'; end else begin p:=RoundTo(pT[3],-3); lblJ3.Caption:=cariRepBban;
102
rB1:=StrToFloat(lblR3.Caption); rB2:=StrToFloat(lblJ3.Caption); pF:=(rB1/rB2)*100; sumpF:=sumpF+pF; lblF3.Caption:=FloatToStr(RoundTo(pF,-1)); end; end; end; if 4<= nT then begin if (lblT4.Caption='-') then begin lblP4.Caption:='-'; lblJ4.Caption:='-'; lblF4.Caption:='-'; end else begin pT[4]:=StrToFloat(lblT4.Caption)/fr; lblP4.Caption:=FloatToStr(RoundTo(pT[4],-3)); if (pT[4]<0.51) or (pT[4]>0.85) then begin lblJ4.Caption:='-'; lblF4.Caption:='-'; end else begin p:=RoundTo(pT[4],-3); lblJ4.Caption:=cariRepBban; rB1:=StrToFloat(lblR4.Caption); rB2:=StrToFloat(lblJ4.Caption); pF:=(rB1/rB2)*100; sumpF:=sumpF+pF; lblF4.Caption:=FloatToStr(RoundTo(pF,-1)); end; end; end; if 5<= nT then begin if (lblT5.Caption='-') then begin lblP5.Caption:='-'; lblJ5.Caption:='-'; lblF5.Caption:='-'; end else begin pT[5]:=StrToFloat(lblT5.Caption)/fr; lblP5.Caption:=FloatToStr(RoundTo(pT[5],-3)); if (pT[5]<0.51) or (pT[5]>0.85) then begin lblJ5.Caption:='-'; lblF5.Caption:='-';
103
end else begin p:=RoundTo(pT[5],-3); lblJ5.Caption:=cariRepBban; rB1:=StrToFloat(lblR5.Caption); rB2:=StrToFloat(lblJ5.Caption); pF:=(rB1/rB2)*100; sumpF:=sumpF+pF; lblF5.Caption:=FloatToStr(RoundTo(pF,-1)); end; end; end; if 6<= nT then begin if (lblT6.Caption='-') then begin lblP6.Caption:='-'; lblJ6.Caption:='-'; lblF6.Caption:='-'; end else begin pT[6]:=StrToFloat(lblT6.Caption)/fr; lblP6.Caption:=FloatToStr(RoundTo(pT[6],-3)); if (pT[6]<0.51) or (pT[6]>0.85) then begin lblJ6.Caption:='-'; lblF6.Caption:='-'; end else begin p:=RoundTo(pT[6],-3); lblJ6.Caption:=cariRepBban; rB1:=StrToFloat(lblR6.Caption); rB2:=StrToFloat(lblJ6.Caption); pF:=(rB1/rB2)*100; sumpF:=sumpF+pF; lblF6.Caption:=FloatToStr(RoundTo(pF,-1)); end; end; end; if 7<= nT then begin if (lblT7.Caption='-') then begin lblP7.Caption:='-'; lblJ7.Caption:='-'; lblF7.Caption:='-'; end else begin pT[7]:=StrToFloat(lblT7.Caption)/fr;
104
lblP7.Caption:=FloatToStr(RoundTo(pT[7],-3)); if (pT[7]<0.51) or (pT[7]>0.85) then begin lblJ7.Caption:='-'; lblF7.Caption:='-'; end else begin p:=RoundTo(pT[7],-3); lblJ7.Caption:=cariRepBban; rB1:=StrToFloat(lblR7.Caption); rB2:=StrToFloat(lblJ7.Caption); pF:=(rB1/rB2)*100; sumpF:=sumpF+pF; lblF7.Caption:=FloatToStr(RoundTo(pF,-1)); end; end; end; if 8<= nT then begin if (lblT8.Caption='-') then begin lblP8.Caption:='-'; lblJ8.Caption:='-'; lblF8.Caption:='-'; end else begin pT[8]:=StrToFloat(lblT8.Caption)/fr; lblP8.Caption:=FloatToStr(RoundTo(pT[8],-3)); if (pT[8]<0.51) or (pT[8]>0.85) then begin lblJ8.Caption:='-'; lblF8.Caption:='-'; end else begin p:=RoundTo(pT[8],-3); lblJ8.Caption:=cariRepBban; rB1:=StrToFloat(lblR8.Caption); rB2:=StrToFloat(lblJ8.Caption); pF:=(rB1/rB2)*100; sumpF:=sumpF+pF; lblF8.Caption:=FloatToStr(RoundTo(pF,-1)); end; end; end; if 9<= nT then begin if (lblT9.Caption='-') then begin lblP9.Caption:='-'; lblJ9.Caption:='-';
105
lblF9.Caption:='-'; end else begin pT[9]:=StrToFloat(lblT9.Caption)/fr; lblP9.Caption:=FloatToStr(RoundTo(pT[9],-3)); if (pT[9]<0.51) or (pT[9]>0.85) then begin lblJ9.Caption:='-'; lblF9.Caption:='-'; end else begin p:=RoundTo(pT[9],-3); lblJ9.Caption:=cariRepBban; rB1:=StrToFloat(lblR9.Caption); rB2:=StrToFloat(lblJ9.Caption); pF:=(rB1/rB2)*100; sumpF:=sumpF+pF; lblF9.Caption:=FloatToStr(RoundTo(pF,-1)); end; end; end; if 10<= nT then begin if (lblT10.Caption='-') then begin lblP10.Caption:='-'; lblJ10.Caption:='-'; lblF10.Caption:='-'; end else begin pT[10]:=StrToFloat(lblT10.Caption)/fr; lblP10.Caption:=FloatToStr(RoundTo(pT[10],-3)); if (pT[10]<0.51) or (pT[10]>0.85) then begin lblJ10.Caption:='-'; lblF10.Caption:='-'; end else begin p:=RoundTo(pT[10],-3); lblJ10.Caption:=cariRepBban; rB1:=StrToFloat(lblR10.Caption); rB2:=StrToFloat(lblJ10.Caption); pF:=(rB1/rB2)*100; sumpF:=sumpF+pF; lblF10.Caption:=FloatToStr(RoundTo(pF,-1)); end; end; end; if 11<= nT then
106
begin if (lblT11.Caption='-') then begin lblP11.Caption:='-'; lblJ11.Caption:='-'; lblF11.Caption:='-'; end else begin pT[11]:=StrToFloat(lblT11.Caption)/fr; lblP11.Caption:=FloatToStr(RoundTo(pT[11],-3)); if (pT[11]<0.51) or (pT[11]>0.85) then begin lblJ11.Caption:='-'; lblF11.Caption:='-'; end else begin p:=RoundTo(pT[11],-3); lblJ11.Caption:=cariRepBban; rB1:=StrToFloat(lblR11.Caption); rB2:=StrToFloat(lblJ11.Caption); pF:=(rB1/rB2)*100; sumpF:=sumpF+pF; lblF11.Caption:=FloatToStr(RoundTo(pF,-1)); end; end; end; if 12<= nT then begin if (lblT12.Caption='-') then begin lblP12.Caption:='-'; lblJ12.Caption:='-'; lblF12.Caption:='-'; end else begin pT[12]:=StrToFloat(lblT12.Caption)/fr; lblP12.Caption:=FloatToStr(RoundTo(pT[12],-3)); if (pT[12]<0.51) or (pT[12]>0.85) then begin lblJ12.Caption:='-'; lblF12.Caption:='-'; end else begin p:=RoundTo(pT[12],-3); lblJ12.Caption:=cariRepBban; rB1:=StrToFloat(lblR12.Caption); rB2:=StrToFloat(lblJ12.Caption); pF:=(rB1/rB2)*100; sumpF:=sumpF+pF; lblF12.Caption:=FloatToStr(RoundTo(pF,-1));
107
end; end; end; if 13<= nT then begin if (lblT13.Caption='-') then begin lblP13.Caption:='-'; lblJ13.Caption:='-'; lblF13.Caption:='-'; end else begin pT[13]:=StrToFloat(lblT13.Caption)/fr; lblP13.Caption:=FloatToStr(RoundTo(pT[13],-3)); if (pT[13]<0.51) or (pT[13]>0.85) then begin lblJ13.Caption:='-'; lblF13.Caption:='-'; end else begin p:=RoundTo(pT[13],-3); lblJ13.Caption:=cariRepBban; rB1:=StrToFloat(lblR13.Caption); rB2:=StrToFloat(lblJ13.Caption); pF:=(rB1/rB2)*100; sumpF:=sumpF+pF; lblF13.Caption:=FloatToStr(RoundTo(pF,-1)); end; end; end; if 14<= nT then begin if (lblT14.Caption='-') then begin lblP14.Caption:='-'; lblJ14.Caption:='-'; lblF14.Caption:='-'; end else begin pT[14]:=StrToFloat(lblT14.Caption)/fr; lblP14.Caption:=FloatToStr(RoundTo(pT[14],-3)); if (pT[14]<0.51) or (pT[14]>0.85) then begin lblJ14.Caption:='-'; lblF14.Caption:='-'; end else begin p:=RoundTo(pT[14],-3); lblJ14.Caption:=cariRepBban;
108
rB1:=StrToFloat(lblR14.Caption); rB2:=StrToFloat(lblJ14.Caption); pF:=(rB1/rB2)*100; sumpF:=sumpF+pF; lblF14.Caption:=FloatToStr(RoundTo(pF,-1)); end; end; end; if 15<= nT then begin if (lblT15.Caption='-') then begin lblP15.Caption:='-'; lblJ15.Caption:='-'; lblF15.Caption:='-'; end else begin pT[15]:=StrToFloat(lblT15.Caption)/fr; lblP15.Caption:=FloatToStr(RoundTo(pT[15],-3)); if (pT[15]<0.51) or (pT[15]>0.85) then begin lblJ15.Caption:='-'; lblF15.Caption:='-'; end else begin p:=RoundTo(pT[15],-3); lblJ15.Caption:=cariRepBban; rB1:=StrToFloat(lblR15.Caption); rB2:=StrToFloat(lblJ15.Caption); pF:=(rB1/rB2)*100; sumpF:=sumpF+pF; lblF15.Caption:=FloatToStr(RoundTo(pF,-1)); end; end; end; if 16<= nT then begin if (lblT16.Caption='-') then begin lblP16.Caption:='-'; lblJ16.Caption:='-'; lblF16.Caption:='-'; end else begin pT[16]:=StrToFloat(lblT16.Caption)/fr; lblP16.Caption:=FloatToStr(RoundTo(pT[16],-3)); if (pT[16]<0.51) or (pT[16]>0.85) then begin lblJ16.Caption:='-'; lblF16.Caption:='-';
109
end else begin p:=RoundTo(pT[16],-3); lblJ16.Caption:=cariRepBban; rB1:=StrToFloat(lblR16.Caption); rB2:=StrToFloat(lblJ16.Caption); pF:=(rB1/rB2)*100; sumpF:=sumpF+pF; lblF16.Caption:=FloatToStr(RoundTo(pF,-1)); end; end; end; if 17<= nT then begin if (lblT17.Caption='-') then begin lblP17.Caption:='-'; lblJ17.Caption:='-'; lblF17.Caption:='-'; end else begin pT[17]:=StrToFloat(lblT17.Caption)/fr; lblP17.Caption:=FloatToStr(RoundTo(pT[17],-3)); if (pT[17]<0.51) or (pT[17]>0.85) then begin lblJ17.Caption:='-'; lblF17.Caption:='-'; end else begin p:=RoundTo(pT[17],-3); lblJ17.Caption:=cariRepBban; rB1:=StrToFloat(lblR17.Caption); rB2:=StrToFloat(lblJ17.Caption); pF:=(rB1/rB2)*100; sumpF:=sumpF+pF; lblF17.Caption:=FloatToStr(RoundTo(pF,-1)); end; end; end; if 18<= nT then begin if (lblT18.Caption='-') then begin lblP18.Caption:='-'; lblJ18.Caption:='-'; lblF18.Caption:='-'; end else begin pT[18]:=StrToFloat(lblT18.Caption)/fr;
110
lblP18.Caption:=FloatToStr(RoundTo(pT[18],-3)); if (pT[18]<0.51) or (pT[18]>0.85) then begin lblJ18.Caption:='-'; lblF18.Caption:='-'; end else begin p:=RoundTo(pT[18],-3); lblJ18.Caption:=cariRepBban; rB1:=StrToFloat(lblR18.Caption); rB2:=StrToFloat(lblJ18.Caption); pF:=(rB1/rB2)*100; sumpF:=sumpF+pF; lblF18.Caption:=FloatToStr(RoundTo(pF,-1)); end; end; end; if 19<= nT then begin if (lblT19.Caption='-') then begin lblP19.Caption:='-'; lblJ19.Caption:='-'; lblF19.Caption:='-'; end else begin pT[19]:=StrToFloat(lblT19.Caption)/fr; lblP19.Caption:=FloatToStr(RoundTo(pT[19],-3)); if (pT[19]<0.51) or (pT[19]>0.85) then begin lblJ19.Caption:='-'; lblF19.Caption:='-'; end else begin p:=RoundTo(pT[19],-3); lblJ19.Caption:=cariRepBban; rB1:=StrToFloat(lblR19.Caption); rB2:=StrToFloat(lblJ19.Caption); pF:=(rB1/rB2)*100; sumpF:=sumpF+pF; lblF19.Caption:=FloatToStr(RoundTo(pF,-1)); end; end; end; if 20<= nT then begin if (lblT20.Caption='-') then begin lblP20.Caption:='-'; lblJ20.Caption:='-';
111
lblF20.Caption:='-'; end else begin pT[20]:=StrToFloat(lblT20.Caption)/fr; lblP20.Caption:=FloatToStr(RoundTo(pT[20],-3)); if (pT[20]<0.51) or (pT[20]>0.85) then begin lblJ20.Caption:='-'; lblF20.Caption:='-'; end else begin p:=RoundTo(pT[20],-3); lblJ20.Caption:=cariRepBban; rB1:=StrToFloat(lblR20.Caption); rB2:=StrToFloat(lblJ20.Caption); pF:=(rB1/rB2)*100; sumpF:=sumpF+pF; lblF20.Caption:=FloatToStr(RoundTo(pF,-1)); end; end; end; lblSumpF.Caption:=FloatToStr(RoundTo(sumpF,-1)); if (sumpF>100) then hitungLagi else selesai; end; procedure TfrmRN4.selesai(); begin lblFinishTbal.Visible:=True; lblTebale.Visible:=True; lblTbalAkhir.Visible:=True; lblmm2.Visible:=True; lblTbalAkhir.Caption:=txtTebal.Text; btnCancel.Visible:=False; btnNext.Visible:=False; btnD.Visible:=False; btnSave.Visible:=True; tbal:=StrToInt(lblTbalAkhir.Caption); lbldiameter.Visible:=True; lblpanjang.Visible:=True; lbljarak.Visible:=True; lblDowel.Visible:=True; lblTie.Visible:=True; lblDow1.Visible:=True; lblDow2.Visible:=True; lblDow3.Visible:=True; lblTie1.Visible:=True; lblTie2.Visible:=True; lblTie3.Visible:=True; lblmm3.Visible:=True;
112
lblmm4.Visible:=True; if (tbal<175) then lblDow1.Caption:='19' else if (tbal<225) then lblDow1.Caption:='25' else if (tbal<300) then lblDow1.Caption:='32' else lblDow1.Caption:='38'; lblDow2.Caption:='450'; lblDow3.Caption:='300'; if (tbal<225) then begin lblTie1.Caption:='12'; lblTie2.Caption:='600'; lblTie3.Caption:='750'; end else begin if (tbal<250) then lblTie1.Caption:='12' else lblTie1.Caption:='16'; lblTie2.Caption:='750'; lblTie3.Caption:='900'; end; end; procedure TfrmRN4.saveIncRigid(); begin AssignFile(FileRigid,'C:\Documents and Settings\Gershom\My Documents\Rigid.txt'); Append(FileRigid); strFile:='***********************************************'; Writeln(FileRigid, strFile ); CloseFile(FileRigid); MessageDlg('Data perhitungan Rigid NAASRA telah tersimpan', mtInformation, [mbOK],0); end;} procedure TfrmRN4.hitungLagi(); begin lblTbalAkhir.Caption:=txtTebal.Text; btnCancel.Visible:=False; btnNext.Visible:=True; btnD.Visible:=True; exit; end; function TfrmRN4.cariRepBban(): String; begin if (p=0.51) then Result:='400000'; if (p>0.51) and (p<0.52) then begin repB:=400000-((p-0.51)*1000*10000);
113
Result:=FloatToStr(RoundTo(repB,0)); end; if (p=0.52) then Result:='300000'; if (p>0.52) and (p<0.53) then begin repB:=300000-((p-0.52)*1000*6000); Result:=FloatToStr(RoundTo(repB,0)); end; if (p=0.53) then Result:='240000'; if (p>0.53) and (p<0.54) then begin repB:=240000-((p-0.53)*1000*6000); Result:=FloatToStr(RoundTo(repB,0)); end; if (p=0.54) then Result:='180000'; if (p>0.54) and (p<0.55) then begin repB:=180000-((p-0.54)*1000*5000); Result:=FloatToStr(RoundTo(repB,0)); end; if (p=0.55) then Result:='130000'; if (p>0.55) and (p<0.56) then begin repB:=130000-((p-0.55)*1000*3000); Result:=FloatToStr(RoundTo(repB,0)); end; if (p=0.56) then Result:='100000'; if (p>0.56) and (p<0.57) then begin repB:=100000-((p-0.56)*1000*2500); Result:=FloatToStr(RoundTo(repB,0)); end; if (p=0.57) then Result:='75000'; if (p>0.57) and (p<0.58) then begin repB:=75000-((p-0.57)*1000*1800); Result:=FloatToStr(RoundTo(repB,0)); end; if (p=0.58) then Result:='57000'; if (p>0.58) and (p<0.59) then begin repB:=57000-((p-0.58)*1000*1500); Result:=FloatToStr(RoundTo(repB,0)); end; if (p=0.59) then Result:='42000'; if (p>0.59) and (p<0.60) then begin repB:=42000-((p-0.59)*1000*1000); Result:=FloatToStr(RoundTo(repB,0)); end; if (p=0.60) then Result:='32000'; if (p>0.60) and (p<0.61) then begin repB:=32000-((p-0.60)*1000*800); Result:=FloatToStr(RoundTo(repB,0));
114
end; if (p=0.61) then Result:='24000'; if (p>0.61) and (p<0.62) then begin repB:=24000-((p-0.61)*1000*600); Result:=FloatToStr(RoundTo(repB,0)); end; if (p=0.62) then Result:='18000'; if (p>0.62) and (p<0.63) then begin repB:=18000-((p-0.62)*1000*400); Result:=FloatToStr(RoundTo(repB,0)); end; if (p=0.63) then Result:='14000'; if (p>0.63) and (p<0.64) then begin repB:=14000-((p-0.63)*1000*300); Result:=FloatToStr(RoundTo(repB,0)); end; if (p=0.64) then Result:='11000'; if (p>0.64) and (p<0.65) then begin repB:=11000-((p-0.64)*1000*300); Result:=FloatToStr(RoundTo(repB,0)); end; if (p=0.65) then Result:='8000'; if (p>0.65) and (p<0.66) then begin repB:=8000-((p-0.65)*1000*200); Result:=FloatToStr(RoundTo(repB,0)); end; if (p=0.66) then Result:='6000'; if (p>0.66) and (p<0.67) then begin repB:=6000-((p-0.66)*1000*150); Result:=FloatToStr(RoundTo(repB,0)); end; if (p=0.67) then Result:='4500'; if (p>0.67) and (p<0.68) then begin repB:=4500-((p-0.67)*1000*100); Result:=FloatToStr(RoundTo(repB,0)); end; if (p=0.68) then Result:='3500'; if (p>0.68) and (p<0.69) then begin repB:=3500-((p-0.68)*1000*100); Result:=FloatToStr(RoundTo(repB,0)); end; if (p=0.69) then Result:='2500'; if (p>0.69) and (p<0.70) then begin repB:=2500-((p-0.69)*1000*50); Result:=FloatToStr(RoundTo(repB,0)); end;
115
if (p=0.70) then Result:='2000'; if (p>0.70) and (p<0.71) then begin repB:=2000-((p-0.70)*1000*50); Result:=FloatToStr(RoundTo(repB,0)); end; if (p=0.71) then Result:='1500'; if (p>0.71) and (p<0.72) then begin repB:=1500-((p-0.71)*1000*40); Result:=FloatToStr(RoundTo(repB,0)); end; if (p=0.72) then Result:='1100'; if (p>0.72) and (p<0.73) then begin repB:=1100-((p-0.72)*1000*25); Result:=FloatToStr(RoundTo(repB,0)); end; if (p=0.73) then Result:='850'; if (p>0.73) and (p<0.74) then begin repB:=850-((p-0.73)*1000*20); Result:=FloatToStr(RoundTo(repB,0)); end; if (p=0.74) then Result:='650'; if (p>0.74) and (p<0.75) then begin repB:=650-((p-0.74)*1000*16); Result:=FloatToStr(RoundTo(repB,0)); end; if (p=0.75) then Result:='490'; if (p>0.75) and (p<0.76) then begin repB:=490-((p-0.75)*1000*13); Result:=FloatToStr(RoundTo(repB,0)); end; if (p=0.76) then Result:='360'; if (p>0.76) and (p<0.77) then begin repB:=360-((p-0.76)*1000*9); Result:=FloatToStr(RoundTo(repB,0)); end; if (p=0.77) then Result:='270'; if (p>0.77) and (p<0.78) then begin repB:=270-((p-0.77)*1000*6); Result:=FloatToStr(RoundTo(repB,0)); end; if (p=0.78) then Result:='210'; if (p>0.78) and (p<0.79) then begin repB:=210-((p-0.78)*1000*5); Result:=FloatToStr(RoundTo(repB,0)); end; if (p=0.79) then Result:='160';
116
if (p>0.79) and (p<0.80) then begin repB:=160-((p-0.79)*1000*4); Result:=FloatToStr(RoundTo(repB,0)); end; if (p=0.80) then Result:='120'; if (p>0.80) and (p<0.81) then begin repB:=120-((p-0.80)*1000*3); Result:=FloatToStr(RoundTo(repB,0)); end; if (p=0.81) then Result:='90'; if (p>0.81) and (p<0.82) then begin repB:=90-((p-0.81)*1000*2); Result:=FloatToStr(RoundTo(repB,0)); end; if (p=0.82) then Result:='70'; if (p>0.82) and (p<0.83) then begin repB:=70-((p-0.82)*1000*2); Result:=FloatToStr(RoundTo(repB,0)); end; if (p=0.83) then Result:='50'; if (p>0.83) and (p<0.84) then begin repB:=50-((p-0.83)*1000*1); Result:=FloatToStr(RoundTo(repB,0)); end; if (p=0.84) then Result:='40'; if (p>0.84) and (p<0.85) then begin repB:=40-((p-0.84)*1000*1); Result:=FloatToStr(RoundTo(repB,0)); end; if (p=0.85) then Result:='30'; end; procedure TfrmRN4.btnNextClick(Sender: TObject); begin frmRN4.Close; end; procedure TfrmRN4.btnAboutClick(Sender: TObject); begin frmRN4.Close; frmAbout.Show; end; procedure TfrmRN4.btnExitClick(Sender: TObject); begin if MessageDlg('Anda yakin ingin keluar dari program?',mtConfirmation,mbOKCancel,0)= mrOK then Application.Terminate; end;
117
procedure TfrmRN4.btnNomogrClick(Sender: TObject); begin hitungPertama:=False; if (Trim(txtTebal.Text)<>'') then begin lblTbal.Caption:=txtTebal.Text; frmSTRT.lblTebal.Caption:=txtTebal.Text; frmSTRG.lblTebal.Caption:=txtTebal.Text; frmSGRG.lblTebal.Caption:=txtTebal.Text; frmRN4.Close; btnCancel.Visible:=False; end else begin MessageDlg('Input salah atau tidak lengkap', mtWarning, [mbOK],0); exit; end; frmSTRT.Show; end; procedure TfrmRN4.btnCancelClick(Sender: TObject); begin txtTebal.Text:=''; lblFinishTbal.Enabled:=False; end; procedure TfrmRN4.btnDClick(Sender: TObject); begin lblP1.Caption:=''; lblP2.Caption:=''; lblP3.Caption:=''; lblP4.Caption:=''; lblP5.Caption:=''; lblP6.Caption:=''; lblP7.Caption:=''; lblP8.Caption:=''; lblP9.Caption:=''; lblP10.Caption:=''; lblP11.Caption:=''; lblP12.Caption:=''; lblP13.Caption:=''; lblP14.Caption:=''; lblP15.Caption:=''; lblP16.Caption:=''; lblP17.Caption:=''; lblP18.Caption:=''; lblP19.Caption:=''; lblP20.Caption:=''; lblJ1.Caption:=''; lblJ2.Caption:=''; lblJ3.Caption:=''; lblJ4.Caption:=''; lblJ5.Caption:='';
118
lblJ6.Caption:=''; lblJ7.Caption:=''; lblJ8.Caption:=''; lblJ9.Caption:=''; lblJ10.Caption:=''; lblJ11.Caption:=''; lblJ12.Caption:=''; lblJ13.Caption:=''; lblJ14.Caption:=''; lblJ15.Caption:=''; lblJ16.Caption:=''; lblJ17.Caption:=''; lblJ18.Caption:=''; lblJ19.Caption:=''; lblJ20.Caption:=''; lblF1.Caption:=''; lblF2.Caption:=''; lblF3.Caption:=''; lblF4.Caption:=''; lblF5.Caption:=''; lblF6.Caption:=''; lblF7.Caption:=''; lblF8.Caption:=''; lblF9.Caption:=''; lblF10.Caption:=''; lblF11.Caption:=''; lblF12.Caption:=''; lblF13.Caption:=''; lblF14.Caption:=''; lblF15.Caption:=''; lblF16.Caption:=''; lblF17.Caption:=''; lblF18.Caption:=''; lblF19.Caption:=''; lblF20.Caption:=''; btnD.Visible:=False; btnNomogr.Visible:=True; lblSumpF.Caption:=''; lblTbal.Caption:=txtTebal.Text; txtTebal.Visible:=True; txtTebal.Text:=''; end; procedure TfrmRN4.btnSaveClick(Sender: TObject); begin memo2.Lines.Add('Perhitungan Tebal Perkerasan Kaku'); memo2.Lines.Add('Tanggal :' + DateToStr(Date)); memo2.Lines.Add('Jam :' + TimeToStr(Time)); memo2.Lines.Add('-----------------------------------------------'); memo2.Lines.Add(''); memo2.Lines.Add('Lebar Perkerasan :' + frmRN1.txtLl.Text + ' m'); memo2.Lines.Add('Jumlah Lajur: ' + frmRN1.cbxJL.Text + ' Lajur'); memo2.Lines.Add('Peranan Jalan: ' + frmRN1.cbxPJ.Text);
119
memo2.Lines.Add('Kuat Tekan Beton: ' + frmRN1.txtT.Text + ' kg/cm2'); memo2.Lines.Add('Pertumbuhan Lalu Lintas: ' + strLalin); memo2.Lines.Add('i: ' + frmRN1.txti.Text + ' %'); memo2.Lines.Add('m: ' + frmRN1.txtm.Text + ' thn'); memo2.Lines.Add('n: ' + frmRN1.txtn.Text + ' thn'); memo2.Lines.Add('i: ' + frmRN1.txtii.Text + ' %'); memo2.Lines.Add('R: ' + frmRN1.lblR.Caption); memo2.Lines.Add('CD: ' + frmRN1.lblCD.Caption); memo2.Lines.Add('FK: ' + frmRN1.lblFK.Caption); memo2.Lines.Add('fr: ' + frmRN1.lblfr.Caption + ' MPa'); memo2.Lines.Add(''); memo2.Lines.Add(' | ' + ' | ' + ' | ' + ' Jumlah | ' + ' Beban Sumbu | ' + ' Konfigurasi Sumbu | '); memo2.Lines.Add(' Jenis Kendaraan | ' + ' Berat | ' + 'Volume | ' + ' Sumbu | ' + ' Jumlah | ' + ' Jumlah | ' + ' Jumlah | ' + ' Jumlah | '); memo2.Lines.Add('------------------------------------------------------------------------------------------------------------------'); memo2.Lines.Add('1.1 MP | ' + frmRN2.txtB1.Text + ' ton | ' + frmRN2.txtV1.Text + ' | ' + frmRN2.lblS1.Caption + ' | ' + frmRN2.lblBS11.Caption + ' | ' + frmRN2.lblBS21.Caption + ' | ' + frmRN2.lblBS31.Caption + ' | ' + frmRN2.lblBS41.Caption + ' | ' + frmRN2.lblKS1.Caption); memo2.Lines.Add('1.2 Bus | ' + frmRN2.txtB2.Text + ' ton | ' + frmRN2.txtV2.Text + ' | ' + frmRN2.lblS2.Caption + ' | ' + frmRN2.lblBS12.Caption + ' | ' + frmRN2.lblBS22.Caption + ' | ' + frmRN2.lblBS32.Caption + ' | ' + frmRN2.lblBS42.Caption + ' | ' + frmRN2.lblKS2.Caption); memo2.Lines.Add('1.2 L Truk | ' + frmRN2.txtB3.Text + ' ton | ' + frmRN2.txtV3.Text + ' | ' + frmRN2.lblS3.Caption + ' | ' + frmRN2.lblBS13.Caption + ' | ' + frmRN2.lblBS23.Caption + ' | ' + frmRN2.lblBS33.Caption + ' | ' + frmRN2.lblBS43.Caption + ' | ' + frmRN2.lblKS3.Caption); memo2.Lines.Add('1.2 H Truk | ' + frmRN2.txtB4.Text + ' ton | ' + frmRN2.txtV4.Text + ' | ' + frmRN2.lblS4.Caption + ' | ' + frmRN2.lblBS14.Caption + ' | ' + frmRN2.lblBS24.Caption + ' | ' + frmRN2.lblBS34.Caption + ' | ' + frmRN2.lblBS44.Caption + ' | ' + frmRN2.lblKS4.Caption); memo2.Lines.Add('1.22 Truk | ' + frmRN2.txtB5.Text + ' ton | ' + frmRN2.txtV5.Text + ' | ' + frmRN2.lblS5.Caption + ' | ' + frmRN2.lblBS15.Caption + ' | ' + frmRN2.lblBS25.Caption + ' | ' + frmRN2.lblBS35.Caption + ' | ' + frmRN2.lblBS45.Caption + ' | ' + frmRN2.lblKS5.Caption); memo2.Lines.Add('1.2+2.2 Truk Gandeng | ' + frmRN2.txtB6.Text + ' ton | ' + frmRN2.txtV6.Text + ' | ' + frmRN2.lblS6.Caption + ' | ' + frmRN2.lblBS16.Caption + ' | ' + frmRN2.lblBS26.Caption + ' | ' + frmRN2.lblBS36.Caption + ' | ' + frmRN2.lblBS46.Caption + ' | ' + frmRN2.lblKS6.Caption); memo2.Lines.Add('1.2-2 Trailer | ' + frmRN2.txtB7.Text + ' ton | ' + frmRN2.txtV7.Text + ' | ' + frmRN2.lblS7.Caption + ' | ' + frmRN2.lblBS17.Caption + ' | ' + frmRN2.lblBS27.Caption + ' | ' + frmRN2.lblBS37.Caption + ' | ' + frmRN2.lblBS47.Caption + ' | ' + frmRN2.lblKS7.Caption); memo2.Lines.Add('1.2-22 Trailer | ' + frmRN2.txtB8.Text + ' ton | ' + frmRN2.txtV8.Text + ' | ' + frmRN2.lblS8.Caption + ' | ' + frmRN2.lblBS18.Caption + ' | ' + frmRN2.lblBS28.Caption + ' | ' + frmRN2.lblBS38.Caption + ' | ' + frmRN2.lblBS48.Caption + ' | ' + frmRN2.lblKS8.Caption); memo2.Lines.Add(' ' + 'TOTAL Volume |' + frmRN2.lblSumB.Caption); memo2.Lines.Add('JSKN :' + frmRN2.lblJSKN.Caption); memo2.Lines.Add(' '); memo2.Lines.Add('Konfigurasi Sumbu |' + 'Beban Sumbu |' + '% Konfigurasi Sumbu |' + 'Jumlah Repetisi Selama Umur Rencana'); memo2.Lines.Add('------------------------------------------------------------------------------------------------------------------');
120
memo2.Lines.Add(frmRN3.lblK1.Caption + ' |' + frmRN3.lblB1.Caption + '|' + frmRN3.lblP1.Caption + '|' + frmRN3.lblR1.Caption + '|'); memo2.Lines.Add(frmRN3.lblK2.Caption + ' |' + frmRN3.lblB2.Caption + '|' + frmRN3.lblP2.Caption + '|' + frmRN3.lblR2.Caption + '|'); memo2.Lines.Add(frmRN3.lblK3.Caption + ' |' + frmRN3.lblB3.Caption + '|' + frmRN3.lblP3.Caption + '|' + frmRN3.lblR3.Caption + '|'); memo2.Lines.Add(frmRN3.lblK4.Caption + ' |' + frmRN3.lblB4.Caption + '|' + frmRN3.lblP4.Caption + '|' + frmRN3.lblR4.Caption + '|'); memo2.Lines.Add(frmRN3.lblK5.Caption + ' |' + frmRN3.lblB5.Caption + '|' + frmRN3.lblP5.Caption + '|' + frmRN3.lblR5.Caption + '|'); memo2.Lines.Add(frmRN3.lblK6.Caption + ' |' + frmRN3.lblB6.Caption + '|' + frmRN3.lblP6.Caption + '|' + frmRN3.lblR6.Caption + '|'); memo2.Lines.Add(frmRN3.lblK7.Caption + ' |' + frmRN3.lblB7.Caption + '|' + frmRN3.lblP7.Caption + '|' + frmRN3.lblR7.Caption + '|'); memo2.Lines.Add(frmRN3.lblK8.Caption + ' |' + frmRN3.lblB8.Caption + '|' + frmRN3.lblP8.Caption + '|' + frmRN3.lblR8.Caption + '|'); memo2.Lines.Add(frmRN3.lblK9.Caption + ' |' + frmRN3.lblB9.Caption + '|' + frmRN3.lblP9.Caption + '|' + frmRN3.lblR9.Caption + '|'); memo2.Lines.Add(frmRN3.lblK10.Caption + ' |' + frmRN3.lblB10.Caption + '|' + frmRN3.lblP10.Caption + '|' + frmRN3.lblR10.Caption + '|'); memo2.Lines.Add(frmRN3.lblK11.Caption + ' |' + frmRN3.lblB11.Caption + '|' + frmRN3.lblP11.Caption + '|' + frmRN3.lblR11.Caption + '|'); memo2.Lines.Add(frmRN3.lblK12.Caption + ' |' + frmRN3.lblB12.Caption + '|' + frmRN3.lblP12.Caption + '|' + frmRN3.lblR12.Caption + '|'); memo2.Lines.Add(frmRN3.lblK13.Caption + ' |' + frmRN3.lblB13.Caption + '|' + frmRN3.lblP13.Caption + '|' + frmRN3.lblR13.Caption + '|'); memo2.Lines.Add(frmRN3.lblK14.Caption + ' |' + frmRN3.lblB14.Caption + '|' + frmRN3.lblP14.Caption + '|' + frmRN3.lblR14.Caption + '|'); memo2.Lines.Add(frmRN3.lblK15.Caption + ' |' + frmRN3.lblB15.Caption + '|' + frmRN3.lblP15.Caption + '|' + frmRN3.lblR15.Caption + '|'); memo2.Lines.Add(frmRN3.lblK16.Caption + ' |' + frmRN3.lblB16.Caption + '|' + frmRN3.lblP16.Caption + '|' + frmRN3.lblR16.Caption + '|'); memo2.Lines.Add(frmRN3.lblK17.Caption + ' |' + frmRN3.lblB17.Caption + '|' + frmRN3.lblP17.Caption + '|' + frmRN3.lblR17.Caption + '|'); memo2.Lines.Add(frmRN3.lblK18.Caption + ' |' + frmRN3.lblB18.Caption + '|' + frmRN3.lblP18.Caption + '|' + frmRN3.lblR18.Caption + '|'); memo2.Lines.Add(frmRN3.lblK19.Caption + ' |' + frmRN3.lblB19.Caption + '|' + frmRN3.lblP19.Caption + '|' + frmRN3.lblR19.Caption + '|'); memo2.Lines.Add(frmRN3.lblK20.Caption + ' |' + frmRN3.lblB20.Caption + '|' + frmRN3.lblP20.Caption + '|' + frmRN3.lblR20.Caption + '|'); memo2.Lines.Add(' '); memo2.Lines.Add('CBR :' + frmSTRT.lblCBR.Caption + ' %'); memo2.Lines.Add('k :' + frmSTRT.lblk.Caption + ' kPa'); memo2.Lines.Add(' '); memo2.Lines.Add(' Konfigurasi |' + ' Beban |' + ' Beban |' + ' Repetisi |' + ' Tegangan |' + ' Perbandingan |' + ' Jmlh repetisi beban |' + 'Persentase |'); memo2.Lines.Add(' Sumbu |' + ' Sumbu |' + ' Rencana |' + ' Beban (10^5)|' + ' yg terjadi |' + ' Tegangan |' + ' yg diijinkan |' + ' Fatigue |'); memo2.Lines.Add('------------------------------------------------------------------------------------------------------------------'); memo2.Lines.Add(frmRN4.lblK1.Caption + ' |' + frmRN4.lblB1.Caption + ' |' + frmRN4.lblN1.Caption + ' |' + frmRN4.lblR1.Caption + ' |' + frmRN4.lblT1.Caption + '|' + frmRN4.lblP1.Caption + '|' + frmRN4.lblJ1.Caption + '|' + frmRN4.lblF1.Caption + '|');
121
memo2.Lines.Add(frmRN4.lblK2.Caption + ' |' + frmRN4.lblB2.Caption + ' |' + frmRN4.lblN2.Caption + ' |' + frmRN4.lblR2.Caption + ' |' + frmRN4.lblT2.Caption + '|' + frmRN4.lblP2.Caption + '|' + frmRN4.lblJ2.Caption + '|' + frmRN4.lblF2.Caption + '|'); memo2.Lines.Add(frmRN4.lblK3.Caption + ' |' + frmRN4.lblB3.Caption + ' |' + frmRN4.lblN3.Caption + ' |' + frmRN4.lblR3.Caption + ' |' + frmRN4.lblT3.Caption + '|' + frmRN4.lblP3.Caption + '|' + frmRN4.lblJ3.Caption + '|' + frmRN4.lblF3.Caption + '|'); memo2.Lines.Add(frmRN4.lblK4.Caption + ' |' + frmRN4.lblB4.Caption + ' |' + frmRN4.lblN4.Caption + ' |' + frmRN4.lblR4.Caption + ' |' + frmRN4.lblT4.Caption + '|' + frmRN4.lblP4.Caption + '|' + frmRN4.lblJ4.Caption + '|' + frmRN4.lblF4.Caption + '|'); memo2.Lines.Add(frmRN4.lblK5.Caption + ' |' + frmRN4.lblB5.Caption + ' |' + frmRN4.lblN5.Caption + ' |' + frmRN4.lblR5.Caption + ' |' + frmRN4.lblT5.Caption + '|' + frmRN4.lblP5.Caption + '|' + frmRN4.lblJ5.Caption + '|' + frmRN4.lblF5.Caption + '|'); memo2.Lines.Add(frmRN4.lblK6.Caption + ' |' + frmRN4.lblB6.Caption + ' |' + frmRN4.lblN6.Caption + ' |' + frmRN4.lblR6.Caption + ' |' + frmRN4.lblT6.Caption + '|' + frmRN4.lblP6.Caption + '|' + frmRN4.lblJ6.Caption + '|' + frmRN4.lblF6.Caption + '|'); memo2.Lines.Add(frmRN4.lblK7.Caption + ' |' + frmRN4.lblB7.Caption + ' |' + frmRN4.lblN7.Caption + ' |' + frmRN4.lblR7.Caption + ' |' + frmRN4.lblT7.Caption + '|' + frmRN4.lblP7.Caption + '|' + frmRN4.lblJ7.Caption + '|' + frmRN4.lblF7.Caption + '|'); memo2.Lines.Add(frmRN4.lblK8.Caption + ' |' + frmRN4.lblB8.Caption + ' |' + frmRN4.lblN8.Caption + ' |' + frmRN4.lblR8.Caption + ' |' + frmRN4.lblT8.Caption + '|' + frmRN4.lblP8.Caption + '|' + frmRN4.lblJ8.Caption + '|' + frmRN4.lblF8.Caption + '|'); memo2.Lines.Add(frmRN4.lblK9.Caption + ' |' + frmRN4.lblB9.Caption + ' |' + frmRN4.lblN9.Caption + ' |' + frmRN4.lblR9.Caption + ' |' + frmRN4.lblT9.Caption + '|' + frmRN4.lblP9.Caption + '|' + frmRN4.lblJ9.Caption + '|' + frmRN4.lblF9.Caption + '|'); memo2.Lines.Add(frmRN4.lblK10.Caption + ' |' + frmRN4.lblB10.Caption + ' |' + frmRN4.lblN10.Caption + ' |' + frmRN4.lblR10.Caption + ' |' + frmRN4.lblT10.Caption + '|' + frmRN4.lblP10.Caption + '|' + frmRN4.lblJ10.Caption + '|' + frmRN4.lblF10.Caption + '|'); memo2.Lines.Add(frmRN4.lblK11.Caption + ' |' + frmRN4.lblB11.Caption + ' |' + frmRN4.lblN11.Caption + ' |' + frmRN4.lblR11.Caption + ' |' + frmRN4.lblT11.Caption + '|' + frmRN4.lblP11.Caption + '|' + frmRN4.lblJ11.Caption + '|' + frmRN4.lblF11.Caption + '|'); memo2.Lines.Add(frmRN4.lblK12.Caption + ' |' + frmRN4.lblB12.Caption + ' |' + frmRN4.lblN12.Caption + ' |' + frmRN4.lblR12.Caption + ' |' + frmRN4.lblT12.Caption + '|' + frmRN4.lblP12.Caption + '|' + frmRN4.lblJ12.Caption + '|' + frmRN4.lblF12.Caption + '|'); memo2.Lines.Add(frmRN4.lblK13.Caption + ' |' + frmRN4.lblB13.Caption + ' |' + frmRN4.lblN13.Caption + ' |' + frmRN4.lblR13.Caption + ' |' + frmRN4.lblT13.Caption + '|' + frmRN4.lblP13.Caption + '|' + frmRN4.lblJ13.Caption + '|' + frmRN4.lblF13.Caption + '|'); memo2.Lines.Add(frmRN4.lblK14.Caption + ' |' + frmRN4.lblB14.Caption + ' |' + frmRN4.lblN14.Caption + ' |' + frmRN4.lblR14.Caption + ' |' + frmRN4.lblT14.Caption + '|' + frmRN4.lblP14.Caption + '|' + frmRN4.lblJ14.Caption + '|' + frmRN4.lblF14.Caption + '|'); memo2.Lines.Add(frmRN4.lblK15.Caption + ' |' + frmRN4.lblB15.Caption + ' |' + frmRN4.lblN15.Caption + ' |' + frmRN4.lblR15.Caption + ' |' + frmRN4.lblT15.Caption + '|' + frmRN4.lblP15.Caption + '|' + frmRN4.lblJ15.Caption + '|' + frmRN4.lblF15.Caption + '|'); memo2.Lines.Add(frmRN4.lblK16.Caption + ' |' + frmRN4.lblB16.Caption + ' |' + frmRN4.lblN16.Caption + ' |' + frmRN4.lblR16.Caption + ' |' + frmRN4.lblT16.Caption + '|' + frmRN4.lblP16.Caption + '|' + frmRN4.lblJ16.Caption + '|' + frmRN4.lblF16.Caption + '|'); memo2.Lines.Add(frmRN4.lblK17.Caption + ' |' + frmRN4.lblB17.Caption + ' |' + frmRN4.lblN17.Caption + ' |' + frmRN4.lblR17.Caption + ' |' + frmRN4.lblT17.Caption + '|' + frmRN4.lblP17.Caption + '|' + frmRN4.lblJ17.Caption + '|' + frmRN4.lblF17.Caption + '|'); memo2.Lines.Add(frmRN4.lblK18.Caption + ' |' + frmRN4.lblB18.Caption + ' |' + frmRN4.lblN18.Caption + ' |' + frmRN4.lblR18.Caption + ' |' + frmRN4.lblT18.Caption + '|' + frmRN4.lblP18.Caption + '|' + frmRN4.lblJ18.Caption + '|' + frmRN4.lblF18.Caption + '|'); memo2.Lines.Add(frmRN4.lblK19.Caption + ' |' + frmRN4.lblB19.Caption + ' |' + frmRN4.lblN19.Caption + ' |' + frmRN4.lblR19.Caption + ' |' + frmRN4.lblT19.Caption + '|' + frmRN4.lblP19.Caption + '|' + frmRN4.lblJ19.Caption + '|' + frmRN4.lblF19.Caption + '|');
122
123
memo2.Lines.Add(frmRN4.lblK20.Caption + ' |' + frmRN4.lblB20.Caption + ' |' + frmRN4.lblN20.Caption + ' |' + frmRN4.lblR20.Caption + ' |' + frmRN4.lblT20.Caption + '|' + frmRN4.lblP20.Caption + '|' + frmRN4.lblJ20.Caption + '|' + frmRN4.lblF20.Caption + '|'); memo2.Lines.Add(' '); memo2.Lines.Add('Tebal Asumsi :' + frmRN4.txtTebal.Text + ' mm'); memo2.Lines.Add('% Fatigue :' + frmRN4.lblSumpF.Caption + ' %'); memo2.Lines.Add('Tebal Akhir :' + frmRN4.lblTbalAkhir.Caption + ' mm'); memo2.Lines.Add(' '); memo2.Lines.Add(' |' + ' diameter |'+ ' panjang |' + ' jarak |'); memo2.Lines.Add('Dowel Bar |' + frmRN4.lblDow1.Caption + ' |' + frmRN4.lblDow2.Caption + ' |' + frmRN4.lblDow3.Caption + ' |' + ' mm'); memo2.Lines.Add('Tie Bar |' + frmRN4.lblTie1.Caption + ' |' + frmRN4.lblTie2.Caption + ' |' + frmRN4.lblTie3.Caption + ' |' + ' mm'); memo2.Lines.Add(' '); memo2.Lines.Add(' =========end========= '); savedialog2.Execute; memo2.Lines.SaveToFile(savedialog2.FileName); end; end.