![Page 1: AlPro 04 [Nilai & urutan] - My lecturing weblog · read (nama1, nama2, ..., namaN) Dibaca dari piranti masukan S1 Teknik Informatika-Unijoyo 8 Suatu nilai dipakai untuk proses transformasi](https://reader037.vdokumen.com/reader037/viewer/2022100516/5c93f97f09d3f2c2238b9cf6/html5/thumbnails/1.jpg)
1
S1 Teknik Informatika-Unijoyo 1
Algoritma Pemrograman
Pertemuan Ke-4(Nilai dan Urutan [Sequence])
:: Noor Ifada ::
S1 Teknik Informatika-Unijoyo 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
![Page 2: AlPro 04 [Nilai & urutan] - My lecturing weblog · read (nama1, nama2, ..., namaN) Dibaca dari piranti masukan S1 Teknik Informatika-Unijoyo 8 Suatu nilai dipakai untuk proses transformasi](https://reader037.vdokumen.com/reader037/viewer/2022100516/5c93f97f09d3f2c2238b9cf6/html5/thumbnails/2.jpg)
2
S1 Teknik Informatika-Unijoyo 3
� 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
Nilai
S1 Teknik Informatika-Unijoyo 4
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 dengantipe peubah
2. Dibaca dari piranti masukan:
� Nilai untuk nama peubah dapat diisi dari piranti
masukan, misalnya dari keyboard
� Mengisi nilai dari piranti masukan dinamakan operasipembacaan data
Pengisian Nilai ke dalam Nama Peubah
![Page 3: AlPro 04 [Nilai & urutan] - My lecturing weblog · read (nama1, nama2, ..., namaN) Dibaca dari piranti masukan S1 Teknik Informatika-Unijoyo 8 Suatu nilai dipakai untuk proses transformasi](https://reader037.vdokumen.com/reader037/viewer/2022100516/5c93f97f09d3f2c2238b9cf6/html5/thumbnails/3.jpg)
3
S1 Teknik Informatika-Unijoyo 5
� 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
Pengisian nilai secara langsung (assignment)
S1 Teknik Informatika-Unijoyo 6
� 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 }
peubah1 ← peubah2 { nilai
konstanta diisikan ke
dalam peubah }
peubah ← ekspresi { hasil
perhitungan diisikan ke
dalam peubah }
peubah ← konstanta { nilai
konstanta diisikan ke
dalam peubah }
Contoh Pengisian Nilai secara langsung
![Page 4: AlPro 04 [Nilai & urutan] - My lecturing weblog · read (nama1, nama2, ..., namaN) Dibaca dari piranti masukan S1 Teknik Informatika-Unijoyo 8 Suatu nilai dipakai untuk proses transformasi](https://reader037.vdokumen.com/reader037/viewer/2022100516/5c93f97f09d3f2c2238b9cf6/html5/thumbnails/4.jpg)
4
S1 Teknik Informatika-Unijoyo 7
� 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 adalah nama peubah yang sudah didefinisikan tipenya
di dalam DEKLARASI
read(nama1, nama2, ..., namaN)
Dibaca dari piranti masukan
S1 Teknik Informatika-Unijoyo 8
� 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
Ekspresi
![Page 5: AlPro 04 [Nilai & urutan] - My lecturing weblog · read (nama1, nama2, ..., namaN) Dibaca dari piranti masukan S1 Teknik Informatika-Unijoyo 8 Suatu nilai dipakai untuk proses transformasi](https://reader037.vdokumen.com/reader037/viewer/2022100516/5c93f97f09d3f2c2238b9cf6/html5/thumbnails/5.jpg)
5
S1 Teknik Informatika-Unijoyo 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. +, −−−−
S1 Teknik Informatika-Unijoyo 10
� 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.
Ekspresi Aritmatika [2]
![Page 6: AlPro 04 [Nilai & urutan] - My lecturing weblog · read (nama1, nama2, ..., namaN) Dibaca dari piranti masukan S1 Teknik Informatika-Unijoyo 8 Suatu nilai dipakai untuk proses transformasi](https://reader037.vdokumen.com/reader037/viewer/2022100516/5c93f97f09d3f2c2238b9cf6/html5/thumbnails/6.jpg)
6
S1 Teknik Informatika-Unijoyo 11
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*-*
Ekspresi Aritmatika [3]
S1 Teknik Informatika-Unijoyo 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 )
ada or (x = y) ( hasil : true )
![Page 7: AlPro 04 [Nilai & urutan] - My lecturing weblog · read (nama1, nama2, ..., namaN) Dibaca dari piranti masukan S1 Teknik Informatika-Unijoyo 8 Suatu nilai dipakai untuk proses transformasi](https://reader037.vdokumen.com/reader037/viewer/2022100516/5c93f97f09d3f2c2238b9cf6/html5/thumbnails/7.jpg)
7
S1 Teknik Informatika-Unijoyo 13
� 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)
Menuliskan Nilai ke Piranti Keluaran
S1 Teknik Informatika-Unijoyo 14
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
Urutan (Sequence)
![Page 8: AlPro 04 [Nilai & urutan] - My lecturing weblog · read (nama1, nama2, ..., namaN) Dibaca dari piranti masukan S1 Teknik Informatika-Unijoyo 8 Suatu nilai dipakai untuk proses transformasi](https://reader037.vdokumen.com/reader037/viewer/2022100516/5c93f97f09d3f2c2238b9cf6/html5/thumbnails/8.jpg)
8
S1 Teknik Informatika-Unijoyo 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, yaituA dan B.
Hitung jumlah keduanya dan hasil kali keduanya, kemudian cetak jumlah dan cetak hasil kali itu ke piranti keluaran.
S1 Teknik Informatika-Unijoyo 16
Algoritma URUTAN_1
{ Contoh algoritma yang menghasilkan
keluaran yang sama jika urutan
instruksi diubah. }
DEKLARASI
A, B, C, D : integer
DESKRIPSI :
read(A,B)
C←A+B
D←A*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)
D←A*B
C←A+B
write(C,D)
![Page 9: AlPro 04 [Nilai & urutan] - My lecturing weblog · read (nama1, nama2, ..., namaN) Dibaca dari piranti masukan S1 Teknik Informatika-Unijoyo 8 Suatu nilai dipakai untuk proses transformasi](https://reader037.vdokumen.com/reader037/viewer/2022100516/5c93f97f09d3f2c2238b9cf6/html5/thumbnails/9.jpg)
9
S1 Teknik Informatika-Unijoyo 17
Urutan Instruksi Berpengaruh Terhadap Hasil Keluaran [1]
� Contoh kasus 2 : Urutan instruksi berpengaruh terhadap solusi persoalanDiketahui 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←AA←Bmaka 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 18
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 }
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 }
write(A,B) { mencetak nilai A dan B setelah
pertukaran }
MULAI
A = B
C = A
Cetak A,B
(sebelum pertukaran)
SELESAI
B = C
Cetak A,B
(setelah pertukaran)
Baca A, B
Urutan Instruksi Berpengaruh Terhadap Hasil Keluaran [2]
![Page 10: AlPro 04 [Nilai & urutan] - My lecturing weblog · read (nama1, nama2, ..., namaN) Dibaca dari piranti masukan S1 Teknik Informatika-Unijoyo 8 Suatu nilai dipakai untuk proses transformasi](https://reader037.vdokumen.com/reader037/viewer/2022100516/5c93f97f09d3f2c2238b9cf6/html5/thumbnails/10.jpg)
10
S1 Teknik Informatika-Unijoyo 19
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 }
maka urutan yang terakhir ini sama saja dengan urutan:B←A
A←B
Urutan Instruksi Berpengaruh Terhadap Hasil Keluaran [3]
S1 Teknik Informatika-Unijoyo 20
• Nilai dapat dimanipulasi dengan cara mengisikannya ke peubah
lain yang bertipe sama, dipakai untuk perhitungan (ekspresi) atau dituliskan/dicetak ke piranti keluaran
• Bila hasil perhitungan disimpan dalam nama peubah, maka nama peubah tersebut haruslah bertipe sama dengan tipe hasil
• Umumnya bahasa pemrograman mengevaluasi ekspresi dalam notasi infix, namun ada beberapa bahasa pemrograman tertentu
yang dapat menghitung ekspresi dalam notasi postfix dan prefix.
• Urutan instruksi dapat tidak berpengaruh terhadap hasil keluaran, akan tetapi dalam bentuk permasalahan yang lain, urutan dapat berpengaruh terhadap hasil keluaran
Summary
![Page 11: AlPro 04 [Nilai & urutan] - My lecturing weblog · read (nama1, nama2, ..., namaN) Dibaca dari piranti masukan S1 Teknik Informatika-Unijoyo 8 Suatu nilai dipakai untuk proses transformasi](https://reader037.vdokumen.com/reader037/viewer/2022100516/5c93f97f09d3f2c2238b9cf6/html5/thumbnails/11.jpg)
11
S1 Teknik Informatika-Unijoyo 21
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 Pemrograman dengan Pascal dan C edisi Kedua, Bandung: Informatika.
Daftar Pustaka