Anda di halaman 1dari 62

2011

Muatan Lokal Produktif 1


Algoritma Pemrograman
Pengertian Dasar Logika dan Algoritma | Konsep Tipe Data | Diagram Alir

TEKNIK KOMPUTER DAN INFORMATIKA KKN-PPL UNY 2011 7/29/2011

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 Jafar 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
KKN-PPL UNY 2011 | 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 masalah: Algoritma adalah suatu metode khusus yang digunakan untuk menyelesaikan suatu masalah yang nyata. Berikut adalah tahap penyelesaian

2
KKN-PPL UNY 2011 | MLP1~Algoritma Pemrograman

Masalah

Analisis

Model

Algoritma

Analisis

Program

Program

Eksekusi

Hasil

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
KKN-PPL UNY 2011 | 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 bagianbagian 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
KKN-PPL UNY 2011 | 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. j. Apakah ada kendaraan dari arah kiri? 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
KKN-PPL UNY 2011 | 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
KKN-PPL UNY 2011 | MLP1~Algoritma Pemrograman

Start

Masukkan Alas

Masukkan Tinggi

Luas=(Alas*Tinggi)/2

Cetak Luas

Stop

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.
7
KKN-PPL UNY 2011 | MLP1~Algoritma Pemrograman

e. Bagaimana Menguji Program Dari Suatu Algoritma 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
KKN-PPL UNY 2011 | 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
KKN-PPL UNY 2011 | 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.

10
KKN-PPL UNY 2011 | MLP1~Algoritma Pemrograman

e. Efektifitas 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 instruksiinstruksi 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 :

11
KKN-PPL UNY 2011 | MLP1~Algoritma Pemrograman

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 ? 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!
12
KKN-PPL UNY 2011 | MLP1~Algoritma Pemrograman

3. Siapakah tokoh yang pertama kali memperkenalkan algoritma? 4. Sebutkan kriteria dalam pemilihan algoritma! 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!

13
KKN-PPL UNY 2011 | MLP1~Algoritma Pemrograman

MODUL 2 KONSEP TIPE DATA

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 runtime disebut objek (object). Data di dalam objek hanya dapat diakses oleh instruksi yang ada di dalam objek itu saja.
14
KKN-PPL UNY 2011 | MLP1~Algoritma Pemrograman

Paradigma pemrograman yang lain adalah pemrograman fungsional, pemrograman deklaratif, dan pemrograman konkuren. Modul ini hanya menyajikan 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
15
KKN-PPL UNY 2011 | MLP1~Algoritma Pemrograman

deklarasi unit deklarasi label deklarasi konstanta deklarasi tipe deklarasi variabel deklarasi prosedur

deklarasi fungsi

b. Bagian pernyataan Judul Program Blok Program Bagian Deklarasi deklarasi unit deklarasi label deklarasi konstanta deklarasi tipe deklarasi variabel deklarasi prosedur deklarasi fungsi Bagian Pernyataan
Begin (statement) ; ; End. USES nama_unit; LABEL nama_label; CONST nama_konstanta; TYPE nama_tipe; VAR nama_variabel; PROCEDURE nama_prosedur; ; FUNCTION nama_fungsi; ;

PROGRAM nama_program;

Contoh : Program menghitung luas persegi panjang dengan panjang P dan lebar L
PROGRAM Luas_Persegi_Panjang; USES Crt; VAR P,L,Luas: real; BEGIN Read(P,L); Luas := P*L; Write(P,L,Luas); END. 16
KKN-PPL UNY 2011 | MLP1~Algoritma Pemrograman

{Judul program} {Deklarasi unit} {Deklarasi variabel} {Statemant} {Statement} {Statement}

1. Judul Program 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. Ketentuanketentuan 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
KKN-PPL UNY 2011 | 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 Crt Wincrt Dos WinDos Printer Graph System Keterangan Berisi rutin yang berkaitan dengan layar, keyboard, dan suara. Unit ini ada pada pascal untuk dos. Hampir sama dengan unit crt tetapi digunakan untuk pascal for windows. Unit yang berisi rutin yang digunakan untuk operasi terhadap system operasi dan penanganan dos. Hampir sama dengan unit dos tetapi digunakan dalam pascal for windows. Berisi fasilitas untuk melakukan operasi yang berkaitan dengan pencetakan data melalui printer. Berisi rutin yang digunakan untuk melakukan operasi berkaitan dengan grafis. Berisi sejumlah pustaka yang digunakan saat eksekusi (runtime library). Rutime berisi hal-hal berikut: - penanganan input / output file - penanganan string - alokasi dinamis

18
KKN-PPL UNY 2011 | 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
KKN-PPL UNY 2011 | 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
KKN-PPL UNY 2011 | MLP1~Algoritma Pemrograman

Untuk PROCEDURE

mendeklarasikan kemudian

prosedur dengan

