21
Algoritma Algoritma Pemrograman Pemrograman Pertemuan Ke-4 Urutan (sequence) Rahmady Liyantanto [email protected] liyantanto.wordpress.com S1 Teknik Informatika-Unijoyo

AlgoritmaAlgoritma Pemrograman Pemrograman · Dengan catatan bahwa nama1, nama2, ..., namaN dapat berupa nama peubah atau nama tetapan Dengan instruksi penulisan ini, nilai yang disimpan

  • Upload
    vanhanh

  • View
    221

  • Download
    0

Embed Size (px)

Citation preview

AlgoritmaAlgoritma PemrogramanPemrogramanPertemuan Ke-4Urutan (sequence)

Rahmady Liyantanto

[email protected]

S1 Teknik Informatika-Unijoyo

SubSub PokokPokok BahasanBahasan

� Nilai� Pengisian nilai ke dalam nama peubah� Ekspresi� Menuliskan Nilai ke Piranti Keluaran� Urutan (sequence)

q Urutan InstruksiTidak Berpengaruh Terhadap HasilKeluaran

q Urutan Instruksi Berpengaruh Terhadap Hasil Keluaran

S1 Teknik Informatika-Unijoyo

NilaiNilai� Nilai adalah besaran dari tipe data yang sudah

didefinisikan (tipe dasar atau tipe bentukan). Nilai dapatberupa isi yang disimpan oleh nama peubah atau namakonstanta, nilai dari hasil perhitungan, atau nilai yangdikirim oleh fungsi. Algoritma pada hakekatnya adalahmemanipulasi nilai yang disimpan di dalam elemenmemori.

� Cara memanipulasi nilai yang dikandung oleh peubah:q Mengisikannya ke peubah lain yang bertipe samaq Dipakai untuk perhitungan (ekspresi)q Dituliskan/dicetak ke piranti keluaran

S1 Teknik Informatika-Unijoyo

Pengisian Nilai ke dalam Nama PeubahPengisian 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 peubah2. 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

PengisianPengisian nilainilai secarasecara langsunglangsung ((assignment)assignment)

� Notasi pengisian nilai secara langsung :� Arti notasi: nilai di sebelah kanan tanda panah

diisikan ke dalam &"’! # di sebelah kiri tandapanah

� Akibat pengisian nilai ke dalam suatu % $ &"’! #,nilai lama yang disimpan di dalam &"’! # “hilang”ditimpa dengan % $ baru. Prinsip yang dipakaiadalah: nilai yang dikandung oleh % $ &"’! #adalah nilai yang terakhir kali diisikan ke dalamnya

S1 Teknik Informatika-Unijoyo

ContohContoh PengisianPengisian NilaiNilai secarasecara langsunglangsung

� Nilai yang diberikan ke dalampeubah dapat berupa konstanta:

Contoh :

Aß5 { Nilai A sama dengan 5 }

� Atau suatu peubah diisi dengannilai dari peubah lain:

Contoh :

Aß B { Nilai A sama dengannilai B }

� Atau suatu peubah diisi dengannilai evaluasi dari sebuahekspresi:

Contoh :

AßB + C { A berisi hasilevaluasi ekspresi B + C }

S1 Teknik Informatika-Unijoyo

peubahß konstanta { nilaikonstanta diisikan kedalam peubah }

peubah1ß peubah2 { nilaikonstanta diisikan kedalam peubah }

peubahß ekspresi { hasilperhitungan diisikan kedalam peubah }

DibacaDibaca daridari pirantipiranti masukanmasukan� Di dalam algoritma, instruksi pembacaan nilai untuk

nama peubah dilakukan dengan notasi read� Notasi algoritma untuk pembacaan nilai dari piranti

masukan:

� Dengan syarat bahwa nama1, nama2, ..., namaN adalahnama peubah yang sudah didefinisikan tipenya di dalamDEKLARASI

S1 Teknik Informatika-Unijoyo

read ( nama1, nama2, ..., namaN )

EkspresiEkspresi� Suatu nilai dipakai untuk proses transformasi menjadi

keluaran yang diinginkan. Transformasi nilai menjadikeluaran dilakukan melalui suatu perhitungan(komputasi). Cara perhitungan itu dinyatakan dalamsuatu ekspresi

� Ekspresi terdiri atas operand dan operator. Operandadalah nilai yang dioperasikan dengan operator tertentu.Operand dapat berupa konstanta, nama peubah, namakonstanta, atau hasil dari suatu fungsi. Hasil evaluasi darisebuah ekspresi adalah nilai di dalam domain yang sesuaidengan tipe operand yang dipakai

� Terdapat dua macam ekspresi:q Ekspresi Aritmatikaq Ekspresi Relasional

S1 Teknik Informatika-Unijoyo

EkspresiEkspresi AritmatikaAritmatika [1][1]� Ekspresi aritmatika/numerik adalah ekspresi yang

operand dan juga hasilnya bertipe numerik. Misaldidefinisikan DEKLARASI sebagai berikut:

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

Tingkatan operator aritmatika (dari tertinggi ke terendah):i. /, div, modii. *iii. +, −

S1 Teknik Informatika-Unijoyo

DEKLARASIa, b, c, d : reale, f, g, h : integer

EkspresiEkspresi AritmatikaAritmatika [2][2]� Contoh-contoh ekspresi yang sudah dikemukakan

