38
Modul Matakuliah Logika dan Algoritma Muhammad Romzi

Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

  • Upload
    others

  • View
    48

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

Modul Matakuliah

Logika dan Algoritma

Muhammad Romzi

Page 2: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

2

.:: Muhammad Romzi

KATA PENGANTAR

Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang

bagai mana cara penyelesaian suatu masalah berdasarkan tahapan-tahapan

yang sistematis dan logis. Suatu algoritma dapat dibuktikan kebenarannya

melalui komputer setelah algoritma tersebut ditranslasikan kedalam bahasa

pemrograman. Bahasa pemrograman yang digunakan pada modul ini

menggunakan turbo pascal 1.5 yang berjalan pada sistem operasi windows.

Modul ini membahas secara ringkas tentang algoritma dan pascal,

sebagai dasar bagi mahasiswa bagaimana cara membuat program komputer.

Dipilihnya bahasa pascal disamping kemudahan penggunaan dan juga sebagai

bekal bagi mahasiswa yang mempelajari pemrograman visual dengan

menggunakan Borland Delphi.

Akhir kata, penulis mengucapkan syukur Alhamdulillah modul ini dapat

diselesaikan dengan baik, walaupun masih banyak kekurangan disana-sini yang

perlu perbaikan dimasa yang akan datang. Oleh karena itu penulis menerima

masukan dan saran dari rekan-rekan dosen pengajar matakuliah algoritma

maupun masukan dari mahasiswa yang menggunakan modul ini. Mudah-

mudahan modul ini dapat bermanfaat baik bagi penulis sendiri maupun bagi

pengguna.

Baturaja, Sya‟ban 1433H / Juni 2012 M

Penulis

Page 3: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

3

.:: Muhammad Romzi

DAFTAR ISI

KATA PENGANTAR DAFTAR ISI BAB 1. Mengenal Logika dan Algoritma 3

A. Pengertian Logika dan Algoritma…………………………………………….. 3 B. Syarat-Syarat Algoritma………………….……………………………………… 5 C. Struktur Dasar Algoritma………………………………………………………… 5 D. Penulisan Algortima……………………………………………………………….. 6 E. Teks Algoritma……………………………………………………………………… 7

BAB 2. Mengenal Pascal (TPW 1.5)………………………………………………………… 9 A. Sejarah……………………………………………………………………………….. 9 B. Struktur Bahasa Pascal…………………………………………………………. 9 BAB 3. Mengenal Flow chart…………………………………………………………………. 15

A. Flow Chart……………………………………………………………………………. 15 B. Simbol Flow chart………………………………………………………………….. 15

BAB 4. Pemrograman pada Pascal.…………………………………………………………. 19 A. Translasi Teks Algoritma kedalam Pascal……………….………………… 19 B. Penulisan Kode Program pada TPW 1.5…………………………………… 20 C. Statement Input/Output………………………………………………………… 26 D. Struktur Perulangan………………………………………………………………. 26 E. Struktur Percabangan……………………………………………………………. 32 F. Array……………………………………………………………………………………. 35 G. Prosedur………………………………………………………………………………. 35 H. Fungsi………………………………………………………………………………….. 36

Daftar Pustaka………………………………………………………………………………………. 37 Penulis…………………………………………………………………………………………………. 38

Page 4: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

4

.:: Muhammad Romzi

MENGENAL LOGIKA ALGORITMA

A. PENGERTIAN LOGIKA DAN ALGORITMA

Logika berasal dari dari bahasa Yunani yaitu LOGOS yang berarti ilmu. Logika dapat diartikan ilmu yang mengajarkan cara berpikir untuk melakukan aksi dengan tujuan tertentu. Algoritma berasal dari nama seorang Ilmuwan Arab yang bernama Abu Ja‟far Muhammad Ibnu Musa Al Khuwarizmi penulis buku berjudul Al Jabar Wal Muqabala (Buku Pemugaran dan Pengurangan). Kata Al Khuwarizmi dibaca orang barat menjadi Algorism yang kemudian lambat laun menjadi Algorithm diserap dalam bahasa Indonesia menjadi Algoritma. Algoritma dapat diartikan urutan langkah-langkah (instruksi-instruksi / aksi-aksi) terbatas untuk menyelesaikan suatu masalah. Dari pengertian diatas maka dapat diartikan Logika dan Algoritma adalah ilmu yang mempelajari cara penyelesaian masalah berdasarkan langkah-langkah terbatas yang logis dan sistematis dengan tujuan tertentu. Contoh Algoritma: Permasalahan: Diberikan dua gelas (A dan B), gelas A berisi air kopi dan gelas B berisi air teh. Pertukarkan isi gelas tersebut sehingga menghasilkan gelas A semula berisi air kopi menjadi berisi air teh dan gelas B yang semula berisi air teh menjadi berisi air kopi. Penyelesaian: Untuk mempertukarkan isi gelas dengan benar, maka diperlukan gelas tambahan yang kita namakan gelas C sebagai tempat penampungan sementara. Berikut Algoritmanya:

