5_Struktur Dasar Algortima(3)

23
STRUKTUR DASAR ALGORITMA DAN PEMROGRAMAN STMIK AMIKOM YOGYAKARTA Versi 1.1.0 Khusnawi, S.Kom Th 2007/2008

Transcript of 5_Struktur Dasar Algortima(3)

Page 1: 5_Struktur Dasar Algortima(3)

STRUKTUR DASAR ALGORITMA DAN PEMROGRAMAN

STMIK AMIKOM YOGYAKARTA

Versi 1.1.0

Khusnawi, S.Kom Th 2007/2008

Page 2: 5_Struktur Dasar Algortima(3)

RePetiTion Structure(pErulanGan)RePetiTion Structure(pErulanGan)Pendahuluan Pendahuluan Saat membuat suatu program setiap instruksi bisa dimulai dari

yang pertama sampai dengan instruksi terakhir, kemudian setiap

instruksi yang dikerjakan juga membutuhkan suatu pilihan

berdasarkan kondisi syarat tertentu dan juga instruksi yang bersifat

mengulang sesuai dengan kondisi yang di definisikan.

Struktur perulangan Struktur perulangan digunakan untuk mengulang

sekumpulan perintah sesuai dengan kondisi yang diberikan. Proses perulangan biasanya digunakan untuk mengulang proses pemasukan data, mengulang proses perhitungan dan mengulang untuk proses penampilan

hasil pengolahan data.

Page 3: 5_Struktur Dasar Algortima(3)

StrUktUr Perulangan:• Secara Umum Struktur Perulangan dibagi Secara Umum Struktur Perulangan dibagi

Menjadi 4 bagian:Menjadi 4 bagian:• Kondisi perulangan, yaitu suatu ekspresi boolean yang

harus dipenuhi untuk melakukan proses perulangan.

• Badan perulangan, yaitu satu atau lebih instruksi yang akan di ulang.

• Inisialisasi, yaitu aksi yang dilakukan sebelum perulangan dilakukan pertama kali.

• Terminasi, yaitu aksi yang mengakibatkan perulangan dihentikan.

Page 4: 5_Struktur Dasar Algortima(3)

TeKnik Counter:TeKnik Counter:

• Teknik counter dipakai untuk mengontrol pengulangan proses.

• Pengontrolan dilakukan dengan memeriksa isi variable yang digunakan sebagai counter, sehingga jumlah pengulangan dapat diketahui.

Page 5: 5_Struktur Dasar Algortima(3)

• Contoh:Algoritma proses perhitungan deret penjumlahan 1+2+3+4+5

Mulai Mulai

N=0N=0T=0T=0

N= N + 1N= N + 1

T = T + NT = T + N

N=5N=5 ? T? T Selasai Selasai TT

FF

Ketika kita membuat suatu variable yang fungsinya khusus sebagai kantong penghitung, biasanya harga awal dari variable tersebut nol. Setiap kali pemutaran harga variable selalu bertambah atau berkurang, variabel yang menunjukan nilai counter adalah variabel N.

Page 6: 5_Struktur Dasar Algortima(3)

Instruksi/Notasi AlgoritmikInstruksi/Notasi Algoritmik

Saat Melakukan proses perulangan seperti halnya struktur selection membutuhkan instruksi atau notasi Algoritmik untuk memproses.

Instruksi untuk setiap bahasa pemrograman pada prinsipnya sama yaitu melakukan proses perulangan sesuai dengan kondisi yang ditentukan.

Perbedaannya adalah tergantung dari struktur program (syntax) dan perintahnya.

Page 7: 5_Struktur Dasar Algortima(3)

Instruksi/Notasi Algoritmik C/C++ Instruksi/Notasi Algoritmik C/C++

INSTRUKSI FORINSTRUKSI FOR

DO - WHILEDO - WHILE

WHILEWHILE

Page 8: 5_Struktur Dasar Algortima(3)

STRUCTURESTRUCTURE:for (inisialisasi; kondisi; counter) pernyataan;

Ket:Inisialisasi: akan dieksekusi, variable yang akan dipakai sebagai

counter atau pencacah.

Kondisi: akan diperiksa, jika bernilai true maka perulangan akan

dilanjutkan dan jika bernilai false maka perulangan akan dilewati.

