Algoritma
Algoritma Pemrograman
Pemrograman
Pertemuan Ke-2
(Teks Algoritma)
Sub
Sub Pokok
Pokok Bahasan
Bahasan
Pendahuluan
Judul Algoritma
Deklarasi
Deskripsi
Translasi Teks Algoritma ke dalam
Teks Program Bahasa Pascal
Pendahuluan
Pendahuluan (1)
(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
Pendahuluan
Pendahuluan (2)
(2)
Bagian-bagian (blok) dalam teks algoritma:
JUDUL (
header) algoritma
DEKLARASI algoritma
DESKRIPSI algoritma
Keterangan:
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 :
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
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
Semuanama tersebut baru dapat digunakan jika telah didefinisikan di dalam
DEKLARASI. Penulisan sekumpulan nama dalam DEKLARASI sebaiknya dikelompokkan menurut jenis nama tersebut.
Ketentuan-ketentuan dalam pendefinisiannama-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.
Contoh
Contoh Deklarasi
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 }
Deskripsi
Deskripsi
Merupakan
bagian inti
dari algoritma.
Komponen di dalam teks algoritma dapat berupa:
q
Instruksi dasar seperti
input/output, assignment
qUrutan (
sequence)
Translasi
Translasi Teks
Teks Algoritma
Algoritma ke
ke dalam
dalam Teks
Teks
Program
Program Bahasa
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
Translasi
Translasi…
…
Algoritma
Pascal
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 }
program NAMA_PROGRAM;
{ Penjelasan mengenai program, yang berisi uraian singkat mengenai apa yang dilakukan oleh
program }
( * DEKLARASI * ) [const]
{ semua nama tetapan dan harga tetapannya didefinisikan di sini }
[type]
{ semua nama tipe bentukan didefinisikan di sini } [var]
{ semua nama peubah global didefinisikan di sini } { deklarasi prosedur dan fungsi didefinisikan di sini }
( * DESKRIPSI * )
begin
{ semua instruksi program dituliskan di sini }
Translasi
Translasi…
…
Contoh translasi dari teks algoritma ke teks
bahasa pemrograman Pascal untuk mendapatkan
hasil sebagai berikut:
0
1
2
3
4
5
Untuk mendapatkan hasil seperti di atas, pada
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 }
{ Menampilkan penambahan satu dari suatu bilangan bulat, dimulai
dari 0 sampai dengan 5 }
( * DEKLARASI * ) [var]
PERLU DIPERHATIKAN
PERLU DIPERHATIKAN
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 “*)”
Notasi Algoritma ke dalam Notasi Bahasa Pascal
Notasi
Notasi Algoritma
Algoritma Pengisian
Pengisian Nilai
Nilai,, Pembacaan
Pembacaan dan
dan
Penulisan
Penulisan ke
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
Notasi
Notasi Algoritma
Algoritma
Struktur
Struktur Pemilihan
Pemilihan
ke
ke dalam
dalam Notasi
Notasi
Bahasa
Notasi
Notasi
Algoritma
Algoritma
Struktur
Struktur
Pengulangan
Pengulangan
ke
ke dalam
dalam
Notasi
Notasi Bahasa
Bahasa
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
Prosedur
Prosedur
Prosedur
Notasi Algoritma Fungsi ke dalam Notasi
Notasi Algoritma Fungsi ke dalam Notasi
Bahasa
Kesimpulan
Kesimpulan
Teks algoritma adalah hasil pemikiran yang konseptual. Agar
dapat dilaksanakan oleh komputer maka algoritma harus
ditranslasi ke dalam notasi bahasa pemrograman.