BAB I ALGORITMA DAN FLOWCHART

dokumen-dokumen yang mirip
Teori Algoritma. Struktur Algoritma

Bab 2 DASAR-DASAR ALGORITMA

Teori Algoritma TIPE DATA

Algoritma Pemrograman

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

Algoritma Pemrograman

STRUKTUR KONTROL. IF kondisi THEN [blok] Statement ELSE [blok] Statement. IF kondisi THEN BEGIN END; IF kondisi THEN BEGIN IF kondisi THEN BEGIN

.::BAB II.::MENGENAL PASCAL

Pertemuan 3 Penyeleksian Kondisi dan Perulangan

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2

Dasar Komputer & Pemrograman 2A

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom

Brigida Arie Minartiningtyas, M.Kom

Algoritma Pemrograman

Algoritma & Pemrograman 1. Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia

Pertemuan 3 Penyeleksian Kondisi

MATERI 2 JENIS-JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

Algoritma,Flowchart, Konsep

SMA SANTO PAULUS PONTIANAK

Pertemuan 4 KONSEP TIPE DATA

Tipe Data dan Operator dalam Pemrograman

PROGRAM PASCAL. 2. Tunggu beberapa saat sampai muncul tampilan program Turbo Pascal

MODUL 3 ALGORITMA PEMROGRAMAN

JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

& PEMROGRAMAN. Alex De Kweldju, S.Kom D3 Teknik Komputer Fakultas Teknik Universitas Negeri Papua

P A S C A L D A S A R

Konstruksi Dasar Algoritma

TIPE, NAMA, DAN NILAI

PENGANTAR LOGIKA DAN ALGORITMA DENGAN PASCAL

STRUKTUR DASAR ALGORITMA

KONSEP DASAR BAHASA PASCAL

Struktur Data. Belajar Struktur Data Menggunakan Pascal Pertemuan-1

Algoritma dan Pemrograman Bab II Dev Pascal, Variabel, Tipe Data. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

PERKEMBANGAN PASCAL. Pascal adalah bahasa tingkat tinggi ( high level language) yang orientasinya pada segala tujuan

Tipe Data dan Variabel. Dosen Pengampu Muhammad Zidny Naf an, M.Kom

MODUL I DAN 2 PENGANTAR dan IDENTIFIER PASCAL

Tugas Algoritma Kelompok XI NILAM CAHYA, MUH. JASIM, IMADUDDIN. Soal

Pemrograman Dasar Pascal

PENGANTAR ALGORITMA DAN PEMROGRAMAN

Algoritma dan Struktur Data

[Type the company name] [Type the document title] [Type the document subtitle] Gilang Abdul Aziz [Pick the date]

MODUL 1. Struktur Bahasa PASCAL secara umum

Chapter 3.2 : Tipe, Nama dan Nilai

Algoritma Pemrograman I KONSEP DASAR

Pertemuan Ke-2 (Teks Algoritma) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo

Pengantar dalam Bahasa Pemrograman Turbo Pascal

Belajar itu, Tidak harus menunggu materi dari guru Inisiatif Mencari itulah BELAJAR.

BAB IV STRUKTUR PROGRAM Struktur program pada dasarnya tersusun 3 struktur program utama yaitu : a. Struktur Berurutan (Sequence Structure) b.

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

OPERATOR DAN STATEMEN I/O

Memulai Pemrograman Pascal dengan Delphi Console 1. Buka aplikasi delphi 2. Pilih File New Other Console Application

KONSEP DASAR BAHASA PASCAL

SOAL PASCAL A. 1. Lengkapi Source Code Dibawah ini : {* Program Menghitung dengan Operator Matematika*}

Pengenalan Pascal. Sejarah Singkat Pascal

I. KATA PENGANTAR. Modul Algoritma Pemrograman. Modul Ke-4 - Hal 1

Algoritma Pemrograman I

LEMBAR PENGESAHAN JUDUL: PERCABANGAN OLEH :

Sesi/Perkuliahan ke: II

SOAL DAN JAWABAN UTS PEMROGRAMAN DASAR KELAS X

I. KATA PENGANTAR. Modul Algoritma Pemrograman. Modul Ke-3 - Hal 1

TPI4202 e-tp.ub.ac.id. Lecture 5

Algoritma dan Pemrograman Bab II Tipe Data, Variabel, & Konstanta

Indentifier, Keywords, Variable, Tipe Data dan Operator. Ramos Somya, S.Kom., M.Cs.

STRUKTUR KENDALI. Memanfaatkan struktur kendali untuk kasus komputasi

MATERI 4 PENYELEKSIAN KONDISI

Dasar Komputer & Pemrogaman 2A

