Anda di halaman 1dari 38

M4 - ALGORITMA DAN PEMROGRAMAN 2

(PROCESSING)

LOOPING &
FUNCTION
Presented by Antonius Angga Kurniawan, ST.,MMSI.
Main Topics
Points to talk about
Pengenalan Iteration
While Loop dan For Loop
Pengenalan Function
Deklarasi dan definisi Function
Memanggil Function
Latihan Mandiri
Think about it:

REPETITION IS THE REALITY


AND THE SERIOUSNESS OF
LIFE.
SOREN KIERKEGAARD

Presented by Antonius Angga Kurniawan


What is
Iterasi?
the Suatu proses atau metode yang
digunakan secara berulang-ulang
iteration? (pengulangan) untuk menyelesaikan
suatu permasalahan.

(1)

Presented by Antonius Angga Kurniawan


Iterasi pada
komputer/pemrograman?

What is Sifat tertentu dari algoritma atau program


komputer di mana suatu urutan atau lebih

the dari langkah algoritmik dilakukan dengan


looping program (perulangan).

iteration? Perulangan merupakan konsep dasar

(2)
dalam pemrograman komputer dan
dengan itu kita akan merasakan sebagai
coders sangat menyenangkan karena
adanya iterasi.

Presented by Antonius Angga Kurniawan


Beberapa Fungsi Iterasi
Memadatkan atau mengurangi panjang
fungsi kode yang berulang.
Dengan mengurangi panjang kode
dari dapat membuat program:
Lebih mudah dikelola,

iterasi... Dapat mengurangi kesalahan.

Presented by Antonius Angga Kurniawan


CONTOH PENGGUNAAN ITERASI

No iteration Used iteration dengan for

Outputnya sama
namun program 2
lebih simple.
Tipe Looping

While Loop
SEMAKIN MENARIK NIH... ^^

Presented by Antonius Angga Kurniawan


Pendahuluan
Terdapat 3 jenis atau tipe looping, yaitu while
loop, do-while loop, dan for loop. Pertama kita
akan bahas mengenai while loop, karena
sebenarnya satu-satunya loop yang kita
perlukan hanya while loop.

Namun, for loop dapat menjadi sebuah


alternatif yang nyaman digunakan pada operasi-
operasi perhitungan sederhana.

Untuk do-while loop sangat jarang digunakan


untuk itu tidak perlu dilakukan pembahasan.
While Loop Condition
Sama seperti kondisi if/else, while loop condition menerapkan kondisi
dengan konsep boolean (true & false). Jika kondisi bernilai true, maka
instruksi yang berada di dalam curly bracket { } akan dijalankan. Jika false
maka program akan melanjutkan ke baris kode berikutnya.

Perbedaannya di sini adalah bahwa


Lalu perbedaannya instruksi di dalam blok while loop terus
dengan if/else apa? dieksekusi berulang-ulang sampai kondisi
menjadi false.
Illustration of While Loop

END
Always repeat until condition is FALSE.
Example (1) Anggaplah kita ingin membuat garis secara berulang dengan
bentuk yang sama, serta menggunakan variables. Kemudian kita
berhasil membuat kodenya seperti ini:
1
2

Lanjutan dari
kode pertama
disamping.

Presented by Antonius Angga Kurniawan


Example (2)
Dari kode yang ada, maka akan dihasilkan
output seperti pada Gambar di bawah. Sekarang dengan
Solution? pengetahuan kita tentang
keberadaan while loop,
kita dapat menulis ulang
kode yang sebelumnya,
Tapi coba bayangkan, berapa
dengan menambahkan 1
baris kode yang harus kalian
variable untuk
buat secara berulang-ulang
menampung nilai, kapan
untuk membuat garis seperti
suatu program harus
pada Gambar.
berhenti looping. Yaitu
pada pixel berapa sebuah
garis berhenti dibuat.

Presented by Antonius Angga Kurniawan


Solution (1)

Code yang sudah


