Modul Logika Algoritma (Pascal)

40

Click here to load reader

description

coba3

Transcript of Modul Logika Algoritma (Pascal)

Page 1: Modul Logika Algoritma (Pascal)

BAB I

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:

MODUL LOGIKA DAN ALGORITMA Page 1

Page 2: Modul Logika Algoritma (Pascal)

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

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

MODUL LOGIKA DAN ALGORITMA Page 2

Page 3: Modul Logika Algoritma (Pascal)

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.

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:

MODUL LOGIKA DAN ALGORITMA Page 3

Page 4: Modul Logika Algoritma (Pascal)

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.

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:

MODUL LOGIKA DAN ALGORITMA Page 4

Page 5: Modul Logika Algoritma (Pascal)

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 )

Kesimpulannya:

Suatu Algoritma yang terbaik(The Best) : “Suatu algoritma harus menghasilkan output yan tepat guna(efektif) dalam waktu yang relatif singkat & penggunaan memori yang relatif sedikit(efisien) dengan langkah yang berhingga & prosedurnya berakhir baik dalam keadan diperoleh suatu solusi ataupun tidak ada solusinya”

Contoh-2 Algoritma:

MODUL LOGIKA DAN ALGORITMA Page 5

Page 6: Modul Logika Algoritma (Pascal)

A. Algoritma untuk mengirimkan surata. Tulis surat pada secarik kertas suratb. Ambil sampul surat atau amplopc. Masukkan surat ke dalam amplopd. Tutup amplop surat dengan lem perekate. Tulis alamat surat yang dituju, jika tidak diingat, lebih dahulu ambil buku

alamat & cari alamat yang dituju, lalu tulis alamat tersebut pada amplop surat

f. Tempelkan perangko pada amplop suratg. Bawa surat ke kantor pos untuk diserahkan pada pegawai pos atau

menuju ke bis surat untuk memasukkan surat ke dalam kotak/bis surat.B. Algoritma untuk menentukan bilangan akar kuadrat dari suatu bilangan bulat

positif yang diinput.a. Baca bilangan bulat positif yang diinput, sebut saja sebagai A.b. Dinyatakan Nilai B adalah 0c. Jika Nilai C sama dengan Nilai A, maka Nilai B adalah Akar dari Nilai A, lalu

stopd. Jika tidak, maka nilai B akan bertambah 1e. Kembali ke langkah pada No.3

Contoh-2 menyatakan suatu algoritma

Menentukan model suatu algoritma yang digunakan sehingga dapat membuat barisan langkah secara berurutan guna mendapatkan solusi penyelesaian masalah. Menentukan model tersebut agar dapat digunakan dengan cara:

a. Dengan Bahasa semu(Pseudocode): yaitu dengan menggunakan bahasa sehari-hari, tetapi harus jelas dan terstruktur, seperti telah penulis sebutkan pada contoh-contoh sebelumnya(Contoh prosedur berikirm surat)

Contoh:

1. Untuk mengitung Luas Segitiga:

2. Masukan Nilai Alas

3. Masukan Nilai Tinggi

4. Hitung Luas = (Alas * Tinggi)/2

5. Cetak Luas

MODUL LOGIKA DAN ALGORITMA Page 6

Page 7: Modul Logika Algoritma (Pascal)

b. Dengan diagram alur atau flowchart: yaitu dengan membuat suatu penulisan atau penyajian algoritma berupa diagram yang menggambarkan susunan alur logika dari suatu permasalahan

Contoh:

c. Dengan Statement Program/Penggalan Program

Contoh:

1. Read Alas

2. Read Tinggi

3. Luas=(Alas*Tinggi)/2

4. Write(luas)

MODUL LOGIKA DAN ALGORITMA Page 7

Page 8: Modul Logika Algoritma (Pascal)

BAB II

MENGENAL PASCAL

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

MODUL LOGIKA DAN ALGORITMA Page 8

Page 9: Modul Logika Algoritma (Pascal)

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.

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.

MODUL LOGIKA DAN ALGORITMA Page 9

Page 10: Modul Logika Algoritma (Pascal)

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.

2.2.1 Bilangan Logika

MODUL LOGIKA DAN ALGORITMA Page 10

Page 11: Modul Logika Algoritma (Pascal)

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)

MODUL LOGIKA DAN ALGORITMA Page 11

Page 12: Modul Logika Algoritma (Pascal)

2.2.3 Bilangan Real (Pecahan)

Bilangan Real merupakan bilangan pecahan yang dinyatakan dalam bentuk

eksponensial. Bilangan real memiliki beberapa macam tipe, yaitu:

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

MODUL LOGIKA DAN ALGORITMA Page 12

Page 13: Modul Logika Algoritma (Pascal)

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

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.

MODUL LOGIKA DAN ALGORITMA Page 13

Page 14: Modul Logika Algoritma (Pascal)

BAB III

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)

MODUL LOGIKA DAN ALGORITMA Page 14

Page 15: Modul Logika Algoritma (Pascal)

Bentuk umum dari symbol-simbol Flow Chart antara

lain:

MODUL LOGIKA DAN ALGORITMA Page 15

Page 16: Modul Logika Algoritma (Pascal)

MODUL LOGIKA DAN ALGORITMA Page 16

Page 17: Modul Logika Algoritma (Pascal)

MODUL LOGIKA DAN ALGORITMA Page 17

Page 18: Modul Logika Algoritma (Pascal)

BAB IV

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 in

MODUL LOGIKA DAN ALGORITMA Page 18

Page 19: Modul Logika Algoritma (Pascal)

MODUL LOGIKA DAN ALGORITMA Page 19

Page 20: Modul Logika Algoritma (Pascal)

MODUL LOGIKA DAN ALGORITMA Page 20

Page 21: Modul Logika Algoritma (Pascal)

MODUL LOGIKA DAN ALGORITMA Page 21

Page 22: Modul Logika Algoritma (Pascal)

MODUL LOGIKA DAN ALGORITMA Page 22

Page 23: Modul Logika Algoritma (Pascal)

MODUL LOGIKA DAN ALGORITMA Page 23

Page 24: Modul Logika Algoritma (Pascal)

MODUL LOGIKA DAN ALGORITMA Page 24

Page 25: Modul Logika Algoritma (Pascal)

MODUL LOGIKA DAN ALGORITMA Page 25

Page 26: Modul Logika Algoritma (Pascal)

MODUL LOGIKA DAN ALGORITMA Page 26

Page 27: Modul Logika Algoritma (Pascal)

MODUL LOGIKA DAN ALGORITMA Page 27

Page 28: Modul Logika Algoritma (Pascal)

MODUL LOGIKA DAN ALGORITMA Page 28

Page 29: Modul Logika Algoritma (Pascal)

MODUL LOGIKA DAN ALGORITMA Page 29

Page 30: Modul Logika Algoritma (Pascal)

MODUL LOGIKA DAN ALGORITMA Page 30

Page 31: Modul Logika Algoritma (Pascal)

MODUL LOGIKA DAN ALGORITMA Page 31

Page 32: Modul Logika Algoritma (Pascal)

MODUL LOGIKA DAN ALGORITMA Page 32

Page 33: Modul Logika Algoritma (Pascal)

MODUL LOGIKA DAN ALGORITMA Page 33

Page 34: Modul Logika Algoritma (Pascal)

MODUL LOGIKA DAN ALGORITMA Page 34

Page 35: Modul Logika Algoritma (Pascal)

MODUL LOGIKA DAN ALGORITMA Page 35

Page 36: Modul Logika Algoritma (Pascal)

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

MODUL LOGIKA DAN ALGORITMA Page 36