P. 1
Pengantar dan Pengertian Dasar Pemrograman Komputer

Pengantar dan Pengertian Dasar Pemrograman Komputer

|Views: 327|Likes:
Dipublikasikan oleh Anastasia Vera
Bersisi pengertian dasar tentang pemrograman komputer. Dapat digunakan oleh mahasiswa yg sedang mempelajari pemrograman
Bersisi pengertian dasar tentang pemrograman komputer. Dapat digunakan oleh mahasiswa yg sedang mempelajari pemrograman

More info:

Published by: Anastasia Vera on Mar 20, 2013
Hak Cipta:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PPT, PDF, TXT or read online from Scribd
See more
See less

08/25/2015

pdf

text

original

CS1023 Pemrograman
Komputer

Lecture 1
Pengantar & Pengertian-pengertian dasar

20/1/'07

Pengantar

2

Pengantar ProKom

•Silabus matakuliah
•Pengantar algoritma
•Pengantar pemrograman
•Belajar Memprogram dan Belajar
Bahasa Pemrograman
•Interpreter dan Compiler
•Compiler Pascal
•Objektif Matakuliah

20/1/'07

Pengantar

3

Pengantar Algoritma

20/1/'07

Pengantar

4

Pengantar Algoritma

20/1/'07

Pengantar

5

Contoh 1

Terdapat dua jenis minuman dalam 2 gelas berukuran
sama A dan B, kedua minuman akan ditukarkan
tempatnya.

{status awal: gelas A berisi minuman a, gelas B
berisi minuman b
status akhir: gelas A berisi minuman b, gelas B
berisi minuman a}
{Dibutuhkan sebuah gelas kosong yaitu gelas C}

Algoritma
Tuangkan minuman a ke gelas C
Tuangkan minuman b ke gelas A
Tuangkan minuman a ke gelas B

20/1/'07

Pengantar

6

Penjelasan Contoh 1

Aksi 1

{status awal: gelas A berisi minuman a, gelas C kosong}
Tuangkan minuman a ke gelas C
{status akhir: gelas A kosong, gelas C berisi minuman a }

Aksi 2

{status awal: gelas A kosong, gelas B berisi minuman b }
Tuangkan minuman b ke gelas A
{status akhir: gelas A berisi minuman b, gelas B kosong }

Aksi 3

{status awal: gelas B kosong, gelas C berisi minuman a }
Tuangkan minuman a ke gelas C
{status akhir: gelas B berisi minuman a, gelas C kosong, }

20/1/'07

Pengantar

7

Contoh 2

Misalkan terdapat sebuah atau sejumlah bola berwarna
merah, kuning, hijau pada kotak A. Akan diambil secara
acak sebuah bola dari kotak A dan dimasukkan ke kotak
B yang kosong.

{status awal: kotak A berisi sejumlah
bola, kotak B kosong
status akhir: Bola pada kotak A
berkurang 1, kotak B berisi sebuah bola}
Algoritma

Ambil 1 bola dari kotak A
Masukkan bola terambil ke kotak B

20/1/'07

Pengantar

8

Latihan 1

•Terdapat 4 buah bola yang tampilannya
sama. 3 bola mempunyai berat yang sama
dan sebuah bola lebih ringan atau lebih
berat. Untuk mencari bola mana yang
beratnya berbeda disediakan sebuah
timbangan tanpa skala yang hanya bisa
menunjukkan 2 benda beratnya sama atau
tidak.

Buat algoritma untuk persoalan ini.

20/1/'07

Pengantar

9

Contoh 3

Berdasarkan contoh 1, dimana setelah bola diambil dari
kotak A, bola tersebut disimpan di kotak B jika berwarna
merah.

{status awal: kotak A berisi sejumlah
bola, kotak B kosong
status akhir: bola pada kotak A
berkurang 1, kotak B kosong atau
berisi sebuah bola merah}
Algoritma

Ambilkan 1 bola dari kotak A
if bola berwarna merah then
Masukkan bola terambil ke kotak B

20/1/'07

