Anda di halaman 1dari 32

Operasi Assignment

 Operasi assignment ialah operasi pemberian nilai ( baru )


kepada variabel, syntaks algoritmiknya : .
 Dalam sejarah kehidupannya suatu variabel dapat dianggap
tidak mempunyai nilai awal, dapat pula dianggap sudah
mempunyai nilai awal. Kemudian sepanjang kehidupannya
variabel ybs akan diubah-ubah nilainya sesuai dengan
keperluan.
 Ada 2 macam assignment :
 assignment langsung : pemberian nilai dengan menggunakan
konstanta
 assignment tidak langsung : pemberian nilai dengan menggunakan
kombinasi dari konstanta, nilai variabel lain, dan operator.

Jurusan Teknik Komputer dan


1
Informatika POLBAN
Syarat Sahih Operasi Assignment
 Operasi assignment dianggap sahih jika
 type data dari nilai yang diberikan (sisi kanan
operator ) mempunyai type data yang
sesuai dengan type data variabelnya.
 Operasi yang dilakukan disebelah kanan

tanda , memenuhi syarat type operator.


 Memenuhi syarat range dari array/himpunan

yang didefinisikan.

Jurusan Teknik Komputer dan


2
Informatika POLBAN
OPERASI BACA (dari) DAN TULIS (ke) I/O DEVICE

DEFINISI YANG DIPERLUKAN :


I/O device tidak memiliki fungsi untuk “mengingat”
File/storage device memiliki fungsi untuk “mengingat”.

OPERASI BACA DARI I/O DEVICE.


“Membaca” adalah Menerima data dari Input device
dan menampungnya dalam variabel tertentu.
Notasinya : Read (Nama Input Device) Nama_variabel

Jurusan Teknik Komputer dan


3
Informatika POLBAN
OPERASI TULIS KE OUTPUT DEVICE.

“Menulis” adalah Mengirimkan data yang ditampung dalam


variabel tertentu ke Output device.
Notasinya : Write (Nama Output Dev) Nama_variabel

Contoh operasi baca dan tulis :


Read (keyboard) N
i  1
while ( i  N)
do write (layar) i
Read (keyboard) X(i)
i  i+1
endwhile

Jurusan Teknik Komputer dan


4
Informatika POLBAN
Struktur Program.
Struktur primitif adalah :
 struktur yang tidak dapat dinyatakan melalui struktur lainnya (tidak
dapat diuraikan lagi);
 merupakan komponen dasar pembentukan struktur algoritma.
 
Menurut Bohm dan Jacopini terdapat 3 macam struktur primitif non
paralel (= struktur sequential), yaitu :
 Sequence adalah suatu operasi atau kelompok operasi yang
dilaksanakan setelah operasi atau kelompok operasi lain.
 Selection adalah struktur yang memilih satu atau beberapa kelompok
operasi untuk dilaksanakan berdasarkan hasil evaluasi terhadap
suatu kondisi.
 Repetition adalah struktur yang melakukan satu operasi atau
beberapa kelompok operasi untuk dilaksanakan berulang-ulang
berdasarkan hasil evaluasi terhadap suatu kondisi.

Jurusan Teknik Komputer dan


5
Informatika POLBAN
Struktur Program :
Sequence
Merupakan struktur kontrol algoritmik yang
paling sederhana.
 Sequence adalah sederetan instruksi primitif

dan / atau aksi yang akan dilaksanakan /


dieksekusi oleh komputer berdasarkan urutan
penulisannya
 Initial state dari sequence adalah state awal

yang harus dipenuhi dan Final State dari


Sequence adalah final state setelah
instruksi/aksi terakhir.

Jurusan Teknik Komputer dan


6
Informatika POLBAN
Program JARAK
{ Dibaca v dan t, menghitung S = v*t dan
menuliskan hasilnya }
Kamus
v : integer { kecepatan, dalam m/detik }
t : integer { waktu, dalam detik }
S : integer {jarak (m) yg ditempuh dalam
waktu t dengan kecepatan v }
Algoritma :
Read (keyboard) v,t
S  v * t
Write (layar) S

Jurusan Teknik Komputer dan


7
Informatika POLBAN
Program DURASI
{Input : JamAwal, JamAkhir bertype Jam (HH:MM:DD); dan
JamAkhir selalu  JamAwal
Output : Selisih waktu dalam detik antara JamAwal dan
JamAkhir }
Kamus
Type Jam : < HH : integer [0..24],
MM : integer [0..59],DD : integer [0..59] >
JamAwal, JamAkhir : Jam
Durasi : integer  0
Algoritma :
Read (keyboard) JamAwal,JamAkhir
Durasi  (JamAkhir.HH*3600 + JamAkhir.MM*60 +
JamAkhir.DD) – (JamAwal.HH*3600 +
JamAwal.MM*60 + JamAwal.DD)
Write (layar) Durasi
Jurusan Teknik Komputer dan
8
Informatika POLBAN
Struktur Program : Selection
Biasa dikenal dengan istilah Analisa Kasus.
 Analisa Kasus ini adalah konstruktor terpenting dalam

