Anda di halaman 1dari 63

MODUL PRAKTIKUM

LOGIKA DAN ALGORITMA


PROGRAM STUDI S1 SISTEM INFORMASI

Disusun Oleh :
Sugeng Winardi, S.Kom, MT

PRODI S1 SISTEM INFORMASI


FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS RESPATI YOGYAKARTA
(UNRIYO)
Kata Pengantar

Modul praktikum ini disusun sebagai pedoman bagi mahasiswa di lingkungan Prodi Sistem
Informasi Fakultas Sains dan Teknologi yang mengikuti praktikum Logika dan Algoritma.

Tujuan dari pelaksanaan praktikum praktikum Logika dan Algoritma. Ini adalah untuk mendukung
mata kuliah Logika dan Algoritma. yang diberikan kepada mahasiswa di Prodi Sistem Informasi

Di dalam kegiatan praktikum ini, akan dipelajari dan dipraktekan tahapan-tahapan dalam proses
Logika dan Algoritma. Susunan modul ini terdiri dari Dasar Teori praktis, contoh program dan tugas
yang harus dikerjakan oleh para praktikan. Diharapkan parapraktikan telah mempersiapkan materi
yang akan diberikan pada praktikum demi kelancarannya.

Materi yang diberikan dalam modul dan pada saat praktikum masih belum lengkap dan untuk itu
praktikan diharapkan dapat mencari referensi tambahan yangdiperlukannya baik di perpustakaan
maupun melalui media internet dan berbagai media yang lain. Selain itu praktikan diharapkan
mengikuti mata kuliah Logika dan Algoritma denganbaik, karena salah satu sumber selain modul
adalah materi yang diberikan pada saat kuliah

Yogyakarta, Agustus 2010

Penyusun.
MODUL 1

FLOWCHART

1. Maksud dan Tujuan :


a. Maksud
Mahasiswa mengenal teori flowchart dan membuat flowchart

b. Tujuan
 Mahasiswa mengenal pengertian flowchart
 Mahasiswa mengenal manfaat dari flowchart
 Mahasiswa mampu membuat flowchart dengan software Microsoft Visio.

2. Teori
Flowchart atau sering disebut dengan diagram alir secara umum merupakan susunan
gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses program ataupun
system dan petunjuk yang harus dijalankannya. Pada proses penggambaran system ataupun
urutan langkah program tersebut ini dinyatakan dengan symbol-simbol yang telah ditentukan baik
lambang maupun fungsinya. Dengan demikian setiap simbol menggambarkan proses tertentu.
Apabila dalam mengambil gambar kegiatan tersebut salah, maka tentunya fungsi gambar tersebut
menjadi salah. Sedangkan untuk menghubungan antar proses digambarkan dengan garis
penghubung.
Flowchart ini merupakan langkah awal pada proses pembuatan program ataupun suatu
system. Dengan adanya flowchart urutan poses kegiatan dan logika program menjadi lebih jelas.
Sehingga apabila ada penambahan proses atau pengembangan proses atau program maka dapat
dilakukan lebih mudah.
Apabila Flowchart selesai disusun/bibuat, maka langkah selanjutnya pemrogram (programmer)
akan menerjemahkannya ke bentuk program dengan bahasa pemrograman.
Flowchart sebenarnya hanya membantu untuk mempermudah di dalam menyusun logika sebuah
program atau suatu system dan tidak boleh mengacu hanya pada satu bahasa pemrograman.
Sehingga flowchart yang baik, dengan menggunakan bahasa pemrograman apapun flowchart
tersebut dapat dengan mudah diterjemahkan menjadi sebuah program.
Selain untuk menggambarkan logika program flowchart juga dalat dipakai untuk menggambarkan
alur logika sebuah system.
Simbol-simbol Flowchart
Flowchart disusun secara berurut sesuai dengan langkah-langkah yang ditentukan dan
digambarkan dengan menggunakan symbol-simbol. Adapun symbol-simbol yang umum dan sering
dipakai adalah sebagai berikut :

Simbol Keterangan
Flow Direction symbol
Yaitu simbol yang digunakan
untuk menghubungkan antara
simbol yang satu dengan simbol
yang lain. Simbol ini disebut juga
connecting line.

Terminator Symbol
Yaitu simbol untuk permulaan
(start) atau akhir (stop) dari suatu
kegiatan

Connector Symbol
Yaitu simbol untuk keluar – masuk
atau penyambungan proses
dalam lembar / halaman yang
sama.

Connector Symbol
Yaitu simbol untuk keluar – masuk
atau penyambungan proses
dalam lembar / halaman yang
berbeda / pindah halaman

Processing Symbol
Simbol yang menunjukkan
pengolahan/proses yang
dilakukan oleh komputer

Simbol Manual Operation


Simbol yang menunjukkan
pengolahan yang tidak dilakukan
oleh komputer

Simbol Decision
Simbol pemilihan proses
berdasarkan kondisi yang ada.

Simbol Input-Output
Simbol yang menyatakan proses input dan
output tanpa tergantung dengan jenis
peralatannya

Simbol Preparation
Simbol untuk mempersiapkan penyimpanan
yang akan digunakan sebagai tempat
pengolahan di dalam storage.

Aturan dalam pembuatan Flowchart


Dalam proses pembuatan flowchart tidak ada aturan atau pedoman yang bersifat baku atau mutlak.
Hal ini dikarenakan flowchart merupakan gambaran hasil pemikiran programmer dalam
menganalisa suatu permasalahan apabila dipecahkan dengan komputer. Dengan demikian
flowchart yang dihasilkan bisa bervariasi antara satu programmer dengan programmer lainnya
meskipun permasalahan yanh dianalisa sama.
Namun demikian secara garis besar, setiap pembuatan flowchart untuk menyelesaikan
permaslahana selalu terdiri dari tiga bagian utama, yaitu;

1. Input berupa bahan mentah


2. Proses pengolahan
3. Output berupa bahan jadi.

Untuk pengolahan data dengan komputer, dapat dirangkum urutan dasar untuk pemecahan suatu
masalah, yaitu;

 MULAI/START yang berisi instruksi untuk persiapan perlatan yang diperlukan sebelum
menangani  pemecahan masalah.
 BACA/READ yang berisi instruksi untuk membaca data dari suatu peralatan input.
 PROSES/PROCESS yang  berisi kegiatan yang berkaitan dengan pemecahan persoalan
sesuai dengan data yang dibaca.
 TULIS/WRITE yang berisi instruksi untuk merekam hasil kegiatan ke perlatan output.
 SELESAI/END yang mengakhiri kegiatan pengolahan
Apabila digambarkan dalam bentuk flowchart maka seperti terlihat pada gambar berikut ini :

START/MULAI

BACA DATA/
READ

PROSES/PROCESS

TULIS/WRITE

SELESAI/END