Pengantar

10

Perhatikan pemilihan kondisi pada
baris ke-2. Skema pemilihan yang
digunakan memiliki pola:

if kondisi then
aksi

20/1/'07

Pengantar

11

Contoh 4

{status awal: kotak A berisi sejumlah
bola, kotak B dan C kosong
status akhir: Bola pada kotak A berkurang
1, kotak B atau kotak C kosong
atau berisi sebuah bola}

Algoritma

Ambilkan 1 bola dari kotak A
if bola berwarna merah then
Masukkan bola terambil ke kotak B
else
Masukkan bola terambil ke kotak C

20/1/'07

Pengantar

12

Perhatikan pemilihan kondisi pada baris ke-2. Skema
pemilihan yang digunakan memiliki pola:

if kondisi then
aksi 1

else

aksi 2

else menunjukkan “jika tidak terpenuhi”. Pada
contoh dia atas, jika tidak terpenuhi kondisi bola
berwarna merah maka yang dilakukan adalah
memasukkan bola ke kotak C.

20/1/'07

Pengantar

13

Contoh 5

{status awal: kotak A berisi 5 bola, kotak B
kosong
status akhir: kotak A kosong, kotak B berisi 5

bola}
Algoritma

Ambil 1 bola dari kotak A
Masukkan bola terambil ke kotak B
Ambil 1 bola dari kotak A
Masukkan bola terambil ke kotak B
Ambil 1 bola dari kotak A
Masukkan bola terambil ke kotak B
Ambil 1 bola dari kotak A
Masukkan bola terambil ke kotak B
Ambil 1 bola dari kotak A
Masukkan bola terambil ke kotak B

20/1/'07

Pengantar

14

Contoh 6

{status awal: kotak A berisi 100
bola, kotak B kosong
status akhir: kotak A kosong, kotak
B berisi 100 bola}
Algoritma

repeat 100 times
Ambil 1 bola dari kotak A
Masukkan bola terambil ke kotak B

20/1/'07

Pengantar

15

Pada algoritma di atas digunakan struktur:

repeat n times
Aksi

20/1/'07

Pengantar

16

Bagaimana jika jumlah bola pada
kotak A tidak diketahui?

20/1/'07

Pengantar

17

Contoh 7

{status awal: kotak A berisi bola,
kotak B kosong
status akhir: kotak A kosong, kotak
B berisi bola}
Algoritma

repeat
Ambil 1 bola dari kotak A
Masukkan bola terambil ke kotak B
Until kotak A kosong

20/1/'07

Pengantar

18

Bagaimana jika kotak A KOSONG ?

20/1/'07

Pengantar

19

Contoh 8

{status awal: kotak A kosong atau berisi
bola, kotak B kosong
status akhir: kotak A kosong, kotak B
berisi bola atau tetap kosong}

Algoritma

If kotak A tidak kosong then
repeat

Ambil 1 bola dari kotak A
Masukkan bola terambil ke kotak B
until kotak A kosong

20/1/'07

Pengantar

20

Latihan 2

Persoalan pada contoh 7 sedikit diubah
dimana bola-bola dari kotak A akan
dipindahkan ke 3 kotak lain
berdasarkan warnanya sehingga kotak
A kosong dan 3 kotak lain terisi dengan
bola berwarna sejenis.

20/1/'07

Pengantar

21

Syarat Algoritma

1.Algoritma harus berhenti
2.Setiap instruksi dan spesifikasi harus
didefinisikan dengan tepat dan tidak
ambigu. Contohnya ketika kita
membuat algoritma yang melibatkan
bilangan positif, harus jelas apakah
nol bilangan positif atau bukan.

20/1/'07

Pengantar

22

3.Memiliki nol atau lebih masukan
4.Memiliki nol atau lebih keluaraan
5.Efektif, yaitu urutan instruksi
sesederhana mungkin

Syarat Algoritma

20/1/'07

Pengantar

23

Sejarah Bahasa Pemrograman

First Generation
Vacuum Tubes
1950-1957