dimodifikasi, namun
tetap menghasilkan
output yang sama.

Presented by Antonius Angga Kurniawan


Solution (2)
Alih-alih menulis baris kode "line(x,y,x,y + len);" berkali-kali seperti yang kita lakukan pada kode
awal. Sekarang kita menulisnya hanya 1 kali di dalam while loop, selama x kurang dari 150, buat
garis pada x, sambil terus menambahkan x nya. Sehingga baris kode yang dihasilkan menjadi lebih
sedikit dibandingkan dengan kode sebelumnya.

Presented by Antonius Angga Kurniawan


Tipe Looping

For Loop
ADA SATU LAGI NIH... ^^

Presented by Antonius Angga Kurniawan


For Loop Condition
Sebuah gaya tertentu dari while loop adalah di mana satu nilai ditambahkan
berulang kali merupakan cara yang sangat umum. For loop menjadi pintasan
yang bagus untuk proses loop yang biasa terjadi. Berikut adalah beberapa loop
umum yang mungkin akan kalian tulis di Processing dan bagaimana mereka
ditulis sebagai for loop.
FOR LOOP TERDIRI DARI 3 BAGIAN

Initialization Boolean Test


Di sini, variabel dideklarasikan dan Ini persis sama dengan tes boolean yang
diinisialisasi untuk digunakan dalam ditemukan dalam conditional if dan
bagian dari loop. Variabel ini paling while loop. Itu bisa berupa ekspresi apa
sering digunakan di dalam loop sebagai pun yang mengevaluasi benar atau salah.
penghitung/counter.

Iteration Expression
Elemen terakhir adalah instruksi yang Anda inginkan terjadi
pada setiap siklus loop. Perhatikan bahwa instruksi dijalankan
pada akhir setiap siklus melalui loop.
Illustration of For Loop

Dalam bahasa Indonesia, kode di atas


berarti: ulangi kode ini 10 kali. Atau lebih
sederhananya: hitung dari nol hingga
sembilan!
Illustration of For Loop

Untuk mesin, kode di atas berarti:


Deklarasikan variabel i, dan set initial value
nya 0.
Saat i kurang dari 10, ulangi kode ini.
Di akhir setiap iterasi, tambahkan 1 ke i.
Illustration of For Loop

Note:
For loop dapat memiliki variabel sendiri hanya
untuk tujuan penghitungan. Variabel yang tidak
dideklarasikan di bagian atas kode disebut
variabel lokal.
Cara pintas untuk menambahkan
atau mengurangi satu dari sebuah
Increment variabel adalah sebagai berikut:

/
Decrement
Operator

Presented by Antonius Angga Kurniawan


Example (1)

Program di atas adalah contoh program for loop yang


diterjemahkan ke dalam kode while loop.

Buatlah penulisan kode untuk membuat garis berulang seperti pada


contoh while loop sebelumnya menggunakan perintah for loop?
Solution (1)

Dengan menggunakan perintah for loop kita juga dapat menghasilkan output yang
sama dengan fungsi while loop.
Function
MASIH SEMANGAT NGGA? HARUS MASIH YA.. ^^
Pendahuluan
Processing sangat bagus karena kita dapat membuat sketsa visual yang menarik
dengan jumlah kode yang kecil. Tetapi ketika kita bergerak maju untuk melihat
proyek yang lebih kompleks, seperti aplikasi jaringan atau image processing
program, kita akan mulai memiliki ratusan baris kode bahkan lebih. Dan sejumlah
besar kode ini dapat terbukti sulit digunakan di dalam dua blok utama di dalam
processing— setup() dan draw().

Function adalah sarana untuk mengambil bagian-bagian dari program yang


dibuat dan memisahkannya menjadi potongan-potongan modular, membuat
kode menjadi lebih mudah dibaca, serta untuk diperbaiki.
Pendahuluan
Mari kita pertimbangkan video game Space Invaders. Langkah-langkah untuk
membuatnya draw() mungkin terlihat seperti:

