234

66
13 Atau dalam algoritma standar ditulis DeskripsiRead(X)Y

Upload: aziz-nugroho

Post on 17-Sep-2015

215 views

Category:

Documents


2 download

DESCRIPTION

Pembahasan

TRANSCRIPT

13Atau dalam algoritma standar ditulisDeskripsiRead(X)Y1YX*YYX*YYX*YWrite(Y)Jika input algoritma (X) adalah 2, maka dengantabel penyimpanan dataPerintahXYOuputRead(X)Y1YX*YYX*YYX*YWrite(Y)21481616Output yang dihasilkan adalah :16Cara ini memangdapat menyelesaikanpermasalahan tersebutdi atas,tapi sangattidak efisien dalam penulisannya. Bayangkan kalau pengulangannya dilakukan sebanyak1000 kali, maka kita harus menulisnya sebanyak seribu kali pula. Tentunya akan sangatmerepotkan. Untuk itu kita perlu mengenal satu lagi algoritma dasar yaitu algoritmapengulangan. Dengan algoritma ini kita cukup menuliskan perintahnya sekali untukpengulangan berapapun banyaknya.

14Bila mengacu pada bahasa pemrograman Pascal, terdapat tiga ekspresi algoritmauntuk pengulangan :1.for-do2.while-do3.repeat-untilNamun demikian, ketiganya memiliki komponen-komponen pengulanganyang samayaitu:-Kondisi pengulangan : Setiap aksi atau kumpulan aksi dikerjakan jika memenuhi kondisitertentu. Selama kondisi terpenuhi aksi akan terusdikerjakan-Badan pengulangan : bagian aksi yang diulang-Nilai awal atau inisialisasi : Pemberian nilai satu atau beberapa variabel sebelumpengulangan dilakukan.2.Pengulangan For-DoAda 2 macam pengulangan for-do, yaitu for-do menaik dan for-do menurun. Berikut iniadalah bentuk umumnya.For-do menaikFor varnilai_awal to nilai_akhir dopernyataanFlowchart for-do menaikFor-do menurunFor variabelnilai_awal downto nilai_akhir doPernyataanpernyataanVarni...nf

15var31Write (Halo)Flowchart for-do menurunKondisi pengulanganforsecara tersirat dapat dilihat padani(nilai_awal)dannf(nilai_akhir); Nilai yang terkandung padavarmula-mula sama dengannilai_awal, kemudianbertambah (berkurang) sebanyak satu, kemudian berhenti setelahvarlebih besar (lebih kecil)nilai_akhir.Karakteristik pengulangan for-do-Aksi mula-mula dilakukan saatvar=nilai_awaldan terakhir saatvar=nilai_akhir.-Var,nilai_awaldannilai_akhirbertipe bilangan bulat (integer)-Setiap selesai satukali pengulanganvarberubah +1 (for-domenaik) atau1 (for-do menurun).-Pengulangan paling sedikit dilakukan sekali, banyaknya pengulangan adalah selisihnilai_awaldannilai_akhirditambah 1Contohfor i1 to 3 doWrite(Halo)Pada perintah di atas, mula-mula i diberi nilai 1. Kemudian perintahwrite(Halo)dikerjakan. Setelah itu i bertambah satu sehingga menjadi 2, dilanjutkan dengan perintahwrite(Halo). Proses yang sama diulang lagi hinggaibernilaitiga,perintahwrite(Halo)dikerjakan. Setelah itu proses pengulangan berhenti disitu.pernyataanVar = ni...nf

16var31Write (Halo)Dengan demikian outputnyadapat kita nyatakan seperti berikut:HaloHaloHaloKita dapat membuat output yangsama seperti di atas dengan for-domenurun.for i3 downto 1 doWrite(Halo)Perbedaannya, pada for-do menaik i berubah dari 1 sebanyak +1 dan berhentisetelah lebih dari 3, sedangkan pada for-do menurun, i berubahdari 3 sebanyak1 hinggaakhirnya berhenti saati kurangdari 1. Cobatentukan bentuk darialgoritma di atas.

173.PerulanganWhile-DoSecara umum algoritmawhile adalah:while dobeginpernyataanendsedangkan bentuk flowchartnyaTeks algoritma dan flowchart di atas menunjukkan bahwa ada pengecekan kondisidulu sebelum aksi berikutnya dilakukan. Aksi di bawahkondisi dikerjakan jika kondisinyaatau lebih tepatnyanilai boolean kondisibernilai benar. Jika kondisi bernilai salah makaproses akan melompat atau mengerjakan aksi yang berada di luar loop.Contoh soal.Buat algoritma menampilkan deret 2, 4, 6, , N. N adalah masukan berupa bilangan genap.Algoritma deretDeklarasiN,x :integerDeskripsiread(N)?Aksiytloop

18x2while x