Teks Program Bahasa Pascal

Algoritma Pemrograman Algoritma Pemrograman

  Pertemuan Ke-2 (Teks Algoritma) Rahmady Liyantanto Sub Sub Pokok Pokok Bahasan Bahasan —

  Pendahuluan —

  Judul Algoritma —

  Deklarasi —

  Deskripsi —

  

Translasi Teks Algoritma ke dalam

Teks Program Bahasa Pascal —

  Tabel Translasi Pendahuluan (1) Pendahuluan (1) —

  Teks algoritma yang dimaksud di sini adalah teks

pseudocode yang dianggap perlu untuk menjembatani

keragaman dan kompleksitas bahasa sehingga dapat

dilakukan “abstraksi”

  —

Teks ini lebih berorientasi kepada detail design

dibandingkan coding (merupakan rancangan secara prosedural yang selanjutnya dengan mudah dapat ditranslasi menjadi salah satu program dalam bahasa tertentu)

  —

Contoh bahasa pemrograman yang digunakan adalah Bahasa Pascal. Pendahuluan Pendahuluan (2) (2) Bagian-bagian (blok) dalam teks algoritma: —

  JUDUL (header) algoritma —

  DEKLARASI algoritma —

  DESKRIPSI algoritma

  

Pasangan tanda kurung kurawal (‘{‘ dan ‘}’) digunakan untuk

memberikan komentar.

  Algoritma NAMA_ALGORITMA

  { Penjelasan mengenai algoritma, yang berisi uraian singkat mengenai apa yang dilakukan oleh algoritma } DEKLARASI { Semua nama yang dipakai, meliputi nama tipe, nama tetapan, nama peubah, nama prosedur dan nama fungsi didefinisikan di sini } DESKRIPSI : { Semua langkah atau aksi algoritma dituliskan di sini }

Keterangan:

  Judul Judul Algoritma Algoritma — Terdiri dari nama dan penjelasan (spesifikasi) algoritma. —

Nama yang digunakan sebaiknya singkat (namun cukup informatif).

—

  

Biasanya di bawah nama diberi spesifikasi algoritma. Algoritma yang

akan ditulis nantinya harus sesuai dengan spesifikasi yang didefinisikan.

  Algoritma LUAS_PERSEGI_PANJANG

{ Menghitung luas persegi panjang dengan masukan ukuran panjang dan ukuran lebar, lalu mencetak hasil luas persegi panjang ke piranti keluaran } Deklarasi Deklarasi —

  Merupakan tempat untuk mendefinisikan berbagai macam nama, yaitu: q nama tipe q nama konstanta q nama peubah (nama variabel) q nama fungsi, sekaligus spesifikasinya q nama prosedur, sekaligus spesifikasinya

  — Semua nama tersebut baru dapat digunakan jika telah didefinisikan di dalam DEKLARASI. Penulisan sekumpulan nama dalam DEKLARASI sebaiknya dikelompokkan menurut jenis nama tersebut.

  — Ketentuan-ketentuan dalam pendefinisian nama-nama: q nama peubah belum terdefinisi harganya ketika didefinisikan. q Pendefinisian konstanta sekaligus juga memberikan harganya. q

  Pendefinisian nama fungsi sekaligus juga dengan domain dan range serta spesifikasinya. q

  Pendefinisian nama prosedur sekaligus juga dengan pendefinisian parameter (jika ada) dan spesifikasi prosedur (kondisi .awal, kondisi akhir dan proses yang dilakukan).

Contoh Deklarasi Contoh Deklarasi

  DEKLARASI { Nama tipe , hanya untuk tipe yang bukan tipe dasar } type Titik : <X:real,Y:real> { koordinat pada sumbu kartesian } { Nama konstanta , harus menyebutkan nilai } const phi = 3.14 { Nama peubah (variabel), menyebutkan tipe } P : Titik { Titik dalam derajat kartesian } jmlh : integer { Jumlah suatu elemen } ketemu : boolean { Keadaan hasil pencarian } { Spesifikasi Fungsi , menyebutkan nama fungsi, domain dan range } function Konversi_Real_Ke_Integer(input i:real) à integer { Mengkonversi harga i yang bertipe real menjadi harga ekivalen yang bertipe integer } { Spesifikasi Prosedur , menyebutkan nama, parameter, kondisi awal, kondisi akhir dan proses } procedure Tukar(input/output A:integer, input/output B:integer) { Kondisi awal : A dan B terdefinisi, A=a dan B=b } { Kondisi akhir : A=b dan B=a } { Proses : Mempertukarkan nilai A dan B }

  Deskripsi Deskripsi Merupakan bagian inti dari algoritma.

  — Komponen di dalam teks algoritma dapat berupa: q

  Instruksi dasar seperti input/output, assignment q

  Urutan (sequence) q

  Pemilihan q

