• Tidak ada hasil yang ditemukan

PERTEMUAN I PENGANTAR ALGORITMA DAN PEMROGRAMAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "PERTEMUAN I PENGANTAR ALGORITMA DAN PEMROGRAMAN"

Copied!
28
0
0

Teks penuh

(1)

PERTEMUAN I

PENGANTAR ALGORITMA DAN PEMROGRAMAN Tujuan pembelajaran :

1. Mahasiswa dapat menjelaskan pengertian algoritma

2. Mahasiswa dapat membedakan antara algoritma dengan program

3. Mahasiswa dapat memahami pentingnya algoritma dalam pembuatan program

1.1. Apakah Itu Algoritma

Ditinjau dari asal-usul katanya, kata Algoritma sendiri mempunyai sejarah yang aneh. Orang hanya menemukan kata algorism yang berarti proses menghitung dengan angka arab. Anda dikatakan algorist jika Anda menghitung menggunakan angka arab. Para ahli bahasa berusaha menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal kata tersebut yang berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction). Dari judul buku itu kita juga memperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran –sm berubah menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma.

1.1.1. Definisi Algoritma

“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis”. Kata logis merupakan kata kunci dalam algoritma. Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar.

Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu. Pertimbangan dalam pemilihan algoritma adalah, pertama, algoritma haruslah benar. Artinya algoritma akan memberikan keluaran yang dikehendaki dari sejumlah masukan yang diberikan. Tidak peduli sebagus

(2)

apapun algoritma, kalau memberikan keluaran yang salah, pastilah algoritma tersebut bukanlah algoritma yang baik.

Pertimbangan kedua yang harus diperhatikan adalah kita harus mengetahui seberapa baik hasil yang dicapai oleh algoritma tersebut. Hal ini penting terutama pada algoritma untuk menyelesaikan masalah yang memerlukan aproksimasi hasil (hasil yang hanya berupa pendekatan). Algoritma yang baik harus mampu memberikan hasil yang sedekat mungkin dengan nilai yang sebenarnya.

Ketiga adalah efisiensi algoritma. Efisiensi algoritma dapat ditinjau dari 2 hal yaitu efisiensi waktu dan memori. Meskipun algoritma memberikan keluaran yang benar (paling mendekati), tetapi jika kita harus menunggu berjam-jam untuk mendapatkan keluarannya, algoritma tersebut biasanya tidak akan dipakai, setiap orang menginginkan keluaran yang cepat. Begitu juga dengan memori, semakin besar memori yang terpakai maka semakin buruklah algoritma tersebut.

Dalam kenyataannya, setiap orang bisa membuat algoritma yang berbeda untuk menyelesaikan suatu permasalahan, walaupun terjadi perbedaan dalam menyusun algoritma, tentunya kita mengharapkan keluaran yang sama. Jika terjadi demikian, carilah algoritma yang paling efisien dan cepat.

1.1.2. Beda Algoritma dan Program

Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman. Beberapa pakar memberi formula bahwa:

Program = Algoritma + Bahasa (Struktur Data)

Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, demikian juga sebaliknya.

Pembuatan algoritma mempunyai banyak keuntungan di antaranya:

1. Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya.

2. Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.

3. Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.

(3)

PERTEMUAN II TIPE DATA

Secara umum, tipe data dalam pemrograman Pascal adalah: 1. Tipe data sederhana

a. Tipe data standard (standard data type)

b. Tipe data didefinisikan pemakai (user defined data type) 2. Tipe data terstruktur

3. Tipe data penunjuk

Tipe data berfungsi membatasi jangkauan data ynag akan dilaksanakan.

TIPE DATA SEDERHANA

Tipe Data Standard – Integer

Tipe integer adalah tipe data yang nilainya bulat. Ada 5 macam tipe integer, yaitu: 1. Shortint dengan jangkauan -128 .. 127

2. Integer dengan jangkauan -32768 .. 32767

3. Longint dengan jangkauan -2147483648 .. 2147483647 4. Byte dengan jangkauan 0 .. 255

5. Word dengan jangkauan 0 .. 65535 Contoh deklarasi:

Var

A, B, C : Integer; D, E, F : Longint;

Operator-operator yang berlaku pada tipe data integer, yaitu : Operator arithmatik : +, - , *, /, div, mod

Operator logic : <, = , > , <= , >= , <> – Real

(4)

Real merupakan tipe bilangan pecahan. Bilangan real bisa dinyatakan dalam bentuk eksponensial. Ada 5 macam tipe real, yaitu:

1. Real dengan jangkauan 2,9 x 10-38 .. 1,7 x 1038 2. Single dengan jangkauan 1,5 x 10-45 .. 3,4 x 1038 3. Double dengan jangkauan 5.0 x 10-324 .. 1,7 x 10308 4. Extended dengan jangkauan 3,4 x 10-4932 .. 1,11 x 104932 5. Comp dengan jangkauan -263 + 1 .. 263 - 1

Contoh deklarasi: Var

A, B, C : Real; D, E, F : Double;

Operasi – operasi yang bisa dikerjakan oleh tipe data real adalah:

• Operasi biner, seperti penjumlahan (+), pengurangan (-), perkalian (*), dan pembagian (/)

• Operasi uner. Contoh: -4.25, +1.25 – Boolean

Boolean adalah tipe data yang hanya mempunyai dua kemungkinan, yaitu true dan false. Biasanya tipe data ini digunakan untuk perbandingan.

Var A, B, C : Boolean;

Operator NOT, OR, AND, dan XOR dapat dibentuk secara bersamaan menjadi sebuah ungkapan Boolean yang rumit.

Misal: Var

A,B,C: Boolean; Begin

C := false; B := true;

(5)

End.

Menurut anda, berapakah nilai A? – Char

Char adalah semua tombol yang terdapat pada keyboard atau lebih lengkapnya semua karakter yang terdapat pada kode ASCII.

Catatan : Apabila char ingin dijadikan sebagai konstanta maka karakter yang dimasukkan harus diapit dengan tanda kutip satu. Dan apabila karakter itu berupa tanda kutip satu maka harus diapit dengan dua tanda kutip satu.

Beberapa fungsi untuk memanipulasi tipe daa char:

1. Ord(x) dengan x adalah data bertipe char. Fungsi ini digunakan untuk memperoleh nilai urutan dalam kode ASCII yang digunakan untuk melambangkan karakter tersebut. Contoh: Ord('C') adalah 67.

2. Char(x) dengan x adalah data bertipe byte. Fungsi ini adalah kebalikan dari fungsi Ord. Nilai yang diperoleh merupakan karakter ASCII yang dinyatakan dengan urutan ke x. Contoh: Char(67) adalah 'C'.

3. Pred(x) dengan x adalah data bertipe char. Fungsi ini digunakan untuk mengetahui karakter yang mendahului x. Contoh: Pred('h') adalah 'g'.

4. Succ(x) dengan x adalah data bertipe char. Fungsi ini digunakan untuk mengetahui karakter sesudah x. Contoh: Succ('h') adalah 'i'. Jika x tidak mempunyai penerus, maka nilai fungsi ini tidak terdefinisikan.

5. Upcase(x) dengan x adalah data bertipe char. Jika x merupakan huruf kecil maka akan dikembalikan huruf kapitalnya. Contoh: upcase('a') adalah 'A'.

– String

String adalah data yang berisi sederet karakter yang terletak diantara tanda kutip satu. Jika karakter kutip merupakan bagian dari konstanta string, maka ditulis dengan menggunakan dua buah tanda kutip satu berurutan. Nilai data string akan menempati memori sebesar maksimla jumlah karakter yang dapa ditampung

(6)

ditambah denga 1 byte (index ke-0) untuk menyimpan panjang string yang sebenarnya. Jika panjang string tidak ditulis, maka panjang string dianggap 255 karakter. Panjang string yang diijinkan antara 1 sampai 255.

Bentuk umum dari deklarasi tipe string adalah:

Var pengenal : string[panjang];

dimana

pengenal : nama variabel

panjang : bilangan bulat yang menunjukkan banyaknya karakter (1 – 255). Untuk tipe data string, operator yang berlaku adalah operator penggabungan (+). Tipe data didefinisikan pemakai (user-defined data type)

– Subrange

Tipe data subrange adalah suatu range yang menunjukkan nilai terkecil dan nilai terbesar yang dapat dipergunakan. Deklarasi tipe data subrange mempunyai bentuk:

Type pengenal = konstanta1 .. konstanta2;

dimana:

pengenal : nama tipe data yang dideklarasikan konstanta1 : batas bawah nilai data

konstanta2 : batas atas nilai data

Kedua konstanta di dalam subrange harus bertipe ordinal yang sama, di mana nilai konstanta pertama lebih kecil atau sama dengan nilai konstanta kedua. Tipe data real tidak dapat digunakan sebagai nilai subrange, karena buka tipe ordinal.

Contoh:

Type tanggal = 1 .. 31; bulan = 1 .. 12;

(7)

Tipe data enumerated (skalar) menunjukkan kumpulan dari nilai yang urutannya sudah pasti. Nilai dari tipe yang dideklarasikan ini akan diwakili dengan pengenal – pengenal (identifiers) yang akan menjadi nilai suatu konstanta.

Contoh:

Type

bahasa = (delphi, java, c, pascal, basic); bulan = (maret, april, mei, juni, juli);

Tipe data bulan mempunya 5 elemen dari maret sampai juli. Dari urutannya, maret adalah identifier berupa konstanta bernilai 0 dan juli bernilai 4. Yang perlu diperhatikan dengan tipe data skalar ini adalah tipe data ini sudah berbeda dengan tipe standar yang ada dan pascal tidak mengijinkan operasi dengan tipe data yang berbeda.

Derajat Operator

Anda sudah mengenal beberapa tipe data di dalam Pascal dan operatornya. Di dalamPascal, operator – operator tersebut memiliki derajat atau tingakatan. Adapun kegunaan dari derajat ini adalah Pascal dapat menentukan operator mana yang akan di jalankan terlebih dahulu.

Misal:

x := 4 + 5 * 3. Menurut anda, berapakah nilai dari x? Apakah 27 (hasil dari 9 * 3) atau 19 (hasil dari 4 + 15).