Dari gambar di atas telihat jelas bahwa semua proses diawali dengan tahap persiapan yaitu start,
tahap selanjutnya adalah membaca data-data yang diperlukan/didefinisikan, dan pada tahap proses
menunjukkan pengolahan data yang sebenarnya. Pada proses ini merup[akan kegiatan yang
membutuhkan banyak variasi dan teknik pemrograman yang diperlukan. Meskipun tidak aturan
yang baku namun perlu adanya beberapa saran untuk menyusun flowchart yang baik diantaranya :
jangan membuat logika berbelit-belit, kurangi sebanyak mungkin perulangan proses sehingga
nantinya proses akan berjalan dengan cepat. Penggambaran flowchart selalu akan diakhiri dengan
END.

3. Praktek
a. Gambarkan Flowchar untuk mencari perbandingan 2 bilangan :
Mulai

Baca A, B

Tidak Ya
A>B?

Cetak B Cetak A

Selesai

b. Gambarkan Flowchar untuk menghitung rata-rata nilai.


Mulai

N <- 0
Jumlah <- 0

Baca Harga X

N <- N+1

Jumlah <- Jumlah + 1

Tidak
N = 5 ?

Ya

Rata <- Jumlah/N

Cetak Hasil

Selesai

4. Tugas :
Gambarkan Flowchar untuk menghitung rata-rata nilai.
MODUL 2
PEMROGRAMAN PASCAL

1. Tujuan :
Pada Modul 2 mahasiswa diharapkan sudah mampu untuk mengoperasikan Bahasa Pemrograman Pascal
dari membuka, menuliskan kode program, mengcompile, merunning program serta mengedit jika terjadi
kesalahan.

2. Pengertian Pascal

Pascal adalah bahasa tingkat tinggi yang orientasinya pada segala tujuan, dirancang oleh
Prof. Niklaus Wirth dari Technical University di Zurich, Switzerland. Nama pascal diambil
sebagai penghargaan terhadap Blaise Pascal, ahli matematik dan philosophi terkenal
abad 17 dari Perancis

Struktur dari suatu program pascal terdiri dari sebuah judul program dan suatu blok
program atau badan program. Blok program dibagi lagi menjadi dua bagian, yaitu :
bagian deklarasi dan bagian pernyataan. Secara ringkas, struktur suatu program pascal
dapat terdiri dari :

1. Judul program

2. Blok program

a. Bagian deklarasi

- deklarasi label

- deklarasi konstanta

- deklarasi tipe

- deklarasi variable

- deklarasi prosedur
- deklarasi fungsi

b. Bagian pernyataan

Program pascal yang paling sederhana adalah program yang hanya terdiri dari sebuah
bagian pernyataan saja.

Begin

End.

Bentuk umum dari bagian pernyataan adalah :

Begin

Statement;

End .

Contoh :

Begin

Writeln ( ‘Saya pascal’ );

Writeln ( ‘--------------‘ )

End .
Outputnya : Saya pascal

---------------

Program pascal tidak mengenal aturan penulisan di kolom tertentu, jadi boleh ditulis mulai
kolom berapapun. Penulisan statement-statement pada contoh program yang menjorok
masuk beberapa kolom tidak mempunyai pengaruh diproses, hanya dimaksudkan supaya
mempermudah pembacaan program, sehingga akan lebih terlihat bagian-bagiannya, dan
baik untuk dokumentasi.

Judul program sifatnya optional dan tidak signifikan didalam program. Jika ditulis dapat
digunakan untuk memberi nama program dan daftar dari parameter tentang komunikasi
program dengan lingkungannya yang sifatnya sebagai dokumentasi saja. Judul program bila
ditulis harus terletak pada awal dari program dan diakhiri dengan titik koma.

Contoh :

Program contoh ;

Begin

Writeln ( ‘Fakultas Sains dan Teknologi’ );

Writeln( ‘-----------------------------------‘ );

End .

2.1. Deklarasi
Bagian deklarasi digunakan bila didalam program menggunakan pengenal (identifier) yang
dapat berupa label, konstanta, tipe, variable, prosedur dan fungsi.

a. Deklarasi Konstanta
Definisi konstanta diawali dengan kata cadangan Const diikuti oleh kumpulan identifier yang
diberi suatu nilai konstanta. Data konstanta nilainya sudah ditentukan dan pasti, tidak dapat
dirubah didalam program.

Contoh :

Program contoh_konstanta;

Const

Potongan = 0.2 ;

Gaji = 25000 ;

Namaperusahaan = ‘PT ABC’ ;

Begin

Writeln ( ‘Potongan =’, Potongan ) ;

Writeln ( ‘Gaji =’, Gaji ) ;

Writeln ( ‘Nama =’, Namaperusahaan) ;

End .

b. Deklarasi Variabel
Variabel adalah identifier yang berisi data yang dapat diubah-ubah nilainya didalam
program. Menggunakan kata cadangan Var sebagai judul didalam bagian deklarasi variable
dan diikuti oleh satu atau lebih identifier yang dipisahkan koma, diikuti dengan titik dua dan
tipe dari datanya diakhiri dengan titik koma.

Contoh :

Var

Total, Gaji, Tunjangan : real ;

Jumlahanak : integer ;

Keterangan : string [25] ;

Begin

Gaji : = 500000 ;

Jumlahanak : = 3 ;

Tunjangan : = 0.25 * Gaji + Jumlahanak * 30000 ;

Total : = Gaji + Tunjangan ;

Keterangan : = ‘Karyawan Teladan’ ;

Writeln ( ‘ Gaji bulanan = Rp. ‘ , Gaji ) ;

Writeln ( ‘ Tunjangan = Rp. ‘ , Tunjangan ) ;

Writeln ( ‘ Total gaji = Rp. ‘ , Total ) ;

Writeln ( ‘ Keterangan = Rp. ‘ , Keterangan ) ;

End .

c. Deklarasi Tipe
Pascal menyediakan beberapa macam tipe data, yaitu :

1. Tipe data sederhana, terdiri dari :

a. tipe data standar : integer, real, char, string, Boolean.


b. Tipe data didefinisikan pemakai : enumerated atau scalar, subrange

2. Tipe data terstruktur : array, record, file, set

3. Tipe data penunjuk

Contoh :

Type

Pecahan = real ;

Bulat = integer ;

Huruf = string [25] ;

Begin

……..

……..

……..

End .

3. Petunjuk Pengoperasian Program Pascal.

a. Buka Program Pascal (Turbo Pascal For Windows) dengan cara :


i. Doble klik Icon Turbo Pascal7 for Windows di Desktop
Akan muncul tampilan editor Turbo Pascal 7.0

b. Buat File Baru dengan Klik File- Klik New.

c. Ketik Kode Programnya


d. Setelah selesai, cek kebenaran penulisan program dengan menekan Alt + F9 atau Klik Menu
Compile kemudian Klik Lagi Compile.
e. Apabila tidak ada error Klik OK
f. Running Program untuk menjalankan program dengan Klik Menu Run kemudian Klik Run lagi
atau tekan tombol Ctrl + F9.
g. Simpan program.

4. Latihan Pemrograman :
Program 1.

program Hello_Pascal;

uses Crt;

begin

clrscr;

Writeln('Welcome to Turbo Pascal for Windows');


Writeln(‘-----------------------------------‘);

Writeln(‘Nama : isikan nama saudara‘);

Writeln(‘Prodi : S1 Sistem Informasi ‘);

Writeln(‘NIM : isikan nim saudara‘);

Readln;

end.

Keterangan :

 Compile dulu program tersebut. Jika ada error perbaiki, jika sudah benar lanjutkan dengan Running
Program
 Amati hasil output dan programnya.

Program 2.

Program hitung1;

uses Crt;
begin

clrscr;
write('Hasil 2+2*4: ',2+2*4);

readln;
end.

Program 3 :
program Hitung2;

uses Crt;

var

a,b,c:integer;

begin

clrscr;

{a:=10;

b:=20;}

write('Bilangan a: ');

readln(a);

write('Bilangan b: ');

readln(b);

c:=a+b;

writeln('Nilai A := ',A);

writeln('Nilai B := ',B);

writeln('---------------');

writeln;

write('Penjumlahan Bilangan ',a,'+',b,'=',c);

readln;

end.

Program 4 :
program Hitung3;

uses Crt;

var

a,b,c:integer;

c : real;

begin

a:=10;

b:=20;

{ write('Bilangan a: ');readln(a);

write('Bilangan b: ');readln(b); }

c:=a/b;

writeln('Nilai A := ',A);

writeln('Nilai B := ',B);

writeln('---------------');

writeln;

write('Pembagian Bilangan ',a,'/',b,'=',c);

end

Tugas !!!

1. Buat program untuk menghitung Luas dan keliling persegi panjang. Data dimasukkan melalui proses
pembacaan data / input sehingga bisa menghitung secara bervariasi.
Rumus Luas : Panjang x Lebar
Rumus Keliling : 2 x (Panjang + Lebar)
Keluaran :

Program Menghitung Luas dan Keliling


------------------------------------------------

Data Panjang :
Data Lebar :
Luas :
Keliling:

2. Buat program untuk menghitung Luas Lingkaran. Data dimasukkan melalui proses pembacaan
data/menginput data sehingga bisa mendapatkan hasil yang secara bervariasi.

Rumus Luas : phi x r2


Keluaran :

Program Menghitung Luas dan Keliling


------------------------------------------------

Data Jari-jari :

Luas :

3. Buat program untuk mengkonversi suhu dari Fahrenheit ke Celcius. Data dimasukkan melalui proses
pembacaan data/input sehingga bias menghitung secara bervariasi.
Rumusnya : c = 5/9 * (Fahrenheit - 32);

Keluaran :

Program Konversi Suhu


------------------------------

Masukkan suhu dalam Fahrenheit :


Jadi suhu dalam Celcius adalah :
MODUL 3
INSTRUKSI PENCABANGAN

1. Tujuan
Mahasiswa dapat menggunakan fungsi kondisi/penyeleksian baik dengan if, while, case

2. Seleksi
Instruksi yang dipakai untuk memilih satu aksi dari beberapa kemungkinan aksi berdasarkan suatu syarat.
Ada beberapa metode dalam melakukan seleksi yaitu :
a. Dengan menggunakan statemen IF
b. Dengan menggunakan statemen Case
c. Dengan menggunakan statemen While

Statement IF

Digunakan untuk memilih alternatif apabila syarat atau kondisi dipenuhi (1 aksi), atau memilih satu
alternatif dari 2 kemungkinan berdasarkan apakah syarat dipenuhi atau tidak.

Bentuk 1 kasus / IF sederhana :

If (syarat)

then aksi1

else

aksi 2

endif.
Contoh kasus :

Misalnya : Jika nilai > 75 maka akan Lulus, jika tidak maka Gagal.

Maka instruksinya adalah :

IF (nilai > 75)

THEN keterangan=lulus

else

keterangan = gagal

ENDIF

Bentuk IF yang bertingkat/ IF Majemuk :

3. Latihan

Latihan 1 :

Menguji Nilai Rata-rata dan Menentukan Kelulusan

Penjelasan :

Program ini dipakai untuk menguji rata-rata 3 buah nilai yang diinputkan melalui keyboard yaitu Nilai UTS,
Nilai UAS dan Nilai Tugas.

Apabila rata-rata ketiga nilai tersebut di atas 80 maka Lulus dan apabila kurang dari 80 maka hasil ujian
dinyatakan Gagal.

program ujian;
uses

crt;

var

tugas,uts,uas : integer;

rerata : real;

begin

write('Masukkan Nilai yang akan UTS : ');readln(uts);

write('Masukkan Nilai yang akan UAS : ');readln(uas);

write('Masukkan Nilai yang akan Tugas : ');readln(tugas);

Rerata := (uts + uas + tugas)/3

if rerata > 80 then

write('Hasil Ujian Anda ',rerata,’dan dinyatakan lulus’)

else

write('Hasil Ujian Anda',rerata,'dan dinyatakan gagal');

end.

Tugas :

a. Buka Program Pascal


b. Tuliskan kode program tersebut ke dalam editor Pascal
c. Compile terlebih dahulu. Cek apakah ada error / kesalahan.
d. Jika tidak ada error/kesalahan Running program tersebut.
e. Amati dan pahami alur program tersebut.
f. Simpanlah program tersebut.
Program 2

Menguji Bilangan Genap atau Ganjil.

Penjelasan :

Program ini untuk menguji anga yang di Inputkan melalui keyboard angka genap atau ganjil. Adapun rumus
yang digunakan untuk menguji bilangan genap atau ganjil adalah intruksi mod yang mempunyai arti jika
bilangan dibagi 2 sisanya menghasilkan nol maka bilangan tersebut adalah Genap sedangkan jika sisanya 1
maka bilangan tersebut adalah Ganjil.

program duaif;

uses

crt;

var

bil : integer;

begin

write('Masukkan angka yang akan ditest : ');readln(bil);

if bil mod 2 = 0 then

write('Angka ',bil,' adalah bilangan genap')

else

write('Angka ',bil,' adalah bilangan ganjil');

end.

Tugas :
a. Buka Program Pascal
b. Tuliskan kode program tersebut ke dalam editor Pascal
c. Compile terlebih dahulu. Cek apakah ada error / kesalahan.
d. Jika tidak ada error/kesalahan Running program tersebut.
e. Amati dan pahami alur program tersebut.
f. Simpanlah program tersebut.

Program 3 :

Program Mencari Diskon Belanja.

Penjelasan :

Program ini untuk mencari diskon belanja dengan ketentuan :

- Jika Total Belanja diatas 100.000, maka akan dapat diskon 20 % dari nilai belanjanya.
- Jika Total Belanja 100.000 atau kurang maka tidak akan mendapatkan diskon.
- Menghitung Nilai diskon dan Jumlah yang harus di bayar.

Program logika2;

uses
Crt;

Var
Harga : LongInt;
Potongan,Bersih : real;

Begin
Write('Masukkan Total Belanja : ');
Readln(Harga);
if Harga > 100000 then
Potongan := 0.2 * harga;
Bersih := Harga - Potongan;
writeln;
clrscr;
write('Jumlah Belanja : ');writeln(Harga);
writeln('----------------');
writeln;
write('Jadi Total Belanja : '); writeln(Bersih:4:2);
end.

Tugas :

a. Buka Program Pascal dan tuliskan kode program tersebut.


b. Compile terlebih dahulu. Cek apakah ada error / kesalahan.
c. Jika tidak ada error/kesalahan Running program tersebut.
d. Amati dan pahami alur program tersebut.
e. Simpanlah program tersebut.

Latihan 3 :

Mencari Diskon bertingkat

Penjelasan :

Program ini hampir sama dengan program sebelumnya yaitu untuk mencari diskon belanja, namun diskon
yang diberikan bervariasi sebagai berikut :

- Jika Total Belanja 200.000 ke atas, maka akan dapat diskon 30 % dari nilai belanjanya.
- Jika Total Belanja 100.000 ke atas, maka akan dapat diskon 20 % dari nilai belanjanya
- Jika Total Belanja 50.000 ke atas, maka akan dapat diskon 10 % dari nilai belanjanya
- Namun jika Total Belanja < 50.000 tidak akan mendapatkan diskon.
- Menghitung Nilai diskon dan Jumlah yang harus di bayar.

Program logika3;

uses
Crt;

Var
Harga : LongInt;
Potongan,Bersih : real;
Begin
Write('Masukkan Total Belanja : ');
Readln(Harga);
if Harga >= 200000 then
Potongan := 0.30 * harga
else
if harga >= 100000 then
potongan := 0.20 * harga
else
if harga >= 50000 then
potongan := 0.1 * harga;

Bersih := Harga - Potongan;


writeln;
clrscr;
write('Jumlah Belanja : ');writeln(Harga);
writeln('----------------');
writeln;
write('Jadi Total Belanja : '); writeln(Bersih:4:2);
end.

Tugas :

a. Buka Program Pascal dan tuliskan kode program tersebut.


b. Compile terlebih dahulu. Cek apakah ada error / kesalahan.
c. Jika tidak ada error/kesalahan Running program tersebut.
d. Amati dan pahami alur program tersebut.
e. Simpanlah program tersebut.

Latihan 4.

Program mencari Angka Terbesar

Penjelasan :

Program ini digunakan untuk menguji manakah angka yang terbesar dari 3 buah angka yang diinputkan
melalui keyboard.

program minmax;
uses
crt;

var
a,b,c : integer;
maks : integer;

begin
write('Masukkan angka 1 : ');readln(a);
write('Masukkan angka 2 : ');readln(b);
write('Masukkan angka 3 : ');readln(c);

if (a>b) then
maks := a
else
maks := b;
if (c > maks) then
maks := c;
writeln;write('Angka terbesarnya : ',maks);
end.

Tugas :

a. Buka Program Pascal dan tuliskan kode program tersebut.


b. Compile terlebih dahulu. Cek apakah ada error / kesalahan.
c. Jika tidak ada error/kesalahan Running program tersebut.
d. Amati dan pahami alur program tersebut.
e. Simpanlah program tersebut.

Tugas Mandiri :

1. Buat program yang digunakan untuk menguji sebuah angka yang di inputkan dengan dengan
ketentuan :
- Jika angka yang diinputkan > 0 maka Positif
- Jika angka yang diiputkan < 0 maka Negatif
- Jika angka yang diinputkan = 0 maka Nol.
2. Buat program yang digunakan untuk mengkonversi nilai angka menjadi nilai huruf dari gabungan dari
komponen nilai sebagai berikut :
- Nilai Tugas dengan bobot 20%
- Nilai Praktikum dengan bobot 15%
- Nilai UTS dengan bobot 30%
- Nilai UAS dengan bobot nilai 35%
Ketentuan konversi nilai :

- Jika Nilai Gabungan > 80 maka Nilai Hurufnya adalah A


- Jika Nilai Gabungan > 66 maka Nilai Hurufnya adalah B
- Jika Nilai Gabungan > 56 maka Nilai Hurufnya adalah C
- Jika Nilai Gabungan > 46 maka Nilai Hurufnya adalah D
- Jika Nilai Gabungan < 46 maka Nilai Hurufnya adalah E

Contoh perhitungan

Seorang mahasiswa dengan nama Medita mendapatkan nilai ujian sebagai berikut :

Nilai Tugas : 70 maka prosentase nilai adalah : 70 * 20% = 14

Nilai Prakt : 80 maka prosentase nilai adalah : 80 * 15% = 12

Nilai UTS : 75 maka prosentase nilai adalah : 75 * 30% = 22.5

Nilai UAS : 60 maka prosentase nilai adalah : 60 * 35% = 21

Dengan demikian nilai gabungannya adalah : 14 + 12 + 22.5 + 21 = 69.5 yang berarti Nilai Hurufnya
adalah B.
MODUL 4
INSTRUKSI PENCABANGAN
DENGAN CASE

1. Tujuan
Mahasiswa dapat menggunakan struktur case sebagai pengganti dari fungsi logika IF, walaupun pada
prisipnya sama dengan fungsi IF tetapi fungsi Case mempunyai beberapa kemudahan dibandingkan
dengan fungsi IF.
Mahasiswa dapat menerapkan fungsi Case pada penggunaan program serta membedakan dengan
penggunaan fungsi IF.
Merupakan peluasan dari struktur IF. Karena kalau dalam struktur IF hanya disediakan dua pilihan
(berdasarkan kondisi logikanya) maka dalam struktur Case..of dimungkinkan untuk memilih satu pilihan
di antara banyak pilihan yang ada.

2. Case/Case Of
Merupakan peluasan dari struktur IF. Karena kalau dalam struktur IF hanya disediakan dua pilihan
(berdasarkan kondisi logikanya) maka dalam struktur Case.. dimungkinkan untuk memilih satu pilihan di
antara banyak pilihan yang ada.

Merupakan pernyataan yang dirancang khusus untuk menangani pengambilan keputusan yang
melibatkan sejumlah atau banyak alternatif.

Memiliki kegunaan yang sama seperti if – else bertingkat tetapi untuk memeriksa data yang bertipe
karakter atau integer. Pada penggunaannya sering dipakai untuk pembuatan sebuah menu.

Setiap cabang akan dijalankan jika syarat nilai konstanta terpenuhi dan default akan dijalankan jika semua
cabang di atasnya tidak terpenuhi.

Struktur Case Of
Struktur CASE-OF…ELSE merupakan pengembangan dari struktur CASE-OF dan juga merupakan
pengembangan dari standar Pascal. Pada struktur CASE-OF bila tidak ada kondisi yang terpenuhi berarti
tidak ada statemen di dalam lingkungan CASE-OF yang diproses. Dengan struktur CASE-OF…ELSE, bila
tidak ada kondisi yang terpenuhi, maka statemen yang akan diproses dalam lingkungan CASE-OF adalah
statemen yang ada di ELSE.Bemtuk umumnya:

Bentuk Umum Intruksi Case

Case (variabel) of
Option1 : begin
Statements 1
end;
Option2 : begin
Statements 2
end;
.
.
Else begin
Statements
End;
End;

Contoh 1 kasus untuk Mengecek Nilai :

Pada program ini terdapat 5 kriteria nilai yaitu A, B, C, D, E. User dapat mengecek predikat nilai tersebut
dengan memasukkan huruf A .. E ke dalam keyboard dan selanjutnya akan muncul criteria dari nilai yang
dimasukkan.

Program Cek_Nilai;
uses crt;
var nilai  :  char;
Begin  
   clscr;
   write('Masukkan Nilai Huruf (A..E) = ');readln(nilai);
   case nilai of
      'A': Writeln('Sangat Baik');
      'B': Writeln('Baik');
      'C': Writeln('Kurang);
      'D': Writeln('Sangat kurang');
      'E': Writeln('Buruk Sekali');
   end;
Readln; 
End.  

Perhatikan Contoh 2 ini.

uses crt;
var nilai  :  char;
Begin  
   clscr;
   write('Masukkan Nilai Angka = ');readln(nilai);
   case nilai of
      'A': Writeln('sangan Baik');
      'B': Writeln('Baik');
      'C': Writeln('Kurang);
      'D': Writeln('Sangat kurang');
      'E': Writeln('Buruk Sekali');
   else 
      writeln('kami tidak tau lagi mau bilang apa!')
   end;
Readln; 
End.

3. Latihan-Latihan

Latihan 1 :
Menguji angka yang diinputkan.

Penjelasan :

Program ini dipakai untuk menguji apakah angka yang dimasukkan sesuai dengan keluaran yang diharapkan.

Program InputAngka;

Uses
wincrt;

Var
a : integer;

Begin
Write('Masukkan Angka [1 - 4] : ');Read(A);writeln;

Case(A) of
1 : Write('Anda Memasukkan Angka Satu');
2 : Write('Anda Memasukkan Angka Dua');
3 : Write('Anda Memasukkan Angka Tiga');
4 : Write('Anda Memasukkan Angka Empat');
end;
readln;
end.

Tugas :

g. Buka Program Pascal


h. Tuliskan kode program tersebut ke dalam editor Pascal
i. Compile terlebih dahulu. Cek apakah ada error / kesalahan.
j. Jika tidak ada error/kesalahan Running program tersebut.
k. Amati dan pahami alur program tersebut.
l. Simpanlah program tersebut.

Program 2

Menguji Angka yang diinputkan dan pilihan lain.


Penjelasan :

Program ini sama dengan program yang telah dijelaskan di atas, namun ada perbedaan yaitu jika nilai /
angka yang dimasukkan tidak sesuai maka akan muncul komentar yang menunjukkan diluar dari angka yang
dimasukkan/ angka yang dimasukkan salah.

Program MengulangKata1;

Uses
wincrt;

Var
a : integer;

Begin
Write('Masukkan Angka [1..4] : ');Read(A);writeln;

Case(A) of
1 : Write('Anda Memasukkan Angka Satu');
2 : Write('Anda Memasukkan Angka Dua');
3 : Write('Anda Memasukkan Angka Tiga');
4 : Write('Anda Memasukkan Angka Empat');
Else
Write('Nomor yang anda masukkan salah !!');
end;
readln;
end.

Tugas :

g. Buka Program Pascal


h. Tuliskan kode program tersebut ke dalam editor Pascal
i. Compile terlebih dahulu. Cek apakah ada error / kesalahan.
j. Jika tidak ada error/kesalahan Running program tersebut.
k. Amati dan pahami alur program tersebut.
l. Simpanlah program tersebut.
Program 3 :

Program Menghitung Gaji Karyawan.

Penjelasan :

Program ini dipakai untuk mencari upah karyawan sesuai dengan golongannya serta menghitung gaji lembur
berdasarkan jam kerja/jam lembur.

Program hitunggaji;

uses wincrt;

var
gaji,total,jamkerja,lembur,upah : real;
nama : string;
golongan : integer;

begin
clrscr;
write('Masukkan nama karyawan : ');read(nama);
write('Masukkan golongannya : ');read(golongan);
write('Masukkan jam kerjanya : ');read(jamkerja);

case golongan of
1: upah := 5000;
2: upah := 6000;
3: upah := 7500;
4: upah := 9000;
else
write('Golongan yang dimasukkan tidak ada !!!!!');
writeln;
upah := 0;
end;

if (jamkerja > 150) then


lembur := (jamkerja - 150) * upah * 1.25
else
lembur := 0;
gaji := 150 * upah;
{end}
total := gaji + lembur;
clrscr;
write('Gaji saudara : ',nama,' adalah sebesar Rp. ',total:4:2);
end.

Tugas :

f. Buka Program Pascal dan tuliskan kode program tersebut.


g. Compile terlebih dahulu. Cek apakah ada error / kesalahan.
h. Jika tidak ada error/kesalahan Running program tersebut.
i. Amati dan pahami alur program tersebut.
j. Simpanlah program tersebut.

Latihan 3 :

Mencari Hitung Nilai Belanja

Penjelasan :

Program ini dipakai untuk menentukan harga berdasarkan kualitas barang yang dipilih dan selanjutnya akan
dihitung berapa nilai belanjanya.

Program berat;
Uses wincrt;
Var
beratt , harga , hargaperkg : integer ;
Kualitas:char;
Nama:string;
UI:char;
Begin
repeat
Clrscr;
Write('Masukan Nama Barang : ');readln(Nama);
Write('Massukkan Kualitas Buah [A/B/C] : '); readln(kualitas);
Write('Berapa Kg berat yang di beli : ' ); readln(beratt);
Case kualitas of
'A','a': hargaperkg:=1000;
'B','b': hargaperkg:=750;
'C','c': hargaperkg:=500;
Else
Begin
Hargaperkg:=0;
writeln('===============================================');
Writeln('Salah Input');
End;
End;

Harga:=hargaperkg*beratt;
writeln('================================================');
writeln('Nama Barang  : '   ,Nama);
Writeln('Harga Per Kg : Rp.',hargaperkg);
Writeln('Harga Total  : Rp.',harga);

Write('Apakah Anda Ingin berbelanja lagi? (Y/T) ');readln(UI);


until upcase(UI)<>'Y'
End.

Tugas :

f. Buka Program Pascal dan tuliskan kode program tersebut.


g. Compile terlebih dahulu. Cek apakah ada error / kesalahan.
h. Jika tidak ada error/kesalahan Running program tersebut.
i. Amati dan pahami alur program tersebut.
j. Simpanlah program tersebut.

Latihan 4.

Program mencari Angka Terbesar

Penjelasan :
Program ini dipakai untuk membuat menu pilihan 3 persoalan yaitu Penjumlahan, Pengurangan dan
Perkalian.

Program Menu_Case;
uses wincrt;
var
pilih, bil1, bil2, hsl:integer;
begin
writeln('Menu Operasi');
writeln('1. Penjumlahan');
writeln('2. Pengurangan');
writeln('3. Perkalian');
write('Input pilihan Operasi: ');readln(pilih);

case pilih of

1: begin
write('Bilangan 1: ');readln(bil1);
write('Bilangan 2: ');readln(bil2);
hsl:=bil1+bil2;
writeln('Hasil Penjumlahan : ',hsl);
end;
2: begin
write('Bilangan 1: ');readln(bil1);
write('Bilangan 2: ');readln(bil2);
hsl:=bil1-bil2;
writeln('Hasil Penjumlahan : ',hsl);
end;
3: begin
write('Bilangan 1: ');readln(bil1);
write('Bilangan 2: ');readln(bil2);
hsl:=bil1*bil2;
writeln('Hasil Penjumlahan : ',hsl);
end;
end
end.

Tugas :

a. Buka Program Pascal dan tuliskan kode program tersebut.


b. Compile terlebih dahulu. Cek apakah ada error / kesalahan.
c. Jika tidak ada error/kesalahan Running program tersebut.
d. Amati dan pahami alur program tersebut.
e. Simpanlah program tersebut.
Tugas Mandiri :

1. Buat program untuk menentukan konversi suhu udara. Adapun tampilan menu yang diinginkan adalah
sebagai berikut :

PROGRAM KONVERSI SUHU

----------------------------------------------------------------

[1] Konversi Celcius ke Fahrenheit

[2] Konversi Celcius ke Reamur

[3] Konversi Celcius ke Kelvin

[4] Keluar Program

Pilih menu dengan menekan tombol [1..4] : …

2. Buat program untuk menentukan konversi dari nilai angka menjadi nilai huruf dengan ketentuan
sebagai berikut :
Nilai 80 – 100 : Nilai A
Nilai 66 – 79 : Nilai B
Nilai 56 – 65 : Nilai C
Nilai 46 – 55 : Nilai D
Nilai 0 – 45 : Nilai E

Bentuk tampilan yang diharapkan :

Masukkan Nilai Anda :

Nilai Mutu Anda adalah :

Contoh :

Masukkan Nilai Anda : 85

Nilai Mutu Anda adalah :A


Buat juga apabila terjadi input nilai di luar ketentuan muncul teks “Nilai yang anda masukkan salah !!!”

MODUL 5
INSTRUKSI PERULANGAN
DENGAN FOR TO DO

4. Tujuan
Mahasiswa dapat menggunakan blok perulangan sehingga dapat menerapkan statemen
perulangan tersebut ke dalam aplikasi.
Mahasiswa dapat membuat program yang lebih efisien

5. STATEMEN FOR TO DO
a. Konstruksi perulangan For pada umumnya digunakan untuk melakukan pengulangan yang
banyaknya sudah diketahui secara pasti (tanpa adanya kondisi yang harus diperiksa).
b. Dalam pengulangan jenis ini kita selalu membutuhkan variabel sebagai indeks pengulangan
yang dapat bertipe bilangan bulat, karakter maupun enumerasi.

Bentuk Umum Instruksi For to Do

For variabel := batas awal to batas akhir do


statemen yang akan diulang;
For variabel := batas awal to batas akhir do begin
statement yang akan diulang1;
statement yang akan diulang2;
………..
End;

Contoh Dalam Program :


Program ini dipakai untuk menampilkan teks “Bahasa Pemrograman Pascal” sebanyak 5 kali.
Program ulang;
Uses
crt;
Var
I : integer;
Begin
clrscr;
for I := 0 to 4 do
write(‘Bahasa Pemrograman Pascal’);
readln;
End.

c. Latihan-Latihan

Latihan 1 :
Menampilkan Angka Urut
Program ini dipakai untuk menampilkan angka urut dari angka 1 sampai dengan angka 10.

program Contoh1;
var
x: integer;
begin
for x := 1 to 10 do
begin
write(x , ' ');
end;
readln;
end.

Tugas :
m. Buka Program Pascal
n. Tuliskan kode program tersebut ke dalam editor Pascal
o. Compile terlebih dahulu. Cek apakah ada error / kesalahan.
p. Jika tidak ada error/kesalahan Running program tersebut.
q. Amati dan pahami alur program tersebut.
r. Simpanlah program tersebut.
Latihan 2 :
Menampilkan Angka Urut dari Besar ke Kecil
Program ini dipakai untuk menampilkan angka urut dari angka 15 sampai dengan angka 1.
program Contoh2;
uses crt;
var
y: integer;
begin
clrscr;
for y := 15 downto 5 do
begin
write(y , ' ');
end;
readln;
end

Tugas :
a. Buka Program Pascal
b. Tuliskan kode program tersebut ke dalam editor Pascal
c. Compile terlebih dahulu. Cek apakah ada error / kesalahan.
d. Jika tidak ada error/kesalahan Running program tersebut.
e. Amati dan pahami alur program tersebut.
f. Simpanlah program tersebut.

Latihan 3 :
Menguji angka yang diinputkan.
Penjelasan :
Program ini dipakai untuk mencari jumlah total dari angka 1 sampai dengan angka n yang
dimasukkan.

Program statement2;
Uses
wincrt;
Var
I, n, jumlah : integer;
Begin
clrscr;
write('Masukkan bilangan : ');readln(n);
jumlah := 0;
for I := 1 to n do begin
jumlah := jumlah + I;
end;
writeln;Writeln('Jumlah dari ',n,' bilangan positif pertama adalah :
' ,jumlah);
Readln;
End.
Tugas :
g. Buka Program Pascal
h. Tuliskan kode program tersebut ke dalam editor Pascal
i. Compile terlebih dahulu. Cek apakah ada error / kesalahan.
j. Jika tidak ada error/kesalahan Running program tersebut.
k. Amati dan pahami alur program tersebut.
l. Simpanlah program tersebut.

Program 4
Menampilkan angka kelipatan 4.
Penjelasan :
Program ini sama dengan program sebelumnya namun dalam program ini yang ditampilkan adalah
kelipatan 3. Untuk membuat supaya menjadi kelipatan diberikan statement A := A + 3.
Program Deret;
uses crt;
var n,I,A: integer;
begin
  clrscr;
writeln(‘Masukkan Angka : ‘);readln(n);
  A:=3;
  for I:=1 to n do
  begin
     write(A,’ ‘);
     A:=A+3
  end;
  Readln;
end.

Tugas :

m. Buka Program Pascal


n. Tuliskan kode program tersebut ke dalam editor Pascal
o. Compile terlebih dahulu. Cek apakah ada error / kesalahan.
p. Jika tidak ada error/kesalahan Running program tersebut.
q. Amati dan pahami alur program tersebut.
r. Simpanlah program tersebut.
Program 4 :
Program Menghitung Gaji Karyawan.
Penjelasan :
Program ini dipakai untuk mencari upah karyawan sesuai dengan golongannya serta menghitung gaji
lembur berdasarkan jam kerja/jam lembur.

Program hitunggaji;

uses crt;

var
gaji,total,jamkerja,lembur,upah : real;
nama : string;
golongan : integer;

begin
clrscr;
write('Masukkan nama karyawan : ');read(nama);
write('Masukkan golongannya : ');read(golongan);
write('Masukkan jam kerjanya : ');read(jamkerja);

case golongan of
1: upah := 5000;
2: upah := 6000;
3: upah := 7500;
4: upah := 9000;
else
write('Golongan yang dimasukkan tidak ada !!!!!');
writeln;
upah := 0;
end;

if (jamkerja > 150) then


lembur := (jamkerja - 150) * upah * 1.25
else
lembur := 0;
gaji := 150 * upah;
{end}
total := gaji + lembur;
clrscr;
write('Gaji saudara : ',nama,' adalah sebesar Rp. ',total:4:2);
end.
Tugas :

k. Buka Program Pascal dan tuliskan kode program tersebut.


l. Compile terlebih dahulu. Cek apakah ada error / kesalahan.
m. Jika tidak ada error/kesalahan Running program tersebut.
n. Amati dan pahami alur program tersebut.
o. Simpanlah program tersebut.

Latihan 3 :
Mencari Hitung Nilai Belanja
Penjelasan :
Program ini dipakai untuk menentukan harga berdasarkan kualitas barang yang dipilih dan
selanjutnya akan dihitung berapa nilai belanjanya.

Program berat;
Uses wincrt;
Var
beratt , harga , hargaperkg : integer ;
Kualitas:char;
Nama:string;
UI:char;
Begin
repeat
Clrscr;
Write('Masukan Nama Barang : ');readln(Nama);
Write('Massukkan Kualitas Buah [A/B/C] : '); readln(kualitas);
Write('Berapa Kg berat yang di beli : ' ); readln(beratt);
Case kualitas of
'A','a': hargaperkg:=1000;
'B','b': hargaperkg:=750;
'C','c': hargaperkg:=500;
Else
Begin
Hargaperkg:=0;
writeln('===============================================');
Writeln('Salah Input');
End;
End;

Harga:=hargaperkg*beratt;
writeln('================================================');
writeln('Nama Barang  : '   ,Nama);
Writeln('Harga Per Kg : Rp.',hargaperkg);
Writeln('Harga Total  : Rp.',harga);
Write('Apakah Anda Ingin berbelanja lagi? (Y/T) ');readln(UI);
until upcase(UI)<>'Y'
End.

Tugas :

k. Buka Program Pascal dan tuliskan kode program tersebut.


l. Compile terlebih dahulu. Cek apakah ada error / kesalahan.
m. Jika tidak ada error/kesalahan Running program tersebut.
n. Amati dan pahami alur program tersebut.
o. Simpanlah program tersebut.

Latihan 4.
Program Membuat Menu Pilihan
Penjelasan :
Program ini dipakai untuk membuat menu pilihan 3 persoalan yaitu Penjumlahan, Pengurangan dan
Perkalian.

Program Menu_Case;
uses wincrt;
var
pilih, bil1, bil2, hsl:integer;
begin
writeln('Menu Operasi');
writeln('1. Penjumlahan');
writeln('2. Pengurangan');
writeln('3. Perkalian');
write('Input pilihan Operasi: ');readln(pilih);

case pilih of

1: begin
write('Bilangan 1: ');readln(bil1);
write('Bilangan 2: ');readln(bil2);
hsl:=bil1+bil2;
writeln('Hasil Penjumlahan : ',hsl);
end;
2: begin
write('Bilangan 1: ');readln(bil1);
write('Bilangan 2: ');readln(bil2);
hsl:=bil1-bil2;
writeln('Hasil Penjumlahan : ',hsl);
end;
3: begin
write('Bilangan 1: ');readln(bil1);
write('Bilangan 2: ');readln(bil2);
hsl:=bil1*bil2;
writeln('Hasil Penjumlahan : ',hsl);
end;
end;
end.

Tugas :

f. Buka Program Pascal dan tuliskan kode program tersebut.


g. Compile terlebih dahulu. Cek apakah ada error / kesalahan.
h. Jika tidak ada error/kesalahan Running program tersebut.
i. Amati dan pahami alur program tersebut.
j. Simpanlah program tersebut.

Tugas Mandiri :
3. Buat program untuk menentukan konversi suhu udara. Adapun tampilan menu yang diinginkan adalah
sebagai berikut :

PROGRAM KONVERSI SUHU


----------------------------------------------------------------

[1] Konversi Celcius ke Fahrenheit


[2] Konversi Celcius ke Reamur
[3] Konversi Celcius ke Kelvin
[4] Keluar Program

Pilih menu dengan menekan tombol [1..4] : …

4. Buat program untuk menentukan konversi dari nilai angka menjadi nilai huruf dengan ketentuan sebagai
berikut :
Nilai 80 – 100 : Nilai A
Nilai 66 – 79 : Nilai B
Nilai 56 – 65 : Nilai C
Nilai 46 – 55 : Nilai D
Nilai 0 – 45 : Nilai E
Bentuk tampilan yang diharapkan :

Masukkan Nilai Anda :

Nilai Mutu Anda adalah :

Contoh :

Masukkan Nilai Anda : 85

Nilai Mutu Anda adalah :A

Buat juga apabila terjadi input nilai di luar ketentuan muncul teks “N ilai yang anda masukkan
salah !!!”

MODUL 6

INSTRUKSI PERULANGAN

DENGAN WHILE-DO

6. Tujuan

Mahasiswa dapat menggunakan blok perulangan sehingga dapat menerapkan statemen perulangan tersebut ke
dalam aplikasi.

Mahasiswa dapat membuat program yang lebih efisien dengan menggunakan statemen perulangan yang lebih
bervariatif.

7. STATEMEN PERULANGAN WHILE DO


Para prinsipnya perulangan hampir sama dengan perulangan pada For To Do, namun perbedaannya adalah
bahwa statemen ini akan bekerja jika statement yang diberikan bernilai benar.

Bentuk Umum Instruksi

Begin
While (kondisi) do...Statement...
end.

Artinya

untuk kondisi dapat berupa x>10 atau x<15. Jadi ketika kondisi tela terpenuhi, baru perulangan dapat
dijalankan.

Untuk statement dapat berupa if, writeln, readln, intinya hal-hal yang akan di ulang berada di statement.

Contoh Dalam Program :

Program ini dipakai untuk menampilkan teks “Hallo Teman, Saya Belajar Pascal” sebanyak 10 kali.

program dasar;
uses crt;
var
x:integer; //variabel untuk angka
begin
x:= 1;
while x<10 do //kondisi, dimana ketika x kurang dari

10 maka perulangan
berjalan
begin
writeln('Hallo Teman, Saya Belajar Pascal');  
x:=x+1; //agar x bertambah ketika diulang

kembali ke atas
end;
end.
8. Latihan-latihan

Latihan 1

Membuat dan Menampilkan perkalian angka yang diinputkan dengan angka 1 – 10.

program perkalian;
uses crt;
var
x,y,angka, hasil : integer;
begin
x:=0;
write('Masukkan Perkalian Berapa : '); readln(angka);
while x<=9 do
begin
y:=x+1;
hasil := y*angka;
writeln(y,' * ', angka ,' = ',hasil);
x:=x+1;
end;
writeln;
end.

Tugas :

m. Buka Program Pascal

n. Tuliskan kode program tersebut ke dalam editor Pascal

o. Compile terlebih dahulu. Cek apakah ada error / kesalahan.

p. Jika tidak ada error/kesalahan Running program tersebut.

q. Amati dan pahami alur program tersebut.

r. Simpanlah program tersebut.

Latihan 2

Program ini adalah untuk menjumlah angka dari 1 sampai n yang diinputkan menggunakan keyboard.
Program Jumlah;

uses crt;

var i, n, jumlah: integer;

begin
clrscr;
writeln('menjumlahkan deret 1+2+3+..+n');

writeln;
write('masukkan nilai n: ');readln(n);

       jumlah:=0;
       i:=1;
while i<=n do

begin
jumlah:=jumlah+i;
i:=i+1;
end;
write('deret dari 1 sampai : ',n,' = ',jumlah);

readln;
end.

Tugas :

a. Buka Program Pascal

b. Tuliskan kode program tersebut ke dalam editor Pascal

c. Compile terlebih dahulu. Cek apakah ada error / kesalahan.

d. Jika tidak ada error/kesalahan Running program tersebut.

e. Amati dan pahami alur program tersebut.

f. Simpanlah program tersebut.

Latihan 3

Program ini merupakan program deret menggunakan statement While-Do berkalang, dimana di dalam kalang
while do terdapat while do lagi.
program whiledalamwhile2;

var

   a, b : integer;

begin

     a:= 1;

     while a <= 5 do

           begin

             b:= 1;

             while b <= a do

                   begin

                   write (a : 2);

                   b:= b + 1;

                   end;

                   writeln;

             a:= a + 1

           end;

     readln;

end.

Tugas :

a. Buka Program Pascal

b. Tuliskan kode program tersebut ke dalam editor Pascal

c. Compile terlebih dahulu. Cek apakah ada error / kesalahan.

d. Jika tidak ada error/kesalahan Running program tersebut.

e. Amati dan pahami alur program tersebut.


f. Simpanlah program tersebut.

9. Tugas Mandiri

Tugas Mandiri 1

Buat Program yang menghasilkan tabel perkalian dari angka 1 sampai angka 5. Program ini menggunakan
while dalam while atau sering disebut juga dengan while bersarang.

Hasil Output yang diharapkan

Tugas Mandiri 2

Buatlah program dengan menggunakan while do untuk menghasilkan keluaran berupa sebuah deret bilangan
kelipatan 3. Untuk batas atas silakan tentukan sendiri. Apabila sudah jadi carilah jumlah totalnya totalnya.
MODUL 8

PROCEDURE

Latihan 1

program hitungan_matematika;      writeln ('Menghitung Volume Balok ');


uses wincrt;      write ('Masukan Nilai Panjang :');readln (p);
var      write ('Masukan Nilai Tinggi  :');readln(l);
menu : integer;      write ('Masukan Nilai Lebar   :');readln(t);
ulang : char;      writeln ('Rumus : p*l*t');
a,t,h : real;      v :=p*l*t;
p,l,v:real;      writeln ('Volume Balok adalah :',v:0:0);
s,j:real;      write (' ulang lagi[y/n]?'); readln (ulang);
al,tg,lu:real;      until upcase (ulang) <>'Y';
procedure luas_segitiga; end;
begin
     repeat procedure volume_kubus;
     clrscr; begin
     writeln ('Menghitung Luas Segitiga');      repeat
     write ('Masukan Nilai Alas  : ');readln(a);      clrscr;
     write ('Masukan Nilai Tinggi :');readln(t);      writeln ('Menghitung Volume kubus ');
     writeln ('Rumus : a*t/2');      write ('Masukan Nilai sisi :');readln (s);
     h:=a*t/2;      writeln ('Rumus : s*s*s');
     writeln ('Luas Segitiga Adalah :',h:0:0);      j:=s*s*s;
     write (' ulang lagi[y/n]?'); readln (ulang);      writeln ('Volume kubus adalah :',j:0:0);
     until upcase (ulang) <>'Y';      write (' ulang lagi[y/n]?'); readln (ulang);
end;      until upcase (ulang) <>'Y';
end;
procedure volume_balok;
begin procedure luas_jajar_genjang;
     repeat begin
     clrscr;      repeat
     clrscr;       1: begin
     writeln ('Menghitung luas jajar genjang ');               luas_segitiga;
     write ('Masukan Nilai alas :');readln (al);                menu_utama;
     write ('Masukan Nilai Tinggi  :');readln(tg);          end;
     writeln ('Rumus : a*t');       2:begin
    lu:=al*tg;              volume_balok;
     writeln ('jadi luas jajar genjang adalah :',lu:0:0);              menu_utama;
     write (' ulang lagi[y/n]?'); readln (ulang);         end;
     until upcase (ulang) <>'Y';       3:begin
end;              volume_kubus;
             menu_utama;
 procedure menu_utama;         end;
 begin       4: begin
      clrscr;               luas_jajar_genjang;
      writeln ('Menu Utama');               menu_utama;
      writeln ('1. Luas Segitiga ');         end;
      writeln ('2. Volume Balok');       5:donewincrt;
      writeln ('3. volume kubus');       end;
      writeln ('4. luas jajar genjang ');  end;
      writeln ('5. keluar');  begin
      writeln;  clrscr;
      write ('Pilih Menu :');readln(menu);  menu_utama;
      case menu of  end.
Program 2

Uses crt; begin


            Var a:array[1…100]of integer; for j:=1 to Z do
BD       :integer; begin
i,j,swap           :integer; write (‘input data ke ‘,j,’=’);
            readln(a[j]);
procedure input_data(z:integer); end;
end;             swap:=a[i];
            procedure cetak_data(Z:integer);             a[i]:=a[j];
            begin             a[j]:=swap;
            for i:=1 to Z do end;
begin end;
write (a[i]), ’ , ’); end;
end;             end;
end; begin
            procedure Ascending(z:integer); clrscr;
            begin write (‘Input Banyak Data :’);
            for i:=1 to z do readln(BD);
            begin input_data(BD);
            for j:=1 to z do             write(‘Data Sebelum Diurutkan :’);
begin cetak_data(BD);
if a[i]<a[j] then writeln;
begin             write(‘Data Di urutkan Secara
Ascending :’);
            swap:=a[i];
            Ascending(BD);
            a[i]:=a[j];
Cetak_data(BD);
            a[j]:=swap;
Writeln;
end;
            Write(‘Data Di urutkan Secara
end;
descending :’);
end;
            Descending(BD);
            end;
            Cetak_data(BD);
procedure descending(z:integer);
            Writeln;
            begin
            Readln;
            for i:=1 to z do
            End. 
            begin
            for j:=1 to z do
begin
if a[i]>a[j] then
begin
MODUL 8

REKURSIF DAN PALINDROM

Pengantar :

Baca kembali penjelasan tentang pengertian Rekursif dan Palindrom. Kemudian cobalah program I
bawah ini, Kemudian buat laporan yang terdiri dari analisa logika dan programnya.

Program 1. Faktorial

Program Faktor;
uses crt;
function Faktorial(a:integer):longint;
begin
if (A=1) then
Faktorial:=1
else
Faktorial:=a*faktorial(a-1);
end;

var
x:integer;
begin
clrscr;
write('Berapa Faktorial : ');readln(x);
writeln(x,'! = ',faktorial(x));
readln;
end.
Jalankan Program tersebut dan lihat hasilnya.

Program 2. Bilangan Fibonacci


Program fibonacci_rekursi;
Uses wincrt;
Var
f: Array [1..50] of integer;
x :integer;
i : integer;

Function Fibo (n:integer): integer;


Begin
if (n = 1) or (n = 2) then fibo := 1
else
fibo:=fibo(n-1)+fibo(n-2)
end;
Begin
write(‘Cetak bilangan fibonacci sampai suku ke : ‘);
readln(x);
writeln;
For i:=1 to x do
Begin
f[i]:=fibo(i);
write(f[i], ‘ ‘);
end;
writeln;
writeln(‘Suku ke ‘,i,’ : ‘,f[i]);
readln;
end.

Program 3
Program Hanoi;
uses crt;
procedure MenaraHanoi (jumlah : integer;
sumber, tujuan, bantuan : char;
var langkah : integer);
begin
if jumlah = 1 then
begin
langkah := langkah + 1;
write(‘Langkah : ‘,langkah);
writeln(‘ Pindahkan Piringan 1 dari menara ‘,sumber,’ ke menara ‘, tujuan);
end
else
begin
(*Pindahkan N-1 piringn dari menara A ke B
menggunakan menara C sebagai menara bantuan*)
MenaraHanoi(jumlah-1,sumber,bantuan,tujuan,langkah);
langkah :=langkah + 1;
write(‘Langkah : ‘,langkah);
write(‘ Pindahkan Piringan ‘,jumlah);
writeln(‘ dari menara ‘,sumber ,’ ke menara ‘,tujuan);
(*Pindahakan N-1 piringan dari menara B ke C
menggunakan menara A sebagai sebagai menara bantuan*)
MenaraHanoi(jumlah-1,bantuan,tujuan,sumber,langkah);
end;
end;
var
jumlah, langkah : integer;
sumber,bantuan, tujuan : char;
begin
clrscr;
write(‘Masukkan Jumlah Piringan : ‘);
readln(jumlah);
langkah := 0;
sumber := ‘A’; bantuan := ‘B’; tujuan := ‘C’;
MenaraHanoi(jumlah,sumber,tujuan,bantuan,langkah);
end.
MODUL 10
TYPE DATA RECORD

Program 1. Data Mahasiswa

program tugas2;
uses crt;
type
      mahasiswa = record
               nim     :string[8];
               nama    :string[30];
               jurusan :string[20];
               tgl     :string[10];
               alamat  :string[30];
               notelp  :string[12];
     end;
var
     mhs :array[1..10] of mahasiswa;
     byk :byte;
     i,j :integer;
begin
clrscr;
txtcolor(10);
writeln('     TYPE DATA RECORD      ');
writeln('===========================');
writeln('===========================');
textcolor(15);
write(Masukkan Jumlah Mahasiswa: ');readln(byk);
for i:= 1 to byk do
begin
write('NIM          :');readln(mhs[i].nim);
write('Nama         :');readln(mhs[i].nama);
write('Jurusan     :');readln(mhs[i].jurusan);
write('Tanggal Lahir:');readln(mhs[i].tgl);
write('Alamat       :');readln(mhs[i].alamat);
write('No Telpon    :');readln(mhs[i].notelp);
writeln;
end;
textcolor(10);
for j:= 1 to byk do
begin
writeln('NIM       :',mhs[j].nim);
writeln('Nama     :',mhs[j].nama);
writeln('Jurusan   :',mhs[j].jurusan);
writeln('Tanggal Lahir:',mhs[j].tgl);
writeln('Alamat       :',mhs[j].alamat);
writeln('No Telpon    :',mhs[j].notelp);
writeln;
end;
writeln;
writeln;
write(*****PRODI S1 Sistem Informasi*****);
readln;
end.

Program 2. Nota Belanja

program nota;
uses wincrt;
type
 databrg=record
 namabrg:string[15];
 hargabrg:real;
 kode:string[5];
 jml:integer;
 tot:real;
 
end;
var
jumlahbrg,i,j:byte;
totalharga:real;
tgl,nama,alamat : string;
barang:array[1..50] of databrg;
{Masukan Data}
begin
clrscr;
write('Tanggal Pembelian: ');readln(tgl);
write('Nama Pembeli     : ');readln(nama);
write('Alamat           : ');readln(alamat);
write('Jumlah Pembelian : ');readln(jumlahbrg);
for i :=1 to jumlahbrg do
 begin
 writeln;writeln('Barang ke ',i:2);
 with barang[i]do
 begin
 write('Kode barang  : ');readln(kode);
 write('Nama Barang  : ');readln(namabrg);
 write('harga satuan : ');readln(hargabrg);
 write('jumlah barang: ');readln(jml);
 end;
 end;
 
{Menampilkan Hasil}
clrscr;
writeln('                          NOTA BELANJA BARANG');
writeln('                               TOKO ABADI');
writeln('                      Jl. Suka Koding No.4 Yogyakarta');
writeln;
writeln('Tanggal Pembelian: ',tgl);
writeln('Nama Pembeli     : ',nama);
writeln('Alamat           : ',alamat);
writeln('------------------------------------------------------------------
------------');
writeln('No | Kode barang | Nama Barang | harga satuan(Rp) | jumlah |
hargaxjumlah(Rp)');
writeln('------------------------------------------------------------------
------------');
totalharga:=0;
for i:= 1 to jumlahbrg do
begin
with barang[i]do
 begin
 totalharga:=totalharga+(hargabrg*jml);
 tot:=hargabrg*jml;
 write(i,'       ');
 write(kode,'     ');
 write(namabrg:10,'    ');
 write(hargabrg:10:0,'             ');
 write(jml,'     ');
 writeln(tot:10:0);
 end;
end;
writeln('------------------------------------------------------------------
------------');
writeln('                                   Total Pembelian    :    
',totalharga:10:0);
writeln('------------------------------------------------------------------
------------');
writeln(' TERIMA KASIH ');
readln;
donewincrt;
end.

Tugas :

Buat table nilai mahasiswa dengan

Input adalah : NIM, Nama, UTS, UAS, Nilai Tugas.

Output

No. NIM Nama N UTS N.UAS N.Tugas N.Rerata N. Mutu

Keterangan :

Untuk nilai mutu silakan minta informasi di Akademik utk skoring mutunya.
Penutup

Sebagai penutup mahasiswa diberikan tugas untuk merangkum semua tahapan praktikum dan
mengumpulkannya dalam bentuk laporan kegiatan praktikum. Untuk memudahkan membuat laporan
akhir, maka mahasiswa harus membuat laporan antara di setiap tahapan Praktikum

Demikian modul praktikum ini disusun sebagai pedoman dan rujukan untuk melaksanakan praktiku
Logika dan Algoritma di lingkungan program studi S1 Sistem Informasi Fakultas Sains dan Teknologi
Unriyo.

Anda mungkin juga menyukai