Anda di halaman 1dari 22

Desain dan Analisis

Algoritma
I Made Widiarta, S.Komp
2014-2015

Sub Topik

Review Dasar-dasar algoritma


Review flowchart
Review Percabangan
Review Perulangan
Review Rekursif
Review Array

Langkah Membuat Program Komputer


1
Fase Pemecahan
Masalah

2
Langkah Sulit

Fase Implementasi
Coding

Definisi Algoritme
Algoritme adalah urutan langkah logis
tertentu untuk memecahkan suatu
masalah. (Microsoft Press Computer and

Internet Dictionaary 1997, 1998)

Alur pemikiran dalam menyelesaikan suatu


pekerjaan yang dituangkan secara tertulis.
(Algoritma dan Struktur Data dengan C,

C++, dan Java oleh Moh Sjukani hal 1)

Penulisan algoritme
Sebenarnya, cara menuliskan algoritme adalah bebas.
Namun, agar dapat dipahami oleh orang lain, maka
penulisan algoritme cenderung baku, sering disebut
sebagai pseudocode Salah satu sering disebut sebagai
pseudocode. Salah satu contoh:
procedure jumlah {
read a, b
c = a+b
print c
}

Contoh Algoritme #2
Menentukan kelulusan dari tiga nilai
Perumusan masalah:
Diberikan tiga buah nilai ujian. Jika rata-rata dari tiga nilai
kurang dari 50, maka statusnya adalah TIDAK LULUS,
sedangkan lainnya (lebih besar atau sama dengan 50)
dinyatakan LULUS.
procedure kelulusan {
read nil1, nil2, nil3
r = (nil1+nil2+nil3)/3
if (r<50) then print "TIDAK LULUS"
else print "LULUS"
}
6

Review Percabangan
Percabangan merupakan suatu pemilihan
statemen yang akan dieksekusi dimana
pemilihan tersebut di dasarkan atas
kondisi tertentu.
Terdapat dua teknik untuk
mengimplementasikan percabangan, yaitu
dengan menggunakan if dan switch

Review Percabangan (2)


Kapan kondisi terbaik menggunakan if dan
switch?
Contoh kasus:

Pengulangan
Pengulangan merupakan suatu proses yang melakukan
statemen-statemen dalam sebuah program secara terus
menerus sampai terdapat kondisi untuk
menghentikannya.
Struktur program yang baik akan sangant membantu
dalam efisiensi program.
Dalam C++ terdapat tiga buah jenis struktur
pengulangan yaitu struktur for, struktur while dan
struktur do-while

Review Perulangan
int main ()
{
int x,y,z;
char B ('Y');
do
{
cout<<"Masukkan angka : ";cin>>x;
cout<<"\n";
for (y=1;y<=x;++y)
{
for (z=1;z<=y;++z)
cout<<"*";
cout<<endl;
}

cin>>B;
}
while(B=='Y'=='y');
return 0;
}

Membuat segitiga siku-siku

10

Review Rekursif
Merupakan fungsi yang pada saat
pendefinisiannya memanggil dirinya
sendiri untuk melakukan proses di
dalamnya.

11

Review Rekursif (2)


#include <iostream>
using namespace std;
int Fungsiku(int X) {
if (X==1) return(1);
return X * Fungsiku (X-1);
}

int main() {
int Bilangan, HASIL;
cout<<"Masukkan bilangan yang akan dihitung : ";
cin>>Bilangan;
HASIL = Fungsiku (Bilangan);
cout<<Bilangan<<"! = "<<HASIL;
return 0;
}

Faktorial!

12

Review Array
Merupakan sebuah variabel yang memilki
tipe data sama
Setiap data menempati lokasi atau alamat
memori yang berbeda-beda (elemen
array)
Elemen array dapat diakses melalui indeks
yang berada di dalamnya
Indeks array dimulai dari 0
13

Array
Nilai elemen array

Nilai ke-1

Nilai ke-2

Nilai ke-3

...

Nilai ke-n

Alamat ke-1

Alamat ke-2

Alamat ke-3

...

Alamat ke-n

...

Indeks elemen array

Alamat elemen array

14

Mengkases elemen array


Konsepnya sama dengan mengisikan, bisa diakses langsung ke
elemennya atau dengan menggunakan perulangan
int main() {
Contoh:
// Mendeklarasikan array A dengan 5 buah elemen bertipe int
int A[5];
// Mengisikan nilai ke dalam elemen array
cout<<"Masukkan nilai yang diinginkan"<<endl;
for (int C=0; C<5; C++) {
cout<<"A["<<C<<"] = "; cin>>A[C];
}
cout<<'\n';

// Menampilkan nilai yang terdapat dalam elemen array


cout<<"Menampilkan nilai yang telah dimasukkan"<<endl;
for (int J=0; J<5; J++) {
cout<<"Nilai yang terdapat pada elemen ke-";
cout<<J+1<<" : "<<A[J]<<endl;
}
return 0;
}

15

Latihan

16

No. 1
Contoh kasus:

Buatlah program dengan menggunakan if


dan switch

17

No. 2
Contoh kasus

Buatlah programnya

18

Kuis
1. Jelaskan program apa yang dihasilkan
oleh potongan kode program berikut:

19

Nomer 1.
int main() {
char A[5] = { 'B','U','D','I','\0' };
char B[5] = "BUDI";
for (int C=0; C<5; C++) {
cout<<A[C];
}
cout<<endl;
cout<<B;
cout<<"\n\n";

out<<"Ukuran A : "<<sizeof(A)<<endl;
cout<<"Ukuran B : "<<sizeof(B);
return 0;
}

Nomer 2.
int main()
{
int i, j, k;
cout<<"Input Batas Bintang: ";
cin>>k;
k=k-1;
for(i=1;i<=k;i++)
{
//SetColor(i);
for(j=1;j<=i;j++)
cout<<" ";
for(j=1;j<=k-i+1;j++)
cout<<"* ";
cout<<endl;
}
return 0;
}

Nomer 3.
int fungsiku(int n)
{
if(n == 1)
{
return(1);
}
if(n == 2)
{
return(1);
}
else
{
return(fungsiku (n-1)+fungsiku (n-2));
}
}
int main()
{
int n;
cout<<"Masukkan input ";
cin>>n;
cout<<fungsiku (n)<<endl;
return 0;
}

20

Jawaban
1. Program membalik kata
2. Bintang Segitiga Siku Terbalik
3. Fibonaci

21

Tugas
Baca kembali ttg Pointer, Fungsi, dan
Struct

22

Anda mungkin juga menyukai