bahasa pemrograman - E

advertisement
PENGENALAN ALGORITMA DAN
PEMROGRAMAN
Pertemuan 1
MASALAH
Adalah pertanyaan atau tugas yang kita cari
jawabannya.
 Setiap masalah memiliki satu atau lebih
parameter yang membatasi ruang lingkupnya.
 Untuk menentukan parameter tersebut
dibutuhkan analisa masalah.

ALGORITMA


Adalah urutan langkah-langkah untuk memecahkan
masalah.
Pengertian dari beberapa literatur
Deretan langkah-langkah komputasi yang
mentransformasikan data masukan menjadi keluaran.
 Deretan instruksi yang jelas untuk memecahkan masalah,
yaitu untuk memperoleh keluaran yang diinginkan dari
suatu masukan dalam jumlah waktu yang terbatas.
 Prosedur komputasi yang terdefenisi dengan baik yang
menggunakan beberapa nilai sebagai masukan dan
menghasilkan beberapa nilai yang disebut keluaran. Jadi,
algoritma adalah deretan langkah komputasi yang
mentransformasikan masukan menjadi keluaran.

ALGORITMA

Contoh-contoh Algoritma
Langkah-langkah memasak suatu resep makanan.
 Langkah-langkah pengerjaan pratikum kimia.
 Langkah-langkah pengisian pulsa prabayar.

3 Faktor dalam Algoritma
Problem – Problem Solver – Processor


Lima sifat Algoritma





Selesai dalam jumlah langkah terbatas.
Tidak memiliki arti ganda.
Memiliki nol atau lebih input.
Memiliki nol atau lebih output.
Efektif.
SEJARAH ALGORITMA
Algoritma berasal dari kata Algorism.
 Berasal dari nama penulis buku Arab yang
terkenal, yaitu Abu Ja’far Muhammad Ibnu
Musa al-Khuwarizmi.
 al-Khuwarizmi dibaca oleh orang Barat menjadi
algorism.
 Dikarenakan sering dikelirukannya algorism
dengan arithmetic, terjadi perubahan akhiran sm menjadi -thm.
 Algorithm secara perlahan dan berangsur-angsur
mulai dipakai sebagai metode perhitungan
(komputasi) secara umum.

PROGRAM DAN PEMROGRAMAN

Algoritma akan efektif jika dijalankan oleh
sebuat pemroses (processor), dengan sifat :
Mengerti setiap langkah dalam algoritma,
 Mengerjakan operasi yang bersesuaian dengan
langkah tersebut.

Algoritma yang ditulis dalam bahasa komputer =
program.
 Bahasa komputer yang digunakan untuk
menulis program = bahasa pemrograman.
 Orang yang membuat program = pemrogram.
 Kegiatan merancang dan menulis program
disebut = pemrograman.

BELAJAR MEMPROGRAM DAN BELAJAR
BAHASA PEMROGRAMAN

Apa perbedaannya?

Belajar memprogram:
Pemecahan Masalah
-Strategi
-Metodologi
-Sistematika

Belajar bahasa pemrograman:






Notasi yang telah
disepakati
Belajar memakai suatu bahasa komputer,
Aturan tata bahasanya,
Instruksi-instruksinya,
Tata cara pengoperasian compiler-nya,
Dan memanfaatkan instruksi-instruksi tersebut untuk
membuat program yang ditulis hanya dalam bahasa itu saja.
Hasil vs Metode?
PENGGOLONGAN BAHASA PEMROGRAMAN

Berdasarkan tujuan aplikasinya

Bertujuan khusus (specific purpose PL)


Bertujuan umum (general purpose PL)


Cobol, Fortran, Assembly, Prolog, Simscript, etc
Pascal, Basic, C, C++, etc
Berdasarkan kemiripan bahasa

Bahasa tingkat rendah


Bentuk “manusiawi” dari bahasa mesin
Bahasa tingkat tinggi

