Anda di halaman 1dari 49

Mengimplementasikan

IT Software Solution
for Business Algoritma Pemrograman
J.620100.022.02
FR
Algoritma
• Urutan langkah-langkah yang harus dilakukan untuk memecahkan suatu masalah
• Hal yang perlu diperhatikan
o Algoritma harus benar
o Mengetahui seberapa baik hasil yang dicapai
o Efisiensi waktu dan memori

Add a footer 2
FR
Program
• Kumpulan instruksi dalam kode yang mengontrol operasi atau fungsi komputer
• Metode dan tahapan sistematis dalam program adalah algoritma
• Program = algoritma + bahasa pemrograman

Add a footer 3
FR
Algoritma dan Bahasa Pemrograman
• Apapun bahasa pemrogramannya memiliki algoritma yang sama

Add a footer 4
FR
Algoritma menukarkan isi gelas

A B C

Add a footer 5
FR
Algoritma menukarkan isi gelas (2)
• Siapkan gelas kosong C
• Tuangkan isi gelas A ke gelas kosong C
• Tuangkan isi gelas B ke gelas kosong A
• Tuangkan isi gelas C ke gelas kosong B

Add a footer 6
FR
Penulisan Algoritma
• Deskripsi langkah-langkah
• Flow Chart
• Pseudocode

Add a footer 7
FR
Deskripsi Langkah
• Menuliskan langkah-langkah per poin
• Contoh : menyalakan komputer
1. Cek kelistrikan
2. Cari tombol power
3. Tekan tombol power
4. Bila tidak muncul tampilan booting, kembali ke langkah 1

Add a footer 8
FR
Flowchart
• Diagram yang menggambarkan alur suatu proses. Sistem, atau algoritma

Add a footer 9
FR
Pseudocode
• Setiap langkah dibuat satu baris perintah
• Bila terdapat keputusan,
- If kondisi then keputusan A else keputusan C end if
• Bila terdapat pengulangan
- while kondisi do perintah yang diulang end while

Add a footer 10
FR
Pseudocode – Menyalakan Komputer
Cek kelistrikan
While tombol tidak ditemukan do
Cari tombol power
End while
Tekan tombol power
If layar boot tidak muncul then
Kembali ke langkah 1
End if

Add a footer 11
FR
Operator Aritmatika
• Unary operators
o ++ (increment) -> prefix/postfix
o -- (decrement) -> prefix/postfix
o + (plus)
o - (minus)
• Binary operators
o * (perkalian)
o / (pembagian)
o % (modulus)
o + (penjumlahan)
o - (pengurangan)
Add a footer 12
FR
Operator Perbandingan
• < (kurang dari)
• > (lebih dari)
• <= (kurang dari atau sama dengan)
• >= (lebih dari atau sama dengan)

Add a footer 13
FR
Operator Logika Boolean
• Unary
o ! (negasi)
• Binary Logical : Selalu mengecek semua operand
o & (logical AND)
o | (logical OR)
o ^ (logical exclusive OR)
• Binary Conditional : Mengecek operand sebelah kanan jika dibutuhkan
o && (conditional logical AND)
o || (conditional logical OR)

Add a footer 14
FR
Equality Operators
• Mengecek apakah operand sama atau tidak
o == (equality operator)
o != (inequality operator)

Add a footer 15
FR
Prosedur dan Fungsi
• Mengelompokan beberapa perintah dengan tugas tertentu ke dalam sebuah
identifier
• Fungsi mengembalikan nilai, prosedur tidak mengembalikan nilai

Add a footer 16
FR
Jenis Prosedur/Fungsi
• Built-in
Prosedur atau fungsi yang sudah disediakan oleh bahasa pemrograman atau
framework yang digunakan
• User-defined
Prosedur atau fungsi yang dideklarasikan oleh pemrograman

Add a footer 17
FR
User-Defined Fungsi dan Prosedur
• Prosedur dan fungsi dapat memiliki parameter sebagai inputnya
• Prosedur dan fungsi yang memiliki parameter dapat diisi dengan argumen
• Pembuatan fungsi atau prosedur disebut deklarasi

Add a footer 18
FR
Prosedur Menukar Nilai
void tuker(ref int x, ref int y)
{
int temp = x;
x = y;
y = temp;
}

Add a footer 19
FR
Fungsi Menghitung Luas Persegi
int luas_persegi(int s)
{
return s * s;
}

Add a footer 20
FR
Parameter dan Argumen
• Parameter adalah variable-variable yang digunakan prosedur atau fungsi sebagai
data input saat tahap deklarasi
• Argumen adalah nilai yang dimasukan ke dalam prosedur atau fungsi saat
pemanggilan
• Argumen dapat berupa variable yang berisi suatu nilai atau sebuah nilai langsung

• void tukar(ref int x, ref int y){ … } //x dan y adalah parameter
• int luas_persegi(int s){ … } //s adalah parameter
• tukar(ref a, ref b); //a dan b memiliki nilai
• luas_persegi(10); //argument dapat langsung diisi dengan sebuah nilai

Add a footer 21
FR
By Reference dan By Value
• Parameter dan argument dapat diberikan dengan By Reference atau By Value
• By Reference : memberikan variable ke dalam fungsi/prosedur
• By Value : Memberikan nilai variable ke dalam fungsi/prosedur

