Anda di halaman 1dari 29

MODUL PRAKTIKUM

PRAKTEK ALGORITMA DAN PEMGOGRAMAN 1

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN ILMU KOMPUTER


EL RAHMA
YOGYAKARTA
2010

Modul Algoritma dan Pemrograman I

Halaman :

MODUL I
STRUKTUR FLOWCHART
(1 x pertemuan)
I. TUJUAN
Mahasiswa mengenal struktur flowchart program dengan editor flowprogramming.
II. TEORI SINGKAT
A. Pengenalan flowprogramming
Aplikasi Flowprogramming adalah aplikasi yang digunakan untuk membuat flowchart
program. Sebelum membuat program, terlebih dahulu membuat algoritma dan flowchart
terlebih dahulu. Saat flowprogramming dijalankan maka akan tampil seperti dibawah ini :

Kemudian klik tombol ok. Sehingga akan tampil editor flowprogramming.

Beberapa tool yang digunakan :


1.
untuk membuat file baru

Joko S

2.

untuk membuka file

3.

untuk menyimpan file

4.

untuk menjalankan flowchart

5.

untuk menghentikan flowchart

6.

untuk mengistirahatkan flowchart

7.

start, symbol yang digunakan untuk mengawali flowchart

8.

action, symbol yang digunakan untuk melakukan proses pada flowchart

9.

in, symbol yang digunakan untuk menginputkan pada flowchart

10.
11.

out, symbol yang digunakan untuk menampilkan pada flowchart


junction, symbol yang digunakan untuk melakukan pengecekan

12.

intersection, symbol yang digunakan untuk penghubung flowchart


STMIK El Rahma Yogyakarta

Modul Algoritma dan Pemrograman I

Halaman :

13.

end, symbol yang digunakan untuk mengakhiri flowchart

14.

untuk menghubungkan alur flowchart antar symbol

15.

untuk mengisi olahan pada symbol

16.
17.

untuk menghapus symbol


untuk mengapus hubungan alur antar symbol

B. Pengoperasian Flowprogramming
Setiap flowchart pasti diawali dengan START dan diakhiri dengan END. Untuk
membuat flowchart tentukan symbol yang akan digunakan sesuai fungsi dan kebutuhan.
Kemudian klik pada tool symbol yang akan digunakan, dan klik di area kerja
flowprogramming, atur tata letak symbol sehingga mudah dimengerti dan dipahami.
Untuk membuat hubungan alur antar symbol dapat dilakukan dengan mengklik symbol
asal dan kemudian klik symbol akhir, baru klik tool untuk menghubungkan alur antar symbol.
Hubungan alur antar symbol dapat dilihat dari garis yang ada tanda panahnya. Tanda panah
pada garis difungsikan sebagai penunjuk alur flowchart, dimana symbol awal berarti ada pada
garis yang tidak ada panahnya, sedangkan symbol akhir berarti ada pada garis yang ada
panahnya.
Penghapusan symbol tidak dapat dilakukan apabila masih berhubungan dengan symbol
yang lain, oleh karena itu hapus terlebih dahulu hubungannya dengan cara klik pada symbol
awal dan klik lagi pada symbol akhir, baru klik tool untuk menghapus hubungan antar symbol.
Jika sudah tidak ada hubungan dengan symbol yang lain, sudah pasti symbol dapat dihapus.
Contoh 1 :
Membuat flowchart menghitung luas segitiga
Algoritma >>
1. Mulai
2. Tentukan Alas
3. Tentukan Tinggi
4. Hitung Luas = 0.5 X Alas
5. Hitung Luas1 = Luas X Tinggi
6. Tampilkan Luas
7. Akhir

Flowchart >>
1.

start

2.

input alas

3.

input tinggi

4.

luas = 0.5 X Alas

5.

luas1= luas X Tinggi

6.
7.

tampilkan luas1
end

Langkah-langkah pembuatan flowchart dengan flow programming


1. Buka jalankan flowprogramming, pastikan berada pada halaman baru.
2. Pilih symbol-simbol yang akan digunakan seperti symbol- symbol diatas dan letakkan
pada area kerja flowprogramming. Sehingga menjadi seperti gambar dibawah ini :

Joko S

STMIK El Rahma Yogyakarta

Modul Algoritma dan Pemrograman I

Halaman :

3. Klik 2 kali pada symbol input yang pertama, sehingga muncul jendela Input.

Ket :
- Message digunakan untuk memberi keterangan input saat flowchart dijalakan
- Variable Name digunakan untuk memberi nama variable terhadap inputan.
4. Isi Message = Alas dan Variable Name = A, jika sudah klik OK.
5. Klik 2 kali pada symbol input yang kedua, isi Message = Tinggi dan Variable Name =
T
6. Klik 2 kali pada symbol proses yang pertama, sehingga muncul jendela Action. Ada 3
tab yaitu Definition, Arithmetic Operation dan String Operation. Pilih tab Arithmetic
Operation.

Ket :
- Operand 1 digunakan untuk menentukan operan 1 dapat berupa variable atau
masukan angka.
- Operand 2 digunakan untuk menentukan operan 2 dapat berupa variable atau
masukan angka.
- Operation digunakan untuk menentukan operasi yang digunakan untuk
mengoperasikan kedua operan yang dimaksud ( + untuk penjumlahan, untuk
pengurangan ,* untuk perkalian, / untuk pembagian)
- Store Result In digunakan untuk menentukan nama dari hasil pengoperasian kedua
operan.
7. Pada operand1 inputkan 0.5, operation pilih *, operand2 pilih A, store result in
inputkan luas.
8. Klik 2 kali pada symbol proses yang kedua, operand1 pilih luas, operation pilih *,
operand2 pilih T, store result in inputkan luas1.
9. Klik 2 kali pada symbol Out, sehingga muncul jendela Out.

Ket :
- Message digunakan untuk memberi keterangan output saat flowchart dijalakan
Joko S

STMIK El Rahma Yogyakarta

Modul Algoritma dan Pemrograman I

Halaman :

- Variable Name digunakan untuk memilih nama variable yang akan ditampilkan.
10. Isi message dengan Luas Segitiga, Variable name dengan pilihan luas1.
11. Hubungkan masing-masing symbol dan rapikan tata letak symbol, sehingga akan
menjadi seperti ini :