Lebih “manusiawi” dan dekat ke bahasa manusia
NOTASI ALGORITMIK

Terbagi menjadi 3
Notasi I : menyatakan langkah-langkah algoritma
dengan untaian kalimat deskriptif.
 Notasi II : menggunakan bagan alir (flowchart).
 Notasi III : menggunakan pseudo-code.

KALIMAT DESKRIPTIF
PROGRAM Euclidean
Diberikan dua buah bilang bulat tak-negatif m dan n (m ≥ n).
Algoritma Euclidean mencari pembagi bersama terbesar,
gcd, dari kedua bilangan tersebut, yaitu bilangan bulat
positif terbesar yang habis membagi m dan n.
ALGORITMA :
1.
Jika n = 0 maka
m adalah jawabannya;
stop.
tetapi jika n ≠ 0,
lanjutkan ke langkah 2.
1.
Bagilah m dengan n dan misalkan r adalah sisanya.
2.
Ganti nilai m dengan nilai n dan nilai n dengan nilai r,
lalu ulang kembali langkah 1.
FLOWCHART
mulai
baca m dan n
n=0
r = m MOD n
m=n
n=r
tulis m
selesai
PSEUDO-CODE
PROGRAM Euclidean
Program untuk mencari gcd dari dua buah bilangan bulat tak-negatif m dan n (m
≥ n). Gcd dari m dan n adalah bilangan bulat positif terbesar yang habis
membagi m dan n.
DEKLARASI :
m, n : integer
r
: integer
{ bilangan bulat yang akan dicari pbt-nya }
{ sisa hasil bagi }
ALGORITMA :
read (m,n)
{m≥n}
while n ≠ 0 do
r ← m MOD n
{ hitung sisa hasil pembagian }
m←n
n←r
endwhile
{ kondisi selesai pengulangan : n = 0, maka gcd(m,n) = m }
write (m)
PARADIGMA PEMROGRAMAN

Pemrograman Prosedural / Terstruktur






Pemrograman Fungsional



Berdasarkan urutan-urutan, sekuensial.
Program adalah suatu rangkaian prosedur untuk
memanipulasi data. Prosedur merupakan kumpulan instruksi
yang dikerjakan secara berurutan.
Harus mengingat prosedur mana yang sudah dipanggil dan
apa yang sudah diubah.
Program dapat dibagi-bagi menjadi prosedur dan fungsi.
Contoh : PASCAL dan C.
Berdasarkan teori fungsi matematika.
Fungsi merupakan dasar utama program.
Pemrograman Modular




Pemrograman ini membentuk banyak modul.
Modul merupakan kumpulan dari prosedur dan fungsi yang
berdiri sendiri.
Sebuah program dapat merupakan kumpulan modul-modul.
Contoh : MODULA-2 atau ADA.
PARADIGMA PEMROGRAMAN

Pemrograman Berorientasi Objek
Pemrograman berdasarkan prinsip objek, dimana objek
memiliki data / variable / property dan method / event /
procedure yang dapat dimanipulasi.
 Contoh : C++, Object Pascal, Java, dll.


Pemrograman Berorientasi Fungsi
Pemrograman ini berfokus pada suatu fungsi tertentu saja.
Sangat tergantung pada tujuan pembuatan bahasa
pemrograman ini.
 Contoh : SQL, HTML, XML, dll.


Pemrograman Deklaratif
Pemrograman ini mendeskripsikan suatu masalah dengan
pernyataan daripada memecahkan masalah dengan
implementasi algoritma.
 Contoh : PROLOG.

SOAL LATIHAN
Tuliskan 3 contoh algoritma dalam kehidupan
sehari-hari beserta langkah-langkahnya.
 Misalkan terdapat dua buah ember, masingmasing mempunyai volume 5 liter dan 3 liter.
Tuliskan algoritma untuk memperoleh air
sebanyak 1 liter dengan hanya menggunakan
kedua ember tersebut.

Download