Anda di halaman 1dari 46

MODUL:

ALGORITMA & PEMROGRAMAN I

NAMA MHS : ........................


NPM : ........................
PROGRAM STUDI : ........................

DOSEN PENGAMPU:
Rita Wiryasaputra, ST., M. Cs.

FAKULTAS ILMU KOMPUTER


UNIV. INDO GLOBAL MANDIRI
PALEMBANG
1

A. ALGORITMA
Sebelum melangkah dalam pembuatan program dengan bahasa
pemrograman PASCAL, maka terlebih dahulu harus dimengerti beberapa
hal yang meliputi:
Identifikasi masalah (input,proses,output)
Algoritma
Implementasi dengan bahasa pemrograman

Definisi algoritma adalah urutan langkah dari awal hingga akhir disusun
secara sistematis dan bersifat logis untuk menyelesaikan suatu masalah.

Asal kata:
Penulis buku Arab Al-Khowarizmi (dibaca algorism)
Kitab Al-jabar wal-muqabala (buku pemugaran dan
pengurangan)

Belajar memprogram tidaklah sama dengan belajar bahasa pemrograman.


Belajar memprogram adalah belajar tentang metodologi pemecahan
masalah, kemudian menuangkannya dalam suatu notasi yang mudah
dipahami. Sedangkan belajar bahasa pemrograman berarti belajar
memakai suatu bahasa tertentu, bagaimana aturan tata bahasanya,
instruksi-instruksi yang digunakan, tata cara pengoperasian compiler-nya
dan sebagainya.

Tidak ada notasi baku dalam penulisan teks algoritma (notasi algoritmik)
sebagaimana pada notasi bahasa pemrograman. Namun, agar notasi
algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman,
sebaiknya notasi algoritmik tersebut berkoresponden dengan notasi
bahasa pemrograman secara umum.

Kelompok Algoritmik Pascal C C++


Assignment := = =
Input Read Read/readln Scanf Cin
output write Write/writeln Printf Cout

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
2

Bahasa pemrograman Pascal merupakan bahasa pemrograman berbasis


teks. Penulisan programnya dan proses eksekusinya dilakukan dari atas
ke bawah sehingga disebut pemrograman Linear programming. Bahasa
pemrograman Pascal juga termasuk bahasa pemrograman Prosedural,
dimana program dibedakan antara data (dalam memori) dengan instruksi.
Program terdiri dari runtunan instruksi yang dilaksanakan satu per satu
secara berurutan oleh pemroses. Alur pelaksanaan instruksi dapat berubah
karena adanya kondisional. Data dalam memori dimanipulasi oleh
instruksi secara beruntun.
Algoritma disajikan dalam 2 bentuk :
Tulisan ( Pseudocode, English structure)
Gambar (Structure chart, HIPO, Flowchart, Nassi-Scheiderman
chart)

Pada dasarnya struktur algoritma meliputi:


1. Runtunan/sequence
2. Pemilihan/selection (If dan Case)
3. Pengulangan/repetition (For, Repeat dan While)

Teks algoritmik meliputi judul/kepala algoritma, deklarasi,


deskripsi algoritma.

Ciri-ciri algoritma :
1. input-terdapat nol masukkan atau lebih yang diberikan
secara eksternal
2. output-sedikitnya terdapat 1 keluaran yang dihasilkan
3. definite-harus secara sempurna menyatakan apa yang
dilakukan
4. efective-setiap instruksi harus dapat dilakukan secara
manual dalam jumlah waktu yang terhingga
5. terminate-harus berhenti setelah sejumlah terbatas operasi

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
3

B. PASCAL
Pascal merupakan salah satu dari beberapa Bahasa Pemrograman
Tingkat Tinggi (High Level Language) yang terstruktur (tidak ada
loncatan/berurut, adanya blok yang mempunyai batas yang jelas)
dirancang oleh Professor Niklaus Wirth. Nama Pascal terambil dari ahli
matematika dan philosophi Perancis (Blaise Pascal).
Aplikasi Pascal biasa digunakan untuk menyelesaikan persoalan-
persoalan Scientific/Matematika yang memerlukan ketelitian perhitungan
yang akurat, database, game, bisnis, teknik. Praktikum ini menggunakan
compiler Turbo Pascal 7.0 yang dikeluarkan oleh Borland International.

1. MEMULAI TURBO PASCAL 7.0


Under Windows
Agar anda dapat menjalankan Turbo Pascal 7.0 under Windows,
maka anda harus memiliki file yang bernama TPX.EXE dan RTM.EXE.
Kedua file ini harus disatukan dalam satu direktori. Cara menjalankan
Turbo Pascal melalui Windows Explorer :
1. Klik START
2. Klik PROGRAM
3. Pilih direktori Turbo Pascal 7.0
4. Pilih direktori BIN lalu Double Klik
5. Carilah File bernama Tpx dengan type Application size 464 KB

Directori Turbo Pascal yang ada pada komputer berbeda-beda, tapi pada
umumnya seperti berikut :C:\Tp7\Bin\TPX

Akan tampil jendela EDITOR (JENDELA KERJA UTAMA) sistem


Turbo Pascal versi 7.0

Terdapat 10 menu pilihan yang berada pada JENDELA KERJA UTAMA


paling atas , yaitu : File , Edit, Search, Run, Compile, Debug, Tools,
Options, Window, Help

2. SUSUNAN PROGRAM PASCAL


Sebelum mempelajari suatu bahasa pemrograman, terlebih dahulu
harus dipahami aturan-aturan yang berlaku pada suatu bahasa
pemrograman tersebut. Aturan-aturan dalam suatu bahasa pemrograman

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
4