PENDAHULUAN. Brigida Arie Minartiningtyas, M.Kom

Modul I. Modul Praktikum Bahasa Pemrograman Pascal

Struktur Data. Pertemuan 2

Modul 1 Pengantar Bahasa Pascal

Pertemuan 2 Operasi String

KONSEP DASAR BAHASA PASCAL. Pengertian SEJARAH SINGKAT BAHASA PASCAL STRUKTUR DAN KOMPONEN DASAR PROGRAM PASCAL.

Variabel dan Tipe Data Kusrini 1, Heri Sismoro 2

Bab 1 Algoritma dan Pemrograman Tersruktur

AP2a (Pascal) Akuntansi Kelas 1 Semester 2. Hana Pertiwi S.T

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

Definisi Percabangan

Dasar Komputer dan Pemrograman. Konsep Tipe Data dan Operator Nama dan Nilai Data

IF32222 STRUKTUR DATA TIPE DATA. Oleh : Andri Heryandi, M.T.

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 1 & 2

BAB I PENGENALAN STRUKTUR DATA DAN ALGORITMA

Algoritma dan Struktur Data I Mia Fitriawati, S.Kom, M.Kom

Algoritma Pemrograman Dalam Bahasa Pascal

KONSEP DASAR BAHASA PASCAL

Pengenalan Pascal/DevPascal

ALGORITMA TUGAS 2 RESUME ALGORITMA PERCABANGAN DAN ALGORITMA PERULANGAN. Disusun Oleh : Sakina Mawardah Teknik Informatika. Dosen : Asep M. Yusuf, S.

Chapter 5 Choice. repeatedly if tanda 2 on label: lakukan proses potong 2 if tanda 3 on label: lakukan proses potong 3 until switched off program 5.

Algoritma Pemrograman

Bambang Heru S Departemen Teknik Kimia Universitas Indonesia

Algoritma Pemrograman

Komentar Program. Komentar program dapat diletakkan dimanapun di dalam program. pembatas (* dan *).

Bahan Ajar. Tangerang 2013/2014. Fakultas Ilmu Komputer. Matakuliah Kode Mata Kuliah : KKKI : Algoritma dan Struktur Data I

Tipe Data dan Operator

Contoh 1: Akan dicetak angka 1 sampai 10 dengan menggunakan perulangan for

III STATEMEN IF KONDISI TUNGGAL DAN GANDA A. IF TUNGGAL. XI_Sem.1 SMA Sedes Sapientiae Bedono

Bab 1 Pengenalan Pascal 1 BAB I PENGENALAN PASCAL, TIPE-TIPE DATA PASCAL DAN STATEMEN DASAR PADA PASCAL TUJUAN PRAKTIKUM TEORI PENUNJANG

(Borland Delphi 7.0) BAB II. D3 Teknik Informatika FMIPA UNS Sakroni. Materi Pembahasan : Komentar Variabel Konstanta Operator Tipe Data Konversi Data

Sesi/Perkuliahan ke: I

BAHAN AJAR ALGORITMA DAN PEMROGRAMAN I

TIPE DATA dan OPERATOR

Transkripsi:

BAB I ALGORITMA DAN FLOWCHART A. ALGORITMA Sekilas Algoritma Algorima merupakan sebuah konsep tentang bagaimana menyelesaikan suatu permasalahan dengan menggunakan langkah-langkah yeng benar dan sistematis. Kenapa pemahaman algoritma dipandang perlu? hal ini terkait dengan proses kerja komputer. Seperti kita ketahui bahwa komputer bekerja berdasarkan instruksi yang diberikan, tentunya hasilnya akan tergantung proses yang diberikan, artinya bila instruksinya salah atau terbalik prosesnya maka hasil akhir akan tidak sesuai dengan harapan. Disinilah perlunya memberikan pemahaman algoritma pada peserta didik sebelum mengenal bahasa pemrograman. Konsep algoritma mengajarkan bagaiamana permasalahan diselesaikan dengan menggunakan suatu langkah yang terurut sehingga langkahlangkah tersebut mudah dipahami oleh semua orang. Contoh 1 : Tahukah kalian bangun persegi panjang? Tentu tahu khan?. Persegi panjang merupakan bangun yang terdiri atas lebar (l) dan panjang (p). Buatlah algoritma untuk mencari luas persegi panjang Jawab : Langkah 1 Langkah 2 Langkah 3 Langkah 4 Langkah 5 => mulai => masukkan; lebar (l), panjang (p) => proses; luar (ls) = lebar (l) x panjang (p) => cetak hasil; luas (ls) => selesai Contoh 2 : Pak akim akan mengolah data siswa untuk menentukan siswa yang lulus dan tidak lulus. Penentuan lulus didasarkan pada nilai akhir siswa, dimana nilai akhir adalah rata-rata dari ulangan harian (UH) 1 dan ulangan harian (H) 2. Jika nilai akhir siswa kurang dari 70 maka siswa dinyatakan tidak lulus, sebaliknya bila lebih dari 70 maka siswa dinyatakan lulus. Masukan adalah NIS, Nama, UH 1, UH 2, sedangkan keluaran adalah NIS, Nama, Keterangan. Bantulah pak akim membuat algoritma dari permasalahan tersebut agar beliau tidak pusing tujuh keliling sampai tidak bisa tidur. Jawab : Langkah 1 => mulai Langkah 2 => masukkan; NIS, Nama, UH1, UH2 Langkah 3 => proses; Nilai_Akhir=(UH1+UH2) / 2 Langkah 4 => lakukan proses pengambilan keputusan Jika nilai_akhir < 70 maka Keterangan= tidak lulus Jika tidak Keterangan= lulus Langkah 5 => cetak hasil; NIS, Nama, Keterangan Langkah 6 => selesai Mudah bukan belajar algoritma? Dengan keyakinan, semangat dan tentunya latihan akan mudah buat kita memahami algoritma. Oke, buat bahan belajar adas oal-soal latihan untuk mengasah kemampuanmu.

