BAB III
-
Upload
arya-putra -
Category
Documents
-
view
377 -
download
3
Transcript of BAB III
BAB III
DASAR PENGGUNAAN BAHASA PEMROGRAMAN
3.1 Tujuan.
1. Mengetahui dan memahami penggunaan menu-menu dasar yang ada pada
masing-masing bahasa pemrograman khususnya bahasa Pascal dan C++.
2. Memahami proses pembuatan program komputer mulai dari pemahaman
masalah, melakukan perancangan algoritma (flowchart), coding, testing dan
debuging.
3. Memahami gaya pemrograman (seni penulisan program) yang baik dan bisa
menerapkannya dalam setiap pembuatan program.
4. Memahami dan bisa membuat program modul-modul yang berbentuk suatu
fungsi.
5. Memahami penggunaan statement control khususnya if..,if..else...
3.2 Dasar Teori.
3.2.1 Statement If...Then…
Statemen If…Then… ini hanya memiliki satu kondisi, yaitu jika kondisi
pertama benar maka kondisi kedua tidak akan dikerjakan.Sedangkan jika kondisi
pertama salah maka akan langsung dilanjutkan ke kondisi kertiga.Statement ini
menentukan sebuah statement (atau blok kode) yang akan dieksekusi jika dan
hanya jika persyaratan boolean (boolean statement) bernilai true. Statemen If…
Then…adalah satemen if yang paling sederhana.
Sintaks :
Kode Program 3.1 Sintaks statement if...then....
if <Ekspresi Boolean> then begin ………… …………end;
Flowchart Statement If…Then… :
n
y
Gambar 3.1 Flowchart statement if...then....
Flowchart :
Gambar 3.2 Flowchart contoh program if...then....
Boolean
expresion
statement
mulai
ketTidak lulus
Input:Nilai?
(N)
N>=70
ketlulus
Ouput:ket
selesai
Program :
Kode Program 3.2 Listing program contoh program if...then....
Pada saat program diatas dijalankan (run) maka output awal yang akan
tampil adalah Nilai ? 50 (misal user menginputkan 50) kemudian hasil
akhir yang akan tampil adalah :
Hal ini disebabkan karena nilai yang dimasukkan user tidak memenuhi kondisi
untuk mendapatkan keterangan lulus.
3.2.2 Statement If…Then… else…
Statemen If…Then…Else… ini memiliki lebih dari satu kondisi, yaitu jika
kondisi pertama benar maka kondisi kedua tidak akan dikerjakan.Sedangkan jika
kondisi pertama salah maka selanjutnya akan dikerjakan kondisi yang kedua lalu
akan dilanjutkan ke kondisi ketiga.Statement if-else digunakan apabila kita ingin
mengeksekusi sebuah statement dengan kondisi true dan statement yang lain
dengan kondisi false.
Program If_Then;Uses Crt;VarN:real;Ket:string[11];
BeginClrScr;Ket:=‘Tidak Lulus’;Write(‘Nilai ? ‘);Readln(N);
If N >= 70 ThenKet:=’Lulus’;Writeln(Ket);Readln;End.
Nilai ? 50Tidak Lulus
Sintaks :
Kode Program 3.3 Sintaks statemen if...then....else...
Flowchart Statement If…Then…Else… :
y
n
Gambar 3.3 Flowchart statemen if...then....else...
Flowchart :
Gambar 3.4 Flowchart contoh program if...then...else....
y
n
if <Ekspresi Boolean> then begin ………… …………
end {perhatikan tanda semicolon ‘ ; ‘ dihilangkan} else begin
…………end;
kondisi
statement
statement
mulai
Input:Nilai?
(N)
N>=70
ketTidak lulus
Ouput:ket
selesai
ketlulus
Program :
Kode Program 3.4 Listing contoh program if...then...else....
Pada saat program diatas dijalankan (run) maka output awal yang akan
tampil adalah Nilai ? 60 (misal user menginputkan 60) kemudian hasil
akhir yang akan tampil adalah :
Hal ini disebabkan karena nilai yang dimasukkan user tidak memenuhi
kondisi untuk mendapatkan keterangan lulus.Jika user memasukkan nilai
yang lebih besar atau sama dengan 70 maka keterangan yang keluar adalah
lulus.
3.2.3 Flowchart
A. Pendahuluan
Flowchart adalah penggambaran secara grafik dari langkah-langkah dan
urut-urutan prosedur dari suatu program. Flowchart menolong analis dan
programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih
kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam
pengoperasian. Flowchart biasanya mempermudah penyelesaian suatu masalah
Program If_Then_Else;Uses Crt;var n:real; ket:string;beginclrscr; Write('Nilai ?');readln(n);
if n >= 70 then begin ket:='lulus'; writeln(ket); end else begin ket:='gagal'; writeln(ket); end;readln;end.
Nilai ? 60Tidak Lulus
khususnya masalahyang perlu dipelajari dan dievaluasi lebih lanjut. Adapun
simbol-simbol dalam flowchart adalah sebagai berikut :
SIMBOL NAMA FUNGSI
TERMINATOR AWAL ATAU AKHIR PROGRAM
FLOW LINE ARAH ALIRAN PROGRAM
PROSES PROSES PERHITUNGAN ATAU PENGOLAHAN
DATA
INPUT/OUTPUT DATA
PROSES INPUT OUTPUT DATA
SUBPROGRAM PROSES MENJALANKAN SUBPROGRAM
OFF PAGE CONECTOR
PENGHUBUNG BAGIAN FLOWCHART PADA HALAMAN YANG
BERBEDA
DECISION PENGAMBILAN KEPUTUSAN UNTUK
LANGKAH SELANJUTNYA
ON PAGE CONECTOR
PENGHUBUNG BAGIAN – BAGIAN PADA SATU
HALAMAN
PREPARATION PROSES INISIALISASI/ PEMBERIAN HARGA
AWAL
Gambar 3.5 Simbol-Simbol Flowchart
Gambar 3.5 Simbol-Simbol Flowchart
3.2.4 Gaya atau Seni dalam Menulis Suatu Program
Dalam pembuatan sebuah program selain kita membuat program yang benar
sesuai dengan yang kita inginkan, kita juga harus memperhatikan seni penulisan
program tersebut. Beberapa contoh dari gaya atau seni dalam menulis suatu
program adalah sebgai berikut :
Contoh 1 :
Kode Program 3.5 Contoh penulisan program
Contoh 2 :
Kode Program 3.6 Contoh penulisan program
Gaya penulisan pada contoh 2 adalah bentuk lain dari contoh 1. Gaya
penulisan dalam bahasa pemrograman itu bebas dan sesuai keinginan akan tetapi,
bila kita mebuat program dengan banyak pertanyaan hingga puluhan dengan gaya
penulisan contoh 2, selain kita akan sulit melihat program yang kita buat, kita
juga akan sulit untuk merevisi atau memperbaiki bila terdapat kesalahan dalam
pembuatan program.
Pernyataan yang di tulis dalam bahasa pemrograman tersebut bebas dalam
arti dalam satu baris boleh menuliskan lebih dari satu pernyataan, asalkan
pernyataan tersebut di pisahkan dengan tanda titik koma (;). Akan tetapi akan
lebih baik apabila dalam satu baris ditulis satu pernyataan saja. Adapun
contohnya sebagai berikut.
Contoh 3 :
Kode Program 3.7 Contoh penulisan pernyataan
PROGRAM contoh _1; BEGIN Writeln (‘ Welcome to ’); Writeln (‘Turbo Pascal’); END.
PROGRAM contoh _1; BEGIN Writeln (‘ Welcome to ’); Writeln (‘Turbo Pascal’); END.
Writeln (‘ Welcome to’);Writeln (‘Turbo Pascal’);
Contoh 4 :
Kode Program 3.8 Contoh penulisan pernyataan
Dari contoh 3 dan contoh 4 di atas dapat kita lihat mana gaya penulisan
yang lebih enak dipandang. Tentunya gaya penulisan pada contoh 3 terlihat lebih
enak di pandang, karena penulisan pernyataan lebih terlihat rapi dan mudah
dimengerti oleh pembaca program. Spasi pada penulisan pernyataan setelah tanda
titik koma (;) tidak berpengaruh pada program yang kita buat,akan tetapi
penggunaan spasi yang baik memudahkan pembaca dan pengguna mengerti
penulisan program tersebut.
Contoh 5 :
Kode Program 3.9 Contoh penulisan pernyataan
Program yang baik memiliki persayaratan sebagai berikut :
1. Mudah dibaca dan dapat dipahami oleh orang lain.
2. Hindari penulisan program yang terkesan menghemat tempat walaupun
dengan cara demikian bisa menghemat memory beberapa byte.
3. Pernyataan yang terletak di antara begin dan (end.) dengan gaya penulisan
menjorok ke dalam agar terlihat jelas awal dan akhir suatu pernyataan,
karena dalam beberapa permasalahan terdapat pernyataan di dalam
pernyataan. Contoh sebagai berikut :
Writeln (‘ Welcome to ’); Writeln (‘Turbo Pascal’);
Hasil := 5 / 2 * 8 + 2 – 5 * (9 + 3);
Kode Program 3.10 Contoh penulisan pernyataan majemuk
Inti yang dapat kita simpulkan atas penjelasan mengenai gaya penulisan suatu
program di atas adalah :
1. Seni penulisan program bertujuan untuk memudahkan pembaca mengertikan dan
memahami program yang kita buat.
2. Dalam penulisan script program Pascal, pasangan reserved word seperti begin-
end dan repeat-until diketik sejajar, sedangkan statemen-statemen di antaranya
ditulis menjorok agak ke dalam dengan menggunakan tabulasi.
3. Titik-koma selalu diletakkan pada akhir setiap baris perintah yang memerlukan.
3.2.5 Dasar Pembuatan Suatu Program
Dalam pembuatan sebuah program terlebih dahulu kita harus mengerti apa
maksud dari pertanyaan tersebut dan mengerti logika dan langkah – langkah
dalam membuat program yang dikerjakan. Langkah-langkah dalam pembuatan
sebuah program adalah :
1. Mendefinisikan masalah
Pada langkah ini, kita harus dapat menentukan masalah yang harus kita
tangani, kemudian bagaimana cara memecahkan masalah tersebut dengan
Program If_Then_Else;Uses Crt;var n:real; ket:string;beginclrscr; Write('Nilai ?');readln(n);
if n >= 70 then begin ket:='lulus'; writeln(ket); end else begin ket:='gagal'; writeln(ket); end;readln;end.
program yang akan kita buat, apa saja yang akan dimasukan (input) dan
bagaimana hasil atau keluarannya (output).
2. Menentukan solusi
Setelah masalah didefinisikan dengan jelas, masukan (input) dan keluaran
(output) harus jelas. Selanjutnya adalah mencari jalan bagaimana masalah
tersebut diselesaikan dengan jalan yang paling efisien dan paling cepat.
3. Membuat Algoritma
Langkah ini merupakan salah satu langkah penting dalam pemrograman
komputer karena dalam pembuatan algoritma yang salah akan menyebabkan
program memiliki kerja yang kurang efisien dan kurang baik.
Algoritma adalah langkah-langkah logis atau urutan langkah-langkah logis
yang disusun secara sistematik untuk menyelesaikan suatu permasalahan.
Adapun cara mendefinisikan masalah algoritma adalah sebagai berikut :
a. Penggunaan kalimat deskriptif (bahasa sehari-hari untuk
menyebutkan langkah-langkahnya).
b. Menggunakan bagan alir (flowchart).Bagan alir (flowchart)
merupakan bagan yang menjelaskan secara rinci langkah – langkah dari
proses program. Bagan alir program dibuat dari derifikasi bagan alir
sistem.
c. Menggunakan kode semu (pseudocode).
4. Menulis program
Pada langkah ini, kita mulai menuangkan masalah ke dalam bahasa
pemrograman pada komputer untuk memecahkan masalah yang akan
dipecahkan. Dalam menulis program kita bisa memilih banyak bahasa
pemrograman yang ada. Hal yang perlu dipertimbangkan saat memilih bahasa
pemrograman adalah masalah yang kita hadapi dan bahasa pemrograman
yang kita kuasai.
5. Menguji program
Setelah program selesai ditulis, kita harus mengujinya. Pengujian yang dapat
kita lakukan meliputi :
1. Apakah program berhasil berjalan dengan baik?
2. Apakah program yang di buat menghasilkan output yang sesuai?
3. Langkah tersebut bisa di lakukan terus menerus hingga program berjalan
seperti yang kita inginkan.
6. Menulis dokumentasi
Menulis dokumentasi penting dilakukan jika suatu saat ingin melakukan
perbaikan atau perubahan. Dokumentasi ini berupa komentar yang
menjelaskan kegunaan dari suatu pernyataan setiap beberapa baris program.
Jadi dokumentasi ini dijadikan satu dalam program berupa komentar –
komentar pendek.
7. Merawat program
Sewaktu – waktu program yang sudah ditulis perlu direvisi atau diperbaiki untuk
mebuat program tersebut lebih sederhana dan efisien. Untuk itu program harus
disimpan dengan baik setelah program selesai dibuat
3.3 Pembahasan dan Analisa.
Di sini akan dijelaskan tentang pembahasan dan analisa dari program gaji
karyawan dan program volume dan luas tabung.
3.3.1 Program Gaji Karyawan.
Program gaji ini berfungsi untuk menghitung gaji karyawan perbulan. Gaji
karyawan ini dihitung dari hasil penjumlahan gaji pokok, tunjangan dan upah
lembur dari karyawan tersebut.
3.3.1.1 Algoritma Program Gaji Karyawan.
a. Algoritma Prosedur Jabatan.
1. Mulai.
2. Bila ng=0 maka jabatannya adalah ’’Helper’ ’.
3. Bila ng=1 maka jabatannya adalah ”Staff ” .
4. Bila ng=2 maka jabatannya adalah ”Officer” .
5. Bila ng=3 maka jabatannya adalah ”Supervisor” .
6. Bila ng=4 maka jabatannya adalah ”Assistant Manager”.
7. Bila ng=5 maka jabatannya adalah ”Manager” .
8. Bila ng=6 maka jabatannya adalah ”General Manager”.
9. Selesai.
b. Algoritma Prosedur Gaji_Pokok.
1. Mulai.
2. Bila ng=0 maka gaji pokoknya sebesar Rp 750.000,- .
3. Bila ng=1 maka gaji pokoknya sebesar Rp 1.250.000,-.
4. Bila ng=2 maka gaji pokoknya sebesar Rp 1.750.000,-.
5. Bila ng=3 maka gaji pokoknya sebesar Rp 2.500.000,-.
6. Bila ng=4 maka gaji pokoknya sebesar Rp 3.750.000,-.
7. Bila ng=5 maka gaji pokoknya sebesar Rp 5.000.000,-.
8. Bila ng=6 maka gaji pokoknya sebesar Rp 10.000.000,-.
9. Selesai.
c. Algoritma Prosedur Tunjangan_Jabatan.
1. Mulai.
2. Bila ng lebih dari atau sama dengan 0 dan ng kurang dari atau sama dengan 3
maka tunjangannya sebesar Rp 0,-.
3. Bila ng=4 maka tunjangannya sebesar Rp 1.250.000,-.
4. Bila ng=5 maka tunjangannya sebesar Rp 2.000.000,-.
5. Bila ng=6 maka tunjangannya sebesar Rp 5.000.000,-.
6. Selesai.
d. Algoritma Prosedur Hitung_Gaji.
1. Mulai.
2. Cek jika “ng=0” atau “ng=1” atau “ng=2” atau “ng=3” jika ya menuju perintah
no 3, jika tidak maka jam kerja nilainya tetap lalu menuju ke perintah no 6.
3. Jika jam kerja lebih besar dari 173 jam, maka jam kerja dikurangi dengan
173.Hasil pengurangan tersebut adalah jam lembur.
4. Jika jam lembur lebih besar dari 40 jam, maka jam lembur= 40, dan jika jam
lembur lebih kecil dari 40 maka jam lembur nilainya tetap.
5. Upah lembur dihitung dari (gaji pokok/173)* jam lembur.
6. Gaji total dihitung dari gaji pokok + tunjangan + upah lembur.
7. Selesai.
e. Algoritma Program Utama.
1. Mulai.
2. Tentukan nama karyawan,jika nama karyawan masih kosong, maka user
harus mengulang menginputkan namanya.
3. Tentukan Grade karyawan.
4. Apabila Grade kurang dari 0 atau lebih dari 6 atau bukan angka, maka user
harus menginput ulang gradenya.
5. Tentukan berapa jam karyawan tersebut bekerja dalam 1 bulan.
6. Apabila jam kerja kurang dari 0 atau input bukan angka, maka user harus
menginput ulang total jam kerjanya.
7. Panggil prosedur jabatan.
8. Panggil prosedur gaji_pokok.
9. Panggil prosedur tunjangan_jabatan.
10. Panggil prosedur hitung_gaji
11. Cetak nama, grade, total jam kerja,total jam lembur, gaji pokok, tunjangan,
upah lembur, dan total gaji.
12. Apakah ingin mengulang, jika ya kembali ke langkah 1, jika tidak stop.
3.3.1.2 Flowchart Program Gaji Karyawan.
a. Flowchart Prosedur Jabatan.
Gambar 3.6 Flowchart procedure jabatan.
b. Flowchart Prosedur Gaji_Pokok.
Gambar 3.7 Flowchart procedure gaji_pokok.
c. Flowchart Prosedur Tunjangan_Jabatan.
Gambar 3.8 Flowchart procedure tunjangan.
d. Flowchart Prosedur Hitung_Gaji.
Gambar 3.9 Flowchart procedure hitung_gaji.
e. Flowchart Program Utama.
Gambar 3.10 Flowchart program utama gaji karyawan.
3.3.1.3 Penjelasan Prosedur Fungsi.
Pada program menghitung gaji karyawan ini menggunakan empat buah
procedure yaitu fungsi jabatan, gaji_pokok, tunjangan_jabatan, dan hitung_gaji.
1. Procedure yang pertama adalah procedure jabatan. Procedure jabatan ini
digunakan untuk menentukan jabatan dari karyawan.
Kode Program 3.11 Listing program procedure jabatan.
2. Procedure yang kedua adalah procedure gaji_pokok. Procedure gaji_pokok ini
digunakan untuk menentukan gaji pokok dari karyawan berdasarkan grade
atau jabatannya.
Kode Program 3.12 Listing program procedure gaji_pokok.
procedure jabatan; {procedure untuk menentukan jabatan}begin case ng of 0:jbt:='Helper'; 1:jbt:='Staff'; 2:jbt:='Officer'; 3:jbt:='Supervisor'; 4:jbt:='Assistant Manager'; 5:jbt:='Manager'; 6:jbt:='General Manager'; end;end;
procedure gaji_pokok;{procedure untuk menentukan gaji pokok}begin case ng of 0:gapok:=750000; 1:gapok:=1250000; 2:gapok:=1750000; 3:gapok:=2500000; 4:gapok:=3750000; 5:gapok:=5000000; 6:gapok:=10000000; end;end;
3. Procedure ketiga adalah procedure tunjangan_jabatan. Procedure
tunjangan_jabatan ini digunakan untuk menentukan tunjangan yang didapat
karyawan berdasarkan grade atau jabatannya. Karyawan yang mendapatkan
tunjangan hanya karyawan yang bergrade 4,5,dan 6.
Kode Program 3.13 Listing program procedure tunjangan.
4. Procedure yang keempat dan yang paling penting adalah procedure hitung
gaji. Procedure ini digunakan untuk menghitung jam lembur karyawan, upah
lembur karyawan, dan total gaji karyawan. Karyawan yang mendapatkan jam
lembur hanya yang ber-grade dari 0 sampai 3, sedangkan karyawan yang ber-
grade 4 dampai 6 tidak dapat upah lembur. Upah lembur didapat apabila
karyawan telah bekerja diatas 173 jam per bulan, cara menghitung upah
lembur yaitu dengan cara mengurangi jam kerja per bulan dengan 173 lalu
dikalikan dengan gaji pokok. Apabila jam kerja perbulan diatas 213 maka jam
lembur maksimum adalah 40. Di bawah ini adalah listing program dari
procedure hitung :
procedure tunjangan_jabatan; begin {procedure untuk menampilkan tunjangan jabatan}
case ng of 0..3:tunjangan:=0; 4:tunjangan:=1250000; 5:tunjangan:=2000000; 6:tunjangan:=5000000; end;end;
procedure hitung_gaji; {procedure untuk menghitung total gaji}beginlembur:=0;
if ((ng=0) or (ng=1) or (ng=2) or (ng=3)) then begin
if jam>jmax then
begin tjam:=jam; jam:=jam-jmax;
if jam>40 then begin jam:=40; end; lembur:=(gapok/jmax)*jam; gatot:=gapok+tunjangan+lembur; end else
begin gatot:=gapok+tunjangan+lembur; tjam:=jam; end;
end
else
begin tjam:=jam; jam:=jam-173; gatot:=gapok+tunjangan+lembur; end;end;
Kode Program 3.14 Listing program procedure hitung_gaji
3.3.1.4 Listing Program Gaji Karyawan.
program gaji_karyawan;uses wincrt;var nama,jbt,s:string; ng,jmax,tjam:byte; lembur,gatot:real; gapok,tunjangan:longint; i,l,a,jam:integer; exit:char;procedure head; {procedure untuk menampilkan judul program}begin gotoxy(12,1); writeln('================================================'); gotoxy(12,2); writeln(' PROGRAM GAJI KARYAWAN '); gotoxy(12,3); writeln(' PT SENGGOL BACOK '); gotoxy(12,4); writeln('================================================'); writeln; writeln; writeln;end;procedure jabatan; {procedure untuk menentukan jabatan}begin case ng of 0:jbt:='Helper'; 1:jbt:='Staff'; 2:jbt:='Officer'; 3:jbt:='Supervisor'; 4:jbt:='Assistant Manager'; 5:jbt:='Manager'; 6:jbt:='General Manager'; end;end;procedure gaji_pokok; {procedure untuk menentukan gaji pokok}begin case ng of 0:gapok:=750000; 1:gapok:=1250000; 2:gapok:=1750000; 3:gapok:=2500000; 4:gapok:=3750000; 5:gapok:=5000000; 6:gapok:=10000000; end;end;
procedure tunjangan_jabatan;
begin {procedure untuk menampilkan tunjangan jabatan} case ng of 0..3:tunjangan:=0; 4:tunjangan:=1250000; 5:tunjangan:=2000000; 6:tunjangan:=5000000; end;end;
procedure hitung_gaji; {procedure untuk menghitung total gaji}
begin
lembur:=0;
if ((ng=0) or (ng=1) or (ng=2) or (ng=3)) then begin if jam>jmax then begin tjam:=jam; jam:=jam-jmax; if jam>40 then begin jam:=40; end; lembur:=(gapok/jmax)*jam; gatot:=gapok+tunjangan+lembur; end else begin gatot:=gapok+tunjangan+lembur; tjam:=jam; end; end
else begin tjam:=jam; jam:=jam-173; gatot:=gapok+tunjangan+lembur; end;
end;
begin clrscr; jmax:=173;repeat
repeat
clrscr; {input nama} head; write ('Masukkan Nama Anda : '); readln (nama); if (length(nama)=0) then begin writeln('Anda belum memasukkan nama!'); readkey; end until (length(nama)>0);
repeat
clrscr; head; {tabel no grade dan jabatan} writeln('0 : Helper'); writeln('1 : Staff'); writeln('2 : Officer'); writeln('3 : Supervisor'); writeln('4 : Assistant Manager'); writeln('5 : Manager'); writeln('6 : General Manager'); writeln; write ('Masukan Grade Anda : '); {input no grade} readln (s); val(s,ng,i); if i <> 0 then begin writeln('Input harus angka!'); a:=0; readkey; end else if ng<0 then begin writeln('Input tidak ada dalam daftar GRADE!'); a:=0; readkey; end else
if ng >6 then
begin writeln('Input tidak ada dalam daftar GRADE!'); a:=0; readkey; end
else
a:=1;
until a=1;
repeat clrscr; {input jam kerja 1 bulan} head;
writeln('Jam Kerja 1 Bulan Minimal 173 ');
writeln('Masukkan Jam Kerja Anda 1 Bulan : ');
readln(s);
val(s,jam,i);
if i <> 0 then begin writeln('Input harus angka!'); a:=0; readkey; end
else
if jam<0 then begin writeln('Input salah!'); a:=0; readkey; end else a:=1; until a=1;
Kode Program 3.15 Listing program gaji karyawan.
3.3.2 Program Volume dan Luas Kerucut dan Limas Segi Empat.
Program ini ini berfungsi untuk menghitung menghitung luas dan volume
kerucut dan limas segi empat. Luas kerucut dihitung menggunakan rumus (phi x
jari-jari)x(sisi miring x jari-jari), volume kerucut dihitung menggunakan rumus
V= phi x r x r x t x 0,33 ,sedangkan untuk limas rumus nya adalah luas = ((p + l)*
t) + (p * l) dan volume = 0.33*p*l*t .
3.3.2.1 Algoritma Program Volume dan Luas Tabung.
a. Algoritma Fungsi L_Kerucut.
1. Mulai
2. Tentukan phi, phi:=3.14
3. Tentukan nilai sisi miring dengan rumus, s:=sqrt(sqr(r)+sqr(t));
4. Hitung luas selimut kerucut dengan rumus l_kerucut=(phi*r)+(s*r);
5. Selesai
b. Algoritma Fungsi V_Kerucut.
1. Mulai.
2. Hitung volume kerucut dengan rumus v_kerucut= phi*r*r*t*0.33.
3. Selesai.
c. Algotitma Fungsi L_Limas4.
1. Mulai.
2. Hitung luas limas segi empat dengan rumus l_limas4 =( (p+l)*t)+(p*l)
3. Selesai.
d. Algotitma Fungsi V_Limas4.
1. Mulai.
2. Hitung volume limas segi empat dengan rumus v_limas4 = 0.33 * p * l * t.
3. Selesai
e. Algoritma Program Utama.
1. Mulai.
2. Pilih jenis operasi perhitungan jika j =1 maka lanjutkan ke langkah 3 untuk
perhitungan untuk bangun ruang kerucut, jika j = 2 maka lanjutkan ke
langkah 7 untuk perhitungan untuk bangun ruang limas segi empat,tapi jika
jenis operasi yang di inputkan tidak sesuai dengan dua kriteria tersebut maka
user harus menginputkan ulang jenis operasi .
3. Tentukan jari-jari kerucut,jika user menginputkan huruf atau nilai kurang dari
0 maka user harus menginputkan ulang jari-jari kerucut.
4. Tentukan tinggi kerucut,jika user menginputkan huruf atau nilai kurang dari 0
maka user harus menginputkan ulang tinggi kerucut.
5. Panggil fungsi l_kerucut dan v_kerucut.
6. Cetak hasil.
7. Tentukan panjang limas ,jika user menginputkan huruf atau nilai kurang dari
0 maka user harus menginputkan ulang panjang limas.
8. Tentukan lebar limas,jika user menginputkan huruf atau nilai kurang dari 0
maka user harus menginputkan ulang lebar limas.
9. Tentukan tinggi limas,jika user menginputkan huruf atau nilai kurang dari 0
maka user harus menginputkan ulang tinggi limas.
10. Panggil fungsi l_limas4 dan v_limas4.
11. Cetak hasil.
12. Apakah ingin mengulangi, jika ya kembali ke langkah 1 jika tidak langsung
stop.
3.3.2.2 Flowchart Program Volume dan Luas Tabung.
a. Flowchart Fungsi L_Kerucut.
Gambar 3.11 Flowchart function l_kerucut.
b. Flowchart Fungsi V_Kerucut.
Gambar 3.12 Flowchart function v_kerucut
c. Flowchart Fungsi L_Limas4.
Gambar 3.13 Flowchart function l_limas4.
d. Flowchart Fungsi V_Limas4.
Gambar 3.14 Flowchart function v_limas4
e. Flowchart Program Utama.
Gambar 3.15 Flowchart program utama volume dan luas tabung
3.3.2.3 Penjelasan Prosedur Fungsi.
Pada program menghitung kerucut dan limas segi empat ini menggunakan empat
buah fungsi yaitu fungsi l_kerucut,v_kerucut, l_limas4, dan v_limas4.
1. Function yang pertama adalah function l_kerucut. Function l_kerucut ini
digunakan untuk menghitung luas keseluruhan dari selimut kerucut. Di bawah
ini adalah listing program dari function l_kerucut :
Kode Program 3.14 Function l_kerucut.
function l_kerucut(var l_krct:real):real;begin phi:=3.14;
s:=sqrt(sqr(r)+sqr(t));l_kerucut:= (phi*r)+(s*r);
end;
2. Function yang kedua adalah function v_kerucut. Function v_kerucut ini
digunakan untuk menghitung volume dari suatu kerucut. Di bawah ini adalah
listing program dari function v_kerucut :
Kode Program 3.15 Function v_kerucut.
3. Function yang ketiga adalah function l_limas4. Function l_limas4 ini
digunakan untuk menghitung luas dari suatu limas segi empat. Di bawah ini
adalah listing program dari function l_limas4 :
Kode Program 3.16 Function l_limas4.
4. Function yang ketiga adalah function v_limas4. Function v_limas4 ini
digunakan untuk menghitung volume dari suatu limas segi empat. Di bawah
ini adalah listing program dari function v_limas4 :
Kode Program 3.17 Function v_limas4
function v_kerucut (var v_krct:real):real;begin
v_kerucut:= phi*r*r*t*0.33; end;
function l_limas4 (var l_lms4:real):real;begin
l_limas4:= ((p + l)* t) + (p * l); end;
function v_limas4 (var v_lms4:real):real;begin
v_limas4:= 0.33*p*l*t ;end;
3.3.2.4 Listing Program Volume dan Luas Tabung.
Program limas_kerucut;Uses wincrt;var t,r,i,a,p,l:integer; s_r,s_t,s_l,s_p:string; phi,s,v:real; exit,j:char;
procedure head; {procedure untuk mengampilkan title}begin gotoxy(20,1); writeln('============================================'); gotoxy(20,2); writeln(' MENGHITUNG KERUCUT DAN LIMAS SEGI EMPAT '); gotoxy(20,3); writeln(' by : kelompok 7 '); gotoxy(20,4); writeln('============================================'); writeln; writeln; writeln;end;
function l_kerucut(var l_krct:real):real;begin phi:=3.14;
s:=sqrt(sqr(r)+sqr(t));l_kerucut:= (phi*r)+(s*r);
end;
function v_kerucut (var v_krct:real):real;begin
v_kerucut:= phi*r*r*t*0.33; end;
function l_limas4 (var l_lms4:real):real;begin
l_limas4:= ((p + l)* t) + (p * l); end;
function v_limas4 (var v_lms4:real):real;begin
v_limas4:= 0.33*p*l*t ;end;
begin
repeat
clrscr;
repeat
head;begin
writeln('silahkan pilih operasi ');writeln('1.Kerucut ');writeln('2.Limas Segi Empat ');writeln('Masukan Kode Operasi :');
readln(j) ;
clrscr;
if (j='1') then
begin
head;
repeat {input nilai tinggi kerucut} clrscr; head; write('Masukkan tinggi kerucut +> ');readln(s_t); val(s_t,t,i); if i <> 0 then begin writeln('Input harus angka!'); a:=0; readkey; end else
if t <= 0 then begin writeln('Nilai tidak boleh kurang dari 0!'); a:=0; readkey; end else a:=1; until a=1;
repeat {input nilai jari jari alas kerucut} clrscr; head; write('Masukkan jari jari alas kerucut +> ');readln(s_r); val(s_r,r,i); if i <> 0 then begin writeln('Input harus angka!'); a:=0; readkey; end else if r <= 0 then begin writeln('Nilai tidak boleh kurang dari 0!'); a:=0; readkey; end else a:=1; until a=1; clrscr; head; phi:=3.14; writeln('volumenya adalah :',v_kerucut(v):5:2); writeln('luasnya adalah:',l_kerucut(v):5:2);
endelseif (j='2') thenbegin
repeat {input nilai tinggi limas} clrscr; head; write('Masukkan tinggi limas +> ');readln(s_t); val(s_t,t,i); if i <> 0 then begin writeln('Input harus angka!'); a:=0; readkey; end else if t <= 0 then begin writeln('Nilai tidak boleh kurang dari 0!'); a:=0; readkey; end else a:=1; until a=1;
repeat {input nilai lebar limas} clrscr; head; write('Masukkan lebar limas +> ');readln(s_l); val(s_l,l,i); if i <> 0 then begin writeln('Input harus angka!'); a:=0; readkey; end else if r < 0 then begin writeln('Nilai tidak boleh kurang dari 0!'); a:=0; readkey; end else a:=1; until a=1;
repeat {input nilai panjang limas} clrscr; head; write('Masukkan panjang limas +> ');readln(s_p); val(s_p,p,i); if i <> 0 then begin writeln('Input harus angka!'); a:=0; readkey; end else if r < 0 then begin writeln('Nilai tidak boleh kurang dari 0!'); a:=0; readkey; end else a:=1; until a=1; clrscr; head; writeln('volumenya adalah :',v_limas4(v):5:2); writeln('luasnya adalah :',l_limas4(v):5:2); endelsewriteln('kode salah');
Kode Program 3.18 Listing program volume dan luas tabung.
3.4 User Interface dan Uji Coba.
3.4.1 Uji Coba Program Gaji Karyawan.
Dalam menguji coba program gaji karyawan, pertama inputkan nama
karyawan, kemudian inputkan nomor grade. Dalam menginputkan grade harus
menginputkan angka antara 0 sampai 6. Jika yang diinputkan adalah huruf
(karakter) maka akan muncul tampilan ” Input harus angka”. Sedangkan jika yang
diinputkan adalah angka yang kurang dari 0 atau lebih dari 6, maka akan muncul
tampilan ”Input tidak ada dalam daftar grade”.
Kemudian dalam menginputkan jumlah jam kerja, jika yang diinputkan
adalah huruf (karakter),maka akan muncul tampilan ”Input harus angka”. Jika jam
kerja yang diinputkan kurang dari 0 maka akan muncul tampilan ”Input salah”.
Berikut ini adalah gambar dan ilustrasi dari uji coba program “Gaji Karyawan”
mulai dari proses penginputan nama, grade dan jam kerja .
end ;until(j ='1') or (j='2');
write ('Apakah Anda Ingin Mengulang . . .? [Y\T] : ');
readln (exit);until (exit='t') or (exit='T');
clrscr;donewincrt;end.
Gambar 3.16 Tampilan awal program gaji karyawan.
Gambar 3.14 adalah tampilan awal sekaligus form input nama pegawai
pada saat program gaji karyawan dijalankan.
Gambar 3.17 Input nama kosong.
Jika user tidak menginputkan nama pegawai maka akan muncul sebuah
pesan yang memberitahu bahwa user belum memasukkan nama, jadi user harus
menginputkan nama sebelum melanjutkan ke langkah selanjutnya.
Gambar 3.18 Input nama program gaji karyawan.
Pada gambar 3.16 adalah tampilan program saat user disuruh
menginputkan nama.Nama yang diinputkan pada gambar diatas adalah
”Setanallaz” (misalnya user menginputkan Setanallaz).
Gambar 3.19 Input no grade dengan huruf.
Jika user menginputkan pilihan grade dengan huruf maka akan muncul
sebuah pesan yang memberitahu bahwa user tidak boleh menginputkan huruf
untuk memilih grade, user harus menginputkan salah satu nomor grade dengan
angka yang telah ditentukan seperti gambar diatas.
Gambar 3.20 Input no grade diatas 6.
Jika user menginputkan pilihan grade yang tidak ada pada daftar grade
maka akan muncul sebuah pesan yang berisi peringatan bahwa user hanya dapat
memilih nomor grade seperti yang telah ditentukan pada program tersebut.
Gambar 3.21 Input jam kerja di bawah 0.
Pada gambar 3.19 bisa dilihat jika user menginputkan jam kerja di bawah
0 jam maka akan muncul sebuah pesan peringatan yang memberitahu bahwa user
salah dalam menginputkan total jam kerja perbulan.
Gambar 3.22 Input jam kerja.
Gambar diatas adalah tampilan program saat user disuruh menginputkan
total jam kerja perbulan.Total jam kerja yang diinputkan pada gambar diatas
adalah ”213” (misal user menginputkan 213).
Gambar 3.23 Tampilan akhir program gaji karyawan.
Gambar diatas adalah tampilan akhir dari program gaji karyawan.Pada saat
tampilan akhir muncul maka akan muncul konfirmasi untuk keluar dari
program.Jika user menekan hurup ”T” atau ”t” pada keyboard maka program akan
berhenti.Tetapi jika user menekan keyword selain ”T” atau ”t” maka program
akan mengulang lagi dari awal.
3.4.2 Uji Coba Program Limas Segi Empat Dan Kerucut.
Dalam menguji coba program limas segi empat dan kerucut , pertama
masukkan jenis operasi perhitungan, jika user ingin melakukan perhitungan untuk
bangun ruang kerucut maka user harus menginputkan 1 dan jika user ingin
melakukan perhitungan bangun ruang limas segi empat maka user harus
menginputkan 2, tetapi jika user menginputkan selain 1 dan 2 maka akan muncul
tampilan”Kode salah ”. Di bawah ini adalah tampilan program setelah dijalankan.
Gambar 3.24 Tampilan awal program volume dan luas tabung.
Gambar diatas adalah tampilan awal pada saat program limas segi empat
dan kerucut dijalankan.Tampilan pertama yang muncul adalah form input jenis
operasi yang akan dilakukan.
Gambar 3.25 Input kode operasi yang keliru.
Jika user menginputkan kode operasi tidak sesuai dengan ketentuan atau
kode operasi dikosongkan maka akan muncul sebuah pesan yang bertuliskan
”Kode salah”.
Gambar 3.26 Input tinggi kerucut
jika user ingin melakukan perhitungan untuk bangun ruang kerucut maka
user harus menginputkan 1, setelah itu user akan menuju form input tinggi kerucut
Gambar 3.27 Input tinggi kerucut dengan bilangan minus.
Gambar diatas adalah tampilan program saat user disuruh menginputkan
nilai tinggi kerucut. Jika user menginputkan nilai tinggi kerucut dengan nilai 0
atau kurang dari 0 maka akan muncul tampilan”nilai tidak boleh kurang dari 0”,
nilai tinggi kerucut tidak boleh kurang atau sama dengan 0.
Gambar 3.28 Input tinggi kerucut.
Gambar 3.28 adalah tampilan program saat user disuruh menginputkan
nilai tinggi kerucut.Nilai tinggi kerucut yang diinputkan pada gambar diatas
adalah ”70” (misal user menginputkan 70).
Gambar 3.29 Input jari-jari kerucut dengan bilangan minus.
Gambar diatas adalah tampilan program saat user disuruh menginputkan
nilai jari-jari kerucut. Jika user menginputkan jari-jari tinggi kerucut dengan nilai
0 atau kurang dari 0 maka akan muncul tampilan”nilai tidak boleh kurang dari 0”,
nilai jari-jari kerucut tidak boleh kurang atau sama dengan 0.
Gambar 3.30 Input jari-jari kerucut.
Gambar 3.30 adalah tampilan program saat user disuruh menginputkan
nilai jari-jari kerucut.Nilai jari-jari kerucut yang diinputkan pada gambar diatas
adalah ”35” (misal user menginputkan 35).
Gambar 3.31 Tampilan akhir perhitungan luas dan volume kerucut
Gambar diatas adalah tampilan akhir dari proses perhitungan kerucut dan
limas segi empat.Pada saat tampilan akhir muncul maka akan muncul konfirmasi
apakah user ingin mengulangi operasi , jika user menginputkan ”t” atau ”T” maka
program akan tertutup secara otomatis, tapi jika yg di inputkan user selain ”t” atau
”T” maka program akan kembali ke tahap awal yaitu proses input kode operasi .
Untuk proses perhitungan limas segi empat hampir sama dengan kerucut,
hanya saja data-data yang di inputkan pada proses perhitungannya adalah
panjang,lebar dan tinggi .Berikut ini adalah ilustrasi dari proses perhitungan limas
segi empat
Gambar 3.32 Input tinggi limas
jika user ingin melakukan perhitungan untuk bangun ruang limas segi
empat maka user harus menginputkan 2, setelah itu user akan menuju form input
tinggi limas.
Gambar 3.33 Input tinggi limas dengan bilangan minus.
Gambar diatas adalah tampilan program saat user disuruh menginputkan
nilai tinggi limas. Jika user menginputkan nilai tinggi limas dengan nilai 0 atau
kurang dari 0 maka akan muncul tampilan”nilai tidak boleh kurang dari 0”, nilai
tinggi limas tidak boleh kurang atau sama dengan 0.
Gambar 3.34 Input tinggi limas.
Gambar diatas adalah tampilan program saat user disuruh menginputkan
nilai tinggi limas.Nilai tinggi limas yang diinputkan pada gambar diatas adalah
”70” (misal user menginputkan 70).
Gambar 3.35 Input lebar limas dengan bilangan minus.
Gambar diatas adalah tampilan program saat user disuruh menginputkan
nilai lebar limas. Jika user menginputkan lebar limas dengan nilai 0 atau kurang
dari 0 maka akan muncul tampilan”nilai tidak boleh kurang dari 0”, nilai lebar
limas tidak boleh kurang atau sama dengan 0.
Gambar 3.36 Input lebar limas.
Gambar diatas adalah tampilan program saat user disuruh menginputkan
nilai lebar limas.Nilai lebar limas yang diinputkan pada gambar diatas adalah ”30”
(misal user menginputkan 30).
Gambar 3.37 Input panjang limas dengan bilangan minus.
Gambar 3.27 adalah tampilan program saat user disuruh menginputkan
nilai panjang limas. Jika user menginputkan panjang limas dengan nilai 0 atau
kurang dari 0 maka akan muncul tampilan”nilai tidak boleh kurang dari 0”, nilai
panjang limas tidak boleh kurang atau sama dengan 0.
Gambar 3.38 Input panjang limas.
Gambar diatas adalah tampilan program saat user disuruh menginputkan
nilai panjang limas.Nilai panjang limas yang diinputkan pada gambar diatas
adalah ”30” (misal user menginputkan 30).
Gambar 3.39 Tampilan akhir perhitungan luas dan volume kerucut
Gambar diatas adalah tampilan akhir dari proses perhitungan kerucut dan limas
segi empat.Pada saat tampilan akhir muncul maka akan muncul konfirmasi apakah
user ingin mengulangi operasi , jika user menginputkan ”t” atau ”T” maka
program akan tertutup secara otomatis, tapi jika yg di inputkan user selain ”t” atau
”T” maka program akan kembali ke tahap awal yaitu proses input kode operasi .
3.5 Simpulan
1. Dengan memahami langkah – langkah untuk membuat suatu program, dapat
mempermudah programer untuk memecahkan suatu kasus.
2. Pembuatan algoritma sangat berguna sebelum pembuatan program dengan
bahasa pemrogramman.
3. Teknik penulisan program sangat penting dalam suatu program karena dengan
teknik penulisan yang baik dan teratur, maka akan memudahkan dalam
pembacaan program oleh manusia.
4. Penggunaan statemen control if, if…else berguna apabila terdapat dua atau
lebih alternatif block_statement yang dapat dieksekusi dalam suatu program.
5. Program dengan statement percabangan dapat memiliki dua atau lebih output
yang berbeda dengan kondisi benar atau salah.
6. Penggunaan fungsi dan prosedur sangat berguna karena dapat membantu
programer untuk mempermudah pengkodingan
3.6 Lampiran Form Sementara.