biasanya dituangkan ke dalam Struktur Program yang dapat dilihat pada


gambar 1.
Deklarasi merupakan bagian untuk mendefinisikan semua nama yang
digunakan dalam algoritma. Dalam sebuah program, Procedure boleh
lebih dari satu, demikian pula dengan function. Variabel diperlukan untuk
menampung nilai tertentu pada memori komputer, dimana nilai tersebut
dapat berubah dalam proses. Constanta diperlukan untuk menampung
nilai yang tetap pada memori komputer.
Dalam memprogram diperlukan suatu komentar. Penjelasan
komentar dapat berupa tujuan/fungsi program, keterangan saat program
dibuat/direvisi, keterangan lain tentang kegunaan sejumlah pernyataan
dalam program. Sekalipun pemrogram memahami tentang apa yang
ditulis saat ini tanpa menyertakan komentar, di suatu saat nanti
pemrogram dapat lupa terhadap perintah yang telah ditulisnya.

3. TIPE DATA
Dalam Pascal, semua peubah(variabel) yang akan dipakai harus
sudah ditentukan tipe datanya, setelah itu tentukan batasan nilai peubah
dan jenis operasi yang bisa dilaksanakan atas peubah tersebut.
Pemilihan tipe data harus memperhatikan faktor penghematan memori.
Secara lengkap, tipe data dalam Turbo Pascal 7.0 dapat digambarkan
pada gambar 2.

4. CARA MENJALANKAN PROGRAM


1. Tekan tombol F10
2. Pilihlah menu RUN kemudian Enter
3. Maka akan keluar sejumlah sub menu RUN
4. Pilihlah RUN utk menjalankan program
5. Perintah diatas dapat disingkat dengan menekan tombol
CTRL+F9

5. CARA MENYIMPAN PROGRAM


1. Tekan tombol F10
2. Pilihlah menu FILE kemudian Enter
3. Pilihlah SAVE atau SAVE AS kemudian Enter
4. Pada Kotak dialog SAVE AS ketiklah nama file anda, kemudian
tekan Enter.
5. Perintah diatas dapat disingkat dengan menekan tombol F2

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
5

Header Program JUDUL_PROGRAM; { *** nama program *** }

Uses . . . . . . { *** deklarasi piranti *** }


Label . . . . . . { *** deklarasi label *** }
Const . . . . . . { *** deklarasi konstanta *** }
Type . . . . . . { *** deklarasi tipe data *** }
Var . . . . . . . { *** deklarasi perubah *** }

Blok Procedure nama_prosedur_SATU; {*** prosedur *** }


Procedure nama_prosedur_DUA; { *** prosedur *** }

Function nama_fungsi_TAMBAH; { *** fungsi *** }

Begin { *** awal program *** }


-
<statemen- statemen ATAU perintah dari program>
-
End. { *** akhir dari program utama *** }

Gambar 1. Struktur Program PASCAL

6. CARA MEMANGGIL PROGRAM


1. Tekan tombol F10
2. Pilihlah menu FILE kemudian Enter
3. Pilihlah OPEN
4. Pada Kotak dialog NAME ketiklah nama file yang akan
dipanggil, kemudian tekan Enter.
5. Perintah diatas dapat digantikan dengan menekan tombol F3

7. CARA MENUTUP PROGRAM


1. Tekan tombol ALT+F3
2. Jika dilayar terdapat beberapa program yang dibuka maka
program yang sedang aktif dilayar akan ditutup.
3. Tekan lagi tombol ALT+F3 maka program sebelumnya akan
ditutup, dan seterusnya.

8. CARA MENCETAK
1. Tekan tombol F10
2. Pilihlah menu FILE kemudian Enter
3. Pilihlah PRINT kemudian Enter

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
6

Tipe data

Tipe sederhana Tipe string Tipe Tipe pointer


terstruktur

Tipe Real Array (larik)


Record(rekaman)
Set(himpunan)
Tipe Ordinal File (berkas)

Integer
ShorInt
LongInt
Boolean
Char
Byte
Word
Subjangkauan (Subrange)
Terbilang (Enumerated)

Gambar 2. Tipe Data

9. KELUAR DARI TURBO PASCAL


1. Jika pada layar masih ada program, simpanlah sebelum keluar
dari lembar kerja.
2. Tekan tombol F10
3. Pilihlah menu FILE kemudian Enter
4. Pilihlah EXIT kemudian Enter
5. Perintah diatas dapat diganti dengan menekan tombol ALT+X

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
7

Praktikum 1
Pengenalan Turbo Pascal
Tujuan:
Mempelajari sistem operasi DOS dan Windows
Mempelajari cara pemakaian (set-up) bahasa pemrograman
Turbo Pascal
Mempelajari cara menulis program pada editor Turbo Pascal
Mempelajari kesalahan yang telah dibuat dan mengoreksinya
Mempelajari cara mengedit program Turbo Pascal
Mempelajari cara menjalankan (eksekusi) Turbo Pascal
Mempelajari pemakaian fungsi clrscr
Mempelajari posisi kursor
Mempelajari format output di layar

Cara Kerja:
1. Salinlah program I.1 untuk mencetak Saya mahasiswa Teknik
Informatika UNIVERSITAS IGM kemudian jalankan
2. Simpan program I.1 dengan mengaktifkan menu file lalu pilih
save (F2) dan tuliskan nama file tersebut.
3. Salinlah program I.2 dengan mengaktifkan menu File lalu pilih
new, kemudian jalankan (CTRL+F9)
4. Simpan program I.2 dengan mengaktifkan menu file lalu pilih
save (F2) dan tuliskan nama file tersebut

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
8

