View
222
Download
0
Category
Preview:
Citation preview
AlgoritmaAlgoritma PemrogramanPemrogramanPertemuan Ke-4Urutan (sequence)
Rahmady Liyantanto
liyantanto88@yahoo.comliyantanto.wordpress.com
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
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
Recommended