Berikut ini urutan operator berdasarkan derajatnya:

@, not, *, /, div, mod, as, and, shl, shr, +, -, or, xor, :=, <>, <, >, <=, >=, in

Berdasarkan dari urutan operator di atas, maka nilai x pada x := 4 + 5 * 3 adalah 19, karena operator * lebih dulu dikerjakan daripada operator +. Akan tetapi, jika kita ingin agar operator + dikerjakan terlebih dahulu, kita bias meletakkan operasi penjumlahan tersebut di dalam kurung, musalnya: x := (4 + 5) * 3. Di sini nilai x itu adalah 27, karena di dalam Pascal operasi yang di dalam kurung akan dilakukan terlebih dahulu, tidak dipengaruhi oleh derajat operator

(8)

PERTEMUAN III

PENGENALAN PROGRAM PASCAL

1.1 Pengenalan Pascal

Pascal adalah bahasa tingkat tinggi 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 Perancis. Beberapa bahasa pemrograman tingkat tinggi lainnya yang ada yaitu BASIC dan DELPHI.

Sedangkan bahasa pemrograman tingkat rendah yaitu bahasa pemrograman yang masihbanyak menggunakan tanda-tanda sehingga bahasa ini cenderung lebih “kotor”. Beberapa bahasa pemrograman tingkat rendah yang sering digunakan adalah C, C++ dan Java.

Mari kita melihat perbedaan antara bahasa Pascal dan C untuk pembanding dalam sintaks yang digunakan:

PASCAL

uses crt; var a : integer; begin

clrscr;

writeln('Masukkan nilai antara 0 sampai 100 : '); readln (a);

if a > 5 then begin

writeln('Nilai a lebih besar dari 5');

writeln('Tekan sembarang tombol untuk keluar'); end ;

else begin

writeln('Nilai a lebih kecil atau sama dengan 5'); writeln('Tekan sembarang tombol untuk keluar'); end; readkey; end. C #include <stdio.h> #include <conio.h> int a;

(9)

void main() { clrscr();

printf(“Masukkan nilai antara 0 sampai 100 : “); scanf(“%d”, &a);

if (a > 5) {

printf(“Nilai a lebih besar dari 5\nTekan sembarang tombol untuk keluar”); } else {

printf(“Nilai a lebih kecil atau sama dengan 5\nTekan sembarang tombol untuk keluar”);

} getch(); }

Dua penggalan program di atas akan menghasilkan program yang sama persis yaitu meminta sebuah input berupa angka antara 0 sampai 100. Kemudian sebuah tulisan akan muncul tergantung dari nilai input yang dimasukkan. Dari 2 bahasa tersebut, dapat dilihat bahwa dalam bahasa Pascal lebih sederhana dan lebih banyak menggunakan bahasa manusia. Sedangkan dalam bahasa C, lebih banyak penggunaan simbol.

Turbo Pascal dan C merupakan program compiler. Compiler sendiri berarti program yang menerjemahkan tulisan berupa kode program menjadi bahasa mesin yang dapat dimengerti oleh komputer. Proses yang dilakukan disebut compile atau compiling. Suatu program dapat di-compile dengan menggunakan kombinasi tombol Alt + F9. Sedangkan untuk menjalankan program, tombol yang dapat digunakan adalah Ctrl + F9. Bila selama proses compile terdapat error atau kesalahan dalam penulisan program, maka Turbo Pascal atau C akan memberitahukan letak kesalahan tersebut sehingga pengguna dapat memperbaikinya di halaman editor.

Turbo Pascal merupakan bahasa yang case insensitive yang berarti penulisan dalam huruf kapital maupun huruf kecil tidak dipermasalahkan. Akan tetapi pada C yang case sensitive, maka penulisan huruf kapital atau kecil harus benar-benar diperhatikan.

1.2 Struktur Program Pascal

Struktur dari suatu program pascal terdiri dari sebuah judul program dan suatu blok program atau badan program. Blok program dibagi lagi menjadi dua

(10)

bagian, yaitu : bagian deklarasi dan bagian pernyataan. Secara ringkas, struktur suatu program pascal dapat terdiri dari :

1. Judul program 2. Blok program a. Bagian deklarasi - deklarasi label - deklarasi konstanta - deklarasi tipe - deklarasi variable - deklarasi prosedur - deklarasi fungsi b. Bagian pernyataan

Program pascal yang paling sederhana adalah program yang hanya terdiri dari sebuah bagian pernyataan saja.

Bentuk umum : Begin

Statement; End .

1.2 .1. Judul Program

Judul program sifatnya sebagai dokumentasi saja, tidak signifikan terhadap proses program.

Bentuk umumnya :

Program nama program;

1.2 .2. Blok Program

1.2.2.1. Statement keluaran write dan writeln

Fungsinya untuk mencetak hasil pengolahan data (keluaran). Kedua statement ini dapat berisi sembarang argument.

Bentuk umum :

Write (pengenal1, pengenal 2); atau Writeln (pengenal 1, pengenal 2, …); Contoh :

Program satu; Begin

