• Tidak ada hasil yang ditemukan

Document - IKK113105 - STMIK EL RAHMA 03.ITERASI

N/A
N/A
Protected

Academic year: 2017

Membagikan "Document - IKK113105 - STMIK EL RAHMA 03.ITERASI"

Copied!
8
0
0

Teks penuh

(1)

MODUL MATA KULIAH LOGIKA DAN ALGORITMA

STIMIK EL RAHMA JOGJAKARTA 2015

JURUSAN : SISTEM INFORMASI SEMESTER GENAP 2015

Materi : ITERASI

Iterasi adalah sifat tertentu dari algoritma atau program komputer di mana suatu urutan atau lebih dari langkah algoritmik yang dilakukan di loop program.

Iterasi dapat diartikan sebagai suatu proses atau metode yang digunakan secara berulang-ulang (pengberulang-ulangan) dalam menyelesaikan suatu permasalahan matematik.

Salah satu kelebihan komputer dibandingkan dengan manusia adalah kemampuannya untuk mengulang suatu instruksi, bahkan aksi, secara berulang-ulang dengan performansi yang sama. Berbeda dengan manusia yang cenderung melakukan kesalahan jika melakukan hal yang sama karena lelah atau bosan.

Struktur pengulangan secara umum terdiri dari dua bagian :

1. Kondisi pengulangan, yaitu ekspresi boolean yang harus dipenuhi untuk melaksanakan pengulangan. Kondisi ini ada yang dinyatakan secara ekplisit oleh pemrogram atau dikelola sendiri oleh komputer (implisit).

2. Badan pengulangan, yaitu aksi/pernyataan yang harus diulang selama kondisi yang ditentukan untuk pengulangan masih dipenuhi.

Disamping itu, struktur pengulangan biasanya disertai dengan bagian :

1. Inisialisasi, yaitu aksi yang dilakukan sebelum pengulangan dilakukan pertama kali. 2. Terminasi, yaitu aksi yang dilakukan setelah pengulangan selesai dilaksanakan. Insialisasi dan terminasi tidak selalu harus ada, namun pada berbagai kasus inisisalisasi umumnya diperlukan.

Struktur pengulangan secara umum :

<inisialisasi> awal pengulangan

badan pengulangan akhir pengulangan

<terminasi>

(2)

Struktur Kontrol pengulangan terdiri dari : a. Pernyataan FOR

b. Pernyataan WHILE a. Pernyataan REPEAT 5.1 Pernyataan FOR

Adalah pengulangan yang paling sederhana. Pengulangan ini dipakai jika kita mengetahui berapa kali pengulangan akan dilakukan.

Bentuk umum pernyataan FOR ada dua macam, yaitu menaik (ascending) atau menurun (descending).

FOR menaik

Bentuk umum struktur kontrol FOR menaik ini, dapat dirumuskan dengan : Notasi Algoritmik :

FOR (nama_pencacahnilai_awal) TO (nilai_akhir) DO

(aksi/pernyataan) EndFor

Keterangan:

 Aksi/pernyataan adalah satu atau lebih instruksi yang diulang.

Keterangan:

Nilai_awal dan nilai_akhir pada umumnya bilangan integer atau karakter, asal nilai_akhir ≥ nilai_awal

 Pengulangan dilaksanakan berulang-ulang tanpa kondisi atau syarat apapun dengan jumlah ulangan= nilai_akhir – nilai_awal + 1

 Pada awalnya, pencacah diinisialisasi dengan nilai_awal. Nilai pencacah secara otomatis bertambah satu setiap kali badan pengulangan dimasuki, sampai akhirnya nilai pencacah = nilai_akhir.

Notasi Pascal :

Contoh :

for (nama_pencacah:=nilai_awal) to (nilai_akhir) do begin

(3)

Misalkan kita ingin mencetak angka 1 sampai 10, maka algoritma dan programnya adalah :

Algoritmik :

