Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

PERULANGAN (LOOP) Minggu IV

Presentasi serupa


Presentasi berjudul: "PERULANGAN (LOOP) Minggu IV"— Transcript presentasi:

1 PERULANGAN (LOOP) Minggu IV
Wahyu Pujiyono Tehnik Informatika Universitas Ahmad Dahlan

2 Motivasi Sangat banyak kegiatan sehari-hari yang sering diulang.
Contoh : Makan sepiring akan dilakukan sesendok demi sesendok (berulang). Untuk menghitung 2 x 3 dilakukan dengan menjumlah 2 sebanyak 3 kali (2 ditambah 2 ditambah 2)

3 Komputer mempunyai kemampuan untuk menghitung perulangan dengan sangat cepat dan tidak mengenal lelah. Kadang diperlukan suatu kondisi untuk menghitung dengan perulangan sampai presisi tertentu.

4 Konsep Counter Perhatikan penugasan berikut ini : i  i + 1 C++ : i++;
Atau ++i;

5 Konsep Total Misalnya kita diminta untuk menghitung jumlah deret :
Harga awal : i dimulai dengan 0 (unsur identitas penjumlahan)

6 Konsep Total (lanjutan)
Algoritmik : jumlah  0 for i  1 to n do jumlah  jumlah + i C++ : jumlah = 0; for (i = 1; i<=n; i++) jumlah += i;

7 Konsep Total Perkalian
Misalkan kita diminta menghitung : n! = … n = Harga awal : 1 (unsur identitas perkalian)

8 Algoritmik C++ faktorial  1 for i  1 to n do
faktorial  faktorial * i C++ faktorial = 1; for (i = 1; i<=n; i++) faktorial *= i;

9 Pemrograman

10 Kasus 4.1. Cetaklah bilangan 1 sampai 4

11 Perhatikan perbedaan ketiga flowchart berikut :
Mulai for i = 1 to 4 do i Selesai i =1 i = i+1 i <= 4 F T i > 4 Struktur for Struktur while Struktur repeat - until

12

13 Kasus 4.2. Cetaklah bilangan ganjil dari 0 sampai 10
Ide : Bilangan ganjil dari 0 sampai 10 diawali dengan 1, kemudian bertambah dengan 2 atau bilangan ganjil adalah bilangan yang bila dibagi 2 bersisa 1.

14

15 Beberapa cara :

16 Aplikasi Perulangan kerap digunakan untuk menghitung jumlah deret.
Contoh : Hitung jumlah dari : 1+2+3+… + n = Kuncinya : buat pola untuk rumus di sebelah kanan ! Untuk operasi perkalian menggunakan tanda 

17

18

19 Bilangan Fibonacci Bilangan Fibonacci dapat disajikan sebagai berikut : 0, 1, 1, 2, 3, 5, 8, … Dimulai dari suku pertama = 0 dan kedua = 1, suku ketiga adalah jumlah 2 suku pertama. Dalam rumus : F(n) = F(n-1) + F(n-2)

20 Analisis : Ketika kita menghitung suku ke-3 (F(3)) maka suku ke-1 sebenarnya sudah tidak digunakan. Untuk itu kita bisa “menggeser tempat” : f1  f2 f2  f3 Lalu berulang kita hitung suku berikutnya : f3  f2 + f1

21

22 Kasus 4.3. Carilah rata-rata dari n bilangan bulat positif.
Analisis : Rumus rata-rata adalah : yaitu jumlah data dibagi dengan banyaknya data, dengan xi adalah data ke-i.

23

24

25 Sentinel Digunakan bila banyaknya masukan tidak diketahui, tetapi sifat datanya diketahui. Untuk menghentikan masukan, digunakan harga lain. Contoh : Bila masukan harga selalu positif (misalkan nilai mahasiswa), sentinel bisa nol atau harga negatif.

26 Kasus 4.4. Hitunglah rata-rata dari integer positif (banyak data ditentukan dari data yang dimasukkan)

27

28 Kasus 4.7. Hitunglah nilai dari dengan x bilangan real dan y bilangan bulat.
Analisis : = x . x . x . … x (sebanyak y kali) = Input : x dan y Output : hasil x pangkat y

29

30

31 Hanya saja, algoritma ini khusus untuk y > 0.
Bahan kuis : Sempurnakan algoritma tersebut agar dapat menghitung pangkat y negatif.

32 Kasus 4.8. Hitunglah axb dengan metode penjumlahan
Analisis : axb = a + a + … + a (sebanyak b kali) = Ini berlaku untuk a positif maupun negatif Bagaimana bila b negatif ?

33 Karena loop “tidak pernah negatif” maka harus dimanipulasi perulangan yang “selalu” positif.
Untuk itu nilai b menjadi abs(b) Kemudian khusus untuk b < 0, jumlah yang sudah diperoleh dinegatifkan Ingat : ax(-b) = ax(-1)xb = -axb

34

35 Loop Invariant Loop invariant digunakan untuk membuktikan bahwa loop for adalah benar Karakteristik : Benar pada suatu titik (pernyataan) pada setiap iterasi loop Benar bila loop berhenti membuktikan loop bekerja secara benar.

36 Contoh : program untuk mencari nilai minimum dari sederetan input

37 Kondisi : min <= n selalu benar sebab sebelum pernyataan if mengubah harga min jika harga input terakhir dari n kurang dari harga min sebelumnya. Kondisi : min satu dari n harga selalu benar sebab min diawali dengan harga pertama dan min berubah harganya hanya bila harga input n yang baru lebih kecil dari min. Akhirnya : kondisi benar ketika loop berakhir diperoleh nilai minimum dari semua input

38 Latihan Buatlah algoritma dan program untuk mencetak bilangan yang habis dibagi 3 dan 5 antara 1 sampai dengan 100. Hitunglah nilai dari : [Sentinel] Buatlah algoritma untuk menentukan nilai terkecil, terbesar, dan jumlah semua bilangan positif yang dimasukkan.

39 Tugas Kelompok Buat simulasi membeli bahan bakar dengan spesifikasi :
Input berupa : uang/berapa liter yang akan dibeli Jenis bahan bakar yang akan dibeli Indikator akan berlangsung terus (kenaikkan 0.1liter) selama total harga/jumlah liter bahan bakar yang dibeli belum melebihi permintaan Output menyatakan : Jumlah liter yang dibeli (bila input berupa uang) Total uang yang harus dibayar (bila input berupa liter)


Download ppt "PERULANGAN (LOOP) Minggu IV"

Presentasi serupa


Iklan oleh Google