Write (‘ SELAMAT ‘);

Writeln (‘BELAJAR PEMROGRAMAN PASCAL ‘); Write (‘ di Laboratorium STMIK NW Anjani ‘); Readln;

(11)

End.

1.2.2.2. Deklarasi konstanta ( Const )

Definisi konstanta diawali dengan kata cadangan Const diikuti oleh kumpulan identifier yang diberi suatu nilai konstanta. Data konstanta nilainya sudah ditentukan dan pasti, tidak dapat dirubah didalam program.

Bentuk umum :

Const identifier1 = nilai 1; identifier 2= nilai 2; Contoh : Program contoh_konstanta; Const Potongan = 0.2 ; Gaji = 25000 ; Namaperusahaan = ‘PT ABC’ ; Begin

Writeln ( ‘Potongan =’, Potongan ) ; Writeln ( ‘Gaji =’, Gaji ) ;

Writeln ( ‘Nama =’, Namaperusahaan) ; End .

1.2.2.3. Deklarasi variabel ( Var )

Variabel adalah identifier yang berisi data yang dapat diubah-ubah nilainya didalam program. Semua perubah/variabel yang akan digunakan dalam program harus didefinisikan terlebih dahulu di awal program.

Bentuk umum :

Var identifier : tipe data ; Contoh :

Program contoh_variabel; Var

Total, Gaji, Tunjangan : real ; Jumlahanak : integer ;

Keterangan : string [25] ; Begin

Gaji : = 500000 ; Jumlahanak : = 3 ;

Tunjangan : = 0.25 * Gaji + Jumlahanak * 30000 ; Total : = Gaji + Tunjangan ;

Keterangan : = ‘Karyawan Teladan’ ; Writeln ( ‘ Gaji bulanan = Rp. ‘ , Gaji ) ; Writeln ( ‘ Tunjangan = Rp. ‘ , Tunjangan ) ; Writeln ( ‘ Total gaji = Rp. ‘ , Total ) ;

Writeln ( ‘ Keterangan = Rp. ‘ , Keterangan ) ; Readln;

(12)

1.2.2.4. Statement masukan (Read / Readln )

Read dan readln digunakan untuk membaca data. Statement Read tidak memperhatikan batas baris, rinci data akan selalu tidak tergantung apakah mereka ada di baris yang sama atau tidak. Statement Readln memulai pembacaan data pada posisi baris saat itu dan pergi ke awal baris baru setelah pembacaan selesai.

Bentuk umum :

Read (identifier) ; atau Readln (identifier); Contoh :

Program contoh_variabel; Var

Total, Gaji, Tunjangan : real ; Jumlahanak : integer ;

Keterangan : string [25] ; Begin

Write ( ‘ Masukkan Gaji ‘) ; readln (Gaji );

Write (‘ Masukkan jumlah anak ‘) ; readln (Jumlahanak) ; Tunjangan : = 0.25 * Gaji + Jumlahanak * 30000 ;

Total : = Gaji + Tunjangan ;

Keterangan : = ‘Karyawan Teladan’ ; Writeln ( ‘ Gaji bulanan = Rp. ‘ , Gaji ) ; Writeln ( ‘ Tunjangan = Rp. ‘ , Tunjangan ) ; Writeln ( ‘ Total gaji = Rp. ‘ , Total ) ;

Writeln ( ‘ Keterangan = Rp. ‘ , Keterangan ) ; Readln;

End .

1.2.2.5. Komentar

Komentar adalah bagian dari program yang tidak akan diproses oleh compiler (Free Pascal). Komentar hanya digunakan untuk dokumentasi saja. Cara pemberian komentar

adalah dengan menambahkan // untuk 1 baris atau {…} untuk lebih dari 1 baris. Contoh pemberian komentar:

Program Komentar; Begin

//Ini Adalah Komentar (Pernyataan – pernyataan ini Tidak kan Diproses}

(13)

1.2.2.5. Unit

Di dalam Pascal, ada bagian yang disebut sebagai unit. Unit ini menyimpan fungsi dan prosedur standard yang sudah didefinisikan oleh pembuat compiler. Beberapa unit standard yang ada dalam Pascal adalah Crt, System, Graph, Dos, Printer, dan Overlay.

Cara penggunaan unit adalah dengan menambahkan statemen Uses nama_unit; pada bagian Deklarasi.

Misal: Uses Crt;

Beberapa fungsi dan prosedur yang ada dalam unit Crt: 1. Clrscr

Clrscr adalah suatu prosedur untuk membersihkan layer. Contoh: Uses crt;

Begin

Writeln(‘Layar Sudah Bersih’); Readln;

End. 2. Readkey

Readkey adalah fungsi masukan yang hanya akan mengambil satu karakter masukan. Jenis variable yang dapat diinput oleh readkey pun hanya jenis variable karakter.

Contoh: Uses crt; Var A : Char; Begin

Write(‘Tekan karakter apa saja di dalam keyboard’); A := Readkey;

Writeln(‘Karakter yang barusan anda tekan adalah: ’, A); Readln;

End.

3. TextBackground

TextBackground merupakan prosedur untuk mengganti warna background tulitan yang ditampilhan di layar dengan warna yang kita inginkan.