Program Tulis_nomor Deklarasi :

nomor: integer Algoritma :

FOR nomor1 To 10 DO

write(nomor)

EndFor

Pascal :

Program Tulis_nomor; Var

nomor : integer; Begin

for nomor:= 1 to 10 do

writeln(nomor); end.

FOR menurun

Bentuk umum struktur kontrol FOR menurun ini, dapat dirumuskan dengan : Notasi Algoritmik :

FOR (nama_pencacahnilai_awal) DOWNTO

(nilai_akhir) DO

(aksi/pernyataan)

EndFor

Keterangan:

(4)

Nilai_awal dan nilai_akhir pada umumnya bilangan integer atau karakter, asal nilai_awal ≥ nilai_akhir

 Pengulangan dilaksanakan berulang-ulang tanpa kondisi atau syarat apapun dengan jumlah ulangan= nilai_awal – nilai_akhir + 1.

 Pada awalnya, pencacah diinisialisasi dengan nilai_awal. Nilai pencacah secara otomatis berkurang satu setiap kali badan pengulangan dimasuki, sampai akhirnya nilai pencacah = nilai_akhir.

Notasi Pascal :

Contoh :

Misalkan kita ingin meghitung mundur angka dari 10 sampai 1, maka algoritma dan programnya adalah :

Algoritmik :

Program hitung_mundur Deklarasi :

nomor: integer Algoritma :

FOR nomor10 Downto 1 DO

write(nomor)

EndFor Pascal :

Program Hitung_mundur; Var

nomor : integer; Begin

for nomor:= 10 downto 1 do

writeln(nomor); end.

for (nama_pencacah:=nilai_awal) downto (nilai_akhir) do begin

(5)

5.2 Pernyataan WHILE

Bentuk umum struktur kontrol WHILE dapat dirumuskan dengan :

Keterangan:

 Pengulangan bisa tidak dilakukan , jika pada saat awal, kondisi_pengulangan tidak terpenuhi (false).

 Tidak mengetahui berapa kali pengulangan akan dikerjakan

 Kondisi pengulangan akan diperiksa sebelum masuk ke aksi / pernyataan.

 Pengulangan akan dilaksanakan berulang-ulang jika kondisi_pengulangan dipenuhi (true).

 Di dalam pernyataan, harus ada instruksi yang mengubah nilai kondisi agar pengulangan berhenti.

Notasi Pascal :

Contoh :

Buat algoritma/program untuk menampilkan angka sesuai dengan angka yang di-input dari keyboard. Program akan berhenti jika user meng-input angka 0 ;

Algoritmik :

Program CetakAngka Deklarasi :

i,angka: integer Algoritma :

write('Masukan angkanya: ') read(angka)

i1

While (angka ≠ 0) do

write(‘Angka yang anda input:’, angka) write('Masukan angkanya: ')

WHILE (kondisi_pengulangan) DO

(aksi/pernyataan)

EndWhile

while (kondisi_pengulangan) do begin

(6)

read(angka) dikerjakan minimal satu kali , karena pernyataan dilaksanakan terlebih dahulu kemudian baru diperiksa kondisi berhenti.

 Aksi / pernyataan akan dikerjakan berulang-ulang dan akan berhenti jika kondisi berhenti terpenuhi

 Tidak mengetahui berapa kali pengulangan akan dikerjakan

 Di dalam pernyataan, harus ada instruksi yang mengubah nilai kondisi agar pengulangan berhenti..

Notasi Pascal :

(7)

Kesimpulan :

FOR digunakan untuk proses pengulangan yang jumlah pengulangannya dapat diketahui diawal.

WHILE fungsinya sama seperti FOR, tetapi WHILE juga dapat digunakan untuk proses yang jumlah pengulangannya tidak dapat ditentukan sebelum eksekusi.

