pengenalan bahasa pemrograman - E

advertisement
STRUKTUR DASAR ALGORITMA
DAN PEMROGRAMAN
STMIK AMIKOM YOGYAKARTA
Khusnawi, S.Kom , M.Eng 2010
RePetiTion Structure(pErulanGan)‫‏‬
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 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
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.(nilai awal utk
melakukan perulangan)
• Terminasi, yaitu aksi yang mengakibatkan perulangan
dihentikan.
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
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.
N=0
T=0
N= N + 1
T=T+N
T
N=5
F
?T
Selasai
Instruksi/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 FOR
DO - WHILE
WHILE
INSTRUKSI FOR
Digunakan untuk menghasilkan pengulangan sejumlah kali yang dispesifikasikan.
Jumlah pengulangan diketahui atau dapat ditentukan sebelum eksekusi.
STRUCTURE:
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 }.
Contoh
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
Contoh Flowchart
Contoh Lainya:
Algoritma untuk menentukan nilai Faktorial berdasarkan N masukan:
Deklarasi:
N, k, Faktorial:Integer;
Deskripsi (Urutan Algoritma):
1. Input (n)‫‏‬
2. Faktorial1 // Inisialisasi
3. IF n=0 THEN
Faktorial 1
ELSE
FOR k  1 TO n // for (k=1 ; k<=n; k++)
Faktorial  Faktorial *k
EndFor
ENDIF
4. Output (Faktorial)
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 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++:
<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 ----> inisialisasi
while (k <= N) -----> kondisi
input (x)‫‏‬
jumlah jumlah + x
kk+1
endwhile
rerata  jumlah/N
write (rerata)‫‏‬
Body
looping
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 - 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 :
DEKLARASI :
N, X, K, jumlah, rerata: integer
N, X, K, jumlah, rerata: integer
DESKRIPSI ALGORTIMA :
DESKRIPSI ALGORTIMA :
read (N)‫‏‬
read (N)‫‏‬
Jumlah  0
Jumlah  0
do
while (k <= N)‫‏‬
read (x)‫‏‬
read (x)‫‏‬
jumlah jumlah + x
jumlah jumlah + x
kk+1
kk+1
while (k <= N)‫‏‬
endwhile
rerata  jumlah/N
write (rerata)‫‏‬
rerata  jumlah/N
write (rerata)‫‏‬
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:
1.
Algoritma untuk menentukan nilai maksimal dan minimal dari
sejumlah nilai masukan N.
2.
Algoritma penjumlahan deret ke N, tetapi yang dijumlahkan adalah
bilangan yang genap saja.
3.
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
4.
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”
5.
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.
6.
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.
7.
Algoritma menampilkan Menampilkan deret bilangan 1 – 100 yang
habis dibagi dengan 2 dan habis dibagi dengan 3.
8.
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.
9.
Algortima untuk menampilkan deret bilangan prima sejumlah antara 1
sampai dengan 100.
10.
Algoritma untuk menampilkan nilai dari suatu input dan akan ber akhir
jika nilai dari input bernilai 0
11.
Analisa hasil dari flowchart dibawah ini:
More Information
TO BE CONTINUE
Download