Perintah yang digunakan adalah: Textbackground(warna);

Warna merupakan variable yang bisa diganti dengan nama warna atau nilai warna tersebut:

(14)

Warna Konstanta Nilai Warna Konstanta Nilai

Hitam Black 0 Coklat Tua Dark Brown 8

Biru Blue 1 Biru Muda Light Blue 9

Hijau Green Green 2 Hijau Muda Light Green 10

Cyan (Biru Laut)

Cyan 3 Cyan Muda Light Cyan 11

Merah Red 4 Merah Muda Light Red 12

Magenta Magenta 5 Magenta

Muda

Light Magenta

13

Coklat Brown 6 Kuning Yellow 14

Coklat Muda Light Gray 7 Putih White 1 15

Contoh: Uses Crt; Begin

Textbackground(Red);

Writeln(‘Laboratorium Komputer STMIK Syaikh Zainuddin NW Anjani ’); Readln;

End. 4. Textcolor

Textcolor merupakan prosedur yang digunakan untuk mewarnai tulisan. Perintahnya adalah:

Textcolor(warna);

Cara pengisian warna sama dengan Textbackground. Contoh:

Uses crt; Begin

Textbackground(Red); Textcolor(Blue);

Writeln(‘Laboratorium Komputasi FMIPA UGM’); Readln;

End.

Beberapa fungsi dan prosedur untuk operasi Aritmatika:

(15)

Sqrt(Value) _ fungsi ini digunakan untuk menghasilkan nilai akar pangkat dua Abs(Value) _ untuk menghasilkan nilai mutlak

Ln(Value) _ untuk mencari nilai logaritma natural Exp(Value) _ untuk mencari nilai eksponennya

Trunc (Value) _ untuk memotong nilai real ke suatu nilai integer

Round(Value) _ untuk membulatkan nilai real ke nilai integer yang terdekat

PENYELEKSIAN KONDISI 1. Pilihan tunggal Bentuk umum : IF kondisi THEN Statement Contoh : Program empat; Var

Total, Gaji, Tunjangan : real ; Jumlahanak : integer; Keterangan : string [25] ; Y : char; Label ulang; Begin Ulang :

Write ( ‘ Masukkan Gaji ‘) ; readln (Gaji );

Write (‘ Masukkan jumlah anak ‘) ; readln (Jumlahanak) ; Tunjangan : = 0.25 * Gaji + Jumlahanak * 30000 ;

Total : = Gaji + Tunjangan ;

Keterangan : = ‘Karyawan Teladan’ ; Writeln ( ‘ Gaji bulanan = Rp. ‘ , Gaji ) ; Writeln ( ‘ Tunjangan = Rp. ‘ , Tunjangan ) ; Writeln ( ‘ Total gaji = Rp. ‘ , Total ) ;

Writeln ( ‘ Keterangan = Rp. ‘ , Keterangan ) ; Writeln;

Write (‘ Mau menghitung lagi [ Y / T]’); Y :=readkey;

IF upcase (y) = ‘Y’ then goto ulang; Readln;

(16)

End . 2. Pilihan ganda Bentuk umum : IF kondisi 1 THEN Statement 1 ELSE Statement 2

Contoh program untuk menentukan apakah bilangan yang dimasukkan merupakan bilangan genap atau ganjil.

Program lima; Var

I, Bil : integer; Ket : string; Begin

Write ( ‘ Masukkan bilangan yang akan diuji : ‘); readln ( I); Bil := I mod 2;

IF Bil = 0 then

Ket :=’ Bilangan Genap ‘ ELSE

Ket :=’ Bilangan Ganjil ’; Write (‘ Bilangan : ‘ , I , ‘ adalah ‘, Ket ); Readln ; End. 3. Pilihan majemuk Bentuk umum : IF kondisi 1 THEN Statement 1

ELSE IF kondisi 2 THEN

Statement 2 ElSE

Statement berikutnya

Contoh program untuk menentukan kedudukan parabola dan garis tersebut apakah berpotongan , bersinggungan atau tidak keduanya. Diketahui Y = Ax2 + Bx + C dan garis Y = Mx + N. Diskriminan D = (B – M ) 2 – 4 A ( C – N ). Jika D > 0 maka berpotongan, jika D = 0 maka bersinggungan dan jika D < 0, maka tidak keduanya .

(17)

Program enam; Var

A , B , C , D , M , N : real; Ket : String;

Begin

Writeln ( ‘ Data untuk parabola Y= A * x * x + Bx + C ‘); Write ( ‘ Masukkan nilai fungsi kuadrat x : ‘); readln ( A ); Write ( ‘ Masukkan nilai fungsi x : ‘); readln (B ); Write ( ‘ Masukkan nilai konstanta : ‘); readln ( C ); Writeln (‘ Data garis Y = Mx + N ‘);

Write ( ‘ Masukkan nilai fungsi x : ‘); readln ( M ); Write ( ‘ Masukkan nilai konstanta : ‘); readln ( N ); D : = sqr ( B – M) – 4 * A * ( C – N );

IF D > 0 THEN Ket := ‘ berpotongan’