Add a footer 22
FR
Conditional Statement if
• Mengeksekusi kode bila kondisi bernilai benar

if(Kondisi)
{
Kode yang dieksekusi
}

Add a footer 23
FR
Contoh Conditional Statement if
int usia;

Console.Write("Berapa Usia Anda ? ");


usia = Convert.ToInt32(Console.ReadLine());

if (usia < 5)
{
Console.WriteLine("Anda berada pada masa balita");
}

Add a footer 24
FR
Conditional Statement if….else
• Mengeksekusi kode bila kondisi bernilai benar dan bila bernilai salah

if(Kondisi)
{
Kode yang dieksekusi bila kondisi bernilai benar;
}
else
{
Kode yang dieksekusi bila kondisi bernilai salah;
}
Add a footer 25
FR
Contoh Conditional Statement if…else
if (usia < 5)
{
Console.WriteLine("Anda berada pada masa balita");
}
else
{
Console.WriteLine("Anda tidak berada pada masa balita");
}

Add a footer 26
FR
Conditional Statement if….else if….else
• Mengeksekusi kode dengan lebih dari dua kondisi

if(Kondisi1)
{
Kode yang dieksekusi bila kondisi1 benar;
}
else if
{
Kode yang dieksekusi bila kondisi2 benar;
}
Add a footer 27
FR
Conditional Statement if….else if….else (2)
Else
{
Kode yang dieksekusi bila semua kondisi salah;
}

Add a footer 28
FR
Contoh Conditional Statement if….else if….else
if (usia < 5)
{
Console.WriteLine("Anda berada pada masa balita");
}
else if(usia >= 5 && usia <= 18)
{
Console.WriteLine("Anda berada pada masa sekolah");
}
else
{
Console.WriteLine("Anda sudah dewasa");
}
Add a footer 29
FR
Conditional Statement Switch
• Mengeksekusi kode yang berbeda pada kondisi yang berbeda

Switch(variabel)
{
case kondisi1:
kode yang dieksekusi bila kondisi1 benar;
break;
case kondisi2:
kode yang dieksekusi bila kondisi2 benar;
break;
….

Add a footer 30
FR
Conditional Statement Switch (2)
default:
kode yang dieksekusi bila semua kondisi salah;
break
}

Add a footer 31
FR
Contoh Conditional Statement Switch
int pilih;

Console.Write("Pilih minuman yang anda suka ! [1. Teh / 2. Kopi / 3. Susu] ! ");
pilih = Convert.ToInt32(Console.ReadLine());

switch (pilih)
{
case 1:
Console.WriteLine("Anda memilih teh");
break;
Add a footer 32
FR
Contoh Conditional Statement Switch (2)
case 2:
Console.WriteLine("Anda memilih kopi");
break;
case 3:
Console.WriteLine("Anda memilih susu");
break;
default:
Console.WriteLine("Anda tidak memilih");
break;
}
Add a footer 33
FR
Loop While
• Mengeksekusi kode selama suatu kondisi bernilai benar

while(kondisi)
{
kode yang dieksekusi;
}

Add a footer 34
FR
Contoh Loop While
int a = 0;

while (a < 5)
{
Console.WriteLine(a);
a++;
}

Add a footer 35
FR
Loop Do While
• Mengeksekusi kode dan terus mengeksekusi kode jika kondisi bernilai benar

do
{
kode yang dieksekusi;
} while (kondisi)

Add a footer 36
FR
Contoh Loop Do While
int b = 0;

do
{
Console.WriteLine(b);
b++;
} while (b < 5);

Add a footer 37
FR
Loop For
• Mengeksekusi kode sebanyak yang telah ditentukan

for(inisialisasi; kondisi; perubahan)


{
kode yang dieksekusi;
}

Add a footer 38
FR
Contoh Loop For
for (int c = 0; c < 5; c++)
{
Console.WriteLine(c);
}

Add a footer 39
FR
Algoritma Sorting
• Buble Sort
• Selection Sort
• dll

Add a footer 40
FR
Buble Sort
• Membandingkan 2 nilai berturut-turut dan menukarnya bila nilai pertama lebih
besar dari pada nilai kedua
• Langkah tersebut diulang sampai tidak ditemukan penukaran

Add a footer 41
FR
Buble Sort (2)

Add a footer 42
FR
Selection Sort
• Mencari nilai terendah pada koleksi data dan dipindahkan ke urutan paling awal
koleksi data
• Proses pencarian dilakukan sebanyak jumlah data -1
• Setiap pengulangaannya, data yang perlu dicari nilai terendahnya berjumlah jumlah
data sebelumnya - 1

Add a footer 43
FR

Add a footer 44
FR
Algoritma Searching
• Linier Search
• Binary Search

Add a footer 45
FR
Linier Search
• Mencari sebuah data pada suatu kumpulan data sesuai kata kunci yang diberikan
dengan mencocokan satu per satu nilai data yang ada

Add a footer 46
FR
Linier Search (2)

Add a footer 47
FR
Binary Search
• Mencari sebuah data pada suatu kumpulan data yang sudah terurut sesuai kata
kunci yang diberikan dengan membagi kumpulan data menjadi dua berdasarkan
nilai tengah

Add a footer 48
FR
Binary Search (2),

Add a footer 49

Anda mungkin juga menyukai