Algoritma dan Pemprograman 1 Fakultas Ekonomi materi setelah

  • Slides: 64
Download presentation
Algoritma dan Pemprograman 1 Fakultas Ekonomi <materi setelah mid>

Algoritma dan Pemprograman 1 Fakultas Ekonomi <materi setelah mid>

Pertemuan 6 Cara Penulisan dalam Flowchart untuk Jenis-jenis Struktur PERULANGAN dalam Algoritma

Pertemuan 6 Cara Penulisan dalam Flowchart untuk Jenis-jenis Struktur PERULANGAN dalam Algoritma

Simbol-simbol yang digunakan dalam flowchart

Simbol-simbol yang digunakan dalam flowchart

Perulangan

Perulangan

Definisi Kunci: Perulangan � Pengulangan digunakan untuk menjalankan satu atau beberapa pernyataan sebanyak beberapa

Definisi Kunci: Perulangan � Pengulangan digunakan untuk menjalankan satu atau beberapa pernyataan sebanyak beberapa kali. � Dengan pengulangan, kita hanya perlu menuliskan pernyataan tersebut satu kali saja, tapi akan dilakukan oleh program sebanyak yang diperintahkan

Struktur Algoritma Perulangan • • Dalam banyak kasus seringkali kita dihadapkan pada sejumlah pekerjaan

Struktur Algoritma Perulangan • • Dalam banyak kasus seringkali kita dihadapkan pada sejumlah pekerjaan yang harus diulang berkali. Salah satu contoh yang gampang kita jumpai adalah balapan mobil seperti tampak pada gambar ini Mobil-mobil peserta harus mengelilingi lintasan sirkuit berkali-kali sesuai yang ditetapkan dalam aturan lomba. Siapa yang mencapai garis akhir paling cepat, dialah yang menang.

Struktur Perulangan � Kondisi pengulangan, yaitu syarat yang harus dipenuhi untuk melaksanakan pengulangan. Syarat

Struktur Perulangan � Kondisi pengulangan, yaitu syarat yang harus dipenuhi untuk melaksanakan pengulangan. Syarat ini biasanya dinyatakan dalam ekspresi Boolean yang harus diuji apakah bernilai benar (true) atau salah (false) � Badan pengulangan (loop body), yaitu satu atau lebih instruksi yang akan diulang

Operator yang dibutuhkan dalam perulangan (counter) Operator Nama operator Contoh ekspresi Penjelasan ++ Prefix

Operator yang dibutuhkan dalam perulangan (counter) Operator Nama operator Contoh ekspresi Penjelasan ++ Prefix increment ++A Naikkan nilai A sebanyak 1, kemudian gunakan nilai baru tersebut ke nilai A ke nilai saat ini ++ Postfix increment A++ Gunakan nilai A dulu, baru naikkan nilai A untuk nilai A kemudian -- Prefix decreament --A turunkan nilai A sebanyak 1, kemudian gunakan nilai baru tersebut ke nilai A ke nilai saat ini -- Postfix decreament A-- Gunakan nilai A dulu, baru turunkan nilai A untuk nilai A kemudian

Contoh Operator yang dibutuhkan dalam perulangan Nilai Operator Contoh hasil; A=5 A++ A 5

Contoh Operator yang dibutuhkan dalam perulangan Nilai Operator Contoh hasil; A=5 A++ A 5 A++ 5 A 6 B 8 ++B 9 C 3 C-- 3 C 2 C 7 --C 6 B=8 C=3 D=7 ++B C-- --C

Macam-macam Perulangan

Macam-macam Perulangan

1. FOR

1. FOR

FOR • • Pengulangan dengan menggunakan For, merupakan salah teknik pengulangan yang paling tua

FOR • • Pengulangan dengan menggunakan For, merupakan salah teknik pengulangan yang paling tua dalam bahasa pemrograman. Hampir semua bahasa pemrograman menyediakan metode ini, meskipun sintaksnya mungkin berbeda.

FOR • • Pada struktur For kita harus tahu terlebih dahulu seberapa banyak badan

FOR • • Pada struktur For kita harus tahu terlebih dahulu seberapa banyak badan loop akan diulang. Struktur ini menggunakan sebuah variable yang biasa disebut sebagai loop’s counter, yang nilainya akan naik atau turun selama proses pengulangan.

