MLP1~Algoritma Pemrograman

84

Transcript of MLP1~Algoritma Pemrograman

Page 1: MLP1~Algoritma Pemrograman
Page 2: MLP1~Algoritma Pemrograman

MODUL 1

PENGERTIAN DASAR LOGIKA DAN ALGORITMA

A. Tujuan Pembelajaran

Setelah mempelajari modul ini diharapkan siswa dapat :

1. Menyebutkan pengertian dasar logika dan algoritma

2. Menyebutkan kriteria pemilihan algoritma

3. Menyebutkan contoh algoritma sederhana

4. Menyebutkan sifat-sifat algoritma

5. Menyebutkan tahapan analisis suatu algoritma

6. Menganalisis suatu algoritma

B. Materi

Pengertian Dasar Logika Dan Algoritma

Logika diperkenalkan pertama kali oleh Aristoteles (384-322SM). Logika

berasal dari kata Yunani kuno, λόγος (logos) yang berarti hasil pertimbangan akal

pikiran yang diutarakan lewat kata dan dinyatakan dalam bahasa. Definisi dari

logika adalah :

1. Penalaran atau bentuk pemikiran.

2. Ilmu yang memberikan prinsip-prinsip yang harus diikuti agar dapat berfikir

valid menurut aturan yang berlaku.

Ditinjau dari asal-usul katanya, kata Algoritma sendiri mempunyai sejarah

yang aneh. Orang hanya menemukan kata algorism yang berarti proses menghitung

dengan angka arab. Para ahli bahasa berusaha menemukan asal kata ini namun

hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan

asal kata tersebut yang berasal dari nama penulis buku arab yang terkenal yaitu Abu

Ja’far Muhammad Ibnu Musa Al-Khuwarizmi.

Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis

buku yang berjudul Kitab Al Jabar Wal-Muqabala yang artinya “Buku pemugaran

1 | MLP1~Algoritma

Pemrograman

Page 3: MLP1~Algoritma Pemrograman

dan pengurangan” (The book of restoration and reduction). Dari judul buku itu kita

juga memperoleh akar kata “Aljabar” (Algebra).

Perubahan kata dari algorism menjadi algorithm muncul karena kata

algorism sering dikelirukan dengan arithmetic, sehingga akhiran –sm berubah

menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang

biasa, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode

perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya.

Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma.

Definisi Algoritma sendiri adalah “Urutan langkah-langkah logis penyelesaian

masalah yang disusun secara sistematis”. Sedangkan dalam Kamus Besar Bahasa

Indonesia (KBBI) terbitan Balai Pustaka (1988);

Algoritma adalah urutan logis pengambilan putusan untuk pemecahan

masalah

Dari dua definisi tersebut diatas maka kata kuncinya adalah “Urutan” dan “logis”,

sehingga selain logis Algoritma juga mengharuskan agar langkah langkah tersebut

berurutan secara sistematis, agar hasil akhirnya sesuai dengan yang diharapkan.

Selain itu, ada juga definisi menurut suatu kamus bahasa Webster Dictionary

bahwa Algoritma adalah suatu metode khusus yang digunakan untuk

menyelesaikan suatu masalah yang nyata. Berikut adalah tahap penyelesaian

masalah:

2 | MLP1~Algoritma

Pemrograman

Page 4: MLP1~Algoritma Pemrograman

Gambar diatas menunjukkan sebuah skema atau diagram alir suatu proses dalam

menyelesaikan suatu masalah. Dari suatu masalah yang timbul, kemungkinan

terdapat lebih dari satu algoritma yang ditawarkan untuk menyelesaikannya.

Karena itu, timbul suatu pertanyaan, algoritma mana yang akan digunakan?

Kemudian, mengapa algoritma tersebut digunakan? Untuk menjawabnya kita

gunakan pedoman kriteria pemilihan algoritma.

Kriteria Pemilihan Algoritma

Dalam memilih algoritma terbaik dari sekian algoritma yang ditawarkan, kita

harus memperhatikan beberapa kriteria pemilihan algoritma. Kriteria pemilihan

algoritma adalah sebagai berikut :

a. Ada output

Mengacu pada definisi algoritma, suatu algoritma haruslah mempunyai output

yang harus merupakan solusi dari masalah yang sedang diselesaikan.

3 | MLP1~Algoritma

Pemrograman

Page 5: MLP1~Algoritma Pemrograman

b. Efektifitas dan Efisiensi

Dikatakan efektif jika algoritma tersebut menghasilkan suatu solusi yang sesuai

dengan masalah yang diselesaikan dalam arti algoritma harus tepat guna.

Dikatakan efisiensi jika waktu proses suatu algoritma relatif lebih singkat dan

penggunaan memori komputernya lebih sedikit.

c. Jumlah langkahnya berhingga

Maksudnya adalah barisan instruksi yang dibuat harus dalam suatu urutan

tertentu atau harus berhingga agar masalah yang dihadapi dapat diselesaikan

dengan tidak memerlukan waktu relatif lama.

d. Berakhir (Semi Algoritma)

Proses didalam mencari penyelesaian suatu masalah harus berhenti dan

berakhir dengan hasil akhir yang merupakan solusinya atau berupa informasi

yang tidak diketemukan solusinya. Artinya baik dalam kondisi solusi ada atau

tidak ada, proses akan tetap harus berakhir dan berhenti. Istilah lain dalam

algoritma dikenal sebagai SEMI ALGORITMA, yaitu suatu prosedur yang hanya

akan berhenti jika mempunyai atau menghasilkan solusi, sedangkan jika tidak

menghasilkan solusi, maka prosedur tersebut akan berjalan tanpa henti.

e. Terstruktur

Yaitu urutan barisan langkah-langkah yang digunakan harus disusun sedemikian

rupa agar proses penyelesaian tidak berbelit-belit sedemikian sehingga bagian-

bagian proses dapat dibedakan dengan jelas mana bagian input, proses, dan

output sehingga memudahkan user melakukan pemeriksaan ulang.

Kesimpulannya :

Suatu Algoritma yang terbaik (The Best) adalah harus menghasilkan output yang

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.

4 | MLP1~Algoritma

Pemrograman

Page 6: MLP1~Algoritma Pemrograman

Contoh Algoritma

Untuk lebih memahami definisi algoritma yang telah diuraikan diatas, maka

akan kami berikan contoh algoritma yang berhubungan dengan masalah sehari-hari.

Sebagai contoh mudah, berikut ini kami gunakan sebuah prosedur ketika kita akan

mengirimkan sepucuk surat kepada teman kita, yaitu :

a. Tulis surat pada secarik kertas surat

b. Ambil sampul surat atau amplop

c. Masukkan surat ke dalam amplop

d. Tutup amplop surat dengan lem perekat

e. Tulis alamat surat yang dituju, jika tidak diingat, lebih dahulu ambil buku alamat

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

f. Tempelkan perangko pada amplop surat

g. Bawa surat ke kantor pos untuk diserahkan pada pegawai pos atau menuju ke

bis surat untuk memasukkan surat ke datam kotak/bis surat.

Contoh lain dari penerapan algoritma adalah ketika kita akan menyeberang jalan

raya, algoritmanya adalah sebagai berikut :

a. Berjalan ke tepi jalan raya

b. Berdiri di tepi jalan raya

c. Tengok arah kanan

d. Apakah ada kendaraan dari arah kanan?

e. Jika Ya, kembali ke langkah c. jika Tidak, lanjut ke langkah f

f. Berjalan ke tengah jalan raya

g. Berdiri diatas garis marka

h. Tengok arah kiri

i. Apakah ada kendaraan dari arah kiri?

j. Jika Ya, kembali ke langkah h. jika Tidak, lanjut ke langkah k

k. Berjalan ke seberang jalan

Contoh lain dari penerapan algoritma yang sering kita lakukan di pagi hari sebelum

ke sekolah yaitu membuat segelas susu. Algoritmanya adalah sebagai berikut :

5 | MLP1~Algoritma

Pemrograman

Page 7: MLP1~Algoritma Pemrograman

a. Ambil gelas dan sendok

b. Ambil susu

c. Tuangkan susu ke dalam gelas

d. Tuangkan air panas/hangat ke dalam gelas berisi susu

e. Aduk gelas tersebut sampai susu larut

f. Segelas susu hangat siap dihidangkan

Tahapan Analisa Algoritma

a. Bagaimana Merencakan Suatu Algoritma

Menentukan beberapa model atau desain sebagai penyelesaian dari suatu

masalah untuk mendapat sebuah solusi yang mungkin. Dengan demikian, akan

banyak terdapat variasi desain atau model yang dapat diambil yang terbaik.

b. Bagaimana 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 :

1) 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 berkirim surat).

Contoh :

a) Untuk mengitung Luas Segitiga

b) Masukan Nilai Alas

c) Masukan Nilai Tinggi

d) Hitung Luas = (Alas * Tinggi)/2

e) Cetak Luas

2) Dengan diagram alir atau flowchart; yaitu dengan membuat suatu penulisan

atau penyajian algoritma berupa diagram yang menggambarkan susunan alir

logika dari suatu permasalahan.

Contoh :

6 | MLP1~Algoritma

Pemrograman

Page 8: MLP1~Algoritma Pemrograman

3) Dengan Statement Program/Penggalan Program.

Contoh:

a. Read Alas

b. Read Tinggi

c. Luas=(Alas*Tinggi)/2

d. Write(luas)

c. Bagaimana Validitas Suatu Algoritma

Yakni jika penyelesaian memenuhi solusi yang sebenarnya, artinya solusi yang

didapat merupakan penyelesaian suatu masalah dan bukannya membuat

masalah baru.

d. Bagaimana Menganalisis Suatu Algoritma

Caranya melihat running time atau waktu tempuh yang digunakan dalam

menyelesaikan masalah serta jumlah memori yang digunakan dalam

penyelesaian masalah tersebut.

e. Bagaimana Menguji Program Dari Suatu Algoritma7

| MLP1~Algoritma Pemrograman

Page 9: MLP1~Algoritma Pemrograman

Yaitu dengan cara menyajikannya datam sarah satu bahasa pemrogramana,

misalnya BASIC, PASCAL, FORTRAN, dBase, atau yang lainnya. Dalam proses uji

program oleh komputer akan melalui beberapa tahap yaitu :

1) Fase Debugging, yaitu fase dari suatu proses program eksekusi yang akan

melakukan koreksi terhadap kesalahan program. Yang dimaksud disini

adalah error atau salah dalam penulisan program baik logika maupun

sintaknya.

2) Fase Profilling, yaitu fase yang akan bekerja jika program tersebut sudah

benar atau telah melalui proses pada fase debugging. Fase ini bekerja untuk