12. Simpan file pada folder masing-masing praktikan. Kemudian, Jalankan flowchart
dengan mengklik tool untuk menjalankan, maka akan muncul jendela Screen.
Masukan angka 7 untuk alas kemudian enter, lalu masukan angka 8 untuk tinggi
kemudian enter.

Perhatikan kotak biru yang berjalan pada saat flowchart dijalankan. Kotak biru itu
menandakan keberadaan tahap flowchart yang sedang dijalankan. Jika struktur benar maka
flowchart dapat berjalan sampai selesai. jika tidak sampai selesai, lihat keberadaan kotak biru
berada, cek lagi pada kotak biru tersebut karena disitulah letak kesalahannya.
III. PRAKTEK
Buatlah Algoritma dan Flowchart untuk menghitung luas dan keliling lingkaran

Joko S

STMIK El Rahma Yogyakarta

Modul Algoritma dan Pemrograman I

Halaman :

MODUL II
STRUKTUR PROGRAM PASCAL
(1 x pertemuan)
I. TUJUAN
Mahasiswa mengenal struktur program PASCAL, editor TURBO PASCAL. program sederhana
dengan bahasa PASCAL, Statemen masukkan dan keluaran, Variabel, Konstanta dan Operator.
II. TEORI SINGKAT
Editor TURBO PASCAL merupakan pelayanan terpadu antara editor dengan compiler.
Untuk mengaktifkan editor TURBO PASCAL dapat dilakukan dengan :
Aktifkan komputer dalam keadaan prompt C:\> (DOS)
Masuk ke direktori TURBO PASCAL
Masuk ke direktori BIN
Ketikkan TURBO
C:\> CD TP
C:\TP\CD BIN
C:\TP\BIN\ TURBO
Sehingga akan muncul jendela editor TURBO PASCAL deengna menu antara lain : File,
Edit, Search, Run, compile, Debug, Tools. Options, Window, Help.
Operasi-operasi pada editor PASCAL :
1. Untuk menciptakan lembar kerja baru File, New
2. Untuk menyimpan hasil pekerjaan File, Save/Save as, ketikkan nama filenya (Tekan
tombol F2)
3. Untuk membuka file data File, Open, pilih file data, Tekan tombol Open (Tekan tombol
F3)
4. Untuk berpidah ke direktori kerja File, Change dir, Tentukan direktori kerja, Tekan
tombol OK
5. Untuk keluar ke prompt DOS sementara File, DOS shell
6. Untuk kembali ke editor PASCAL ketikkan Exit
7. Untuk menjalankan program PASCAL Run, Run (Ctrl+F9)
8. Untuk melihat hasil RUN Alt+F
Struktur Program PASCAL :
PROGRAM NamaKepalaProgram;
LABEL <Deklarasi Label>
CONST <Deklarasi Konstantal>
TYPE <Deklarasi Tipe>
VAR <Deklarasi Variabell>
<Deklarasi Procedure dan Fuction>
Begin
<Pernyataan>
End.

Optional
Optional
Optional
Optional
Optional
Optional

A. Nama Kepala Program


Dipakai untuk keperluan dokumentasi. Menunjukkan dari identifikasi program yang
akan dibuat. Nama kepala program harus dimulai dengan huruf, dapat terdiri dari angka dan
karakter _ (garis bawah)dan tidak boleh ada spasi. NamaKepalaProgram mempunyai aturan
sama dengan Namavariabel, Namakonstanta, NamaTypeData, NamaProcedure,
NamaFuction.
B. Program Sederhana
Program paling sederhana dari PASCAL hanyalah terdiri
Begin
End.
Program diatas tidak mengandung statement sama sekali, sehingga program diatas
kalau dijalankan (Ctrl+F9) tidak menghasilkan Output.
Joko S

STMIK El Rahma Yogyakarta

Modul Algoritma dan Pemrograman I

Halaman :

C. Procedure Write dan Writeln


Write
: Mencectak dan kursor disebelahnya
Writeln : Mencetak dan kursor satu baris ke baris awal
Contoh Program :
Program coba;
Begin
write('Selamat datang ');
write('di TURBO PASCAL');
writeln;
writeln('Laboratorium komputer');
writeln('STMIK EL RAHMA');
end.
Program diatas dapat anda jalankan dengan menekan tombol Ctrl+F9. Anda bisa
melihat hasil dari ekselusi program dengan menekan tombol Alt+F5. Perhatikan hasil eksekusi
progrgam dengan cermat, apa efek dari write dan writeln.
D. Deklarasi Variabel (identifier) dan Format Keluaran
Sebelum suatu variabel digunakan maka terlebih dahulu harus dipesan dalam blok
deklarasi variabel dengan bentuk :
Var

NamaVar : Typevariabelnya;
NamaVar, NamaVar, : Typevariabelnya;

Jika menggunakan variabel yang belum di deklarasikan maka saat program di RUN
(dikompilasi) akan menyebabkan kesalahan dengan muncul pesan Unknown identifier.
Selanjutnya variabel bisa diisi data dengan statemen assingment.
NamaVariabel := data;
:= adalah operator untuk pengisian variabel dengan nilai data.
Kita dapat memberikan format cetakkan dengan aturan :
NamaVariabel : w
untuk variabel/data type integer atau string
Namavariabel : w : d untuk variabel/data tipe real
w adalah lebar medan cetak dan d adalah jumlah digit desimal dibelakang titik desimal.
E. Deklarasi Type Variabel
Dalam PASCAL dikenal banyak type yang bisa digunakan untuk mendeklarasikan
type suatu data.
Type
Kisaran nilai
Type sederhana :
Byte
0 .. 255
Word
0 .. 65535
ShortInt
-128 .. 127
Integer
-32768 .. 32767
Longint
-2147483648 .. 2147483648
Real
1 E-38 .. 1 E+28
Single
1.5 E-45 .. 3.4 E+38
Double
5.0 E-324 .. 1.7E+308
Extended
1.9 E-4951 .. 1.1 E+4932
Boolean
Kondisi True atau False
Char
a, b, .., z, 0 .. 9 semua karakter
String
rangkaian karakter
Type terstruktur :
Array
larik karakter, numerik
Record
numerik, string, char
File
numerik, string, larik, record
Set
data ordinal
Pointer
alamat memori
Joko S

STMIK El Rahma Yogyakarta