Algoritma, yaitu memungkinkan untuk membuat teks


yang sama dalam program namun menghasilkan
eksekusi yang berbeda-beda.
 Mendefinisikan analisa kasus adalah mendefinisikan :

 Kondisi, berupa ekspresi yang menghasilkan true/false


 Aksi, yang akan dilaksanakan jika kondisi yang
dipasangkan dengan aksi ybs. dipenuhi
 Konstruksi dari suatu analisa kasus dapat dimulai
dengan menentukan semua kondisi yang mungkin
(dengan melakukan partisi domain) atau dimulai dari
menentukan variasi aksi.
Jurusan Teknik Komputer dan
9
Informatika POLBAN
Notasi Algoritmik : Analisa Kasus
Untuk Analisa kasus yang umum (banyak kondisi) :
depend on (nama variabel)
<kondisi-1> : <aksi-1>
<kondisi-2> : <aksi-2>
<kondisi-3> : <aksi-3>

<kondisi-n> : <aksi-n>
Catatan : kondisi-1  kondisi-2  …  kondisi-n = 
kondisi-1  kondisi-2  …  kondisi-n berarti kondisi
mencakup semua kemungkinan.

Jurusan Teknik Komputer dan


10
Informatika POLBAN
Program WUJUDAIR
{ Dibaca T (integer), temperatur air (dalam 0C) pada
tekanan atmosfir; Harus dituliskan wujud air pada
temperatur T, dengan memisahkan kasus peralihan
sebagai kasus khusus }
Kamus
T : integer
Algoritma :
Read (keyboard) T
Depend on (T)
T < 0 : write (layar) ‘Beku’
T = 0 : write (layar) ‘Beku-cair’
0 < T < 100 : write (layar) ‘Cair’
T > 100 : write (layar) ‘Uap’
T = 100 : write (layar) ‘Cair-Uap’
Jurusan Teknik Komputer dan
11
Informatika POLBAN
Notasi Algoritmik : Analisa Kasus
Untuk kasus sangat khusus, yaitu hanya satu kasus :
if(kondisi)
then aksi
endif

Untuk kasus sangat khusus, yaitu dua kasus komplementer :


if(kondisi)
then aksi-1
else aksi-2
endif

Catatan : Hati-hati dalam memakai “else” yang berarti kondisi implisit


yang merupakan negasi dari kondisi. Penulisan kondisi “else” secara
eksplisit sangat disarankan
Jurusan Teknik Komputer dan
12
Informatika POLBAN
Program MENCARI_MAX
{Dibaca dua buah bilangan a dan b (integer),
kemudian cari yang nilainya lebih besar, kemudian
tampilkan nilai yang lebih besar }
Kamus
a,b,Max : integer
Algoritma :
Read (keyboard) a, b
If a > b
Then Max  a
Else Max  b
Endif
Write (layar) Max

Jurusan Teknik Komputer dan


13
Informatika POLBAN
OPERASI SELECTION BENTUK LAIN

 Operasi ini disebut juga Nested IF (IF bersarang), bentuk umumnya :


IF <ekspresi logika1> THEN
Blok Operasi 1
ELSE IF <ekspresi logika2> THEN
……
EndIF
ENDIF
 Jika <ekspresi logika1> bernilai True, maka Blok Operasi 1 akan
dieksekusi/dikerjakan. Jika <ekspresi logika1> bernilai False, maka
bagian ElSE IF …. ENDIF yg akan dieksekusi /dikerjakan.
 Blok Operasi dapat berupa operasi tunggal (single statement) atau
kumpulan operasi (compound statement)
Jurusan Teknik Komputer dan
14
Informatika POLBAN
 Contoh :
READ (Keyboard) A
READ (KeyBoard) B
IF A < B THEN
WRITE (Monitor) “ A lebih kecil dari B ”
ELSE IF A > B THEN
WRITE (Monitor) “ A lebih besar dari B ”
ELSE
WRITE (Monitor) “ A sama dengan B ”
EndIF
ENDIF
WRITE (Monitor) “ Nilai A : “, A
WRITE (Monitor) “ Nilai B : “, B
 Operasi IF yang bersarang (nested) boleh bentuk IF yang
manapun, serta operasi dalam Nested IF boleh operasi
apapun.

Jurusan Teknik Komputer dan


15
Informatika POLBAN
Operasi Selection : Case
 Logika operasi ini merupakan pengembangan dari logika operasi
