Anda di halaman 1dari 22

Pengantar

Dasar Algoritma dan Pemrograman


Komputer

• Komputer adalah alat elektronik untuk mengolah


data dengan menggunakan program tertentu
untuk menghasilkan informasi.
• Fungsi komputer adalah untuk pengolahan data
(data processing), sehingga komputer juga
disebut sebagai pengolah data elektronik.
• Proses dari pengolahan data dengan
menggunakan komputer disebut sebagai
Pengolahan Data Elektronik (EDP atau
Electronic Data Processing)
2
Komputer

• Di dalam komputer, terdapat bagian yang


disebut sebagai Software (Perangkat Lunak).
Perangkat lunak ini merupakan program-
program yang diperlukan untuk menjalankan
bagian dari komputer yang disebut sebagai
Hardware (Perangkat Keras)

3
Hardware and Software

Hardware
Monitor
Houses processor,
and
memory, buses, etc.
speaker
(output)

Software
 Set of instructions
Keyboard and to perform tasks to
mouse (input)
specifications
 Programs are
software 4
Software

• Operating System (Sistem Operasi) program komputer


yang diperlukan untuk mengatur semua yang kegiatan
sistem komputer dan mengendalikan penggunaan
semua perangkat yang dipasang di komputer. Contoh:
UNIX, ZENIX, MS DOS, Win NT.
• Language Software (Bahasa Komputer) atau
Programming Language (Bahasa Pemrograman) bahasa
yang digunakan untuk membuat program komputer.
• Application Software (Program Aplikasi) program yang
diterapkan pada suatu aplikasi tertentu, misal: untuk
mengolah kata, mengolah data, menggambar,
mengaransir musik dan lain sebagainya. 5
Program Development

• (Computer) Program
– Sequence of instructions for a computer to execute
• Programming languages
– Languages for writing programs

6
Bahasa Pemrograman

• Digunakan sebagai sarana komunikasi


untuk menjembatani hubungan antara
manusia dan komputer.

7
Types of Programs
Program to which computer can respond
 Machine directly. Each instruction is a binary code that
code corresponds to a native instruction.
Eg: 0001001101101110

 Assembly Low-level language with strong (generally one-


to-one) correspondence between assembly
code code and machine code instructions.
Requires Eg: MIPS (add t1, t2, t3)
translation
Detailed knowledge of the machine is not
 High-level required. High level of abstraction. Ease of
writing and understanding.
language
Eg: Java, C, C++, Python.
program 8
The Edit, Compile and Execute Cycle

Compi Use a compiler


to translate the
Use an editor to
create/modify le source code
into executable
the source code

Execu
Edit
te Execute/run
executable
the

code

Process is iterative 9
Problem Solving Process

Analysis

Iterative
Design process

Implementation

Testing 10
Problem Solving Process
Determine
problem Analysis
features

Write
Iterative
Design process
algorithm

Produce
code Implementation What is an
algorithm?
Check for
correctness and Testing
11
efficiency
Problem Solving Phase

1. Analysis = Menganalisa dan memahami suatu permasalahan


untuk menemukan kemungkinan penyelesaiannya.
2. Design = Merancang algoritma yang merupakan pola pikir
terstruktur yang berisi tahap-tahap penyelesaian suatu
permasalahan.
3. Implemetation = Membuat program komputer yaitu mengubah
kode dari algoritma yang telah dibuat ke dalam pernyataan-
pernyataan yang sesuai dengan bahasa pemrograman yang
dipakai [coding].
4. Testing = Menjalankan program secara rutin untuk menemukan
kesalahan penulisan suatu pernyataan dalam program dan
menemukan kesalahan program. Kesalahan yang ditemukan
diperbaiki sampai tidak muncul kesalahan lagi.
12
Algorithm

• An algorithm is a well-defined
computational procedure consisting of a
set of instructions, that takes some value
or set of values as input, and produces
some value or set of values as output.

Input Algorithm Output

13
Prosedur

• Setiap langkah harus bersifat pasti atau


tertentu (definite)
• Terdapat setidaknya satu keluaran (output)
• Terstruktur dan sistematis
• Memiliki kriteria untuk menghentikan
proses

14
Algorithm
 An algorithm has these properties:
The algorithm
Each step
must
must be exact.
(Or it will not be
terminate.
Exact Terminate (Or no solution
precise.)
will be obtained.)

The
algorithm The algorithm
must be must be
Effective General
effective. general.
(i.e. it must solve (Within the
the problem.) constraints of the
system/language.)15
Tujuan Algoritma

• Memberikan petunjuk tentang langkah-langkah


logika penyelesaian masalah dalam bentuk yang
mudah dipahami nalar manusia sebagai acuan
yang membantu dalam mengembangkan
program komputer.
• Pemahaman terhadap algoritma akan
mencegah sejak dini kemungkinan terjadinya
kesalahan logika pada program komputer yang
dikembangkan.
16
Notasi Algoritma

• Notasi algoritma bukan merupakan notasi bahasa


pemrograman, namun notasi ini dapat diterjemahkan ke
dalam berbagai bahasa pemrograman.
• Meskipun notasi algoritma tidak berbentuk baku seperti
notasi bahasa pemrograman, namun konsistensi
terhadap notasi perlu diperhatikan untuk menghindari
terjadinya kekeliruan.
• Bentuk notasi algoritma:
– Uraian deskriptif
– Diagram-alir (flowchart)
– Pseudocode
17
Notasi Algoritma
 Ways of representing an algorithm:
Flowchart Pseudocode

18
Program Terstruktur

• Program terstruktur memberikan beberapa keuntungan,


antara lain :
– Penulisan program menjadi lebih teratur
– Program tersusun secara sistematis
– Program tersusun secara terstruktur
– Lebih mudah dipahami
– Urutan atau alur proses dalam program menjadi sederhana dan
mudah dipahami
• Contoh bahasa pemrograman terstruktur adalah Pascal,
C, C++.

19
Pengelompokan Struktur Proses
Algoritma

• Proses urutan (sequence)


Prosedur proses dalam algoritma yang dilakukan secara urut
langkah demi langkah. Sebuah urutan terdiri dari satu atau lebih
instruksi. Tiap instruksi dilaksanakan secara berurutan sesuai
dengan urutan pelaksanaan, artinya suatu instruksi akan
dilaksanakan setelah instruksi sebelumnya telah selesai
dilaksanakan.
• Proses penyeleksian (selection)
Instruksi dikerjakan jika suatu kondisi tertentu dipenuhi. Dengan
adanya proses ini maka ada kemungkinan beberapa jalur aksi yang
berbeda berdasarkan kondisi yang ada.
• Proses pengulangan (looping)
Proses melakukan eksekusi suatu program secara berulang-ulang
pada suatu blok instruksi tertentu yang terkendali. 20
Control Structures

Sequ • Default
ence
Selec • Also called True
?
False

tion branching

Repe • Also called loop


False ?

tition True

21
End of File

22

Anda mungkin juga menyukai