Program I.1 Program I.2


{Program Pertamaku} {Program Pertamaku}
Uses crt; Uses crt;
Begin Begin
Clrscr; Clrscr;
Write(„ Saya Mahasiswa Write(„ Saya Mahasiswa „);
„); Writeln(„ Teknik
Write(„ Teknik Informatika „)
Informatika „) Write(„ UNIVERSITAS
Write(„ UNIVERSITAS IGM );
IGM ); Readln;
End. End.

Praktikum 2
Statement Input/Output

Tujuan:
Mempelajari cara menempatkan data dlm memori (variabel,konstanta)
Mempelajari tipe integer dan string
Mempelajari cara menuliskan output ke layar
Mempelajari cara membaca data (input) dari keyboard

Contoh 2.1 : Tulislah sebuah program yang dapat membaca bilangan dari
keyboard, lalu menuliskan kembali bilangan tersebut ke layar monitor.
Masukan : bilangan
Keluaran : bilangan yang dimasukkan.
Program Bilangan
Masukkan bilangan = ?
Bilangan yang dimasukkan tersebut adalah bilangan ?

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
9

Program 2.1
{Program Keduaku}
Uses crt;
Var
Nilai : integer;
Begin
Clrscr;
Writeln(„ Program Bilangan „);
Write(„ Masukkan bilangan = „);
Readln(nilai);
Write(„ Bilangan yang dimasukkan tersebut adalah bilangan „, nilai);
Readln;
End.

Soal – soal Latihan :


1. Tulislah sebuah program yang dapat menghitung luas bujursangkar.
Adapun rumus luas=sisi * sisi. Telah diketahui bahwa sisi = 5.
Masukan : tidak ada
Keluaran : hasil luas bujursangkar
Program Luas Bujur Sangkar
Luas Bujursangkar yang dihitung adalah …

2. Tulislah sebuah program yang mendefinisikan sebuah konstanta yang


bernilai 25, lalu tuliskan nilai konstanta tersebut ke layar monitor.
Masukan : tidak ada
Keluaran : nilai konstanta
Program Konstanta
Bilangan bulat yang disimpan sebagai konstanta adalah 25

3. Tulislah sebuah program yang membaca sebuah nama bertipe string


dari keyboard, lalu menuliskan pesan tertentu.
Masukan : nama
Keluaran : pesan dengan nama yang dimasukkan
Program registrasi
Registrasi Praktikum Algoritma dan Pemrograman 1
{proses input}

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
10

Nama : XXXXX
{proses output, bersihkan layar terlebih dahulu}
Selamat pagi, XXXXX
Selamat mengerjakan praktikum.

4. Buatlah program untuk menghitung Nilai Akhir Mata Kuliah


Algoritma. Nilai akhir ini ditentukan berdasarkan rumus NA= Nilai
Quiz*20% + Nilai UTS*30%+Nilai UAS*50%.
Masukan : Tiga Nilai
Keluaran : Nilai Akhir
Program Perhitungan Nilai Akhir
Mata Kuliah Algoritma
Nilai Quiz : …
Nilai UTS : …
Nilai UAS : …
Nilai Akhir : …

5. Perusahaan telepon di kota „X‟ mempunyai tarif Rp. 100 per pulsa.
Setiap langganan dikenakan biaya langganan sebesar Rp. 3000
perbulan. Buatlah program untuk menghitung tagihan langganan.
Masukan: nama langganan, banyaknya pulsa
Keluaran : jumlah tagihan
Petunjuk : buatlah biaya langganan dan tarif pulsa sebagai konstanta
( karena untuk semua langganan dianggap sama)
Program Tagihan Langganan
Nama Langganan : X
Banyak pulsa : …
Tagihan Langganan X adalah sebesar Rp…

6. Bila bentuk bumi dianggap sebagai bola dengan jari-jari 6370 km,
hitunglah keliling, luas permukaan, dan isi bumi.
Masukan : tidak ada
Keluaran : keliling,luas, isi
Program Perhitungan Bumi
Keliling : 40004

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
11

Luas : 1082148051300
Isi : 127057
Petunjuk : buatlah jari – jari bumi sebagai konstanta, utk perpangkatan 3
maka rumus nilai perpangkatan = exp(ln(jari)*3) dimana nilai perpangkatan
adlh real

Rumus :
Keliling = 2 * phi * r
Luas permukaan = 4/3 * phi * r3
Isi = 4 * phi * r2

7. Tulislah program untuk menghitung panjang sisi miring segitiga siku-


siku. Rumus yang digunakan C2=A2+B2

8. Mengubah jumlah detik menjadi bentuk jam, menit dan detik.


Contoh: 5020 detik = 1 jam 23 menit 40 detik
Masukan : jumlah detik
Keluaran : satuan jam-menit-detik
Program Konversi Detik
Jumlah detik : 5020
Hasil konversi : 1 jam 23 menit 40 detik
Petunjuk : langkah – langkah penyelesaiannya adalah sebagai berikut :
jam := total div 3600
sisa := total mod 3600
menit := sisa div 60
detik := sisa mod 60

9. Tulislah sebuah program yang dapat membaca sebuah nilai suhu


dalam derajat celcius dari keyboard. Menghitung konversi celcius
menjadi suhu dalam satuan Fahrenheit dan Kelvin
Masukan : celcius (real)
Keluaran : Hasil perhitungan ke layar monitor dalam Fahrenheit dan Kelvin

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
12