REPEAT fungsinya sama seperti WHILE, kita dapat menggunakan WHILE maupun REPEAT untuk masalah-masalah tertentu. Tetapi, pada beberapa masalah, pemilihan WHILE atau REPEAT bergantung kepada persoalannya. Ini artinya, ada masalah yang hanya benar bila menggunakan struktur WHILE, tetapi bisa fatal bila menggunakan REPEAT.

Untuk mengetahui struktur mana yang lebih tepat, kita harus mengetahui perbedaannya, yaitu :

 Pada Konstruksi REPEAT, kondisi pengulangan diperiksa pada akhir pengulangan. Jadi instruksi di dalam badan pengulangan dilaksanakan dulu, baru pemeriksaan kondisi dilakukan. Konsekuensinya badan pengulangan dilaksanakan paling sedikit satu kali.

 Pada konstruksi WHILE, kondisi pengulangan diperiksa di awal pengulangan. Jadi instruksi didalam badan pengulangan hanya dapat dilaksanakan jika pemeriksaan kondisi menghasilkan nilai true. Konsekuensinya badan pengulangan mungkin tidak akan pernah dilaksanakan, bila kondisi pengulangan pertama kali bernilai false.

Jadi :

→ Gunakan konstruksi WHILE pada kasus yang mengharuskan terlebih dahulu pemeriksaan kondisi objek sebelum objek tersebut dimanipulasi

→ Gunakan konstruksi REPEAT pada kasus yang terlebih dahulu memanipulasi objek, baru kemudian memeriksa kondisi objek tersebut.

Latihan

1. Tuliskanlah algoritma untuk menentukan nilai terkecil dari N buah data integer yang dibaca dari papan ketik. Nilai N dibaca terlebih dahulu (N>0)

2. Buat algoritma/program untuk menampilkan kata “Saya sedang belajar pemrograman” sebanyak 50 kali.

3. Buat algoritma/program untuk menulis angka deret tambah mulai dari angka 0 hingga 100 dengan pertambahan 10.

Sehingga tampilan output di layar :

0 10 20 30 40 50 60 70 80 90 100 (dengan selang 2 spasi diantara angka-angka itu).

(8)

Bilangan asli adalah bilangan bulat dimulai dari 1,2,3,….

5. Buat algoritma/program untuk membuat Daftar telepon. Daftar Telepon berisi Nama dan No.Telp. Pertama kali dibaca berapa jumlah data Nama dan No.Telp yang akan diinput, kemudian masukan data Nama dan No.Telp sesuai dengan jumlah data yang dibaca dari keyboard.

6. Buat algoritma/program untuk menghitung nilai rata-rata dari N buah data bilangan bulat yang dibaca dari keyboard. Nilai rata-rata adalah jumlah seluruh data dibagi dengan banyaknya data.

Referensi

Dokumen terkait

Data D2 yang tidak masuk pada D3 Serdos Gelombang 201602 ini akan dicek kembali pada database di PDPT untuk penyusunan data D3 Serdos selanjutnya.. PT dapat mengusulkan dosen yang

[r]

Data D2 yang tidak masuk pada D3 Serdos Gelombang 201602 ini akan dicek kembali pada database di PDPT untuk penyusunan data D3 Serdos selanjutnya.. PT dapat mengusulkan dosen yang

[r]

DETIL DATA D2 BELUM MASUK D3 TAHUN 2016 GELOMBANG 201602 PT Pengusul (PTU): SEKOLAH TINGGI ILMU EKONOMI AHMAD DAHLAN JAKARTA3. Halaman: 1 Tampilkan

Pokja ULP/ Panitia Pengadaan pada Badan Pusat Statistik Kabupaten Nagekeo Program Peningkatan Sarana dan Prasarana Aparatur Badan Pusat Statistik, Kegiatan Revitalisasi Gedung

Surat Dukungan Distributor, Surat Pernyataan Garansi Barang, dan Surat Pernyataan Jaminan Barang tidak sama dengan Nama Perusahaan yang di beri Surat Dukungan, Garansi dan

[r]