dapat nama

digunakan prosedur.

klausa Setelah

diikuti

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
KKN-PPL UNY 2011 | 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 :
4 5 20 22
KKN-PPL UNY 2011 | 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 Panjang Masukan Sisi Panjang =4 Masukan Sisi Lebar=5 Luas 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
KKN-PPL UNY 2011 | 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 Datang Ini 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
KKN-PPL UNY 2011 | 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
KKN-PPL UNY 2011 | 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 Byte Shortint Word Integer longint Contoh:
Var a,b,c:integer; Begin A:=5; B:= -10; C:=A+B; Write(C); End;

Rentang Nilai 0..125 -128 .. 127 O .. 65535 -32768..32767 -2147483648..2147483647

Ukuran 8 bit 8 bit 16 bit 16 bit 32 bit

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
KKN-PPL UNY 2011 | 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 ASCII Masukan nilai karakter ASCII [0-255]=68 Karakter=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
KKN-PPL UNY 2011 | 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 Real Single Double Extended Comp Rentang nilai 2.9e-39..1.7e38 1.5e-45..3.4e38 5.0e-324..1.7e308 3.4e-4932..1.1e4932 -2E63+ 1 .. 2E63-1 Angka signifikan 11 12 7 -8 15 16 19 -20 19 -20 Byte 6 4 8 10 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
KKN-PPL UNY 2011 | MLP1~Algoritma Pemrograman

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

Hasil Output:
Program Operasi Pembagian Masukan Nilai A=20 Masukan Nilai B=3 Hasil 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
KKN-PPL UNY 2011 | 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= Andi Selamat 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
KKN-PPL UNY 2011 | 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

31
KKN-PPL UNY 2011 | MLP1~Algoritma Pemrograman

sampai ke - n. Array dapat dibuat beberapa dimensi, misalnya untuk menggambarkan matrix kita perlu menggunakan Array 2 dimensi. 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)

32
KKN-PPL UNY 2011 | MLP1~Algoritma Pemrograman

File adalah kumpulan sejumlah komponen yang bertipe sama yang jumlahnya tidak tertentu dan biasanya tersimpan dalam suatu media penyimpanan luar. 4. Tipe data pointer 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);

33
KKN-PPL UNY 2011 | MLP1~Algoritma Pemrograman

Untuk mendeklarasikan sebuah variabel yang bertipe hari dideklarasikan pada bagian deklarasi variabel. Contoh:
Var 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..100 HurufBesar=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.
34
KKN-PPL UNY 2011 | MLP1~Algoritma Pemrograman

Program Nilai_Siswa1; Uses crt; Type nilai=1..100; var nilaisiswa:nilai; begin writeln(Program Nilai Siswa); write(Masukkan Nilai Siswa =); readln(nilaisiswa); writeln(Nilai Siswa =,nilaisiswa); Readln; end.

Hasil Output Program:


Program Nilai Siswa Masukkan Nilai Siswa =98 Nilai 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:
35
KKN-PPL UNY 2011 | MLP1~Algoritma Pemrograman

Nilai:=100; A:=10; B:=25; C:=A*B;

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 *,/ Div Mod +,Operasi Tanda negative Pekalian dan pembagian Pembagian integer Modulo (sisa hasil bagi) Penambahan dan pengurangan

Keterangan: Operasi tanda negatif akan memberikan nilai negasi dari nilai yang disebutkan. Contoh:
-5 + 10 = 5

36
KKN-PPL UNY 2011 | MLP1~Algoritma Pemrograman

Operasi div akan menghasilkan nilai pembagian dalam bilangan bulat tanpa nilai pecahan. Contoh:
8 div 3 = 2 4 div 5 = 0 15 div 3 = 5 16 div 3 = 5

Operasi mod akan menghasilkan nilai sisa hasil bagi. Contoh:


5 mod 2 = 1 3 mod 5 = 3 11 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.
37
KKN-PPL UNY 2011 | MLP1~Algoritma Pemrograman

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

3. Operator Logika 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 NOT AND OR XOR Keterangan Tidak Dan Atau Exclusive OR juga memiliki urutan

Sebagaimana operator matematika, operator logika lebih dari satu operator. a. Operator NOT

prioritas dalam melakukan prosesnya apabila dalam suatu pernyataan terdapat

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 True False Hasil Operasi NOT False True

38
KKN-PPL UNY 2011 | MLP1~Algoritma Pemrograman

Contoh:
A:=true; B:=Not A;

Hasil yang ada pada variable B adalah FALSE. 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 False False True True Contoh:

Ekspresi2 False True False True

Ekspresi 1 AND Ekspresi2 False False False True

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
39
KKN-PPL UNY 2011 | MLP1~Algoritma Pemrograman

Ekspresi1 False False True True Contoh:


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

Ekspresi2 False True False True