ELSE IF D = 0 THEN Ket := ‘ bersinggungan ‘ ELSE Ket := ‘ tidak keduanya ’;

Writeln ( ‘ Kedudukan parabola dan garis tersebut adalah ‘ , Ket); Readln; End. 4. Statement CASE Bentuk umum : CASE ungkapan OF Label 1 : statement 1; Label 2 : statement 2; Label n : statement n; END; Contoh : Program tujuh ; Var

Ket , Nama : string; Kode : char; Begin

Write ( ‘ Masukkan nama anda :’); readln ( Nama ); Write (‘ Pilih kode jurusan :’); readln ( Kode ) ; Case upcase (kode) OF

‘ A ‘ : Ket :=’ Jurusan Teknik Informatika ‘; ‘ B’ : Ket := ‘ Jurusan Sistem Informasi ‘;

(18)

‘ C ’ : Ket := ‘ Jurusan Ilmu Komputer ‘; ‘ D ‘ : Ket := ‘ Jurusan Teknik Komputer ‘; End;

Writeln ( ‘ Nama Anda : ‘, Nama ); Writeln ( ‘ Kode jurusan anda :’, Kode ); Writeln ( ‘ Keterangan :’, Ket ); Readln;

End. Soal Latihan

1. Buatlah program untuk menentukan suatu bilangan yang dimasukkan oleh user, merupakan bilangan genap atau ganjil

2. Buatlah sebuah program untuk menentukan bilangan tahun yang dimasukkan oleh user merupakan bilangan tahun kabisat atau bukan

3. Buatlah sebuah program yang akan meneriman masukan bilangan bulat dari user. Jika bilangan yang dimasukkan 0, maka program akan menampilkan string ‘Minggu’; jika user memasukkan bilangan 1, maka program akan menampilkan string ‘Senin’; dan seterusnya sampai Sabtu; jika user memasukkan bilangan lebih dari 6, maka akan keluar string ‘Hari tidak valid’.

(19)

PERULANGAN 1. Statement perulangan For ….. To ... Do

Digunakan untuk mengulang statement atau satu blok statement berulang kali sejumlah yang ditentukan. Perulangan dapat dalam bentuk positif , perulangan negative dan perulangan tersarang.

Bentuk umum :

For variable := awal To akhir Do Statement Contoh : Program delapan; Var I : integer; Begin For I:= 1 to 5 do Begin

Write (‘hallo, selamat belajar praktikum pascal’); End;

Readln; End .

2. Statement perulangan While ……Do

Digunakan untuk melakukan proses perulangan suatu statement atau blok statement terus menerus selama kondisi ungkapan logika pada WHILE masih bernilai benar.

Bentuk umum :

While kondisi Do Statement Contoh : Program sembilan; Var I : integer; Begin I:=1 ; While I <= 5 do Begin

(20)

I:=I + 1; End;

Readln; End .

3. Statement perulangan Repeat ……Until

Digunakan untuk mengulang statement – statement atau blok statement sampai kondisi yang diseleksi UNTIL tidak dipenuhi.

Bentuk umum :

Repeat statement Until kondisi Contoh : Program sepuluh; Var I : integer; Begin I:=1 ; Repeat

Write (‘hallo, selamat belajar praktikum pascal’); I:=I + 1;

Until I > 5; Readln; End .

Kapan menggunakan While dan kapan menggunakan Repeat ?

⇒ Gunakan struktur While pada kasus yang mengharuskan kondisi objek terlebih dahulu sebelum objek tersebut dimanipulasi.

⇒ Gunakan struktur Repeat pada kasus yang terlebih dahulu memanipulasi objek , baru kemudian memeriksa kondisi objek tersebut.

Soal Latihan

1. Buatlah program untuk menampilkan kalimat berikut : 1, Praktikum Bahasa Pascal , Jurusan Teknik Informatika

Semeter Genap Tahun Ajaran 2009 /2010

2, Praktikum Bahasa Pascal , Jurusan Teknik Informatika Semeter Genap Tahun Ajaran 2009 /2010

3, Praktikum Bahasa Pascal , Jurusan Teknik Informatika Semeter Genap Tahun Ajaran 2009 /2010

Dst …….

2. Buatlah sebuah program untuk menampilkan semua bilangan ganjil yang kurang dari 100.

(21)

* * *

* * * * * *

* * * * * *

* * * *

untuk n = 4 untuk n = 3 untuk n = 2

LARIK ( ARRAY )

Larik adalah tipe terstruktur yang terdiri dari sejumlah komponen yang mempunyai tipe yang sama. Banyaknya komponen dalam suatu larik ditunjukkan oleh suatu indeks. Tiap-tiap komponen larik dapat diakses dengan menunjukkan nilai indeksnya.

Bentuk umum : Var

variable : array [index) of tipe Contoh :

1.

program array1_dimensi; var

jum,i : integer;

nama : array [1..100] of string [20]; nim : array [1..100] of string [10]; almt : array [1..100] of string [30]; begin

writeln('Program Mendata Mahasiswa STMIK SZ NW'); write('Masukkan Jumlah Mahasiswa = '); readln(jum); for i := 1 to jum do

