Post on 03-Jul-2015
STRUKTUR DASAR ALGORITMA DAN PEMROGRAMAN
STMIK AMIKOM YOGYAKARTA
Versi 1.1.0
Khusnawi, S.Kom Th 2007/2008
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.
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.
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.
• 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.
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.
Instruksi/Notasi Algoritmik C/C++ Instruksi/Notasi Algoritmik C/C++
INSTRUKSI FORINSTRUKSI FOR
DO - WHILEDO - WHILE
WHILEWHILE
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.
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
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)
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.
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;
}
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)
Struktur C/C++Struktur C/C++:
<Inisialisasi>
while (kondisi)
{
Pernyataan ;
}
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
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)
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; }
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.
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)
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(); }
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.
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
More Information
TO BE CONTINUE