Mateti Pascal
Mateti Pascal
A. ALGORITMA
Algoritma adalah langkah-langkah proses yang disusun secara logis dan berurutan untuk menyelesaikan suatu
masalah dengan tepat. Algoritma digunakan sebagai panduan langkah demi langkah untuk menuliskan program. Jika
algoritma yang dibuat salah, maka penulisan programnya juga akan salah. Karena itu, algoritma sangat penting untuk
dipelajari dan dikuasai dengan baik. Jika sudah terbiasa menggunakan algoritma untuk menulis program, maka
semakin mudah kita dalam menulis program (koding).
Kriteria algoritma adalah sebagai berikut:
▪ Setiap langkah harus jelas dan pasti.
▪ Jumlah langkah harus berhingga atau harus selesai.
▪ Ditulis dengan kalimat yang mudah dipahami sehingga tidak menimbulkan arti ganda.
▪ Tuliskan dengan logika yang benar dan terstruktur.
▪ Semua operasi atau proses disebutkan dengan jelas.
Penyajian algoritma dapat disajikan dengan dua cara yaitu:
▪ Bahasa Natural, yaitu dengan menuliskan deskripsi urutan langkah-langkah penyelesaian masalah.
▪ Flowchart, yaitu dengan menggambarkan algoritma dengan simbol-simbol menurut urutan proses.
B. FLOWCHART
Flowchart adalah skema diagram alir dari algoritma yang disusun dalam bentuk bagan secara berurutan. Jadi
flowchart menggambarkan urutan penyelesaian masalah. Flowchart digambarkan dengan menggunakan
simbol-simbol khusus seperti input, proses, output dan lain sebagainya. Berikut ini adalah simbol-simbol yang
digunakan dalam membuat flowchart.
Simbol Nama Keterangan
Terminal Digunakan sebagai simbol awal dan akhir flowchrat.
Digunakan untuk menunjukan proses pengolahan yang
Processing
akan dilakukan dengan komputer.
Digunakan untuk menunjukan proses pengolahan
Manual Operation akan dilakukan dengan tidak menggunakan
komputer.
yang
Algoritma Flowchart
Model 1 Model 2
Keterangan:
1. Mulai 2. Cuci beras hingga bersih 3. Masukkan beras kedalam magic com, beri air
secukupnya 4. Hubungkan magic com dengan listrik 5. Posisikan tombol kebawah
(cooking) sehingga lampu indikator berwarna merah 6. Apakah lampu indikator sudah
berwarna hijau 7. Jika ya, nasi sudah matang 8. Jika tidak, nasi belum matang 9. Selesai
Algoritma Flowchart
Contoh 3:
Analisis Kasus:
Algoritma Flowchart
Informatika | Kelas X | Semester Genap I By: H. Suharmawan, S.Pd., S.Kom., M.T.I. | Hal - 3
Contoh 4:
Buatlah algoritma untuk menghitung luas persegi panjang dengan rumus Luas = p x l.
Analisis Kasus:
Algoritma Flowchart
Contoh 5:
Seorang siswa ingin membuat aplikasi dengan pascal untuk mengetahui apakah seseorang siswa hemat atau boros
dengan ketentuan:
▪ Jika uang yang dibelanjakan < uang saku, maka dia hemat.
▪ Jika uang yang dibelanjakan >= uang saku, maka dia boros. Buatlah
flowchard programnya sesuai dengan kriteria di atas!
Analisis Kasus:
1. Mulai 2. Deklarasikan variabel uang jajan = x, uang yang dibelanjakan = y, type data integer
3. Input uang jajan (x), input uang yang dibelanjakan (y) 4. Cek nilai
▪ Jika x >= y, cetak BOROS
▪ Jika x < y, cetak HEMAT 5.
Selesai
Algoritma Flowchart
Informatika | Kelas X | Semester Genap I By: H. Suharmawan, S.Pd., S.Kom., M.T.I. | Hal - 4
Contoh 6:
Seorang guru ingin mengelompokkan nilai siswanya dengan kategori sebagai berikut:
▪ 0 <= N <= 50 mendapatkan nilai E
▪ 5 0 < N < 60 mendapatkan nilai D
▪ 6 0 <= N < 70 mendapatkan nilai C
▪ 70 <= N < 85 mendapatkan nilai B
▪ 85 < N <= 100 mendapatkan nilai A Bantulah guru tersebut dengan membuat flowchard
programnya sesuai kriteria di atas.
Analisis Kasus:
Algoritma Flowchart
Contoh 7:
Dealer “FIRA MOTOR” menawarkan kredit kepada para pegawai dan guru dengan syarat memiliki pendapatan
tetap, pendapatan tambahan dan pendapatan keluarga. Untuk mendapatkan kredit, maka harus memenuhi
syarat-syarat sebagai berikut:
▪ Pendapatan tetap di hitung penuh, pendapatan tambahan dihitung setengah dan pendapatan keluarga (suami
atau istri) dihitung sepertiga.
Informatika | Kelas X | Semester Genap I By: H. Suharmawan, S.Pd., S.Kom., M.T.I. | Hal - 5
▪ Jika total pendapatan lebih besar atau sama dengan Rp. 1.000.000 dapat mengajukan kredit “YAMAHA
NMAX”.
▪ Jika total pendapatan kurang dari Rp. 1.000.000. tetapi masih lebih besar dari Rp. 500.000 maka dapat
mengajuka kredit “YAMAHA MIO”.
▪ Jika total pendapatan kurang dari atau sama dengan Rp. 500.000 tidak dapat mengajukan kredit motor. Buatlah
flochart atas kasus tersebut di atas.
Analisis Kasus:
Algoritma Flowchart
LATIHAN
1:
Dengan cara yang sama secara berkelompok buatlah algoritma dari kasus berikut: 1. Berbelanja di indomaret. 2.
Menghitung luas dan keliling lingkaran. 3. Seorang guru akan membuat aplikasi menentukan kriteria ketuntasan
belajar siswa. Setiap orang siswa mempunyai nilai pengetahu dan nilai keterampilan. Kriteria ketuntasan
belajarnya adalah sebagai berikut:
▪ Jika nilai pengetahuan dan keterampilan siswa >= 76 tuntas.
▪ Jika nilai pengetahuan dan ketrampilan siswa < 76 remidial.
Informatika | Kelas X | Semester Genap I By: H. Suharmawan, S.Pd., S.Kom., M.T.I. | Hal - 6
4. Sebuah mini market “FIRA MART” akan memberikan skema discont tahun baru, dengan syarat-
syarat sebagai berikut:
▪ Jika yang dibeli semuanya produk FIRA MART akan diberikan discont 1,5%.
▪ Jika yang dibeli semuanya bukan produk FIRA MART akan diberikan discont 0,5%.
▪ Jika yang dibeli produk FIRA MART dan bukan produk FIRA MART akan diberikan discont 1,0%. Discont =
Persen discount x Total pembelian Cetak total pembelian, discount dan jumlah yang harus dibayar.
Program pascal ditulis dengan menggunakan aturan penulisan yang harus diikuti agar program dapat berjalan
dengan baik. Penulisan yang tidak sesuai dengan aturan yang ditentukan akan menyebab-kan terjadinya kesalahan
(debug).
1. Nama File
Dalam memberi nama file dengan mengunakan bahasa pemrograman pascal ada beberapa hal yang harus
diperhatikan, yaitu: a. Nama file maksimum 8 karakter, jika lebih maka kelebihannya akan dipotong oleh
program secara
otomatis. b. Nama file mempunyai ekstensi PAS. c. Nama file tidak boleh menggunakan spasi. d. Nama file
bole menggunakan tanda hubung bawah (underscore). e. Nama file tidak boleh diawali dengan angka.
f. Tidak boleh mengandung karakter yang tidak lazim (misal: * , ! & # dan lain sebagainya).
a. Komentar/Penjelasan
Komentar atau penjelasan tambahan dalam program ditulis dalam tanda kurung. Komentar atau penjelasan
tidak akan dieksekusi ketika program di jalankan (run). Ada dua model yang dapat digunakan dalam
memberikan komentar atau penjelasan yaitu:
▪ Diawali dengan simbol buka kurung bintang dan diakhiri dengan simbol tutup kurang bintang. Contoh:
(*Program Input Data*)
▪ Diawali dengan simbol buka kurung kurawal dan diakhiri dengan simbol tutup kurung kurawal. Contoh:
{Program Input Data}
b. Penulisan Program
Setiap haris program harus diakhiri dengan tanda titik koma (;). Tujuannya adalah untuk memberi tanda
bahwa baris perintah tersebut sudah berakhir, agar program dapat membaca tiap baris berintah dengan
benar. Jika tidak diakhiri dengan tanda titik koma, maka program akan memberi- kan pesan kesalahan
(debug) bahwa baris tersebut belum menggunakan tanda titik koma.
Kode program dapat ditulis dengan bantuan program noetpad dari windows, tatapi harus disimpan dengan
ekstensi PAS (misal: contoh.pas). File program harus disimpan pada folder dimana program pascal dapat
membacara program yang dibuat.
Pascal tidak membedakan huruf besar atau huruf kecil dalam penulisan perintah (koding), artinya
penulisan perintah dengan huruf besar atau huruf kecil dianggap sama. Contoh:
▪ Y sama dengan y
▪ x sama dengan X
▪ p sama dengan P
▪ N sama dengan n
d. Variabel
Variabel adalah tempat menyimpan data dalam memori dimana nilainya dapat berubah-ubah. Variabel
dapat didefinisikan dengan huruf, kata dan gabungan antara huruf atau kata dengan angka. Contoh: a, b, c,
x, y, a1, a2, nama1, nama2, dan lain sebagai nya.
Informatika | Kelas X | Semester Genap I By: H. Suharmawan, S.Pd., S.Kom., M.T.I. | Hal - 7
e. Operator Sama Dengan
Operator tanda sama dengan dalam program pascal ada dua, yaitu:
▪ Operator = (sama dengan), digunakan untuk memberi nilai tetapan kepada sebuah variabel pada deklarasi
konstanta. Contoh: x = 3, y = ‘P’, menentukan nilai tetapan untuk variabel x dan y.
▪ Operator := (titik dua sama dengan), digunakan untuk menentukan nilai awal variabel dalam program dan
menerima hasil perhitungan. Contoh: a:=3; b:= 5; memberi nilai awal untuk variabel a dan b. Y:= 5*a + 2*b variabel
y menerima hasil perhitungan.
f. Perintah
Perintah adalah koding yang dikenali sebagai bahasa dalam pemrograman. Dengan menggunakan perintah-perintah
khusus sebagai kode prorgram, maka program akan dapat bekerja sesuai dengan masalah yang akan diselesaikan.
Contoh:
▪ Perintah unuk menginput data, misalnya read, readln.
▪ Perintah untuk menghitung atau memproses data, misalnya sqr, sqrt, div, mod, dan lain sebagainya.
▪ Perintah untuk menulis teks atau hasil perhitungan program, misalnya write, writeln.
Perintah Operator Matematika
Operator matematika digunakan untuk melakukan proses perhitungan matematika dalam program. Berikut ini adalah
perintah operator matematika:
Simbol /
Operator
Nama Operasi
Contoh Rumus Koding Program Hasil Penjumlahan + c = a + b c=2+3 5 Pengurangan - c=b–a c=3-2 1 Perkalian *
c=axb c=3*2 6 Pembagian / c=a/b c=6/3 2 Kurung () c=(a+b)/2 c=(4+2)/2 3 Pangkat 2 Sqr y = x2 y=sqr(3) 9 Akar
Div a
pangkat 2 Sqrt y = Vx y=sqrt(25) 5 Sisa pembagian Mod a mod b 8 mod 3 2 Bilangan bulat hasil pembagian
div b 8 div 3 2
3) Bagian Deklarasi
Bagian deklarasi seagai tempat untuk menyebutkan semua variabel, konstanta, fungsi, prosedur yang
akan digunakan dalam program.
a) Deklarasi Variabel
Variabel yang digunakan dalam program harus dideklarasikan lebih dahulu sebelum digunakan
dalam program. Jika tidak dideklarasikan, maka akan terjadi kesalahan (error/ debug). Ada beberapa
aturan dalam mendeklarasikan variabel yaitu:
Deklarasi variabel selalu di awalai dengan kata kunci VAR. Setiap variabel akan menerima dan
menyimpan data sesuai dengan tipe datanya. Antara nama variabel dengan tipe datanya dipisahkan
oleh tanda titik dua (:).
b) Deklarasi Konstanta
Konstanta adalah data yang nilainya tetap (tidak dapat diubah-ubah). Deklarasi konstanta selalu
diawali dengan kata kunci CONST.
4) Blok Program
Bagiaman dimana kita akan menuliskan bahasa program atau perintah (koding) yang diawali dengan
kata kunci BEGIN dan diakhiri dengan kata kunci END. (end titik). Perintah tersebut terdiri dari 3
bagian yaitu perintah masukan (input), perintah perhitungan (proses), dan perintah keluargan (output).
Perintah masukan (input)
Dua perintah masukan (input) yang digunakan dalam pascal adalah sebagai berikut:
▪ Read, adalah perintah untuk menginput data. Setelah menginput data, kursor tidak berpindah ke
baris berikutnya.
▪ Realn, adalah perintah untuk menginput data. Setelah menginput data, kursor akan berpindah ke
baris berikutnya.
Contoh:
ead (x), artinya input data x setelah itu posisi kursor tidak berpindah ke baris berikutnya.
▪ R
▪ R eadln (x) artinya input data x setelah itu posisi kursor akan berpindah ke baris berikutnya.
Dua perintah keluaran (output) yang digunakan dalam pascal adalah sebagai berikut:
▪ Write, adalah perintah untuk menuliskan data. Setelah menulis data, kursor tidak berpindah ke baris
berikutnya.
▪ Writeln, adalah perintah untuk menuliskan data. Setelah menulis data, kursor akan berpindah ke
baris berikutnya.
Baris yang kosong sering digunakan untuk membuat jarak antara baris menjadi lebih jelas dalam
program microsoft word dikenal dengan istilah Enter. Perintah unun membuat baris kosong dalam
program pascal adalah writeln tanpa diikut argumen (writeln;). Dalam contoh program, sering ada
kata writeln; tujuannya adalah untuk membuat sati baris kosong (satu enter). Jika ada dua writeln; itu
artinya dua baris kosong (dua enter).
Setiap Program yang kita buat tidak akan langsung berjalan dengan mulus, pasti ada saja
kesalahan-kesalahan yang terjadi. Kesalah-kesalahan ini sering terjadi karena kesalan mengetik, kesalahan
pemberian rumus atau algoritma-nya, dan cara menterjemahkan algoritma tersebut kedalam bahasa
pemrograman. Berikut ini adalah beberapa jenis kesalahan yang umum terjadi pada turbo pascal yaitu:
▪ Error 85 : “;”expected = Kurang tanda (;) atau seharusnya tanda (;)
▪ Error 86 : “:”expected = Kurang tanda :
▪ Error 3 : unknown identifier = Kurang satu huruf, kurang tanda kutip satu (‘) atau salah ketik
huruf
▪ Error 10 : unexpected end of file = Kurang titik(.) sbg pengakhir program
▪ Error 94 : “.”expected = Seharusnya titik (.) bukan titik koma (;)
▪ Error 106 : invalid numeric format = salah format, seharusnya nomor
▪ Error 113 : error in Statement =Salah pemberian statemen
Informatika | Kelas X | Semester Genap I By: H. Suharmawan, S.Pd., S.Kom., M.T.I. | Hal - 10
Contoh: Write (‘Teks’) artinya tulis kata teks, setelah itu kursor tidak berpindah ke baris berikutnya.
Writeln (‘Teks’) artinya tulis kata teks, setelah itu kursor akan berpindah ke baris berikutnya.
Perintah write menuliskan keterangan ‘Input Nilai x :’ setelah itu kursor tidak berpindah baris,
selanjutkan nilai x diketik/diinput berada pada baris sama. Setelah nilai x diinput, maka kursor akan
berpindah ke baris berikutnya:
▪ Menulsikan nilai variabel baik input maupun output. Contoh:
Listing Program Praktikum 1.D Program untuk menghitung kuat arus pada suatu alat yang memiliki nilai
hambatan 50 Ohm dan diberi tegangan 220 Volt. Program Kuat_Arus; {Judul Program}
Var R,V:Integer; { Pendeklarasian variabel & type data} I :Real; {Pendeklarasian variabel & type data} Begin
{Perintah mulai program} Clrscr; { Membersihkan layar} R:=50; {Nilai R = 50} V:=220; { Nilai V = 220} I
:= V/R; {Hitung I = V/R} Writeln('KuatArus=',I:6:2,'Ampere’); {Menampilkan nilai variabel I dengan 6
angka di
depan koma Dan 2 angka di belang koma, menam- bahkan kata ‘Ampere’} Readkey; {perintah menghentikan
program sementara} End. {perintah mengakhiri program}
Simpan Dengan Nama: LAT_1D
Listing Program Praktikum 2.A Buatlah program yang dapat digunakan untuk menghitung besarnya gaya pada
hukum Newton I dan data (masa dan percepatan) dimasukkan melalui keyboard. Program Gaya_Newton;
Uses crt; Var F, m, a: real Begin Clrscr; Write(‘
Besarnya massa = ‘); Readln(m); Write(‘
Besarnya percepatan = ‘); Readln(a)
Informatika | Kelas X | Semester Genap I By: H. Suharmawan, S.Pd., S.Kom., M.T.I. | Hal - 11
F:=m*a Writeln(‘ Besarnya Gaya (N) = ‘,F:6:2,’Newton’); Readkey;
End,
Simpan Dengan Nama: LAT_2A
Listing Program:
Program regresi;
Uses crt; Var y, a, b: integer; {1} Begin Clrscr; Writeln (‘
=============================’); Write(‘ Input Nilai a = ‘); { 2} Readln(a); Write(‘
Input Nilai b = ‘); {2} Readln(b); Writeln (‘ =============================’); Writeln;
y:=(6*a)+(2*b); { 3} Writeln(‘ Nilai Persamaan y = 6a + 2b = ‘,y); { 4} Writeln; Writeln(‘ Tekan
Sembarang Tombol Untuk Mengakhiri’); Readkey; End,
Simpan Dengan Nama: LAT_2B
Listing Program Praktikum 2.B Buatlah program untuk menghitung luas persegi panjang
dengan rumus Luas = p x l.
Listing Program Praktikum 2.C Seorang siswa ingin membuat aplikasi dengan pascal untuk mengetahui apakah
seseorang siswa hemat atau boros dengan ketentuan:
▪ Jika uang yang dibelanjakan < uang saku, maka dia hemat.
▪ Jika uang yang dibelanjakan >= uang saku, maka dia boros.
Algoritma Bahasa Natural 1. Mulai 2. Deklarasikan variabel uang jajan = x, uang yang
dibelanjakan = y, type data integer 3. Input uang jajan (x), input uang yang dibelanjakan (y) 4.
Cek nilai
▪ Jika x >= y, cetak BOROS
▪ Jika x < y, cetak HEMAT 5.
Selesai Algoritma Flowchart
Informatika | Kelas X | Semester Genap I By: H. Suharmawan, S.Pd., S.Kom., M.T.I. | Hal - 13
Writeln(‘ Tekan Sembarang Tombol Untuk Mengakhiri’); Readkey; End,
Simpan Dengan Nama: LAT_2C
Listing Program Praktikum 2.D Seorang guru ingin membuat aplikasi nilai siswanya
dengan kategori sebagai berikut:
▪ 0 <= N <= 50 mendapatkan nilai E
▪ 50 < N < 60 mendapatkan nilai D
▪ 60 <= N < 70 mendapatkan nilai C
▪ 70 <= N < 85 mendapatkan nilai B
▪ 85 < N <= 100 mendapatkan nilai A
Informatika | Kelas X | Semester Genap I By: H. Suharmawan, S.Pd., S.Kom., M.T.I. | Hal - 14
Writeln(‘Predikat Nilai = C‘); End Else If N < 85 then Begin
Writeln(‘Predikat Nilai = B‘); End Else If N <= 100 then Begin
Writeln(‘Predikat Nilai = A‘); End Else Begin Writeln(‘Maaf Nilai Yang
Anda Input Salah’); End; Writeln; Writeln(‘Tekan Sembarang Tombol
Untuk Mengakhiri’); Readkey; End.
Listing Program Praktikum 2.E Dealer “FIRA MOTOR” menawarkan kredit kepada para pegawai dan guru
dengan syarat memiliki pendapatan tetap, pendapatan tambahan dan pendapatan keluarga. Untuk mendapatkan
kredit, maka harus memenuhi syarat-syarat sebagai berikut:
▪ Pendapatan tetap di hitung penuh, pendapatan tambahan dihitung setengah dan pendapatan keluarga (suami
atau istri) dihitung sepertiga.
▪ Jika total pendapatan lebih besar atau sama dengan Rp. 1.000.000 dapat mengajukan kredit “YAMAHA
NMAX”.
▪ Jika total pendapatan kurang dari Rp. 1.000.000. tetapi masih lebih besar dari Rp. 500.000 maka dapat
mengajuka kredit “YAMAHA MIO”.
▪ Jika total pendapatan kurang dari atau sama dengan Rp. 500.000 tidak dapat mengajukan kredit motor. Buatlah
aplikasi dari kasus tersebut!
Informatika | Kelas X | Semester Genap I By: H. Suharmawan, S.Pd., S.Kom., M.T.I. | Hal - 15
Buatlah aplikasi dari kasus berikut ini yang sudah kalian buat algoritma (tugas sebelumnya!). Kerjakan secara
kelompok. 1. Menghitung luas dan keliling lingkaran. 2. Seorang guru akan membuat aplikasi menentukan kriteria
ketuntasan belajar siswa. Setiap orang siswa mempunyai nilai pengetahu dan nilai keterampilan. Kriteria ketuntasan
belajarnya adalah sebagai berikut:
▪ Jika nilai pengetahuan dan keterampilan siswa >= 76 tuntas.
▪ Jika nilai pengetahuan dan ketrampilan siswa < 76 remidial. 3. Sebuah mini market “FIRA MART” akan
memberikan skema discont tahun baru, dengan syarat-syarat
sebagai berikut:
▪ Jika yang dibeli semuanya produk FIRA MART akan diberikan discont 1,5%.
▪ Jika yang dibeli semuanya bukan produk FIRA MART akan diberikan discont 0,5%.
▪ Jika yang dibeli produk FIRA MART dan bukan produk FIRA MART akan diberikan discont 1,0%. Discont =
Persen discount x Total pembelian Cetak total pembelian, discount dan jumlah yang harus dibayar.
Listing Program: Program
kredit_motor;
Uses crt; Var y,a,b,c : integer; Begin Clrscr; Writeln;
Writeln(‘============================================
=’); Writeln; Write(‘Input Pendapatan Tetap = ‘); Reanln(x) Write(‘Input
Pendapatan Tambahan = ‘); Reanln(y) Write(‘Input Pendapatan Keluarga = ‘);
Reanln(z) Writeln;
Writeln(‘============================================
=’); Writeln; y:=x+(y/2)+(z/3) If y >= 1000000 then Begin Writeln(‘Kredit Yang
Dapat Diajukan = YAMAHA NMAX‘); End Else If N > 500000 then Begin
Writeln(‘Kredit Yang Dapat Diajukan = YAMAHA MIO ‘); End Else If N <=
500000 then Begin Writeln(‘Mohon Maaf Anda Tidak Dapat Mengajukan Kredit‘);
End Else Begin Writeln(‘Maaf Nilai Yang Anda Input Salah’); End; Writeln;
Write(‘Tekan Sembarang Tombol Untuk Mengakhiri’); Readkey; End.
Informatika | Kelas X | Semester Genap I By: H. Suharmawan, S.Pd., S.Kom., M.T.I. | Hal - 16