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.
1
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
2
(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 operasioperasi 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.
3
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
4
(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).
5
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
6
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
7
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
8
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
9
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
10
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 pernyataanpernyataan tersebut dimasukkan dalam blok Begin dan End. Bentuk Umum : 1. If dengan satu statement If
Then <Statement>; 2. If dengan banyak statement If Then Begin <Statement 1>; <Statement 2>; ………… <Statement n>; End; 3. If-Then-Else dengan satu statement If Then <Statement 1> Else <Statement 2>; 4. If dengan banyak statement, else dengan satu statement If Then Begin
11
<Statement 1>; <Statement 2>; ……… <Statement n> End Else <Statement>; 5. If dengan satu statement, else dengan banyak statement If Then <Statement 1> Else Begin <Statement 2>; <Statement 3>; ……… <Statement n>; End; 6. If-Then-Else dengan banyak Statement If Then Begin <Statement 1>; <Statement 2>; ……… <Statement n>; End Else Begin <Statement n+1>; <Statement n+2>; ……… <Statement n+m>; End;
12
7. If-Then-Else If If Then <Statement 1> Else If Then <Statement 2> ……… Else <Statement n> 8. If bersarang If Then If Then If 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
13
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
14
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
15
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 : Nilai Angka 0 ≤ NA < 40 NA = 40 dan NA < 60 NA = 60 dan NA < 70 NA = 70 dan NA < 80 80 ≤ NA ≤ 100
Nilai Huruf E D C B A
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.
16
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 of : <statement 1>; : <statement 2>; ..... : <statement n>; End; 2. Case dengan banyak statement tiap kondisi : Case of : Begin <statement 1>; <statement 2>; ..... <statement n>; End; : Begin <statement 1>; <statement 2>; ..... <statement n>; End; .... : Begin <statement 1>;
17
<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
18
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
19
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 (/).
20
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 := to do Begin {Statement} End;
Atau For := downto do Begin {Statement} End;
21
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
22
Contoh Soal 2
Hasil Kompilasi
Contoh Soal 3
23
Hasil Kompilasi
Contoh Soal 4
Hasil Kompilasi
24
Tugas 3. 1
Buat program dengan keluaran sebagai berikut :
Soal 1
Soal 2
Soal 3
Soal 4
Soal 5
25
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 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
26
Hasil Kompilasi
Contoh Soal 2
Hasil Kompilasi
27
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.
28
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
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
29
Contoh Soal 2
Hasil Kompilasi
30
Tugas 3. 3
Soal 1
Soal 2
31
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
32
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
33
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.
34
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;
Inputan
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);
Hasil Kompilasi
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 writeln('
Nilai 1 Tugas
25 %
25 %
50 %
UAS
Nilai Akhir Nilai Huruf'); ');
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’
35
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
36
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
37
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
38
Hasil Kompilasi
Contoh Soal 2
Hasil Kompilasi
39
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
40
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
41
Contoh Soal 2
Hasil Kompilasi
42
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.
43