Modul Pascal.pdf

43
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.

description

pemrograman Dasar

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

23

Contoh Soal 2

Hasil Kompilasi

Contoh Soal 3

24

Hasil Kompilasi

Contoh Soal 4

Hasil Kompilasi

25

Tugas 3. 1

Buat program dengan keluaran sebagai berikut :

Soal 1 Soal 2

Soal 3 Soal 4

Soal 5

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

27

Hasil Kompilasi

Contoh Soal 2

Hasil Kompilasi

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

30

Contoh Soal 2

Hasil Kompilasi

31

Tugas 3. 3

Soal 1

Soal 2

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

39

Hasil Kompilasi Contoh Soal 2 Hasil Kompilasi

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

42

Contoh Soal 2

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.