Soal-Soal Latihan Algoritma Kerjakanlah soal-soal latihan berikut ini : 1. Masih ingat kan dengan bangun bujur sangkar? Bujur sangkar adalah bangun yang memiliki ukuran sisi (s) yang sama, buatlah algoritma untuk m encari keliling dan luas dari suatu bujur sangkar 2. Masih ingat kan dengan bangun lingkaran? Lingkaran merupakan bangun yang berbentuk melingkar, buatlah algoritma untuk mencari keliling dan luas dari suatu lingkaran (carilah pada buku referensi bentuk rumus luas dan keliling lingkaran) 3. Masih ingat kan dengan bangun segitiga? Carilah bentuk segitiga dan rumus untuk mencari luas segitiga tersebut pada buku-buku referensi. Jika sudah dapat buatlah algoritmanya. B. FLOWCHART / BAGAN ALIR Sekilas Flowchart Pada prinsipnya flowchart (bagan alir) sama dengan algoritma, yang membedakan adalah flowchart menggunakan simbol-simbol untuk menjelaskan suatu penyelesaian kasus algoritma. Simbol-simbol yang digunakan adalah : : Simbol proses : Simbol pengambilan keputusan / percabangan : Simbol masukan (input) atau keluaran (output)s : Simbol sambungan (dalam satu halaman) : Simbol sambungan (lain halaman) : Simbol arah / arus proses : Simbol mulai (start) atau selesai (end) Contoh : Tahukah anda bangun persegi panjang? Tentu tahu khan?. Persegi panjang merupakan bangun yang terdiri atas lebar (l) dan panjang (p). Buatlah flowchart untuk mencari luas persegi panjang. Dengan ketentuan inputan lebar dan panjang tidak boleh bernilai kurang dari 0 Jawab : Langkah 1 => mulai Langkah 2 => masukkan; lebar (l), panjang (p) Langkah 3 => jika lebar (l) < 0 atau panjang (p) < 0 maka ke langkah 2 jika tidak ke langkah 4 Langkah 4 => proses; luar (ls) = lebar (l) x panjang (p) Langkah 5 => cetak hasil; luas (ls) Langkah 6 => selesai

Bagaimana membuat flowchartnya? Berikut jawabannya : Mulai Lebar (l), panjang (p) p < 0 or l < 0 Y T Ls = l x p Luas (ls) Selesai Soal-Soal Latihan Flowchart Kerjakanlah soal-soal latihan berikut ini : Soal Matematis : 4. Masih ingat kan dengan bangun bujur sangkar? Bujur sangkar adalah bangun yang memiliki ukuran sisi (s) yang sama, buatlah algoritma untuk mencari keliling dan luas dari suatu bujur sangkar 5. Masih ingat kan dengan bangun lingkaran? Lingkaran merupakan bangun yang berbentuk melingkar, buatlah algoritma untuk mencari keliling dan luas dari suatu lingkaran (carilah pada buku referensi bentuk rumus luas dan keliling lingkaran) 6. Masih ingat kan dengan bangun segitiga? Carilah bentuk segitiga dan rumus untuk mencari luas segitiga tersebut pada buku-buku referensi. Jika sudah dapat buatlah algoritmanya. Soal Cerita : Pak akim akan mengolah data siswa untuk menentukan siswa yang lulus dan tidak lulus. Penentuan lulus didasarkan pada uji blok siswa, dimana jika nilai uji blok siswa lebih dari 70 maka siswa dinyatakan lulus, sebaliknya kurang dari 70 maka siswa dinyatakan tidak lulus dan harus remedial sampai nilainya lebih dari 70. Masukan adalah NIS, Nama, Ulangan Harian (UH), sedangkan keluaran adalah NIS, Nama, Keterangan. Bantulah pak akim membuat algoritma dari permasalahan di atas agar beliau tidak pusing tujuh keliling dan tetap terlihat tegar ditengah badai...