melihat dan mengukur waktu tempuh atau running time yang diperlukan

serta jumlah memori/storage yang digunakan dalam menyelesaikan suatu

algoritma.

Analisis Suatu Algoritma

Untuk melihat faktor efisiensi & efektifitas dari algoritma tersebut), dapat

dilakukan terhadap suatu algoritma dengan melihat pada:

a. Waktu tempuh (Running Time) dari suatu algoritma

Waktu tempuh (Running Time) adalah satuan waktu yang ditempuh atau

diperlukan oleh suatu algoritma dalam menyelesaikan suatu masalah.

Hal-hal yang dapat mempengaruhi daripada waktu tempuh adarah:

1) Banyaknya langkah

Makin banyak langkah atau instruksi yang digunakan dalam menyelesaikan

masalah, maka makin lama waktu tempuh yang dibutuhkan dalam proses

tersebut.

2) Besar dan jenis input data

Besar dan jenis input data pada suatu algoritma akan sangat berpengaruh

pada proses perhitugan yang terjadi. Jika jenis data adalah tingkat ketelitian

tunggal (Single precision), maka waktu tempuh akan menjadi relatif lebih

cepat dibandingkan dengan tingkat ketelitian ganda (double precesion)

8 | MLP1~Algoritma

Pemrograman

Page 10: MLP1~Algoritma Pemrograman

3) Jenis operasi

Waktu tempuh juga dipengaruhi oleh jenis operasi yang digunakan. Jenis

operasi tersebut meliputi operasi matematika, nalar atau logika, atau yang

lainnya. sebagai contoh, operasi perkalian atau pembagian akan memakan

waktu lebih larna dibandingkan operasi penjumlahan atau pengurangan.

4) Komputer dan kompilator

Hal terakhir yang mempengaruhi waktu tempuh suatu proses algoritma

adalah komputer dan kompilatornya, walaupun sebenarnya faktor ini diluar

tahap rancangan atau tahap pembuatan algoritma yang efisien. Algoritma

dibuat untuk mencapai waktu tempuh yang seefektif dan seefisien mungkin,

tetapi kesemuanya itu akan sangat bergantung pada kemampuan komputer

yang tentunya harus sesuai dengan jumlah program atau langkah yang

diperlukan oleh algoritma, begitu juga dengan kompilator tersebut, misalnya

PC XT 8086 akan kalah cepat dibandingkan 8088 atau dengan AT 80286 atau

80386 atau 80486 dan seterusnya.

b. Jumlah Memori Yang Digunakan

Banyaknya langkah yang digunakan dan jenis variabel data yang dipakai dalam

suatu algoritma akan sangat mempengaruhi penggunaan memori. Dalam hal ini,

diharapkan dapat memperkirakan seberapa banyak kebutuhan memori yang

diperlukan selama proses berlangsung hingga proses selesai dikerjakan. Dengan

demikian, dapat disiapkan storage yang memadai agar proses suatu algoritma

berjalan tanpa ada hambatan atau kekurangan memori.

Sifat-Sifat Algoritma

a. Banyaknya langkah instruksi harus berhingga

Pelaksanaan sebuah algoritma yang terprogram haruslah dapat diakhiri atau

diselesaikan melalui sejumlah langkah operasional yang berhingga. Jika tidak

demikian, kita tidak akan dapat mengharapkan bahwa pelaksanaan algoritma

tersebut dapat menghasilkan suatu solusi yang baik.

9 | MLP1~Algoritma

Pemrograman

Page 11: MLP1~Algoritma Pemrograman

b. Langkah atau instruksi harus jelas

Artinya bahwa penulisan setiap langkah yang terdapat didalam sebuah

algoritma harus memiliki arti yang khusus atau spesifik sehingga dapat

dibedakan antara penulisan langkah untuk komputer (program/pemrograman)

dengan penulisan langkah bagi manusia (pseudocode). Manusia akan lebih

mudah memahami algoritma yang terdiri atas simbol-simbol (Contoh:

pembuatan algoritma dengan diagram alir/flowchart) sedangkan komputer

hanya membutuhkan sebuah penulisan algoritma dengan kode-kode yang

dituangkan dalam bahasa yang dimengerti oleh komputer itu sendiri (bahasa

pemrograman).

c. Proses harus jelas dan mempunyai batasan

Rangkaian suatu proses yang berisi langkah-langkah instruksi dari suatu

algoritma yang akan dilaksanakan harus ditetapkan dengan jelas, baik dan pasti

sebab sebuah algoritma harus memiliki instruksi dasar tertentu dimana setiap

instruksi harus memiliki unsur pelaksana yang berfungsi sebagai pemroses data

yang akan dimasukkan dalam sebuah komputer. Dengan demikian, sebuah

algoritma harus ditulis dengan jelas tentang batasa-batasan proses yang akan

dilaksanakan oleh komputer.

d. Input dan Output harus mempunyai batasan

Input merupakan data yang dimasukkan ke dalam algoritma yang untuk

kemudian akan dilaksanakan oleh komputer. Dengan begitu, input yang

diberikan harus sesuai dengan jenis dari bahasa pemrograman yang digunakan,

sedangkan output merupakan hasil yang diperoleh dari pekerjaan yang

dilaksanakan komputer untuk kepentingan user yang merupakan pihak diluar

komputer. Algoritma harus menghasilkan output karena merupakan solusi yang

diharapkan dari suatu masalah yang timbul.

e. Efektifitas

10 | MLP1~Algoritma

Pemrograman

Page 12: MLP1~Algoritma Pemrograman

Instruksi yang diberikan pada komputer agar hanya menjalankan atau

melaksanakan proses yang mampu dilaksanakannya. Yang dimaksud mampu

adalah bahwa suatu algoritma atau instruksi-instruksi dalam sebuah program

hanya akan dapat dilaksanakan jika informasi yang diberikan oleh instruksi-

instruksi tersebut lengkap, benar dan jelas.

f. Adanya batasan ruang lingkup

Sebuah algoritma yang baik adalah hanya ditujukan bagi suatu masalah tertentu

saja. Susunan input harus ditentukan lebih dulu sebab susunan tersebut

menentukan sifat umum dari algoritma yang bersangkutan.

Konsep Algoritma dengan Peubah

a. Algoritma Variabel Peubah

Adalah variabel yang nilainya BUKAN konstanta (selalu berubah – sesuai dengan

kondisi Variabel terKINI)

Sintaks : P=Q

Algoritma : P Q

Arti : Bahwa Nilai P diberi harga Nilai Q

Nilai P akan SAMA DENGAN nitai Q dan Nilai Q TETAP

Contoh Soal 1 :

Diketahui Algoritma P=10, P=P+1 dan Q=P. Berapakah nilai P dan Q?

Jawab :

Algoritma :

P = 10 Pada saat ini nilai dari Variabel P akan diberi nilai 10

P = P+1 Pada saat ini nilai dari Variabel P yang baru adalah nilai dari variable

P yang lama ditambah 1 (10+1 = 11)

Q = P Pada saat ini nilai dari variaber Q diberi nilai dari variabel P yang baru

(Q = l l)

Contoh Soal 2 :

Diketahui 3 varibael peubah P, Q dan R. Agar isi Q ditaruh di P, isi R ditaruh di Q

dan isi P ditaruh di R, maka Algoritma yang dapat ditulis adalah …?

11 | MLP1~Algoritma

Pemrograman

Page 13: MLP1~Algoritma Pemrograman

Jawab :

Agar isi Q ditaruh di P, algoritma yang dapat ditulis adalah (P Q atau P=Q)

Agar isi R ditaruh di Q, algoritma yang dapat ditulis adalah (Q R atau Q=R)

Agar isi P ditaruh di R, algoritma yang dapat ditulis adalah (R P atau R=P)

b. Algoritma Variabel Pertukaran

Berfungsi mempertukarkan masing-masing isi Variabel sedemikian sehingga

Nilai dari tiap Variabel akan berubah/bertukar.

Contoh Soal :

Diketahui 2 peubah K = 10 dan L = 20. Buat Algoritma untuk mempertukarkan

isi K dan L …!

Jawab :

Untuk menyelesaikan algoritma pertukaran, dibutuhkan satu buah peubah

(variabel) tambahan untuk menyimpan nilai dari salah satu peubah. Algoritma

pertukaran untuk masalah diatas adalah (dimisalkan variable tambahan adalah

T).

T = K Pada algoritma ini nilai dari Variabel T (variabel tambahan) akan diisi

dengan nilai dari variabel K (T = 10)

K = L Pada algoritma ini nilai dari Variabel K akan diisi dengan variable L (K =

20)

L = T Pada algoritma ini nilai dari Variabel L akan diisi dengan variabel T (L =

10)

Setelah algoritma ini dijalankan dapat dilihat bahwa algoritma diatas telah

mempertukarkan nilai dari variabel-variabel tersebut. Sebelumnya variable K =

10 dan L = 20, menjadi variabel K = 20 dan L = 10

C. Evaluasi

1. Sebutkan definisi logika!

2. Sebutkan definisi algoritma!

3. Siapakah tokoh yang pertama kali memperkenalkan algoritma?

4. Sebutkan kriteria dalam pemilihan algoritma!

12 | MLP1~Algoritma

Pemrograman

Page 14: MLP1~Algoritma Pemrograman

5. Apakah maksud dari salah satu kriteria pemilihan algoritma yaitu terstruktur?

6. Bagaimanakah algoritma dalam memasang sebuah prosesor ke dalam

motherboard?

7. Sebutkan 3 model dalam menyatakan algoritma!

8. Sebutkan maksud dari fase debugging dalam program!

9. Sebutkan apa sajakah yang mempengaruhi running time dari suatu algoritma!

10. Sebutkan sifat-sifat dari algoritma!

MODUL 2

KONSEP TIPE DATA

13 | MLP1~Algoritma

Pemrograman

Page 15: MLP1~Algoritma Pemrograman

A. Tujuan Pembelajaran

Setelah mempelajari modul ini diharapkan siswa dapat :

1. Mengenal salah satu bahasa pemrograman tingkat tinggi, yaitu PASCAL

2. Memahami struktur program

3. Menyebutkan macam-macam tipe data

4. Mengetahui penerapan masing-masing tipe data dalam program sederhana

B. Materi

Algoritma berisi urutan langkah-langkah penyelesaian masalah. Ini berarti

algoritma adalah proses yang prosedural. Pada program prosedural, program

dibedakan antara bagian data dengan bagian instruksi. Bagian instruksi terdiri dari

atas runtunan (sequence) instruksi yang dilaksanakan satu per satu secara