Page 5: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

5

.:: Muhammad Romzi

Gambar 1. Algoritma Tukar Isi Gelas

(Sumber Rujukan: Rinaldi Munir,Algoritma dan Pemrograman, Informatika Bandung )

Hasil akhir dari algoritma pertukaran isi gelas menjadi:

A : berisi Teh B : berisi air Kopi

B. Syarat-Syarat Algoritma Syarat-Syarat Algoritma menurtu Donald E. Knuth, yaitu: 1. Finiteness (Keterbatasan) Algoritma harus berakhir setelah melakukan sejumlah langkah proses 2. Definiteness (Kepastian)

Setiap langkah algoritma harus didefinisikan dengan tepat dan tidak menimbulkan makna ganda

3. Input (Masukan) Sebuah algoritma memiliki nol atau lebih masukan (input) yang diberikan kepada algoritma sebelum dijalankan

4. Output (Keluaran) Setiap algoritma memberikan satu atau beberapa hasil keluaran

5. Effectiveness (Efektivitas) Langkah-langkah algoritma dikerjakan dalam waktu yang “wajar”

C. Struktur Dasar Algoritma Suatu Algoritma dapat terdiri dari tiga struktur dasar, yaitu runtunan, pemilihan dan pengulangan. Berikut Penjelasan ringkas dari tiga struktur tersebut : 1. Runtunan

Runtunan yaitu satu atau lebih instruksi yang dikerjakan secara berurutan sesuai dengan urutan penulisannya. Urutan dari instruksi menentukan hasil akhir dari suatu algoritma. Bila urutan penulisan berubah maka mungkin juga hasil akhirnya berubah.

Algortima Tukar_Isi_Gelas

Ada dua gelas (gelas A dan gelas B), gelas A berisi Kopi dan gelas B

berisi Teh. Pertukarkan isi kedua gelas tersebut sehingga gelas A yang

semula berisi Kopi menjadi berisi Teh dan gelas B yang semula berisi Teh

menjadi berisi Kopi

Deskripsi

1. Tuangkan isi gelas A ke gelas C

2. Tungkan isi gelas B ke gelas A

3. Tuangkan isi gelas C ke gelas B

Page 6: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

6

.:: Muhammad Romzi

Perhatikan contoh operasi aritmatika berikut:

A B

(3 * 5) + 5 = 20 3 * (5 + 5) = 30

Dari contoh diatas dapat dilihat ternyata hasil akhirnya dapat berubah apabila urutan pengerjaannya berbeda.

2. Pemilihan Pemilihan yaitu instruksi yang dikerjakan dengan kondisi tertentu. Kondisi adalah persyaratan yang dapat bernilai benar atau salah. Instruksi hanya dilaksanakan apabila kondisi bernilai benar, sebaliknya apabila salah maka instruksi tidak akan dilaksankan. Pernyataaan kondisi menggunakan statemen If (jika) dan Then (maka).

Contoh pernyataaan kondisi

Jika suatu bilangan habis dibagi dua Maka bilangan itu bilangan genap

3. Pengulangan

Pengulangan merupakan pengulangan sejumlah aksi yang sama sebanyak jumlah yang ditentukan atau sesuai dengan kondisi yang diinginkan. Beberapa statemen pengulangan yaitu:

For … To ... Do / For ... Downto ... Do While … Do Repeat ... Until

D. Penulisan Algoritma Algoritma dapat ditulis dengan cara berikut: 1. Menggunakan bahasa natural 2. Menggunakan kode semu (pseudo-code)

Teknik penulisan yang mendekati bahasa pemrograman tertentu 3. Menggunakan diagram alir (flow chart)

Teknik penyajian dengan menggunakan symbol-simbol.

Dari ketiga cara ditas untuk mempermudah translasi teks algoritma kedalam

teks program sebaiknya ditulis dalam bentuk notasi yang mendekati bahasa

pemrograman (pseudo-code).

Contoh: Tulislah algoritma untuk mencari Luas Persegi Panjang, apabila diketahui nilai panjang 8 dan nilai lebar 5.

Page 7: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

7

.:: Muhammad Romzi

Bahasa Natural

1 Mulai 2 Masukkan Nilai Panjang Persegi Panjang 3 Masukkan Nilai Lebar Persegi Panjang 4 Hitung Luas Persegi (Luas = Panjang x Lebar) 5 Tampilkan Nilai Luas Persegi Panjang 7 Selesai

Pseude Code

1 Start 2 Input (Panjang) 3 Input (Lebar) 4 Luas Panjang * Lebar 5 Output (Luas) 7 End

E. Teks Algoritma

Teks algoritma tersusun dalam tiga bagian, yaitu:

1. Bagian Kepala

2. Bagian Deklarasi

3. Bagian Deskripsi

Setiap bagian disertai dengan penjelasan tentang maksud penulisan teks.

Penjelasan ini ditulis dalam kurung seperti ini { }

Algoritma nama_algoritma

