BAB III

60
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

Transcript of BAB III

Page 1: 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;

Page 2: BAB III

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

Page 3: BAB III

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

Page 4: BAB III

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

Page 5: BAB III

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

Page 6: BAB III

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

Page 7: BAB III

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’);

Page 8: BAB III

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);

Page 9: BAB III

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.

Page 10: BAB III

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?

Page 11: BAB III

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”.

Page 12: BAB III

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.

Page 13: BAB III

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.

Page 14: BAB III

3.3.1.2 Flowchart Program Gaji Karyawan.

a. Flowchart Prosedur Jabatan.

Gambar 3.6 Flowchart procedure jabatan.

Page 15: BAB III

b. Flowchart Prosedur Gaji_Pokok.

Gambar 3.7 Flowchart procedure gaji_pokok.

Page 16: BAB III

c. Flowchart Prosedur Tunjangan_Jabatan.

Gambar 3.8 Flowchart procedure tunjangan.

d. Flowchart Prosedur Hitung_Gaji.

Gambar 3.9 Flowchart procedure hitung_gaji.

Page 17: BAB III

e. Flowchart Program Utama.

Gambar 3.10 Flowchart program utama gaji karyawan.

Page 18: BAB III

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;

Page 19: BAB III

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;

Page 20: BAB III

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

Page 21: BAB III

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;

Page 22: BAB III

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;

Page 23: BAB III

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

Page 24: BAB III

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;

Page 25: BAB III

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.

Page 26: BAB III

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.

Page 27: BAB III

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

Page 28: BAB III

c. Flowchart Fungsi L_Limas4.

Gambar 3.13 Flowchart function l_limas4.

d. Flowchart Fungsi V_Limas4.

Gambar 3.14 Flowchart function v_limas4

Page 29: BAB III

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;

Page 30: BAB III

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;

Page 31: BAB III

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;

Page 32: BAB III

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;

Page 33: BAB III

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;

Page 34: BAB III

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');

Page 35: BAB III

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.

Page 36: BAB III

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).

Page 37: BAB III

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.

Page 38: BAB III

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.

Page 39: BAB III

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”.

Page 40: BAB III

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.

Page 41: BAB III

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).

Page 42: BAB III

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.

Page 43: BAB III

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).

Page 44: BAB III

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.

Page 45: BAB III

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 .

Page 46: BAB III

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

Page 47: BAB III

3.6 Lampiran Form Sementara.