Nested IF, bentuk umumnya :
CASE <variabel> Of
Nilai 1 : Blok Operasi 1
Nilai 2 : Blok Operasi 2
………….
Nilai n : Blok Operasi n
DEFAULT
Blok Operasi
ENDCASE
 <variabel> adalah variabel bertipe ordinal (terbilang) misalnya
Bilangan Bulat (Integer) dan Alphanumerik.
 Blok Operasi, Blok Operasi 1, …, dan Blok Operasi n :
dapat berupa operasi tunggal (single statement) atau kumpulan operasi
(compound statement)
Jurusan Teknik Komputer dan
16
Informatika POLBAN
Contoh Case :
READ (Keyboard) A
CASE A OF
1 : WRITE (Monitor) “ Nilai A = 1 ”
2 : WRITE (Monitor) “ Nilai A = 2 ”
3 : WRITE (Monitor) “ Nilai A = 3 ”
DEFAULT
WRITE (Monitor) “ Nilai A bukan 1, 2 dan 3”
ENDCASE

Jurusan Teknik Komputer dan


17
Informatika POLBAN
Struktur Program : Repetition
 Operasi Repetition (Loop) adalah operasi yang berfungsi untuk
mengulang Blok Operasi.
 Proses Loop dibangun oleh empat elemen : Initial Loop, Final
Loop, Next Step, dan Blok Operasi.
 Initial Loop adalah operasi (umumnya assignment) yang
menyebabkan proses pengulangan dikerjakan atau tidak dikerjakan
 Final Loop adalah <ekpresi logika> yang bernilai True atau False.
Nilai logika ini menyebabkan operasi pengulangan dilakukan terus
atau berhenti.
 Next Step adalah operasi yang menghasilkan suatu nilai. Nilai ini
akan dievaluasi pada bagian Final Loop, sehingga proses
pengulangan berhenti atau diteruskan.
 Blok Operasi adalah operasi yang diulang. Operasi ini dapat berupa
operasi tunggal (single statement) atau kumpulan operasi (compound
statement).

Jurusan Teknik Komputer dan


18
Informatika POLBAN
Jenis Repetition

 Operasi Loop mempunyai beberapa macam bentuk,


diantaranya :
1. WHILE … DO … ENDWHILE

2. REPEAT … UNTIL …

3. FOR (… TO …, ….) DO …. ENDFOR

Jurusan Teknik Komputer dan


19
Informatika POLBAN
Operasi Loop Bentuk ke 1 :
 Bentuk umum :
INITIAL LOOP
WHILE FINAL LOOP DO
BLOK OPERASI
NEXT STEP
ENDWHILE
 Jika FINAL LOOP bernilai True maka operasi
loop dilakukan, jika bernilai False maka operasi
loop tidak dilakukan / berhenti.

Jurusan Teknik Komputer dan


20
Informatika POLBAN
Contoh Operasi Loop Bentuk 1 :
Program TampilA
{Memberi harga terhadap variabel A kemudian menampilkan
Isinya sebanyak 10 kali}

Kamus
A : Integer  1

Algoritma :
A  1
WHILE A < 10 DO
WRITE (Layar) A
A  A + 1
ENDWHILE

Jurusan Teknik Komputer dan


21
Informatika POLBAN
Operasi Loop Bentuk ke 2 :
 Bentuk umum :
INITIAL LOOP
REPEAT
BLOK OPERASI
NEXT STEP
UNTIL FINAL LOOP
Jika FINAL LOOP bernilai False maka operasi
loop dilakukan, jika bernilai True maka operasi
loop tidak dilakukan / berhenti.
Final Loop dapat diartikan juga sebagai Kondisi
berhenti dari pengulangan bentuk ini.
Jurusan Teknik Komputer dan
22
Informatika POLBAN
Contoh Operasi Loop Bentuk 2 :
Program TampilA
{Memberi harga terhadap variabel A kemudian
menampilkan Isinya sebanyak 10 kali}
Kamus
A : Integer  1

Algoritma :
A  1
REPEAT
WRITE (Layar) A
A  A + 1
UNTIL (A  10)

Jurusan Teknik Komputer dan


23
Informatika POLBAN
Contoh Loop :
Bentuk (1)

Program IsiArray
{Memberi harga terhadap variabel X yang bertype array
satu dimensi dengan maksimal elemen N buah, oleh
nilai indeksnya}
Kamus
i : integer
X : Array integer dengan N elemen; N  1
Algoritma :
i  1
WHILE (i  N) DO
X[i]  i
i  i + 1
ENDWHILE
Jurusan Teknik Komputer dan
24
Informatika POLBAN
Contoh Loop :
Bentuk (2)