merupakan ekspresi biner, yaitu ekspresi yangoperatornya membutuhkan dua buah operand (sehinggaoperatornya 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 “−”, selainmerupakan operator biner, juga adalah satu-satunyaoperator uner dari seluruh operator aritmatika.

S1 Teknik Informatika-Unijoyo

EkspresiEkspresi AritmatikaAritmatika [3][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*

abc/+def*-*S1 Teknik Informatika-Unijoyo

EkspresiEkspresi RelasionalRelasional� Ekspresi dengan operator <,≤, ≥, >, =, dan ≠, not, and, or, dan

xor� Hasil evaluasi ekspresinya: nilai bertipe boolean (true atau

false), sehingga ekspresi relasional kadang-kadang disebut jugaekspresi boolean

� Misal didefinisikan DEKLARASI nama dan tipenya sebagaiberikut:

� Contoh: ketemu telah bernilai false, ada bernilai true, x bernilai 8 dan ybernilai a. Maka:

q not ada ( hasil : false )

q ada or ketemu ( hasil : true )

q ada and true ( hasil : true )

q x < 5 ( hasil : false )

q ada or (x = y) ( hasil : true )S1 Teknik Informatika-Unijoyo

DEKLARASIada, ketemu, besar : booleanx, y : integer

Menuliskan Nilai ke Piranti KeluaranMenuliskan Nilai ke Piranti Keluaran� Nilai yang disimpan oleh

memori dapat ditampilkan kepiranti keluaran (misalnyamonitor)

� Instruksi penulisan nilaidilakukan dengan notasi write

� Dengan catatan bahwa nama1,nama2, ..., namaN dapat berupanama peubah atau nama tetapan

� Dengan instruksi penulisan ini,nilai yang disimpan di dalammemori dituliskan/dicetakkanke piranti keluaran

S1 Teknik Informatika-Unijoyo

write (nama1, nama2, ..., namaN)write (tetapan)write (nama, tetapan, ekspresi)write (ekspresi)

UrutanUrutan ((Sequence)Sequence)

� Algoritma merupakan urutan(sequence) satu atau lebih instruksiyang berarti:

q Tiap instruksi dikerjakan satu per satuq Tiap instruksi dilaksanakan tepat sekali,

tidak ada instruksi yang diulangq Urutan instruksi yang dilaksanakan

pemroses sama dengan urutan instruksisebagaimana yang tertulis di dalam teksalgoritmanya

q Akhir dari instruksi terakhir merupakanakhir algoritma

S1 Teknik Informatika-Unijoyo

UrutanUrutan InstruksiInstruksiTidakTidak BerpengaruhBerpengaruhTerhadapTerhadap HasilHasil KeluaranKeluaran

� Contoh kasus 1 : Urutan instruksi tidakberpengaruh terhadap solusi persoalan

Dibaca dua buah nilai integer dari pirantimasukan, yaitu A dan B.

Hitung jumlah keduanya dan hasil kalikeduanya, kemudian cetak jumlah dan cetakhasil kali itu ke piranti keluaran.

S1 Teknik Informatika-Unijoyo

S1 Teknik Informatika-Unijoyo

UrutanUrutan InstruksiInstruksi BerpengaruhBerpengaruhTerhadapTerhadap HasilHasil KeluaranKeluaran [1][1]� Contoh kasus 2 : Urutan instruksi berpengaruh terhadap solusi

persoalan

Diketahui dua buah nilai integer, masing-masing disimpan didalam dua buah peubah, A dan B. Bagaimana cara mempertukarkannilai 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 }

S1 Teknik Informatika-Unijoyo

UrutanUrutan InstruksiInstruksi BerpengaruhBerpengaruhTerhadapTerhadap HasilHasil KeluaranKeluaran [2][2]

S1 Teknik Informatika-Unijoyo

UrutanUrutan InstruksiInstruksi BerpengaruhBerpengaruhTerhadapTerhadap HasilHasil KeluaranKeluaran [3][3]

Proses pertukaran nilai akan salah jika tidak benar dalammenuliskan 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 }

maka urutan yang terakhir ini sama saja dengan urutan:BßA

AßB

S1 Teknik Informatika-Unijoyo

KesimpulanKesimpulan� Nilai dapat dimanipulasi dengan cara mengisikannya ke

peubah lain yang bertipe sama, dipakai untukperhitungan (ekspresi) atau dituliskan/dicetak ke pirantikeluaran

� Bila hasil perhitungan disimpan dalam nama peubah,maka nama peubah tersebut haruslah bertipe samadengan tipe hasil

� Umumnya bahasa pemrograman mengevaluasi ekspresidalam notasi infix, namun ada beberapa bahasapemrograman tertentu yang dapat menghitung ekspresidalam notasi postfix dan prefix.

� Urutan instruksi dapat tidak berpengaruh terhadap hasilkeluaran, akan tetapi dalam bentuk permasalahan yanglain, urutan dapat berpengaruh terhadap hasil keluaran

S1 Teknik Informatika-Unijoyo

DaftarDaftar PustakaPustaka� Jogiyanto HM [1989]. Turbo Pascal, Yogyakarta: Andi

Offset.� Noor Ifada [2005]. Diktat Matakuliah Algoritma

Pemrograman (Hibah Kompetisi A1), Bangkalan:Jurusan Teknik Informatika, Universitas Trunojoyo.

� Rinaldi Munir [2003]. Algoritma dan Pemrogramandengan Pascal dan C edisi Kedua, Bandung:Informatika.

S1 Teknik Informatika-Unijoyo