berurutan oleh sebuah pemroses. Alur pelaksanaan instruksi dapat berubah karena

adanya pencabangan kondisional. Data yang disimpan di dalam memori

dimanipulasi oleh instruksi secara beruntun. Kita katakana bahwa tahapan

pelaksanaan program mengikuti pola beruntun atau prosedural. Paradigma

pemrograman seperti ini dinamakan pemrograman prosedural.

Bahasa-bahasa tingkat tinggi seperti Cobol, Basic, Pascal, Fortran, dan C/C++

mendukung kegiatan pemrograman prosedural, karena itu mereka dinamakan juga

bahasa prosedural. Selain paradigma pemrograman prosedural, ada lagi paradigma

yang lain yaitu pemrograman berorientasi objek (Object Oriented Programming atau

OOP). Paradigma pemrograman ini merupakan trend baru dan sangat popular

akhir-akhir ini. Pada paradigma OOP, data dan instruksi dibungkus (encapsulation)

menjadi satu. Kesatuan ini disebut kelas (class) dan instansiasi kelas pada saat run-

time disebut objek (object). Data di dalam objek hanya dapat diakses oleh instruksi

yang ada di dalam objek itu saja.

Paradigma pemrograman yang lain adalah pemrograman fungsional,

pemrograman deklaratif, dan pemrograman konkuren. Modul ini hanya menyajikan

14 | MLP1~Algoritma

Pemrograman

Page 16: MLP1~Algoritma Pemrograman

paradigma pemrograman prosedural saja. Paradigma pemrograman yang lain di

luar cakupan modul ini.

Pengenalan Bahasa Pemrograman PASCAL

Pascal merupakan salah satu bahasa pemrograman tingkat tinggi yang

orientasinya pada segala tujuan. Pascal dirancang sekitar tahun 1970 oleh Prof.

Niklaus Wirth dari Technical University di Zurich, Switzerland. Nama pascal diambil

sebagai penghargaan terhadap Blaise Pascal, ahli matematik dan philosophi

terkenal abad 17 dari Perancis yang menemukan mesin hitung pertama kali.

Bahasa Pascal dirancang untuk menyelesaikan masalah dari berbagai

kalangan pemakai, mulai dari para mahasiswa, pendidik, dan ilmuwan. Salah satu

kompiler Pascal yang terkenal dan tercepat adalah Turbo PASCAL yang dibuat oleh

