Anda di halaman 1dari 33

TUGAS METODE KOMPUTASI

Program Aplikasi Komputer Perhitungan Desain Penampang Persegi


Saluran Terbuka

Tugas ini diajukan sebagai syarat kelulusan

Mata Kuliah SIA-316 Metode Komputasi

Dosen :

Dr. Eng. Fitri Suciaty

Disusun Oleh :

 Anjas Wahyu R (22-2016-196)

 Antonio B. Magalhaes (22-2016-203)

 Rifqi Tsaqif M (22-2016-206)

 I. Anggi Meylani (22-2018-263)

JURUSAN TEKNIK SIPIL

FAKULTAS TEKNIK SIPIL DAN PERENCANAAN

INSTITUT TEKNOLOGI NASIONAL

2019
DAFTAR ISI

DAFTAR ISI

Halaman Judul

Daftar Isi.............................................................................................................. i

Daftar Gambar ..................................................................................................... iii

Daftar Tabel ........................................................................................................ iv

BAB I PENDAHULUAN .................................................................................. 1

1.1 Latar Belakang .............................................................................................. 1

1.2 Rumusan Masalah ......................................................................................... 1

1.3 Maksud dan Tujuan ....................................................................................... 2

1.4 Ruang Lingkup .............................................................................................. 2

1.5 Sistematika Penulisan ................................................................................... 2

BAB II. TINJAUAN PUSTAKA ...................................................................... 4

2.1 Tinjauan Pustaka ........................................................................................... 4

2.1.1 Pengertian Saluran Terbuka ................................................................. 4

2.1.2 Bentuk-Bentuk Penampang Saluran Terbuka ...................................... 4

2.1.3 Perencanaan Dimensi Saluran Terbuka ............................................... 4

BAB III. METODOLOGI ................................................................................ 8

3.1 Algoritma Perhitungan Desain Dimensi Saluran Terbuka ............................ 8

3.2 Bagan Alir Perhitungan Desain Dimensi Saluran Terbuka........................... 8

BAB IV. CODING APLIKASI ........................................................................ 10

4.1 Coding ........................................................................................................... 10


4.2 Tampilan Program Aplikasi Komputer Perhitungan Desain Penampang

Persegi Saluran Terbuka ............................................................................... 27

BAB V. KESIMPULAN ................................................................................... 28

5.1 Kesimpulan ................................................................................................... 28


DAFTAR GAMBAR

2.1 Sketsa bentuk penampang persegi ................................................................ 4

3.1 Bagan Alir Penampang Persegi ..................................................................... 9

4.1 Tampilan Program Perhitungan Dimensi Saluran......................................... 27


DAFTAR TABEL

2.1 Harga koefisien manning .............................................................................. 7


BAB I

PENDAHULUAN

1.1 Latar Belakang

Saluran terbuka adalah saluran yang mengalirkan air dengan permukaan


bebas. Saluran terbuka dapat terjadi dalam bentuk yang bervariasi, mulai
dari aliran di atas permukaan tanah yang terjadi pada waktu hujan, sampai
aliran dengan kedalaman air konstan dalam saluran prismatis (saluran yang
memiliki bentuk geometris dengan dua bidang sejajar yang identik).

Dalam mendesain dimensi saluran terbuka terdapat banyak parameter


yang perlu dipertimbangkan sehingga perhitungan desain harus dilakukan
dengan cara trial error (cara coba - coba), yang mana dalam melakukan
perhitungan dimensi saluran ini akan menyita waktu yang lama dan
berulang - ulang sampai menemukan hasil yang sesuai dengan syarat yang
ditentukan.

Demi mempermudah perhitungan desain penampang saluran terbuka,


khususnya untuk penampang saluran persegi kami tertarik untuk membuat "
Program Aplikasi Komputer Perhitungan Desain Penampang Persegi
Saluran Terbuka".

1.2 Rumusan Masalah

Berdasarkan latar belakang diatas, maka rumusan masalah yang akan


dibahas dalam laporan ini adalah :

1. Bagaimana proses perancangan Program Aplikasi Komputer


