Anda di halaman 1dari 26

Materi 1

Algoridma & Pemrograman Komputer


Eko Siswanto, ST.MT
 Urutan langkah-langkah untuk memecahkan
masalah
 Urutan logis pengambilan keputusan untuk
memecahkan masalah
 urutan langkah logis, berarti algoritma harus
Definisi mengikuti suatu urutan tertentu, tidak boleh
melompat-lompat.
Algoritma  Alur pemikiran dalam menyelesaikan suatu
pekerjaan yang dituangkan secara tertulis.
 alur pikiran, yang artinya algoritma seseorang
dapat berbeda dari algoritma orang lain.
 tertulis, yang artinya dapat berupa kalimat,
gambar, atau tabel tertentu.
Algoritma
dalam
Kehidupan
Algoritma
dalam
Kehidupan
 Dalam bidang komputer, algoritma sangat
diperlukan dalam menyelesaikan berbagai
masalah pemrograman, terutama dalam komputasi
numeris. Tanpa algoritma yang dirancang baik
maka proses pemrograman akan menjadi salah,
rusak, atau lambat dan tidak efisien.
Definisi  Algoritma di butuhkan untuk memerintah
Algoritma [2] komputer mengambil langkah-langkah tertentu
untuk menyelesaikan masalah
 Algoritma  Pemrograman  Program
 Agar algoritma dapat memerintah (diproses)
komputer, maka dirubah menjadi bentuk program
(melalui proses pemrograman).
Aspek Penting Algoritma :
 Finite  algoritma harus berhenti setelah
mengerjakan sejumlah langkah terbatas
 Definite  setiap langkah didefinisikan secara
tepat, tidak boleh membingungkan (ambigu)
Sifat - Sifat  Input  sebuah algoritma memiliki satu/lebih
Algoritma input sebelum dijalankan
 Output  algoritma memiliki satu/lebih output,
yang biasanya bergantung kepada input
 Effective  setiap algoritma diharapkan memiliki
sifat efektif. (setiap langkah harus sederhana dan
sehingga dapat dikerjakan dalam waktu yang
masuk akal)
 Penulisan algoritma tidak tergantung dari
spesifikasi bahasa pemrograman dan komputer
Notasi yang mengeksekusinya.
Algoritma  Notasi algoritma bukan notasi bahasa
pemrograman tetapi dapat diterjemahkan ke
dalam berbagai bahasa pemrograman
 Peran algoritma : fundamental (tidak ada algoritma
tidak ada program)
 Algoritma + struktur data = program
Peranan  Struktur data :teknik/cara penyusunan/ penyimpanan
Algoritma data dalam komputer
 “ memori seminim mungkin dan kecepatan eksekusi
semaksimal mungkin”
Masalah

analisis Model

Tahap Algoritma analisis


Penyelesaian
Masalah
analisis Program

Eksekusi Data

Hasil
Suatu Algoritma yg terbaik
(The Best): “Suatu algoritma
harus menghasilkan output yg
tepat guna (efektif) dlm waktu
yg relatif singkat & penggunaan
memori yg relatif sedikit
(efesien) dgn langkah yg
berhingga & prosedurnya
berakhir baik dlm keadaan
diperoleh suatu solusi.“
Sebuah prosedur ketika akan mengirimkan surat kepada
teman:
1. Tulis surat pada secarik kertas surat
2. Ambil sampul surat atau amplop
3. Masukkan surat ke dalam amplop
4. Tutup amplop surat dengan lem perekat
Contoh: 5. Tulis alamat surat yg dituju, jika tdk ingat, lebih dahulu
ambil buku alamat & cari alamat yg dituju, lalu tulis alamat
tsb pd amplop surat.
6. Tempelkan perangko pada amplop surat
7. Bawa surat ke kantor pos utk diserahkan pd pegawai pos
atau menuju ke bis surat untuk memasukkan surat ke dlm
kotak/bis surat.
 Menggunakan bahasa natural (Bahasa manusia:
Indonesia, Inggris)
Kelemahannya masih sering membingungkan
(ambigu) / sulit dipahami.
 Menggunakan Flowchart
Penulisan Baik karena alur algoritma dapat dilihat secara
Algoritma visual, tetapi repot pembuatannya jika algoritma
panjang
 Menggunakan Pseudocode
Sudah dekat dengan bahasa pemrograman, tetapi
sulit dimengerti oleh orang yang belum tahu
pemrograman
Write an algorithm to perform addition of two
number.
Menggunakan  Step 1: read the first number say a
Natural  Step 2: read the second number say b
Language
 Step 3: add the two number and store the result in
(Bahasa Natural)
a variable c
 Step 4: display the result