Rumus :
Fahrenheit = 1.8 * celcius + 32
Kelvin.= Celcius + 273
Program Konversi Suhu
Nilai suhu dalam derajat celcius : XXX
XXX oC = XXX.XX oF
XXX oC = XXX.XX oK

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
13

Tugas : Nilai :

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
14

Praktikum 3 dan 4
Statement Kontrol Pengkondisian IF

Tujuan:
Mempelajari pengkondisian IF

Dalam program, adakalanya suatu aksi hanya dilakukan bila memenuhi


kondisi tertentu.

Penulisan dalam PASCAL:


If kondisi then
begin
<perintah 1>;
<perintah 2>;
end
else
begin
<perintah 1>;
<perintah 2>;
end;

Contoh 3.1 : Tulislah sebuah program yang dapat membaca bilangan dari
keyboard, lalu menuliskan apakah bilangan yang dimasukkan tersebut
merupakan bilangan genap atau ganjil.
Masukan : bilangan
Keluaran : GENAP / GANJIL
Program Bilangan Genap Ganjil
Masukkan bilangan = ?
Bilangan yang dimasukkan tersebut merupakan bilangan ?

Program 3.1
{Program Genap/Ganjil}
Uses crt;
Var bilangan : integer;
Ket : string;
Const genap = „GENAP‟;

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
15

Ganjil = „GANJIL‟;
Begin
Clrscr;
Write („ Program Bilangan Genap Ganjil ‟);
Write („ Masukkan bilangan = „);
Readln(bilangan);
If (bilangan mod 2) = 0 then ket := Genap
Else ket = Ganjil;
Writeln;
Write („ Bilangan yang dimasukkan tersebut merupakan bilangan „,ket);
Readkey;
End.

Soal – soal Latihan :


1. Sebuah Perusahaan memberikan beasiswa kepada pelajar dengan
kondisi berikut : Anak yatim piatu dan Anak purnawirawan ABRI
Buatlah Program untuk menyatakan apakah seseorang pelajar mendapat
beasiswa atau tidak.
Masukan = 1. Nama Siswa
2. Anak Yatim piatu ( Y/ T)
3. Anak Purnawirawan ABRI ( Y/T)
Keluaran = Keterangan mendapat beasiswa atau tidak.
Program Beasiswa
Nama Siswa : Tuti
Anak Yatin Piatu (Y/T) : Y
Anak Purnawirawan ABRI (Y/T) : T
Tuti tdk mendapat beasiswa

2. Sebuah perusahaan memberi kode untuk hari – hari dalam seminggu.


Nama Hari Kode
Senin 1
Selasa 2
Rabu 3
Kamis 4
Jum‟at 5
Sabtu 6
Minggu 7

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
16

Upah buruh per jam untuk hari Senin hingga Jumat adalah sebesar Rp. 3000,-
Sedangkan upah buruh untuk hari Sabtu adalah 1.5 kali tarif biasa dan untuk
hari Minggu adalah 2 kali tarif biasa. Buatlah program untuk menghitung Upah
yang diterima seorang buruh untuk sehari kerja.
Masukan : Nama Buruh, Kode Hari, Jam kerja
Keluaran : Upah total.
Program Perhitungan Upah Buruh
{proses input}
Nama Buruh : Tuti
Kode Hari [1-7] :2
Jam kerja : 12 jam
{proses output, sebelumnya bersihkan layar dulu}
Buruh Tuti bekerja pada hari Selasa dengan total upah adalah Rp.
36000,-

3. Tiga buah bilangan dibaca dari keyboard. Program tersebut dapat


mencari nilai terbesar dari 3 buah bilangan yang telah dimasukan.
Masukan : X, Y,Z
Keluaran : nilai max dari 3 buah bilangan yang diinput
Program Mencari Nilai Max
{proses input}
Masukan bilangan 1 : 3
Masukan bilangan 2 : 5
Masukan bilangan 3 : 4
{proses output, sebelumnya bersihkan layar dulu}
Nilai terbesar adalah 5

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
17

Tugas : Nilai :

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
18

Praktikum 5
Statement Kontrol Pengkondisian CASE

Tujuan:
Mempelajari pengkondisian CASE

Untuk masalah dengan dua kasus atau lebih, struktur CASE dapat
menyederhanakan penulisan IF-THEN-ELSE yang bertingkat-tingkat. Pada
Case, nilai1..nilaiN adalah nilai yang bertipe integer, char atau boolean.
Operator kondisi yang digunakan pada CASE adalah operator „ = „

Penulisan dalam Pascal :


Case nama of
nilai1 : aksi1;
nilai2 : aksi2;
nilai3 : aksi3;
……. …….
nilaiN : aksiN;
[ else aksiX ]
end;

Contoh 5.1 : Tulislah sebuah program menu yang dapat membaca nomor menu
pilihan dari keyboard, lalu menuliskan menu apakah yang dimasukki.

Program CaseOfEnd;
Uses crt;
Var
pilih : byte;
Begin
Clrscr;
Write(„ Masukkan pilihan Anda = „); readln(pilih);
Case pilih of
1 : writeln(„Anda telah memilih menu 1‟);
2 : writeln(„Anda telah memilih menu 2‟);
3 : writeln(„Anda telah memilih menu 3‟);

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
19

else
writeln(„Masukan anda salah „);
end;
readln;
end.

Soal – soal Latihan :


1. Pajak atas barang – barang impor dari sebuah negara XYZ, dibagi
menjadi 4 kelas.

Kelas Jenis Barang Pajak


1 Makanan 10%
2 Pakaian 15%
3 Mesin-mesin 30%
4 Perabot 40%

Masukan : Kelas barang dan harga barang