Pengulangan

  DESKRIPSI: read(a) b ß a mod 2 if b = 0 then write(‘bilangan genap’) else write(‘bilangan ganjil’) endif

Translasi Teks Translasi Teks Algoritma Algoritma ke ke dalam dalam Teks Teks Program Bahasa Program Bahasa Pascal Pascal Struktur program Pascal juga terdiri dari tiga bagian:

  1. Judul Program sifatnya opsional dan tidak signifikan. Dapat digunakan untuk memberi nama program dan sifatnya sebagai dokumentasi saja.

  Judul program dituliskan pada awal program dan diakhiri dengan titik koma (‘;’).

  2. Bagian Deklarasi digunakan bila di dalam program menggunakan

pengenal (identifier). Identifier dapat berupa label, konstanta, tipe, peubah,

prosedur dan fungsi. Jika suatu program menggunakan identifier, Bahasa Pascal menuntut supaya identifier tersebut dikenalkan/dideklarasikan terlebih dahulu sebelum digunakan.

  3. Bagian Deskripsi menunjukkan suatu tindakan yang dikerjakan oleh program. Tindakan yang dilakukan oleh program tergantung pada

instruksi-instruksi yang diberikan. Instruksiinstruksi yang akan diberikan

untuk dikerjakan ditulis di antara kata cadangan Begin dan End. Akhir

penulisan dari End diakhiri dengan tanda baca titik (‘.’). Setiap instruksi

per barisnya diakhiri dengan tanda baca titik koma (‘;’).

Translasi… Translasi …

  Algoritma Pascal program NAMA_PROGRAM; Algoritma NAMA_ALGORITMA { Penjelasan mengenai program, yang berisi uraian

  { Penjelasan mengenai algoritma, yang singkat mengenai apa yang dilakukan oleh berisi uraian singkat mengenai program } apa yang dilakukan oleh algoritma } ( * DEKLARASI * )

  [const] { semua nama tetapan dan harga tetapannya DEKLARASI didefinisikan di sini }

  { Semua nama yang dipakai, meliputi [type] nama tipe, nama tetapan, nama

  { semua nama tipe bentukan didefinisikan di sini } peubah, nama prosedur dan nama

  [var] fungsi didefinisikan di sini }

  { semua nama peubah global didefinisikan di sini } { deklarasi prosedur dan fungsi didefinisikan di DESKRIPSI : sini } ( * DESKRIPSI * )

  { Semua langkah atau aksi algoritma begin dituliskan di sini }

  { semua instruksi program dituliskan di sini } end.

Translasi Translasi… …

  — Contoh translasi dari teks algoritma ke teks bahasa pemrograman Pascal untuk mendapatkan hasil sebagai berikut:

  1

  2

  3

  4

  5 —

  

Untuk mendapatkan hasil seperti di atas, pada

bagian Deskripsi digunakan instruksi dengan struktur pengulangan While-Do

Translasi Translasi… …

  Algoritma Pascal

  Algoritma PENAMBAHAN_SATU { Menampilkan penambahan satu dari suatu bilangan bulat, dimulai dari 0 sampai dengan 5 } DEKLARASI I : integer { peubah data bilangan bulat } DESKRIPSI: I ß 0 while I

  ≤ 5 do write(I) I ß I + 1 endwhile

  { I > 5 } program PENAMBAHAN_SATU; { Menampilkan penambahan satu dari suatu bilangan bulat, dimulai dari 0 sampai dengan 5 } ( * DEKLARASI * ) [var] I : integer { peubah data bilangan bulat } ( * DESKRIPSI * ) begin

  I := 0; while I <= 5 do begin writeln(I); I := I + 1; end; end.

Hal penting tentang bahasa Pascal:

  —

Bahasa Pascal tidak membedakan nama yang ditulis dalam