begin

writeln('No',i);

write('Nama Mahasiswa : '); readln(nama[i]); write('Nim Mahasiswa : '); readln(nim[i]); write('Alamat Mahasiswa : '); readln(almt[i]); end;

for i := 1 to jum do begin

(22)

writeln('Nama : ',nama[i]); writeln('Nim : ',nim[i]); writeln('Alamat : ',almt[i]); end; end. 2. program array1_dimensi; var jum,i : integer;

nama : array [1..100] of string [20]; nim : array [1..100] of string [10]; almt : array [1..100] of string [30]; begin

writeln('Program Mendata Mahasiswa STMIK BM'); write('Masukkan Jumlah Mahasiswa = '); readln(jum); for i := 1 to jum do

begin

writeln('No',i);

write('Nama Mahasiswa : '); readln(nama[i]); write('Nim Mahasiswa : '); readln(nim[i]); write('Alamat Mahasiswa : '); readln(almt[i]); end;

gotoxy(08,1);writeln('DATA MAHASISWA/I STMIK SZ NW ANJANI'); writeln('---');

writeln('No Nama Nim Alamat ');

writeln('---'); for i := 1 to jum do begin gotoxy(01,4+i); writeln(i); gotoxy(05,4+i); write(nama[i]); gotoxy(26,4+i); write(nim[i]); gotoxy(44,4+i); writeln(almt[i]); end;

writeln('---'); end;

(23)

Soal Latihan

Buatlah program untuk menampilkan himpunan C = A ∩ B, dengan ketentuan sebagai berikut :

- Jumlah data A dan B diinputkan lewat keyboard. - Gunakan data bersubskrip.

- Ouputnya himpunan C dengan ketentuan bila data di A sama dengan data di B.

PROCEDURE

Prosedur adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai subprogram . prosedur diawali dengan kata cadangan PROCEDURE. Di dalam bagian deklarasi prosedur dipanggil dan digunakan di dalam blok program yang lainnya dengan menyebutkan judul prosedurnya.

Bentuk umum :

Procedure identifier ( VAR parameter : type); Contoh : membuat garis yang dipesankan dalam prosedur.

Program prosedur; Procedure garis; Begin Writeln ( ‘ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~’); End; Begin Garis; Writeln;

Writeln ( ‘ STMIK SYAIKH ZAINUDDIN NW ANJANI ‘);

Writeln ( ‘ JURUSAN TEKNIK INFORMATIKA /SISTEM INFORMASI ‘) Writeln;

Garis; Readln; End.

Parameter dalam prosedur ada 2 macam ;

1. Parameter lokal , artinya hanya dapat digunakan pada modul atau unit program yang bersangkutan saja , tidak dapat digunakan pada modul atau unit program lainnya.

Bentuk umumnya : Procedure kesatu

Var {deklarasi parameter local} ………

(24)

Begin ……… ……… End; {program utama } Begin ……… ……… End.

2. Parameter global , artinya dapat digunakan pada modul atau unit program yang lainnya.

Bentuk umumnya :

Var {deklarasi parameter local} ……… ……… Procedure kesatu Begin ……… ……… End; {program utama } Begin ……… ……… End.

Contoh penggunaan program dengan menggunakan parameter global . Program procedure1;

Var

A, Hasil : real;

Procedure jam_ke_menit; Begin

Write ( ‘ masukkan jam ‘ ); readln (A); Hasil : = a * 60;

Writeln ( A : 5 : 2,’ Jam ada : ‘ , hasil : 8 : 2,’ menit ’); End; { program utama } Begin Jam_ke_menit; Readln; End.

Pengiriman parameter dalam prosedur ada 2 macam ;

1. Pengiriman secara nilai ( by value ) , artinya parameter formal di prosedur akan berisi nilai yang dikirimkan yang kemudian bersifat local di prosedur. Bila nilai

(25)

parameter formal di prosedur tersebut berubah, tidak akan mempengaruhi nilai parameter nyata.

Bentuk umumnya :

Procedure identifier (parameter : type );

2. Pengiriman secara acuan ( by reference ), artinya perubahan-perubahan yang terjadi pada nilai parameter formal di prosedur akan mempengaruhi nilai parameter nyata.

Bentuk umumnya :

Procedure identifier ( VAR parameter : type );

Contoh penggunaan prosedur dengan parameter global dan pengiriman secara nilai. Program prosedur2;

Var

x,y, jumlah : integer; {parameter global} Procedure jml (x,y,jumlah:integer); { parameter nilai } Begin

Jumlah:= x + y;

Writeln ( ‘Jumlah pada prosedur : ‘, jumlah); Jumlah:= jumlah + 10;

Writeln( ‘ Jumlah baru pada prosedur : ‘, jumlah ) ; End;

{program utama } Begin

a:=5, b:=1; jumlah := a + b;

writeln ( ‘ Jumlah pada program utama : ‘, jumlah ); jml(a,b,jumlah);

writeln (’ Jumlah baru pada program utama :’,jumlah); readln;

End.

