Download - Bab II - Dev Pascal, Variabel, Tipe Data
![Page 1: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/1.jpg)
Algoritma dan Pemrograman Bab II – Dev Pascal, Variabel, Tipe Data
Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia
![Page 2: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/2.jpg)
Dev Pascal
Sebuah IDE untuk bahasa PASCAL
keluaran BloodSheed yang sifatnya
freeware.
![Page 3: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/3.jpg)
Cara Membuat Program di Dev Pascal
Buka aplikasi Dev Pascal.
![Page 4: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/4.jpg)
Cara Membuat Program di Dev Pascal
Buat sebuah file baru atau project baru
![Page 5: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/5.jpg)
Cara Membuat Program di Dev Pascal
Pilih Console Application lalu klik OK.
![Page 6: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/6.jpg)
Cara Membuat Program di Dev Pascal
Beri nama project (Boleh mengandung spasi).
WARNING: Nama project samakan dengan nama
folder tempat menyimpannya. Satu buah Project
disimpan dalam satu buah folder.
![Page 7: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/7.jpg)
Cara Membuat Program di Dev Pascal
Simpan project pada folder yang sudah disediakan.
![Page 8: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/8.jpg)
Cara Membuat Program di Dev Pascal
Jika langkahnya benar maka muncul tampilan sebagai
berikut.
![Page 9: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/9.jpg)
Cara Membuat Program di Dev Pascal
Simpan filenya di folder yang sama dengan project
(Jangan mengandung spasi).
![Page 10: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/10.jpg)
Cara Membuat Program di Dev Pascal
Berikan Icon dengan cara klik menu ProjectProject
options.
WARNING: Menggunakan icon pada dev pascal
menjadi hal yang wajib.
![Page 11: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/11.jpg)
Cara Membuat Program di Dev Pascal
Klik Load icon lalu pilih icon yang diinginkan lalu klik
OK.
![Page 12: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/12.jpg)
Cara Membuat Program di Dev Pascal
Ketik Sintaks lalu untuk mengcompile dan menjalankan
program klik Ctrl + F10 atau klik menu
ExecuteCompile and Run
![Page 13: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/13.jpg)
NOTASI ALGORITMA
VS
NOTASI PASCAL
![Page 14: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/14.jpg)
Notasi Algoritma 1
2
3
4
5
6
7
8
9
10
11
12
{ ini adalah notasi algoritma } komentar Algoritma judul_algoritma
{I.S.: diisi keadaan yang terjadi di awal algoritma}
{F.S.: diisi keadaan yang terjadi di akhir algoritma}
Kamus/Deklarasi:
{diisi pendefinisian konstanta}
{diisi deklarasi variabel beserta tipe data}
Algoritma/Deskripsi:
{diisi dengan input, proses, dan output}
![Page 15: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/15.jpg)
Notasi Pascal 1
2
3
4
5
6
7
8
9
10
11
{ ini adalah notasi pascal} komentar program judul_program;
var
{diisi pendefinisian konstanta}
{diisi deklarasi variabel beserta tipe data}
begin
{diisi dengan input, proses, dan output}
end.
![Page 16: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/16.jpg)
Notasi Algoritma VS Notasi Pascal { ini adalah notasi algoritma } komentar Algoritma judul_algoritma
{I.S.: diisi keadaan yang terjadi di awal algoritma}
{F.S.: diisi keadaan yang terjadi di akhir algoritma}
Kamus/Deklarasi:
{diisi pendefinisian konstanta}
{diisi deklarasi variabel beserta tipe data}
Algoritma/Deskripsi:
{diisi dengan input, proses, dan output}
{ ini adalah notasi pascal} komentar program judul_program;
var
{diisi pendefinisian konstanta}
{diisi deklarasi variabel beserta tipe data}
begin
{diisi dengan input, proses, dan output}
end.
![Page 17: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/17.jpg)
Notasi Algoritma VS Notasi Pascal NO. ALGORITMA PASCAL
1 Kamus: var 2 Algoritma: begin
end. 3 input(variabel) readln(variabel);
read(variabel); 4 output(‘...........................’) write(‘................................’);
atau writeln(‘..............................’);
5 output(‘.................’,variabel) write(‘.............................’,variabel); atau writeln(‘...........................’,variabel);
6 output(variabel) write(variabel); atau writeln(variabel);
7 :=
![Page 18: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/18.jpg)
Program Pertama Pascal 1
2
3
4
5
6
7
8
9
10
11
12
program Program_Pertama;
uses crt; {pemanggilan unit crt untuk readkey()}
begin
writeln(‘Selamat Datang’);
write(‘Di’);
writeln(‘ UNIKOM’);
writeln(‘Bandung’);
writeln();
write(‘Tekan sembarang tombol untuk menutup.’);
readkey();
end.
![Page 19: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/19.jpg)
Kasus Tukar Nilai dengan Variabel Bantu (1) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Algoritma Tukar_Nilai {I.S.: Nilai variabel a dan b dimasukkan oleh user} {F.S.: Menampilkan hasil penukaran nilai variabel a dan b} Kamus: a,b: integer bantu:integer Algoritma: output(‘Masukkan nilai a: ‘) input(a) output(‘Masukkan nilai a: ‘) input(a) bantua ab bbantu output(‘Nilai a sekarang : ‘,a) output(‘Nilai b sekarang : ‘,b)
![Page 20: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/20.jpg)
Kasus Tukar Nilai dengan Variabel Bantu (2) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Algoritma Tukar_Nilai {I.S.: Nilai variabel a dan b dimasukkan oleh user} {F.S.: Menampilkan hasil penukaran nilai variabel a dan b} Kamus: a,b: integer bantu:integer Algoritma: input(a,b) bantua ab bbantu output(‘Nilai a sekarang : ‘,a) output(‘Nilai b sekarang : ‘,b)
![Page 21: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/21.jpg)
Kasus Tukar Nilai dengan Variabel Bantu 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
program Tukar_Nilai; uses crt; {pemanggilan unit crt untuk readkey()} var a,b:integer bantu:integer begin write(‘Masukan nilai a: ‘); readln(a); write(‘Masukan nilai b: ‘); readln(b); bantu:=a; a:=b; b:=bantu; write(‘Nilai a sekarang: ‘,a); write(‘Nilai b sekarang: ‘,b); readkey(); end.
![Page 22: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/22.jpg)
Kasus Tukar Nilai Tanpa Variabel Bantu 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Algoritma Tukar_Nilai {I.S.: Nilai variabel a dan b dimasukkan oleh user} {F.S.: Menampilkan hasil penukaran nilai variabel a dan b} Kamus: a,b: integer Algoritma: input(a,b) aa+b ba-b aa-b output(‘Nilai a sekarang : ‘,a) output(‘Nilai b sekarang : ‘,b)
![Page 23: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/23.jpg)
Kasus Tukar Nilai Tanpa Variabel Bantu 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
program Tukar_Nilai; uses crt; {pemanggilan unit crt untuk readkey()} var a,b:integer begin write(‘Masukan nilai a: ‘); readln(a); write(‘Masukan nilai b: ‘); readln(b); a:=a+b; b:=a-b; a:=a-b; write(‘Nilai a sekarang: ‘,a); write(‘Nilai b sekarang: ‘,b); readkey(); end.
![Page 24: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/24.jpg)
TIPE DATA
ALGORITMA DAN
PASCAL
![Page 25: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/25.jpg)
Tipe Data
1. Tipe Data Dasar
2. Tipe Data Bentukan
![Page 26: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/26.jpg)
Tipe Data Dasar
1. Sudah dikenal dalam kehidupan sehari-hari.
2. Disebut sebagai predefined data type.
3. Contoh: bilangan lojik, bilangan bulat, bilangan riil,
karakter, dan string.
![Page 27: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/27.jpg)
Bilangan Lojik
1. Nama Tipe : boolean.
2. Nilai : benar (true) atau salah (false).
3. Bisa dinyatakan dengan 0 dan 1 (pendefinisan
benar dan salah tergantung pembuat algoritma).
![Page 28: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/28.jpg)
Operasi Bilangan Lojik
x not x true false false true
x y x and y x or y x xor y true true true true false true false false true true false true false true true false false false false false
![Page 29: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/29.jpg)
Bilangan Bulat
1. Nama Tipe : integer.
2. Nilai : - ~ sampai dengan + ~(tanpa koma).
3. Operasi aritmatika : + , - , * , / , div (hasil bagi
bulat), mod (sisa bagi).
4. Operasi Perbandingan : < , ≤ , > , ≥ , = , ≠.
![Page 30: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/30.jpg)
Bilangan Riil
1. Nama Tipe : real.
2. Nilai : - ~ sampai dengan + ~.
3. Operasi aritmatika : + , - , * , /.
4. Operasi Perbandingan : < , ≤ , > , ≥ , = , ≠.
![Page 31: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/31.jpg)
Karakter
1. Nama Tipe : char.
2. Nilai : semua huruf (‘a’..’z’, ‘A’..’Z’), semua
angka desimal (0..9), tanda baca, operator
aritmatika dan karakter khusus (simbol ASCII).
3. Operasi Perbandingan : < , ≤ , > , ≥ , = , ≠.
![Page 32: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/32.jpg)
String
1. Nama Tipe : string.
2. Nilai : deretan karakter diapit ’ ’.
3. Operasi Penyambungan : +.
4. Operasi Perbandingan : < , ≤ , > , ≥ , = , ≠.
![Page 33: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/33.jpg)
Tipe Bentukan
1. Tipe dasar yang diberi nama tipe baru.
2. Tipe struktur.
![Page 34: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/34.jpg)
Tipe Dasar yang Diberi Nama Tipe Baru
1. Alasan: agar lebih mudah diingat dan High
Readibility.
2. Kata kunci : type.
3. Contoh: type
pecahan : real {tanda : bisa diganti =}
![Page 35: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/35.jpg)
Tipe Terstruktur (Record)
1. Kumpulan data (field) yang memiliki tipe data
berbeda.
2. Contoh Pendeklarasian:
type
Mahasiswa : record
< NIM : integer, {0..9}
Nama : string, {‘A’..’Z’, ‘a’..’z’}
Nilai : real {0..100} >
![Page 36: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/36.jpg)
Tipe Terstruktur (Record)
3. Jika mhs1 bertipe Mahasiswa maka cara
mengakses tiap field adalah sebagai berikut:
a. mhs1.NIM
b. mhs1.Nama
c. mhs1.Nilai
![Page 37: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/37.jpg)
Perbandingan Tipe Data Algoritma Pascal Rentang Pascal
boolean boolean true dan false integer byte 0..255
shortint -128..127 word 0..65535 integer -32768..32767 longint -2147483648..2147483647
real real 2.9 x 10-39..1.7 x 1038 single 1.5 x 10-45..3.4 x 1038 double 5.0 x 10-324..1.7 x 10308 extended 3.4 x 10-4932..1.1 x 104932 char char string string string[n] type varrecord:record < field1:type1, field2:type2, ... fieldn:typen>
type varrecord=record field1:type1; field2:type2; ... fieldn:typen; end;
![Page 38: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/38.jpg)
Perbandingan Operator
Algoritma Pascal + + - - * * / /
div div mod mod
Algoritma Pascal < < ≤ <= > > ≥ >= = = ≠ <>
Algoritma Pascal not not and and or or xor xor
Algoritma Pascal type type
const const true true false false
{ komentar} { komentar } (* komentar *)
![Page 39: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/39.jpg)
IDENTIFIER
(Pengenal / Nama)
![Page 40: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/40.jpg)
Identifier (Pengenal/Nama)
Digunakan untuk mengacu sesuatu di
dalam algoritma atau program
![Page 41: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/41.jpg)
Identifier (Pengenal/Nama)
AREA KAMUS
Konstanta
Tipe Bentukan
Variabel
![Page 42: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/42.jpg)
Aturan Penamaan
1. Nama harus dimulai dengan alphabet dan tidak
boleh diawali dengan angka.
2. Huruf besar dan kecil tidak dibedakan (PASCAL)
saran: konsisten.
3. Karakter penyusun identifier hanya boleh alphabet,
angka, dan ‘_’.
4. Identifier tidak boleh mengandung operator
aritmatika, relasional, tanda baca, dan karakter
khusus lainnya.
![Page 43: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/43.jpg)
Aturan Penamaan
5. Tidak boleh mengandung spasi
6. Panjang identifier tidak dibatasi akan tetapi pilihlah
nama yang sederhana dan mudah diingat.
![Page 44: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/44.jpg)
Variabel VS Konstanta
Variabel dan konstanta sama sama digunakan untuk
menampung sebuah nilai. Perbedaannya terletak dari
sifat penyimpanannya. Variabel memungkinkan
perubahan nilai di dalamnya selama program
dieksekusi sedangkan konstanta akan tetap menyimpan
nilainya secara permanen.
![Page 45: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/45.jpg)
Variabel VS Konstanta
Deklarasi variabel
Deklarasi Konstanta
Nama_variabel:tipe_data
Contoh: x,y:integer
type
const nama_konstanta = nilai_konstanta
Contoh:
type
const phi =3.14
![Page 46: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/46.jpg)
Notasi Matematis Notasi Algoritma
1. Notasi prefix *79 , *+a/bc-d*ef
2. Notasi infix 7*9 , a+b/c*d-e*f
3. Notasi postfix 68* , abc/+def*-*
![Page 47: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/47.jpg)
Notasi Matematis Notasi Algoritma
1. luas= (alas.tinggi) luas1/2*(alas*tinggi)
2. a= a (10*b + 3*c)/(5*d)
![Page 48: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/48.jpg)
GAMES
1. Deklarasikan sebuah tipe bentukan untuk
menampung data KTP, data SIM, dan data dosen!
2. Tuliskan notasi matematis ini menjadi notasi
algoritma:
a. m= (1- )
b. x=
![Page 49: Bab II - Dev Pascal, Variabel, Tipe Data](https://reader034.vdocuments.pub/reader034/viewer/2022052209/557210dd497959fc0b8dce48/html5/thumbnails/49.jpg)