Perhitungan Desain Penampang Persegi Saluran Terbuka?

2. Bagaimana mengubah persamaan perhitungan mencari dimensi ke


dalam bahasa pemrograman pascal?

3. Bagaimana desain interface aplikasi sehingga mudah untuk


digunakan?
4. Bagaimana cara menggunakan Program Aplikasi Komputer
Perhitungan Desain Penampang Persegi Saluran Terbuka?

1.3 Maksud dan Tujuan

Adapun maksud dalam laporan pembuatan software ini yakni


meningkatkan skill tim dalam merancang sebua aplikasi yang berhubungan
dengan Teknik Sipil.

Sedangkan tujuan dalam laporan pembuatan software ini yaitu :

1. Mempermudah dalam Perhitungan Desain Penampang Persegi Saluran


Terbuka

1.4 Ruang Lingkup

Adapun parameter yang digunakan dalam perancangan aplikasi ini yakni :

1. Koefisien kekerasan manning dan cheezy

2. Kemiringan dasar saluran

1.5 Sistematika Penulisan

Sistematika penulisan laporan ini yaitu Deskriptif, dengan rincian sebagai


berikut :

BAB I. Pendahuluan

Berisi latar belakang pembuatan program aplikasi, rumusan masalah,


maksud dan tujuan, serta ruang lingkup dan sistematika penulisan.

BAB II. Tinjauan Pustaka

Berisi pemaparan pembuatan program aplikasi yang berkaitan dengan ilmu


teknik sipil, rumus yang digunakan serta program aplikasi pendukung yang
digunakan pada pembuatannya.
BAB III. Metodologi

Berisi algoritma serta flowchart yang digunakan


BAB IV. Coding Aplikasi

Berisi coding dan interface yang digunakan serta pemaparannya.

BAB V. Kesimpulan

Berisi kesimpulan dari software yang dibuat


BAB II

TINJAUAN PUSTAKA

2.1 Tinjauan Pustaka

Berdasarkan judul laporan yang kami tulis, “Program Aplikasi Komputer


Perhitungan Desain Penampang Saluran Terbuka” maka diperlukan
penjelasan mengenai perencanaan saluran terbuka.
2.1.1 Pengertian Saluran Terbuka

Saluran terbuka adalah saluran di mana air mengalir dengan


muka air bebas. Pada semua titik di sepanjang saluran, tekanan di
permukaan air adalah sama, yang biasanya adalah tekanan
atmosfir. Dimensi saluran direncanakan sedemikian agar mampu
mengalirkan Debit air (Q) sebesar mungkin untuk suatu luas
penampang (A) dan kemiringan aliran (i) tertentu.

2.1.2 Bentuk Penampang Saluran Terbuka

Bentuk Penampang Persegi


Saluran terbuka berpenampang persegi empat pada umumnya
merupakan saluran buatan yang banyak digunakan untuk saluran
drainase di perkotaan atau untuk flume (talang untuk jaringan
irigasi).

Gambar 2.1 Sketsa bentuk penampang persegi

2.1.3 Perencanaan Dimensi Saluran Terbuka

Dalam mendesain dimensi saluran terbuka terdapat banyak


parameter yang perlu dipertimbangkan sehingga perhitungan desain
harus dilakukan dengan cara trial error (cara coba-coba).
Rumus-rumus yang dipergunakan dalam perhitungan
penampang saluran merupakan pengembangan dari perhitungan
Debit aliran (Q), yakni sebagai berikut:

𝑄=𝑉𝑥𝐴

Dimana :

Q = Debit (m3 / detik)

A = Luas tampang basah saluran (m2)

V = Kecepatan pengaliran ( m / dtk )

Pada perhitungan dimensi saluran, umumnya menggunakan 2


koefisien yaitu manning dan chezy , yang nantinya akan
dipergunakan dalam menentukan kecepatan aliran (V) dengan rumus
sebagai berikut :
1
𝑉𝑚𝑎𝑛𝑛𝑖𝑛𝑔 = 𝑥 𝑅32 𝑥 𝐼21
𝑛
Dimana :
V = Kecepatan aliran
R = Jari-jari hidrolis
I atau S = Kemiringan dasar saluran
n = Kekasaran manning