{penjelasan singkat uraian yang dilakukan oleh algoritma}

Deklarasi

{semua nama yang digunakan, meliputi nama-nama: tipe, konstanta, variable

juga nama sub program dinyatakan dibagian ini}

Deskripsi

{semua langkah penyelesaian dituliskan disini}

(Sumber : Rinaldi Munir,Algoritma dan Pemrograman, Informatika Bandung )

Page 8: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

8

.:: Muhammad Romzi

Gambar 2. Algoritma Cetak Ucapan

Algoritma Cetak_Ucapan

{mencetak ucapan „Selamat Belajar „ dan diikuti

dengan nama orang}

Deklarasi

nama : string;

Deskripsi

nama‟Ahmad‟

write(„Selamat Belajar‟, nama)

Page 9: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

9

.:: Muhammad Romzi

MENGENAL PASCAL (TPW 1.5)

A. Sejarah

Pascal merupakan pengembangan dari bahasa ALGOL 60 yang diperuntukkan untuk sains dan komputasi. Pada tahun 1960 beberapa ahli komputer mengembangkan bahasa ALGOL, salah satunya adalah Dr. Niklaus Wirth dari Swiss Federal Institute of Technology (ETH-Zurich), yang merupakan anggota group ALGOL. Nama PASCAL diambil dari nama seorang filsuf dan ahli matematika dari Perancis. Pascal adalah bahasa pemrograman terstruktur yang membedakan blok-blok pendeklarasian tipe, variable dan penulisan kode program. Pascal memiliki keunggulan untuk dipelajari oleh pemula karena struktur yang jelas serta tidak bersifat case sensitive (tidak membedakan huruf besar dan huruf kecil). TPW 1.5 merupakan bahasa pemrograman pasacal yang berjalan dibawah sistem operasi windows.

B. Struktur Bahasa Pascal Struktur bahasa pascal terdiri dari: 1. Judul Program 2. Blok Program

a. Bagian Deklarasi Deklarasi Tipe Deklarasi Konstanta Deklarasi Variabel Deklarasi Label Deklarasi Prosedur Deklarasi Fungsi

b. Bagian Pernyataan Keterangan: 1. Judul Program bersifat optional boleh disertakan boleh juga tidak, tapi

sebaiknya dituliskan untuk keperluan dokumentasi. Penulisan judul program terletak pada awal penulisan dan diakhiri dengan tanda titik koma. Contoh:

2. Bagian Deklarasi merupakan bagian untuk menuliskan pengenal (identifier), yang dapat berupa label, konstanta, tipe, variabel dan fungsi.

Page 10: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

10

.:: Muhammad Romzi

Identifier terdiri atas:

a. Identifier Umum

Identifier umum merupakan identifier yang didefenisikan sendiri oleh

pemrogram yang tidak boleh sama dengan identifier standard

maupun identifier “reserved word”

b. Identifier Standar

Identifier standar merupakan identifier yang terdapat pada library

compiler. Library berisi procedure, fungsi, unit yang siap pakai.

Contoh identifier standar:

Read, readln, write, writeln

c. Identifier “reserved word”

Identifier yang telah ada atau telah didefenisikan dan digunakan

bahasa Pascal.

Contoh identifier:

Begin, end, if, else

2.1. Deklarasi Variabel dan Konstanta

Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai tertentu didalam proses program. Berbeda dengan konstanta yang nilainya selalu tetap, nilai dari suatu variabel dapat berubah sesuai kebutuhan.

Deklarasi variabel didefenisikan sebagai berikut:

Var Variabel : Tipe_Data;

contoh var Nama : string;

Deklarasi konstanta didefenisikan sebagai berikut:

Const pengenal = Ekspresi;

contoh const phi = 3.14

2.2. Deklarasi Tipe

Tipe data dalam pascal dibedakan dalam dua macam, yaitu : tipe data dasar dan tipe data bentukan. Tipe data dasar terdiri dari: bilangan logic, bilangan bulat, bilangan Riil dan Karakter. Sedangkan tipe data bentukan terdiri dari: string, Rekaman dan tipe bentukan yang dibentuk dari tipe dasar.

Page 11: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

11

.:: Muhammad Romzi

Gambar 3. Tipe Data

2.2.1. Bilangan Logika Nama Tipe : Boolean Rentang Nilai : Benar (True) atau salah (False) Benar (1) atau salah (0) Operasi : Not, And, Or, Xor

Y Not Y

True False

False True

X Y X and Y X or Y X xor Y

True True True True False

True False False True True

False True False True True

False False False False False

Keterangan: Not : kebalikan dari nilai yang diberikan And : bernilai benar apabila keduanya benar Or : bernilai benar apabila keduanya benar atau salah satunya benar Xor : bernilai benar apabila salah satunya saja yang benar

Tipe Data

Tipe Dasar

TipeBentukan

Bilangan Logik

Bilangan Bulat

Bilangan Riil

Karakter

String

Rekaman

Tipe Bentukan

Page 12: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