perusahaan Borland (http://www.borland.com ).

Struktur Program

Struktur dari suatu program Pascal terdiri dari sebuah judul program dan

suatu blok program atau badan program. Blok program dibagi lagi menjadi dua

bagian, yaitu : bagian deklarasi dan bagian pernyataan. Secara ringkas, struktur

suatu program pascal dapat terdiri dari :

1. Judul program

2. Blok program

a. Bagian deklarasi

deklarasi unit

deklarasi label

deklarasi konstanta

deklarasi tipe

deklarasi variabel

deklarasi prosedur

deklarasi fungsi

b. Bagian pernyataan

15 | MLP1~Algoritma

Pemrograman

Page 17: MLP1~Algoritma Pemrograman

Judul Program PROGRAM nama_program;

Blok Program

Bagian Deklarasi

deklarasi unit USES nama_unit;

deklarasi label LABEL nama_label;

deklarasi konstanta CONST nama_konstanta;

deklarasi tipe TYPE nama_tipe;

deklarasi variabel VAR nama_variabel;

deklarasi prosedur PROCEDURE nama_prosedur;

……………………………………………………………;

deklarasi fungsi FUNCTION nama_fungsi;

……………………………………………………;

Bagian Pernyataan

Begin

(statement)

…………………………;

…………………………;

End.

Contoh : Program menghitung luas persegi panjang dengan panjang P dan lebar L

PROGRAM Luas_Persegi_Panjang; {Judul program}

USES Crt; {Deklarasi unit}

VAR P,L,Luas: real; {Deklarasi variabel}

BEGIN

Read(P,L); {Statemant}

Luas := P*L; {Statement}

Write(P,L,Luas); {Statement}

END.

1. Judul Program

16 | MLP1~Algoritma

Pemrograman

Page 18: MLP1~Algoritma Pemrograman

Judul program sifatnya adalah optional, dan bila ditulis, harus terletak

pada awal dari program dan diakhiri dengan titik koma. Judul program didalam

pascal umumnya berisi nama dari program yang bersangkutan. Judul program

diawali dengan kata “PROGRAM” yang diikuti dengan nama program. Sebagai

contoh sebuah program untuk menghitung luas persegi panjang, kepala program

dapat ditulis sebagai berikut:

PROGRAM Luas_Persegi_Panjang;

Judul program tidak terikat dengan apa harus ditulis tetapi ada beberapa

hal yang harus diperhatikan dalam menuliskan Judul program. Ketentuan-

ketentuan dalam menuliskan Judul program adalah sebagai berikut :

Judul program adalah satu kesatuan sehingga Judul program tidak boleh

lebih dari dua kata yang dipisahkan dengan spasi. Apabila Judul program

lebih dari dua kata maka sebaiknya digabungkan dengan menghilangkan

spasi atau menggantinya dengan tanda underscore ( _ ).

Judul program tidak dapat diawali dengan angka.

Judul program tidak boleh mengandung karakter bukan huruf kecuali

underscore ( _ ).

2. Bagian Deklarasi

Seperti yang telah digambakan pada bagian struktur program pascal,

bagian deklarasi terdiri atas deklarasi unit, deklarasi konstanta dan lain

sebagainya.

a. Deklarasi Unit

Perintah-perintah didalam pascal sebagian besar tersimpan dalam

sebuah file unit. Sebagai contoh ketika didalam program utama terdapat

perintah untuk membersihkan layar dengan statemen clrscr; maka definisi

dari clrscr ini terdapat dalam sebuah file unit yang disebut crt. Pascal tidak

akan memahami perintah tersebut apabila dibagian deklarasi unit tidak

disebutkan file unit yang direferensi yaitu unit crt.

17 | MLP1~Algoritma

Pemrograman

Page 19: MLP1~Algoritma Pemrograman

Berdasarkan ilustrasi diatas, deklarasi unit digunakan untuk

menuliskan unit-unit file yang berisi definisi dari perintah-perintah yang

dipakai didalam program utama. Deklarasi unit dilakukan dengan

menuliskan statemen “USES” yang diikuti dengan nama unit yang disertakan.

Contoh deklarasi unit adalah sebagai berikut :

Uses Crt;

Deklarasi unit yang terdiri dari dua file unit atau lebih, penulisannya

dilakukan setelah klausa USES diikuti dengan nama-nama file unit yang

dipisahkan denga tanda koma (,) kemudian diakhiri dengan tanda titik koma

(;). Contoh penulisan unit yang lebih dari satu file adalah sebagai berikut:

Uses Wincrt,WinDos;

Daftar file unit yang dapat digunakan untuk menuliskan program

terdapat pada tabel berikut ini.

Tabel 1. Daftar file uni didalam pascal

Nama Unit KeteranganCrt Berisi rutin yang berkaitan dengan layar, keyboard,

dan suara. Unit ini ada pada pascal untuk dos.Wincrt Hampir sama dengan unit crt tetapi digunakan

untuk pascal for windows.Dos Unit yang berisi rutin yang digunakan untuk operasi

terhadap system operasi dan penanganan dos.WinDos Hampir sama dengan unit dos tetapi digunakan

dalam pascal for windows.Printer Berisi fasilitas untuk melakukan operasi yang

berkaitan dengan pencetakan data melalui printer.Graph Berisi rutin yang digunakan untuk melakukan

operasi berkaitan dengan grafis.System Berisi sejumlah pustaka yang digunakan saat

eksekusi (runtime library). Rutime berisi hal-hal berikut:- penanganan input / output file- penanganan string- alokasi dinamis

18 | MLP1~Algoritma

Pemrograman

Page 20: MLP1~Algoritma Pemrograman

Selain unit yang telah disebutkan diatas, masih terdapat beberapa unit yang

lain.

b. Deklarasi Konstanta

Konstanta adalah sebuah nilai tetapan yang tidak berubah. Salah satu

contoh yang dapat dijadikan sebagai sebuah konstanta adalah nilai phi untuk

menghitung luas lingkaran. Konstanta yang akan digunakan didalam sebuah

program harus terlebih dahulu didefinisikan pada bagian deklarasi

konstanta. Cara mendeklarasikan sebuah konstanta, digunakan sebuah

klausa “CONST” dan diikuti dengan nama konstanta beserta dengan nilai

tetapannya. Contoh sebuah deklarasi konstanta adalah sebagai berikut:

Const phi=3.14;

Nama konstanta diberikan oleh pemrogram. Untuk mendeklarasikan

konstanta yang lebih dari satu maka dapat dituliskan dengan menambahkan

konstanta berikutnya setelah sebuah konstanta dideklarasikan dan diakhiri

dengan tanda titik koma (;).

Const phi=3.14;Huruf:char=’A’;

Pada contoh diatas terdapat dua jenis konstanta. Konstanta yang

pertama adalah konstanta yang nilai tetapannya tidak dapat diubah didalam

program. Pada konstanta yang kedua, nilai tetapan awal adalah huruf ‘A’,

nilai ini dapat diubah pada program utama.

c. Deklarasi Tipe

Terdapat dua kelompok tipe data yang dibedakan secara mendasar

yaitu tipe data yang sudah ada di mengerti oleh bahasa pemograman pascal

dan tipe data bentukan. Tipe data bentukan adalah tipe data yang

didefinisikan oleh seorang pemrogram.

Untuk mendeklarasikan sebuah tipe data, digunakan klausa “TYPE”

kemudian diikuti dengan nama tipe data bentukan serta tipe data asli.

Contoh deklarasi sebuah tipe data adalah sebagai berikut:

19 | MLP1~Algoritma

Pemrograman

Page 21: MLP1~Algoritma Pemrograman

Type status : Boolean;

Dalam contoh diatas, tipe data bentukan dengan nama status bertipe

boolean. Tipe status tersebut dapat digunakan oleh variabel yang akan di

deklarasikan pada bagian deklarasi variable

d. Deklarasi Variabel

Variabel adalah sebuah perubah yang dapat digunakan untuk

menyimpan data. Variabel juga dapat diperlakukan sebagaimana data atau

nilai yaitu dengan operasi-operasi aritmatika maupun operasi logika. Setiap

variabel yang akan digunakan untuk menyimpan data, akan ditentukan

tipenya. Sebuah veriabel yang bertipe data numeric tidak akan dapat

digunakan untuk menyimpan data huruf. Beberapa tipe data yang sangat

umum digunakan adalah integer, real, char, dan string.

Deklarasi sebuah variabel dilakukan dengan menuliskan klausa “VAR”

kemudian diikuti dengan tipe data yang digunakan. Sebagai contoh sebuah

variabel dengan nama jumlah dengan tipe bilangan bulat maka dapat

dituliskan sebagai berikut:

Var jumlah:integer;

Tipe data pada variabel juga dapat menggunakan tipe data bentukan yang

deklarasikan oleh pemrogram pada bagian deklarasi tipe data. Contoh:

Type status:Boolean;Var jumlah:integer;

Chek:status;

e. Deklarasi Prosedur

Prosedur adalah subprogram yang menerima masukan tetapi tidak

mempunyai keluaran secara langsung atau tidak mengembalikan suatu nilai

ke program utama. Prosedur merupakan bagian dari program utama yang

memiliki fungsi untuk menyelesaikan tugas tertentu yang menjadi bagian

dari program utama.

20 | MLP1~Algoritma

Pemrograman

Page 22: MLP1~Algoritma Pemrograman

Untuk mendeklarasikan prosedur dapat digunakan klausa

“PROCEDURE” kemudian diikuti dengan nama prosedur. Setelah

mendeklarasikan nama prosedur, berikutnya akan diikuti oleh bagian

prosedur yang diawali dengan pernyataan BEGIN dan diakhiri pernyataan

END;.

Contoh penulisan prosedur adalah sebagai berikut:

Procedure bacainput(n:integer);Begin. . .End;

f. Deklarasi Fungsi

Fungsi adalah subprogram yang menerima masukan dan mempunyai

keluaran secara langsung atau mengembalikan suatu nilai ke program utama.

Fungsi merupakan bagian dari program utama yang memiliki fungsi untuk

menyelesaikan tugas tertentu yang menjadi bagian dari program utama.

Untuk mendeklarasikan fungsi dapat digunakan klausa “FUNCTION”

kemudian diikuti dengan nama fungsi. Setelah mendeklarasikan nama fungsi,

berikutnya akan diikuti oleh bagian fungsi yang diawali dengan pernyataan

BEGIN dan diakhiri pernyataan END;.

Contoh penulisan fungsi adalah sebagai berikut:

Function jumlah(n1:integer; n2:integer):integer;Begin. . .End;

3. Bagian Pernyataan / Program utama

Bagian program utama adalah bagian yang berisi langkah-langah dalam

program. Statemen-statemen yang ada pada program utama adalah statemen

untuk input pogram, proses, dan output program. Didalam program utama juga

dapat dilakukan pemanggilan prosedur dan fungsi yang telah dideklarasikan

21 | MLP1~Algoritma

Pemrograman

Page 23: MLP1~Algoritma Pemrograman

sebelumnya. Penulisan statemen pada program utama terletak diantara klausa

“BEGIN” dan “END.”

a. Perintah Input

Perintah input digunakan untuk membaca masukan data pada sebuah

program. Data dapat berasal dari sebuah file atau dimasukan langsung

melalui keyboard. Perintah input ini dinyatakan dengan klausa “READ” atau

“READLN”. Perintah READ adalah perintah membaca masukan data dari user

setelah user menekan tombol enter. Sedangkan perintah READLN adalah

perintah untuk membaca input data dari user setelah user menekan tombol

enter pada keybord kemudian memindah posisi kursor pada baris baru.

Penggunaan perintah input didalam program sebaiknya diawali

dengan perintah output yang menjelaskan suatu hal yang berkaitan dengan

input tersebut. Dengan cara ini, program akan mencadi lebih interaktif.

Untuk memberikan ilustrasi yang baik terhadap penggunaan perintah input

dan output, berikut ini akan diberikan beberapa contoh program yang

menyertakan kedua perintah tersebut.

Contoh :

Program 1. Menghitung luas persegi panjang 1

Program luas_pp1;Uses crt;Var panjang,lebar:integer; Luas:integer;

Begin Readln(panjang); Readln(lebar); Luas:=panjang * lebar; Writeln(luas); Readln;End.

Hasil Output :

4520

22 | MLP1~Algoritma

Pemrograman

Page 24: MLP1~Algoritma Pemrograman

Pada program diatas, ketika dijalankan program akan langsung

meminta input dengan tampilan layar kosong dan hanya terdapat kursor

aktif. Pengguna yang menjalankan ini kemungkinan besar tidak akan

mengerti dengan maksud program. Perbedaan terlihat jika program yang

dibangun seperti pada contoh berikut ini.

Program 2. Menghitung luas persegi panjang 2.

Program luas_pp2;Uses crt;Var panjang,lebar:integer; Luas:integer;

Begin Writeln(‘Program Hitung Luas Persegi Panjang’); Write(‘Masukan Sisi Panjang =’); Readln(panjang); Write(‘Masukan Sisi Lebar=’); Readln(lebar); Luas:=panjang * lebar; Writeln(‘Luas Persegi Panjang=’,luas); Readln;End.

Hasil Output :

Program Hitung Luas Persegi PanjangMasukan Sisi Panjang =4Masukan Sisi Lebar=5Luas Persegi Panjang=20

Pada program yang kedua, ketika dijalankan program akan

menampilkan statemen yang pertama yaitu Progam Hitung Luas Persegi

Panjang kemudian pada baris kedua akan muncul statemen Masukan Sisi

Panjang= dan kursor aktif untuk menerima input data. Dengan demikian

pengguna yang menjalankan program ini akan mengerti apa maksud dari

program tersebut.

b. Perintah Output

Perintah yang lain, yaitu perintah untuk menampilkan suatu output

pada layar monitor dengan menggunakan perintah “WRITE” dan

“WRITELN”. Perintah WRITE digunakan untuk menampilkan output pada

layar monitor, sedangkan perintah “WRITELN” sama dengan perintah write,

23 | MLP1~Algoritma

Pemrograman

Page 25: MLP1~Algoritma Pemrograman

hanya saja setelah menuliskan output ke layar monitor kemudian memindah

kursor keposisi baris yang baru.

Contoh :

Program 3. Menampilkan pesan

Program pesan;Uses crt;

Begin Write(‘Selamat Datang’); Write(‘Ini Program Pertama Saya’); Readln;End.

Dari contoh program diatas, terdapat dua perintah write tanpa

adanya perintah untuk memindah kusor pada baris baru sehingga walaupun

perintah tersebut ditulis dalam dua baris maka output yang keluar akan ada

pada satu baris.

Selamat DatangIni Program Pertama Saya

Hasil tampilan output tersebut akan berbeda apabila pada perintah

pertama digunakan perintah writeln (‘Selamat Datang’);, maka

output yang dihasilkan adalah penulisan kalimat yang pertama kemudian

ganti baris dan dilanjutkan dengan kalimat yang kedua.

Selamat DatangIni Program Pertama Saya

Penulisan perintah output diatas, data yang ditulis adalah data berupa

string atau text sehingga dalam penulisan write atau writeln diapit dengan

tanda petik (‘). Dalam penulisan angka, tanda petik tidak digunakan.

4. Komentar Program

Komentar program merupakan tulisan-tulisan yang berfungsi untuk

memberikan keterangan pada program atau instruksi-instruksi yang ada di

dalam program. Komentar program ini tidak akan diekseksi oleh program. Cara

24 | MLP1~Algoritma

Pemrograman

Page 26: MLP1~Algoritma Pemrograman

penulisan komentar adalah dengan memberikan tanda kurung kurawal buka

dan tutup ({…})pada awal komentar dan akhir komentar.

Macam-Macam Tipe Data

Tipe data adalah sebuah tipe atau jenis data yang mungkin untuk disimpan

kedalam sebuah perubah atau variabel. Seperti yang telah dijelaskan pada bagian

deklarasi variabel bahwa untuk mendeklarasikan sebuah variabel harus diikuti

dengan tipe datanya. Sebagai contoh sebuah variabel dengan nama nilai dan bertipe

data integer maka variabel tersebut hanya dapat menyimpan data yang berupa

bilangan bulat seperti 1, 2, -3, dan lain sebagainya. Variabel tersebut tidak dapat

digunakan untuk menyimpan data yang berupa bilangan desimal seperti 2.5, 4.25,

dan lain sebagainya.

Didalam bahasa pemrograman pascal terdapat dua macam tipe data yaitu

tipe data dasar dan tipe data bentukan. Tipe data dasar merupakan tipe data yang

telah disediakan dan dikenali oleh program sedangkan tipe data bentukan adalah

tipe data yang dibuat dan didefinisikan oleh programmer.

1. Tipe Data Ordinal

Tipe data ordinal adalah sebuah tipe data yang memiliki nilai ordinalitas

pada sebuah himpunan yang berurutan (orderet set). Pada tipe data ordinal,

nilai pertama memiliki nilai ordinalitas 0, berikutnya memiliki nilai ordinal 1

dan seterusnya. Khusus untuk tipe integer nilai ordinalitasnya adalah nilai

integer itu sendiri.

Pada tipe data ordinalitas, setiap nilai memiliki nilai pendahulu kecuali

pada nilai yang pertama dan memiliki nilai yang mengikutinya kecuali nilai

terakhir. Standar fungsi yang digunakan untuk mengetahui nilai ordinalitas dari

suatu data ordinal adalah Ord( ). Fungsi Pred( ) digunakan untuk mengetahui

nilai pendahulunya. Fungsi ini tidak dapat diterapkan pada nilai yang petama.

Fungsi Succ( ) digunkan untuk mengetahui nilai yang mengikutinya. Fungsi ini

tidak dapat diterapkan pada nilai yang terakhir.

25 | MLP1~Algoritma

Pemrograman

Page 27: MLP1~Algoritma Pemrograman

Pada tipe data ordinal terdapat beberapa jenis tipe data, yaitu tipe

Integer, tipe Char, dan tipe Boolean.

a. Tipe Integer

Tipe data integer adalah tipe data yang berupa bilangan bulat. Tipe

data ini tidak memiliki nilai hasil pembagian yang berupa pecahan. Dalam

tipe data integer terdapat beberapa jenis yang membedakan ukurannya.

Kelompok tipe data tersebut dapat dilihat ada tabel berikut ini.

Tabel 2. Tipe data integer

Tipe Rentang Nilai UkuranByte 0..125 8 bit

Shortint -128 .. 127 8 bitWord O .. 65535 16 bit

Integer -32768..32767 16 bitlongint -2147483648..2147483647 32 bit

Contoh:

Var a,b,c:integer;Begin A:=5; B:= -10; C:=A+B; Write(C);End;

b. Tipe Char

Tipe char digunakan untuk mendefinisikan sebuah himpunan

karakter yang ada pada kode ASCII. Untuk menuliskan sebuah karakter

didalam program dengan menyertakan tanda petik (‘) awal dan akhir

karakter tersebut. Sebagai contoh ‘A’, ‘B’, ‘C’, ‘0’, ‘1’, ‘2’ dan sebagainya. Tipe

data char hanya terdiri dari satu karakter dan sama dengan tipe data

string[1].

Fungsi-fungsi yang telah dijelaskan sebelumnya dapat diterapkan

pada tipe data ini. Fungsi ord( ) akan menghasilkan sebuah nilai ordnalitas

dari sebuah karakter. Sebagai contoh Ord(‘A’) akan menghasilkan nilai 65.

Fungsi pred() akan menghasilkan nilai sebelumnya. Sebagai contoh pred(‘B’)

26 | MLP1~Algoritma

Pemrograman

Page 28: MLP1~Algoritma Pemrograman

akan menghasilkan karakter ‘A’. Demikian juga dengan fungsi succ( ) yang

akan menghasilkan nilai sesudahnya. Sebagai contoh Succ(‘B’) akan

menghasilkan karakter ‘C’.

Untuk menghasilkan sebuah nilai karakter dari suatu nilai ordinal

juga dapat digunakan dengan sebuah fungsi chr( ). Sebagai contoh pada kode

ASCII nilai 68 adalah sebuah karakter ‘D’, maka untuk memperoleh nilai ‘D’

dari suatu data integer dapat dilakukan dengan perintah Chr(68).

Sebagai ilustrasi yang lebh detail dapat dilihat pada contoh program berikut.

Program 4. Karakter ASCII

Program karakter;Uses crt;Var nilai:integer;K:char;

Begin Writeln(‘Program Cetak Karakter dari ASCII’); Write(‘Masukan nilai karakter ASCII [0-255]=’); Readln(nilai); K:=chr(nilai); Write(‘Karakter=’,K); Readln;End.

Hasil Output:

Program Cetak Karakter dari ASCIIMasukan nilai karakter ASCII [0-255]=68Karakter=D

c. Tipe Boolean

Tipe data Boolean merupakan tipe data logika dengan dua buah nilai

kebenaran yaitu true (benar) dan false (salah). Nilai true memiliki nilai biner

1 dan nilai false memiliki nilai biner 0. Operator yang digunakan adalah AND,

OR, atau NOT.

Contoh:

Var x:Boolean;Begin X:=true;

27 | MLP1~Algoritma

Pemrograman

Page 29: MLP1~Algoritma Pemrograman

Writeln(x); Readln;End.Dalam contoh diatas, x adalah variabel dengan tipe Boolean. Variabel x

tersebut kemudian diberikan nilai true. Tampilan dari pogram tersebut

adalah menampilkan nilai true.

2. Tipe Data Real

Tipe data real adalah tipe data bilangan yang mengandung nilai pecahan.

Bilangan ini disebut dengan bilangan desimal. Penulisan data desimal tidak

mengunakan tada koma (,) tetapi menggunakan tanda titik (.), sebagai contoh

2.25.

Sebagaimana tipe integer, didalam tipe data real juga terdapat beberapa

jenis tipe data yang memiliki jangkauan yang berbeda. Kelompok tipe data

tersebut dapat dilihat pada tabel berikut.

Tabel 3. Tipe data real

Tipe Rentang nilai Angka signifikan Byte

Real 2.9e-39..1.7e38 11 – 12 6Single 1.5e-45..3.4e38 7 -8 4

Double 5.0e-324..1.7e308 15 – 16 8Extended 3.4e-4932..1.1e4932 19 -20 10

Comp -2E63+ 1 .. 2E63-1 19 -20 8

Pada rentang nilai dituliskan dalam bentuk notasi dengan huruf e. notasi

ini memiliki arti perkalian dengan pangkat berbasis 10. Sebagai contoh 2.3E2,

bilangan ini memiliki nilai 2.3 X 102 yaitu 230.

Program 5. Program Pembagian

Program pembagian;Uses crt;Var a,b:integer; C:real;Begin Writeln(‘Program Operasi Pembagian’); Write(‘Masukan Nilai A=’); Readln(a); Write(‘Masukan Nilai B=’); Readln(b); C:=A/B;

28 | MLP1~Algoritma

Pemrograman

Page 30: MLP1~Algoritma Pemrograman

Writeln(‘Hasil Pembagian=’,C); Readln;End.

Hasil Output:Program Operasi PembagianMasukan Nilai A=20Masukan Nilai B=3Hasil Pembagian= 6.66666666666667E+0000

Pada program diatas, user pada awalnya akan diminta untuk memasukan

data bilangan bulat yang disimpan dalam variabel A. Berikutnya user akan

diminta untuk memasukan sebuah bilangan bulat yang akan disimpan dalam

variabel B. Program akan melakukan pembagian yang hasilnya akan disimpan

dalam variabel C yang bertipe real. Terakhir program akan menampilkan output

yang ada pada variabel C dengan menggunakan notasi perkalian pangkat 10

yaitu dengan huruf E. Untuk mengubah tampilan ini dapat disertakan format bit

signifikan. Pernyataan terakhir dapat diganti dengan perintah:

Writeln(‘Hasil Pembagian=’,C:8:2);

3. Tipe Data Terstruktur

Tipe data terstruktur adalah tipe data yang dapat menyimpan lebih dari

satu nilai. Masing-masing nilai tersebut disebut sebagai elemen yang memiliki

tipe tersendiri. Struktur pembentukan tipe data ini akan menentukan

karakteristik penyimpanan dan pengaksesan data. Didalam tipe data terstruktur

terdapat beberapa jenis tipe data yaitu tipe string, tipe himpunan (set), tipe larik

(array), tipe rekaman (record) dan tipe berkas (file).

a. Tipe String

Tipe data string adalah tipe data yang berisi kumpulan karakter.

Untuk mendefinisikan tipe data string dapat diikuti dengan jumlah karakter

yang dispesifikasikan. Jika jumlah karakter yang boleh disimpan tidak

didefinisikan maka data yang disimpan tidak dibatasi. Untuk

29 | MLP1~Algoritma

Pemrograman

Page 31: MLP1~Algoritma Pemrograman

menspesifikasikan jumlah karakter yang dapat disimpan dalam sebuah

variabel dapat dituliskan dengan tanda kurung siku ( [ ] ).

Contoh:

Var S:string;A:string[10];

Jika sebuah variabel dideklarasi dengan tipe data string dan dispesifikasikan

jumlah karakter yang dapat disimpan maka variabel tersebut hanya mampu

menyimpan sejumlah karakter tersebut meskipun diberikan sebuah input

yang jumlah karakternya lebih banyak. Pada contoh diatas, variablel hanya

mampu menyimpan 10 karakter. Apabila variabel tersebut diberi input

‘ABCDEFGHIJKLMN’ maka data yang akan tersimpan hanya ‘ABCDEFGHIJ’

sesuai dengan jumlah yang telah ditentukan.

Contoh:

Program 6. Menampilkan salam

Program salam;Uses crt;Var nama:string[20];Begin Writeln(‘Masukan nama Anda=’); Readln(nama); Writeln(‘Selamat Datang ’,Nama); Readln;End.

Hasil Output program:

Masukan nama Anda=AndiSelamat Datang Andi

b. Tipe Himpunan (Set)

Himpunan adalah kumpulan data yang memiliki tipe yang sama.

Sebagaimana pengertian himpunan di dalam matematika, himpunan adalah

kumpulan objek yang memiliki karakteristik yang sama. Misalnya himpunan

bilangan bulat 0 sampai 10 maka himpunan tersebut adalah kumpulan nilai

yang memiliki tipe yang sama yaitu 0,1,2,3,4,5,6,7,8,9, dan 10.

30 | MLP1~Algoritma

Pemrograman

Page 32: MLP1~Algoritma Pemrograman

Didalam bahasa pemrograman pascal, himpunan ditulis dengan tanda

kurung siku ( [ ] ). Himpunan bilangan bulat positif dari 0 sampai dengan 10

dapat dinyatakan dengan [0,1,2,3,4,5,6,7,8,9,10]. Urutan dalam himpunan

tidak mempengaruhi karakteristiknya. Dua buah himpunan dikatakan sama

apabila masing-masing himpunan memiliki anggota yang sama. Himpunan

[0,1,2,3,4,5,6,7,8,9,10] sama dengan himpunan [10,9,8,7,6,5,4,3,2,1,0].

Untuk mendeklarasikan sebuah tipe data himpunan digunakan perintah

dengan klausa “SET”.

Contoh:

Var X : set of 1..10;Karakter: set of char

Untuk mengetahui apakah suatu data merupakan anggota dari suatu

himpunan dapat digunakan perintah In. Pada program dibawah ini akan

memberikan gambaran yang lebih jelas.

Program 7. Program Himpunan

Program himpunan;Uses crt;Var x:Boolean;Y:integer;Begin Y:=5; X:=y in [1..10]; Writeln(x);End.

Dari contoh program diatas, nilai output dari program tersebut adalah true.

Variabel X bernilai true karena varibael y yang berisi angka 5 adalah bagian

dari bilangan dari 1 sampai 10.

c. Tipe Larik (Array)

Array adalah tipe data yang berisi beberapa data yang ditampung

dalam satu variabel yang memiliki tipe data yang sama. Masing-masing data

yang tertampung dalam sebuah array akan ditandai sebagai elemen pertama

sampai ke - n. Array dapat dibuat beberapa dimensi, misalnya untuk

menggambarkan matrix kita perlu menggunakan Array 2 dimensi.31

| MLP1~Algoritma Pemrograman

Page 33: MLP1~Algoritma Pemrograman

Bentuk umum penulisan :

Type pengenal = array[tipe index] of tipe;

Dengan :

Pengenal = nama tipe data

Tipe index = tipe data untuk tiap nomor index

Tipe = tipe data komponen

Parameter tipe index akan menentukan banyaknya komponen array

tersebut.

Contoh :

Type vek = array[1..100] of integer;

Akan menunjukkan bahwa vek adalah tipe data yang berupa array yang

komponennya bertipe integer dan banyaknya adalah 100 buah. Deklarasi

yang disebutkan diatas disebut dengan deklarasi array dimensi satu atau

dapat disebut juga dengan vektor, sedangkan untuk array dimensi banyak

dapat dilihat pada contoh deklarasi berikut :

Type Tbl = array[1..100 ] of array [1..5] of real;

Atau

Type Tbl = array[1..100,1..5] of real;

d. Tipe Rekaman (Record)

Record adalah kumpulan data yang setiap elemennya bisa mempunyai

tipe data yang berbeda satu sama lainnya. Pada array, semua elemen harus

bertipe sama. Sebuah record rekaman disusun oleh beberapa field. Tiap field

berisi data dari tipe dasar/bentukan tertentu. Record mempunyai kelebihan

untuk menyimpan suatu sekumpulan elemen data yang berbeda-beda

tipenya (dibanding array).

e. Tipe Berkas (File)

File adalah kumpulan sejumlah komponen yang bertipe sama yang

jumlahnya tidak tertentu dan biasanya tersimpan dalam suatu media

penyimpanan luar.

4. Tipe data pointer

32 | MLP1~Algoritma

Pemrograman

Page 34: MLP1~Algoritma Pemrograman

Tipe data pointer adalah tipe data terstruktur yang dipakai pada

deklarasi variabel sehingga variabel tersebut bersifat dinamis. Sebagai ilustrasi,

sebuah variabel dideklarasi dengan tipe string[20] maka variabel tersebut

berukuran tetap yaitu 20. Pada saat program berjalan ukuran variabel tersebut

tidak akan berubah. Dengan menggunakan sebuah tipe data pointer sebagai

contoh pointer char maka variabel tersebut ukuran dapat berubah sesuai

dengan kebutuhan program.

Deklarasi sebuah tipe data pointer digunakan sebuah perintah dengan

menuliskan tanda topi (^) kemudian diikuti dengan jenis tipe data dasar.

Contoh:

X : ^char;

5. Tipe Data Bentukan

Tipe data bentukan adalah sebuah tipe data yang didefinsikan oleh

pemrogram. Tipe data bentukan ini terdapat dua jenis taitu tipe terbilang

(enumerated) dan tipe subjangkauan.

a. Tipe terbilang (enumerated)

Tipe terbilang adalah sebuah tipe data yang didefinisikan satu

persatu. Sebagai contoh untuk mendeklarasikan sebuah tipe data hari maka

semua nama hari harus disebutkan satu persatu yaitu senin, selasa, rabu,

kamis, jumat, sabtu, dan minggu. Bentuk umum deklarasinya adalah pengenal

= <tipe>. Pendeklarasian tipe data ini ada pada bagian deklarasi tipe

sebagaimana yang telah dijelaskan pada bagian sebelumya.

Contoh:

Type Hari=(minggu,senin,selasa,rabu,kamis,jumat,sabtu);

Untuk mendeklarasikan sebuah variabel yang bertipe hari dideklarasikan

pada bagian deklarasi variabel.

Contoh:

Var

33 | MLP1~Algoritma

Pemrograman

Page 35: MLP1~Algoritma Pemrograman

NamaHari:hari;

Variabel NamaHari yang telah dideklarasikan dengan tipe hari hanya dapat

menyimpan data yang berupa nama-nama hari yang telah disebutkan pada

bagian deklarasi tipe data.

Contoh:

NamaHari:=senin;

b. Tipe subjangkauan

Tipe subjangkauan adalah sebuah tipe yang menunjukkan adanya

rentang nilai. Tipe subjangkauan dapat diambil dari sembarang nilai ordinal.

Bentuk umum untuk menyatakan notasi ini adalah dengan sintak:

Type

Pengenal1=konstanta1 .. konstanta 2

Dimana:

Pengenal= nama tipe subjangkauan

Konstanta1=nilai yan menyatakan batas awal jangkauan.

Konstanta2= nilai yang menyetakan batas akhir jangkauan.

Contoh:

Type Nilai=1..100HurufBesar=’A’..’Z’

Sebuah variabel yang dideklarasikan sebagai tipe data maka variabel

tersebut hanya dapat menerima data yang ada didalam rentang nilai

tersebut. Program berkut ini adalah program yang menyajikan tipe data

subjangkuan.

Program 8. Nilai siswa1.

Program Nilai_Siswa1;Uses crt;Type nilai=1..100;var nilaisiswa:nilai;

34 | MLP1~Algoritma

Pemrograman

Page 36: MLP1~Algoritma Pemrograman

begin writeln(‘Program Nilai Siswa’); write(‘Masukkan Nilai Siswa =’); readln(nilaisiswa); writeln(‘Nilai Siswa =’,nilaisiswa); Readln;end.

Hasil Output Program:

Program Nilai SiswaMasukkan Nilai Siswa =98Nilai Siswa =98

Pada program diatas, nilai adalah sebuah tipe subjangkauan dengan batas

awal 1 dan batas akhir 100. variabel nilaisiswa yang dideklarasikan dengan

tipe nilai maka variabel tersebut hanya dapat menerima masukan data yang

ada diantara subjangkauan tersebut seperti 25, 40, 80 dan lain sebagainya.

Variabel tersebut tidak dapat menerima nilai diluar subjangkauan tersebut

seperti 125, -5,110 dan lain sebagainya.

Operator

Operator adalah suatu simbol yang digunakan untuk melakukan operasi

terhadap data. Operasi yang dimaksud adalah memanipulasi dan mengolah data.

Data dengan tipe tertentu dapat dilakukan operasi dengan operator tertentu.

1. Operator Penugasan

Operator penugasan adalah operator yang digunakan untuk memberikan

nilai pada suatu perubah. Sebagai contoh sebuah variabel dideklrasikan dengan

tipe data integer. Untuk memberikan sebuah nilai pada variabel tersebut

digunakan operator penugasan. Didalam bahasa pascal operator penugasan ini

dituliskan dengan simbol titik dua dan sama dengan (:=);

Contoh:

Nilai:=100;

A:=10;

B:=25;

C:=A*B;

35 | MLP1~Algoritma

Pemrograman

Page 37: MLP1~Algoritma Pemrograman

Dari contoh diatas dapat dilihat bahwa untuk memberikan nilai 100 pada

variable nilai digunakan operator penugasan yaitu titik dua dan sama dengan

(:=). Demikian juga pemberian nilai pada variabel-variabel yang lain.

2. Operator Aritmatika

Operator aritmatika adalah operator yang digunakan untuk

mengoperasikan data-data numerik. Operasi yang dilakukan adalah operasi

aritmatika seperti penjumlahan, perkalian, pembagian dan lain sebagainya.

Operator aritmatika memeliki beberapa simbol dengan fungsi yang

berbeda-beda. Masing-masing simbol juga memiliki prioritas yang berbeda jika

didalam suatu notasi terdapat lebih dari satu operator aritmatika. Simbol-simbol

operator arimatika dan hierarki urutan prioritasnya dapat dilihat pada tabel

berikut.

Tabel 4. Operator Aritmatika

Operator Operasi

- Tanda negative* , / Pekalian dan pembagianDiv Pembagian integer

Mod Modulo (sisa hasil bagi)+ , - Penambahan dan pengurangan

Keterangan:

Operasi tanda negatif akan memberikan nilai negasi dari nilai yang

disebutkan.

Contoh:

-5 + 10 = 5

Operasi div akan menghasilkan nilai pembagian dalam bilangan bulat tanpa

nilai pecahan.

Contoh:

8 div 3 = 24 div 5 = 015 div 3 = 5

36 | MLP1~Algoritma

Pemrograman

Page 38: MLP1~Algoritma Pemrograman

16 div 3 = 5 Operasi mod akan menghasilkan nilai sisa hasil bagi.

Contoh:

5 mod 2 = 13 mod 5 = 311 mod 5 = 1

Didalam proses operasi yang dilakukan dengan operator aritmatika, prioritas

yang lebih tinggi akan dilaksananakan terlebih dahulu.

Contoh:

4 + 2 * 8

Proses operasi tersebut akan dilakukan dengan perkalian terlebih dahulu

kemudian dilakukan proses penjumlahan. Hasil dari operasi tersebut adalah:

= 4 + 16= 20

Untuk memberikan prioritas operasi yang lebih tinggi terhadap operator

yang berprioritas rendah agar dikerjakan lebih dulu maka perlu adanya notasi

penulisan dengan tanda kurung buka dan kurung tutup. Misalnya dari notasi

yang telah dicontohkan diatas apabila proses penjumlahan ingin dilakukan lebih

dulu dari pada proses perkalian maka notasi tersebut dapat diubah menjadi

(4+2)*8 sehingga hasil yang diperoleh yaitu 8 * 8 = 64.

Operator aritmatika tersebut secara keseluruhan digunakan untuk

melakukan proses perhitungan data-data numerik. Hanya ada satu operastor

yang digunakan untuk melakukan operasi terhadap jenis data yang lain yaitu

untuk tipe string. Operator tersebut adalah penjumlahan (+) yang dapat

digunakan untuk menggabungkan dua buah string.

Contoh:

NamaDepan:=’AGUS’NamaBelakang:=’SETYIAWAN’NamaLengkap :=NamaDepan + NamaBelakang;

3. Operator Logika

37 | MLP1~Algoritma

Pemrograman

Page 39: MLP1~Algoritma Pemrograman

Operator logika adalah simbol-simbol yang digunakan untuk melakukan

ekspresi terhadap data-data logika. Proses operasi tersebut akan menghasilkan

salah sat dari dua jenis nilai kebenaran yatu TRUE dan FLASE. Simbol-simbol

operator logika tersebut dapat dilihat pada tabel yang ada dibawah ini.

Tabel 5. Operator Logika

Operator Keterangan

NOT TidakAND DanOR Atau

XOR Exclusive OR

Sebagaimana operator matematika, operator logika juga memiliki urutan

prioritas dalam melakukan prosesnya apabila dalam suatu pernyataan terdapat

lebih dari satu operator.

a. Operator NOT

Operasi NOT merupakan operasi unary yang digunakan untuk sebuah

nilai Boolean tunggal dan menghasilkan nilai kebalikanya (negasi). Jika

sebuah ekspresi bernilai true kemudian diberikan operator NOT memakai

akan menghasilkan nilai baru yaitu false.

Tabel 6. Nilai kebenaran Operator NOT

Ekspresi Hasil Operasi NOT

True FalseFalse True

Contoh:

A:=true;B:=Not A;

Hasil yang ada pada variable B adalah FALSE.

38 | MLP1~Algoritma

Pemrograman

Page 40: MLP1~Algoritma Pemrograman

b. Operator AND

Operator AND dilakukan untuk dua buah ekspresi Boolean. Operator

AND akan menghasilkan nilai true jika kedua ekspresi tersebut memiliki nilai

true. Tabel berikut menunjukan hasil operasi AND pada dua buah ekspresi

Boolean.

Tabel 7. Nilai kebenaran Operator AND

Ekspresi1 Ekspresi2 Ekspresi 1 AND Ekspresi2

False False FalseFalse True FalseTrue False FalseTrue True True

Contoh:

A:=true;B:=false;C:=A and B

Variabel C mengandung nilai hasil operasi AND yaitu false.

c. Operator OR

Operator OR dilakukan untuk dua buah ekspresi sebagimana operator

AND. Operator OR akan manghasilkan nilai true apabila salah satu ekspresi

bernilai true. Operator OR akan menghasilkan nilai false apabila kedua

ekspresi bernilai false. Tabel berikut adalah tabel kebenaran yang

menunjukan hasil operasi OR.

Tabel 8. Nilai kebenaran Operator OR

Ekspresi1 Ekspresi2 Ekspresi 1 OR Ekspresi2

False False FalseFalse True TrueTrue False TrueTrue True True

39 | MLP1~Algoritma

Pemrograman

Page 41: MLP1~Algoritma Pemrograman

Contoh:

A:=true;B:=false;C:=A or B

Variabel C mengandung nilai hasil operasi OR yaitu true.

d. Operator XOR (Exclusive OR)

Sebagaimana operator AND dan operator OR, operator XOR juga

merupakan operator yang digunakan untuk dua buah ekspresi. Operator XOR

akan menghasilkan nilai true jka kedua ekpresi memiliki nilai yang berbeda.

Operator XOR akan menghasilkan nilai false jika kedua espresi bernilai sama.

Tabel 9. Nilai kebenaran Operator XOR

Ekspresi1 Ekspresi2 Ekspresi 1 XOR Ekspresi2

False False FalseFalse True TrueTrue False TrueTrue True False

Contoh:

A:=true;B:=true;C:=A Xor B

Variabel C mengandung nilai hasil operasi XOR yaitu false.

4. Operator Relasi / Perbandingan

Operator relasi/perbandingan digunakan untuk membandingkan suatu

data (ekspresi) dengan data (ekspresi) yang lain dan menghasilkan nilai logika

(benar atau salah). Dua buah data atau ekspresi yang dibandingkan mempunyai

40 | MLP1~Algoritma

Pemrograman

Page 42: MLP1~Algoritma Pemrograman

tipe data yang sama. Tabel berikut adalah daftar simbol-simbol operator

perbandingan.

Tabel 10. Operator Perbandingan

Operator Keterangan

= Sama dengan<> Tidak sama dengan< Lebih kecil> Lebih besar

<= Lebih kecil atau sama dengan>= Lebih besar atau sama dengan

Operasi perbandingan akan mengasilkan nilai kebenaran true jika

pernyataannya bernilai benar dan akan menghasilkan nilai false apabila

pernyataannya salah.

Contoh:

Tes = 5 > 4 {variabel tes berisi true}A:=true;B:=false;C:=A=B {Variabel C berisi false karena A tidak sama dengan B}

5. Operator Himpunan

Operator hmpunan adalah operator yang digunakan untuk melakukan

operasi terhadap data-data yang bertipe himpunan. Pada tipe data himpunan

dapat diberlakukan beberapa operator yaitu interseksi, union, dan selisih. Selain

operator tersebut, pada tipe data himpunan juga dapat diberlakukan operator

perbandingan.

Untuk memberikan gambaram yang jelas akan diberikan dua buah data

himpunan yaitu:

A:= [1,2,3,4,5,6]B:= [5,6,7,8,9,10]

41 | MLP1~Algoritma

Pemrograman

Page 43: MLP1~Algoritma Pemrograman

Operator interseksi dinyatakan dengan symbol bintang (*). Operator ini

akan menghasilkan himpunan anggota yang ada pada kedua himpunan tersebut.

A*B akan menghasilkan himpunan anggota interseksi yaitu [5,6].

Operator union dinyatakan dengan symbol plus (+). Operator ini akan

menghasilkan himpunan yang anggotanya adalah gabungan dari kedua

himpunan. A + B akan menghasilkan himpunan yang anggotanya adalah

gabungan dari himpunan A dan himpunan B yaitu [1,2,3,4,5,6,7,8,9,10]

Operator selisih dinyatakan dengan symbol minus (-). Operator ini akan

menghasilkan himpunan yang anggotanya merupakan anggota himpunan

pertama tetapi bukan anggota himpunan kedua. A – B akan menghasilkan

himpunan yang anggotanya merupakan anggota himpunan A dan bukan anggota

himpunan B yaitu [1,2,3,4]. B – A akan menghasilkan himpunan [7,8,9,10].

Untuk melakukan operasi perbandingan, pada tipe data himpunan dapat

diberlakukan operator perbandingan yang telah dijelaskan pada bagian

sebelumnya. Selain operator tersebut masih terdapat satu operator

perbandingan yang ada pada data himpunan. Operator tersebut adalah operator

in. Penggunaan operator in telah dijelaskan pada bagian tipe data himpunan.

C. Evaluasi

1. Siapakah tokoh yang merancang bahasa pemrograman PASCAL?

2. Sebutkan struktur dari suatu program Pascal!

3. Sebutkan pengertian dari tipe data!

4. Sebutkan dua macam tipe data yang digunakan dalam bahasa pemrograman

Pascal!

5. Buatlah sebuah program untuk menghitung keliling lingkaran menggunakan

bahasa pemrograman PAscal!

42 | MLP1~Algoritma

Pemrograman

Page 44: MLP1~Algoritma Pemrograman

MODUL 3

FLOWCHART

D. Tujuan Pembelajaran

Setelah mempelajari modul ini diharapkan siswa dapat :

1. Menyebutkan pengertian diagram alir (flowchart)

2. Memahami flowchart secara umum

3. Memahami flowchart untuk program computer

4. Memahami cara pembuatan flowchart

5. Memahami macam-macam struktur flowchart

E. Materi

Penggunaan komputer di era globalisasi sekarang ini merupakan solusi dari

perkembangan teknologi yang sangat pesat baik di bidang industri, pendidikan,

pemerintahan, ilmu pengetahuan maupun sosial dan budaya.

Komputer tak hanya digunakan sebagai alat penghitung namun dapat pula

digunakan sebagai alat pemroses dan penyimpan data serta informasi. Dalam

pemrosesan data, suatu komputer biasanya melakukan komputasi-komputasi yang

cepat, tepat, dan akurat. Untuk melakukan komputasi tersebut, diperlukan suatu

program sebagai alat bantu.

Program adalah sederetan instruksi (dalam bahasa yang dimengerti

komputer) yang mengatur kerja komputer untuk memperoleh suatu output/hasil

yang diharapkan. Untuk memudahkan dalam pembuatan suatu program maka

dibuat terlebih dahulu suatu logika/urutan-urutan instruksi program dalam suatu

diagram yang disebut dengan diagram alir atau flowchart.

Pengertian diagram alir (flowchart)

Secara umum flowchart dapat dijelaskan dalam contoh masalah sehari-hari

yang sering kita temui, contohnya adalah langkah-langkah yang kita lakukan ketika

mengganti ban mobil yang pecah. Flowchart-nya seperti gambar dibawah ini.

43 | MLP1~Algoritma

Pemrograman

Page 45: MLP1~Algoritma Pemrograman

Contoh 1:

Gambar 1. Flowchart proses mengganti ban mobil

Pada contoh flowchart diatas, langkah-langkah dilakukan tanpa adanya suatu

syarat. Langkah flowchart berlangsung dari atas ke bawah. Biasanya masalah tidak

sesederhana itu. Berikut ini adalah contoh penggambaran masalah penggantian ban

mobil yang pecah dengan kemungkinan ban serep kempis.

44 | MLP1~Algoritma

Pemrograman

Page 46: MLP1~Algoritma Pemrograman

Contoh 2:

Gambar 2. Flowchart proses mengganti ban mobil dengan kemungkinan ban serep

kempis

45 | MLP1~Algoritma

Pemrograman

Page 47: MLP1~Algoritma Pemrograman

Berikut ini adalah beberapa pengertian flowchart :

1. Flowchart adalah serangkaian bagan-bagan yang menggambarkan alir program.

2. Flowchart adalah penyajian yang sistematis tentang proses dan logika dari

kegiatan penanganan informasi.

3. Flowchart adalah suatu bagan dengan simbol-simbol tertentu yang

menggambarkan urutan proses secara mendetail dan hubungan antara suatu

proses (instruksi) dengan proses lainnya dalam suatu program.

4. Flowchart adalah bagan (chart) yang menunjukkan alir (flow) di dalam program

atau prosedur sistem secara logika. Bagan alir digunakan terutama untuk alat

bantu komunikasi dan untuk dokumentasi.

5. Flowchart adalah representasi grafik dari langkah-langkah yang harus diikuti

dalam menyelesaikan suatu permasalahan yang terdiri atas sekumpulan simbol,

dimana masing-masing simbol merepresentasikan suatu kegiatan tertentu.

6. Flowchart diawali dengan penerimaan input, pemrosesan input, dan diakhiri

dengan penampilan output.

7. Flowchart adalah bagan yang menggambarkan urutan logika dari suatu prosedur

pemecahan masalah.

8. Flowchart adalah suatu diagram yang menggambarkan susunan logika suatu

program.

9. Flowchart adalah penggambaran secara fisik dari langkah-langkah dan urut-

urutan prosedur dari auatu program. Flowchart menolong analis dan

programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih

kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam

pengoperasian. Flowchart biasanya mempermudah penyelesaian suatu masalah

khususnya masalah yang perlu dipelajari dan dievaluasi lebih lanjut.

Di atas telah dijelaskan pengertian flowchart secara umum dengan contoh

pada masalah sehari-hari yaitu penggantian ban mobil dan beberapa pengertian

flowchart yang berhubungan dengan penyajian suatu algoritma penyelesaian

masalah. Kemudian muncul pertanyaan mengapa menggunakan flowchart untuk

menyajikan suatu algoritma penyelesaian masalah? Jawabannya adalah :

46 | MLP1~Algoritma

Pemrograman

Page 48: MLP1~Algoritma Pemrograman

Alasan menggunakan flowchart :

1. Relationship

Flowchart dapat memberikan gambaran yang efektif, jelas, dan ringkas

tentang prosedur logic. Teknik penyajian yang bersifat grafis jelas akan lebih

baik dari pada uraian-uraian yang bersifat teks khususnya dalam menyajikan

logika-logika yang bersifat kompleks.

2. Analysis

Dengan adanya pengungkapan yang jelas dalam model atau chart, maka

para pembaca dapat dengan mudah melihat permasalahan atau memfokuskan

perhatian pada area-area tertentu system informasi.

3. Communication

Karena simbol-simbol yang digunakan mengikuti suatu standar tertentu

yang sudah diakui secara umum, maka flowchart dapat merupakan alat bantu

yang sangat efektif dalam mengkomunikasikan logika suatu masalah atau dalam

mendokumentasikan logika tersebut.

Telah dijelaskan di atas sebab penggunaan flowchart untuk menyajikan suatu

algoritma penyelesaian masalah. Kemudian muncul pertanyaan lagi bagaimana cara

membuat flowchart? Apakah ada pedoman dalam pembuatan flowchart? Sebelum

menjawab pertanyaan tersebut terlebih dahulu akan dijelaskan simbol-simbol

flowchart.

Simbol Flowchart

There are five type of flowchart that is :

1. System flowchart

2. Document flowchart

3. Schematic flowchart

4. Program flowchart

5. Process flowchart

But from type five of flowchart will only be studied just two that is System flowchart

and program flowchart.

47 | MLP1~Algoritma

Pemrograman

Page 49: MLP1~Algoritma Pemrograman

CPU

Keyboardd

VDU

Disket

System flowchart depict system equipments of used computer in course data

processing and also relation between equipment. Flowchart System not be used to

depict sequence not used to depict sequennce do step to solve problem. Flowchart

System just for depicting procedure in formed system. Excample of usage of the

following flowchart system :

Picture 3. Example of usage flowchart system

Program of flowchart depict logic sequence from trouble-shooting

procedure. Program of Flowchart represent diagram explaining in detail steps of

program process. Program of Flowchart made of flowchart system. Two method

type depiction of program of flowchart :

Conceptual flowchart, trouble-shooting path globally depicting

Detail flowchart, depicting trouble – shooting path in detail

Usage example of flowchart program are :

48 | MLP1~Algoritma

Pemrograman

Page 50: MLP1~Algoritma Pemrograman

Picture 4. Example usage of flowchart program

Flowchart can show clearly current operation of algoritm, namely how

network execution of program activity. A flowchart will give picture two dimension

in the form of symbols which is the each the symbol have been preset by function

and its meaning. This is symbols that used to depict flowchart :

1. Flow direction symbols

Used to link the symbol to another.

Can called connecting line

Te esymbol are :

Symbol Name Function

Flow Depict the way of flow on

proces

49 | MLP1~Algoritma

Pemrograman

Page 51: MLP1~Algoritma Pemrograman

Communication Link Expressing data transmission

from one location to other

location

Connector Expressing extension of

process to other process in

same page

Offline Connector Expressing extension of

process to other process in

different page

2. Processing symbols

Depict the system operate for processing in proces / procedure

The symbols are :

Symbol Name Function

Process Expressing proces to doing by

another computer

Manual Expressing proces that can’t be

doing by another computer

Decision Showing certain condition to

yield two possibility of

answer : Yes / not.

Predefined process Expressing is ready of

repository processing to give

price early.

Terminal Expressing start or final of

program.

50 | MLP1~Algoritma

Pemrograman

Page 52: MLP1~Algoritma Pemrograman

Keying operation Expressing all processed

operation type by using an

machine having keyboard

Offline-storage Indicating that data in this

symbol will be kept to a[n

certain media

Manual input Including data manually by

using keyboard online

3. Input / Output symbols

Menunjukkan jenis peralatan yang digunakan sebagai media input atau

output Showing equipments type tsht used input media or of output

The symbols are :

Symbol Name Function

Input/output Expressing input process or of

output without depended its

equipments type

Punched Card Expressing input come from or

card of output written to card

Magnetic Tape Expressing input come from

magnetic ribbon or output

kept to magnetic ribbon

Disk Storage Expressing input come from or

disk of output kept to disk

51 | MLP1~Algoritma

Pemrograman

Page 53: MLP1~Algoritma Pemrograman

Way giving price to an variable of flowchart

1. Way of 1

An variable can be interpreted as value able to fluctuate its price, example is way

of depicting gift of price to an variable is :

Besides, box process or assignation can function for example to :

a.

Variable of C given price equal to variable price of P less variable price of Q

( price of P and of Q should have there is )

b.

Newest price of variable of N are old price of variable of N added by 1

c.

New price of variable of S are old price of S added at the price of variable of T.

All written variable above at the example is number variable or numerik

variable. Assignation box is also used to depict gift of price at one particular

variable of string, the example : :

2. Way of II

By using input box / read / input / read, data which we include we place

separate in an data gathering. Later, Then data read from the gathering. then

passed to an variable as its price.

52 | MLP1~Algoritma

Pemrograman

Page 54: MLP1~Algoritma Pemrograman

Way to make Flowchart

When a programmer and analyst will make flowchart, there are some guide

which must be paid attention, like :

1. Flowchart depicted from page;yard to the downwards and from left to right.

2. Activity have to be defined neglectlessly and this definition have to earn to be

understood by its reader.

3. When activity started and end have to be determined clearly.

4. Every step of activity have to be elaborated by using verb.

5. Every step of activity have to reside in [at] real correct sequence.

6. Scope and of range of activity which is depicting have to trace carefully. crosscut

ramifications of activity which depicting needn't be depicted by same flowchart.

symbol of Conector have to be used and its ramification of separate give on page

or eliminate entirely when its ramification not relate to system.

7. Use symbols of flowchart that standard..

Some principle which must adhere in making flowchart :

1. There no schema hanging

2. Ramification there's only 2 with indication Yes and No. Yes to express that

condition fulfilled, No to express on the contrary

3. Always early Started and Finish or Start and Stop with schema of terminator

4. Exploiting appropriate konektor if flowchart will be divided to become some

part

5. Use simple Ianguage at used schema

Flowchart Structure

Flowchart consist of 3 structure, that is sequence, branching, and looping.

1. Structure of Sequence / Simple

Diagram that its path emit a stream of alternately the from the top to

downwards or equally ramification inexistence or repetition. Form the the

flowchart like :

53 | MLP1~Algoritma

Pemrograman

Page 55: MLP1~Algoritma Pemrograman

Example flowchart with structure of sequence this like algorithm to calculate

wide trilateral, wide square length, and area of circle.

2. Structure of Branching / Ramification

Diagram that its path happened / there are displacing control in the form of

ramification. Flowchart with ramification stuktur used for selection the

condition and take choice process hereinafter. Become, we given on to two

condition of choice, that is CORRECTNESS or is WRONG. Form of Flowchart the

like following : :

54 | MLP1~Algoritma

Pemrograman

Page 56: MLP1~Algoritma Pemrograman

If A>B, Right condition, current to path.

(1) if wrong condition, current to path (2)

Example : flowchart of algorithm determine the number which even or

anomalous input.

a. Structure displace conditional band

Happened ramification or switchover of path to other statement, because

there are condition which must fulfill. This structure divided of some part,

that is :

1) Structure IF – THEN – ELSE

Statement Decision that have band ' branch' representing the mechanism

to specify so that two choice which must be selected at one of its branch

that executed as action of decision statement. This will happened if there

are certain condition which claiming itsone of the choice and otherwise

happened the condition of which is expected hence other choice to be

done. Its depiction at] diagram emit a stream of to use decision box or of