𝑉𝑐ℎ𝑒𝑧𝑦 = 𝑐 𝑥 √𝑅 𝑥 𝐼

Dimana :
V = Kecepatan aliran
R = Jari-jari hidrolis
I atau S = Kemiringan dasar saluran
C = Kekasaran chezy

Perhitungan mencari nilai H menggunakan metode persamaan


non linear bisection (bagi dua), jadi bentuk dasar dari persamaan
manning dan chezy perlu dikembangkan sedmikian rupa sehingga
memenuhi bentuk persamaan non liner untuk selanjutnya dapat
dipakai dalam perhitungan menentukan nilai H.

Rumus yang digunakan :


Luas penampang saluran ( A ) = B x H
Keliling basah saluran ( P ) = B + 2H
Jari − jari hidraulik ( R ) = A⁄P
Dimana :
B = Lebar bawah saluran ( m )
H = Kedalaman Saluran ( m )

Sehingga, rumus untuk mencari nilai H setelah dikembangkan


menjadi seperti berikut :
 Manning Persegi
2⁄
1 BxH 3 1⁄
f(H) = ( x[ ] xI 2 x ( B x H )) − Q … 𝑝𝑒𝑟𝑠 (1)
n B+(2xH)

 Chezy Persegi
1⁄
BxH 2 1⁄
f(H) = ( C x [ ] xI 2 x ( B x H ) ) − Q … 𝑝𝑒𝑟𝑠 (2)
B+(2xH)

Dari kedua rumus kecepatan Chezy dan Manning dapat ditarik


suatu korelasi antara koefisien Chezy dan Manning sebagai berikut :
1
R ⁄6
C=
n
Nilai koefisien n Manning untuk berbagai macam saluran dapat
dilihat di berbagai referensi, namun disini hanya ditampilkan
beberapa yang dianggap paling sering digunakan dalam
perencanaan.
Tabel 2.1 Harga koefisien manning berdasarkan tipe saluran

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

3.1 Algoritma Perhitungan Desain Dimensi Saluran Terbuka

Algoritma adalah penyusunan langkah-langkah penyelesaian masalah


dalam bentuk kalimat dengan jumlah kata terbatas tetapi tersusun secara
logis dan matematis. Pada Program Aplikasi Komputer Perhitungan Desain
Penampang Saluran Terbuka, tiap bentuk penampang saluran memiliki
algoritma masing-masing.
Algoritma Penampang Persegi
1. Mulai.
2. Input data (Debit aliran; Lebar saluran; Kemiringan dasar saluran;
nilai kekasaran manning atau nilai kekasaran chezy; a; b; toleransi).
3. f(a) & f(b)
4. f(a) × f(b)
5. f(a) × f(b) > 0; jika ya maka b = 0,1 dan ulangi dari nomor 3. Jika
tidak maka lanjut ke nomor 5.
6. c = (a + b)⁄2
7. f(c)
8. f(c) < toleransi; jika ya maka lanjut ke nomor 11. jika tidak maka
lanjut ke nomor 9.
9. f(b) × f(c) < 0; jika ya maka a = c dan ulangi dari nomor 3 hingga f(c)
< toleransi. jika tidak maka b = c dan ulangi dari nomor 3 hingga f(c) <
toleransi.
10. Qbaru.
11. Output Qbaru dan H; (h = c).
12. Selesai.
3.2 Bagan Alir Perhitungan Desain Dimensi Saluran Terbuka

Bagan alir merupakan sebuah diagram dengan simbol-simbol grafis


yang menyatakan aliran algoritma atau proses yang menampilkan langkah-
langkah yang disimbolkan dalam bentuk kotak, beserta urutannya dengan
menghubungkan masing masing langkah tersebut menggunakan tanda
panah. Pada Program Aplikasi Komputer Perhitungan Desain Penampang
Saluran Terbuka, tiap bentuk penampang saluran memiliki bagan alir
masing-masing.

Bagan Alir Penampang Persegi

Mulai

Q; Lebar; I; n
atau Chezy;
a = lebar;
b = a+30;
toleransi