12

.:: Muhammad Romzi

Operator Not merupakan operator Unary (hanya 1 operand) Operator AND, OR, XOR merupakan operator Binary (operator yang memerlukan 2 operand) Contoh:

2.2.2. Bilangan Bulat (Integer)

Ada 5 tipe pada bilangan integer

TIPE RENTANG NILAI UKURAN

Shortint -128 .. 127 Signed 8 bit

Integer -32768 .. 32767 Signed 16 bit

Longint -2147483648 .. 2147483647 Signed 32 bit

Byte 0 .. 255 Unsigned 8 bit

Word 0 .. 65535 Unsigned 16 bit

Operasi pada bilangan bulat, terdiri dari operasi aritmatika dan operasi perbandingan.

Operator Aritmatika Operator Perbandingan

+ Penjumlahan = Sama dengan

- Pengurangan < Lebih kecil dari

* Perkalian > Lebih besar dari

Div Pembagian Bulat <= Lebih kecil sama dengan

Mod Sisa hasil bagi >= Lebih besar sama dengan

<> Tidak sama dengan

X AND Y

OPERAND

OPEARATOR

Page 13: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

13

.:: Muhammad Romzi

2.2.3 Bilangan Real (Pecahan)

Bilangan Real merupakan bilangan pecahan yang dinyatakan dalam bentuk eksponensial. Bilangan real memiliki beberapa macam tipe, yaitu:

TIPE RENTANG NILAI UKURAN

Real 2.9 x 10-39 .. 1.7 x 1038 6 byte

Single 1.5 x 10-45 .. 3.4 x 1038 4 byte

Double 5.0 x 10-324 .. 1.7 x 10308 8 byte

Extended 3.4 x 10-4932 .. 1.1 x 104932 10 byte

Operasi pada bilangan bulat, terdiri dari operasi aritmatika dan operasi perbandingan.

Operator Aritmatika Operator Perbandingan

+ Penjumlahan < Lebih kecil dari

- Pengurangan > Lebih besar dari

* Perkalian <= Lebih kecil sama dengan

/ Pembagian >= Lebih besar sama dengan

<> Tidak sama dengan

2.2.4 CHAR Char adalah semua character yang terdapat pada tombol keyboard atau semua karakter yang terdapat dalam kode ASCII. Operasi yang ada pada tipe ini hanya operasi perbandingan

Operator Perbandingan

= Sama dengan

< Lebih kecil dari

> Lebih besar dari

<= Lebih kecil sama dengan

>= Lebih besar sama dengan

<> Tidak sama dengan

Contoh

„a‟ = „a‟ Hasil : True „M‟ = „m‟ Hasil : False „m‟ < „z‟ Hasil : True

Page 14: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

14

.:: Muhammad Romzi

2.2.5. STRING String adalah deretan karakter dengan panjang tertentu Operasi yag terdapat pada tipe string, yaitu: a. Operasi Penyambungan (Concatenation)

Operasi penyambungan menggunakan operator „+‟ Contoh : „AKMI‟ + „ Baturaja‟ hasilnya: „AKMI Baturaja‟

b. Operasi Perbandingan

Operator Perbandingan

= Sama dengan

< Lebih kecil dari

> Lebih besar dari

<= Lebih kecil sama dengan

>= Lebih besar sama dengan

<> Tidak sama dengan

Contoh

„aku‟ = „akur‟ Hasil : False „aku‟ < „AKU‟ Hasil : True

2.2.6. REKAMAN

Rekaman disusun oleh satu atau lebih field. Tiap field menyimpan data dari tipe dasar tertentu yang sudah didefenisikan sebelumnya. Rekaman juga disebut dengan tipe terstruktur. 2.2.7. TIPE BENTUKAN DARI TIPE DASAR

Nama baru untuk tipe bentukan dapat dibuat dengan kata kunci type. Contoh : Type Bulat : Integer; Keterangan : membuat tipe baru dengan nama bulat yang sama dengan

integer.

Page 15: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

15

.:: Muhammad Romzi

MENGENAL FLOW CHART

A. Flow Chart

Flowchart adalah bagan-bagan yang mempunyai arus yang menggambarkan langkah-langkah penyelesaian suatu masalah. Flowchart merupakan cara penyajian dari suatu algoritma. Ada 2 jenis Flowchart : 1. System Flowchart

Menggambarkan urutan proses dalam system dengan menunjukkan alat media input, output serta jenis media penyimpanan dalam proses pengolahan data.

2. Program Flowchart Menggambarkan urutan instruksi yang digambarkan dengan symbol tertentu untuk memecahkan masalah dalam suatu program.

B. Simbol Flow Chart

Secara garis besar simbol Flowchart terdiri dari: 1. Simbolpenghubung alur (Flow Direction Symbols) 2. Simbol Proses (Processing Symbols) 3. Simbol Input-Output (Input-Output Symbols) Bentuk umum dari symbol-simbol Flow Chart antara lain:

SIMBOL NAMA KETERANGAN