Ekspresi 1 OR Ekspresi2 False True True True

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 False False True True Contoh:
A:=true; B:=true; C:=A Xor B

Ekspresi2 False True False True

Ekspresi 1 XOR Ekspresi2 False True True False

Variabel C mengandung nilai hasil operasi XOR yaitu false.

40
KKN-PPL UNY 2011 | MLP1~Algoritma Pemrograman

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 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:

41
KKN-PPL UNY 2011 | MLP1~Algoritma Pemrograman

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

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
KKN-PPL UNY 2011 | 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
KKN-PPL UNY 2011 | MLP1~Algoritma Pemrograman

Contoh 1:
MULAI

AMBIL BAN SEREP

AMBIL KUNCI & DONGKRAK

MOBIL DIDONGKRAK

BUKA BAUT

LEPAS BAN PECAH

PASANG BAN SEREP

PASANG BAUT

LEPAS DONGKRAK

SIMPAN BAN PECAH, KUNCI & DONGKRAK

SELESAI

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
KKN-PPL UNY 2011 | MLP1~Algoritma Pemrograman

Contoh 2:
MULAI

AMBIL BAN SEREP

BAN SEREP KEMPIS

YA

BAN SEREP BOCOR

YA

TAMBAL BAN SEREP

TIDAK TAMBAL ANGIN BAN SEREP TIDAK

AMBIL KUNCI & DONGKRAK

MOBIL DIDONGKRAK

BUKA BAUT

LEPAS BAN PECAH

PASANG BAN SEREP

PASANG BAUT

LEPAS DONGKRAK

SIMPAN BAN PECAH, KUNCI & DONGKRAK

SELESAI

Gambar 2. Flowchart proses mengganti ban mobil dengan kemungkinan ban serep kempis
45
KKN-PPL UNY 2011 | 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 uruturutan 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
KKN-PPL UNY 2011 | 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
KKN-PPL UNY 2011 | MLP1~Algoritma Pemrograman

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 :
Keyboard d Disket

CPU

VDU

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 :


Start A

Input

Output

Proses

End

48
KKN-PPL UNY 2011 | MLP1~Algoritma Pemrograman

Start

Input Berapa Data; N

Jml = 0

For K = 1 to N

Input Bil

Jml = Jml + Bil

Next K

Print Jumlah =; Jml

End

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 Flow Name Function Depict the way of flow on proces

49
KKN-PPL UNY 2011 | 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 Process Name Function Expressing proces to doing by another computer Manual Expressing proces that cant 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
KKN-PPL UNY 2011 | 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 Input/output Function 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
KKN-PPL UNY 2011 | 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 :

X5

Variabel X diberi harga sebesar 5

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


CPQ

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.
NN+1

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


SS+T

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 variable of string, the example : :
N$ SEKOLAH Suatu variabel string SEKOLAH diberikan sebagai harga variabel N$

numerik

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

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.
Baca A Himpunan data, mis 12 data yang berharga 12 dibaca untuk kemudian diberikan pada variabel A. Harga A sekarang = 12

52
KKN-PPL UNY 2011 | 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
KKN-PPL UNY 2011 | 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
KKN-PPL UNY 2011 | MLP1~Algoritma Pemrograman

Ya (1) A>B?

Tidak (2)

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
KKN-PPL UNY 2011 | 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:

True K Cabang THEN

False

Cabang ELSE

S1

S2

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 described as by following : :
56
KKN-PPL UNY 2011 | MLP1~Algoritma Pemrograman

not contain comand of

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

True K Cabang THEN

False

Cabang ELSE yang disebut juga jalur hampa S

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 THEN IF K2 THEN S1 ELSE S2 ELSE IF K3 THEN S3 ELSE S4
Depiction of its path diagram shall be as follows :

57
KKN-PPL UNY 2011 | MLP1~Algoritma Pemrograman

True K1

False

True K2

False

True K3

False

S1

S2

S3

S4

Depiction above can be watered down to become::

True K1

False

True K2

False

True K3

False

S1

S2

S3

S4

b. Structure displace band without is conditional.


58
KKN-PPL UNY 2011 | 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 FS GO TO HITUNG HITUNG; NILAI:=0 END.

Statement not be executed

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
KKN-PPL UNY 2011 | 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 :

A1

(1) Var A diberi harga 1

A A+1

Var A berubah harganya menjadi 2

B A*A

Var B diberi harga sebesar harga A dikali harga A. jadi, Var B berharga 4

CETAK B

Harga B dicetak (tercetak 4) kemudian kembali ke (2), (3), (4), dan kembali lagi ke (2) dst. Jadi yang akan tercetak 4, 9, 16, , dst

60
KKN-PPL UNY 2011 | MLP1~Algoritma Pemrograman

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 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
KKN-PPL UNY 2011 | MLP1~Algoritma Pemrograman

Anda mungkin juga menyukai