Anda di halaman 1dari 29

PRAKTIKUM KONSEP PEMROGRAMAN KOMPUTER

MODUL II

TIPE DATA DAN STATEMEN KONTROL

Oleh
KELOMPOK 3
Dyah Dwi Puspitaningrum

1204405003

I Ketut Ariek Astana Adi

1204405004

Kadek Hari Merta

1204405005

Kadek Agus Mahabojana Dwi P.

1204405006

Asisten : Rio Juniyantara Putra

LABORATORIUM KOMPUTER
JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK UNIVERSITAS UDAYANA
2013

BAB IV
TIPE DATA DAN STATEMEN KONTROL
4.1 Tujuan
Adapun tujuan dari penggunaan bahasa pemrograman sebagai berikut :
1. Memahami dasardasar pemrograman Pascal.
2. Memahami penggunaan statemen control khususnya if, ifelse, switch.
3. Memahami pemilihan tipe data yang digunakan secara efisien.
4. Memahami manipulasi string.
5. Memahami dan bisa membuat program modul modul yang berbantuk suatu
fungsi.
6. Memahami dan bisa menggunakan passing parameter dalam fungsi dan
prosedur.
4.2 Tinjauan Pustaka
Bahasa Pemrograman adalah teknik instruksi standar untuk memerintah
komputer. Bahasa pemrograman ini merupakan suatu himpunan dari aturan
sintaks dan semantik yang dipakai untuk mendefinisikan program komputer.
Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis
data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan
atau diteruskan, dan jenis langkah apa yang akan diambil dalam berbagai situasi.
4.2.2 Penggunaan Statement Kontrol
4.2.2.1 Pernyataan If
If digunakan untuk menyeleksi statement. Statement yang
mengikuti then akan diproses, sebaliknya bila kondisi tidak terpenuhi,
maka program langsung selesai.

Gambar 1. listing program menggunakan pernyataan If


4.2.2.2 Pernyataan Ifelse
fungsi If...else.. digunakan jika suatu kondisi memiliki 2 atau
lebih statement. Bila kondisi pertama terpenuhi maka statement yang
mengikuti then akan diproses, tetapi bila kondisi tidak terpenuhi maka
akan dijalankan statement dari else.

Gambar 2. listing program menggunakan pernyataan If else

4.2.2.3 Pernyataan Case


Case adalah perintah yang memiliki fungsi persis seperti if tapi
dalam bentuk yang lebih sederhana dari if. Case digunakan untuk

memilih jika terdapat lebih dari 2 kondisi yang setiap kondisi


memerlukan penanganan yang berbeda.

Gambar 3. listing program menggunakan pernyataan Case


4.2.3 Function dan Procedure
4.2.3.1 Function
Function merupakan modul program yang digunakan untuk
menghitung sebuah nilai berdasarkan satu atau beberapa nilai
masukan.
Contoh Penggunaan Function :
Function MIN (a,b : integer) : integer;
Begin
If a < b then MIN := a ;
Else MIN := b;
End;
Kode program 1. Listing program function

4.2.3.2 Procedure
Procedure adalah serangkaian statemen yang digunakan untuk
memecahkan masalah. Procedure harus dideklarasi terlebih dahulu
sebelum digunakan. Pascal juga menyediakan beberapa prosedur builtin yang langsung bisa digunakan seperti inc dan dec. Procedure juga
memiliki nama dan parameter. Contoh Penggunaan Procedure :
PROCEDURE minimum;
VAR min : integer;
BEGIN
IF a < b THEN min := a ELSE min := b;
IF c < min THEN min := c;
WRITELN(min);
END.
Kode program 2. Listing program procedure
4.2.4 Gaji Karyawan
Dalam suatu perusahaan, terdapat cara untuk menghitung gaji karyawannya
yaitu dengan formula berikut:
1. Mencari Gaji Pokok
2. Mencari Tunjangan Jabatan
3. Mencari Upah Lembur selama 1 bulan lebih atau yang sudah ditentukan
4. Mencari Total Gaji
Dengan ketentuan di atas didapatkan rumusan sebagai berikut:
Mencari upah lembur :
gajipokok
240
Upah lembur = (
) x (jam kerja 240)