Chezy atau
manning ?

f(a) x f(b) f(a) x f(b)

b = 0,1 b = 0,1

f(a) x f(b) > 0 f(a) x f(b) > 0


ya ya

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

f(c) < 0 f(c) < 0

tidak tidak
ya ya

Qbaru Qbaru

H = c; Qbaru H = c; Qbaru

selesai

Gambar 3.1 Bagan Alir Penampang Persegi


BAB IV

CODING APLIKASI

4.1 Coding

Program Aplikasi Komputer Perhitungan Desain Penampang Saluran


Terbuka kami buat dengan menggunakan software Delphi. Berikut adalah
coding yang kami tulis untuk memenuhi kebutuhan perhitungan Desain
Penampang Persegi Saluran Terbuka :

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}

procedure TForm3.Button10Click(Sender: TObject);


begin
Edit13.Text :='';
Edit14.Text :='';
Edit15.Text :='';
end;

procedure TForm3.Button11Click(Sender: TObject);


//variabel
var
Q,p1,p2,Qbaru,a,b,c,fa,fb,fc,manning,toleransi,sloof,c
hezy:real;
i,col,row:integer;
//mulai
//bersihkan string grid
begin
for col := 1 to 100 do
for row := 1 to 100 do
begin
StringGrid4.Cells[col,row]:='';
end;
//input
p1:=1/2;
p2:=2/3;
toleransi := 0.0000000001;
Q:=StrToFloat(Edit13.Text);
sloof:=StrToFloat(Edit14.Text);
manning:=StrToFloat(Edit15.Text);
chezy:=StrToFloat(Edit15.Text);
i := 1;
a:= 1;
b:= a+100;
//nilai f(a) dan f(b)
if RadioButton5.Checked=true then
begin
fa:= ( (1/manning) *
exp(ln(a/2)*p2)*exp(ln(sloof)*p1)*(3.141592654/2)*(a*a
))-Q;
fb:= ( (1/manning) *
exp(ln(b/2)*p2)*exp(ln(sloof)*p1)*(3.141592654/2)*(b*b
))-Q;
if fa*fb>0 then
begin
b:=0.1;
end;
//output f(a), f(b) dan f(c) ke stringgrid
repeat
begin

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;

//nilai f(a) dan f(b)


if RadioButton6.Checked=true then
begin
fa:= ( (chezy) *
exp(ln(a/2)*p1)*exp(ln(sloof)*p1)*(3.141592654/2)*(a*a
))-Q;
fb:= ( (chezy) *
exp(ln(b/2)*p1)*exp(ln(sloof)*p1)*(3.141592654/2)*(b*b
))-Q;
if fa*fb>0 then
begin
b:=0.1;
end;
//output f(a), f(b) dan f(c) ke stringgrid
repeat
begin

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;

procedure TForm3.Button11Enter(Sender: TObject);


begin
//peringatan kesalahan nilai manning
if (RadioButton5.Checked=true) and
(strtofloat(edit15.Text)>1) then
begin
ShowMessage('Nilai Kekasaran Manning Salah!');
end;
//peringatan kesalahan nilai chezy
if (RadioButton6.Checked=true) and
(strtofloat(edit15.Text)<1) then
begin
ShowMessage('Nilai Kekasaran Chezy Salah!');
end;

end;

procedure TForm3.Button11MouseEnter(Sender: TObject);


begin
//peringatan kesalahan nilai manning
if (RadioButton5.Checked=true) and
(strtofloat(edit15.Text)>1) then
begin
ShowMessage('Nilai Kekasaran Manning Salah!');
end;
//peringatan kesalahan nilai chezy
if (RadioButton6.Checked=true) and
(strtofloat(edit15.Text)<1) then
begin
ShowMessage('Nilai Kekasaran Chezy Salah!');
end;

end;

procedure TForm3.Button12Click(Sender: TObject);


begin
close;
end;

procedure TForm3.Button1Click(Sender: TObject);