Terminator

Simbol Awal (Start) / Simbol Akhir (End)

Flow Line

Simbol aliran / penghubung

Proses

Perhitungan / pengolahan

Page 16: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

16

.:: Muhammad Romzi

Input/Output Data

Pembacaan data (read) / penulisan (write)

Decision

Simbol pernyataan pilihan

Preparation

Inisialisasi/pemberian nilai awal

Predefined Process (subprogram)

Proses menjalankan subprogram

On Page Connector

Penghubung Flow chart pada satu halaman

Off Page Connector

Penghubung Flow chart

pada halaman berbeda

Page 17: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

17

.:: Muhammad Romzi

Contoh Flow Chart

START

INPUT (PANJANG)

INPUT (LEBAR)

LUAS = PANJANG * LEBAR

OUTPUT (LUAS)

END

Gambar 4. Flow Chart Luas Persegi Panjang

Page 18: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

18

.:: Muhammad Romzi

START

INPUT

UNIT, JML

BYAWAL =

UNIT*JML

IF

BYAWAL

>=100000

POT=

(BYAWAL*10)/100

POT=0

PRINT

POT

NO

YES

BYRAKHIR=

BYAWAL-POT

PRINT

BYRAKHIR

END

Gambar 5. Flow Chart Diskon Pembayaran

Page 19: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

19

.:: Muhammad Romzi

PEMROGRAMAN PADA PASCAL

A. Translasi Teks Algoritma kedalam Pascal Teks Algoritma dapat dijalankan pada komputer setelah ditranslasi kedalam bahasa pemrograman tertentu. Bahasa pemrograman yang digunakan pada bahasan ini adalah bahasa pascal. Sebagai contoh perhatikan algoritma berikut ini:

Translasi ke dalam Pascal

Program Cetak_Ucapan;

Var

nama : string;

Begin

nama:=’Ahmad’;

write(‘Selamat Belajar ’, nama);

End.

Algoritma Cetak_Ucapan {mencetak ucapan „Selamat Belajar „ dan diikuti dengan nama} Deklarasi nama : string; Deskripsi nama‟Ahmad‟ write(„Selamat Belajar‟, nama)

Page 20: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

20

.:: Muhammad Romzi

Penjelasan Program 1. Program Cetak_Ucapan;

2. Uses wincrt;

3. Var

4. Nama : string;

5. Begin

6. Nama := ‘Ahmad’;

7. Write (‘Selamat Belajar ‘,nama);

8. End.

1. Judul algoritma menjadi judul program dan diakhiri dengan tanda titik koma (;).

2. File library untuk unit tampilan layar

3. Tulisan Deklarasi menjadi Var yang menandakan adanya pendeklara-sian variabel pada program.

4. Deklarasi diatas mendeklarasikan variabel „nama‟ dengan tipe „string‟ diikuti dengan tanda titik koma (;).

5. Blok awal program

6. Pemberian nilai pada variabel nama dengan nilai „Ahmad‟

7. Menampilkan tulisan Selamat Belajar dengan disertai pemanggilan variabel nama

8. Blok akhir program

B. Menuliskan Kode Program pada TPW 1.5

1. Menjalankan TPW 1.5

Cara menjalankan TPW 1.5 adalah sebagai berikut: 1. Klik Start Program TPW 1.5TPW 1.5

Gambar 6. Memulai TPW 1.5

2. Tampil Jendela Progam TPW 1.5

Gambar 7. Jendela Welcome

Klik tanda X

untuk menutup

jendela welcome

Page 21: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

21

.:: Muhammad Romzi

3.

Gambar 8. Menampil Editor Baru

4. Tuliskan kode Program pada jendela baru tersebut

Gambar 9. Menuliskan Kode Program

5. Jalankan dengan menekan tombol Ctrl dan F9 secara

bersamaan atau klik menu run untuk menjalankan program

Gambar 10. Menjalankan Program

Klik menu

FileNew untuk

menampilkan

jendela baru

Page 22: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

22

.:: Muhammad Romzi

2. Program Error Ada kemungkinan pada saat program dijalankan akan terdapat pesan kesalahan disebabkan kesalahan penulisan program dan sebagainya. Untuk mengatasinya, perhatikan pesan kesalahan yang ditampilan yang terdapat pada bagian bawah editor program dan juga perhatikan tanda blok hitam berada. Untuk lebih jelasnya perhatikan contoh program berikut: 1.

Gambar 11. Error Program

Keterangan: Saat program dijalankan terdapat tanda blok hitam, maka

pusatkan perhatian dibaris mana blok hitam itu berada, perhatikan apa yang kurang pada baris tersebut, apabila tidak ada yang kurang alias sudah benar, maka perhatikan baris program yang terdapat diatas blok hitam itu. Pada baris program diatas blok hitam itu ternyata memiliki error, apa errornya…?. Ternyata sesuai dengan pesan kesalahan (Error 85: ‘;” expected) errornya yaitu kurang tanda

titik koma (;) setelah ‘Ahmad’ .