BAB II PEMROGRAMAN PASCAL A. Sekilas Bahasa Program Pascal Secara umum yang disebut dengan program adalah kumpulan instruksi atau perintah yang disusun sedemikian rupa sehingga mempunyai nalar yang tepat untuk menyelesaikan suatu persoalan. Untuk menuliskan program tersebut diperlukan software bahasa pemrograman salah satunya adalah pascal. Nama PASCAL diambil dari nama seorang matematikawan Perancis yang juga merupakan pioner di dalam sejarah perkembangan komputer. Saat ini bahasa pascal terdapat beberapa jenis, ada Turbo Pascal ada juga Free Pascal, keduanya sama dalam aturan atau struktur atau tata bahasa namun sedikit berbeda dalam operasional. Dalam bahan ajar ini akan lebih menyoroti penggunaan Free Pascal. Dalam free pascal untuk melakukan Compilasi digunakan perintah F9 (tujuannya adalah untuk mengetahui apakah ada penulisan syntak yang salah dari source code program yang dibuat). Sedangkan untuk melakukan eksekusi source code program tersebut digunakan perintah CTRL + F9 B. Struktur Program Pascal Dalam menuliskan suatu program perlu diperhatikan struktur penyusunannya yaitu aspek-aspek yang menyangkut aturan-aturan penulisan program. Hal ini penting kita pelajari karena satu bahasa dengan satu bahasa yang lain memiliki aturan yang berbeda. Dengan memahami aturanaturan tersebut, diharapkan program yang tersusun akan bisa dijalankan dengan benar dan memberikan hasil seperti yang diinginkan. Disinilah pentinganya, sebelum mempelajari program sebaiknya mengenal algoritma dan flowchart. Struktur program pascal adalah sebagai berikut : program nama_program; { deklarasi nama program } uses... { deklarasi piranti } label... { deklarasi label } const... { deklarasi konstanta } type... { deklarasi tipe data }... { deklarasi iabel / perubah } procedure nama_procedure; function nama_function;.. { awal blok program utama } { statement-statement program } { akhir program utama } Dalam aplikasinya nanti tidak semua deklarasi digunakan semua secara bersamaan, tergantung pada kebutuhan.

Pengenal Pengenal digunakan untuk menunjukkan konstanta, iabel/perubah, nama program, type, prosedur, fungsi, unit dan juga label. Panjang pengenal sebaiknya kurang dari 63 karakter. Pengenal harus dimulai dengan huruf, baru kemudian boleh diikuti oleh huruf lain atau angka, tidak boleh mengandung spasi. Contoh : nama_siswa, latihan_pertama, A123, kesemuanya merupakan contoh yang benar, contoh yang salah adalah : nama siswa, latihan pertama, 123A. Baris Komentar Baris komentar adalah suatu kalimat yang biasanya digunakan untuk menjelaskan antara lain kegunaan dari program atau keterangan iabel. Cara menulis baris komentar adalah : { baris komentar } atau ( * baris komentar * ) Contoh : { ini program saya yang pertama } Konstanta Deklarasi konstanta menunjukkan nilai yang tetap dari suatu pengenal dan berlaku pada blok dimana deklarasi tersebut dinyatakan. Bentuk umum dari deklarasi konstanta adalah : const pengenal = nilai; dimana pengenal : nama pengenal nilai : nilai konstanta contoh const nama= diana ; nilai = 100; C. Tipe Data Dalam pascal, semua perubah / iabel yang akan dipakai harus sudah ditentukan tipe datanya. Pascal mengenal beberapa tipe data a. string, tipe data ini digunakan untuk data string atau huruf misalkan nama, alamat, dll. b. char, tipe data ini digunakan untuk data karakter / satu buah karakter misalkan A a 4 dll c. boolean, tipe data ini hanya mempunyai dua nilai yaitu benar dan salah dengan menggabungkan pada operator and, or, not maka akan diperoleh nilai True atau False misalkan : awal=100, akhir=90, maka awal and akhir hasilnya adalah False d. integer, tipe data ini digunakan untuk data angka bilangan bulat e. real, tipe data ini digunakan untuk data angka bilangan pecahan Tipe data integer dan real masing-masing dibagi lagi dalam 5 kelompok, pembagian ini berdasarkan batasan nilai yang mampu ditampung. Tipe integer : Tipe Batas Nilai byte 0... 255 shortint - 128... 127 integer - 32768... 32767 word 0... 65535 longint - 2147483648... 2147483647

