Dosen :
Disusun Oleh :
2019
DAFTAR ISI
DAFTAR ISI
Halaman Judul
Daftar Isi.............................................................................................................. i
PENDAHULUAN
BAB I. Pendahuluan
BAB V. Kesimpulan
TINJAUAN PUSTAKA
𝑄=𝑉𝑥𝐴
Dimana :
𝑉𝑐ℎ𝑒𝑧𝑦 = 𝑐 𝑥 √𝑅 𝑥 𝐼
Dimana :
V = Kecepatan aliran
R = Jari-jari hidrolis
I atau S = Kemiringan dasar saluran
C = Kekasaran chezy
Chezy Persegi
1⁄
BxH 2 1⁄
f(H) = ( C x [ ] xI 2 x ( B x H ) ) − Q … 𝑝𝑒𝑟𝑠 (2)
B+(2xH)
Harga n
No. Tipe saluran dan jenis bahan
Minimum Normal Maksimum
1. Beton
Gorong-gorong lurus dan bebas dari 0,010 0,011 0,013
kotoran
Gorong-gorong dengan lengkungan dan 0,011 0,013 0,014
sedikit kotoran/gangguan
Beton dipoles 0,011 0,012 0,014
Saluran pembuang dengan bak kontrol 0,013 0,015 0,017
2. Tanah, lurus dan seragam
Bersih baru 0,016 0,018 0,020
Bersih telah melapuk 0,018 0,022 0,025
Berkerikil 0,022 0,025 0,030
Berumput pendek, sedikit tanaman 0,022 0,027 0,033
pengganggu
3. Saluran alam
Bersih lurus 0,025 0,030 0,033
Bersih, berkelok-kelok 0,033 0,040 0,045
Banyak tanaman pengganggu 0,050 0,070 0,08
Dataran banjir berumput pendek – tinggi 0,025 0,030 0,035
Saluran di belukar 0,035 0,050 0,07
Daftar lengkap dapat dilihat dalam Open Channel Hydraulics oleh Ven Te
Chow.
BAB III
METODOLOGI
Mulai
Q; Lebar; I; n
atau Chezy;
a = lebar;
b = a+30;
toleransi
Chezy atau
manning ?
b = 0,1 b = 0,1
tidak tidak
a =c
a =c
b=c C= (a + b )/ 2 C= (a + b )/ 2 b=c
tidak
tidak
ya
ya
f(b) x f(c) < 0
f(b) x f(c) < 0
tidak tidak
ya ya
Qbaru Qbaru
H = c; Qbaru H = c; Qbaru
selesai
CODING APLIKASI
4.1 Coding
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes,
Graphics, Controls, Forms,
Dialogs, Grids, StdCtrls, jpeg, ExtCtrls,
Vcl.ComCtrls, Vcl.Imaging.GIFImg;
type
TForm3 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
TabSheet4: TTabSheet;
Image1: TImage;
Button3: TButton;
GroupBox1: TGroupBox;
Image3: TImage;
Label1: TLabel;
Label2: TLabel;
label30: TLabel;
Label3: TLabel;
Label5: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Button2: TButton;
Edit3: TEdit;
Edit4: TEdit;
Memo1: TMemo;
StringGrid1: TStringGrid;
Image4: TImage;
GroupBox2: TGroupBox;
Image5: TImage;
Image6: TImage;
Label4: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
StringGrid2: TStringGrid;
Button7: TButton;
Button6: TButton;
Memo3: TMemo;
Edit9: TEdit;
Edit10: TEdit;
Edit11: TEdit;
Edit12: TEdit;
Button5: TButton;
Image7: TImage;
GroupBox3: TGroupBox;
Image8: TImage;
Image9: TImage;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Button4: TButton;
Button8: TButton;
Memo2: TMemo;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
StringGrid3: TStringGrid;
Button9: TButton;
Image10: TImage;
GroupBox4: TGroupBox;
Image11: TImage;
Image12: TImage;
Label15: TLabel;
Label16: TLabel;
label17: TLabel;
Label18: TLabel;
Button10: TButton;
Button11: TButton;
Memo4: TMemo;
Edit13: TEdit;
Edit14: TEdit;
Edit15: TEdit;
StringGrid4: TStringGrid;
Button12: TButton;
Image13: TImage;
Image14: TImage;
Image15: TImage;
Image16: TImage;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
Edit18: TEdit;
Label21: TLabel;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
RadioButton5: TRadioButton;
RadioButton6: TRadioButton;
RadioButton7: TRadioButton;
RadioButton8: TRadioButton;
Edit20: TEdit;
Label23: TLabel;
Image2: TImage;
GroupBox5: TGroupBox;
Label24: TLabel;
GroupBox6: TGroupBox;
Label25: TLabel;
GroupBox7: TGroupBox;
Label26: TLabel;
GroupBox8: TGroupBox;
Label28: TLabel;
Label19: TLabel;
Label20: TLabel;
Label22: TLabel;
Label27: TLabel;
Label29: TLabel;
Label31: TLabel;
Label32: TLabel;
Label33: TLabel;
Label34: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormResize(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button1MouseEnter(Sender: TObject);
procedure Button1Enter(Sender: TObject);
procedure Button6Enter(Sender: TObject);
procedure Button6MouseEnter(Sender: TObject);
procedure Button8MouseEnter(Sender: TObject);
procedure Button8Enter(Sender: TObject);
procedure Button11Enter(Sender: TObject);
procedure Button11MouseEnter(Sender: TObject);
procedure Edit10Change(Sender: TObject);
procedure Edit2Change(Sender: TObject);
procedure Edit6Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
StringGrid4.Cells[1,i]:=FormatFloat('0.##########',a);
StringGrid4.Cells[2,i]:=FormatFloat('0.##########',b);
c:=(a+b)/2;
StringGrid4.Cells[3,i]:=FormatFloat('0.##########',c);
fa:= ( (1/manning) *
exp(ln(a/2)*p2)*exp(ln(sloof)*p1)*(3.141592654/2)*(a*a
))-Q;
StringGrid4.Cells[4,i]:=FormatFloat('0.##########',fa)
;
fb:= ( (1/manning) *
exp(ln(b/2)*p2)*exp(ln(sloof)*p1)*(3.141592654/2)*(b*b
))-Q;
StringGrid4.Cells[5,i]:=FormatFloat('0.##########',fb)
;
fc:= ( (1/manning) *
exp(ln(c/2)*p2)*exp(ln(sloof)*p1)*(3.141592654/2)*(c*c
))-Q;
StringGrid4.Cells[6,i]:=FormatFloat('0.##########',fc)
;
if ((fb*fc)<=0) then
begin
a:=c;
end
else
begin
b:=c;
end;
end;
StringGrid4.Cells[0,i]:=FloatToStr(i);
i := i +1 ;
until abs(fc) < toleransi ;
StringGrid4.RowCount := i + 1;
//output hasil perhitungan h dan Q berdasarkan nilai h
ke memo
Qbaru:= ( (1/manning) *
exp(ln(c/2)*p2)*exp(ln(sloof)*p1)*(3.141592654/2)*(c*c
));
Memo4.Clear;
Memo4.Lines.Add('Didapat, Nilai h
='+''+FloatToStr(c)+' m');
Memo4.Lines.Add('Dengan'+' Q ='+''+FloatToStr(Qbaru)+'
'+'m^3/s');
Memo4.Lines.Add('Diameter Saluran
='+''+FloatToStr(c*2)+' '+'m');
label33.Caption:='D = '+ (FormatFloat('0.###',c*2))+'
m';
label34.Caption:='h = '+ (FormatFloat('0.###',c))+'
m';
end;
StringGrid4.Cells[1,i]:=FormatFloat('0.##########',a);
StringGrid4.Cells[2,i]:=FormatFloat('0.##########',b);
c:=(a+b)/2;
StringGrid4.Cells[3,i]:=FormatFloat('0.##########',c);
fa:= ( (chezy) *
exp(ln(a/2)*p1)*exp(ln(sloof)*p1)*(3.141592654/2)*(a*a
))-Q;
StringGrid4.Cells[4,i]:=FormatFloat('0.##########',fa)
;
fb:= ( (chezy) *
exp(ln(b/2)*p1)*exp(ln(sloof)*p1)*(3.141592654/2)*(b*b
))-Q;
StringGrid4.Cells[5,i]:=FormatFloat('0.##########',fb)
;
fc:= ( (chezy) *
exp(ln(c/2)*p1)*exp(ln(sloof)*p1)*(3.141592654/2)*(c*c
))-Q;
StringGrid4.Cells[6,i]:=FormatFloat('0.##########',fc)
;
if ((fb*fc)<=0) then
begin
a:=c;
end
else
begin
b:=c;
end;
end;
StringGrid4.Cells[0,i]:=FloatToStr(i);
i := i +1 ;
until abs(fc) < toleransi ;
StringGrid4.RowCount := i + 1;
//output hasil perhitungan h dan Q berdasarkan nilai h
ke memo
Qbaru:= ( (chezy) *
exp(ln(c/2)*p1)*exp(ln(sloof)*p1)*(3.141592654/2)*(c*c
));
Memo4.Clear;
Memo4.Lines.Add('Didapat, Nilai h
='+''+FloatToStr(c)+' m');
Memo4.Lines.Add('Dengan'+' Q ='+''+FloatToStr(Qbaru)+'
'+'m^3/s');
Memo4.Lines.Add('Diameter Saluran
='+''+FloatToStr(c*2)+' '+'m');
label33.Caption:='D = '+ (FormatFloat('0.###',c*2))+'
m';
label34.Caption:='h = '+ (FormatFloat('0.###',c))+'
m';
end;
end;
end;
end;
StringGrid1.Cells[1,i]:=FormatFloat('0.##########',a);
StringGrid1.Cells[2,i]:=FormatFloat('0.##########',b);
c:=(a+b)/2;
StringGrid1.Cells[3,i]:=FormatFloat('0.##########',c);
fa:=
((1/manning)*exp(ln(Lebar*a/(Lebar+(2*a)))*p2)*exp(ln(
sloof)*p1)*(Lebar*a))-Q;
StringGrid1.Cells[4,i]:=FormatFloat('0.##########',fa)
;
fb:=
((1/manning)*exp(ln(Lebar*b/(Lebar+(2*b)))*p2)*exp(ln(
sloof)*p1)*(Lebar*b))-Q;
StringGrid1.Cells[5,i]:=FormatFloat('0.##########',fb)
;
fc:=
((1/manning)*exp(ln(Lebar*c/(Lebar+(2*c)))*p2)*exp(ln(
sloof)*p1)*(Lebar*c))-Q;
StringGrid1.Cells[6,i]:=FormatFloat('0.##########',fc)
;
if ((fb*fc)<=0) then
begin
a:=c;
end
else
begin
b:=c;
end;
end;
StringGrid1.Cells[0,i]:=FloatToStr(i);
i:= i +1 ;
until abs(fc) < toleransi ;
StringGrid1.RowCount := i + 1;
//output hasil perhitungan h dan Q berdasarkan nilai h
ke memo
Qbaru:=
((1/manning)*exp(ln(Lebar*c/(Lebar+(2*c)))*p2)*exp(ln(
sloof)*p1)*(Lebar*c));
Memo1.Clear;
Memo1.Lines.Add('Didapat, Nilai h
='+''+FloatToStr(c)+' m');
Memo1.Lines.Add('Dengan'+' Q ='+''+FloatToStr(Qbaru)+'
'+'m^3/s');
label29.Caption:='h = '+ (FormatFloat('0.###',c))+'
m';
end;
if RadioButton2.Checked=true then
begin
fa:=
((chezy)*exp(ln(Lebar*a/(Lebar+(2*a)))*p1)*exp(ln(sloo
f)*p1)*(Lebar*a))-Q;
fb:=
((chezy)*exp(ln(Lebar*b/(Lebar+(2*b)))*p1)*exp(ln(sloo
f)*p1)*(Lebar*b))-Q;
if fa*fb>0 then
begin
b:=0.1;
end;
//output f(a), f(b) dan f(c) ke stringgrid
repeat
begin
StringGrid1.Cells[1,i]:=FormatFloat('0.##########',a);
StringGrid1.Cells[2,i]:=FormatFloat('0.##########',b);
c:=(a+b)/2;
StringGrid1.Cells[3,i]:=FormatFloat('0.##########',c);
fa:=
((chezy)*exp(ln(Lebar*a/(Lebar+(2*a)))*p1)*exp(ln(sloo
f)*p1)*(Lebar*a))-Q;
StringGrid1.Cells[4,i]:=FormatFloat('0.##########',fa)
;
fb:=
((chezy)*exp(ln(Lebar*b/(Lebar+(2*b)))*p1)*exp(ln(sloo
f)*p1)*(Lebar*b))-Q;
StringGrid1.Cells[5,i]:=FormatFloat('0.##########',fb)
;
fc:=
((chezy)*exp(ln(Lebar*c/(Lebar+(2*c)))*p1)*exp(ln(sloo
f)*p1)*(Lebar*c))-Q;
StringGrid1.Cells[6,i]:=FormatFloat('0.##########',fc)
;
if ((fb*fc)<=0) then
begin
a:=c;
end
else
begin
b:=c;
end;
end;
StringGrid1.Cells[0,i]:=FloatToStr(i);
i:= i +1 ;
until abs(fc) < toleransi ;
StringGrid1.RowCount := i + 1;
//output hasil perhitungan h dan Q berdasarkan nilai h
ke memo
Qbaru:=
((chezy)*exp(ln(Lebar*c/(Lebar+(2*c)))*p1)*exp(ln(sloo
f)*p1)*(Lebar*c));
Memo1.Clear;
Memo1.Lines.Add('Didapat, Nilai h
='+''+FloatToStr(c)+' m');
Memo1.Lines.Add('Dengan'+' Q ='+''+FloatToStr(Qbaru)+'
'+'m^3/s');
label29.Caption:='h = '+ (FormatFloat('0.###',c))+'
m';
end;
end;
KESIMPULAN
5.1 Kesimpulan