Modul Pascal.pdf
-
Upload
edy-budiman -
Category
Documents
-
view
147 -
download
3
description
Transcript of Modul Pascal.pdf
1
PENDAHULUAN 1. Dasar-Dasar Pemrograman
Dalam dunia komputer dikenal beraneka ragam bahasa pemrograman.
Karena begitu banyaknya, maka bahsa-bahasa tersebut dikelompokkan
berdasarkan kriteria tertentu. Ada yang mengelompokkan menurut tingkatan
bahasa, yaitu high level, middle level, dan low level. Ada juga yang
mengelompokkannya menjadi procedural/functioning programming, object
orietend programming, dan sebagainya. Pada dasarnya bahasa-bahasa
pemrograman tersebut memiliki bagian-bagianyang serupa. Yang
membedakan hanyalah tata bahasa yang digunakan.
2. Belajar Memprogram dan Belajar Bahasa Pemrograman
Belajar memprograman tidak sama dengan belajar bahasa pemrograman.
Belajar memprogram adalah tentang metologi pemecahan masalah. Kemudian
menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami.
Belajar bahasa pemrograman berarti belajar memakai suatu bahasa, aturan,
tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya,
dan manfaatkan instruksi-instruksi tersebut untuk membuat program yang
ditulis dalam bahasa itu saja.
3. Klasifikasi Bahasa Pemrograman
Sampai saat ini terdapat puluhan bahasa pemrograman. Kita dapat
menyebutkan antara lain bahasa rakitan (assemblly), Fortron, Ada, PL/I,
Algol, Pascal, C, C++, Basic, Prolog. Bahasa-bahasa simulasi seperti CSMP,
Simscript, GPSS, Dinamo dan banyak lagi. Belakangan juga muncul bahasa
pemrograman baru seperti Perl dan Java.
Berdasarkan terapannya, bahasa pemrograman digolangkan atas :
3.1. Bahasa Pemrograman Bertujuan Khusus. Yang termasuk kelompok
ini adalah Cobol (untuk terapan bisnis dan administrasi), Fortran
(terapan komputasi ilmiah), Prolog (terapan kecerdasan buatan), dan
sebagainya.
2
3.2. Bahasa Pemrograman Bertujuan Umum. Dapat digunakan untuk
berbagai aplikasi. Termasuk dalam kelompok ini adalah Pascal, Basic,
dan C. Bahasa-bahasa bertujuan tidak berarti tidak bisa digunakan untuk
aplikasi lain. Cobol misalnya dapat digunakan untuk terpan ilmiah.
4. Langkah-Langkah Pembuatan Program
Langkah-langkah sistematis pembuatan program, sebagai berikut :
4.1. Mendefinisikan permasalahan
4.2. Membuat rumusan untuk pemecahan masalah
4.3. Implementasi
4.4. Menguji coba dan membuat dokumentasi
5. Algoritma
Algoritma adalah urutan aksi-aksi yang dinyatakan dengan jelas dan
tidak rancu untuk memecahkan suatu masalah dalam rentang waktu tertentu.
Setiap aksi harus dapat dikerjakan dan mempunyai efek tertentu.
Algoritman dapat dituliskan dengan banyak cara, mulai dari
menggunkan bahasa alami yang digunakan sehari-hari, simbol grafik bagan
alir, sampai menggunakan bahasa pemrograman seperti bahasa Pascal.
Dari sumber lain, algoritma diartikan sebagai urutan langkah-langkah
logis penyelesaian suatu masalah yang disusun secara sistematis.
Kata logis di atas merupakan kata kunci dalam sebuah algoritma.
Langkah-langkah di dalam algoritma haruslah logis, ini berarti hasil dari
urutan langkah-langkah tersebut harus dapat ditentukan, benar atau salahnya.
Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh
komputer, algoritma harus ditulis dalam notasi bahasa pemrograman sehingga
dinamakan program. Jadi program adalah perwujudan atau implementasi
teknis algoritma yang ditulis dalam bahasa pemrograman tertentu sehingga
dapat dilaksanakan oleh komputer. Secara garis besar, algoritma adalah urutan
langkah-langkah penyelesaian masalah, sedangkan program adalah realisasi
algoritma dalam bahasa pemrograman. Program ditulis dalam salah satu
bahasa pemrograman, dan kegiatan membuat program disebut pemrograman
3
(programming). Orang yang menulis program disebut pemrogram
(programmer). Tiap-tiap langkah di dalam program disebut pemrogram
(programmer). Tiap-tiap langkah di dalam program disebut pernyataan
(statement) atau instruksi. Jadi, program tersusun atas deretan instruksi, bila
suatu instruksi dilaksanakan, maka operasi-operasi yang bersesuaian dengan
instruksi tersebut dikerjakan oleh komputer. Komputer secara garis besar
tersusun atas empat komponen utama, yaitu piranti masukkan, piranti
keluaran, unit pemroses utama (CPU), dan memori. Mekanisme kerja keempat
komponen tersebut adalah mula-mula program dimasukkan ke dalam memori
komputer, ketika program dilaksanankan (execute), setiap instruksi yang telah
tersimpan di dalam komputer dikirim ke CPU, CPU mengerjakan operasi-
operasi yang bersesuaian dengan instruksi tersebut. Bila suatu operasi
memerlukan data, data dibaca di piranti masukkan, disimpan di dalam
memori, lalu dikirim ke CPU untuk operasi yang memerlukannya tadi. Bila
proses menghasilkan keluaran atau informasi, keluaran disimpan ke dalam
memori, lalu memori menuliskan keluaran tasi di piranti keluaran (misalkan
dengan mencetaknya ke layer monitor).
6. PASCAL
Pascal adalah bahasa tingkat tinggi (high level languange) yang
orientasinya pada segala tujuan, dirancang 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 Prancis. Prof. Niklaus Wirth memperkenalkan compiler bahasa
Pascal pertama kali untuk komputer CDC 6000 (Control Data Corporation)
yang dipublikasikan pada tahun 1971 dengan tujuan untuk membantu
mengajar program komputer secara sistematis, khususnya untuk
memperkenalkan pemrograman yang terstruktur (structured programming).
Jadi Pascal adalah bahasa yang ditujukan untuk membuat program terstruktur.
Beberapa versi dari Pascal telah beredar di pasaran, diantaranya UCSD Pascal
(University of California at San Diego Pascal), MS-Pascal (Microsoft Pascal),
Apple Pascal, Turbo Pascal, dan lain sebagainya.
4
7. Langkah-Langkah Menuliskan Program Dalam Turbo Pascal
Langkah-langkahnya :
7.1. Bukalah Software Turbo Pascal for Windows 1.5 (TPW 1.5), akan
terlihat tampilan awal Turbo Pascal sebagai berikut :
7.2. Pilih File New, kemudian tulis Source Code program Pascal.
Source Code Pascal dapat ditulis pada jendela kerja baru atau text editor
Pascal dengan nama file noname00.
7.3. Compile file dengan (ALT + F9 atau pilih sub menu Compile).
Compile file dijalankan untuk mengecek Source Code apakah sudah
memenuhi aturan penulisan Source Code atau kesalahan syntax.
Sedangkan untuk mengubah Source Code menjadi sebuah program, kita
gunakan build yang terdapat di Compile Build. Setelah Source Code
tercompile, terbentuklah sebuah file dengan ekstensi ”.exe” yang sudah
merupakan sebuah program executable.
7.4. Jalankan program dengan (CRTL + F9 atau pilih sub menu Run).
Setelah kita compile file yang berisi source code, maka sebagai hasil
kompilasi tersebut kita akan mendapatkan suatu file yang bisa dijalankan
5
(executable file). Menjalankan program yang kita buat berarti
menjalankan file hasil proses kompilasi tersebut.
7.5. Untuk menyimpan pilih sub menu File Save As.
Sebagai berikut :
Dalam melakukan penyimpanan, kita dapat memilih di direktori mana
kita menyimpan file ”.pas atau ”.exe yang kita kerjakan, setelah memilih
direktorinya kita dapat merubah nama file yang ingin kita simpan,
dengan cara catatan di belakang nama file harus selalu dicantumkan
ekstensinya (‘.pas).
6
PEMBAHASAN
Materi 1
Topik Input dan Output
Setiap program aplikasi pasti membutuhkan operasi input dan output. Pada
umumnya, program-program aplikasi dalam hal input atau proses memasukkan
data secara interaktif dan dapat menghasilkan suatu output, karena suatu program
yang tidak menghasilkan output akan sia-sia, karena hasilnya tidak akan dapat
dinikmati. Berikut ini akan dibahas mengenai cara-cara memasukkan data secara
interaktif dan cara-cara menampilkan output.
Contoh Soal 1
Buat program yang dapat menghitung jarak (s) dari sebuah harga kecepatan (v)
dan waktu (t).
Spesifikasi Program
Input : v (kecepatan, m/s), integer dan t (waktu, s), integer.
Proses : menghitung s (jarak, m) = v * t.
Output : s (jarak yang ditempuh, meter), real.
Implementasi Program
7
Hasil Kompilasi
Contoh Soal 2
Buat program dengan spesifikasi teknis sebagai berikut :
Spesifikasi Program
Input : menerima data nisn, nama, alamat dan no. Telepon/hp.
Proses : -
Output : menampilkan semua data yang diinputkan.
Implementasi Program
8
Hasil Kompilasi Contoh Soal 3
Buatlah program yang dapat menghitung nilai Y dari persamaan matematika
berikut :
Spesifikasi Program
Y = 3X4 + 8X3 + 13X3 + 9X + 17
Implementasi Program
Hasil Kompilasi
9
Tugas 1
Soal 1
Buat program yang dapat menghitung Luas Persegi Panjang (Ls) dari harga
Panjang (P) dan Lebar (L).
Spesifikasi Program
Input : P dan L
Proses : Ls = P * L
Output : Ls
Soal 2
Buat program yang dapat memberikan informasi tagihan listrik dengan spesifikasi
sebagai berikut :
Spesifikasi Program
Input : Nomor Pelanggan, Besar Pemakaian
Proses : Menghitung tagihan dengan ketentuan sebagai berikut :
Abonemen = 5000
Biaya Pakai = Besar Pemakaian x 375
Iuran Sampah = 1000
Tagihan = Abonemen + Biaya Pakai + Iuran Sampah
Output : Tagihan
Soal 3
Buat program yang menghitung Luas Lingkaran (Ls) dan Keliling Lingkaran
(Kll).
Spesifikasi Program
Input : r (jari-jari)
Proses : Dimana hi = 3.14
Ls = phi x r2 dan Kll = phi x D (diameter)
Output : Ls dan Kll
10
Soal 4
Buat program dengan ketentuan sebagai berikut :
Spesifikasi Program
Input : Gaji Pokok, Jumlah Anak
Proses : Tunjangan = 25% dari gaji pokok + Jumlah Anak x 30000
Total Gaji = Gaji Pokok + Tunjangan
Output : Total Gaji
Soal 5
Buat Program yang menerima data nilai-nilai siswa-siswi yaitu ujian1, ujian2,
tugas dan uas. Kemudian progam menghitung dan menampilkan nilai akhir
dengan rumus sebagai berikut :
Spesifikasi Program
Nilai Akhir = 20% x Ujian1 + 20% x Ujian2 + 50% x UAS + 10% x Tugas
11
Materi 2
Topik Seleksi Kondisi
Suatu Struktur dasar algoritma yang memiliki satu atau lebih kondisi tertentu
dimana sebuah instruksi dilaksanakan jika sebuah kondisi/persyaratan terpenuhi.
Ada beberapa bentuk struktur dasar pemilihan ini :
2.1. Seleksi If
Statement If berguna untuk memilih salah satu dari 2 atau lebih
kemungkinan yang ada. Bila salah satu keadaan yang dapat dipilih dalam
statement If mengandung lebih dari datu pernyataan, maka pernyataan-
pernyataan tersebut dimasukkan dalam blok Begin dan End.
Bentuk Umum :
1. If dengan satu statement
If <Kondisi> Then <Statement>;
2. If dengan banyak statement
If <Kondisi> Then
Begin
<Statement 1>;
<Statement 2>;
…………
<Statement n>;
End;
3. If-Then-Else dengan satu statement
If <Kondisi> Then <Statement 1>
Else <Statement 2>;
4. If dengan banyak statement, else dengan satu statement
If <Kondisi> Then
Begin
12
<Statement 1>;
<Statement 2>;
………
<Statement n>
End
Else <Statement>;
5. If dengan satu statement, else dengan banyak statement
If <Kondisi> Then <Statement 1>
Else
Begin
<Statement 2>;
<Statement 3>;
………
<Statement n>;
End;
6. If-Then-Else dengan banyak Statement
If <Kondisi> Then
Begin
<Statement 1>;
<Statement 2>;
………
<Statement n>;
End Else
Begin
<Statement n+1>;
<Statement n+2>;
………
<Statement n+m>;
End;
13
7. If-Then-Else If
If <Kondisi 1> Then <Statement 1>
Else If <Kondisi> Then <Statement 2>
………
Else <Statement n>
8. If bersarang
If <Kondisi 1> Then
If <Kondisi 2> Then
If <Kondisi n> Then <Statement>
Contoh Soal 1
Buat program yang dapat menentukan komentar dari nilai angka dimasukkan
Spesifikasi Program
Input : Nilai
Proses : Jika nilai angka lebih dari 75, maka komentarnya adalah LULUS,
tapi jika kurang dari 75, maka komentarnya adalah TIDAK LULUS
Output : Komentar
Implementasi Program
14
Hasil Kompilasi
Contoh Soal 2
Buat program yang dapat menentukkan bilangan terbesar dari 2 buah bilangan
Spesifikasi Program
Input : a dan b
Proses : Jika a lebih dari b, maka terbesar adalah a, begitu pula seterusnya
Output : Terbesar
Implementasi Program
Hasil Kompilasi
15
Contoh Soal 3
Buat program yang dapat menentukkan bilangan terbesar dari 3 buah bilangan
Spesifikasi Program
Input : a, b dan c
Proses : Jika a lebih dari b dan a lebih besar dari c maka terbesar adalah a,
begitu pula seterusnya
Output : Terbesar
Implementasi Program
Hasil Kompilasi
16
Tugas 2. 1
Soal 1
Buat program yang dapat menentukan besar tunjangan yang diberikan kepada
seorang pegawai dengan ketentuan jika anak kurang dari sama dengan 2, maka
tunjangan adalah 20% dari gaji kotor, tapi jika lebih dari 2 maka tunjangan adalah
40% dari gaji kotor. Gaji kotor dimasukkan dengan manual.
Soal 2
Buatlah program dimana inputnya adalah Nilai Angka dan Outputnya adalah Nilai
Huruf dengan menggunakan tabel berikut ini :
Soal 3
Buatlah program dengan outputnya seperti gambar diatas
Soal 4
Buat program menentukan berat badan dimana dengan ketentuan sebagai berikut :
Jika berat badan sama dengan tinggi badan dikurang 110, maka keterangan ideal
dan komentarnya bagus. Jika berat badan lebih besar tinggi badan dikurang 110,
maka keterangan gemuk dan komentarnya harus berolahraga. Jika berat badan
lebih kecil tinggi badan dikurang 110, maka keterangan kurus dan komentarnya
makanlah makanan yang bergizi.
Nilai Angka Nilai Huruf 0 ≤ NA < 40 E
NA = 40 dan NA < 60 D NA = 60 dan NA < 70 C NA = 70 dan NA < 80 B
80 ≤ NA ≤ 100 A
17
2. 2 Seleksi Case
Case biasanya digunakan untuk memilih diantara lebih besar dari 2 pilihan.
Case dipakai untuk menggantikan struktur if-else if dimana konsidinya
mengacu pada variabel yang sama.
Bentuk umum :
1. Case dengan satu statement tiap kondisi :
Case <variabel> of
<kondisi 1> : <statement 1>;
<kondisi 2> : <statement 2>;
.....
<kondisi n> : <statement n>;
End;
2. Case dengan banyak statement tiap kondisi :
Case <variabel> of
<kondisi 1> :
Begin
<statement 1>;
<statement 2>;
.....
<statement n>;
End;
<kondisi 2> :
Begin
<statement 1>;
<statement 2>;
.....
<statement n>;
End;
....
<kondisi n> :
Begin
<statement 1>;
18
<statement 2>;
.....
<statement n>;
End;
Contoh Soal 1
Buat program yang dapat menampilkan pilijan dari beberapa n\menu masakan dan
dapat menampilkan menu masakan yang dipilih.
Spesifikasi Program
Input : Pilihan dari menu masakan (beupa angka)
Proses : Jika memilih 1, menunya adalah nasi uduk, begitu pula seterusnya
Output : Menu masakan yang dipilih
Implementasi Program
Hasil Kompilasi
19
Contoh Soal 2
Buatlah program dalam bentuk menu yang mampu menghitung :
a. Luas dan Keliling Bujur Sangkar
b. Luas dan Keliling Persegi Panjang
c. Luas Segitiga
Implementasi Program
Hasil Kompilasi
20
Tugas 2. 2
Soal 1
Buatlah algoritma yang membaca sebuah bilangan bulat yang nilainya terletak
antara 1 sampai 4, lalu mencetak teks angka tersebut. Misalkan bila dibaca angka
1, maka tercetak tulisan ”satu”, bila angka 2, maka tercetak di layar tulisan ”dua”,
demikian seterusnya. Jika angka yang dimasukkan selain 1 sampai 4, tulisan pesan
bahwa angka yang dimasukkan salah.
Soal 2
Menghitung upah mingguan karyawan. Dimana masukkan yang dibaca adalah
nama karyawan, golongan dan jumlah jam kerja. Dan keluaran program ialah
nama karyawan dan upah kerja total. Dengan ketentuan golongan adalah jika a =
upah kerjanya Rp. 4000,-/jam, jika b = upah kerjanya Rp. 5000,-/jam, jika c =
upah kerjanya Rp. 6000,-/jam dan jika d = upah kerjanya Rp. 7000,-/jam. Jam
kerja karyawan adalah 8 jam/hari, upah lembur Rp. 3000,-/jam.
Soal 3
Simulasikan sebuah kalkulator sederhana untuk melakukan operasi aritmetika
sebagai berikut : Tambahan (+), Kurangan (-), Perkalian (x) dan Pembagian (/).
21
Materi 3
Topik Pengulangan
Sebuah / Kelompok instruksi diulang untuk jumlah perulangan tertentu. Baik yang
didefinisikan sebelumnya ataupun tidak.
Struktur perulangan terdiri atas dua bagian :
1. Kondisi pengulangan yaitu ekspresi Boolean yang harus dipenuhi untuk
melaksanakan perulangan.
2. Isi atau badan pengulangan yaitu satu atau lebih pernyataan (aksi) yang akan
diulang.
Perintah atau notasi dalam struktur pengulangan adalah :
1. Pernyataan For…to…do
2. Pernyataan While…do
3. Pernyataan Repeat…Until
3. 1. Pernyataan For
Pada perulangan dengan for, inisialisasi awal dan kondisi akhir ditentukan
dengan menggunakan suatu variable kendali yang nilainya dibatasi dalam
suatu range tertentu.
Bentuk Umumnya :
For <variable kendali> := <nilai awal> to <nilai akhir> do
Begin
{Statement}
End;
Atau
For <variable kendali> := <nilai awal> downto <nilai akhir> do
Begin
{Statement}
End;
22
Contoh Soal 1
Buat program yang dapat menampilkan kata “Saya Belajar Pascal” sebanyak 5
kali.
Spesifikasi Program
Input : nilai awal dan nilai akhir
Proses : dari nilai awal dan nilai akhir yang telah ditentukan, lakukan
pengulangan
Output : tampilan pengulangan teks
Implementasi Progam
Hasil Kompilasi
26
3. 2. Pernyataan While...do
Stantement while...do digunakan untuk melakukan proses pengulangan
suatu statement terus-menurut selama kondisi ungkapan logika pada while
masih bernilai logika benar.
Bentuk Umumnya :
While <Kondisi_pengulangan> do
Begin
{STATEMENT}
End;
Contoh Soal 1
Buat program yang dapat menampilkan hasil dari 0 – 90 Celcius ke Fahrenheit
Spesifikasi Program
Input : Kondisi pengulangan
Proses : Tentukan kondisi pengulangan beserta batas pengulangannya
Output : Tampilkan berurutan hasil konversi
Implementasi Program
28
Tugas 3. 2
Soal 1
Buat program yang dapat menentukkan besarnya nilai FPB (Faktor Persekutuan
terBesar) diantara dua bilangan bulat yang berbeda.
Soal 2
Buat program yang dapat menentukkan besarnya nilai KPK (Kelipatan
Persekutuan terKecil) diantara dua bilangan bulat yang berbeda.
29
3. 3. Pernyataan Repeat...Until
Metode pengulangan ini juga melakukan pengulangan berdasarkan
pemeriksaan kondisi pengulangan. Hanya saja atur dari pengulangan ini
adalah sytem seakan-akan memaksa untuk melakukan pengulangan, sampai
diketahui adanya kondisi berhenti.
Bentuk Umumnya :
Repeat
{STATEMENT}
Until <Kondisi Berhenti>
Contoh Soal 1
Buat program yang dapat angka 0, 1, 2, 3, 4 secara berurutan
Spesifikasi Program
Input : Tentukan kondisi awal
Proses : Tentukan statementnya beserta kondisi berikutnya
Output : Tampilan berurutan angka 0, 1, 2, 3, 4
Implementasi Program
Hasil Kompilasi
32
Materi 4
Topik Larik (Array)
Larik ialah tipe data terstruktur yang terdiri dari sejumlah komponen-komponen
yang mempunyai tipe yang sama. Komponen-komponen tersebut sebagai
komponen type, larik mempunyai jumlah komponen yang tetap. Banyaknya
komponen dalam larik ditunjukkan oleh suatu index, dimana tiap komponen di
larik dapat diakses dengan menunjukkan indexnya atau subscript. Larik dapat
bertipe data sederhana seperti byte, word, integer, real, boolean, char, string dan
tipe data skalar atau subrange. Tipe larik mengantikan isi dari larik atau
komponen-komponennya nilai dengan tipe data tersebut.
4.1. Larik Satu Demensi
Bentuk Umumnya :
Var
Untai : array[nilai_awal..nilai_akhir] of integer;
Contoh Soal 1
Hasil Kompilasi
33
Contoh Soal 2 Program Larik; Uses WinCrt; Type THari = array[1..7] of string[7]; Var Hari : THari; N : integer; Lagi : char; Begin {Pengisian larik} Hari[1] := 'SENIN' ; Hari[2] := 'SELASA'; Hari[3] := 'RUBU' ; Hari[4] := 'KAMIS' ; Hari[5] := 'JUMAT' ; Hari[6] := 'SABTU' ; Hari[7] := 'MINGGU'; {Pengunaan} Lagi := 'Y'; While ((Lagi = 'Y') or (Lagi = 'y')) do Begin write('Masukkan nomor hari = '); readln(N); writeln('Maka hari ke- ',N,' adalah ',Hari[N]); write('Mau coba lagi (Y/T) = '); readln(Lagi); End; End. Hasil Kompilasi
34
Tugas 4.1
Soal 1 Program SoalLarik1; Uses wincrt; Type max = 1..40; Var Nama, NBar : array[max] of string[30]; Jum, Kode : array[max] of integer; Total, Hrg : array[max] of longint; a, x, i : integer; y : longint; Begin {Untuk Data Pembeli} write('Masukkan banyaknya pelanggan yang diinginkan = '); readln(a); writeln('Kode barang : '); writeln('1. Televisi SONY'); writeln('2. Radio PANASONIC'); writeln('3. Kulkas LG'); i := 1; y := 0; while i <= a do Begin writeln('Data pembeli ke- ',i); write('Nama pembeli = '); readln(Nama[i]); write('Kode barang = '); readln(Kode[i]); {Untuk Pemeilihannya} case Kode[i] of 1 : Begin NBar[i] := 'Telavisi SONY'; Hrg[i] := 1000000; end; 2 : Begin NBar[i] := 'Radio PANASONIC'; Hrg[i] := 500000; end; 3 : Begin NBar[i] := 'Kulkas LG'; Hrg[i] := 2000000; end; end; jum[i] := 1; Total[i] := Hrg[i]; y := y + Total[i]; i := i + 1; End; {Data Yang Ditampilkan} writeln('88888888888888888888888888888888888888888888888888888888888888888888888'); writeln('|No Nama Nama Barang Harga Satuan Jumlah Total|'); writeln('88888888888888888888888888888888888888888888888888888888888888888888888'); i := 1; while i <= a do Begin Writeln(i,' ',Nama[i],' ',NBar[i],' ',Hrg[i],' ',jum[i],' ',Total[i]); i := i + 1; end; writeln('88888888888888888888888888888888888888888888888888888888888888888888888'); writeln('Yang harus dibayar Rp. ',y); writeln('##########TERIMA KASIH#########'); end.
35
Soal 2 Program DataSiswa;
Uses WinCrt;
Type
TSiswa = Record
Nama : String[30];
Nil1, Tgs, UAS : Integer;
NA : Real;
NH : Char;
end;
Var
Siswa : Array[1..100] of TSiswa;
i, N : Integer; Begin
write('Jumlah Siswa = ');
readln(N);
writeln('=================');
For i:= 1 to N do
Begin
writeln('Data Siswa Ke- ',i);
write('Nama = ');readln(Siswa[i].Nama);
write('Nilai 1 = ');readln(Siswa[i].Nil1);
write('Nilai Tugas = ');readln(Siswa[i].Tgs);
write('Nilai UAS = ');readln(Siswa[i].UAS);
Siswa[i].NA := 0.25 * Siswa[i].Nil1 + 0.25 * Siswa[i].Tgs + 0.5 * Siswa[i].UAS;
If (Siswa[i].NA < 40) then Siswa[i].NH := 'E'
else If (Siswa[i].NA < 60) then Siswa[i].NH := 'D'
else If (Siswa[i].NA < 70) then Siswa[i].NH := 'C'
else If (Siswa[i].NA < 80) then Siswa[i].NH := 'B'
else Siswa[i].NH := 'A';
writeln('=================');
End;
{Tampilkan Data Siswa}
writeln;
writeln(' DAFTAR NILAI');
writeln('=======================================================================');
writeln(' No Nama Nilai 1 Tugas UAS Nilai Akhir Nilai Huruf');
writeln(' 25 % 25 % 50 % ');
writeln('=======================================================================');
For i := 1 to N do
writeln(i:2,Siswa[i].Nama:8,Siswa[i].Nil1:10,Siswa[i].Tgs:10,Siswa[i].UAS:10,
Siswa[i].NA:10:2,Siswa[i].NH:15);
writeln('=======================================================================');
End.
Dimana
Jika Nilai Akhir Siswa < 40 Maka Nilai Huruf = 'E'
Jika tidak Nilai Akhir Siswa < 60 Maka Nilai Huruf = 'D'
Jika tidak Nilai Akhir Siswa < 70 Maka Nilai Huruf = 'C'
Jika tidak Nilai Akhir Siswa < 80 Maka Nilai Huruf = 'B'
Jika tidak Nilai Huruf = ’A’
Inputan
Hasil Kompilasi
36
4.2. Larik Dua Demensi
Dimana dalam Pascal Larik dapat berdimensi lebih dari satu yang disebut
dengan Larik diemensi banyak (Multimensional Array), disini akan dibahas
Larik Dua Dimensi saja.
1 2
1
2
3
Deklarasikannya sebagai berikut :
Contoh Soal 1
Hasil Kompilasi
37
Tugas 4.2
Soal 1
Buatlah Program Menjumlahkan 2 Matrik yang jumlah baris 3 dan kolom 2. Program Soal; Uses wincrt; Var Matrik1, Matrik2, Hasil : array[1..3,1..2] of Integer; i, j : integer; Begin Clrscr; Input Matrik Pertama {Input Matrik Ke Satu} Writeln('Matrik Pertama'); For i := 1 to 3 do Begin For j := 1 to 2 do Begin Write('Elemen barik Ke-',i,'kolom Ke-',j,'= '); readln(Matrik1[i,j]); End; End; {Input Matrik Ke Dua} Writeln('Matrik Kedua'); For i := 1 to 3 do Begin For j := 1 to 2 do Begin Write('Elemen barik Ke-',i,'kolom Ke-',j,'= '); readln(Matrik2[i,j]); Input Matrik Kedua {Input Matrik Ke Satu} End; End; {Proses Penjumlahan} For i := 1 to 3 do Begin For j := 1 to 2 do Begin Hasil[i,j] := Matrik1[i,j] + Matrik2[i,j]; End; End; writeln; {Hasil Penjumlahan} For i := 1 to 3 do Begin For j := 1 to 2 do Begin write(Hasil[i,j]:6); End; writeln; End; readln; End.
Hasil Kompilasi
38
Materi 5
Topik Fungsi dan Prosedur
Fungsi (function) dan prosedur (procedure) akan membantu mewujudkan
pemecehan masalah-masalah yang lebih sederhana tersebut. Pemakaian fungsi dan
prosedur dalam sebuah program akan menjadikan program semakin mudah dibaca
dan lebih mudah diubah atau dimodifikasi.
5.1. Fungsi (Function)
Konsep fungsi dalam pascal hampir sama dengan konsep fungsi dalam
matematika. Sebuah fungsi digunakan untuk menghitung sebuah nilai
berdasar satu atau beberapa nilai masukkan
Bentuk Umumnya :
Function nama_fungsi (parameter) : tipe_hasil ; Begin {Statemen-statemen implementasi fungsi} nama_fungsi := nilai yang dikirimkan/hasil ; End; Contohnya : Function gaya(m, a : real) : real; {m = massa, a = percepatan, mengirimkan gaya, F = m * a} Begin Gaya := m * a; End; Contoh Soal 1
40
Tugas 5.1
Soal 1
Masukkan tiga buah angka dan cari nilai terbesar diantara tiga buah angka tersebut. Program cariterbesar3; Uses WinCrt; var angka1, angka2, angka3, terbesar : integer; function maks(a, b : integer): integer; Begin if a > b then maks := a else maks := b; end; Begin write('Angka pertama = ');readln(angka1); write('Angka kedua = ');readln(angka2); write('Angka ketiga = ');readln(angka3); terbesar := maks(angka1, angka2); terbesar := maks(terbesar, angka3); write('Angka terbesar = ',terbesar); End.
Hasil Kompilasi
41
5.2. Prosedur
Prosedur (procedure) adalah serangkaian statemen yang digunakan untuk
memecahkan sebuah masalah. Seperti fungsi, prosedur juga mempunyai
nama dan parameter. Prosedur harus dideklarasikan terlebih dahulu sebelum
dipanggil atau digunakan.
Bentuk Umumnya :
Procedure nama_prosedur(parameter input; var parameter output); Begin
{statemen-statemen implementasikan prosedur (badan prosedur), hasil perhitungan yang dilakukan prosedur (jika ada), disimpan pada parameter output}
End; Contohnya :
Procedure gaya(m, a : integer; var f : integer); {m = massa, a = percepatan, menghitung gaya, F = m * a} Begin f := m * a; End;
Contoh Soal 1
Hasil Kompilasi
43
Tugas 5.2
Soal 1 Program pertukaran3; Uses WinCrt; Var angka1, angka2, angka3 : integer; Procedure tukar(var a, b : integer); {menukar isi a menjadi isi b, dan sebaliknya} Var temp : integer; Begin temp := a; a := b; b:= temp; End; {program utama} Begin writeln('Sebelum pertukaran'); write('Angka 1 = ');readln(angka1); write('Angka 2 = ');readln(angka2); write('Angka 3 = ');readln(angka3); tukar(angka1, angka2); tukar(angka1, angka3); writeln; writeln('Setelah pertukaran'); writeln('Angka 1 = ',angka1); writeln('Angka 2 = ',angka2); write('Angka 3 = ',angka3); End.
Soal 2
Hitunglah gaya dengan menggunakan rumus : f (gaya) = m (massa) * a (percepatan) Program hitung_gaya; Uses WinCrt; Var massa, percepatan, gaya : integer; Procedure hit_gaya(m, a : integer; var f : integer); Begin f := m * a; End; {program utama} Begin write('Massa = ');readln(massa); write('Percepatan = ');readln(percepatan); hit_gaya(massa, percepatan, gaya); write('Gaya = ',gaya); End.