Tipe real : Tipe Ukuran dalam byte real 6 single 4 double 8 extended 10 comp 8 D. Operator a. Operator Aritmatika Berkenaan dengan bilangan integer dan bilangan real dikenal operator aritmatika. Pada bilangan integer dan bilangan real terdapat sedikit perbedaan pada penggunaan operator aritmatika. Integer Real Fungsi + + Merupakan operator untuk penjumlahan - - Merupakan operator untuk pengurangan * * Merupakan operator untuk perkalian div / Merupakan operator untuk pembagian mod Merupakan operator untuk mencari sisa pembagian Operator div pada bilangan integer dan operator / pada bilangan real sama-sama digunakan untuk melakukan operasi pembagian, perbedaanya adalah operaor div hasil baginya adalah bilangan bulat dengan kata lain bila hasil baginya bilangan pecahan maka akan dibulatkan, sedangkan / hasil baginya adalah bilangan pecahan. Contoh : 5 div 2 = 2 => Hasil dari operasi disamping adalah 2 bukan 2,5 dengan kata lain bilangan tersebut dibulatkan menjadi 2 (angka dibelakang koma dihilangkan) 5 / 2 = 2,5 => Bila menggunakan / maka hasilnya adalah bilangan pecahan, artinya bilangan dibelakang koma tetap ditulis. Operator mod digunakan untuk mencari sisa bagi. Contoh : 5 mod 2 = 1 => Dapatkah kalian memahaminya? tentu kalian tahu MOD adalah operator untuk mencari sisa bagi. 2 x angka berapakah yang hasilnya sama dengan atau mendekati 5? Jawabnya tentu 2, dari mana dapat 2?, karena (2 x 2) = 4, maka 5 4 = 1 ( 1 adalah sisa bagi). 100 mod 30=10 => 30 x angka berapakah yang menghasilkan atau mendekati 100? Jawabnya tentu 3, karena 30 x 3 = 90, maka 100 90 = 10 (10 adalah sisa bagi), kenapa tidak 4? Karena 30 x 4 = 120 (lebih dari 100) jadi angka 3 yang mendekati jika dikalikan dengan 30.

b. Operator Logika Operator logika digunakan untuk mengoperasikan operand-operand yang bertipe boolean. Yang termasuk operator logika adalah not, and, or dan xor. Operator not disebut juga ingkaran dimana apabila sebuah operand bernilai True maka bila di lakukan operasi not hasilnya False, dan sebaliknya Contoh : nilai1,nilai2:boolean; nilai1:=true; nilai2:=not(nilai1); write(nilai2); Hasil dari kode program di atas adalah FALSE Operator logika AND memiliki memiliki nilai kebenaran apabila kedua atau lebih kondisi adalah benar atau apabila salah satu kondisi bernilai salah maka hasilnya pasti salah. Tabel kebenaran untuk operator ini sebagai berikut: Kondisi 1 Kondisi 2 Kondisi 3 X and Y X and Y (misalkan X) (misalkan Y) (mislakan Z) and Z 1 1 0 1 0 1 0 1 0 0 0 1 1 0 0 0 0 0 0 0 Dimana 1= benar, 0=salah. Operator logika OR memiliki memiliki nilai kebenaran apabila salah satu kondisi adalah benar atau apabila kedua atau lebih kondisi kondisi bernilai salah maka hasilnya pasti salah. Tabel kebenaran untuk operator ini sebagai berikut: Kondisi 1 Kondisi 2 Kondisi 3 (misalkan X) (misalkan Y) (mislakan Z) X or Y X or Y or Z 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 0 0 1 0 1 dimana 1= benar, 0=salah. c. Operator Relasi Operator ini digunakan untuk membandingkan dua buah operand yang akan memberikan hasil berupa data bertipe boolean yang menunjukkan apakah pembandingan tersebut benar atau salah. Operand Keterangan Hasil = Sama dengan Boolean <> Tidak sama dengan Boolean < Lebih kecil dari Boolean > Lebih besar dari Boolean <= Lebih kecil atau sama dengan Boolean >= Lebih besar atau sama dengan Boolean In Anggota dari Boolean