Mencari Gaji Total :

Gaji Total : Gaji pokok + Tunjangan jabatan + Lembur


Tunjangan jabatan hanya dimiliki oleh karyawan yang jabatannya lebih
tinggi. Meskipun lembur kerja, karyawan yang jabatannya lebih tinggi tidak
akan mendapatkan gaji tambahan karena sudah memiliki tunjangan jabatan.
Upah lembur merupakan gaji tambahan yang didapatkan jika para karyawan
yang tidak memiliki tunjangan jabatan melakukan kerja lembur.

4.2.5 Konversi Satuan Memory


Rumus dibawah ini digunakan untuk mengkonversi satuan memory :
1. Byte ke KB
2. Byte ke MB
3. Byte ke GB
4. KB ke Byte
5. KB ke MB
6. KB ke GB
7. MB ke Byte
8. MB ke KB
9. MB ke GB
10. GB ke Byte
11. GB ke KB
12. GB ke MB

=
=
=
=
=
=
=
=
=
=
=
=

Byte /1024
Byte /(1024*1024)
Byte /(1024*1024*1024)
KB*1024
KB/1024
KB/(1024*1024)
MB*(1024*1024)
MB*1024
MB/1024
GB*(1024*1024*1024)
GB*(1024*1024)
GB*1024

Dengan menggunakan rumus-rumas di atas maka kita dapat mencari nilai


konversi yang kita inginkan.

4.3 Pembahasan dan Analisa


4.3.1 Program Gaji Karyawan
4.3.1.1 Penjelasan Proses dari Soal

Untuk menyelesaikan program gaji karyawan (Gaji Total) digunakan


struktur penyeleksian If.else. Tipe data yang digunakan adalah : string,
integer, dan real.
1. Input yang dimasukkan adalah nama, pilihan jabatan, dan jam kerja.
2. Pilihan diseleksi dengan menggunakkan statement Ifelse
3. Penyeleksi Input
Pada input jabatan = 1. Prosesnya adalah menentukan gaji total Office Boy.
Pada input jabatan = 2. Prosesnya adalah menentukan gaji total Security
Pada input jabatan = 3. Prosesnya adalah menentukan gaji total Staff
Pada input jabatan = 4. Prosesnya adalah menentukan gaji total Senior Staff
Pada input jabatan = 5. Prosesnya adalah menentukan gaji total Supervisor
Pada input jabatan = 6. Prosesnya adalah menentukan gaji total Assiten
Manager
Pada input jabatan = 7. Prosesnya adalah menentukan gaji total Manager
Pada input jabatan = 8. Prosesnya adalah menentukan gaji total General
Manager.
Pada input pilihan jabatan > 8 maka akan muncul input salah.

4.3.1.2 Penjelasan Algoritma


Penjelasan algoritma program gaji karyawan adalah sebagai berikut :
1. Mulai.
2. Masukkan variable pilihan.
3. Masukkan fungsi validasi untuk input nilainya, fungsi ini berfungsi
agar saat penginputan nilai, inputan yang dimasukkan haruslah kurang
dari atau sama dengan 8. Sehingga, jika inputan angka lebih dari yang
ditentukan maka program tidak akan berjalan.
4. Penyeleksian data sesuai kriteria yang telah ditentukan. Jika pilihan =
1 menentukan gaji pokok jabatan Office Boy. Pilihan = 2
menentukan gaji pokok jabatan Security. Pilihan = 3 menentukan

gaji pokok jabatan Staff. Pilihan = menentukan gaji pokok jabatan


