You are on page 1of 19

Algoritma Pemrograman

Pertemuan Ke-4
(Nilai dan Urutan [Sequence]) :: Noor Ifada ::

S1 Teknik Informatika-Unijoyo

Sub Pokok Bahasan


Nilai Pengisian nilai ke dalam nama peubah Ekspresi Menuliskan Nilai ke Piranti Keluaran Urutan (sequence)
Urutan Instruksi Tidak Berpengaruh Terhadap Hasil Keluaran Urutan Instruksi Berpengaruh Terhadap Hasil Keluaran

S1 Teknik Informatika-Unijoyo

Nilai
Nilai adalah besaran dari tipe data yang sudah didefinisikan (tipe dasar atau tipe bentukan). Nilai dapat berupa isi yang disimpan oleh nama peubah atau nama konstanta, nilai dari hasil perhitungan, atau nilai yang dikirim oleh fungsi. Algoritma pada hakekatnya adalah memanipulasi nilai yang disimpan di dalam elemen memori. Cara memanipulasi nilai yang dikandung oleh peubah:
Mengisikannya ke peubah lain yang bertipe sama Dipakai untuk perhitungan (ekspresi) Dituliskan/dicetak ke piranti keluaran
S1 Teknik Informatika-Unijoyo 3

Pengisian Nilai ke dalam Nama Peubah


1.

Pengisian nilai secara langsung (assignment): Memasukkan sebuah nilai ke dalam nama peubah langsung di dalam teks algoritma Syaratnya, nilai yang diisikan harus bertipe sama dengan tipe peubah Dibaca dari piranti masukan: Nilai untuk nama peubah dapat diisi dari piranti masukan, misalnya dari keyboard Mengisi nilai dari piranti masukan dinamakan operasi pembacaan data
S1 Teknik Informatika-Unijoyo 4

1.

Pengisian nilai secara langsung (assignment)

Notasi pengisian nilai secara langsung : Arti notasi: nilai di sebelah kanan tanda panah diisikan ke dalam peubah di sebelah kiri tanda panah Akibat pengisian nilai ke dalam suatu nama peubah, nilai lama yang disimpan di dalam peubah hilang ditimpa dengan nama baru. Prinsip yang dipakai adalah: nilai yang dikandung oleh nama peubah adalah nilai yang terakhir kali diisikan ke dalamnya

S1 Teknik Informatika-Unijoyo

Contoh Pengisian Nilai secara langsung


Nilai yang diberikan ke dalam peubah dapat berupa konstanta: Contoh : A 5 { Nilai A sama dengan 5 } Atau suatu peubah diisi dengan nilai dari peubah lain: Contoh : A B { Nilai A sama dengan nilai B } Atau suatu peubah diisi dengan nilai evaluasi dari sebuah ekspresi: Contoh : A B + C { A berisi hasil evaluasi ekspresi B + C }
peubah konstanta { nilai konstanta diisikan ke dalam peubah }

peubah1 peubah2 { nilai konstanta diisikan ke dalam peubah }

peubah ekspresi { hasil perhitungan diisikan ke dalam peubah }

S1 Teknik Informatika-Unijoyo

Dibaca dari piranti masukan


Di dalam algoritma, instruksi pembacaan nilai untuk nama peubah dilakukan dengan notasi read Notasi algoritma untuk pembacaan nilai dari piranti masukan:
read(nama1, nama2, ..., namaN)

Dengan syarat bahwa nama1, nama2, ..., namaN adalah nama peubah yang sudah didefinisikan tipenya di dalam DEKLARASI

S1 Teknik Informatika-Unijoyo

Ekspresi
Suatu nilai dipakai untuk proses transformasi menjadi keluaran yang diinginkan. Transformasi nilai menjadi keluaran dilakukan melalui suatu perhitungan (komputasi). Cara perhitungan itu dinyatakan dalam suatu ekspresi Ekspresi terdiri atas operand dan operator. Operand adalah nilai yang dioperasikan dengan operator tertentu. Operand dapat berupa konstanta, nama peubah, nama konstanta, atau hasil dari suatu fungsi. Hasil evaluasi dari sebuah ekspresi adalah nilai di dalam domain yang sesuai dengan tipe operand yang dipakai Terdapat dua macam ekspresi:
Ekspresi Aritmatika Ekspresi Relasional
S1 Teknik Informatika-Unijoyo 8

Ekspresi Aritmatika [1]


Ekspresi aritmatika/numerik adalah ekspresi yang operand dan juga hasilnya bertipe numerik Misal didefinisikan DEKLARASI sebagai berikut:
DEKLARASI a, b, c, d e, f, g, h : real : integer

Contoh: c a * b {benar} e a * b {salah}

Tingkatan operator aritmatika (dari tertinggi ke terendah): i. /, div, mod ii. * iii. +,
S1 Teknik Informatika-Unijoyo 9

Ekspresi Aritmatika [2]


Contoh-contoh ekspresi yang sudah dikemukakan merupakan ekspresi biner, yaitu ekspresi yang operatornya membutuhkan dua buah operand (sehingga operatornya disebut juga operator biner). Di samping ekspresi biner, terdapat juga ekspresi uner (ekspresi dengan satu buah operand), misal:
-a -a*(b+c)

(a adalah ekspresi uner). Operator , selain merupakan operator biner, juga adalah satu-satunya operator uner dari seluruh operator aritmatika.

S1 Teknik Informatika-Unijoyo

10

Ekspresi Aritmatika [3]


Macam-macam notasi:
Notasi infix
operand1
Contoh:
7 * 4 a+b/c*d-e*f

notasi dengan susunan:


operator operand2

Notasi prefix
operator
Contoh:
*74 *+a/bc-d*ef

notasi dengan susunan:


operand1 operand2