Keluaran : Besarnya Pajak dan biaya.
{proses input}
Program Pajak Negara ‘XYZ’
Kelas Barang : 2
Harga Barang : $ 200
{proses output, sebelumnya bersihkan layar dulu}
Pajak untuk Pakaian adalah 15 % dengan biaya $ 230

2. Sebuah Minimarket „XYZ‟ menjual beberapa merk susu kaleng, yaitu


 Dancow, Indomilk, Milo, Suprima, Sustagen,Ovaltine

Tiap – tiap merk dijual dalam ukuran besar, sedang dan kecil.
Harga satuannya adalah :

Kode Merk Besar Sedang Kecil


1 Dancow 10000 4500 2100
2 Indomilk 8500 4000 2025
3 Milo 7750 3750 2200
4 Suprima 9600 5100 2600

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
20

5 Sustagen 17000 14500 8300


6 Ovaltine 11250 6500 3250

Buatlah program untuk menghitung jumlah yang harus dibayar oleh


seorang pembeli susu kaleng.
Masukan : Kode susu ( 1 – 6 ), ukuran ( B/S/K), Banyaknya Pembelian.
Keluaran : Jumlah Pembayaran.
{proses input}
Program Penjualan Susu Pada Minimarket ‘XYZ’
Kode Susu (1-6) : 2
Ukuran (B/S/K) : B
Banyaknya pembelian : 2 buah
{proses output, sebelumnya bersihkan layar dulu}
Jumlah pembayaran untuk susu Indomilk
berukuran besar adalah Rp. 17.000

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
21

Tugas : Nilai :

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
22

Praktikum 6 dan 7
Statement Pengulangan FOR

Tujuan:
Mempelajari pengulangan For menaik dan menurun

Beberapa instruksi diulang untuk suatu jumlah pengulangan tertentu. Jumlah


pengulangan dapat diketahui sebelumnya atau ditentukan dalam pengulangan
program.

Penulisan dalam Pascal :


For variabel := nilai awal To nilai akhir Do
Begin
……………
aksi
……………
end;

Penulisan dalam Pascal :


For variabel := nilai awal DOWNTO nilai akhir DO
Begin
……………
aksi
……………
end;

Contoh 6.1: Tulislah sebuah program kuadrat bilangan 1 hingga bilangan


tertentu
Masukan : bilangan (diasumsikan bilangan 4)
Keluaran : kuadrat bilangan 1 hingga kuadrat bilangan 4
Program Kuadrat Bilangan
Masukkan bilangan = ?
Kuadrat Bilangan adalah 1-1; 2-4; 3-9; 4-16;

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
23

Program Kuadrat_bilangan;
Uses crt;
Var i,bil,kuadrat : integer;
Begin
Clrscr;
Writeln(„Program Kuadrat Bilangan‟);
Write („Masukkan bilangan = „);
Readln(bil);
Write(„Kuadrat Bilangan adalah„);
For i := 1 to bil do
Begin
Kuadrat := i * i;
Write(i,‟-„,kuadrat,‟;‟);
End;
Readkey;
End.

Soal – soal Latihan :


1. Buatlah program yang dapat menampilkan formasi berikut :
1
1 2
1 2 3
1 2 3 4
1 2 3
1 2
1

2. Buatlah program yang dapat menampilkan deret seperti contoh:


N=5
1 3 6 10 15

N=10
100 98 96 94 92 90 88 86 84 82

3. Buatlah program untuk mencetak bilangan-bilangan prima diantara 2


dan 60 ; berikut dengan dengan jumlah prima tersebut.

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
24

Program Bilangan Prima


Bilangan Prima itu adalah …
Jumlah Prima : …

4. Buatlah program untuk menghitung suatu barisan bilangan Fibonacci


sebanyak 20 suku; berikut dengan dengan jumlah deretnya.
F1=F2=1
Fi=Fi-1 + Fi-2
Masukan : banyaknya deret pada barisan Fibonacci
Keluaran: hasil dari barisan Fibonacci dan jumlah deretnya
Program Barisan Fibonacci
Masukan banyak deret : …
Deret itu adalah
0, 1, 1, 2, 3, 5, 8, …..
Jumlah deret = ….

5. Buatlah program untuk menghitung deret pecahan sebanyak 20 suku;


berikut dengan dengan jumlah deretnya (pembulatan sampai 3 angka
di belakang koma). Bentuk outputnya dicetak terurut ke kanan, seperti
berikut :
Masukan : banyak suku
Keluaran : suku dan jumlah deret
Program Deret Pecahan
1/1+1/2+1/3+1/4+, …..
Jumlah deret = ….

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
25

Tugas : Nilai :

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
26

Praktikum 8
Statement Pengulangan While

Tujuan:
Mempelajari pengulangan While

Kelemahan dari perintah For-To-Do adalah banyak perulangan yang dilakukan


harus ditentukan terlebih dahulu sebelum masuk ke perintah perulangan
tersebut. Dalam pemrograman, seringkali ditemui proses perulangan yang
banyak. Perulangan tidak dapat ditentukan sebelum masuk ke proses
perulangan itu sendiri. Permasalahan ini diatasi dengan menggunakan perintah
perulangan While – Do.

Penulisan dalam Pascal :

While kondisi DO
Begin
……………
aksi
……………
end; {endwhile}

Contoh 8.1 : Tulislah program naik turun berikut yang tidak menerima input
dari keyboard. Program akan menampilkan hasil sebagai berikut: 0 5, 1 4 , 2 3,
3 2, 4 1,5 0