E. Perintah Read dan Write Perintah read arau readln digunakan untuk membaca data, perbedaan diantara keduanya adalah read digunakan untuk membaca data dalam satu baris sedangkan readln digunakan untuk membaca pada lain baris atau baris berikutnya Sedangkan perintah write atau writeln digunakan untuk menampilkan atau mencetak data. Perbedaannya adalah perintah write akan mencetak data satu baris sedangkan perintah writeln akan mencetak data berikutnya pada baris berikutnya pula. F. Perintah Percabangan / Pemilihan Blok percabagan atau blok pemilihan merupakan blok kontrol yang digunakan untuk memilih statemen atau aksi-aksi yang akan dilakukan, dimana pemilihan tersebut didasarkan atas nilai-nilai dari kondisi tertentu. Suatu aksi akan dilakukan atau dieksekusi oleh program apabila kondisi yang didefenisikan untuk aksi tersebut bernilai benar (true), sebaliknya tidak terpenuhi atau salah (false) maka program akan melakukan aksi lain. a. Statemen if Statemen if akan diikuti oleh ekspresi (sebagai kondisi yang akan diperiksa) dan selalu berpasangan dengan kata then. Apabila statemen yang akan diperiksa hanya satu maka tidak perlu menuliskan blok..., namun apabila lebih dari satu maka blok... harus dituliskan. Blok IF untuk satu kasus Merupakan bentuk yang paling sederhana karena hanya melibatkan satu kondisi yang akan diperiksa. Apabila kondisi yang diperiksa bernilai benar, maka program akan mengeksekusi bagian yang berada dalam blok. Bila sebaliknya maka program akan mengabaikan yang di dalam blok dan langsung melanjutkan ke statemen-statemen dibawahnya. Bentuk dari model ini adalah sebagai berikut : { bila terdiri dari satu statemen } if (ekspresi) then statemen; { bila terdiri dari lebih satu statemen } if (ekspresi) then statemen1; statement2;... Contoh penggunaan dalam program : program latihanif; x : integer; write( masukkan sebuah bilangan : );readln(x); { blok if nya disini } if (x > 8) then writeln(x, lebih besar dari 8 );

Blok IF untuk dua kasus Bentuk umum dari blok if dua kasus adalah : if (kondisi) then statemen_jika kondisi benar (tanpa titik koma dibelakang) else statemen_jika kondisi benar; (diakhiri titik koma dibelakang) atau atau if (kondisi) then statemen_jika kondisi benar; (diakhiri titik koma dibelakang) end else statemen_jika kondisi benar; (diakhiri titik koma dibelakang) if (kondisi) then statemen_jika kondisi benar; (diakhiri titik koma dibelakang) end else statemen_jika kondisi benar; (diakhiri titik koma dibelakang) Contoh penggunaan dalam program : program latihanif; x : integer; write( masukkan sebuah bilangan : );readln(x); { blok if nya disini } if (x mod 2=0) then writeln(x, merupakan bilangan genap ) else writeln(x, merupakan bilangan ganjil ); Blok IF untuk tiga atau lebih kasus Bentuk umum dari blok if tiga atau lebih kasus adalah : if (kondisi-1) then statemen_jika kondisi1 benar; end else if (kondisi-2) statemen_jika kondisi2 benar; else statemen_alternatif;

Contoh penggunaan dalam program : program latihanif; x : integer; write( masukkan sebuah bilangan : );readln(x); { blok if nya disini } if (x < 0) then writeln(x, merupakan bilangan negatif ); else if (x = 0) then writeln(x, merupakan bilangan 0 ); else writeln(x, merupakan bilangan positif ); b. Statemen Case Statemen case pada prinsipnya sama dengan if, bentuk umum dari statemen ini adalah : case (ekspresi) of nilai_konstanta1: statemen1; nilai_konstanta2: statemen2;... else statemen_akhir; Contoh penggunaan dalam program : program latihancase; angka_hari : integer; write( masukkan sebuah bilangan 1..7: );readln(angka_hari); case angka_hari of 1: write( hari ke-1 adalah hari minggu ); 2: write( hari ke-2 adalah hari senin ); 3: write( hari ke-3 adalah hari selasa ); 4: write( hari ke-4 adalah hari rabu ); 5: write( hari ke-5 adalah hari kamis ); 6: write( hari ke-6 adalah hari jumat ); 7: write( hari ke-7 adalah hari sabtu ); else write( tidak ada hari ke-,angka_hari);