FOR • • • Digunakan untuk perulangan yang batasnya sudah diketahui dengan JELAS, misalnya

FOR • • • Digunakan untuk perulangan yang batasnya sudah diketahui dengan JELAS, misalnya 10 kali Memerlukan dua buah penanda, awal dan akhir perulangan Nilai penghitung / counter akan secara OTOMATIS bertambah atau berkurang tiap kali pengulangan dilaksanakan, tergantung jenis perulangannya.

FOR • Bentuk umum: For(<nilai_awal>; <kondisi>; <penambahan/pen urunan>) { <pernyataan yang akan dijalankan> }

FOR • Bentuk umum: For(<nilai_awal>; <kondisi>; <penambahan/pen urunan>) { <pernyataan yang akan dijalankan> }

Contoh FOR versi skenario � Si Joko menyewa preman untuk memukuli Si Andi. Si

Contoh FOR versi skenario � Si Joko menyewa preman untuk memukuli Si Andi. Si Joko Menyuruh si Preman untuk memukul si Andi sebanyak 10 kali dan harus 10 kali

Deklarasi FOR Nama Keyword Variabel kontrol penambahan For (int i = 1; i <=

Deklarasi FOR Nama Keyword Variabel kontrol penambahan For (int i = 1; i <= 10; i++) Nilai awal variabel kontrol Kondisi looping

Struktur Flowchart dengan For

Struktur Flowchart dengan For

Contoh For : 1 � Buatlah perulangan “saya tidak akan mengulangi perbuatan itu lagi”

Contoh For : 1 � Buatlah perulangan “saya tidak akan mengulangi perbuatan itu lagi” sebanyak 100 kali � Maka algoritmanya: Nama For 1. java Deklarasi - Deskripsi For(int i=1; i<=100; i++) write (“saya tidak akan mengulangi perbuatan itu lagi ”) endfor

Jawaban flowchart: for 1

Jawaban flowchart: for 1

Jawaban program: for 1 public class For 1 { public static void main(String[] args)

Jawaban program: for 1 public class For 1 { public static void main(String[] args) { System. out. println("Looping dengan for"); for (int i = 1; i <= 10; i++) { System. out. println("Saya tidak akan mengulangi perbuatan itu lagi"); } } }

Latihan For : cetak bilangan ganjil • • Buatlah perulangan sebanyak 10 kali dengan

Latihan For : cetak bilangan ganjil • • Buatlah perulangan sebanyak 10 kali dengan diberikan nilai A, setiap kali perulangan, nilai A akan bertambah 2. Misal : – Perulangan 1 : Nilai A=1; – Perulangan 2 : Nilai A=3; – Perulangan 3 : Nilai A=5;

Jawaban algoritma: bilangan ganjil Nama Program For 2 Deklarasi A = int Deskripsi A

Jawaban algoritma: bilangan ganjil Nama Program For 2 Deklarasi A = int Deskripsi A = 1; For(int i=1; i<=10; i++) write(“Nilai A adalah”, A); A = A + 2; endfor

Jawaban flowchart : bilangan ganjil

Jawaban flowchart : bilangan ganjil

Jawaban program: bilangan ganjil public class For 2 { public static void main(String[] args)

Jawaban program: bilangan ganjil public class For 2 { public static void main(String[] args) { int a=1; for (int i = 1; i <= 10; i++) { System. out. println("nilai A adalah "+a+" (ini merupakan for ke "+i+")"); a = a+2; } } }

Latihan For : cetak bilangan genap • • Buatlah perulangan sebanyak 10 kali dengan

Latihan For : cetak bilangan genap • • Buatlah perulangan sebanyak 10 kali dengan diberikan nilai A, setiap kali perulangan, nilai A akan bertambah 2. Misal : – Perulangan 1 : Nilai A=0; – Perulangan 2 : Nilai A=2; – Perulangan 3 : Nilai A=4; Petunjuk : cara membuat sama dengan for bilangan ganjil

Jawaban algoritma: bilangan ganjil Nama Program For 2 Deklarasi A = int Deskripsi A

Jawaban algoritma: bilangan ganjil Nama Program For 2 Deklarasi A = int Deskripsi A = 0; For(int i=0; i<=10; i++) write(“Nilai A adalah”, A); A = A + 2; endfor

Jawaban program: bilangan genap public class For 2 { public static void main(String[] args)

Jawaban program: bilangan genap public class For 2 { public static void main(String[] args) { int a=0; for (int 0 = 1; i <= 10; i++) { System. out. println("nilai A adalah "+a+" (ini merupakan for ke "+i+")"); a = a+2; } } }

Contoh soal: membuat bintang � Buatlah sebuah algoritma untuk bisa membuat bintang seperti ini

Contoh soal: membuat bintang � Buatlah sebuah algoritma untuk bisa membuat bintang seperti ini N =4 * ** **** N=3 * ** *** N=2 * ** Petunjuk: 1. Kita memerlukan dua variabel pencacah. 2. Variabel 1 untuk mencacah baris, variabel ini digunakan untuk melakukan pengulangan dari 1 sampai N 3. Variabel 2 untuk menggambar bintang pada masing baris. Jadi variabel ini harus melakukan pengulangan sama dengan variabel 1

Jawaban algoritma: membuat bintang Nama Program Buat bintang Deklarasi N : int Deskripsi 1.

Jawaban algoritma: membuat bintang Nama Program Buat bintang Deklarasi N : int Deskripsi 1. 2. 3. 4. 5. 6. 7. 8. 9. Deskripsi program Read (N) For(int i = 1; i <= N; i++) for (int j = 1; j <= i; j++) write(“*”); endfor Endfor Masukkan N I 1 Selama (i <= N) kerjakan baris 4 sampai baris 9 J 1 Selama (j <=i) kerjakan baris 6 dan 7 Tulis “*” J j+1 Ganti baris I i+1

Jawaban program: membuat bintang public class b 01 For. Bintang { public static void

Jawaban program: membuat bintang public class b 01 For. Bintang { public static void main(String[] args) { int n; Scanner input = new Scanner(System. in); System. out. print("Masukkan jumlah bintang yang akan dicetak: "); n = input. next. Int(); for (int i = 1; i <= n; i++) { for (int j = 1; j <= i; j++) { System. out. print("*"); } System. out. println(""); } } }

2. WHILE

2. WHILE

WHILE � � Struktur While akan mengulang pernyataan pada badan loop sepanjang kodisi pada

WHILE � � Struktur While akan mengulang pernyataan pada badan loop sepanjang kodisi pada While bernilai benar. Dalam artian kita tidak perlu tahu pasti berapa kali diulang. Yang penting sepanjang kondisi pada While dipenuhi maka pernyataan pada badan loop akan diulang. Flowchart umum untuk struktur While dapat dilihat pada Gambar ini :

Bentuk Umum WHILE <inisiasi> While(<kondisi>) { <pernyataan yang akan dijalankan> <perubahan kondisi> } -------------Contoh:

Bentuk Umum WHILE <inisiasi> While(<kondisi>) { <pernyataan yang akan dijalankan> <perubahan kondisi> } -------------Contoh: Int i =1; While(i<=7){ printf(“nilai i = ”, i); i++; }

Contoh WHILE versi skenario • • Si Joko menyewa preman untuk memukuli Si Andi.

Contoh WHILE versi skenario • • Si Joko menyewa preman untuk memukuli Si Andi. Si Joko Menyuruh si Preman untuk memukul si Andi sampai PINGSAN, Maka si preman akan memukuli si Andi sampai pingsan – Jika dipukul 1 kali langsung pingsan, maka selesai – Jika dipukul 5 kali baru pingsan, maka selesai – Jika dipukuli berkali-kali belum pingsan, pukul terus sampai pingsan – Jika belum di pukul sudah pingsan (karena kaget), maka selesai

Latihan while: 1 � Lakukan perulangan dengan while sebanyak 5 kali � Algoritmanya: Nama

Latihan while: 1 � Lakukan perulangan dengan while sebanyak 5 kali � Algoritmanya: Nama Program While 1 Deklarasi I = int Deskripsi I = 1; While (i<=5) write(‘ini adalah looping ke ’, i); i++ endwhile

Jawaban flowchart

Jawaban flowchart

Contoh while kompleks (1) � Buatlah aplikasi yang menerima inputan nilai siswa (range dari

Contoh while kompleks (1) � Buatlah aplikasi yang menerima inputan nilai siswa (range dari 0 sampai 100), yang menghasilkan rata-rata siswa. Misal kita batasi ada 10 siswa yang nilainya kita masukkan menggunakan while

Jawaban algoritma while kompleks(1) Nama Rata. Siswa Deklarasi Nilai, total, rata, counter = int;

Jawaban algoritma while kompleks(1) Nama Rata. Siswa Deklarasi Nilai, total, rata, counter = int; Deskripsi Read(total=0; counter=1) While(counter<=10) read(“masukkan nilai”, nilai); total + nilai; counter +1 end. While Rata total / 10; Write(“rata-rata nilai ke 10 siswa adalah ”, rata); Gradebook. java

Jawaban(1)

Jawaban(1)

Latihan while kompleks (2) � Buatlah aplikasi yang menerima inputan nilai siswa (range dari

Latihan while kompleks (2) � Buatlah aplikasi yang menerima inputan nilai siswa (range dari 0 sampai 100), yang menghasilkan rata-rata siswa. Penginputan selesai jika kita memasukkan nilai (-1) masukkan menggunakan while. Petunjuk: 1. Konsep sama dengan while kompleks(1) 2. Pada while (rubah agar menerima inputan 1) 3. Saat dalam kondisi while, tanyakan apakah ingin memasukkan nilai atau keluar (-1)

Jawaban algoritma while kompleks(2) Nama Rata. Siswa Deklarasi Nilai, total, rata, counter = int;

Jawaban algoritma while kompleks(2) Nama Rata. Siswa Deklarasi Nilai, total, rata, counter = int; Deskripsi Read(total=0; counter=0) Write(“masukkan nilai atau tulis -1 untuk keluar”, nilai) While(nilai != -1) total + nilai; counter +1; read(“masukkan nilai atau tekan -1 untuk keluar”, nilai); end. While If(counter !=0) Rata total / counter; Write(“jumlah siswa yang dimasukkan”, counter); write(“Rata-rata siswa adalah ”, rata); Endif Gradebook 2. java

jawaban

jawaban

3. DO WHILE

3. DO WHILE

DO WHILE � Perulangan akan dilakukan minimal 1 kali terlebih dahulu, kemudian baru dilakukan

DO WHILE � Perulangan akan dilakukan minimal 1 kali terlebih dahulu, kemudian baru dilakukan pemeriksaan terhadap kondisi, jika kondisi BENAR, maka perulangan akan tetap dilakukan � Perulangan dengan DO. . WHILE akan dilakukan sampai kondisi false

Bentuk Umum DO WHILE <inisiasi> Do { <pernyataan yang akan dijalankan> <perubahan kondisi> }

Bentuk Umum DO WHILE <inisiasi> Do { <pernyataan yang akan dijalankan> <perubahan kondisi> } While(<pencapaian kondisi>) -----------------Contoh: Int i=1; Do{ printf(“nilai I =”, i); i++; } While(i<=7);

Contoh DO WHILE versi skenario � Si Joko menyewa preman untuk memukuli Si Andi.

Contoh DO WHILE versi skenario � Si Joko menyewa preman untuk memukuli Si Andi. Si Joko Menyuruh si Preman untuk memukul si Andi sampai PINGSAN, � Maka si preman akan memukul andi paling tidak satu kali, entah pingsan atau tidak � Jika belum pingsan dan kondisi memungkinkan, pukul sampai pingsan

Contoh do-while � Lakukan perulangan menggunakan do-while, jika sudah sampai perulangan ke 5, maka

Contoh do-while � Lakukan perulangan menggunakan do-while, jika sudah sampai perulangan ke 5, maka berhenti � Algoritmanya Nama Program Do. While 1 Deklarasi I = int Deskripsi I = 1; do write(‘ini adalah looping ke ’, i); i++ enddo While (i<=5)

flowchartnya

flowchartnya

Terima Kasih

Terima Kasih

Sub. Rutin

Sub. Rutin

Definisi Subrutin � Ada dua macam subrutin ◦ Prosedur: tidak mengembalikan nilai ◦ Fungsi:

Definisi Subrutin � Ada dua macam subrutin ◦ Prosedur: tidak mengembalikan nilai ◦ Fungsi: selalu mengembalikan nilai � Tujuan subrutin: melakukan tugas tertentu

Prosedur penulisan prosedur Prosedur nama_prosedur (parameter 1; paramater 2; . . . ) Begin

Prosedur penulisan prosedur Prosedur nama_prosedur (parameter 1; paramater 2; . . . ) Begin { pernyataan-pernyataan } End;

Contoh penulisan prosedur dalam java public class Sepeda { int kecepatan; int gir; }

Contoh penulisan prosedur dalam java public class Sepeda { int kecepatan; int gir; } void ubah. Gir(int tambah. Gir){ gir = gir + tambah. Gir; System. out. println("Gir Sekarang : "+gir); } void tambah. Kecepatan(int tambah. Cepat){ kecepatan = kecepatan +tambah. Cepat; System. out. println("Kecepatan Sekarang : "+kecepatan); } Lanjut. . .

Contoh penulisan prosedur dalam java (lanjutan. . ) public class Sepeda. Beraksi { public

Contoh penulisan prosedur dalam java (lanjutan. . ) public class Sepeda. Beraksi { public static void main(String[] args) { Sepeda spd = new Sepeda(); spd. tambah. Kecepatan(10); spd. ubah. Gir(2); Panggil prosedur }

Prosedur penulisan fungsi function nama_prosedur (parameter 1; paramater 2; . . . ) Tipe_kembalian

Prosedur penulisan fungsi function nama_prosedur (parameter 1; paramater 2; . . . ) Tipe_kembalian Begin { pernyataan-pernyataan } End;

Contoh penulisan fungsi dalam java public class Sub. Rutin { private String nama; public

Contoh penulisan fungsi dalam java public class Sub. Rutin { private String nama; public String get. Nama() { return nama; } Fungsi public void set. Nama(String nama) { this. nama = nama; } prosedur public void tampil. Nama(){ System. out. println("Nama Saya adalah "+get. Nama()); } prosedur } Lanjut. . .

Contoh penulisan fungsi dalam java (lanjutan) public class Sub. Rutin. Beraksi { public static

Contoh penulisan fungsi dalam java (lanjutan) public class Sub. Rutin. Beraksi { public static void main(String[] args) { Sub. Rutin sb = new Sub. Rutin(); sb. set. Nama(“Hermawanti"); sb. tampil. Nama(); Panggil prosedur } Panggil fungsi }

Contoh penulisan fungsi dalam java(2) public class Matematika { int hasil; public int tambah(int

Contoh penulisan fungsi dalam java(2) public class Matematika { int hasil; public int tambah(int a, int b) { return hasil = a + b; } public int kurang(int a, int b) { return hasil = a - b; } public int kali(int a, int b) { return hasil = a * b; } public int bagi(int a, int b) { return hasil = a / b; } public void hasil() { System. out. println("Hasilnya adalah " + hasil); } } Lanjut. . .

Contoh penulisan fungsi dalam java (2)(lanjutan) public class Matematika. Beraksi { public static void

Contoh penulisan fungsi dalam java (2)(lanjutan) public class Matematika. Beraksi { public static void main(String[] args) { Scanner input = new Scanner(System. in); System. out. print("Masukkan Angka pertama: "); int satu = input. next. Int(); System. out. print("Masukkan Angka kedua: "); int dua = input. next. Int(); Matematika mtk = new Matematika(); mtk. tambah(satu, dua); mtk. hasil(); Panggil fungsi } } Panggil prosedur

Latihan soal 1 : Tampilan menghitung Jumlah Hari, Jam, Menit, Detik � Tulis program

Latihan soal 1 : Tampilan menghitung Jumlah Hari, Jam, Menit, Detik � Tulis program untuk menampilkan jumlah hari, jam, menit dan detik. Masukan program adalah bilangan bulat yang melambangkan waktu dalam detik. Keluaran program adalah banyaknya hari, jam, menit dan detik. � Misal: 200. 000 detik akan menghasilkan 2 hari, 7 jam, 33 menit dan 20 detik

Jawaban soal: Tampilan Menghitung hari, jam, menit, detik Nama Algoritma Menghitung hari, jam, menit,

Jawaban soal: Tampilan Menghitung hari, jam, menit, detik Nama Algoritma Menghitung hari, jam, menit, detik Deklarasi Waktu : int; Deskripsi Read (Waktu) Hitung_Hari Waktu / 86400 Hitung_Jam Waktu / 3600 Hitung_Menit Waktu / 60 Hitung_Detik Write (‘Hari’, Hitung_Hari) a 01 Tahun. Kabisat. Simple. java