decision table. Condition which have camputered above will be expressed

with Logic expression.Common Form writing is : :

IF K THEN S1 ELSE S2

55 | MLP1~Algoritma

Pemrograman

Page 57: MLP1~Algoritma Pemrograman

With K in condition, S1 and of S2 is statement to be done or often referred

also as multi statement, that is statement that branch. Diagram emit a

stream of from usage of structure of IF - THEN - ELSE described as by

following:

2) Structure of IF – THEN

This represent to form of dicision statement to happened at one

particular condition, if happened certain condition will be felt by S

statement, while otherwise happened the condition of which specified,

hence will be executed by statement below / under direct him. Common

Form writing ::

IF K THEN

S

ELSE may be written / not

With K is in a condition

S is statement to be done or often referred also as multi statement, that is

statement to be executed at branch alternative. Continuation of ELSE

vacuous statement, that is statement which not contain comand of

something. Diagram emit a stream of from usage of structure of IF - THEN

described as by following : :

56 | MLP1~Algoritma

Pemrograman

Page 58: MLP1~Algoritma Pemrograman

3) Structure of Branching compile

At this structure will there are some alternative as choice at one

particular condition of which specified, by using structure have a nest or

compile from IF - THEN - ELSE, that is that in IF - THEN - ELSE there are