G. Perintah Perulangan / Looping Blok perulangan merupakan suatu blok program yang memiliki mekanisme untuk melakukan pengeksekusian statemen secara berulang-ulang. Hal ini akan membuat program yang ditulis akan lebih efisien. a. Statemen for Bentuk perulangan for pada umumnya digunakan untuk melakukan perulangan yang banyaknya sudah diketahui secara pasti. Bentuk penulisan statemen for adalah : { untuk satu statemen } for iabel := batas_awal to batas_akhir do statemen_yang_akan_diualng; { untuk lebih dari satu statemen } for iabel := batas_awal to batas_akhir do statemen_yang_akan_diulang1; statemen_yang_akan_diulang2; Contoh penggunaan dalam program : program blok_for; i : integer; for i := 1 to 10 do write(i); Program diatas bila dieksekusi akan mencetak angka 1 s.d. 10 secara mendatar. Terlihat bahwa dengan statemen perulangan ini untuk menampilkan data 1 s.d. 10 tidak perlu menggunakan peritah write sampai sepuluh kali sehingga program lebih efisien. b. Statemen while Berbeda dengan bentuk for, pada konstruksi pengulangan while ini terdapat suatu kondisi yang harus diperiksa kebenarannya. Apabila kondisi yang didefenisikan bernilai benar (true) maka statemen yang ada dalam blok pengulangan akan proses, sebaliknya bila salah maka statemen yang ada dalam blok akan diabaikan. Bentuk penulisan swhile adalah : { untuk satu statemen } while kondisi do statemen; { untuk lebih dari satu statemen } while kondisi do statemen_yang_akan_diulang1; statemen_yang_akan_diulang2;

Contoh penggunaan dalam program : program blok_while; i : integer; i := 1; while (i <= 10) do write(i); i:=i+1; Program diatas bila dieksekusi akan mencetak angka 1 s.d. 10 secara mendatar. Terlihat bahwa dengan statemen perulangan ini untuk menampilkan data 1 s.d. 10 tidak perlu menggunakan peritah write sampai sepuluh kali sehingga program lebih efisien. c. Statemen Repet <blok statemen > until (kondisi) Blok ini sebenarnya mirip dengan while, perbedaannya perintah ini akan melakukan perulangan secara terus menerus selahi kondisi salah (false), bila kondisi terpenuhi (benar) maka proses berhenti. Bentuk umum penulisannya adalah : repeat statemen;.. until(kondisi) Contoh penggunaan dalam program : program blok_while; i : integer; i := 1; repeat write(i); i:=i+1; until(i>10); Program diatas bila dieksekusi juga akan mencetak angka 1 s.d. 10 secara mendatar seperti hasil pada perulangan for maupun while. Terlihat juga bahwa dengan statemen perulangan ini untuk menampilkan data 1 s.d. 10 tidak perlu menggunakan peritah write sampai sepuluh kali sehingga program lebih efisien.

Soal-Soal Latihan Soal Praktikum : 1. Masih ingat kan dengan bangun bujur sangkar? Bujur sangkar adalah bangun yang memiliki ukuran sisi (s) yang sama, buatlah program untuk mencari keliling dan luas dari suatu bujur sangkar 2. Masih ingat kan dengan bangun lingkaran? Lingkaran merupakan bangun yang berbentuk melingkar, buatlah program untuk mencari keliling dan luas dari suatu lingkaran (carilah pada buku referensi bentuk rumus luas dan keliling lingkaran) 3. Masih ingat kan dengan bangun segitiga? Carilah bentuk segitiga dan rumus untuk mencari luas segitiga tersebut pada buku-buku referensi. Jika sudah dapat buatlah programnya. Soal Analisis Praktikum 4. Pak akim akan mengolah data siswa untuk menentukan siswa yang lulus dan tidak lulus. Penentuan lulus didasarkan pada uji blok siswa, dimana jika nilai ulangan harian siswa lebih dari 70 maka siswa dinyatakan lulus, sebaliknya kurang dari 70 maka siswa dinyatakan tidak lulus dan harus remedial sampai nilainya lebih dari 70. Masukan adalah NIS, Nama, Ulangan Harian, sedangkan keluaran adalah NIS, Nama, Keterangan. Bantulah pak akim menyelesaikan permasalahan di atas dalam bentuk program dengan menggunakan software free pascal agar beliau tidak pusing tujuh keliling dan tetap terlihat tegar...

Contoh Contoh Program : a. Program untuk mengkonversi dari detik ke jam program konversi_detik_ke_jam; detik:real; jam:real; write('masukkan detik='); readln(detik); jam:=detik/3600; writeln('jam=',jam:10:2); b. Program untuk mengkonversi dari jam ke detik program konversi_jam_ke_detik; jam:real; detik:real; write('masukkan jam='); readln(jam); detik:=jam*3600; writeln('total detik=',detik:10:2); c. Program untuk mencari koordinat titik tengah dari kedua titik yang diketahui Program Koordinat_Titik_Tengah; x1, x2, y1, y2, a, b, titik_tengah_x, titik_tengah_y:real; write('masukkan nilai x1 =');readln(x1); write('masukkan nilai x2 =');readln(x2); write('masukkan nilai y1 =');readln(y1); write('masukkan nilai y2 =');readln(y2); titik_tengah_x:=((x1+x2)/2); titik_tengah_y:=((y1+y2)/2); writeln('titik_tengah_x=',titik_tengah_x:10:2); writeln('titik_tengah_y=',titik_tengah_y:10:2);