2 Lakukan perbaikan dengan cara menambahkan tanda titik koma

(;) pada bagian yang dimaksud, setelah itu jalankan ulang kembali program dengan cara menekn tombol CTRL+F9 atau melalui Menu Run Berikut hasil program yang telah diperbaiki

Blok

Hitam

Error 85: ‘;”

expected

Page 23: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

23

.:: Muhammad Romzi

Gambar 12. Jendela Output Progam

3. Menyimpan Program

Untuk memudahkan pencarian program, biasakan menyimpan program pada folder yang telah ditentukan. Untuk itu sebelum menyimpan program, buatlah folder terlrbih dahulu dengan nama folder bebas asal mudah diingat. Sebagai contoh pada modul ini forlder dibuat dengan nama „LATIHAN’ yang dibuat pada drive D. Langkah Peyimpanan Program sebagai berikut: 1. Buat sesuai dengan nama dimaksud yaitu „LATIHAN‟ pada drive

D (D:\LATIHAN) 2. Klik menu FileSave

Gambar 13. Menu Simpan Program

Page 24: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

24

.:: Muhammad Romzi

3. Arahkan lokasi penyimpanan pada Drive D

Gambar 14. Jendela Simpan Program

4. Double klick pada drive D:\ , hingga posisi Path berubah seperti pada gambar 16.

Gambar 15. Klick Drive

5.

Gambar 16. Path Drive D

Drive

D:\

Double

Klick

Disini

Page 25: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

25

.:: Muhammad Romzi

6. Setelah posisi path drive menjadi D:\ , kemudian cari folder LATIHAN pada drive D:\ selanjutnya Klik ganda pada folder tersebut, sehingga posisi seperti gambar berikut:

Gambar 17. Path Drive D:\Latihan

7. Beri nama File dengan nama „latih1.pas‟ pada kotak File name

Gambar 18. Nam File

8. Klik OK untuk simpan program dan sekligus menutup jendela

penyimpanan program.

Gambar 18. Tombol OK

9 Nama File pada Title Bar

Gambar 19. Nama File Pada Title Bar

Lokasi Path

Page 26: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

26

.:: Muhammad Romzi

C. Statement Input/Otput

1. Write/Writeln Write : Menampilkan data dalam satu baris Writeln : Menampilkan data disertai dengan penambahan

baris baru Contoh:

Statemen Hasil

Write(„Selamat „); Write(„Belajar‟)

Selamat Belajar

Writeln(„Selamat „); Writeln(„Belajar‟)

Selamat Belajar

Read/Readln Statemen untuk membaca data yang diinputkan Write(„Masukkan Nama : „);readln(nm); Keterangan: membaca nilai yang disimpan dalam variabel nm

D. Struktur Perulangan

1. For..To..Do For to do, merupakan bentuk perulangan positip. Bentuk umum perulangan For adalah FOR [varibel perulangan] := [nilai awal] TO [nilai akhir] DO contoh: Program 1 1. program perulangan;

2. uses wincrt;

3. Var

4. a : integer;

5. Begin

6. For a:= 1 to 5 do