Program IsiArray
{Memberi harga terhadap variabel X yang bertype array
satu dimensi dengan maksimal elemen N buah, oleh
nilai indeksnya}
Kamus
i : integer
X : Array integer dengan N elemen; N  1
Algoritma :
i  1
REPEAT
X[i]  i
i  i + 1
UNTIL (i > N)
Jurusan Teknik Komputer dan
25
Informatika POLBAN
Perbedaan bentuk (1) dan (2) :
Pembeda Bentuk (1) : Bentuk (2) :
While do…Endwhile Repeat … Until
Jumlah Minimal
Pengulangan 0 kali 1 kali
terhadap Blok
operasi
Pengulangan
dilakukan selama True False
Kondisi
Pengulangan
berakhir jika Final False True
Loop
Jurusan Teknik Komputer dan
26
Informatika POLBAN
Operasi Loop Bentuk ke 3 :
Biasa disebut dengan pengulangan terbilang atau
pengulangan berdasarkan pencacah, sedangkan bentuk(1)
dan (2) dikenal dengan pengulangan berdasarkan Kondisi
pengulangan

 Bentuk umum :
FOR (Initial loop TO Final Loop, Next Step)
DO
BLOK OPERASI
ENDFOR

Pencacah adalah harga yang diberikan dalam initial Loop


sampai Final Loop, misalnya (i  1 to 10, i  i+1)
Jurusan Teknik Komputer dan
27
Informatika POLBAN
Catatan untuk Loop bentuk (3)
 Type Pencacah harus suatu nilai yang terdefinisi
suksesor (nilai selanjutnya) dan predecesor (nilai
sebelumnya)
 Setelah pelaksanaan Loop selesai, harga yang tersimpan
pada variabel pencacah tidak terdefinisi/tidak pasti,
sehingga jika hendak dipakai harus diinisialisasi kembali
 Biasanya Blok Operasi akan diulang secara otomatis
(tidak diperlukan Next Step) karena nilai suksesor dan
predecesor diketahui dalam range tertentu ; namun
dalam implementasi di bahasa pemrograman tertentu
bisa saja diberikan Next Step.

Jurusan Teknik Komputer dan


28
Informatika POLBAN
Contoh Operasi Loop Bentuk 3 :
Program TampilA
{Memberi harga terhadap variabel A kemudian
menampilkan Isinya sebanyak 10 kali}
Kamus
A : Integer  1

Algoritma :
FOR (A  1 TO 10, A  A + 1) DO
WRITE (Layar) A
ENDFOR

Jurusan Teknik Komputer dan


29
Informatika POLBAN
Panduan Pembuatan Struktur
Repetition
1. Cari urutan atau caranya berurut (keterurutan yang
diinginkan), sehingga akan menghasilkan Initial Loop,
Next Step dan Final Loop
2. Definisikan bagaimana dan dimana nilai keterurutan
harus berubah, akan mengindikasikan operasi apa yang
akan diberikan dalam Blok Operasi dan Next Step
3. Identifikasi berapa jumlah variabel yang dibutuhkan
4. Lakukan proses yang berulang untuk melihat dan
menentukan point 1 dan 2 di atas.

Jurusan Teknik Komputer dan


30
Informatika POLBAN
Materi Penutup :
Bahasan Struktur Program
 Sebuah program komputer memungkinkan dipakainya ketiga
struktur yang sudah dibahas, baik sequence, selection maupun
Repetition; dengan posisi dapat saling terpisah antar satu struktur
dengan struktur lainnya ataupun ada suatu struktur di dalam struktur
yang lain (biasa dikenal dengan compound structur);
 Fungsi dari struktur program adalah agar Algoritma dapat mencapai
state yang diinginkan, dengan kata lain algoritma harus benar,
selain itu juga Algoritma harus memperhitungkan kemungkinan
sesuai dengan asumsi masalah;
 Algoritma yang baik dipilih dari beberapa algoritma yang benar (jadi
pertama-tama harus ada dulu beberapa algoritma yang benar !!)

Jurusan Teknik Komputer dan


31
Informatika POLBAN
Latihan :
Bahasan Struktur Program
 Untuk pemahaman dari ketiga struktur yang telah dibahas, dapat
dilakukan latihan dengan model :
 Studi kasus , misalnya :
 Pencarian nilai minimal dan maksimal dari 2 bilangan,
3 bilangan ,…, n bilangan.
 Pencarian posisi minimal dan maksimal dari suatu
array (Algoritma searching).
 Pengisian Array, baik satu maupun dua dimensi,
dengan nilai yang keterurutannya jelas.
 Pemberian contoh Algoritma yang memiliki ‘BUG’.

Jurusan Teknik Komputer dan


32
Informatika POLBAN

Anda mungkin juga menyukai