Senior Staff. Pilihan = 5 menentukan gaji pokok jabatan
Supervisor. Pilihan = 6 menentukan gaji pokok jabatan Assisten
Manager. Pilihan = 7 menentukan gaji pokok jabatan Manager.
Pilihan = 8 menentukan gaji pokok jabatan General Manager. Jika
pilihan telah ditentukan, maka akan diketahui tunjangannya.
5. Kemudian lakukan pemberian nilai jam kerja yang nantinya akan
digunakan untuk menentukan upah lembur.
6. Output akan menampilkan hasil akhir berupa gaji total berdasarkan
gaji pokok, tunjangan dan upah lembur.
7. Selesai.

4.3.1.3 Listing Program Gaji Karyawan


program gaji_karyawan;
uses wincrt;
var
jabatan, jamkerja, jamlembur,t: integer;
upahlembur, gajitotal : real;
nama : char;
begin
writeln('
KELOMPOK 3
');
writeln(' _________________________________ '); writeln;
writeln('Pilihan Jabatan : ');
writeln('1. Office Boy');
writeln('2. Security');
writeln('3. Staff');
writeln('4. Senior Staff');
writeln('5. Supervisor');
writeln('6. Asissten Manager');

writeln('7. Manager');
writeln('8. General Manager');
writeln;
write('Masukkan jabatan anda : '); read(jabatan);writeln;
if jabatan = 1 then begin
writeln('
Gaji
');
writeln('
Office Boy
');
writeln(' _________________________________');writeln;
write('Nama Anda = '); readln(nama); writeln;
write('Jam Kerja = '); readln(jamkerja);
jamlembur:=jamkerja-240;
gp := 900000;
writeln('Jam Lembur = ',jamlembur);
if jamlembur >= 40 then upahlembur:=(gp/240)*40
else upahlembur:=(gp/240)*jamlembur;
writeln('Upah lembur = Rp. ',upahlembur:0:0);
writeln('Tunjangan = Rp. 0');
gajitotal:=gp+upahlembur;
writeln('Gaji Total = Rp. ',gajitotal:0:0);
end else;

if jabatan = 2 then begin


writeln('
Gaji
');
writeln('
Security
');
writeln(' _________________________________');writeln;
write('Nama Anda = '); readln(nama); writeln;
write('Jam Kerja = '); readln(jamkerja);
jamlembur:=jamkerja-240;
gp := 1000000;
writeln('Jam Lembur = ',jamlembur);
if jamlembur >= 40 then upahlembur:=(gp/240)*40
else upahlembur:=(gp/240)*jamlembur;
writeln('Upah lembur = Rp. ',upahlembur:0:0);
writeln('Tunjangan = Rp. 0');
gajitotal:=gp+upahlembur;
writeln('Gaji Total = Rp. ',gajitotal:0:0);
end else;
if jabatan = 3 then begin
writeln('
Gaji
');
writeln('
Staff
');
writeln(' _________________________________');writeln;

write('Nama Anda = '); readln(nama);writeln;


write('Jam Kerja = '); readln(jamkerja);
jamlembur:=jamkerja-240;
gp := 1250000;
writeln('Jam Lembur = ',jamlembur);
if jamlembur >= 40 then upahlembur:=(gp/240)*40
else upahlembur:=(gp/240)*jamlembur;
writeln('Upah lembur = Rp. ',upahlembur:0:0);
writeln('Tunjangan = Rp. 0');
gajitotal:=gp+upahlembur;
writeln('Gaji Total = Rp. ',gajitotal:0:0);
end else;
if jabatan = 4 then begin
writeln('
Gaji
');
writeln('
Senior Staff
');
writeln(' _________________________________');writeln;
write('Nama Anda = '); readln(nama);writeln;
write('Jam Kerja = '); readln(jamkerja);
jamlembur:=jamkerja-240;
writeln('Jam Lembur = ',jamlembur);
gp := 1500000;
writeln('Jam Lembur = ',jamlembur);
if jamlembur >= 40 then upahlembur:=(gp/240)*40
else upahlembur:=(gp/240)*jamlembur;
writeln('Upah lembur = Rp. ',upahlembur:0:0);
writeln('Tunjangan = Rp. 0');
gajitotal:=gp+upahlembur;
writeln('Gaji Total = Rp. ',gajitotal:0:0);
end else;
if jabatan = 5 then begin
writeln('
Gaji
');
writeln('
Supervisor
');
writeln(' _________________________________ ');writeln;
write('Nama Anda = '); readln(nama);writeln;
write('Jam Kerja = '); readln(jamkerja);
jamlembur:=jamkerja-240;
gp := 2500000;
writeln('Jam Lembur = ',jamlembur);
if jamlembur >= 40 then upahlembur:=(gp/240)*40
else upahlembur:=(gp/240)*jamlembur;
writeln('Upah lembur = Rp. ',upahlembur:0:0);
writeln('Tunjangan = Rp. 0');
gajitotal:=gp+upahlembur;

writeln('Gaji Total = Rp. ',gajitotal:0:0);


end else;
if jabatan = 6 then begin
writeln('
Gaji
writeln('
Asissten Manager
writeln(' ______________________________ ');writeln;
write('Nama Anda = '); readln(nama);writeln;
writeln('Tunjangan = Rp. 1250000');
gajitotal:=3750000+1250000;
writeln('Gaji Total = Rp. ',gajitotal:0:0);
end else;

');
');

if jabatan = 7 then begin


writeln('
Gaji
');
writeln('
Manager
');
writeln(' _________________________________ ');writeln;
write('Nama Anda = '); readln(nama);writeln;
writeln('Tunjangan = Rp. 2000000');
gajitotal:=4000000+2000000;
writeln('Gaji Total = Rp. ',gajitotal:0:0);
end else;
if jabatan = 8 then begin
writeln('
Gaji
');
writeln('
General Manager
writeln(' _________________________________ ');writeln;
write('Nama Anda = '); readln(nama);writeln;
writeln('Tunjangan = Rp. 2000000');
gajitotal:=9000000+2000000;
writeln('Gaji Total = Rp. ',gajitotal:0:0);
end else;
if jabatan > 8 then writeln ('input salah');
end.
Kode Program 3. program gaji karyawan

4.3.1.4 Tracing Program Gaji Karyawan


Input :
Pilihan Jabatan
Proses :

:8

');

Nama Anda

: Hari

Tunjangan

: 2000000

Gajipokok

: 9000000

Gajitotal

: gajipokok + tunjangan

Output :
Nama

: Hari

Tunjangan

: Rp 2000000

Gaji Total

: Rp 11000000

4.3.1.5 Flowchart Program Gaji Karyawan

Gambar 4. flowchart program gaji karyawan

4.3.2 Program Konversi Satuan Memori


4.3.2.1 Penjelasan Proses dari Soal

Program konversi memori, menggunakan statement If..else.


Tipe data yang digunakan adalah : string, integer, dan real.
1. Input yang dimasukkan berupa pilihan memori yang akan di
konversi serta nilai dari memori yang diinput.
2.

Penyeleksian pilihan dengan menggunakkan struktur if..else.


Pada program konversi ini terdapat fungsi validasi huruf agar
input tidak huruf dan validasi angka agar input tidak melebihi
ketentuan.

3. Penyeleksi input :
Input diseleksi terhadap validasi huruf. Jika input = huruf,
maka akan muncul input harus angka
Pada = 1. Prosesnya adalah mengkonversi byte menjadi
kilobyte, megabyte, dan gigabyte.
Pada input = 2. Prosesnya adalah mengkonversi kilobyte
menjadi byte, megabyte, dan gigabyte.
Pada input = 3. Prosesnya adalah mengkonversi megabyte
menjadi byte, kilobyte, dan gigabyte.
Pada input = 4. Prosesnya adalah mengkonversi gigabyte
menjadi byte, kilobyte, dan megabyte.
Pada input lebih dari 4 maka akan muncul input tidak valid

4.3.2.2 Penjelasan Algoritma


Penjelasan algoritma untuk program konversi memory adalah :
1. Mulai.

2. Masukkan variable pilihan.


3. Masukkan fungsi validasi untuk penginputan nilainya, fungsi
ini berfungsi agar saat penginputan nilai, inputan yang
dimasukkan haruslah berupa angka. Sehingga, jika inputan nilai
berupa huruf atau angka lebih dari ketentuan, maka program
tidak akan berjalan.
4. Kemudian lakukan penyeleksian data sesuai kriteria yang telah
ditentukan. Jika input = 1 yang dikonversikan adalah memory
byte. Input = 2 yang dikonversikan adalah memory kilobyte.
Input = 3 yang dikonversikan adalah memory megabyte. Input
= 4 yang dikonversikan adalah memory gigabyte,
5. Outputnya berupa hasil dari pengkonversian memory yang
telah diinput.
6. Selesai.

4.3.2.3 Listing Program Konversi Satuan Memori


program konversi_memory;
uses wincrt;
var
pilih, cd : integer;
bt,kb,mb,gb : real;
input : string;
begin
writeln('
KELOMPOK 3
');
writeln(' _________________________________ ');
writeln;

writeln('Pilihan konversi : ');


writeln('1. BYTE
'); ;
writeln('2. KILOBYTE');
writeln('3. MEGABYTE');
writeln('4. GIGABYTE');
writeln;
write('Masukkan Pilihan Anda : '); read(input);
val(input,pilih,cd);
writeln;
if cd <> 0 then
begin
writeln('input harus angka');
end else
if pilih = 1 then
begin
writeln('
Konversi
');
writeln('
BYTE
');
writeln('_________________________________');
writeln;
write('masukkan nilai BYTE : '); read(bt);
writeln;
kb:=bt/1024;
mb:=bt/(1024*1024);
gb:= bt/(1024*1024*1024);
writeln;
writeln('Nilai KILOBYTE : ' , kb:0:2);
writeln('Nilai MEGABYTE : ' , mb:0:2);
writeln('Nilai GIGABYTE : ' , gb:0:2);
end else
if pilih = 2 then
begin
writeln('
Konversi
');
writeln('
KILOBYTE
');
writeln('__________________________________');
writeln;

write('masukkan nilai KILOBYTE : '); read(kb);


bt:=kb*1024;
mb:=kb/1024;
gb:=kb/(1024*1024);
writeln;
writeln('Nilai BYTE
: ' , bt:0:2);
writeln('Nilai MEGABYTE : ' , mb:0:2);
writeln('Nilai GIGABYTE : ' , gb:0:2);
end else
if pilih = 3 then
begin
writeln('

Konversi

');

writeln('
MEGABYTE
');
writeln('__________________________________');
writeln;
write('masukkan nilai MEGABYTE : '); read(mb);
bt:=mb*1024*1024;
kb:=mb*1024;
gb:=mb/1024;
writeln;
writeln('Nilai BYTE
: ' , bt:0:2);
writeln('Nilai KILOBYTE : ' , kb:0:2);
writeln('Nilai GIGABYTE : ' , gb:0:2);
end else
if pilih = 4 then
begin
writeln('
Konversi
');
writeln('
GIGABYTE
');
writeln('__________________________________');
writeln;
write('masukkan nilai GIGABYTE : '); read(gb);
bt:=gb*1024*1024*1024;
kb:=gb*1024*1024;
mb:=gb*1024;
writeln;
writeln('Nilai BYTE
: ' , bt:0:2);
writeln('Nilai KILOBYTE : ' , kb:0:2);
writeln('Nilai MEGABYTE : ' , mb:0:2);
end else
begin
writeln('input tidak valid');
end;
end.
Kode Program 4. Program Konversi Memori

4.3.2.4 Tracing Program Konversi Memory

Input :
Pilihan = 4
Proses :
masukkan nilai gigabyte = 2

bt = 2 * 1024*1024*1024 = 2414483648.00
kb = 2*1024*1024 = 2097152.00
mb = 2*1024 = 2048.00
Output :
Nilai byte

: 2414483648 .00

Nilai kilobyte

: 2097152.00

Nilai megabyte

: 2048.00

4.3.2.5 Flowchart Program Konversi Satuan Memori

Gambar 5. flowchart program konversi memori

4.4 Uji Coba dan User Interface

Setelah program selesai dikerjakan, maka perlu dilakukan uji coba terhadap
program tersebut. Berikut ini adalah uji coba dari program gaji karyawan dan
program konversi satuan memori.
4.4.1 Program Gaji Karyawan
Tampilan awal program :

Gambar 6. tampilan saat run awal

Jika user menginput 1, maka proses yang terjadi adalah menghitung gaji
total Office Boy.

Gambar 7. tampilan gaji total office boy

Jika user menginput 2, maka proses yang terjadi adalah menghitung gaji
total Security.

Gambar 8. tampilan gaji total security

Jika user menginput 3, maka proses yang terjadi adalah menghitung gaji
total Staff.

Gambar 9. tampilan gaji total staff

Jika user menginput 4, maka proses yang terjadi adalah menghitung gaji
total Senior Staff.

Gambar 10. tampilan gaji total senior staff

Jika user menginput 5, maka proses yang terjadi adalah menghitung gaji
total Supervisor.

Gambar 11. tampilan gaji total supervisor

Jika user menginput 6, maka proses yang terjadi adalah menghitung gaji
total Asissten Manager.

Gambar 12. tampilan gaji total asissten manager

Jika user menginput 7, maka proses yang terjadi adalah menghitung gaji
total Manager.

Gambar 13. tampilan gaji total manager

Jika user menginput 8, maka proses yang terjadi adalah menghitung gaji
total General Manager.

Gambar 14. tampilan gaji total general manager

Jika user menginput lebih dari 8, maka program akan menampilkan input
salah.

Gambar 15. tampilan validasi angka

4.4.2 Program Konversi Satuan Memori


Tampilan awal program :

Gambar 16. tampilan awal program konversi satuan memory

Jika user menginput huruf, maka program akan menampilkan input harus
angka.

Gambar 17. tampilan validasi huruf

Jika user menginput 1, maka proses yang terjadi adalah konversi dari nilai
Byte.

Gambar 18. tampilan konversi satuan memory dari byte

Jika user menginput 2, maka proses yang terjadi adalah konversi dari nilai
Kilobyte.

Gambar 19. tampilan konversi satuan memory dari kilobyte

Jika user menginput 3, maka proses yang terjadi adalah konversi dari nilai
Megabyte.

Gambar 20. tampilan konversi satuan memory dari megabyte

Jika user menginput 4, maka proses yang terjadi adalah konversi dari nilai
Gigabyte.

Gambar 21. tampilan konversi satuan memory dari gigabyte

Jika user menginput lebih dari 4, maka program akan menampilkan input
tidak valid

Gambar 22. tampilan validasi angka

4.5 Simpulan
Dari praktikum yang telah dilakukan, maka dapat disimpulkan beberapa hal
antara lain sebagai berikut :
1. Dalam membuat sebuah program, kita harus memahami keperluan memory
pada setiap tipe data yang kita gunakan agar kita tahu batas-batas dari tipe
data tersebut sehingga kita dapat menggunakannya secara efisien.
2. Sebelum membuat program, kita harus memahami istilah-istilah penting
dalam pascal seperti procedure dan function agar kita bisa membuat program
dengan baik, benar, dan sesuai aturan.
3. Programer

harus

memahami

fungsi

statemen

dalam

pascal

untuk

memudahkan dalam membuat program.


4.

Program memerlukan validasi untuk memberikan batas input sehingga


program tersebut dapat berjalan dengan lancar.

Anda mungkin juga menyukai