[

Contoh penggunaan prosedur dengan parameter lokal dan pengiriman secara acuan. Program prosedur3;

Procedure tambah (a,b,:integer; var c : integer); { parameter acuan } Begin

c:= a + b; End;

{program utama } Var

x,y, z : integer; {parameter lokal} Begin

(26)

x:=2, y:=3; tambah (x,y,z); writeln (‘ X = ‘, x, ‘ Y = ‘ , y, ‘ Z = ‘, z); readln; End. FUNCTION

Fungsi hampir sama dengan prosedur, hanya harus dideklarasikan dengan tipenya. Tipe deklarasi ini menunjukkan tipe hasil dari fungsi. Tipe tersebut dituliskan pada akhir deklarasi fungsi yang di dahului dengan titik koma.

Bentuk umum :

Function identifier ( daftar parameter) : type;

Sama dengan prosedur , parameter dalam fungsi dapat dikirimkan secara nilai atau secara acuan.

Bentuk umum :

1. Pengiriman secara nilai

Function identifier ( a,b ; integer ): integer; 2. Pengiriman secara acuan

Function identifier (VAR a,b ; integer ): integer; Contoh penggunaan fungsi dengan pengiriman secara nilai.

Program fungsi1; Var

a : real; {parameter global}

function hasil (a : real); { parameter nilai } Begin

Hasil := a * 60; End;

{program utama } Begin

writeln ( ‘ masukkan jam :’ ); readln (a);

writeln (a : 5 : 2,’ jam ada :’, hasil(a): 8 : 2,’ menit ‘); readln;

End.

Contoh penggunaan fungsi dengan pengiriman secara acuan. Program fungsi2;

(27)

Var

a,b, jumlah : integer;

function jml ( var x,y,:integer) : integer; Begin Jml := x + y; y:=x ; End; {program utama } Begin a:=5, b:=1;

writeln (‘ Nilai a sebelum masuk ke function = ‘, a); writeln (‘ Nilai b sebelum masuk ke function = ‘, b); writeln ( ‘ Jumlah : ‘ , jml (a,b));

writeln (‘ Nilai a setelah masuk ke function = ‘, a); writeln (‘ Nilai b setelah masuk ke function = ‘, b); readln;

End.

Procedure dan function merupakan sub-program. Procedure tidak

mengembalikan nilai, sedangkan function mengembalikan nilai. Procedure dan function mengandung suatu penggalan program yang dapat dipanggil oleh program utama atau sub-programyang lainnya. Bila anda belum mengerti maksud dari “mengembalikan nilai” maka anda dapat membayangkan bahwa hasil dari function dapat dimasukkan ke dalam suatu variabel atau menghasilkan suatu nilai, sedangkan procedure hanya menjalankan suatu potongan program. Contoh procedure adalah writeln dan clrscr karena kedua procedure tersebut tidak mengembalikan nilai apapun. Sedangkan contoh function adalah “sqrt” yang akan mengembalikan nilai berupa akar kuadrat dari bilangan yang dimasukkan.

Sebagai informasi: “procedure” adalah istilah yang digunakan pada Pascal. Pada bahasa pemrograman yang lainnya, biasa disebut “function yang tidak mengembalikan nilai” atau “void function”.

Soal Latihan

1. Tulislah sebuah prosedur untuk menukar nilai dari dua variable. Sebagai contoh, jika terdapat variable a dan b, setelah pemanggilan prosedur ini, nilai a sama dengan b sama dengan a . Prosedur ini menerima dua parameter bertipe bilangan real.

(28)

2. Tulislah fungsi untuk memangkatkan suatu bilangan real dengan bilangan real lainnya.

Referensi

Dokumen terkait

Assauri (2004) mengatakan, perencanaan dan pengendalian produksi adalah penentuan dan penetapan kegiatan-kegiatan produksi yang akan dilakukan untuk mencapai tujuan perusahaan

- Anak dapat membiasakan diri membersihkan alat yang sudah dipakai dengan bersih - Anak dapat menyebutkan bagian-bagian tanaman buah pear melalui video dengan benar - Anak

Hasil ini tidak terlepas dari tingginya kesadaran siswa akan sesuainya penerapan model MURDER pada pembelajaran sub materi indikator 4 pada kelas MGIM yang

Rincian Dokumen Pelaksanaan Anggaran Belanja Tidak Langsung Satuan Kerja Perangkat Daerah.. Rekapitulasi Belanja Langsung menurut Program dan Kegiatan Satuan

Selain itu, perubahan kondisi sistem dari normal menjadi hubung singkat terjadi sangat cepat, akan tetapi sistem tenaga listrik yang besifat induktif tidak dapat mengalami

Uji keragaman bobot dilakukan dengan syarat bahwa tidak boleh terdapat lebih dari dua suppositoria yang bobotnya menyimpang yang bobotnya menyimpang dari bobot rata-rata lebih

bahwa dalam rangka optimalisasi tugas Sekretariat Daerah sebagai unsur staf dalam menyusun kebijakan dan mengoordinasikan perangkat perangkat daerah dan Sekretariat Dewan

4b Jika anda pernah , apakah hal tersebut mempengaruhi anda dalam mengambil keputusan memilih jurusan.. Tidak berakibat dan tidak