Erase background
Draw spaceship
Draw enemies
Move spaceship according to
user keyboard interaction
Move enemies
translated to actual
code used function.
pseudocode Kode di atas menunjukkan bagaimana fungsi
akan membuat hidup kita lebih mudah
dengan kode yang jelas dan mudah dikelola.
Pendahuluan
Mari kita pertimbangkan video game Space Invaders. Langkah-langkah untuk
membuatnya draw() mungkin terlihat seperti:

Erase background
Draw spaceship
Draw enemies
Move spaceship according to
user keyboard interaction
Move enemies
translated to actual
code used function.
pseudocode Kode di atas menunjukkan bagaimana fungsi
akan membuat hidup kita lebih mudah
dengan kode yang jelas dan mudah dikelola.
Modularity, Function memecah program yang
lebih besar menjadi bagian-bagian yang lebih
kecil, membuat kode lebih mudah dikelola dan

Mengapa dibaca.

menulis Setelah kita menemukan cara menggambar


spaceship(pesawat ruang angkasa), misalnya,
function kita dapat mengambil potongan kode gambar
pesawat ruang angkasa, menyimpannya ke
kita sendiri dalam suatu function, dan memanggil

sangat function itu kapan saja diperlukan (tanpa harus


khawatir tentang detail operasi itu sendiri).
penting?
Itulah yang disebut modularity.

Presented by Antonius Angga Kurniawan


Mengapa Reusability, Function memungkinkan kita

menulis menggunakan kembali kode tanpa harus


mengetik ulang. Bagaimana jika kita ingin

function membuat game Space Invaders dua pemain


dengan dua pesawat ruang angkasa? Kita
kita sendiri dapat menggunakan kembali fungsi
drawSpaceShip() dengan memanggilnya
sangat berkali-kali tanpa harus mengulang kode
berulang kali.
penting?

Presented by Antonius Angga Kurniawan


"User Defined"
Di Processing kita sudah menggunakan beberapa
function selama ini. Yang paling umum dan sering
kita gunakan adalah function line(). Fungsi
tersebut tidak secara ajaib muncul untuk
menampilkan sebuah garis, namun seseorang
sudah ada yang membuat dan menyimpan fungsi
tersebut di suatu tempat untuk dipanggil.

Sekarang saatnya kita mendefinisikan sendiri


sebuah function dengan buatan kita
sendiri/buatan pengguna sendiri "user defined".
Function Name

Defining a
Function Return Type

Untuk Return Type dan Arguments akan saya jelaskan

Function memiliki 3 bagian: nanti saja ya, karena lebih baik saya jelaskan secara
langsung. Karena jika hanya saya berikan materinya saja,
biasanya tidak tersampaikan dengan baik isi materinya.

Arguments
Perintah dasar membuat function.

Kode
membuat
Sebelumnya kita pernah menggunakan setup()
dan draw(), keduanya adalah fungsi yang
didefinisikan dan dipanggil secara otomatis oleh
Function Processing untuk menjalankan sketsa. Semua
fungsi lain yang ditulis harus dipanggil oleh
melalui setup() atau draw().

Presented by Antonius Angga Kurniawan


Mendefinisikan function

functionName
Memanggil function

Presented by Antonius Angga Kurniawan


Example (1)

Ubahlah program bouncing ball ini menggunakan sebuah function?

Pada program ini kita akan memindahkan blok program yang berada
di dalam fungsi draw(), yaitu program Move the Ball, Bounce the ball,
Display the ball ke dalam sebuah fungsi baru yang nantinya akan
dipanggil ke dalam fungsi draw() kembali.

void move() {}

void bounce() {}

void display() {}
Solution (1)

Bouncing Ball dengan functions.

Menyambung ya kode ini dari kiri


terus lanjut yang kanan.
KITA LATIHAN YA...
Presentations are
communication tools that can be
used as lectures.
Thank you for your attention...

Anda mungkin juga menyukai