huruf besar ataupun huruf kecil (tidak bersifat case sensitive).

  Misal: q

I sama saja dengan i

  q penambahan_satu sama saja dengan PENAMBAHAN_SATU

  —

Komentar ditulis di antara tanda “{“ dan “}” atau di antara

“(*” dan “*)”

  —

Program Pascal tidak mengenal aturan penulisan di kolom

tertentu, jadi boleh dituliskan mulai kolom ke berapapun.

  Penulisan instruksi-instruksi yang menjorok masuk beberapa kolom tidak memiliki pengaruh apapun di dalam proses.

  

Notasi Algoritma ke dalam Notasi Bahasa Pascal [1] Notasi Algoritma ke dalam Notasi Bahasa Pascal [1]

  

Notasi Algoritma ke dalam Notasi Bahasa Pascal [2] Notasi Algoritma ke dalam Notasi Bahasa Pascal [2]

Notasi Algoritma Notasi Algoritma Pengisian Pengisian Nilai Nilai,, Pembacaan Pembacaan dan dan Penulisan ke Penulisan ke dalam dalam Notasi Notasi Bahasa Bahasa Pascal Pascal

  —

read : Membaca masukan dari keyboard, kursor tetap di baris

yang sama

  — readln : Membaca masukan dari keyboard, lalu kursor pindah ke baris berikutnya

  —

write : Menulis keluaran ke layar, kursor tetap di baris yang

sama

  — writeln : Menulis keluaran ke layar, lalu kursor pindah ke baris berikutnya

  Notasi Algoritma Notasi Algoritma Struktur Pemilihan Struktur Pemilihan ke dalam ke dalam Notasi Notasi Bahasa Pascal Bahasa Pascal

  Notasi Notasi Algoritma Algoritma Struktur Struktur Pengulangan Pengulangan ke dalam ke dalam Notasi Bahasa Notasi Bahasa Pascal Pascal

Notasi Algoritma Prosedur ke dalam Notasi Notasi Algoritma Prosedur ke dalam Notasi Bahasa Bahasa Pascal Pascal

  —

Prosedur Tanpa Parameter

  —

Prosedur dengan Parameter Masukan

  —

Prosedur dengan Parameter Keluaran

  — Prosedur dengan Parameter Masukan/Keluaran

  

Prosedur Tanpa Prosedur Tanpa Parameter Parameter

  

Prosedur dengan Prosedur dengan Parameter Parameter Masukan Masukan

  

Prosedur dengan Prosedur dengan Parameter Parameter Keluaran Keluaran

  

Prosedur dengan Prosedur dengan Parameter Parameter Masukan Masukan//Keluaran Keluaran

  

Notasi Algoritma Fungsi ke dalam Notasi Notasi Algoritma Fungsi ke dalam Notasi

Bahasa Pascal Bahasa Pascal

  Kesimpulan Kesimpulan —

  

Teks algoritma adalah hasil pemikiran yang konseptual. Agar

dapat dilaksanakan oleh komputer maka algoritma harus ditranslasi ke dalam notasi bahasa pemrograman.

  — JUDUL algoritma adalah bagian algoritma yang terdiri dari nama dan penjelasan (spesifikasi) tentang algoritma tersebut

  —

DEKLARASI adalah tempat untuk mendefinisikan nama

tipe, nama konstanta, nama informasi/peubah (nama variabel), nama fungsi (sekaligus spesifikasinya) dan nama prosedur (sekaligus spesifikasinya)

  —

DESKRIPSI merupakan uraian langkah-langkah penyelesaian

  masalah. Setiap langkah algoritma dibaca dengan urutan dari

“atas” ke “bawah”. Urutan penulisan ini akan menentukan urutan pelaksanaan perintah. Daftar Pustaka Daftar Pustaka —

  Andri Kristanto [2003]. Algoritma dan

Pemrograman dengan C++, Yogyakarta: Graha Ilmu

  — Jogiyanto HM [1989]. Turbo Pascal, Yogyakarta: Andi Offset.

  — Noor Ifada [2005]. Diktat Matakuliah Algoritma Pemrograman (Hibah Kompetisi A1), Bangkalan: Jurusan Teknik Informatika, Universitas Trunojoyo.

  — Rinaldi Munir [2003]. Algoritma dan Pemrograman dengan Pascal dan C edisi Kedua, Bandung: Informatika.