Urutan (Sequence) Ery Setiyawan Jullev A
Sub Pokok Bahasan Nilai Pengisian Nilai kedalam peubah Ekspresi Menuliskan nilai ke piranti keluaran Urutan (Sequence) Urutan instruksi tidak berpengaruh terhadap hasil keluaran Urutan instruksi berpengaruh terhadap hasil keluaran
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
Pengisian nilai kedalam nama peubah Pengisian nilai secara langsung (assigment) Pengisian nilai secara langsung adalah memasukkan sebuah nilai ke dalam nama peubah langsung di dalam teks algoritma. Syaratnya, nilai yang diisikan harus bertipe sama dengan tipe peubah 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
2.Dibaca dari piranti Masukan (input device) Nilai untuk nama peubah dapat diisi dari piranti masukan, misalnya dari keyboard. Mengisi nilai dari piranti masukan dinamakan operasi pembacaan data. 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
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: Ekpresi Arithmatic : Ekspresi aritmatika/numerik adalah ekspresi yang operand dan juga hasilnya bertipe numerik. Misalkan didefinisikan DEKLARASI sebagai berikut: Tingkatan operator aritmatika adalah (dari tertinggi ke terendah): /, div, mod * +,-
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, yaitu ekspresi dengan satu buah operand, misalnya -a -a*(b+c) (−a adalah ekspresi uner). Operator “−”, selain merupakan operator biner, juga adalah satu-satunya operator uner dari seluruh operator aritmatika.
Ekspresi Relasional Ekspresi relasional adalah ekspresi dengan operator <, ≤, >, ≥, =, dan ≠, not, and, or, dan xor. Hasil evaluasi ekspresinya adalah nilai bertipe boolean (true atau false), sehingga ekspresi relasional kadang-kadang disebut juga ekspresi boolean. Misalkan didefinisikan DEKLARASI nama dan tipenya sebagai berikut: misalkan pula 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 )
Urutan (sequence / routine) Algoritma merupakan urutan (sequence) satu atau lebih instruksi yang berarti bahwa: 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 Instruksi Tidak Berpengaruh Terhadap Hasil Keluaran Urutan instruksi di dalam algoritma adalah penting. Urutan instruksi menunjukkan urutan logika penyelesaian masalah. Bergantung pada masalahnya, urutan instruksi yang berbeda mungkin tidak ada pengaruhnya terhadap penyelesaian persoalan, tetapi mungkin juga menghasilkan keluaran yang berbeda pula. Artinya dalam suatu permasalahan boleh jadi jika urutan instruksi diubah, maka tidak akan menghasilkan keluaran yang berbeda.
Contoh Kasus 1 Urutan instruksi tidak berpengaruh terhadap solusi persoalan Dibaca dua buah nilai integer dari piranti masukan, A dan B. Hitung jumlah keduanya dan hasil kali keduanya, kemudian cetak jumlah dan cetak hasil kali itu ke piranti keluaran.
Urutan Instruksi Berpengaruh Terhadap Hasil Keluaran 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
Pada pertukaran nilai A dan B, diandaikan nilai A dan B dibaca terlebih dahulu dari piranti masukan (atau diisi dengan cara pengisian langsung, atau hasil dari suatu ekspresi lain):
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 sebagai berikut : 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
PERTANYAAN?