Pernyataan: akan dieksekusi, terdiri dari sebuah instruksi atau blok

instruksi yang berada di antara { dan }.

INSTRUKSI FORINSTRUKSI FORDigunakan untuk menghasilkan pengulangan sejumlah kali yang dispesifikasikan.

Jumlah pengulangan diketahui atau dapat ditentukan sebelum eksekusi.

Page 9: 5_Struktur Dasar Algortima(3)

ContohContoh

Algortima mencetak sebanyak 5 kali suatu kalimat

C++ dan Pascal :

for( n=1; n<=5;n++)Output(‘C++ dan Pascal’);

Statement (‘C++ dan Pascal’) akan diulang sebanyak 5 kali,

yaitu dengan penghitung I dari nilai awal 1 sampai dengan nilai akhir 5

Page 10: 5_Struktur Dasar Algortima(3)

Algoritma untuk menentukan nilai Faktorial berdasarkan N masukan:

Contoh Lainya:Contoh Lainya:

Deklarasi:N, k, Faktorial:Integer;Deskripsi (Urutan Algoritma):• Input (n)• Faktorial13. IF n=0 THEN

Faktorial 1ELSEFOR k 1 TO nFaktorial Faktorial *k

ENDIF4. Output (Faktorial)

Page 11: 5_Struktur Dasar Algortima(3)

Contoh Implementasi Pascal:Contoh Implementasi Pascal:

uses crt;

Var n, k, faktorial:integer;

begin

clrscr;

faktorial:=1;

write(' Inputkan banyaknya N :');readln(n);

if n=0 then faktorial:=1

else

for k:= 1 to n do

begin

faktorial:= faktorial * k;

end;

write(' Nilai faktorial ',n,'! adalah ',faktorial);

readln;

end.

Page 12: 5_Struktur Dasar Algortima(3)

Contoh Implementasi C/C++:Contoh Implementasi C/C++:#include <iostream.h>

#include <conio.h>

int main()

{

int k, n, faktorial;

faktorial=1;

cout << " Inputkan nilai Ke N:"; cin >> n;

if (n==0)

faktorial=1;

else

{ for(k=1;k<=n;k++)

faktorial= faktorial * k; }

cout << " Faktorial dari "<< n <<"! adalah : "<< faktorial;

getch();

return 0;

}

Page 13: 5_Struktur Dasar Algortima(3)

INSTRUKSI WHILEINSTRUKSI WHILE

Pernyataan while adalah pernyataan yang berguna untuk memproses suatu pernyataan atau pernyataan beberapa kali.

Pernyataan atau aksi akan di ulang jika kondisi bernilai benar dan jika salah maka keuar dari blok perulangan (loop)

Page 14: 5_Struktur Dasar Algortima(3)

Struktur C/C++Struktur C/C++:

<Inisialisasi>

while (kondisi)

{

Pernyataan ;

}

Page 15: 5_Struktur Dasar Algortima(3)

Contoh 01:

Algoritma Cetak_Angka {mencetak 1, 2, .., 10 ke piranti

keluaran }

Deklarasi :K: integer

Deskripsi :1. K 1 {inisialisasi}

2. while (k <= 10)

output (k)

3. k k + 1

4. endwhile

Page 16: 5_Struktur Dasar Algortima(3)

Contoh 02:Algoritma Mengitung rata-rata N buah bilangan bulat yang dibaca

dari piranti masukan

DEKLARASI :

N, X, K, jumlah, rerata: integer

DESKRIPSI ALGORTIMA :

read (N)

Jumlah 0

K 1

while (k <= N)

read (x)

jumlah jumlah + x

k k + 1

endwhile

rerata jumlah/N

write (rerata)

Page 17: 5_Struktur Dasar Algortima(3)

Contoh Implementasi C/C++:Contoh Implementasi C/C++:#include <iostream.h>#include <conio.h>int main(){int n,x,k,jumlah;double rerata;cout << " Masukan jumlah data sebanyak N = "; cin >> n;k=1;jumlah=0;while( k<= n)

{ cout << " inputkan data bilangan bulat ke - "<< k<<"="; cin >> x; jumlah=jumlah + x; k=k+1; }rerata=(jumlah / n);cout << " rata rata bilangan yang dihasilkan:"<< rerata;getch();return 0; }