d. Program untuk Mencari Luas Bujur Sangkar sisi : real; luas :real; write('berapa sisi bujursangkar? ');readln(sisi); write('berapa sisi bujursangkar? ');readln(sisi); luas := sisi * sisi; writeln('luas bujursangkar= ', luas); e. Program untuk Mencari Luas dan Keliling Lingkaran const phi=3.142857; r, Luas, Keliling:real; write ('masukkan jari-jari lingkaran: ');readln(r); Luas:=(phi*r*r); Keliling:=(phi*2*r); writeln ('luas:', Luas:10:3); writeln ('keliling:', Keliling:10:3); f. Program untuk Mencari Luas Permukaan Tabung dan Kerucut const phi=3.142857; r, t, s, luas_permukaan_tabung, luas_permukaan_kerucut:real; write('masukkan jari-jari =');readln(r); write('masukkan tinggi =');readln(t); write('masukkan selimut_kerucut =');readln(s); luas_permukaan_tabung:=((2*phi*r*r)+(2*phi*r*t)); luas_permukaan_kerucut:=((phi*r*r)+(phi*r*s)); writeln('luas_permukaan_tabung=',luas_permukaan_tabung:5:2); writeln('luas_permukaan_kerucut=',luas_permukaan_kerucut:5:2);

g. Program untuk Mencari Luas Segitiga pjg, lbr, als, tg, NomorMenu:Integer; l_persegi, l_segitiga, kll_segitiga, kll_persegi:integer; writeln('rumus luas segitiga'); write('masukan alas segitiga: '); readln(als); write('masukan tinggi segitiga: '); readln(tg); l_segitiga:= als*tg div 2; writeln('luas segitiga adalah ',l_segitiga); readln; h. Program untuk Luas Trapesium Uses crt; Var sisi_a,sisi_b,tinggi,luas:real; Begin write ( masukkan sisi a: ); readln (sisi_a); write( masukkan sisi b: ); readln(sisi_b); write ( masukkan tinggi: ); readln(tinggi); Luas:=(sisi_a+sisi_b)/2*tinggi; writeln( Luas Trapesium adalah:,luas:8:2); readln; i. Program untuk Menentukan Volume Bola jari_jari,volume:real; write ( masukkan jari-jari: ); readln (jari_jari); volume:=jari_jari*jari_jari*4/3*pi; writeln( Volume Bola adalah:,volume:8:2); readln;

j. Program untuk Mencari Luas Segi Empat panjang:integer; lebar:integer; luas:integer; Begin writeln('panjangnya'); readln(panjang); writeln('lebarnya'); readln(lebar); luas:=panjang*lebar; writeln('luas segi4=',luas); End. k. Program untuk Operasi Bilangan a,b,c,d,e,h:integer; f,g:real; write('masukkan nilai pertama = ');readln(a); write('masukkan nilai kedua = ');readln(b); c:=a+b; d:=a-b; e:=a*b; f:=a/b; g:=a div b; h:=a mod b; writeln('hasil penjumlahan = ',c); writeln('hasil pengurangan = ',d); writeln('hasil perkalian = ',e); writeln('hasil pembagian = ',f:0:2); writeln('hasil pembagian bulat = ',g:0:2); writeln('sisa hasil bagi = ',h); l. Program untuk mencari Akar Persamaan a,b,c,x,x1,x2,d : real; writeln ('berapa a?'); read (a); writeln ('berapa b?'); read (b); writeln ('berapa c?'); read (c); D:=b*b-4*a*c ;

if D=0 then x:= -b/(2*a); write ('akar-akarnya real kembar yaitu ',x); end else if D>0 then x1:= (-b + sqrt(d))/(2*a); x2:= (-b - sqrt(d))/(2*a); writeln('akarnya real berbeda yaitu x1= ',x1:0:0); writeln('x2= ',x2:0:0); end else writeln('akarnya tidak real yaitu '); j. Program untuk Konversi Hari ke Tahun, Bulan, Hari type hari = record yy:longint; mm:longint; dd:longint; d : hari; totalhari : longint; sisa : longint; write ('total hari: '); readln (totalhari); d.yy:= totalhari div 365 ; sisa:= totalhari mod 365 ; d.mm:= totalhari div 30; sisa:= totalhari mod 30; d.dd:= totalhari div 1; sisa:= totalhari mod 1; writeln ('d.yy= ', d.yy); writeln ('d.mm= ', d.mm); writeln ('d.dd= ', d.dd);