• Tidak ada hasil yang ditemukan

Algoritma Pemrograman

N/A
N/A
Protected

Academic year: 2022

Membagikan "Algoritma Pemrograman"

Copied!
19
0
0

Teks penuh

(1)

Algoritma Pemrograman

Pertemuan Ke-4

(Nilai dan Urutan [Sequence])

(2)

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

(3)

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

(4)

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

1.

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

(5)

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

(6)

Contoh Pengisian Nilai secara langsung

Nilai yang diberikan ke dalam peubah

peubah ← konstanta { nilai

dapat berupa konstanta:

konstanta diisikan ke

Contoh :

dalam peubah }

A ← 5 { Nilai A sama dengan 5 }

Atau suatu peubah diisi dengan nilai

peubah1 ← peubah2 { nilai

dari peubah lain:

konstanta diisikan ke dalam peubah }

Contoh :

A ← B { Nilai A sama dengan nilai B }

Atau suatu peubah diisi dengan nilai

peubah ← ekspresi { hasil

evaluasi dari sebuah ekspresi:

perhitungan diisikan ke

Contoh :

dalam peubah }

A ← B + C { A berisi hasil evaluasi

ekspresi B + C }

(7)

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

(8)

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

(9)

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 : real e, f, g, h : integer

Contoh:

c ← a * b {benar}

e ← a * b {salah}

Tingkatan operator aritmatika (dari tertinggi ke terendah):

i. /, div, mod ii. *

iii. +, −

(10)

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.

(11)

Ekspresi Aritmatika [3]

Macam-macam notasi:

Notasi infix notasi dengan susunan:

operand1 operator operand2

Contoh:

7*4

a+b/c*d-e*f

Notasi prefix notasi dengan susunan:

operator operand1 operand2

Contoh:

*74

*+a/bc-d*ef

Notasi postfix (suffix atau polish) notasi dengan susunan:

operand1 operand2 operator

Contoh:

68*

(12)

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 )

(13)

Menuliskan Nilai ke Piranti Keluaran

Nilai yang disimpan oleh

write(nama1, nama2, ..., namaN)

memori dapat ditampilkan ke

write(tetapan)

write(nama, tetapan, ekspresi)

piranti keluaran (misalnya

write(ekspresi)

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

(14)

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

(15)

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.

(16)

Algoritma URUTAN_1 Algoritma URUTAN_2 { Contoh algoritma yang menghasilkan { Contoh algoritma yang

keluaran yang sama jika urutan menghasilkan keluaran yang sama

instruksi diubah. } jika urutan instruksi diubah. }

DEKLARASI DEKLARASI

A, B, C, D : integer A, B, C, D : integer

DESKRIPSI : DESKRIPSI :

read(A,B) read(A,B)

C←A+B D←A*B

D←A*B C←A+B

write(C,D) write(C,D)

(17)

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}:

B←A A←B

maka hasilnya A=3 dan B=3.

Solusi perbaikan: perlu digunakan peubah bantu, misalnya C.

C←A { simpan nilai A di tempat sementara, C}

A←B { sekarang A dapat diisi dengan nilai B }

B←C { isi B dengan nilai A semula yang tadi disimpan di C }

(18)

Urutan Instruksi Berpengaruh Terhadap Hasil Keluaran [2]

Algoritma TUKAR_1

MULAI

{ Mempertukarkan nilai A dan B. Nilai A dan B dibaca dari piranti masukan. Nilai A dan B dicetak ke piranti keluaran, baik sebelum

Baca A, B

pertukaran maupun sesudah pertukaran.

ALGORITMA YANG BENAR! }

Cetak A,B

DEKLARASI

(sebelum pertukaran)

A : integer { nilai pertama } B : integer { nilai kedua }

C=A C : integer { peubah bantu } DESKRIPSI :

read(A,B) { membaca nilai A dan B }

A=B write(A,B) { mencetak nilai A dan B sebelum pertukaran }

C←A { simpan nilai A di tempat sementara, C }

B=C A←B { sekarang A dapat diisi dengan nilai B } B←C { isi B dengan nilai A semula yang tadi

Cetak A,B disimpan di C }

(setelah pertukaran) write(A,B) { mencetak nilai A dan B setelah pertukaran }

(19)

Urutan Instruksi Berpengaruh Terhadap Hasil Keluaran [3]

Proses pertukaran nilai akan salah jika tidak benar dalam menuliskan urutan instruksi, misalnya urutan

C←A { simpan nilai A di tempat sementara, C } A←B { sekarang A dapat diisi dengan nilai B }

B←C { isi B dengan nilai A semula yang tadi disimpan di C }

diubah urutannya menjadi:

C←A { simpan nilai A di tempat sementara, C }

B←C { isi B dengan nilai A semula yang tadi disimpan di C}

A←B { sekarang A dapat diisi dengan nilai B }

sama saja dengan urutan:

B←A A←B

Referensi

Dokumen terkait

2) Menerima hasil Pengadaan Barang/Jasa setelah melalui pemeriksaan/pengujian dan pekerjaan dengan mempertimbangkan hasil telah dinyatakan selesai.. 3) Membuat

(3) Perencanaan penanggulangan bencana di daerah sebagaimana dimaksud pada ayat (1) dilakukan melalui penyusunan data tentang risiko bencana pada suatu wilayah dalam

Talk Show merupakan pertunjukan wawancara, yang dapat ditemui pada media televisi maupun radio.Talk show di radio pada umumnya menggunakan format menghadirkan

Selain dikembangkan di klub-klub Wushu, dikembangkan juga senam Taiji di klub-klub khusus Taiji yang tidak menekankan pada kompetisi Wushu, misalnya di klub PORPI

data sekunder, kemudian dilanjutkan dengan penelitian data primer di lapangan atau masyarakat., yaitu tentang praktik perlindungan hukum terhadap saksi dalam proses

pemberian bantuan hukum bagi setiap orang yang berperkara. Namun yang perlu diingat adalah jangan sampai pengaturan tersebut nantinya malah bersifat membatasi

Kegiatan pengabdian kegada masyarakat bertujuan untuk meningkatkan kemampuan dari keterampilan guru MTsN Gunung Pangilun Kodya Padang dalam menggunakan alat-alat laboratorlum

karena itu, objek yang diatur dalam HKI adalah karya yang timbul atau.. lahir dari kemampuan