Pertemuan Ke-2
(Teks Algoritma)
:: Noor Ifada ::
S1 Teknik Informatika-Unijoyo 1
S1 Teknik Informatika-Unijoyo 2
1
Pendahuluan
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. Jadi dalam pembahasan berikutnya,
translasi teks Algoritma adalah ke dalam teks program
Bahasa Pascal.
S1 Teknik Informatika-Unijoyo 3
Pendahuluan - contd
Keterangan:
Pasangan tanda kurung kurawal (‘{‘ dan ‘}’) digunakan untuk
memberikan komentar (untuk memperjelas maksud teks yang
dituliskan).
S1 Teknik Informatika-Unijoyo 4
2
Judul Algoritma
Algoritma LUAS_PERSEGI_PANJANG
{ Menghitung luas persegi panjang dengan masukan ukuran
panjang dan ukuran lebar, lalu mencetak hasil luas
persegi panjang ke piranti keluaran }
S1 Teknik Informatika-Unijoyo 5
Deklarasi
• Merupakan tempat untuk mendefinisikan berbagai macam nama, yaitu:
nama tipe
nama konstanta
nama peubah (nama variabel)
nama fungsi, sekaligus spesifikasinya
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:
nama peubah belum terdefinisi harganya ketika didefinisikan.
Pendefinisian konstanta sekaligus juga memberikan harganya.
Pendefinisian nama fungsi sekaligus juga dengan domain dan
range serta spesifikasinya.
Pendefinisian nama prosedur sekaligus juga dengan
pendefinisian parameter (jika ada) dan spesifikasi prosedur (kondisi
awal, kondisi akhir dan proses yang dilakukan).
S1 Teknik Informatika-Unijoyo 6
3
Deklarasi - contd
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 }
S1 Teknik Informatika-Unijoyo 7
Deskripsi
• Merupakan bagian inti dari algoritma.
• Komponen di dalam teks algoritma dapat berupa:
– Instruksi dasar seperti input/output, assignment
– Urutan (sequence)
– Pemilihan
– Pengulangan
DESKRIPSI:
read(a)
b←a mod 2
if b = 0 then
write(‘bilangan genap’)
else
write(‘bilangan ganjil’)
endif
S1 Teknik Informatika-Unijoyo 8
4
Translasi Teks Algoritma ke dalam
Teks Program Bahasa 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. Instruksi-
instruksi 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 (‘;’).
S1 Teknik Informatika-Unijoyo 9
Translasi… - contd
ALGORITMA PASCAL
Algoritma NAMA_ALGORITMA program NAMA_PROGRAM;
{Penjelasan mengenai {Penjelasan mengenai program, yang berisi
algoritma, yang berisi uraian singkat mengenai apa yang
uraian singkat mengenai dilakukan oleh program}
apa yang dilakukan oleh (* DEKLARASI *)
[const]
algoritma}
{semua nama tetapan dan harga tetapannya
DEKLARASI
didefinisikan di sini}
{Semua nama yang dipakai, [type]
meliputi nama tipe, nama {semua nama tipe bentukan didefinisikan di
tetapan, nama peubah, sini}
nama prosedur dan nama [var]
fungsi didefinisikan di {semua nama peubah global didefinisikan di
sini} sini}
DESKRIPSI : {deklarasi prosedur dan fungsi didefinisikan
{Semua langkah atau aksi di sini}
algoritma dituliskan di (* DESKRIPSI *)
sini} begin
{semua instruksi program dituliskan di sini}
end.
S1 Teknik Informatika-Unijoyo 10
5
Translasi… - contd
S1 Teknik Informatika-Unijoyo 11
Translasi… - contd
ALGORITMA PASCAL
Algoritma PENAMBAHAN_SATU program PENAMBAHAN_SATU;
{ Menampilkan penambahan satu dari { Menampilkan penambahan satu dari
suatu bilangan bulat, dimulai suatu bilangan bulat, dimulai
dari 0 sampai dengan 5 } dari 0 sampai dengan 5 }
DEKLARASI
I : integer { peubah data bilangan (* DEKLARASI *)
bulat } [var]
DESKRIPSI: I : integer { peubah data bilangan
I ← 0 bulat }
while I ≤ 5 do (* DESKRIPSI *)
write(I) begin
I←I + 1 I := 0;
endwhile while I <= 5 do
{ I > 5 } begin
writeln(I);
I := I + 1;
end;
end.
S1 Teknik Informatika-Unijoyo 12
6
Translasi - contd
S1 Teknik Informatika-Unijoyo 13
Tabel Translasi
• Notasi Algoritma ke dalam Notasi Bahasa Pascal
• Notasi Algoritma Pengisian Nilai, Pembacaan dan
Penulisan ke dalam Notasi Bahasa Pascal
• Notasi Algoritma Struktur Penyeleksian ke dalam
Notasi Bahasa Pascal
• Notasi Algoritma Struktur Pengulangan ke dalam
Notasi Bahasa Pascal
• Notasi Algoritma Prosedur ke dalam Notasi Bahasa
Pascal
• Notasi Algoritma Fungsi ke dalam Notasi Bahasa
Pascal
S1 Teknik Informatika-Unijoyo 14
7
Notasi Algoritma ke dalam Notasi Bahasa Pascal [1]
8
Notasi Algoritma Pengisian Nilai, Pembacaan dan
Penulisan ke dalam Notasi Bahasa 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
S1 Teknik Informatika-Unijoyo 17
9
Struktur Algoritmik Pascal
1. FOR For menaik: For menaik:
for pencacah←a to b do for pencacah:=a to b do
aksi begin
endfor aksi1;
aksi2;
.
.
aksiN;
Notasi end; (*for*)
S1 Teknik Informatika-Unijoyo 20
10
Prosedur Tanpa Parameter
ALGORITMA PASCAL
procedure NAMA_PROSEDUR procedure NAMA_PROSEDUR;
{ Spesifikasi Prosedur, { Spesifikasi Prosedur, menyebutkan
menyebutkan nama, parameter, nama, parameter, kondisi awal,
kondisi awal, kondisi akhir dan kondisi akhir dan proses }
proses } { Kondisi awal : keadaan sebelum
{ Kondisi awal : keadaan sebelum prosedur dilaksanakan }
prosedur dilaksanakan } { Kondisi akhir : keadaan setelah
{ Kondisi akhir : keadaan setelah prosedur dilaksanakan }
prosedur dilaksanakan } (* DEKLARASI *)
DEKLARASI { Semua nama yang dipakai prosedur
{ Semua nama yang dipakai prosedur didefinisikan di sini dan hanya
didefinisikan di sini dan hanya berlaku lokal }
berlaku lokal } (* DESKRIPSI *)
DESKRIPSI : begin
{ badan prosedur, berisi semua { badan prosedur, berisi semua
langkah atau aksi algoritma } langkah atau aksi }
end;
Cara memanggil prosedur:
NAMA_PROSEDUR;
S1 Teknik Informatika-Unijoyo 21
ALGORITMA PASCAL
procedure NAMA_PROSEDUR (input procedure NAMA_PROSEDUR(parameter :
parameter : tipe_param) tipe_param);
{ Spesifikasi Prosedur, menyebutkan { Spesifikasi Prosedur, menyebutkan
nama, parameter, kondisi awal, nama, parameter, kondisi awal,
kondisi akhir dan proses } kondisi akhir dan proses }
{ Kondisi awal : keadaan sebelum { Kondisi awal : keadaan sebelum
prosedur dilaksanakan } prosedur dilaksanakan }
{ Kondisi akhir : keadaan setelah { Kondisi akhir : keadaan setelah
prosedur dilaksanakan } prosedur dilaksanakan }
DEKLARASI (* DEKLARASI *)
{ Semua nama yang dipakai prosedur { Semua nama yang dipakai prosedur
didefinisikan di sini dan hanya didefinisikan di sini dan hanya
berlaku lokal } berlaku lokal }
DESKRIPSI : (* DESKRIPSI *)
{ badan prosedur, berisi semua begin
langkah atau aksi algoritma } { badan prosedur, berisi semua
langkah atau aksi }
end;
Cara memanggil prosedur:
NAMA_PROSEDUR(parameter_aktual);
S1 Teknik Informatika-Unijoyo 22
11
Prosedur dengan Parameter Keluaran
ALGORITMA PASCAL
procedure NAMA_PROSEDUR (output procedure NAMA_PROSEDUR(var parameter
parameter : tipe_param) : tipe_param);
{ Spesifikasi Prosedur, menyebutkan { Spesifikasi Prosedur, menyebutkan
nama, parameter, kondisi awal, nama, parameter, kondisi awal,
kondisi akhir dan proses } kondisi akhir dan proses }
{ Kondisi awal : keadaan sebelum { Kondisi awal : keadaan sebelum
prosedur dilaksanakan } prosedur dilaksanakan }
{ Kondisi akhir : keadaan setelah { Kondisi akhir : keadaan setelah
prosedur dilaksanakan } prosedur dilaksanakan }
DEKLARASI (* DEKLARASI *)
{ Semua nama yang dipakai prosedur { Semua nama yang dipakai prosedur
didefinisikan di sini dan hanya didefinisikan di sini dan hanya
berlaku lokal } berlaku lokal }
DESKRIPSI : (* DESKRIPSI *)
{ badan prosedur, berisi semua begin
langkah atau aksi algoritma } { badan prosedur, berisi semua
langkah atau aksi }
end;
Cara memanggil prosedur:
NAMA_PROSEDUR(parameter_aktual);
S1 Teknik Informatika-Unijoyo 23
ALGORITMA PASCAL
procedure NAMA_PROSEDUR procedure NAMA_PROSEDUR(var parameter
(input/output parameter : : tipe_param);
tipe_param) { Spesifikasi Prosedur, menyebutkan
{ Spesifikasi Prosedur, menyebutkan nama, parameter, kondisi awal,
nama, parameter, kondisi awal, kondisi akhir dan proses }
kondisi akhir dan proses } { Kondisi awal : keadaan sebelum
{ Kondisi awal : keadaan sebelum prosedur dilaksanakan }
prosedur dilaksanakan } { Kondisi akhir : keadaan setelah
{ Kondisi akhir : keadaan setelah prosedur dilaksanakan }
prosedur dilaksanakan } (* DEKLARASI *)
DEKLARASI { Semua nama yang dipakai prosedur
{ Semua nama yang dipakai prosedur didefinisikan di sini dan hanya
didefinisikan di sini dan hanya berlaku lokal }
berlaku lokal } (* DESKRIPSI *)
DESKRIPSI : begin
{ badan prosedur, berisi semua { badan prosedur, berisi semua
langkah atau aksi algoritma } langkah atau aksi }
end;
Cara memanggil prosedur:
NAMA_PROSEDUR(parameter_aktual);
S1 Teknik Informatika-Unijoyo 24
12
Notasi Algoritma Fungsi ke dalam Notasi Bahasa
Pascal
ALGORITMA PASCAL
function NAMA_FUNGSI (input daftar function NAMA_FUNGSI(daftar
parameter formal)→tipe_hasil parameter formal) : tipe_hasil;
{ Spesifikasi Fungsi, menjelaskan { Spesifikasi Fungsi, menjelaskan
apa yang dilakukan dan apa yang dilakukan dan
dikembalikan oleh fungsi } dikembalikan oleh fungsi }
DEKLARASI (* DEKLARASI *)
{ Semua nama yang dipakai fungsi { Semua nama yang dipakai fungsi
didefinisikan di sini dan hanya didefinisikan di sini dan hanya
berlaku lokal } berlaku lokal }
DESKRIPSI : (* DESKRIPSI *)
{ badan fungsi, berisi semua langkah begin
atau aksi algoritma untuk { badan fungsi, berisi semua langkah
menghasilkan nilai yang akan atau aksi algoritma untuk
dikembalikan } menghasilkan nilai yang akan
return hasil { pengembalian nilai dikembalikan }
yang dihasilkan fungsi } NAMA_FUNGSI:=hasil; { pengembalian
nilai yang dihasilkan fungsi }
end;
S1 Teknik Informatika-Unijoyo 25
Summary
• 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.
S1 Teknik Informatika-Unijoyo 26
13
Daftar Pustaka
S1 Teknik Informatika-Unijoyo 27
14