Page 18: 5_Struktur Dasar Algortima(3)

INSTRUKSI DO - WHILEINSTRUKSI DO - WHILE

<inisialisasi>

do

{

pernyatan ;

} while(kondisi);

Perulangan akan dilakukan minimal 1x terlebih dahulu, kemudian

baru dilakukan pengecekan terhadap kondisi, jika kondisi benar

maka perulangan masih akan tetap dilakukan.

Perulangan dengan do...while() akan dilakukan sampai kondisi

false.

Page 19: 5_Struktur Dasar Algortima(3)

Contoh :Algoritma Mengitung rata-rata N buah bilangan bulat yang dibaca

dari piranti masukan

DEKLARASI :

N, X, K, jumlah, rerata: integer

DESKRIPSI ALGORTIMA :

read (N)

Jumlah 0

do

read (x)

jumlah jumlah + x

k k + 1

while (k > N)

rerata jumlah/N

write (rerata)

DEKLARASI :

N, X, K, jumlah, rerata: integer

DESKRIPSI ALGORTIMA :

read (N)

Jumlah 0

while (k <= N)

read (x)

jumlah jumlah + x

k k + 1

endwhile

rerata jumlah/N

write (rerata)

Page 20: 5_Struktur Dasar Algortima(3)

Contoh Implementasi C/C++:Contoh Implementasi C/C++:#include <iostream.h>#include <conio.h>#include <iomanip.h>void main(){ float n,x,k,jumlah; float rerata; cout << " Inputkan data masukan sejumlah N "; cin >> n; k=1; jumlah=0; do { cout << " masukan data bilangan ke - " << k << ":" ; cin >> x; jumlah=jumlah+x; k=k+1; } while( k <= n);rerata=jumlah/n;cout<<setiosflags(ios::fixed);cout<<setprecision(2);cout << " nilai rata-rata yang di perolehnya adalah:"<<rerata;getch(); }

Page 21: 5_Struktur Dasar Algortima(3)

Latihan:• Algoritma untuk menentukan nilai maksimal dan minimal dari

sejumlah nilai masukan N.

• Algoritma penjumlahan deret ke N, tetapi yang dijumlahkan adalah bilangan yang genap saja.

• Algortima menampilkan angka diantara 2 nilai yang dimasukan, misal nilai yang di masukan adalah 2 dan 10, maka outputnya adalah : 2 3 4 5 6 7 8 9 10

• Algoritma untuk menentukan validasi username dan password, dimana akan di ulang maksimal 3 kali, jika benar akan muncul komentar ” anda berhasil masuk” tapi jika tidak muncul komentar ” maaf user name dan password anda salah”

• Algoritma untuk menentukan sisa hasil pembagian antara bilangan yang dimasukan dengan bilangan pembagi, apabila sisa hasil baginya=0 maka outputnya ” tidak ada ”, kalau ada cetak outputnya hasil sisanya. Lakukan berulang dengan memasukan sebuah karakter Y atau T, jika pilih Y maka akan diulang, jika pilih T program selesai.

Page 22: 5_Struktur Dasar Algortima(3)

1. Algortima untuk menghtung banyaknya bilangan genap dan ganjil serta total dari bilangan-bilangan genap dan ganjil yang ada dari n buah bilangan yang di inputkan.

2. Algoritma menampilkan Menampilkan deret bilangan 1 – 100 yang habis dibagi dengan 2 dan habis dibagi dengan 3.

3. Algoritma untuk menampilkan data mahasiswa sejumlah N, yang di inputkan adalah NPM, Nama, IPK, kemudian jika IPK >=3 keterangan memuaskan, jika IPK >=2.5 s.d IPK <3 keterangan: Cukup dan jika IPK < 2.5 keterangan : Memprihatinkan. Tampilkan semua data mahasiswa yang di inputkan beserta keterangn IPK nya.

4. Algortima untuk menampilkan deret bilangan prima sejumlah antara 1 sampai dengan 100.

5. Algoritma untuk menampilkan nilai dari suatu input dan akan ber akhir jika nilai dari input bernilai 0

Page 23: 5_Struktur Dasar Algortima(3)

More Information

TO BE CONTINUE