1
Penerapan Seleksi Kondisi dalam Pascal
Diajukan Untuk Memenuhi Syarat Mata Kuliah Algoritma
Di susun Oleh:
Kelompok 5
: MI-15
Derry Arif Rachman : 10510666
Jurusan Manajemen Informatika
Fakultas Teknik dan Ilmu Komputer
Universitas komputer indonesia (UNIKOM)
Bandung 2010
Daftar Isi
2
1
Pendahuluan
Penjelasan algoritma secara umum...2
Bab II:
2
Penerapan Algorima Dalam Bahasa Pemograman
Pascal...5
Bab III:
3
Kesimpulan...11
Daftar Pustaka...12
Bab I
3
Algoritma berasal dari nama Abu Ja’far Mohammed Ibnu Musa
Al-Khowarizmi, seorang ilmuan persia yang menulis kitab aljabr w’al-muqabala
(rules of restoration and reduction) sekitar tahun 825M
1. DEFINISI ALGORITMA
Terdapat beberapa definisi mengenai kata Algoritma :
1. Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis (Rinaldi Munir :2002).
2. Algoritma adalah urutan logis pengambilan keputusan untuk pemecahan masalah (KBBI :1988).
3. Algoritma adalah suatu himpunan hingga dari instruksi-instruksi yang secara jelas memperinci langkah-langkah proses pelaksanaan, dalam pemecahan suatu masalah tertentu, atau suatu kelas masalah tertentu, dengan dituntut pula bahwa himpunan instruksi tersebut dapat dilaksanakan secara mekanik (Team Gunadarma :1988).
2. CIRI ALGORITMA
Menurut Donald E. Knuth, algoritma mempunyai lima ciri penring :
1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas. 2. Setiap langkah harus didefinisikan secara tepat dan tidak berarti dua. 3. Algoritma memiliki nol atau lebih masukan (input).
4. Algoritma mempunyai nol atau lebih keluaran (output). 5. Algoritma harus sangkil (efektif)
3. TEKS ALGORITMA
Pada dasarnya, teks algoritma disusun atas tiga bagian (blok) : bagian judul (header) agoritma, bagian deklarasi, dan bagian deskripsi. Setiap bagian dapat diberi komentar untuk memperjelas maksud teks yang dituliskan. Komentar biasanya ditulis menggunakan kurung kurawal.
1) Judul Algoritma
4
dilakukan oleh algoritma tersebut. Di bawah nama algoritma disertai dengan penjelasan singkat (intisari) tentang apa yang dilakukan oleh algoritma. Penjelasan di bawah nama algoritma sering dinamakan juga spesifikasi algoritma. Algoritma harus ditulis sesuai dengan spesifikasi yang didefinisikan.
Contoh :
Algoritma Luas_Lingkaran
{ Menghitung luas lingkaran untuk ukuran jari-jari tertentu. Algoritma menerima masukan jari-jari lingkaran, menghitung luasnya, lalu cetak luasnya ke piranti keluaran }
2) Deklarasi
Di dalam algoritma, deklarasi nama adalah bagian untuk mendefinisikansemua nama yang dipakai di dalam algoritma. Nama tersebut dapatberupa nama terapan, nama peubah, nama tipe, nama prosedur dan nama fungsi.
Contoh :
Deklarasi :
Panjang = integer {tipe data bilangan bulat} Lebar = integer
Luas = real {tipe data bilangan pecahan}
3) Deskripsi
Deskripsi adalah bagian terpenting dari struktur algoritma. Bagian ini berisi uraian langkah-langkah penyelesaian masalah. Langkah-langkah ini
dituliskan dengan notasi yang lazim dalam penulisan algoritma. Setiap langkah algoritma dibaca dari langkah paling atas hingga langkah paling bawah. Urutan penulisan menentukan urutan pelaksanaan perintah
4. STRUKTUR DASAR ALGORITMA
Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkahlangkah tersebut dapat berupa runtunan aksi, pemilihan aksi, dan pengulangan
aksi. Ketiga jenis langkah tersebut membentuk konstruksi suatu algoritma. Jadi, sebuah algoritma dapat dibangun dari tiga buah struktur dasar, yaitu :
1) Runtunan (sequence)
Sebuah runtunan terdiri dari satu atau lebih instruksi. Tiap instruksi
5
2) Pemilihan (selection)
Adakalanya sebuah instruksi dikerjakan jika kondisi tertentu dipenuhi. Tiap –tiap instruksi akan diseleksi oleh kondisi, apabila instruksi memenuhi kondisi yang diminta, maka instruksi akan dijalankan.
3) Pengulangan (repetition)
Salah satu kelebihan komputer adalah kemampuannya untuk
mengerjakan pekerjaan yang sama berulang kali tanpa mengenal lelah. Kita tidak perlu menulis instruksi yang sama berulang kali, tetapi cukup melakukan pengulangan dengan instruksi yang tersedia
6
Pascal:
Pascal adalah bahasa pemrograman yang pertama kali di buat oleh Profesor Niklaus Wirth, seorang anggota International Federation of Information Processing (IFIP) pada tahun 1971. Dengan mengambil nama dari matematikawanPerancis, Blaise Pascal, yang pertama kali menciptakan mesin penghitung, Profesor Niklaus Wirth membuat bahasa Pascal ini sebagai alat bantu untuk mengajarkan konsep pemrograman komputer kepada mahasiswanya. Selain itu, Profesor Niklaus Wirth membuat Pascal juga untuk melengkapi kekurangan-kekurangan bahasa pemrograman yang ada pada saat itu.
Dalam bahasa Pascal terdapat beberapa jenis tipe data yang bisa digunakan untuk sebuah variabel atau konstanta pada program. Tipe Data tersebut antara lain adalah
Tipe Data Deskripsi (range variabel) Byte angka dari 0 sampai 255
Integer angka dari -32768 to 32767
Real semua nilai pecahan dari 1E-38 to 1E+38
Boolean nilai TRUE atau FALSE
Char semua karakter dari tabel ASCII
String semua huruf, spasi, frase
Struktur Bahasa PASCAL secara umum
Pascal mempunyai struktur sebagai berikut: 1. Bagian Judul Program
2. Bagian Deklarasi
a. Deklarasi tipe data (TYPE) b. Deklarasi variabel (VAR) c. Deklarasi konstanta (CONST) d. Deklarasi label (LABEL) e. Deklarasi sub-program (PROCEDURE dan FUNCTION)
3. Bagian Program Utama Perintah-perintah.
Teks Pascal setidaknya memiliki bagian Judul Program, bagian Deklarasi, dan Bagian Program Utama yang berupa perintah-perintah. Sedangkan untuk bagian deklarasi menyesuaikan dengan isi dari program itu sendiri.
Penyeleksian Kondisi
7
dengan konsekuensi tertentu. Dalam bahasa pascal, untuk menyelesaikan kasus yang berkaitan dengan seleksi kondisi dapat menggunakan dua cara yaitu:
1.IF
2.CASE OF.
a. IF..THEN.. ELSE
Pernyataan IF biasanya diikuti dengan pernyataan ELSE, yang akan dikerjakan bila kondisi pernyataan IF menghasilkan kondisi FALSE.
if <Ekspresi Boolean> then begin
: : end;
Atau , jika dengan ELSE:
if <Ekspresi Boolean> then begin
: :
end {perhatikan tanda semicolon ‘ ; ‘ dihilangkan} else
begin : : end;
8 dimasukkan kedalam pernyataan IF yang lain , dengan syarat kita tidak melupakan blok begin...end untuk membatasinya.
if <Ekspresi Boolean> then begin
:
if <Ekspresi Boolean> then begin
Program IF_ELSE_DEMO_2; uses wincrt; var A, B, C : integer; begin
writeln('Masukkan tiga angka dengan spasi'); readln( A, B, C );
if A > B then begin
if A > C then writeln( A,' adalah terbesar') else writeln( C,' adalah terbesar')
end else
if B > C then writeln( B,' adalah terbesar') else writeln( C,' adalah terbesar')
end.
C. Kombinasi dari Ekspresi Boolean (AND, OR, dan NOT) Kata kunci AND, OR dan NOT diperlukan apabila kita ingin mengeksekusi blok program yang memerlukan lebih dari satu kondisi.
C.1. Pernyataan AND Pernyataan AND akan dieksekusi jika kedua kondisi dalam keadaan TRUE.
program IF_ELSE_DEMO; uses wincrt;
var angka, tebakan : integer; begin
number := 2;
writeln('Tebak angka antara 1 dan 10'); readln(tebakan);
if angka = tebakan then writeln('Tebakan anda benar, Selamat!') else writeln('Maaf, Tebakan anda salah.')
9
if <Ekspresi Bool_1> and <Ekspresi Bool_2> then begin
: : end
program if_and; uses wincrt;
var i, j : integer; begin
write('Masukkan nilai i = '); readln(i); write ('Masukkan nilai j = '); readln (j); if (i>3) and (j>4) then
begin
writeln('Hal ini terjadi jika i>3 dan j>4'); end;
end.
contoh:
C.2. Pernyataan OR
Pernyataan OR akan dieksekusi bila salah satu kondisi dalam keadaan TRUE,
if <Ekspresi Bool_1> or <Ekspresi Bool_2> then begin
: : end
Contoh:
program if_OR; uses wincrt;
var i, j: integer; begin
write('Masukkan nilai i = '); readln(i); write ('Masukkan nilai j = '); readln (j); if (i>3) or (j>4) then
begin
writeln('Yeah !!'); end;
end.
C.3. Pernyataan NOT
NOT menggantikan TRUE ke FALSE dan sebaliknya (vice versa)
if not <Ekspresi Boolean> then begin
: : end
Contoh:
10
write('Masukkan nilai i = '); readln(i); if not(i>3) then
begin
writeln('Yeah !!'); end;
end.
D. CASE ... OF
Pernyataan CASE dipergunakan apabila kita menulis program yang memerlukan banyak pernyataan IF...THEN...ELSE, sehingga program akan tampak lebih jelas untuk dibaca.
CASE variable OF :
perintah; :
end
Atau:
CASE variable OF :
if operator = '*' then result := number1 * number2 else if operator = '/' then result := number1 / number2 else if operator = '+' then result := number1 + number2 else if operator = '-' b result := number1 - number2 else invalid_operator = 1;
Diganti dengan CASE:
case operator of
'*' : result:= number1 * number2; '/' : result:= number1 / number2; '+' : result:= number1 + number2; '-' : result:= number1 - number2; else invalid_operator := 1
end;
Contoh b.
Ganti program dibawah ini dengan pernyataan IF ELSE dengan CASE:
program SARANG; uses wincrt;
11
operator : char;
number1, number2, result : real; begin
invalid_operator := FALSE;
writeln('Enter two numbers and an operator in the format'); writeln(' number1 operator number2');
readln(number1); readln(operator); readln(number2); if operator = '*' then result := number1 * number2 else if operator = '/' then result := number1 / number2 else if operator = '+' then result := number1 + number2 else if operator = '-' then result := number1 - number2 else invalid_operator := TRUE;
if invalid_operator then writeln('Invalid operator') else
writeln(number1:4:2,' ',operator,' ',number2:4:2,' is ' ,result:5:2) end.
Jawab:
program PROG_TWELVE ; var invalid_operator : boolean; operator : char;
number1, number2, result : real; begin
invalid_operator := FALSE;
writeln('Enter two numbers and an operator in the format'); writeln(' number1 operator number2');
readln(number1); readln(operator); readln(number2); case operator of
'*': result := number1 * number2; '/': result := number1 / number2; '+': result := number1 + number2; '-': result := number1 - number2; else invalid_operator := TRUE end;
if invalid_operator then writeln('Invalid operator') else
writeln(number1:4:2,' ',operator,' ',number2:4:2,' is ' ,result:5:2) end.
Bab III
Kesimpulan:
12
mengingatkan bahwa bahasa pemrograman berjalan atas dasar logika dan algoritma. Sehingga kedua hal inilah yang harus diasah lebih dulu.
2. Bahasa pemrograman paskal lebih tepat jika dijadikan sebagai rujukan belajar bahasa pemrograman, karena bahasa Pascal relatif lebih mudah di pelajari dan memiliki tata penulisan (sintaks) yang lebih mirip dengan algoritma
Daftar Pustaka
1.
Algoritma Dan Sruktur Data 1
MI31341...
2.
miwan.ueuo.com/materi/
3.