Machine Language

Second Generation
Transistors
1957-1965

Assembly Languages
High-level Programming Languages

Third Generation
Integrated Circuits
1965-1975

First minicomputer
Birth of software
industry

Fourth Generation
Even smaller
Integrated circuits
1975-1985

First microcomputer
Computer networks
Electronic mail
Graphical user interfaces
Embedded systems

Fifth Generation
Transistors
1985-Present

Parallel processors
Handheld devices
High-resolution graphics
World wide web
Massive storage devices
Ubiquitous computing

20/1/'07

Pengantar

24

Machine Language

•A machine generally processes very
primitive calculator-like instructions:

“Get first number from memory”
“Get second number from
memory”
“Add the two numbers”
“Store the results back in memory”
•All of this is in binary code (machine
language)

20/1/'07

Pengantar

25

What is this code executing?

•11000010 00000000 00101000 00101100
•11000100 00000000 00101000 00110000
•10000110 10001000 11000000 00000000

20/1/'07

Pengantar

26

Assembly Language

•Instead of using hard-to-read machine
language, use textual representations
•Designed to overcome shortcomings of
machine languages
•Create a more productive, user-oriented
environment

20/1/'07

Pengantar

27

Assembly Language

•Earlier termed second-generation
languages
•Now viewed as low-level programming
languages
•Assembly language: considered
“second-level” language

20/1/'07

Pengantar

28

Assembly Language

LD R1, x (load the value of x into R1 in the
CPU)
LD R2, y load the value of y into R2 in the
CPU)
ADD R0, R1, R2 (add contents of R1 and
R2 and store it in R0)

Still really annoying: what we want is “x + y”

20/1/'07

Pengantar

29

High-level Languages

•Started in the 50s/60s with FORTRAN and
COBOL
•Idea: take a higher-level description of
what we want to do, and let the computer
translate it into the machine language as
specified before

20/1/'07

Pengantar

30

•Called compiler because it might take a
single high-level command, and compile
a sequence of low-level commands

–Input high-level language as text, store
binary commands in executable file

•Alternative: interpret commands on the
fly and issue low-level statements to the
processor (BASIC does this)
•C is compiled; Java between compiled
and interpreted

High-level Languages

20/1/'07

Pengantar

31

Programming Paradigms

•A paradigm

–A model or mental framework for representing
or thinking about something

•Programming Paradigms

–Procedural
–Object Oriented
–Functional
–Logic

20/1/'07

Pengantar

32

Programming Paradigms

•Procedural programming

–Fortran, C, Pascal, etc.
–A sequence of detailed instructions is provided
to the computer
–Each instruction accesses or modifies the
contents of a memory location
–Computer carries out the instructions one at a
time, resulting in the solution to the problem

20/1/'07

Pengantar

33

Programming Paradigms

•Object-oriented programming (OOP)

–C++, Java, SmallTalk
–Each object is an example drawn from a class
of similar objects
–Encapsulation

•A class consists of its subtask modules and its
properties

•Both are “encapsulated” in the class

20/1/'07

Pengantar

34

–Inheritance

•Once a class A of objects is defined, a
class B of objects can be defined as a

“subclass” of A

–Polymorphism

•One name, the name of the service to
be performed, has several meanings,
depending on the class of the object
providing the service

Programming Paradigms

20/1/'07

Pengantar

35

Programming Paradigms

•Functional Programming
–Lisp
–programming in terms of function calls
–no use of temporary variables to store intermediate
results (x = 5)
•Logical Programming
–Prolog
–A series of logical deductions from known facts
–Various facts are asserted to be true
–On the basis of these facts, a logic program can infer or
deduce other facts

20/1/'07

Pengantar

36

Belajar memrogram =
Belajar bahasa
pemrograman ?

20/1/'07

Pengantar

37

Interpreter

Interpreter

Machine
Language

Execute

Output

Data

Source
Program

20/1/'07

Pengantar

38

Compiler

20/1/'07

Pengantar

39

You're Reading a Free Preview

Mengunduh
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->