{Program while}
Uses crt;
Var X,Y : integer;
Begin
Clrscr;
Writeln („Program Naik Turun‟);
Y := 5;
X := 0;
While X <= 5 do
Begin
Write ( X, Y,‟,‟);

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
27

Y := Y - 1;
X := X + 1;
End; {endwhile}
Readkey;
End.

Soal – soal Latihan :


1. Sebuah kelurahan akan mengadakan cacah jiwa bagi warganya.
Buatlah program untuk cacah jiwa penduduk. Program ini dapat
menghitung jumlah penduduk yang berumur 17 tahun. Program berhenti
jika pernyataan „ingin coba lagi„ diisi dengan “ t “
Masukan : Jumlah penduduk, Nama Warga, Alamat, Umur
Keluaran : Jumlah Penduduk berumur 17 tahun.
Program Cacah Jiwa Penduduk
Jumlah penduduk : …
Nama Warga : …. (akan diisi sejumlah banyak penduduk)
Alamat : … (akan diisi sejumlah banyak penduduk)
Umur : …. (akan diisi sejumlah banyak penduduk)
Penduduk yang berumur 17 tahun berjumlah ?? orang.
Apakah anda ingin mencoba lagi ? [y/t] …

2. Buatlah program untuk mengubah derajat temperatur sesuai dengan


soal pada praktikum sebelumnya (input/output). Program akan
berhenti jika pada pernyataan “hitung lagi ? [Y/T]”, diisi huruf T.
Masukan : celcius (real)
Keluaran : Hasil perhitungan ke layar monitor dalam Fahrenheit dan Kelvin
Program Konversi Suhu Kedua
Nilai suhu dalam derajat celcius : XXX
XXX oC = XXX.XX oF
XXX oC = XXX.XX oK
Apakah mau hitung lagi ?[Y/T] …

3. Buatlah program untuk mencari bilangan diantara 500/1000 yang


habis dibagi dengan 3 dan juga hitung berapa banyaknya. Program
akan berhenti jika pada pernyataan “hitung lagi ? [Y/T]”, diisi huruf
T.

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
28

Masukan : bilangan
Keluaran : bilangan yang habis dibagi 3, jumlah bilangan
Program Perhitungan Bilangan Habis Dibagi 3
Bilangan tersebut adalah …
Jumlah bilangan yang habis dibagi 3 : …
Hitung lagi ? [Y/T] …

4. Buatlah program untuk mencetak tabel suku-suku deret ganjil : 3, 7,


11, … sampai 12 suku ; berikut dengan dengan jumlah deret tersebut.
Program akan berhenti jika pada pernyataan “hitung lagi ? [Y/T]”,
diisi huruf T.
Program Bilangan Ganjil Hingga 12 suku
1, 3, 7, 11, …
Jumlah deret tersebut adalah …
Hitung lagi ? [Y/T] …

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
29

Tugas : Nilai :

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
30

Praktikum 9
Statement Pengulangan Repeat

Tujuan:
Mempelajari pengulangan Repeat
Perintah perulangan repeat – until mirip dengan perintah while – do. Tetapi
pada perintah repeat – until, pengujian kondisi dilakukan di akhir perulangan.
Dan perulangan dilakukan selama kondisi belum dipenuhi.
Penulisan dalam Pascal :

Repeat
……………
aksi
……………
Until kondisi;

Contoh 9.1 : Program menghitung banyak proses yang diulang pada badan
statement repeat_until. Program ini tidak menerima masukkan apapun tetapi
akan menghasilkan banyaknya proses yang dikerjakan oleh statement
repeat_until.

{Program repeat}
uses crt;
var A,N : integer;
Begin
Clrscr;
Writeln („Perhitungan Proses Repeat‟);
A := 0;
N := 0;
Repeat
A := A + 5;
N := N + 1;
Until A > 10 ;
Write(„Banyak proses : „,N);
Readkey;
End.

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
31

Soal – soal Latihan :


Ubahlah semua latihan pada while
menjadi menggunakan perintah
repeat

Tugas :
Nilai :

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
32

Praktikum 10 dan 11
Statement Array

Tujuan:
Mempelajari representasi fisik struktur data array

Contoh 10.1 : Tulislah program mencari bilangan terbesar. Program


membutuhkan masukkan dari keyboard yang menyatakan banyaknya bilangan
dan deret bilangan. Hasil keluaran dari program adalah bilangan terbesar dari
deret yang telah dimasukkan.
{Program Bilangan Terbesar}
uses crt;
var i,j,max,banyak : integer;
x : array [1..10] of integer;
begin
clrscr;
writeln(„Program Bilangan Terbesar‟);
write(„Banyaknya bilangan „);
readln(banyak);
{untuk input bilangan}
for i := 1 to banyak do
readln(x[i]);
{untuk mencari bilangan terbesar}
max := 0;
for j := 1 to banyak do
begin
if x[j] >= max then
max := x[j];
end;
write (max);
readkey;
end.

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
33

Soal – soal Latihan :


1. Buatlah program untuk menghitung harga B yaitu:
n XiY i ( Xi )( Yi)
B=
n Xi 2 ( Xi ) 2
Dimana
N = banyaknya data (5)
Xi = X1+X2+X3+X4+X5
Yi = Y1+Y2+Y3+Y4+Y5
XiYi = X1Y1+X2Y2+X3Y3+X4Y4+X5Y5
Xi 2 = X12+X22+X32+X42+X52

Data sebagai berikut:

Xi 71 53 82 67 56
Yi 354 313 322 334 247
Masukan : Xi danYi
Keluaran : Nilai B
Program Menghitung Nilai B :

Xi Yi
… …
… …
… …

Nilai B adalah sebesar = …