Modul Algoritma dan Pemrograman I

Halaman :

Type diatas adalah type standard bawaan PASCAL (sudah didefinisikan oleh
PASCAL). Kita dapat membuat/mendefinisikan sendiri type sesuai dengan keinginan kita
dengan cara mendeklarasikan pada bagian type. Bentuk :
Type
NamaTypeData = typedata;
selanjutnya NamaTypeData yang sudah kita definisikan bisa kita pakai sebagai type
data pada variabel yang kita gunakan.
Contoh :
Type
Bulat = Integer;
Pecah = Real;
Karakter = String;
Var
a,b,c : Bulat;
p,q : Pecah;
z : Karakter;
F. Operator
Dalam PASCAL dikenal beberapa operator antara lain : Operator aritmetika, Operator
string, Operator logika.
1. Operator aritmetika
/
pembagian
*
perkalian
div
pembagian integer
mod sisa hasil pembagian integer
+tambah dan kurang
Pada PASCAL tidak dikenal operator pangkat. apabila dibutuhkan dapat dibuat untuk
operasi pangkat.
2. operator string
Hanya ada satu operator string yaitu + yang artinya rangkai. Misalnya El +
Rahma El Rahma.
3. operator logika
operator logika yang terpenting adalah :
=
: sama dengan
<>
: tidak sama dengan
>=
: lebih besar atau sama dengan
<=
: lebih kecil atau sama dengan
>
: lebih besar
<
: lebih kecil
NOT, AND, OR, XOR
G. Deklarasi Konstanta
Konstanta adalah suatu nilai yang tidak dapat diubah dalam tubuh program dan harus
dideklarasikan di bagian deklarasi konstanta sebagai berikut :
Const
NamaKonstanta1 = NilaiKonstanta;
H. Komentar Program
Komentar adalah sesuatu yang tidak akan diproses pada saat program dijalankan.
Pemberian komentar ditandai dengan :
{komentar komentar}
Joko S

STMIK El Rahma Yogyakarta

Modul Algoritma dan Pemrograman I

Halaman :

I. Dekalrasi Unit
Unit adalah suatu kumpulan prosedur dan fungsi yang disediakan oleh PASCAL yang
disesuaikan dengan tujuannya. Dalam PASCAL dikenal beberapa Unit standard antara lain
Crt, Dos, Graph, Printer, Dos.
Contoh Unit yang tersedia dalam Unit Crt :
Clrscr : Untuk membersihkan layar
GotoXY
: Untuk memposisikan kursor pada kom X dan baris Yang di layar
Cara mendeklarasikan Unit adalah :
Uses NamaUnit, NamaUnit, ;
J. Prosedure Read dan Readln
Procedure ini digunakan untuk membaca data dari keyboard dengan memakai variabel
yang sudah dideklarasikan dalam deklarasi variabel. Sintaxnya :
Read(NamaVariabel, NamaVariabel, );
Readln(NamaVariabel, Namavariabel, );
Read
: Tidak akan menurunkan kursor setelah proses pembacaan
Readln : menurunkan kursor setelah proses pembacaan
Contoh program :
Program segitiga
Var
A, T, Luas : Real;
Begin
Writeln( Masukkan alas segitiga);
Readln (A);
Writeln( Masukkan tinggi segitiga);
Readln (T);
Luas = 0.5 * A * T;
Writeln;
Writeln( Luas Segitiga adalah ,Luas);
Readln;
End.
III. PRAKTEK
Buatlah program untuk menghitung luas dan keliling lingkaran.

Joko S

STMIK El Rahma Yogyakarta

Modul Algoritma dan Pemrograman I

Halaman :

MODUL III
STRUKTUR SELEKSI I
(1 x pertemuan)
I. TUJUAN
Mahasiswa mengenal struktur seleksi 1 flowchart program dengan editor flowprogramming.
II. TEORI SINGKAT
Penyeleksian dapat dilakukan apabila ada variable yang diuji dengan paremeter yang
sesuai oleh operator logika pada kondisi yang diinginkan. Kondisi berupa ungkapan yang bernilai
Boolean. Kondisi yang diinginkan dapat diartikan dengan pertanyaan yang dapat dijawab hanya
dengan Yes dan No atau Ya dan Tidak atau benar dan salah. Dalam flowprogramming
menggunakan symbol junction
.
Contoh 1 :
Penentuan lulus atau tidak mata kuliah berdasarkan nilai.
Algoritma >>
Flowchart >>
Mulai
mulai
Tentukan nilai
Ket = tidak lulus
input nilai
Jika nilai > 50
ket = tidak lulus
Ket = lulus
nilai > 50
Tampilkan ket
selesai
ket = lulus
tampil ket
selesai
Langkah-langkah :
1. Tentukan symbol-simbol yang dibutuhkan seperti contoh diatas, pilih dan susun di area kerja
flow programming.
2. Isi input nilai : message dengan Nilai, variable name dengan N.
3. Klik 2 kali pada symbol proses pertama, pilih tab Definition. Isi variable name dengan ket,
value dengan Tidak lulus.
4. Klik 2 kali pada symbol junction, sehingga muncul jendela equation. Operand1 pilih N,
Operation pilih >, Operand2 isi 50.
5. Klik 2 kali pada symbol proses kedua, pilih tab Definition. Isi variable name dengan ket,
value dengan lulus.
6. Klik 2 kali pada symbol output, isi message dengan Keterangan, pilih variable name dengan
ket.
7. Hubungkan alur symbol flowchart, untuk symbol junction ada 2 hubungan. Hubungan yang
pertama untuk yang sesuai atau jawaban yang bernilai Ya/Yes/Benar sedangkan hubungan
yang kedua untuk yang tidak sesuai atau jawaban yang bernilai Tidak/No/Salah.
8. Simpan dan jalankan, sehingga menjadi seperti berikut :

Joko S

STMIK El Rahma Yogyakarta

Modul Algoritma dan Pemrograman I

Contoh 2 :
Algoritma >>
1. Mulai
2. Tentukan nilai
3. Jika nilai > 50
4. Ket = lulus
5. Pesan = Selamat
6. Selain itu
7. Ket = Tidak lulus
8. Pesan = Belajar Lagi
9. Tampilkan Ket
10. Tampilkan Pesan
11. Selesai

Halaman :

10

Flowchart >>
1.

mulai

2.
3.