Algorithm sum(a, b)
//problem description: this algorithm perform
addition of two //number
Menggunakan //input: two integers a and b
Pseudo Code //output: addition of two integers
ca+b
Write c
Start Start Statement

Transition

Processing / Assignment Statement


Menggunakan
Flowchart
Input / Output Statement

Conditional Statement

Stop Stop Statement


Symbol Predefined Process (Simbol
untuk mempersiapkan penyimpanan yang
akan digunakan sebagai tempat
pengolahan di dalam storage)
Menggunakan
Flowchart [2] Symbol Off-line Connector ( Simbol
untuk keluar/masuk prosedure atau proses
dalam lembar/halaman yang lain)

Symbol Connector (Simbol untuk


keluar/masuk prosedur atau proses dalam
lembar/halaman yang sama)
Start

Input the
value of a

Input the value


of b
Menggunakan
Flowchart [3]
c= a + b

Display the
value of c

Stop
1. Bagaimana merencanakan
algoritma?
2. Bagaimana menyatakan suatu
algoritma (menulis algoritma)?
Tahap 3. Bagaimana validitas suatu
Analisa algoritma?
Algoritma 4. Bagaimana menganalisa suatu
algoritma?
5. Bagaimana menguji program
dari suatu algoritma?
Ad.1. Bagaimana merencanakan algoritma

Dengan Mendefinisikan masalah.

Contoh : Permasalahan menghitung luas lingkaran, dengan data yang


diketahui adalah diameter lingkaran.

Rumus : Phi . r2 dengan Phi = 3.14 atau 22/7.


Ad.2. Bagaimana menyatakan suatu algoritma (menulis algoritma)

 Dengan psudocode
Suatu cara penulisan algoritma agar ide dan logika dari algoritma dapat
disampaikan/diekspresikan menggunakan gaya bahasa pemrograman tertentu.

Phi  3.14
Input (diameter)
Radius  diameter / 2
Luas  phi * radius * radius
Output (Luas)
End
Start

Phi = 3.14

Input
Dengan flowchart / diagram alir
(diameter)
Program Flowchart, yaitu bagan yang
menggambar-kan urutan logika dari
suatu prosedur pemecahan masalah. Radius = diameter/2
Luas = phi * radius * radius

Output
Luas

Stop
1. Pengujian Tahap Debuging
Tahap Proses Untuk mengecek kesalahan program, Baik
sintaksis maupun logika.
Uji Algoritma
2. Pengujian Tahap Profiling
Untuk menentukan waktu tempuh dan
banyaknya memori program yang digunakan.
Untuk melihat effisiensi dan efektifitas dari suatu
algoritma, dapat dilihat dari:

1. Waktu Tempuh dari Suatu Algoritma


Analisis 2. Jumlah memori yang digunakan

Suatu
 Hal-hal yang dapat mempengaruhi waktu
Algoritma tempuh adalah :
1. Banyaknya langkah.
2. Besar dan jenis input data.
3. Jenis Operasi.
4. Komputer dan kompilator
Langkah-langkah yang membentuk suatu algoritma dapat dibagi menjadi 3
kelompok proses:

1. Sequence Process  instruksi dikerjakan secara berurutan satu persatu dimulai


dari langkah pertama sampai terakhir.
2. Selection Process  instruksi pemilihan proses (percabangan), sehingga apabila
memenuhi persyaratan tertentu maka instruksi akan dikerjakan.
Contoh : jika pembayaran tunai diberi diskon 10%
Jika dilakukan secara kredit maka diskon 0 %.
(dalam pernyataan diatas, hanya boleh melakukan 1 instruksi dari 2 alternatif
instruksi.
3. Iteration Process  suatu instruksi yang dikerjakan berulang-ulang selama
beberapa kali selama masih memenuhi suatu kondisi.
Program harus ditulis dalam suatu bahasa yang
dimengerti oleh komputer yaitu dalam Bahasa
BAHASA pemrogram dibedakan menjadi :

PEMROGRA • Bahasa tingkat rendah (low level language) :


bahasa yang berorientasi ke mesin.
MAN • Bahasa tingkat tinggi (high level language) :
bahasa yang berorientasi ke manusia (seperti
bahasa inggris) contoh bahasa Vb, Pascal,
bahasa C dll.
• Program yang ditulis dalam bahasa
pemrograman akan diterjemahkan kedalam
bahasa mesin (kenal dengan biner digit)
dengan menggunakan penterjemah.

BAHASA Penterjemah :
PEMROGRA  Interpreter : menterjemahkan baris per baris
MAN instruksi.
Contoh bahasa Basic.
 Compiler : menterjamahkan setelah seluruh
instruksi ditulis.
Contoh bahasa Pascal, C, C++, dll.

Anda mungkin juga menyukai