2. Buatlah program untuk menghitung nilai akhir mata kuliah Algoritma


dari 10 orang mahasiswa, jika diketahui sebagai inputnya adalah
Nama, N1, N2, NU dan NA. Gunakan array.
Bentuk outputnya dicetak seperti berikut :

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
34

HASIL AKHIR MATA KULIAH ALGORITMA

Nilai Nilai Nilai Nilai


No Nama Ketarangan
1 2 Ujian Akhir
1 Tony 60 60 80 72 Lulus
2 Susi 70 80 60 66 Lulus
……. ……. ……. ……. ……. ……. …….
10 Melly 70 40 50 52 Tidak lulus

N1 = Nilai, N2 = Nilai, NU = Nilai Ujian, NA = Nilai Akhir


Nilai Akhir = 40 % x (rata-rata N1 + N2) + 60 % x NU
Jika Nilai Akhir >= 60, berikan ket = Lulus
Jika Nilai Akhir < 60, berikan ket = Tidak Lulus

3. Buatlah program untuk mencari bilangan terbesar dan terkecil dari


sejumlah bilangan yang dimasukkan berturut-turut. Tentukanlah
banyak bilangan yang akan dimasukkan terlebih dahulu. Gunakan
array. Output yan ditampilkan
Banyaknya Bilangan = n
x1 x2 x3 x4 x5 …. xn
Bilangan terbesar adalah = ….
Bilangan terkecil adalah = ….

4. Buatlah program untuk mengalikan matriks I berordo a x b dan


matriks II yang berordo b x c . Output yang diminta :
Ordo matriks I
Banyaknya baris :…..
Banyaknya kolom :…..

Ordo matriks II
Banyaknya baris :…..
Banyaknya kolom :…..

Matriks I : Baris 1 kolom 1 =


Baris 1 kolom 2 =
……………………...
Baris a kolom b =

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
35

Matriks II : Baris 1 kolom 1 =


Baris 1 kolom 2 =
……………………...
Baris b kolom c =

Hasil perkalian matriks I dan matriks II adalah


….. …. ….
….. …. ….
….. …. ….

5. Buatlah program untuk menghitung Indeks Prestasi mahasiswa (IP)


dari mata kuliah Algoritma dan mata kuliah Pancasila. Jika diketahui
sebagai inputnya adalah Nama, Nilai mid dan nilai sum dari masing-
masing matakuliah, Bobot sks dari mata kuliah Algoritma adalah 4
sks dan mata kuliah Pancasila adalah 2 sks.

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
36

Data Masukan:
Algoritma Pancasila
Nama Nilai Nilai Nilai Nilai Nilai Nilai
1 2 Sum 1 2 Sum
Tony 50 80 40 80 60 65
Susi 50 90 55 40 80 80
Lastri 85 80 90 50 80 35
Melly 70 90 90 60 50 52

Bentuk outputnya dicetak seperti berikut :


Hasil Indeks Prestasi Mahasiswa
Algoritma Pancasila Indeks
No Nama
NA AR NA AR Prestasi
1 ……. ……. ……. ……. ……. …….
2 ……. ……. ……. ……. ……. …….
……. ……. ……. ……. ……. ……. …….

Nilai Akhir = 40 % x (rata-rata Nilai1 dng Nilai2) + 60 % x Nilai sum


Angka nilai relatif (AR) merupakan konversi dari Nilai Akhir:
Nilai Akhir <= 45 maka AR=0
Nilai Akhir > 45 dan <= 55 maka AR=1
Nilai Akhir > 55 dan <= 67 maka AR=2
Nilai Akhir > 67 dan <= 80 maka AR=3
Nilai Akhir > 80 maka AR=4

IP (Indeks Prestasi) dihitung dengan rumus : ((AR Algoritma*bobot


Algoritma ) +(AR Pancasila*bobot Pancasila)) / (bobot Algoritma+bobot
Pancasila)
Jumlah mahasiswa mendapat AR=0 : …
Jumlah mahasiswa mendapat AR=1 : …
Jumlah mahasiswa mendapat AR=2 : …
Jumlah mahasiswa mendapat AR=3 : …
Jumlah mahasiswa mendapat AR=4 : …

6. Buatlah program untuk menghitung jumlah uang akhir deposito


dengan menggunakan array dan case of sebanyak 12 data. Bentuk
outputnya dicetak seperti berikut

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
37

BANK IGM PALEMBANG

Periode Bunga Jumlah Uang


No (dalam Gol (%/thn) Awal Akhir
Bulan)
1 4 B 21 Rp 1000000 Rp 1070000
2 1 A 18 Rp 2000000 Rp 2030000
3 10 C 24 Rp 2000000 Rp 2400000
… … … … …. …
12 15 D 27 Rp 1500000 Rp 2006250

Proses : Periode 1 bln s/d 3 bln, bunga 18%/tahun


Periode 4 bln s/d 6 bln, bunga 21%/tahun
Periode 7 bln s/d 12 bln, bunga 24%/tahun
Periode >12 bln, bunga 27%/tahun
Jumlah akhir bunga = Bunga Deposito yang diperoleh + jumlah uang
awal

7. Sebuah toko kue menjual 4 jenis kue yaitu kue bolu, kue lapis, kue
keju, kue coklat dengan ketentuan sebagai berikut untuk tiap jenis kue
yang dibeli:
Pembelian kue sebanyak 1-10 buah tidak mendapatkan potongan
harga
Pembelian kue sebanyak 11-50 buah mendapatkan potongan Rp.
100/buah
Pembelian kue sebanyak 51-100 buah mendapatkan potongan Rp
500/buah
Pembelian kue diatas 100 buah mendapatkan potongan Rp2000/buah