input nilai
nilai > 50

4.

ket = lulus

5.

pesan = selamat

6.

ket = Tidak lulus

7.

pesan = Belajar Lagi

8.

tampil ket

9.
10.

tampil pesan
selesai

Langkah-langkah
1. Tentukan symbol-simbol yang dibutuhkan seperti contoh diatas, pilih dan susun di area kerja
flow programming.
2. Isi input nilai : message dengan Nilai, variable name dengan N.
3. Pada symbol junction, sehingga muncul jendela equation. Operand1 pilih N, Operation pilih
>, Operand2 isi 50.
4. Pada symbol proses pertama, pilih tab Definition. Isi variable name dengan ket, value dengan
lulus.
5. Pada symbol proses kedua, pilih tab Definition. Isi variable name dengan pesan, value
dengan Selamat.
6. Pada symbol proses ketiga, pilih tab Definition. Isi variable name dengan ket, value dengan
Tidak lulus.
7. Pada symbol proses keempat, pilih tab Definition. Isi variable name dengan pesan, value
dengan Belajar Lagi.
8. Pada symbol output pertama, isi message dengan Keterangan, pilih variable name dengan ket.
9. Pada symbol output pertama, isi message dengan Keterangan, pilih variable name dengan
pesan.
10. Hubungkan alur symbol flowchart, untuk symbol junction ada 2 hubungan. Hubungan yang
pertama untuk yang sesuai atau jawaban yang bernilai Ya/Yes/Benar sedangkan hubungan
yang kedua untuk yang tidak sesuai atau jawaban yang bernilai Tidak/No/Salah.
Joko S

STMIK El Rahma Yogyakarta

Modul Algoritma dan Pemrograman I

Halaman :

11

11. Simpan dan jalankan, sehingga menjadi seperti berikut :

III. PRAKTEK
Sebuah toko swalayan memberikan discount bagi pembeli dengan ketentuan jika
pembelian lebih dari Rp 100.000, maka mendapat discound 15 % dari pembelian, tetapi jika
kurang dari Rp, 100.000 hanya mendapatkan 5 % dari pembelian. Buatlah algoritma dan
Flowchart untuk perhitungan pembayaran soal diatas !

Joko S

STMIK El Rahma Yogyakarta

Modul Algoritma dan Pemrograman I

Halaman :

12

MODUL IV
STRUKTUR SELEKSI I
(1 x pertemuan)
I. TUJUAN
Mahasiswa mengetahui tentang konsep pemrograman, struktur Seleksi dengan IF-THEN
dan struktur Seleksi dengan IF-THEN-ELSE.
II. TEORI SINGKAT
Proses seleksi atau proses kondisional atau proses pilihan ini terdapat suatu percabangan
dimana komputer harus melakukan pemilihan untuk menuju ke salah satu cabang berdasarkan
kondisi tertentu.
A. IF THEN
Bentuk dalam Pascal :
Bentuk 1 :
IF <Kondisi> THEN
Statement;

Bentuk 2 :
IF <Kondisi> Then
Begin
Statement1;
Statement2;
Block Statement
;
End;
Kondisi : ungkapan bernilai Boolean, maka untuk menyeleksi kondisi tersebut
perlu tanda-tanda operasi / pembanding.
Contoh 1 :
Program Contoh1;
Uses crt;
Var
Nilai : Integer;
Ket
: String;
Begin
Clrscr;
Write( Nilai Akhir = );
Readln(Nilai);
Ket := Tidak Lulus;
If Nilai > 50 Then
Ket := Lulus;
Writeln(Hasil = ,Ket);
Readln;
End.

B. IF THEN - ELSE
Bentuk dalam Pascal :
Bentuk 1 :
IF <Kondisi> THEN
Statement;
ELSE
Statement;

Joko S

Bentuk 2 :
IF <Kondisi> Then
Begin
Statement1;
Statement2;
;
End;
ELSE
Begin
Statement1;
Statement2;
;
End;

Block Statement

Block Statement

STMIK El Rahma Yogyakarta

Modul Algoritma dan Pemrograman I

Halaman :

13

Contoh 2 :
Program Contoh2;
Uses crt;
Var
Nilai : Integer;
Ket, Pesan
: String;
Begin
Clrscr;
Write( Nilai Akhir = );
Readln(Nilai);
If Nilai > 50 Then
Begin
Ket := Lulus;
Pesan := Selamat;
End;
Else
Begin
Ket := Tidak Lulus;
Pesan := Belajar Lagi;
End;
Writeln(Hasil = ,Ket);
Writeln(Pesan = ,Pesan);
Readln;
End.
III. PRAKTEK
Sebuah toko swalayan memberikan discount bagi pembeli dengan ketentuan jika
pembelian lebih dari Rp 100.000, maka mendapat discound 15 % dari pembelian, tetapi jika
kurang dari Rp, 100.000 hanya mendapatkan 5 % dari pembelian. Buatlah program untuk
perhitungan pembayaran soal diatas !

Joko S

STMIK El Rahma Yogyakarta

Modul Algoritma dan Pemrograman I

Halaman :

14

MODUL V
STRUKTUR SELEKSI II
(1 x pertemuan)
I. TUJUAN
Mahasiswa mengenal struktur seleksi II flowchart program dengan editor flowprogramming.
II. TEORI SINGKAT
Pada penyeleksian tidak menutup kemungkinan kondisi lebih dari satu, bisa dua atau lebih.
Maka dalam flowchart symbol junction yang digunakan dapat dua atau lebih begitu pula proses
yang akan dilakukan sesuai dengan nilai jawaban.
Contoh 1 :
Menentukan nilai huruf dari inputan nilai angka.
Algoritma >>
Flowchart >>
1. Mulai
1.
mulai
2. Tentukan nilai
3. Jika nilai >= 80
2.
input nilai
4. Huruf = A
3.
nilai >= 80
5. Jika nilai >= 60
4.
Huruf= A
6. Huruf = B
7. Jika nilai >40
5.
nilai >= 60
8. Huruf = C
6.
Huruf= B
9. Jika nilai >= 20
7.
nilai >= 40
10. Huruf = D
11. Selain itu
8.
Huruf= C
12. Huruf = E
9.
nilai >= 20
13. Tampilkan Huruf
14. Selesai
10.
Huruf= D
11.

Huruf= E