Notasi postfix (suffix atau polish)


operand1
Contoh: 68* abc/+def*-*

notasi dengan susunan:

operand2

operator

S1 Teknik Informatika-Unijoyo

11

Ekspresi Relasional
Ekspresi dengan operator <, , >, , =, dan , not, and, or, dan xor Hasil evaluasi ekspresinya: nilai bertipe boolean (true atau false), sehingga ekspresi relasional kadang-kadang disebut juga ekspresi boolean Misal didefinisikan DEKLARASI nama dan tipenya sebagai berikut:
DEKLARASI ada, ketemu, besar : boolean x, y : integer

Contoh: ketemu telah bernilai false, ada bernilai true, x bernilai 8 dan y bernilai a. Maka: not ada ( hasil : false ) ada or ketemu ( hasil : true ) ada and true ( hasil : true ) x<5 ( hasil : false ) ada or (x = y) ( hasil : true )
S1 Teknik Informatika-Unijoyo 12

Menuliskan Nilai ke Piranti Keluaran


Nilai yang disimpan oleh memori dapat ditampilkan ke piranti keluaran (misalnya monitor) Instruksi penulisan nilai dilakukan dengan notasi write Dengan catatan bahwa nama1, nama2, ..., namaN dapat berupa nama peubah atau nama tetapan Dengan instruksi penulisan ini, nilai yang disimpan di dalam memori dituliskan/dicetakkan ke piranti keluaran
write(nama1, nama2, ..., namaN) write(tetapan) write(nama, tetapan, ekspresi) write(ekspresi)

S1 Teknik Informatika-Unijoyo

13

Urutan (Sequence)
Algoritma merupakan urutan (sequence) satu atau lebih instruksi yang berarti:
Tiap instruksi dikerjakan satu per satu Tiap instruksi dilaksanakan tepat sekali, tidak ada instruksi yang diulang Urutan instruksi yang dilaksanakan pemroses sama dengan urutan instruksi sebagaimana yang tertulis di dalam teks algoritmanya Akhir dari instruksi terakhir merupakan akhir algoritma
S1 Teknik Informatika-Unijoyo 14

Urutan Instruksi Tidak Berpengaruh Terhadap Hasil Keluaran

Contoh kasus 1 : Urutan instruksi tidak berpengaruh terhadap solusi persoalan Dibaca dua buah nilai integer dari piranti masukan, yaitu A dan B. Hitung jumlah keduanya dan hasil kali keduanya, kemudian cetak jumlah dan cetak hasil kali itu ke piranti keluaran.

S1 Teknik Informatika-Unijoyo

15

Algoritma URUTAN_1 { Contoh algoritma yang menghasilkan keluaran yang sama jika urutan instruksi diubah. } DEKLARASI A, B, C, D : integer DESKRIPSI : read(A,B) CA+B DA*B write(C,D)

Algoritma URUTAN_2 { Contoh algoritma yang menghasilkan keluaran yang sama jika urutan instruksi diubah. } DEKLARASI A, B, C, D : integer DESKRIPSI : read(A,B) DA*B CA+B write(C,D)

S1 Teknik Informatika-Unijoyo

16

Urutan Instruksi Berpengaruh Terhadap Hasil Keluaran [1]

Contoh kasus 2 : Urutan instruksi berpengaruh terhadap solusi persoalan


Diketahui dua buah nilai integer, masing-masing disimpan di dalam dua buah peubah, A dan B. Bagaimana cara mempertukarkan nilai A dan B? Misalnya, sebelum pertukaran nilai A=3 nilai B=5, maka setelah pertukaran, nilai A=5 dan nilai B=3. Solusi awal {algoritma yang salah}: BA AB maka hasilnya A=3 dan B=3. Solusi perbaikan: perlu digunakan peubah bantu, misalnya C. CA { simpan nilai A di tempat sementara, C} AB { sekarang A dapat diisi dengan nilai B }
BC { isi B dengan nilai A semula yang tadi disimpan di C }
S1 Teknik Informatika-Unijoyo 17

Urutan Instruksi Berpengaruh Terhadap Hasil Keluaran [2]


MULAI

Baca A, B

Cetak A,B (sebelum pertukaran)

C=A

A=B

B=C

Cetak A,B (setelah pertukaran)

Algoritma TUKAR_1 { Mempertukarkan nilai A dan B. Nilai A dan B dibaca dari piranti masukan. Nilai A dan B dicetak ke piranti keluaran, baik sebelum pertukaran maupun sesudah pertukaran. ALGORITMA YANG BENAR! } DEKLARASI A : integer { nilai pertama } B : integer { nilai kedua } C : integer { peubah bantu } DESKRIPSI : read(A,B) { membaca nilai A dan B } write(A,B) { mencetak nilai A dan B sebelum pertukaran } CA { simpan nilai A di tempat sementara, C } AB { sekarang A dapat diisi dengan nilai B } BC { isi B dengan nilai A semula yang tadi disimpan di C } write(A,B) { mencetak nilai A dan B setelah pertukaran }
S1 Teknik Informatika-Unijoyo 18

SELESAI

Urutan Instruksi Berpengaruh Terhadap Hasil Keluaran [3]


Proses pertukaran nilai akan salah jika tidak benar dalam menuliskan urutan instruksi, misalnya urutan
CA { simpan nilai A di tempat sementara, C } AB { sekarang A dapat diisi dengan nilai B } BC { isi B dengan nilai A semula yang tadi disimpan di C }

diubah urutannya menjadi:


CA { simpan nilai A di tempat sementara, C } BC { isi B dengan nilai A semula yang tadi disimpan di C} AB { sekarang A dapat diisi dengan nilai B }

sama saja dengan urutan:


BA AB

S1 Teknik Informatika-Unijoyo

19

You might also like