//variabel
var
Q,Lebar,p1,p2,Qbaru,a,b,c,fa,fb,fc,manning,toleransi,s
loof,chezy:real;
i,col,row:integer;
//mulai
//bersihkan stringgrid
begin
for col := 1 to 100 do
for row := 1 to 100 do
begin
StringGrid1.Cells[col,row]:='';
end;
//input
p1:=1/2;
p2:=2/3;
toleransi := 0.0000000001;
Q:=StrToFloat(Edit1.Text);
Lebar:=StrToFloat(Edit2.Text);
manning:=StrToFloat(Edit3.Text);
sloof:=StrToFloat(Edit4.Text);
chezy:=StrToFloat(Edit3.Text);
i := 1;
a:= Lebar;
b:= a+30;
//nilai f(a) dan f(b)
if RadioButton1.Checked=true then
begin
fa:=
((1/manning)*exp(ln(Lebar*a/(Lebar+(2*a)))*p2)*exp(ln(
sloof)*p1)*(Lebar*a))-Q;
fb:=
((1/manning)*exp(ln(Lebar*b/(Lebar+(2*b)))*p2)*exp(ln(
sloof)*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:=
((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;

procedure TForm3.Button1Enter(Sender: TObject);


begin
//peringatan kesalahan nilai manning
if (RadioButton1.Checked=true) and
(strtofloat(edit3.Text)>1) then
begin
ShowMessage('Nilai Kekasaran Manning Salah!');
end;
//peringatan kesalahan nilai chezy
if (RadioButton2.Checked=true) and
(strtofloat(edit3.Text)<1) then
begin
ShowMessage('Nilai Kekasaran Chezy Salah!');
end;
end;

procedure TForm3.Button1MouseEnter(Sender: TObject);


begin
//peringatan kesalahan nilai manning
if (RadioButton1.Checked=true) and
(strtofloat(edit3.Text)>1) then
begin
ShowMessage('Nilai Kekasaran Manning Salah!');
end;
//peringatan kesalahan nilai chezy
if (RadioButton2.Checked=true) and
(strtofloat(edit3.Text)<1) then
begin
ShowMessage('Nilai Kekasaran Chezy Salah!');
end;
end;

procedure TForm3.Button2Click(Sender: TObject);


begin
Edit1.Text :='';
Edit2.Text :='';
Edit3.Text :='';
Edit4.Text :='';
end;

procedure TForm3.Button3Click(Sender: TObject);


begin
close;
end;

procedure TForm3.Button4Click(Sender: TObject);


begin
Edit5.Text :='';
Edit6.Text :='';
Edit7.Text :='';
Edit8.Text :='';
end;
procedure TForm3.Button5Click(Sender: TObject);
begin
close;
end;
4.2 Tampilan Program Aplikasi Komputer Perhitungan Desain

Penampang Persegi salran Terbuka

Gambar 4.1 Tampilan Program Perhitungan Dimensi Saluran

Program Aplikasi Komputer Perhitungan Desain Penampang Saluran


Terbuka direncanakan mampu melakukan perhitungan desain saluran
terbuka secara cepat dan mudah. Selain itu, aplikasi komputer Perhitungan
Desain Penampang Saluran Terbuka ini terlihat labih rapih dan tertata
sehingga memudahkan pengguna untuk dapat menghitung dimensi saluran
dengan syarat yang di tentukan.
BAB V

KESIMPULAN

5.1 Kesimpulan

Perhitungan desain penampang saluran terbuka pada program aplikasi


ini menggunakan metode persamaan non linear bisection (bagi dua).
Perhitungan desain penampang saluran terbuka bisa menggunakan dua
pilihan persamaan, yaitu persamaan manning dan persamaan Chezy, apabila
menggunakan persamaan manning maka nilai kekasaran yang di input harus
berada diantara 0,010 sampai 0,08 dan apabila menggunakan persamaan
Chezy maka nilai kekasaran yang di input harus berada pada rentang 7
m0.5/s sampai 55 m0.5/s. Debit aliran rencana yang di hasilkan dari
perhitungan menggunakan aplikasi ini (output) harus lebih besar sama
dengan debit banjir yang kita masukkan sesuai data awal.

Anda mungkin juga menyukai