12.
tampil Huruf
13.
selesai
Susun dan hubungkan symbol-simbol diatas. Simpan dan jalankan sehingga menjadi
seperti berikut :

Joko S

STMIK El Rahma Yogyakarta

Modul Algoritma dan Pemrograman I

Halaman :

15

Contoh 2 :
Menentukan Predikat dari inputan nilai angka.
Algoritma >>
Flowchart >>
1. Mulai
1.
mulai
2. Tentukan nilai
3. Jika nilai = 5
2.
input nilai
4. Predikat = Sangat Baik
3.
nilai = 5
5. Jika nilai = 4
4.
predikat= Sangat Baik
6. Predikat = Baik
7. Jika nilai = 3
5.
nilai = 4
8. Predikat = Cukup
6.
predikat= Baik
9. Jika nilai = 2
7.
nilai = 3
10. Predikat = Kurang
11. Selain itu
8.
predikat= Cukup
12. Predikat = Sangat Kurang
9.
nilai = 2
13. Tampilkan Predikat
14. Selesai
10.
predikat= Kurang
11.

predikat= Sangat Kurang

12.
tampil predikat
13.
selesai
Susun dan hubungkan symbol-simbol diatas. Simpan dan jalankan sehingga menjadi
seperti berikut :

III. PRAKTEK
1. Sebuah toko swalayan memberikan discount bagi pembeli dengan ketentuan jika pembelian
lebih dari Rp 100.000, maka mendapat discound 15 % dari pembelian, tetapi jika kurang dari
Rp, 100.000 hanya mendapatkan 5 % dari pembelian. Jika pembeli adalah pelanggan tetap,
maka mendapatkan bonus satu buah gelas. Buatlah Algoritma dan Flowchartnya.
2. Buatlah Algoritma dan Flowchart, pada Sebuah toko memberikan bonus sesuai dengan
jumlah pembayaran dengan ketentuan sebagai berikut :
Bonus diberikan dengan menghitung pembayaran dengan kelipatan 100.000.
Kelipatan 0 sampai 2 mendapatkan bonus 1 Buah Jam Dinding.
Kelipatan 3 sampai 5 mendapatkan bonus 1 Buah Kipas Angin.
Kelipatan 6 sampai 10 mendapatkan bonus 1 Buah Radio.
Kelipatan > 10 mendapatkan bonus 1 Buah HandPhone.

Joko S

STMIK El Rahma Yogyakarta

Modul Algoritma dan Pemrograman I

Halaman :

16

MODUL VI
STRUKTUR SELEKSI II
(1 x pertemuan)
I. TUJUAN
Mahasiswa mengetahui tentang konsep pemrograman, struktur Seleksi dengan IF-THENELSE IF dan struktur Seleksi dengan CASE-OF.
II. TEORI SINGKAT
A. If Then Else -If
Perintah kondisional If-Then-Else hanya dapat digunakan untuk mengambil satu
keputusan dari dua keadaan yang mungkin yaitu Benar dan Salah. Dalam pemrograman sering
kali dijumpai suatu pengambilan keputusan lebih dari tiga atau lebih kemungkinan alternatif
kondisi. Permasalahan tersebut dalam Pascal dapat dipecahkan dengan perintah IF-THENELSE-IF.
Bentuk dalam Pascal :
IF <Kondisi_1> Then
Begin
Block Statement1;
End;
ELSE IF <Kondisi_2> Then
Begin
Block Statement2;
End;
ELSE
Begin
Block Statement3;
End;
Contoh :
Potongan program untuk mengkonversi dari nilai angka ke nilai huruf dengan ketentuan :
Nilai Huruf A jika Nilai angka lebih besar atau sama dengan 80
Nilai Huruf B jika Nilai angka antara 60 sampai dengan 79
Nilai Huruf C jika Nilai angka antara 40 sampai dengan 59
Nilai Huruf D jika Nilai angka antara 20 sampai dengan 39
Nilai Huruf E jika Nilai angka lebih kecil dari 20
If Nilai >= 80 Then
Writeln( Nilai Huruf = A );
Else If Nilai >= 60 Then
Writeln( Nilai Huruf = B );
Else If Nilai >= 40 Then
Writeln( Nilai Huruf = C );
Else If Nilai >= 20 Then
Writeln( Nilai Huruf = D );
Else
Writeln( Nilai Huruf = E );
B. Case - Of
Selain menggunakan perintah kondisional If-Then-Else-If, untuk menyelesaikan
permasalahan dengan pengambilan keputusan lebih dari dua kemungkinan, dapat juga
diselesaikan dengan menggunakan perintah CASE OF.

Joko S

STMIK El Rahma Yogyakarta

Modul Algoritma dan Pemrograman I

Halaman :

17

Bentuk :
CASE < NamaVar> OF
Statement1;
Statement2;
.
.
StatementN;
End;
Case Of End tidak menggunakan nilai logika sebagai dasar untuk pemilihan perintah yang
dikerjakan, tetapi menggunakan suatu ungkapan yang nilainya bertipe Integer atau Character.
Pengerjaan perintah Case Of End dimulai dengan menguji nilai dari ungkapan, jika nilai
ungkapan sama dengan nilai dari Alternatif 1, maka dikerjakan Perintah 1, jika ungkapan sama
dengan Alternatif 2 maka dikerjakan Perintah 2, dan seterusnya. Bila salah satu kondisi / alternatif
dipenuhi, maka perintah pada alternatif yang berada dilingkungan Case Of End tidak dideteksi
lagi.
Contoh :
Nilai ujian yang diberikan oleh seorang pengajar dalam bentuk huruf A, B, C, D, E, yang
masing-masing mempunyai arti sebagai berikut :
Nilai A berarti Sangat Baik.
Nilai B berarti Baik.
Nilai C berarti Cukup.
Nilai D berarti Kurang.
Nilai E berarti Sangat Kurang.
Potongan programnya :
Case Nilai Of
A : Writeln ( Sangat Baik );
B : Writeln ( Baik );
C : Writeln ( Cukup );
D : Writeln ( Kurang );
E : Writeln ( Sangat Kurang );
III. PRAKTEK
1. Sebuah toko swalayan memberikan discount bagi pembeli dengan ketentuan jika pembelian
lebih dari Rp 100.000, maka mendapat discound 15 % dari pembelian, tetapi jika kurang dari
Rp, 100.000 hanya mendapatkan 5 % dari pembelian. Jika pembeli adalah pelanggan tetap,
maka mendapatkan bonus satu buah gelas. Buatlah programnya.
2. Buatlah program pada Sebuah toko memberikan bonus sesuai dengan jumlah pembayaran
dengan ketentuan sebagai berikut :
Bonus diberikan dengan menghitung pembayaran dengan kelipatan 100.000.
Kelipatan 0 sampai 2 mendapatkan bonus 1 Buah Jam Dinding.
Kelipatan 3 sampai 5 mendapatkan bonus 1 Buah Kipas Angin.
Kelipatan 6 sampai 10 mendapatkan bonus 1 Buah Radio.
Kelipatan > 10 mendapatkan bonus 1 Buah HandPhone.
.