IF - THEN - Other ELSE. Following common form picture writing of

structure compile : :

IF K1 THENIF K2 THENS1ELSES2

ELSEIF K3 THENS3ELSES4

Depiction of its path diagram shall be as follows :

57 | MLP1~Algoritma

Pemrograman

Page 59: MLP1~Algoritma Pemrograman

Depiction above can be watered down to become::

b. Structure displace band without is conditional.

58 | MLP1~Algoritma

Pemrograman

Page 60: MLP1~Algoritma Pemrograman

Referred that way, because happened an certain conditionthat oblige path

execute certain statement without minding its place in program

path.common Form writing is GO TO lable, with lable as symbol direction

from program which its naming follow the way of naming variable..

Example :

BEGIN FSGO TO HITUNG HITUNG; NILAI:=0 END.

3. Structure Looping/pengulangan

Flowchart with Structure restating used for previous stages until an condition

fufilled. To be referred also twiddling return. Happened when transferring

diagram current run back to to the so that some recuring path return several

times. Earn also conceived of execution with refer to statement by repeatedly

during certain condition still go into effect or is up to standard. If entering a

Loop, hence statement residing in depth ( body) have to enable process change

over to statement early inclusion. Otherwise happened, hence process will take

place to continue without end. Each time and loop of body the executed, hence

at least one variable value will change so that process loop will generate

influence having the character of comulated.

Form the flowchart like :

59 | MLP1~Algoritma

Pemrograman

Statement not be executed

Page 61: MLP1~Algoritma Pemrograman

Example of this flowchart for example algorithm to determine anomalous

number below / under value 20. So that process to print the the number will be

done until the condition of fufilled that is 20.

Diagram example emit a stream of structure of looping :

Common Form writing with WHILE K DO S statement with K and condition of S

represent one or a group of statement to be run. Condition will be tried, if Value

60 | MLP1~Algoritma

Pemrograman

Page 62: MLP1~Algoritma Pemrograman

of condition TRUE, hence S statement will be executed and operation of program

returned to WHILE statement because to later condition will be try again. If

condition of or ineligibility of FALSE, hence step hereinafter with statement after

S or exit of process of loop.

Note :

Third structure of flowchart above that is sequence, branching, and looping can be

used concurrently one diagram emit a stream of

F. Evaluation

1. Mention congeniality of flowchart!

2. Make a Flowchart process make a cup of coffee!

3. Flowchart How way of making flowchart?

4. Mention symbols which used in making flowchar!

5. Mention 3 structure of flowchart!!

61 | MLP1~Algoritma

Pemrograman