Selain itu setiap pembelian kue diatas 50 buah mendapatkan tambahan kue
sebanyak 5 buah kue sejenis, hadiah ini hanya diberikan sekali untuk tiap
pembelian kue sejenis.
Pembeli dapat membeli lebih dari satu jenis kue, perhitungan transaksi
pembelian dilakukan per satu jenis kue.
Masukan : Nama kue yang dibeli, jenis kue, jumlah pembelian kue, harga
satuan kue per buah
Keluaran :

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
38

Nama kue yang dibeli, Jenis kue


Jumlah pembelian kue, Jumlah hadiah kue
Total kue yang diperoleh
Harga total kue sebelum potongan
Potongan harga
Harga total kue setelah potongan

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
39

Tugas : Nilai :

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
40

Praktikum 12 dan 13
Statement Procedure

Tujuan:
Mempelajari modul procedure

Contoh 12.1: Tulislah program menggunakan procedure seperti berikut ini:


{Program procedure}
uses crt;
var C : real;
Procedure hasil (A:real, B:real; var C : real);
Var I : integer; {variabel lokal}
Begin
For I := 1 to 5 do
A:= A/B;
C:=A;
End; {akhir procedure}
Begin
Clrscr;
Hasil(32000,1.5,C);
Writeln(„Hasil : „,C:10:2);
Readkey;
End.

Soal – soal Latihan :


1. Buatlah program yang menghasilkan keterangan tentang hari_esok
dan kemarin. Pakai prosedur untuk menghitungnya. Input yang
dimasukkan adalah hari_ini. Output yang ditampilkan
Masukkan hari ini : ….. (kamis)
Hari Esok adalah : Jum‟at
Kemarin adalah : Rabu

2. Buatlah program untuk mencetak laporan seperti yang terlihat di


bawah ini

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
41

Tahap 1: Buat prosedur untuk input (mengisi) dan prosedur


output(menampilkan) kemudian kontrol program tersebut dengan MENU
UTAMA
Tahap 2 : Kembangkan program diatas untuk pengoperasian file text, dan file
bertipe, dengan mengkombinasikan record dan array !

Nama Uang Uang Jumlah


No NPM Jrs
Kuliah Gedung Bayar

1 19991101 xxxxx TI(S1) 500000 1000000 1500000


2 19992103 xxxxx MI(D1) 400000 800000 1200000
.. ……… …….. ……. ……. ……… ………
.. ……… …….. ……. …… …….. …….
Total : ………………

Jumlah Jurusan
TI(S1) = xx orang
MI(D1) = xx orang
MI(D3) = xx orang
TK(D3) = xx orang
AKT(D3) = xx orang

Variabel NPM dan Nama bertipe string


Jurusan didapat dari dua digit posisi ke 5 dari NPM dengan
menggunakan perintah COPY
Jika digit yang diambil = 11 maka :
Jurusan = TI(S1),UK = 500000, UG = 1000000
Jika digit yang diambil = 21 maka :
Jurusan = MI(D1),UK = 400000, UG = 800000
Jika digit yang diambil = 31 maka :
Jurusan = MI(D3),UK = 350000, UG = 700000
Jika digit yang diambil = 12 maka :
Jurusan = TK(D3),UK = 300000, UG = 600000
Jika digit yang diambil = 42 maka :
Jurusan = AKT(D3),UK = 600000, UG = 1200000

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
42

Tugas : Nilai :

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
43

Praktikum 14 dan 15
Statement Function

Tujuan:
Mempelajari modul function

Contoh 14.1 : Tulislah program fungsi berikut ini


{Program Fungsi}
uses crt;
var A1,B1 : integer;
function Ambil (A,B : integer):integer;
begin
A := A div B;
Ambil := A;
end; {akhir function}
Begin
Clrscr;
B1:=10;
A1 := B1 * (ambil(100,B1);
Writeln(„Hasil di A : „,A1);
Readkey;
End.

Soal – soal Latihan :


1. Buatlah sebuah unit yang memuat beberapa procedure dan function
yang dapat digunakan oleh program utama untuk memproses kegiatan
– kegiatan dari menu berikut:
Memasukkan beberapa bilangan
Menghitung hasil penjumlahan bilangan tersebut
Menghitung hasil perkalian
Menghitung hasil pembagian

2. Buatlah program untuk menyelesaikan kasus berikut dengan


pengoperasian file text dan file bertipe, gunakan Tipe Data Array dan
Record untuk mendukung proses program

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
44

Kasus : Suatu koperasi menggunakan kartu kredit bagi anggotanya. Pada


kartu tertulis data No. Anggota, Nama, Besar Simpanan. Setiap kali
berbelanja, maka uang simpanan anggota yang bersangkutan berkurang
sejumlah belanjaannya. Bilamana simpanan yang bersangkutan sudah habis
atau jumlah belanjaan melebihi batas simpanan, maka tidak bisa belanja lagi.
Program yang dibuat memiliki 4 menu pilihan, yaitu :

1. Mengisi data anggota (nama, no dan uang simpanan)


(mengisi data seluruh anggota koperasi , max. 100 orang)
2. Belanja
(Jumlah uang yang dibelanjakan anggota)
3. Cetak tabel
(mencetak tabel/daftar yang berisi data anggota dan besar
simpanan masing-masing)
4. Selesai

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs
45

Tugas : Nilai :

Modul Praktikum
Algoritma dan Pemrograman 1 (Pascal)
Rita Wiryasaputra,ST., M. Cs

Anda mungkin juga menyukai