Joko S

STMIK El Rahma Yogyakarta

Modul Algoritma dan Pemrograman I

Halaman :

18

MODUL VII
FLOWCHART PERULANGAN
(1 x pertemuan)
I. TUJUAN
Mahasiswa mengenal flowchart perulangan dengan editor flowprogramming.
II. TEORI SINGKAT
Sama halnya seperti penyeleksian perulangan juga dapat dilakukan apabila ada
pengecekan atas kondisi yang diinginkan. didalam kondisi ada variable yang akan diuji dengan
parameter yang diinginkan. kondisi berupa ungkapan yang bernilai Boolean.
Contoh 1 :
Menjumlahkan sejumlah angka.
Flowchart >>
1.

mulai

2.

I=0

3.

jumlah= 0

4.
5.

input N
I=N

6.

jumlah = jumlah + I

7.

I=I+1

8.
9.

tampil jumlah
selesai

Susun dan hubungkan symbol-simbol diatas. Simpan dan jalankan sehingga menjadi
seperti berikut :

Joko S

STMIK El Rahma Yogyakarta

Modul Algoritma dan Pemrograman I

Halaman :

19

Contoh 2 :
Mencetak sejumlah angka.
Flowchart >>
1.

mulai

2.

I=0

3.

input N

4.

I=I+1

5.
6.
7.

tampil I
I=N
selesai

Susun dan hubungkan symbol-simbol diatas. Simpan dan jalankan sehingga menjadi
seperti berikut :

III. PRAKTEK
Coba kedua contoh diatas, kemudian coba tambahakan pada masing-masing dengan
menampilkan data, jumlah data dan rata-rata data.

Joko S

STMIK El Rahma Yogyakarta

Modul Algoritma dan Pemrograman I

Halaman :

20

MODUL VIII
LOOPING (PERULANGAN)
(1 x pertemuan)

I. TUJUAN
Mempelajari struktur dari statemen kontrol PASCAL untuk menangani proses berulang yaitu :
For To - Do, For Downto Do, While - Do, dan Repeat - Until.
II. TEORI SINGKAT
A. For To - Do
Syntax :
For NamaVarKendali := Awal to Akhir Do
Pernyataan;
Atau
For NamaVarKendali := Awal to Akhir Do
Begin
Pernyataan1;
Pernyataan2;
blok pernyataan

End;
Atau
For NamaVarKendali := Awal Downto Akhir Do
Pernyataan;
Atau
For NamaVarKendali := Awal Downto Akhir Do
Begin
Pernyataan1;
Pernyataan2;
blok pernyataan

End;
Statemen/pernyataan atau blok pernyataan akan dikerjakan selama nilai dari
NamaVarKendali dari Awal ke Akhir dengan kenaikan/penurunan satu langkah. Jika Awal lebih
kecil Akhir kita pakai to, sedangkan jika Awal lebih besar Akhir kita pakai downto.
NamaVarKendali adalah idetifier yang bertype ordinal seperti byte, integer atau char dan
tidak dapat bertype string atau real. Berikut adalah program untuk mencetak karakter mulai dari
awal sampa akhir dan dari akhir sampai awal, diman awal dan akhir dinputkan dari keyboard.
Awal, akhir bertype char.
Contoh 1 :
Program CetakKarakter;
Uses Crt;
Var
Awal, Akhir, Karak : Char;
Begin
Clrscr;
Write('Karakter awal : ');Readln(Awal);
Write('Karakter akhir : ');Readln(Akhir);
writeln;
Write('N A I K : ');
For Karak := Awal to Akhir Do
Write(karak);
Writeln;
Write('T U R U N : ');
For Karak := Akhir downto Awal Do
Write(karak);
Readln
End.
Joko S

STMIK El Rahma Yogyakarta

Modul Algoritma dan Pemrograman I

Halaman :

21

contoh diatas adalah jika statemen yang diulang tunggal, yaitu hanya Write(karak).
Cobalah jika awal diisi dengan 1 san akhir diisi dengan z, apa ourputnya. Cobalah jika
write(karak) diganti writeln(karak), apakah ada perubahan, bagaiman penjelasannya. Sering kita
temukan bahwa pernyataan yang akan dulang bukan tunggal, tetapi banyak sehingga kita harus
memakai blok pernyataan.
B. While - Do
Kontrol For .. Do .. kita pakai untuk memproses dengan jumlah ulangan diketahui
sebelumnya. Apabila proses yang diulang tidak kita ketahui berapa putaran harus dilakukan, yaitu
diputar selam kondisi tertentu dipenuhi, maka statemen yang kita pakai adalah While .. Do ..
Syntax :
While <syarat_logika> Do
<pernyataan>;
atau
While <syarat_logika> Do
Begin
Pernyataan1;
Pernyataan2;
blok pernyataan

End;
<syarat_logika> adalah suatu relasi yang selama relasi tersebut bernilai benar (TRUE)
maka pernyataan/blok pernyataan akan terus menerus dikerjakan. Pernyataan/blok pernyataan
akan berhenti dikerjakan jika <syarat_logika> tidak lagi bernilai benar.
Contoh 2 :
Program untuk menjumlahkan bilangan 1 + 2 + 3 + .. + n
Program jumlah;
Uses Crt;
Var
I,N,jumlah : integer;
Begin
Clrscr;
I:=0;
Writeln(Masukan Nilai :);
Readln(N);
While I = N Do
Begin
Jumlah := Jumlah + I;
I := I + 1;
End;
Writeln(Hasil Penjumlahan : ,I);
End.
C. Repeat - Until
Statemen Repeat .. Until .. kita pakai apabila kita akan mengulang-ulang suatu proses
terus menerus sampai kondisi tertentu dipenuhi.
Syntax :
Repeat
Pernyataan1;
Pernyataan2;