7. writeln('AKMI’);

8. End.

Page 27: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

27

.:: Muhammad Romzi

Output Program 1

AKMI AKMI AKMI AKMI AKMI

Keterangan : Program diatas menghasilkan tulisan „AKMI‟ sebanyak 5 kali Program 2 1. program perulangan;

2. uses wincrt;

3. Var

4. a : integer;

5. Begin

6. For a:= 1 to 5 do

7. writeln('a’);

8. End.

Output Program 2

a a a a a

Keterangan : Program diatas menghasilkan huruf „a‟ sebanyak 5 kali Program 3 1. program perulangan;

2. uses wincrt;

3. Var

4. a : integer;

5. Begin

6. For a:= 1 to 5 do

7. writeln('a’);

8. End.

Output Program 3

1 2 3 4 5

Page 28: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

28

.:: Muhammad Romzi

Keterangan : Program diatas menghasilkan deret angka dari 1 s.d 5 Pertanyaan: Apa perbedaan antara program 2 dengan program 3 diatas? Apa pendapat anda tentang kedua program diatas?

2. For..DownTo..Do For Downto do, merupakan bentuk perulangan negatip. Bentuk umum perulangan For..DownTo..Do adalah

FOR [varibel perulangan] := [nilai akhir] DOWNTO [nilai awal] DO

contoh: Program A 1. program perulangan;

2. uses wincrt;

3. Var

4. a : integer;

5. Begin

6. For a:= 5 Downto 1 do

7. writeln('AKMI’);

8. End.

Output Program A

AKMI AKMI AKMI AKMI AKMI

Keterangan : Program diatas menghasilkan tulisan „AKMI‟ sebanyak 5 kali Program B 1. program perulangan;

2. uses wincrt;

3. Var

4. a : integer;

5. Begin

6. For a:= 5 downto 1 do

7. writeln('a’);

8. End.

Page 29: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

29

.:: Muhammad Romzi

Output Program B

a a a a a

Keterangan : Program diatas menghasilkan huruf „a‟ sebanyak 5 kali Program C 1. program perulangan;

2. uses wincrt;

3. Var

4. a : integer;

5. Begin

6. For a:= 5 downto 1 do

7. writeln(a);

8. End.

Output Program C

5 4 3 2 1

Keterangan : Program diatas menghasilkan deret angka dari dari besar ke kecil (descending) atau perulangan negatif Pertanyaan: Apa perbedaan antara program B dengan program C diatas? Apa perbedaan antara program 3 dengan program C diatas? Jelaskan perbedaan antara program A dengan program 1! Jelaskan perbedaan antara program B dengan program 2! Jelaskan perbedaan antara program C dengan program 3!

3. While..Do While Do merupakan perulangan positip. Dengan menggunakan statemen ini perulangan dilakukan selagi kondisinya terpenuhi atau kondisi Benar (True). Contoh Program, Apabila kondisinya terpenuhi:

Page 30: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

30

.:: Muhammad Romzi

Program 4 1. program perulangan;

2. uses wincrt;

3. Var

4. a : integer;

5. Begin

6. a :=1;

7. while a < 5 do

8. Begin

9. writeln(a);

10. a := a + 1;

11. End;

12. End.

Output Program 4

1 2 3 4

Keterangan: Program diatas menghasilkan deret angka 1 s.d 4 Pemberian nilai awal Contoh Program, Apabila kondisinya tidak terpenuhi: Program 5 1. program perulangan;

2. uses wincrt;

3. Var

4. a : integer;

5. Begin

6. a :=5;

7. while a < 5 do

8. Begin

9. writeln(a);

10. a := a + 1;

11. End;

12. End.

Program 5 tidak dapat menampilkan output.

4. Repeat..Until Repeat..Until merupakan perulangan positip. Perulangan akan dilakukan hingga kondisi tidak terpenuhi. Contoh Program, Apabila kondisinya tidak terpenuhi:

Page 31: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

31

.:: Muhammad Romzi

Program 5 1. Program perulangan;

2. uses wincrt;

3. Var

4. a : integer;

5. Begin

6. a :=1;

7. Repeat

8. Begin

9. writeln(a);

10. a := a + 1;

11. End;

12. until a > 5

13. End.

Output Program 5

1 2 3 4 5

Contoh Program, Apabila kondisinya terpenuhi: Program 6 1. Program perulangan;

2. uses wincrt;

3. Var

4. a : integer;

5. Begin

6. a :=10;

7. Repeat

8. Begin

9. writeln(a);

10. a := a + 1;

11. End;

12. until a > 5

13. End.

Output Program 6

10

Page 32: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

32

.:: Muhammad Romzi

Program 7 1. Program perulangan;

2. uses wincrt;

3. Var

4. a : integer;

5. Begin

6. a :=1;

7. Repeat

8. Begin

9. writeln(a);

10. a := a + 1;

11. End;

12. until a < 5

13. End.

Output Program 7

1

Keterangan: Perulangan Repeat..Until akan melakukan perulangan minimal satu kali, berbeda dengan perulangan menggunakan while..do,. Perulangan while..do tidak akan melakukan perulangan apabila kondisinya tidak terpenuhi.

E. Struktur Percabangan

Percabangan adalah bentuk penyeleksian aksi yang dilaksanakan berdasarkan kondisi yang ditentukan. Biasanya aksi yang diberikan terdiri lebih dari satu aksi. Pada sebagian program yang komplek, kadangkala terdapat percabangan didalam percabangan (percabangan tersarang). Jenis percabangan yang umum digunakan antara lain:

1. IF..Then..Else Percabangan yang menyeleksi suatu kondisi yang saling berkaitan. Bentuk umum percabangan dengan statemen ini adalah: a. Satu Kondisi Dua Aksi

IF <KONDISI> THEN

<AKSI1>

ELSE

<AKSI2>

Page 33: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

33

.:: Muhammad Romzi

b. Lebih dari satu kondisi

IF <KONDISI1> THEN

<AKSI1>

ELSE

IF <KONDISI2> THEN

<AKSI2>

ELSE

IF <KONDISI3> THEN

<AKSI3>

ELSE

<AKSI4>

IF suatu bilangan habis dibagi dua Then Bilangan itu bilangan genap Else Bilangan itu bilangan ganjil

Contoh Program: Menentukan apakah genap atau ganjil, berdasarkan bilangan yang dimasukkan. Program 8 1. Program percabangan;

2. uses wincrt;

3. Var

4. bil : integer;

5. Begin

6. Write(‘Masukkan Bilangan : ‘);

7. Readln(bil);

8. If bil mod 2 = 0 then

9. Writeln(‘Bilangan Genap’)

10. Else

11. Writeln(‘Bilangan Ganjil’);

12. End.

2. Case..OF Percabangan yang menyeleksi suatu kondisi yang saling berlepasan. Bentuk umum percabangan dengan statemen ini adalah:

Page 34: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

34

.:: Muhammad Romzi

Case <expression> Of

Case : statement;

Case : statement;

End

Atau Case <expression> Of

Case : statement;

Case : statement;

Else

statement

End

Contoh Program: Menentukan predikat nilai berdasarkan masukan nilai huruf berikut:

Nilai Huruf Prdikat

A Istimewa

B Baik

C Cukup

D Buruk

E Buruk Sekali

Program 8 1. program percabangan;

2. uses wincrt;

3. var

4. nh : char;

5. pre : string;

6. Begin

7. write('Nilai Huruf :');

8. readln(nh);

9. case nh of

10. 'A' : pre := 'Istimewa';

11. 'B' : pre := 'Baik';

12. 'C' : pre := 'Cukup';

13. 'D' : pre := 'Buruk';

14. 'E' : pre := 'Buruk sekali';

15. end;

16. writeln('Predikat Nilai : ',pre);

17. end.

Page 35: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

35

.:: Muhammad Romzi

F. ARRAY Array adalah tipe data terstruktur yang dapat menyimpan lebih dari satu nilai yang sejenis. Tipe data pada array dapat berupa integer, real, char dan string. Berikut, contoh pendeklarasian array

1. program percabangan;

2. uses wincrt;

3. var

4. Nmhari : array[1..7] of string;

5. a : integer;

6.

7. Begin

8. for a:= 1 to 7 do

9. begin

10. write('Nama Hari Ke-',a,' :');

11. readln(nmhari[a]);

12. end;

13.

14. CLRSCR;

15. writeln('================');

16. writeln('NAMA-NAMA HARI');

17. writeln('================');

18.

19. for a:= 1 to 7 do

20. writeln(a,' ',nmhari[a]);

21. end.

G. Prosedur

Prosedur adalah program terpisah atau subprogram yang dibuat dengan tujuan untuk menyederhanakan program. Prosedur ditulis dalam satu blok program yang cukup ditulis satu kali tetapi dapat dipanggil berulang kali. Berikut contoh penggunaan prosedur dalam program.

1. program prosedur1;

2. uses wincrt;

3.

4. procedure judul;

5. begin

6. writeln('----------------------');

7. writeln(' PERKALIAN BILANGAN ');

8. writeln('======================');

9. end;

10. var

11. a, b : integer;

12. begin

13. write('Masukkan Bilangan Pertama : ');

Page 36: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

36

.:: Muhammad Romzi

14. readln(a);

15. write('Masukkan Bilangan Kedua : ');

16. readln(b);

17. judul;

18. writeln('Billangan Pertama : ',a);

19. writeln('Billangan Kedua : ',b);

20. writeln('Hasil Perkalian : ',a*b);

21. end.

H. Fungsi Fungsi hampir sama dengan prosedur, perbedaannya fungsi harus dideklarasikan dengan tipenya. Tipe deklarasi menunjukkan tipe hasil dari fungsi. Cara penulisan function adalah: FUNCTION identifier(parameter) : type Contoh: function perkalian (var a,b :integer):integer;

Berikut contoh penggunaan fungsi dan prosedur dalam program. 1. program prosedur1;

2. uses wincrt;

3.

4. procedure judul;

5. begin

6. writeln('----------------------');

7. writeln(' LUAS PERSEGI PANJANG ');

8. writeln('======================');

9. end;

10.

11. function perkalian (var a,b : integer): integer;

12. begin

13. perkalian := a * b;

14. end;

15.

16. var

17. pj, lb : integer;

18. begin

19. write('Masukkan Nilai Panjang : ');

20. readln(pj);

21. write('Masukkan Nilai Lebar : ');

22. readln(lb);

23. judul;

24. writeln('Nilai Panjang : ',pj);

25. writeln('Nilai Lebar : ',lb);

26. writeln('Luas Persegi Panjang : ',perkalian(pj,lb));

27. end.

Page 37: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

37

.:: Muhammad Romzi

DAFTAR PUSTAKA Jogiyanto H.M. 1997. Turbo Pascal. Andi Offset Yogyakarta Rinaldi Munir. 2001. Algoritma dan Pemrograman Dalam Bahasa

Pascal dan C, Buku 1. Informatika Bandung

Page 38: Logika dan Algoritma - estherlm.files.wordpress.com · Logika dan Algoritma merupakan matakuliah yang mengajarkan tentang ... sebagai dasar bagi mahasiswa bagaimana cara membuat program

38

.:: Muhammad Romzi

PENULIS

Muhammad Romzi, mengajar di AMIK AKMI Baturaja sejak tahun 2002 dengan riwayat sebagai berikut: Amanah Jabatan:

1. Ka. LPPM AKMI Baturaja, tahun 2004 2. Ka. Perpustakaan AKMI Baturaja, tahun 2005 3. Ka. BAAK AKMI Baturaja, tahun 2007 4. Ka. Prodi MI, tahun 2008 5. Ka. BPM, tahun 2012