Algoritma dan Pemrograman I
MODUL I STRUKTUR PROGRAM PASCAL
A. Tujuan
Mampu mengenal strukrut program PASCAL
Mengenal editor Turbo Pascal
Mampu mengenal dan mengimplementasikan statemen dan variabel yang tersedia
B. Landasan Teori Mulai menggunakan Turbo Pascal Editor Turbo Pascal merupakan layanan terpadu antara editor dan compiler. Untuk mengaktifkan dan bekerja menggunakan Editor Turbo Pascal lakukan langkah sebagai berikut:
Aktifkan Windows Exploring
Aktifkan diskdrive pada “C:\”
Pilih direktori “TP71”
Pilih file “TPX.Exe” pada direktori “C:\TP71\Bin”
Perintah Editor Tombol atau Ctrl+E atau Ctrl+X atau Ctrl+D atau Ctrl+s Ctrl+A Ctrl+F Page Up Page Down Ctrl+Y Ctrl+N Ctrl+T Alt+F+N F3 F2 Alt+F+X F9 Alt+F9 Ctrl+F9 F8
Keterangan Kursor ke atas Kursor ke bawah Kursor ke kanan Kursor ke kiri Kursor ke kiri 1 kata Kursor ke kanan 1 kata Ke atas 1 layar Ke bawah 1 layar Menghapus 1 baris pada posisi kursor Menyisipkan 1 baris Menghapus 1 kata pada posisi kursor File baru Open file Save file Tutup Turbo Pascal Make Compile Run Step Over 1
Universitas PGRI Yogyakarta Fakultas Teknik, Teknik Informatika
Algoritma dan Pemrograman I
F7 Alt+F5
Trace Into Melihat hasil program
Pascal adalah bahasa pemrograman tingkat tinggi yang diciptakan oleh Niklaus Wirth, yang tujuan awalnya adalah untuk mengajarkan pemrograman. Program yang ditulis dalam pascal harus diterjemahkan lebih dahulu menjadi bahasa yang dikenali mesin/komputer dengan menggunakan kompilator. Pascal adlah bahasa yang machine independent, ayang berarti tidak tergantung pada mesin/komputer jenis apapun. Dalam pascal, untuk menampilkan sebuah nilai di layar di gunakan perintah write atau writeln dan untuk membaca masukan dari keyboard digunakan perintah read atau readln. Perintah
writeln tanpa parameter menyebabkan ganti baris, dan perintah readln tanpa
parameter digunakan untuk menahan layar. C. Latihan Prak1a.pas program pertamaku;{judul dari program yang dibuat} uses crt;{unit standar yang digunakan dalam bahasa Pascal} begin {awal program} writeln('SELAMAT DATANG'); writeln('=============='); writeln; writeln('Nama saya : Rizki'); writeln('Alamat : Kusumanegara'); writeln('Kota Asal : Kalimantan Tengah'); writeln('Status : Belum Menikah'); write('Pekerjaan :'); writeln(' Mahasiswa'); end. {akhir program}
Prak1b.pas program kedua;{judul dari program yang dibuat} uses crt;{unit standar yang digunakan dalam bahasa Pascal} begin {awal program} clrscr; writeln('ARITMATIKA'); writeln('=========='); writeln; writeln('1. 5 x 4 = ',5*4); writeln('2. 5 / 4 = ',5/4); writeln('3. 5 div 4 = ',5 div 4); writeln('4. 5 mod 4 = ',5 mod 4); writeln('5. 5 - 4 = ',5-4); writeln('5. 50 x 1000 = ',50*1000); readkey; end. {akhir program}
2
Universitas PGRI Yogyakarta Fakultas Teknik, Teknik Informatika
Algoritma dan Pemrograman I
D. Tugas
Fungsi dan keguanaan statemen writeln;
readln;
write;
clrscr;
read;
readkey;
Buat Program yang tampilannya seperti di bawah ini ♥MATAKULIAH♥ ☺ALGORITMA DAN PEMROGRAMAN☺ Algoritma diperkenalkan Oleh Ahli Matematika : Abu Ja’far Muhammad Ibnu Musa Al Khawarizmi Program ini dibuat oleh : (C) Bde-x, Inc ♥☺☺☺☺☺☺☺♥
E. Jawaban
3
Universitas PGRI Yogyakarta Fakultas Teknik, Teknik Informatika
Algoritma dan Pemrograman I
MODUL II TIPE DATA
A. Tujuan
Mahasiswa mengenal tipe data
Mahasiswa mampu menggunakan tipe data sesuai dengan kebutuhannya
Mahasiswa mampu menyelesaikan masalah ke dalam bentuk program sederhana
B. Landasan Teori Pascal adalah bahasa yang kaya tipe. Bermacam-macam tipe tersedia pada bahasa ini. Namun hanya beberapa tipe data yang dibahas pada praktikum kali ini. Tipe data lainnya akan dibahas pada pertemuan selanjutnya.
Tipe data Ordinal adalah suatu tipe yang mempunyai jumlah kemungkinan data yang pasti, termasuk dalam kategori tipe data ini adalah : o Tipe bilangan bulat (integer) Tipe Data Sourtint Integer Long Int Byte Word
Jangkauan Nilai -128 s/d 127 -32768 s/d 32767 -2147483678 s/d 2147483647 0 … 255 0 … 65635
Format Singned 8 bit Singned 16 bit Singned 32 bit Unsigned 8 bit Unsigned 16 bit
o Tipe Boolean Tipe data boolean hanya berisi 2 kemungkinan yaitu : Tipe True False
Nilai Benar salah
o Tipe Char Tipe ini berisi simbul-simbul unik yang tersedia, contoh : “~ ` ! @ # $ % ^ & * ( ) _ - + = \ |” dll
Tipe data Real adalah tipe yang berkaitan dengan bilangan real(nyata), dalam turbo pascal terdapat 5 buah tipe data yaitu :
Tipe Data Real Single Double Extended Comp
Jangkauan Nilai ±2,9 x 10-39 s/d 1,7 x 1038 ±1,5 x 10-45 s/d 3,4 x 1038 ±5,0 x 10-324 s/d 1,7 x 10308 ±5,0 x 10-4951 s/d 1,1 x 104932 ±263 s/d 263 -1 (-9,2 x 1018 s/d 9,2 x 1018)
Ketelitian (digit) 11 s/d 12 7 s/d 8 15 s/d 16 19 s/d 20 19 s/d 20
Ukuran 6 byte 4 byte 8 byte 10 byte 8 byte
Tipe Data String Merupakan data berisi deretan Char, yang banyaknya berubah-ubah sesuai kebutuhan, yang besarnya 1 s/d 255 karakter. 4
Universitas PGRI Yogyakarta Fakultas Teknik, Teknik Informatika
Algoritma dan Pemrograman I
C. Latihan Prak2a.pas program tipedata; uses crt; var a,b,hasil_int:integer; hasil_real:real; begin clrscr; a:=5; b:=7; hasil_int:=a+b; writeln('Penggunaan Tipe Ordinal'); writeln('======================='); writeln(a,' + ',b,' = ',hasil_int); writeln; writeln('Penggunaan Tipe Real'); writeln('===================='); hasil_real:=a/b; writeln(a,' / ',b,' = ',hasil_real:0:1); readkey; end.
D. Tugas 1. Buatlah pseudocode dan diagram alur dari program Prak2a.pas di atas 2. Buat pseudocode, diagram alur dan program untuk mencari Keliling dan Luas lingkaran
E. Jawaban
5
Universitas PGRI Yogyakarta Fakultas Teknik, Teknik Informatika
Algoritma dan Pemrograman I
6
Universitas PGRI Yogyakarta Fakultas Teknik, Teknik Informatika
Algoritma dan Pemrograman I
MODUL III OPERATOR dan OPERASI MATEMATIKA
A. Tujuan
Mahasiswa mengenal operator dan operasi matematika dalam bahasa pascal
Mahasiswa mampu mengimplementasikan masalah matematika dalam program
B. Landasan Teori Operator adalah simbol atau kata yang digunakan dalam program yantuk melakukan suatu operasi, seperti penjumlahan atu perkalian, memberikan nilai variabel, membandingkan kesamaan dua buah nilai. Nilai yang dioperasikan oleh operator bersama operand membentuk suatu ekspresi, contoh : 1+2–3 Disebut ungkapan atau ekspresi. Tanda + dan – merupakan tanda operator, sedangkan 1, 2, dan 3 disebut operand. Operator * / DIV Mod + -
Arti Kali Bai(real) Bagi(bulat) Sisa bagi Tambah Kurang
Prioritas 1 1 1 1 2 3
C. Latihan Prak3a.pas program tesjum; uses crt; begin clrscr; writeln('4 writeln('4.0 writeln('4 writeln('4.0 readkey end.
+ + + +
2 2 2.0 2.0
= = = =
',4+2); ',4.0+2); ',4+2.0); ',4.0+2.0);
Prak3b.pas program teskali; uses crt; begin clrscr; writeln('4 x writeln('4.0 x writeln('4 x writeln('4.0 x readkey end.
2 2 2.0 2.0
= = = =
',4*2); ',4.0*2); ',4*2.0); ',4.0*2.0);
7
Universitas PGRI Yogyakarta Fakultas Teknik, Teknik Informatika
Algoritma dan Pemrograman I
Prak3c.pas program tesmod; uses crt; begin clrscr; writeln('6 mod writeln('7 mod writeln('8 mod writeln('9 mod readkey end.
3 3 3 3
= = = =
',6 ',7 ',8 ',9
mod mod mod mod
3); 3); 3); 3);
Prak3d.pas program priorita; uses crt; begin clrscr; writeln('1 + 2 * 3 = ',1+2*3); writeln('(1+2) * 3 = ',(1+2)*3); readkey end.
Prak3e.pas program over1; uses crt; var total_harga:integer; harga_satuan:integer; begin clrscr; harga_satuan:=32767; total_harga:=2 * harga_satuan; writeln('2 x ',harga_satuan,' maka Total = ',Total_harga); readkey end.
D. Tugas
Analisis setiap latihan program di atas, tulis jawaban anda pada lembaran yang telah disediakan
Sempurnakan dan perbaiki pada program prak3e.pas agar hasil yang ditampilkan sesuai dengan yang diharapkan
E. Jawaban
8
Universitas PGRI Yogyakarta Fakultas Teknik, Teknik Informatika
Algoritma dan Pemrograman I
9
Universitas PGRI Yogyakarta Fakultas Teknik, Teknik Informatika
Algoritma dan Pemrograman I
MODUL IV PERNYATAAN IF dan CASE A. Tujuan
Mahasiswa mengenal konsep pernyataan IF dan CASE
B. Landasan Teori Pernyataan IF akan mengecek suatu kondisi dan menentukan apakah kondisi tersebut benar atau salah, kemudian melakukan suatu kegiatan sesuai dengan nilai kondisi tersebut. Bentuk umumnya If kondisi Then Pernyataan1 Else Pernyataan2
Dengan kondisi
: kondisi yang dites untuk menentukan apakah pernyataan yang akan
dikerjakan. Pernyataan1 : pernyataan yang akan dikerjakan jika kondisi bernilai benar Pernyataan2 : pernyataan yang akan dikerjakan jika kondisi bernilai salah
Pernyataan CASE Pernyataan ini berisi ungkapan (pemilih) dan sederetan pernyataan, yang masing-masing diawali degnan satu atau lebih konstanta (disebut konstanta CASE)atau dengan kata Else. Pemilih harus bertipe ordinal, yang mempunyai batas antara -32768 s/d -32767. Sehingga, tipe string, bilangan bulat yang bertipe longint atau word tidak boleh digunakan sebagai pemilih. Semua konstanta CASE harus unik dan tipe ordinal yang digunakan harus sesuai degnan tipe pemilih. Bentuk umumnya Case pemilih of Konstanta1 : pernyataan1 Konstanta2 : pernyataan2 . . <else :pernyataan N> end; Dengan Pemilih
: nama perubah sebagai pemilih
Konstanta1, konstanta2 …
: kemungkinan-kemungkinan nilai yang dipilih
Pernyataan1, pernyataan2… : pernyataan yang akan dikerjakan dengan nilai pemilih
10
Universitas PGRI Yogyakarta Fakultas Teknik, Teknik Informatika
Algoritma dan Pemrograman I
C. Latihan Prak4a.pas Program pilih; uses crt; var pil:integer; begin clrscr; write('Masukkan dari keyboard :'); readln(pil); if pil=1 then writeln('Anda memasukkan angka 1 (Satu)') else writeln('Bukan Angka 1 (Satu)'); readkey end.
Prak4b.pas uses crt; var pil:integer; begin clrscr; write('Masukkan dari keyboard :'); readln(pil); case pil of 1:writeln('Anda memasukkan angka 1 (Satu)'); else writeln('Bukan Angka 1 (Satu)') end; readkey end.
Prak4c.pas Program Bonus; uses crt; var totalpembelian : integer; begin clrscr; write('Total Pembelian :'); readln(totalpembelian); if totalpembelian >= 100000 then writeln('Diskon sebesar 10%') else if totalpembelian >=50000 then writeln('Bonus : 1 Piring') else if totalpembelian >= 10000 then writeln('Bonus : 1 Gelas') else writeln('Tidak Dapat Bonus'); readkey end.
D. Tugas
Modifikasi dan perbaiki program Park4c.pas, agar output yang dihasilkan sesuai
Buatlah pseudocode, diagram alur, dan program dari permasalahan di bawah ini
1 2 3 4 5 6 7 Kode Bemo Motor Sepeda Gerobak Troli Kereta Barang Mobil Buatlah program yang meminta agar sebuah bilangan bulat dimasukkan dari keyboard dan kemudian program dapat mengomentari bilangan tersebut genap atau banjil. Bantuan gunakan operator MOD untuk mengetahui sisa pembagi bilangan tersebut dengan 2.
11
Universitas PGRI Yogyakarta Fakultas Teknik, Teknik Informatika
Algoritma dan Pemrograman I
E. Jawaban
12
Universitas PGRI Yogyakarta Fakultas Teknik, Teknik Informatika
Algoritma dan Pemrograman I
13
Universitas PGRI Yogyakarta Fakultas Teknik, Teknik Informatika
Algoritma dan Pemrograman I
MODUL V PERULANGAN
A. Tujuan
Mempelajari struktur dari pernyataan kontrol PASCAL, untuk menangani proses perulangan, yaitu : For … to … do ; While … do ; dan Repeat … Until.
B. Landasan Teori Pernyataan FOR Pernyataan FOR bisa digunakan untuk melakukan pengulangan yang jumlahnya tidak diketahui sebelumnya. Sebagai contoh, FOR dapat digunakan untuk menampilkan tulisan “Turbo Pascal” 10 kali ataupun dalam jumlah yang lebih banyak lagi. Bentuk umumnya For
TO DO Pernyataan Dengan Variabel, nilai_awal, dan nilai_akhir harus bertipe sama atau kompatible. Tipe yang digunakan pada ketiga komponen tersebut harus bertipe ordinal Pernyataan : pernyataan yang akan dikerjakan
Pernyataan While Pernyataan ini biasa dipakai untuk melakukan pengulangan yang jumlahnya tidak diketahui di depan atau selang pencacahan tidak sebesar 1 atau –1. Bentuk pernyataan while : While kondisi do Pernyataan Dengan Kondisi
: syarat supaya proses berulang bisa berlangsung
Pernyataan
: pernyataan yang akan dikerjakan
Pernyataan Repeat Repeat biasa dipakai untuk menangani pengulangan yang jumlahnya belum pasti, tetapi paling tidak dikerjakan sekali (pada while, ada kemungkinan bagain pernyataan tidak dijalankan sama sekali). Bentuk pernyataan repeat : Repeat Pernyataan Until kondisi Dengan Pernyataan
: pernyataan yang akan dikerjakan
Kondisi
: syarat supaya proses berhenti
14
Universitas PGRI Yogyakarta Fakultas Teknik, Teknik Informatika
Algoritma dan Pemrograman I
C. Latihan Prak5for.pas program x10For; uses crt; var pencacah:integer; begin clrscr; for pencacah:=1 to 10 do writeln(pencacah,'. Turbo pascal'); readkey end.
Prak5while.pas program x10While; uses crt; var pencacah:integer; begin clrscr; pencacah:=0; while pencacah <10 do begin pencacah:=pencacah+1; writeln(pencacah,'. Turbo Pascal'); end; readkey end.
Prak5repeat.pas program x10Repeat; uses crt; var pencacah:integer; begin clrscr; pencacah:=0; repeat pencacah:=pencacah+1; writeln(pencacah,'. Turbo Pascal'); until pencacah=10; readkey end.
D. Tugas
Buatlah program yang menampilkan seperti di bawah ini * ** *** **** *****
Dari potongan program di bawah ini, Tambahkan jumlah n pencacahan di inputkan melalui keyboard
Buatlah program di bawah ini menggunaan while dan repeat Prak5d.pas program rata2; uses crt; var nilai, jum:real; pencacah:integer; begin clrscr; jum:=0;
15
Universitas PGRI Yogyakarta Fakultas Teknik, Teknik Informatika
Algoritma dan Pemrograman I
for pencacah:=1 to 5 do begin write('Nilai ke-',pencacah,' : '); readln(nilai); jum:=jum+nilai; end; writeln('Nilai Rata-rata = ',jum/5:0:2); readkey end.
Buatlah pseudocode dan diagram alur dari Prak5d.pas
E. Jawaban
16
Universitas PGRI Yogyakarta Fakultas Teknik, Teknik Informatika
Algoritma dan Pemrograman I
17
Universitas PGRI Yogyakarta Fakultas Teknik, Teknik Informatika
Algoritma dan Pemrograman I
MODUL VI PEMROGRAMAN MODULAR
A. Tujuan
Mempelajari fungsi dan procedure standar yang dimiliki Pascal
B. Landasan Teori Fungsi Fungsi adalah suatu foutine yang terdefinisi, baik didefinisikan oleh Pascal(fungsi standar) amupun didefinisikan pemakai (user define function). Fungsi dapat kita bedakan dari hasil fungsinya, yang dapat berupa string, numerik atau boolean. Umumnya fungsi mempunyai argumen atau parameter. Parameter ditulis I dalam tanda kurung. Namun bisa saja suatu fungsi tidak memiliki prameter. Bentuk umum fungsi FUNCTION nama_fungsi(daftar_parameter):tipe; Bagian deklarasi; Bagian pernyataan; Dengan Daftar_parameter : berisi sejumlah parameter Tipe
: tipe dari hasil fungsi Parameter
Hasil Fungsi FUNGSI
Procedure Semua deklarasi dalam prosedur (deklarasi label, konstanta, tipe data dan perubah) dikatakan sebagai deklarasi lokal, sehingga hanya bisa digunakan dalam prosedure itu saja dan tidak dikenal di luar prosedur. Prosedur dalam kerjanya dapat menerima parameter (input data banyak), begitu pula dengan pengembalian nilainya. Seperti diilustrasikan pada gambar di bawah ini. Pengembalian Nilai
Prameter
PROCEDURE
Bentuk deklarasi dari prosedur adalah sebagai berikut : Procedure nama_prosedur(daftar_parameter);
Bagian deklarasi Begin Bagian pernyataan End;
18
Universitas PGRI Yogyakarta Fakultas Teknik, Teknik Informatika
Algoritma dan Pemrograman I
daftar_parameter dapat berisi sejumlah parameter/ variabel
Bentuk dari daftar_parameter : daf_parameter_1:tipe; . . .; daf_parameter_n:tipe;
tipe menyatakan tipe dari parameter
Jika procedure tidak memiliki parameter, tanda( ) tidak perlu disertakan.
D. Latihan Prak6a.pas Program Penggunaan_Procedure; Uses crt; Var A,B:integer; Tambah,Kurang,Kali:Integer; Bagi:real; Procedure matematika1(a,b:integer); Var tambah,kurang,kali:integer; Bagi:real; Begin Tambah:=a+b; Kurang:=a-b; Kali:=a*b; Bagi:=a/b; Writeln(‘Hasil Writeln(‘Hasil Writeln(‘Hasil Writeln(‘Hasil End;
Tambahan Kurang Kali Bagi
‘,a,’+’,b,’=’,tambah); ‘,a,’-’,b,’=’,kurang); ‘,a,’*’,b,’=’,kali); ‘,a,’:’,b,’=’,bagi);
Procedure matematika2(a,b:integer;var tambah,kurang,kali:integer;var bagi:real); Begin Tambah := a+b; Kurang := a-b; Kali := a*b; Bagi := a/b; End; Begin Writeln(‘Fungsi Matematika Menggunakan Procedure’); Writeln(‘=======================================’); Write(‘Masukkan Data A : ‘);readln(a); Write(‘Masukkan Data B : ‘);readln(b); Writeln; Writeln(‘Memanggil Procedure Matematika1’); Matematika1(a,b); Writeln; Writeln(‘Memanggil Procedure Matematika2’); Matematika2(a,b,tambah,kurang,kali,bagi); Writeln(‘Hasil Tambahan ‘,a,’+’,b,’=’,tambah); Writeln(‘Hasil Kurang ‘,a,’-’,b,’=’,kurang); Writeln(‘Hasil Kali ‘,a,’*’,b,’=’,kali); Writeln(‘Hasil Bagi ‘,a,’:’,b,’=’,bagi); Readkey; End.
19
Universitas PGRI Yogyakarta Fakultas Teknik, Teknik Informatika
Algoritma dan Pemrograman I
Prak6b.pas Program Penggunaan_Fungsi; Uses crt; Var A,B:integer; Function Tambah(a,b:integer):integer; Begin Tambah:=a+b End; Function Kurang(a,b:integer):integer; Begin Kurang:=a-b End; Function Kali(a,b:integer):integer; Begin Kali:=a*b End; Function Bagi(a,b:integer):real; begin Bagi:=a/b End; Begin clrscr; Writeln('Fungsi Matematika Menggunakan Function'); Writeln('======================================'); Write('Masukkan Data A : ');readln(a); Write('Masukkan Data B : ');readln(b); Writeln; Writeln('Hasil Writeln('Hasil Writeln('Hasil Writeln('Hasil Readkey; End.
Tambahan Kurang Kali Bagi
',a,'+',b,'=',tambah(a,b)); ',a,'-',b,'=',kurang(a,b)); ',a,'*',b,'=',kali(a,b)); ',a,':',b,'=',bagi(a,b));
E. Tugas
Buatlah program yang terdiri atas 2 buah pemrograman modular Pertama prosedur digunakan untuk memasukkan dua buah bilangan dari keyboard Kedua fungsi mencari nilai terbesar dan terkecil dari masukkan input
Buat program fibonanci menggunakan prosedur dan fungsi
F. Jawaban
20
Universitas PGRI Yogyakarta Fakultas Teknik, Teknik Informatika
Algoritma dan Pemrograman I
21
Universitas PGRI Yogyakarta Fakultas Teknik, Teknik Informatika