Until <kondisi>;
Pada contoh program diatas dapat kita modifikasi dengan memakai Repeat .. Until.

Joko S

STMIK El Rahma Yogyakarta

Modul Algoritma dan Pemrograman I

Halaman :

22

Contoh 3 :
Program jumlah;
Uses Crt;
Var
I,N,jumlah : integer;
Begin
Clrscr;
I:=0;
Writeln(Masukan Nilai :);
Readln(N);
Repeat
Jumlah := Jumlah + I;
I := I + 1;
Until I = N;
Writeln(Hasil Penjumlahan : ,I);
End.
III. PRAKTEK
Coba ketiga contoh program diatas, kemudian coba tambahakan pada masing-masing
program dengan menampilkan data, jumlah data dan rata-rata data.

Joko S

STMIK El Rahma Yogyakarta

Modul Algoritma dan Pemrograman I

Halaman :

23

MODUL IX
PROCEDURE, FUNCTION DAN REKURSI
(1x pertemuan)
I. TUJUAN
Mempelajari pemecahan program ke dalam modul-modul program dalam bentuk prosedur dan
fungsi
II. TEORI SINGKAT
A. Procedure
Procedure merupakan sub program yang berdiri sendiri yang dapat dipanggil dari
program utama.
Deklarasi prosedur :
PROCEDURE <Nama_prosedur> (<Daftar_parameter_formal>);
<Bagian_deklarasi>
Begin
<Bagian _pernyataan>
End;
Dalam prosedur atau fungsi dikenal adanya parameter. Parameter adalah suatu nilai
atau variabel yang akan dilewatkan dalam prosedur atau fungsi. Pengiriman paramter dalam
prosedur atau fungsi dibedakan menjadi 2 yaitu parameter nilai dan parameter referensi.
Pelewatan parameter secara nilai dimaksudkan jika parameter yang dileatkan dimasudkan
tidak untuk diubah oleh prosedur atau fungsi sekalipun perubahan telah terjadi di dalam
prosedur atau fungsi tersebut. Sedangkan parameter referensi dimasudkan unutk mengubah
nilai atau variabel sekeluarnya dari prosedur atau fungsi. Perbedaan cara pengiriman
parameter didalam prosedur atau fungsi terletak pada deklarasi prosedur atau fungsinya.
Contoh deklarasi prosedur dengan pengiriman parameter secara refensi :
Procedure Tukar(var x,y : real);
Untuk mengubah sifat pengiriman parameter secara nilai, tinggal diubah deklarasi
prosedur dengan menghilangkan var dalam kepala prosedur sehingga menjadi :
Procedure Tukar(x,y : real);
Berikut contoh program pemakaian untuk menukarkan dua nilai memakai prosedure :
Contoh 1 :
program tukar_data;
var
a, b : real;
{deklarasi variabel global}
procedure info;
begin
writeln('****************************');
writeln('** Program Tukar Data **');
writeln('** Dengan Procedure **');
writeln('**
Oleh :
**');
writeln('** Ki Joko Bodho
**');
writeln('****************************');
end;
{Prosedur penukaran data}
procedure tukar(var x,y : real);
var
tamp : real;
begin
tamp := x;
x := y;
y := tamp;
Joko S

STMIK El Rahma Yogyakarta

Modul Algoritma dan Pemrograman I

Halaman :

24

end;
{Program utama}
Begin
info;
a := 12.33;
b := 67.98;
writeln('Sebelum memanggil prosedur Tukar');
writeln('a = ',a:7:2,' b = ',b:7:2);
tukar(a,b);
writeln('Setelah memanggil prosedur Tukar');
writeln('a = ',a:7:2,' b = ',b:7:2);
readln;
End.
Contoh diatas pengiriman parameter dilakukan secara referensi, cobalah program diatas
diubah pengiriman parameter dalam prosedur secara nilai!
B. Function
Fungsi memiliki struktur yang hampir sama dengan procedure, bedanya fungsi
memiliki tipe hasil sedangkan procedure tidak.
Deklarasi fungsi :
FUNCTION <Nama_fungsi> (<Daftar_parameter>): tipe;
<Bagian_deklarasi>
Begin
<Bagian _pernyataan>
End;
Contoh 2 :
program kali_data;
var
a, b : integer;
{deklarasi variabel global}
procedure info;
begin
writeln('****************************');
writeln('** Program Tukar Data **');
writeln('** Dengan Procedure **');
writeln('**
Oleh :
**');
writeln('** Ki Joko Bodho
**');
writeln('****************************');
end;
{Prosedur peerkalian data}
function kali(x,y : integer):integer;
begin
kali := x * y;
end;
{Program utama}
Begin
info;
a := 12;
b := 67;
writeln(a,' x ',b,' = ',kali(a,b));
writeln('12 x 13 = ',kali(12,13));
readln;
End.

Joko S

STMIK El Rahma Yogyakarta

Modul Algoritma dan Pemrograman I

Halaman :

25

C. Rekursi
Rekursi adalah suatu prosedur atau fungsi yang dapat memanggil dirinya sendiri.
Contoh dari rekursi adalah proses menghitung faktorial dan proses menghitung bilangan
fibonacci.
Contoh 3:
Program fakto;
Var
i : byte;
function Faktorial(m:byte):longint;
begin
if m = 0 then
faktorial := 1
else
faktorial := m * Faktorial(m - 1)
end;
begin
for i := 1 to 8 do
writeln(i:2,'! = ',Faktorial(i));
readln
end.
Perhatikan hasil tampilan dari program diatas, modifikasi program dengan bilangan
yang akan difaktorialkan diinputkan dari keyboard, sehingga menghasilkan tampilan seperti
berikut :
Masukkan anngka
:5
Hasi faktorial :
5 x 4 x 3 x 2 x 1 = 120
Contoh 4 :
Program fibo;
Var
suku, nilai : integer;
function fibo(n:integer):longint;
begin
if (n=1) or (n=2) then
fibo:=1
else
fibo := fibo(n-1)+fibo(n-2);
end;
begin
for suku := 1 to 10 do
writeln(suku:3,fibo(suku):8);
readln
end.
III. PRAKTEK
Buatlah program dengan menggunakan Prosedur dan Fungsi untuk mencari jumlah dan
rata-rata dari sejumlah data yang dimasukkan

Joko S

STMIK El Rahma Yogyakarta

Modul Algoritma dan Pemrograman I

Halaman :

26

MODUL X
TIPE ARRAY BERDIMENSI 1 DAN 2
(1 x pertemuan)

I. TUJUAN
Mempelajari tipe terstruktur Array dimensi satu dan dimensi dua.
II. TEORI SINGKAT
A. Arrray Dimensi Satu
Salah satu type data dalam Pascal adalah type data Larik. Terminologi tentang larik adalah :
Larik adalah deretan rinci data yang mempunyai type data sejenis. Untai karakter, daftar
nomor telepon, vektor dan matrik merupakan contoh dari larik. Setiap rinci data tersebut
disebut dengan Komponen atau Element larik.
Setiap larik bisa dioperasikan menggunakan pemilih elemen larik yang disebut Index
atau Subskrib. Dalam program, index atau subskrib tersebut diletakkan dalam tanda kurung
kotak [ ], setelah nama larik yang akan dioperasikan.
Bentuk deklarasi larik dimensi satu :
Var nama : Array[index] of Type
Keterangan :
Var, Array, Of : Kata baku dalam Pascal.
Nama : Nama larik yang dideklarasikan.
Pemberian nama larik mengikuti aturan pemberian nama yang biasa digunakan.
Index : Batasan index yang akan ada pada larik / cacah elemen
Nilai yang menunjukkan nilai awal dan nilai akhir dari index pada larik yang selalu
digunakan type data subjangkauan kecuali type real atau type terbilng kecuali
boolean.
Type : Type larik. Type larik dapat digunakan sembarang type data, misalnya real,
integer, atau char, bahkan dapat juga berupa array.
Contoh 1 :
Program Bilangan_Prima;
Uses crt;
Const
Bts = 500;
Var
Prima : Array[1..Bts] of Boolean;
Batas, I, J
: Integer;
Begin
Clrscr;
For I := 1 To Bts Do
Prima[I] := True;
Batas := Trunc(sqrt(Bts));
I := 2;
While I <= Batas Do
Begin
If Prima[I] Then
Begin
J := I + I;
While J <= Batas Do
Begin
Prima[J] := False;
J := J + I;
End;
End;
I := I + 1;
End;
Joko S

STMIK El Rahma Yogyakarta

Modul Algoritma dan Pemrograman I

Halaman :

27

Writeln(Bilangan Prima antara 1 s/d ,Bts:1);


Writeln;
J := 1;
For I := 1 To Bts Do
Begin
If Prima[I] then
Begin
If J > 8 then
Begin
J := 1;
Writeln;
End;
Else
Begin
Write( ,I:3);
J := J + 1;
End;
End;
End;
Writeln; Writeln; Writeln(SELESAI);
End;
B. Arrray Dimensi Dua
Secara umum dimensi larik dan cacah elemenya sebenarnya tidak terbatas. Satusatunya pembatas adalah kompiler Pascal yang digunakan dan pengingat utama komputer
yang digunakan.
Untuk contoh yang paling mudah dari larik dimensi dua atau dimensi banyak adalah
matrik, yang mempunyai elemen dua posisi yaitu posisi baris ( kebawah) dan posisi kolom
(kekanan). Dimana elemen matrik ditulis dengan bantuk :
Tabel [No_Baris,No_Kolom]
Deklarasi larik dimensi banyak :
Var Pengenal : Array[Index1,Index2] Of Type
Keterangan :
Pengenal
: Nama lairk dimensi banyak yang akan dideklarasikan.
Index1
: Nomor Baris.
Index2
: Nomor Kolom.
Type
: Tipe data dari larik Pengenal.
Contoh :
Type Tabel
: Array[1..10,1..5] Of Real;
Var Matrix_A : Array[1..10] Of Larik;
Atau
Var Matrik_A : Array[1..10] Of Array[1..5] of Real;
Contoh 2 :
Program Array_Dimensi_Banyak;
Uses Crt;
Type Data = Array[1..20,1..10];
Nilai = Array[1..5,1..20,1..20];
Var
IP
: Nilai; Biodata
: Data;
A, B, C, Tambah
: Integer; Rata : Real;
Procedure EntriData (Var IP : Nilai; Var Biodata : Data);
Begin
Clrscr;
Writeln( Entri Data & Nilai Mahasiswa);
Joko S

STMIK El Rahma Yogyakarta

Modul Algoritma dan Pemrograman I

Halaman :

28

For B := 1 To 2 Do
Begin
For A := 1 To 1 Do
Begin
Writeln(Mahasiswa Ke-,B);
Write(Nama Mahasiswa
: );Readln(Biodata[B,A]);
Write(Nomor Mahasiswa
: );Readln(Biodata[B,A+1]);
End;
End;
For C := 2 To 1 Do
Begin
Writeln(Mahasiswa Ke-,C);
For B := 1 To 1 Do
Begin
If A > 2 Then
Begin
Write(Nilai
Petruk
Ke-,A-2,:
);
Readln(IP[C,B+1,A-2]);
End
Else
Begin
Write(Nilai
Algoritma
Ke-,A,:
);
Readln(IP[C,B,A]);
End;
End;
End;
End;
{ Program Utama }
Begin
EntriData(IP,Biodata);
Tambah := 1;
Writeln(Daftar Nilai Mahasiswa);
For c := 1 To 2 Do
Begin
Writeln(Mahasiswa Ke-,C0;
Writeln(nama Mahasiswa
: ,Biodata[C,Tambah]);
Writeln(Nomor Mahasiswa : ,Biodata[C,Tambah+1]);
For B := 1 To 1 Do
Begin
For A := 1 To 4 Do
Begin
If A > 2 Then
Writeln(Nilai Petruk Ke-A-2,: ,IP[C,B+1,A-2])
Else
Writeln(Nilai Algoritma Ke-A-2,: ,IP[C,B,A]);
End;
End;
End;
Readln;
End.
III. PRAKTEK
Coba kerjakan kedua program diatas, perbaiki jika masih ada kesalahan.

Joko S

STMIK El Rahma Yogyakarta

Anda mungkin juga menyukai